{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstAudio.Structs.AudioCdSrcTrack
(
AudioCdSrcTrack(..) ,
newZeroAudioCdSrcTrack ,
#if defined(ENABLE_OVERLOADING)
ResolveAudioCdSrcTrackMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
audioCdSrcTrack_end ,
#endif
getAudioCdSrcTrackEnd ,
setAudioCdSrcTrackEnd ,
#if defined(ENABLE_OVERLOADING)
audioCdSrcTrack_isAudio ,
#endif
getAudioCdSrcTrackIsAudio ,
setAudioCdSrcTrackIsAudio ,
#if defined(ENABLE_OVERLOADING)
audioCdSrcTrack_num ,
#endif
getAudioCdSrcTrackNum ,
setAudioCdSrcTrackNum ,
#if defined(ENABLE_OVERLOADING)
audioCdSrcTrack_start ,
#endif
getAudioCdSrcTrackStart ,
setAudioCdSrcTrackStart ,
#if defined(ENABLE_OVERLOADING)
audioCdSrcTrack_tags ,
#endif
clearAudioCdSrcTrackTags ,
getAudioCdSrcTrackTags ,
setAudioCdSrcTrackTags ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import qualified GI.Gst.Structs.TagList as Gst.TagList
newtype AudioCdSrcTrack = AudioCdSrcTrack (SP.ManagedPtr AudioCdSrcTrack)
deriving (AudioCdSrcTrack -> AudioCdSrcTrack -> Bool
(AudioCdSrcTrack -> AudioCdSrcTrack -> Bool)
-> (AudioCdSrcTrack -> AudioCdSrcTrack -> Bool)
-> Eq AudioCdSrcTrack
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioCdSrcTrack -> AudioCdSrcTrack -> Bool
$c/= :: AudioCdSrcTrack -> AudioCdSrcTrack -> Bool
== :: AudioCdSrcTrack -> AudioCdSrcTrack -> Bool
$c== :: AudioCdSrcTrack -> AudioCdSrcTrack -> Bool
Eq)
instance SP.ManagedPtrNewtype AudioCdSrcTrack where
toManagedPtr :: AudioCdSrcTrack -> ManagedPtr AudioCdSrcTrack
toManagedPtr (AudioCdSrcTrack ManagedPtr AudioCdSrcTrack
p) = ManagedPtr AudioCdSrcTrack
p
instance BoxedPtr AudioCdSrcTrack where
boxedPtrCopy :: AudioCdSrcTrack -> IO AudioCdSrcTrack
boxedPtrCopy = \AudioCdSrcTrack
p -> AudioCdSrcTrack
-> (Ptr AudioCdSrcTrack -> IO AudioCdSrcTrack)
-> IO AudioCdSrcTrack
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr AudioCdSrcTrack
p (Int -> Ptr AudioCdSrcTrack -> IO (Ptr AudioCdSrcTrack)
forall a. (HasCallStack, CallocPtr a) => Int -> Ptr a -> IO (Ptr a)
copyBytes Int
48 (Ptr AudioCdSrcTrack -> IO (Ptr AudioCdSrcTrack))
-> (Ptr AudioCdSrcTrack -> IO AudioCdSrcTrack)
-> Ptr AudioCdSrcTrack
-> IO AudioCdSrcTrack
forall (m :: * -> *) a b c.
Monad m =>
(a -> m b) -> (b -> m c) -> a -> m c
>=> (ManagedPtr AudioCdSrcTrack -> AudioCdSrcTrack)
-> Ptr AudioCdSrcTrack -> IO AudioCdSrcTrack
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.wrapPtr ManagedPtr AudioCdSrcTrack -> AudioCdSrcTrack
AudioCdSrcTrack)
boxedPtrFree :: AudioCdSrcTrack -> IO ()
boxedPtrFree = \AudioCdSrcTrack
x -> AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
SP.withManagedPtr AudioCdSrcTrack
x Ptr AudioCdSrcTrack -> IO ()
forall a. Ptr a -> IO ()
SP.freeMem
instance CallocPtr AudioCdSrcTrack where
boxedPtrCalloc :: IO (Ptr AudioCdSrcTrack)
boxedPtrCalloc = Int -> IO (Ptr AudioCdSrcTrack)
forall a. Int -> IO (Ptr a)
callocBytes Int
48
newZeroAudioCdSrcTrack :: MonadIO m => m AudioCdSrcTrack
newZeroAudioCdSrcTrack :: forall (m :: * -> *). MonadIO m => m AudioCdSrcTrack
newZeroAudioCdSrcTrack = IO AudioCdSrcTrack -> m AudioCdSrcTrack
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AudioCdSrcTrack -> m AudioCdSrcTrack)
-> IO AudioCdSrcTrack -> m AudioCdSrcTrack
forall a b. (a -> b) -> a -> b
$ IO (Ptr AudioCdSrcTrack)
forall a. CallocPtr a => IO (Ptr a)
boxedPtrCalloc IO (Ptr AudioCdSrcTrack)
-> (Ptr AudioCdSrcTrack -> IO AudioCdSrcTrack)
-> IO AudioCdSrcTrack
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr AudioCdSrcTrack -> AudioCdSrcTrack)
-> Ptr AudioCdSrcTrack -> IO AudioCdSrcTrack
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr AudioCdSrcTrack -> AudioCdSrcTrack
AudioCdSrcTrack
instance tag ~ 'AttrSet => Constructible AudioCdSrcTrack tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr AudioCdSrcTrack -> AudioCdSrcTrack)
-> [AttrOp AudioCdSrcTrack tag] -> m AudioCdSrcTrack
new ManagedPtr AudioCdSrcTrack -> AudioCdSrcTrack
_ [AttrOp AudioCdSrcTrack tag]
attrs = do
AudioCdSrcTrack
o <- m AudioCdSrcTrack
forall (m :: * -> *). MonadIO m => m AudioCdSrcTrack
newZeroAudioCdSrcTrack
AudioCdSrcTrack -> [AttrOp AudioCdSrcTrack 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set AudioCdSrcTrack
o [AttrOp AudioCdSrcTrack tag]
[AttrOp AudioCdSrcTrack 'AttrSet]
attrs
AudioCdSrcTrack -> m AudioCdSrcTrack
forall (m :: * -> *) a. Monad m => a -> m a
return AudioCdSrcTrack
o
getAudioCdSrcTrackIsAudio :: MonadIO m => AudioCdSrcTrack -> m Bool
getAudioCdSrcTrackIsAudio :: forall (m :: * -> *). MonadIO m => AudioCdSrcTrack -> m Bool
getAudioCdSrcTrackIsAudio AudioCdSrcTrack
s = IO Bool -> m Bool
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO Bool) -> IO Bool
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO Bool) -> IO Bool)
-> (Ptr AudioCdSrcTrack -> IO Bool) -> IO Bool
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
CInt
val <- Ptr CInt -> IO CInt
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO CInt
let val' :: Bool
val' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
val
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
val'
setAudioCdSrcTrackIsAudio :: MonadIO m => AudioCdSrcTrack -> Bool -> m ()
setAudioCdSrcTrackIsAudio :: forall (m :: * -> *). MonadIO m => AudioCdSrcTrack -> Bool -> m ()
setAudioCdSrcTrackIsAudio AudioCdSrcTrack
s Bool
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO ()) -> IO ())
-> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
let val' :: CInt
val' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
val
Ptr CInt -> CInt -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr CInt
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (CInt
val' :: CInt)
#if defined(ENABLE_OVERLOADING)
data AudioCdSrcTrackIsAudioFieldInfo
instance AttrInfo AudioCdSrcTrackIsAudioFieldInfo where
type AttrBaseTypeConstraint AudioCdSrcTrackIsAudioFieldInfo = (~) AudioCdSrcTrack
type AttrAllowedOps AudioCdSrcTrackIsAudioFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioCdSrcTrackIsAudioFieldInfo = (~) Bool
type AttrTransferTypeConstraint AudioCdSrcTrackIsAudioFieldInfo = (~)Bool
type AttrTransferType AudioCdSrcTrackIsAudioFieldInfo = Bool
type AttrGetType AudioCdSrcTrackIsAudioFieldInfo = Bool
type AttrLabel AudioCdSrcTrackIsAudioFieldInfo = "is_audio"
type AttrOrigin AudioCdSrcTrackIsAudioFieldInfo = AudioCdSrcTrack
attrGet = getAudioCdSrcTrackIsAudio
attrSet = setAudioCdSrcTrackIsAudio
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioCdSrcTrack.isAudio"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.24/docs/GI-GstAudio-Structs-AudioCdSrcTrack.html#g:attr:isAudio"
})
audioCdSrcTrack_isAudio :: AttrLabelProxy "isAudio"
audioCdSrcTrack_isAudio = AttrLabelProxy
#endif
getAudioCdSrcTrackNum :: MonadIO m => AudioCdSrcTrack -> m Word32
getAudioCdSrcTrackNum :: forall (m :: * -> *). MonadIO m => AudioCdSrcTrack -> m Word32
getAudioCdSrcTrackNum AudioCdSrcTrack
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO Word32) -> IO Word32)
-> (Ptr AudioCdSrcTrack -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setAudioCdSrcTrackNum :: MonadIO m => AudioCdSrcTrack -> Word32 -> m ()
setAudioCdSrcTrackNum :: forall (m :: * -> *).
MonadIO m =>
AudioCdSrcTrack -> Word32 -> m ()
setAudioCdSrcTrackNum AudioCdSrcTrack
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO ()) -> IO ())
-> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
4) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data AudioCdSrcTrackNumFieldInfo
instance AttrInfo AudioCdSrcTrackNumFieldInfo where
type AttrBaseTypeConstraint AudioCdSrcTrackNumFieldInfo = (~) AudioCdSrcTrack
type AttrAllowedOps AudioCdSrcTrackNumFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioCdSrcTrackNumFieldInfo = (~) Word32
type AttrTransferTypeConstraint AudioCdSrcTrackNumFieldInfo = (~)Word32
type AttrTransferType AudioCdSrcTrackNumFieldInfo = Word32
type AttrGetType AudioCdSrcTrackNumFieldInfo = Word32
type AttrLabel AudioCdSrcTrackNumFieldInfo = "num"
type AttrOrigin AudioCdSrcTrackNumFieldInfo = AudioCdSrcTrack
attrGet = getAudioCdSrcTrackNum
attrSet = setAudioCdSrcTrackNum
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioCdSrcTrack.num"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.24/docs/GI-GstAudio-Structs-AudioCdSrcTrack.html#g:attr:num"
})
audioCdSrcTrack_num :: AttrLabelProxy "num"
audioCdSrcTrack_num = AttrLabelProxy
#endif
getAudioCdSrcTrackStart :: MonadIO m => AudioCdSrcTrack -> m Word32
getAudioCdSrcTrackStart :: forall (m :: * -> *). MonadIO m => AudioCdSrcTrack -> m Word32
getAudioCdSrcTrackStart AudioCdSrcTrack
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO Word32) -> IO Word32)
-> (Ptr AudioCdSrcTrack -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setAudioCdSrcTrackStart :: MonadIO m => AudioCdSrcTrack -> Word32 -> m ()
setAudioCdSrcTrackStart :: forall (m :: * -> *).
MonadIO m =>
AudioCdSrcTrack -> Word32 -> m ()
setAudioCdSrcTrackStart AudioCdSrcTrack
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO ()) -> IO ())
-> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data AudioCdSrcTrackStartFieldInfo
instance AttrInfo AudioCdSrcTrackStartFieldInfo where
type AttrBaseTypeConstraint AudioCdSrcTrackStartFieldInfo = (~) AudioCdSrcTrack
type AttrAllowedOps AudioCdSrcTrackStartFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioCdSrcTrackStartFieldInfo = (~) Word32
type AttrTransferTypeConstraint AudioCdSrcTrackStartFieldInfo = (~)Word32
type AttrTransferType AudioCdSrcTrackStartFieldInfo = Word32
type AttrGetType AudioCdSrcTrackStartFieldInfo = Word32
type AttrLabel AudioCdSrcTrackStartFieldInfo = "start"
type AttrOrigin AudioCdSrcTrackStartFieldInfo = AudioCdSrcTrack
attrGet = getAudioCdSrcTrackStart
attrSet = setAudioCdSrcTrackStart
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioCdSrcTrack.start"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.24/docs/GI-GstAudio-Structs-AudioCdSrcTrack.html#g:attr:start"
})
audioCdSrcTrack_start :: AttrLabelProxy "start"
audioCdSrcTrack_start = AttrLabelProxy
#endif
getAudioCdSrcTrackEnd :: MonadIO m => AudioCdSrcTrack -> m Word32
getAudioCdSrcTrackEnd :: forall (m :: * -> *). MonadIO m => AudioCdSrcTrack -> m Word32
getAudioCdSrcTrackEnd AudioCdSrcTrack
s = IO Word32 -> m Word32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO Word32) -> IO Word32)
-> (Ptr AudioCdSrcTrack -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
12) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setAudioCdSrcTrackEnd :: MonadIO m => AudioCdSrcTrack -> Word32 -> m ()
setAudioCdSrcTrackEnd :: forall (m :: * -> *).
MonadIO m =>
AudioCdSrcTrack -> Word32 -> m ()
setAudioCdSrcTrackEnd AudioCdSrcTrack
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO ()) -> IO ())
-> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
12) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data AudioCdSrcTrackEndFieldInfo
instance AttrInfo AudioCdSrcTrackEndFieldInfo where
type AttrBaseTypeConstraint AudioCdSrcTrackEndFieldInfo = (~) AudioCdSrcTrack
type AttrAllowedOps AudioCdSrcTrackEndFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioCdSrcTrackEndFieldInfo = (~) Word32
type AttrTransferTypeConstraint AudioCdSrcTrackEndFieldInfo = (~)Word32
type AttrTransferType AudioCdSrcTrackEndFieldInfo = Word32
type AttrGetType AudioCdSrcTrackEndFieldInfo = Word32
type AttrLabel AudioCdSrcTrackEndFieldInfo = "end"
type AttrOrigin AudioCdSrcTrackEndFieldInfo = AudioCdSrcTrack
attrGet = getAudioCdSrcTrackEnd
attrSet = setAudioCdSrcTrackEnd
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioCdSrcTrack.end"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.24/docs/GI-GstAudio-Structs-AudioCdSrcTrack.html#g:attr:end"
})
audioCdSrcTrack_end :: AttrLabelProxy "end"
audioCdSrcTrack_end = AttrLabelProxy
#endif
getAudioCdSrcTrackTags :: MonadIO m => AudioCdSrcTrack -> m (Maybe Gst.TagList.TagList)
getAudioCdSrcTrackTags :: forall (m :: * -> *).
MonadIO m =>
AudioCdSrcTrack -> m (Maybe TagList)
getAudioCdSrcTrackTags AudioCdSrcTrack
s = IO (Maybe TagList) -> m (Maybe TagList)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe TagList) -> m (Maybe TagList))
-> IO (Maybe TagList) -> m (Maybe TagList)
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack
-> (Ptr AudioCdSrcTrack -> IO (Maybe TagList))
-> IO (Maybe TagList)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO (Maybe TagList)) -> IO (Maybe TagList))
-> (Ptr AudioCdSrcTrack -> IO (Maybe TagList))
-> IO (Maybe TagList)
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
Ptr TagList
val <- Ptr (Ptr TagList) -> IO (Ptr TagList)
forall a. Storable a => Ptr a -> IO a
peek (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr (Ptr TagList)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO (Ptr Gst.TagList.TagList)
Maybe TagList
result <- Ptr TagList -> (Ptr TagList -> IO TagList) -> IO (Maybe TagList)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr TagList
val ((Ptr TagList -> IO TagList) -> IO (Maybe TagList))
-> (Ptr TagList -> IO TagList) -> IO (Maybe TagList)
forall a b. (a -> b) -> a -> b
$ \Ptr TagList
val' -> do
TagList
val'' <- ((ManagedPtr TagList -> TagList) -> Ptr TagList -> IO TagList
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr TagList -> TagList
Gst.TagList.TagList) Ptr TagList
val'
TagList -> IO TagList
forall (m :: * -> *) a. Monad m => a -> m a
return TagList
val''
Maybe TagList -> IO (Maybe TagList)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe TagList
result
setAudioCdSrcTrackTags :: MonadIO m => AudioCdSrcTrack -> Ptr Gst.TagList.TagList -> m ()
setAudioCdSrcTrackTags :: forall (m :: * -> *).
MonadIO m =>
AudioCdSrcTrack -> Ptr TagList -> m ()
setAudioCdSrcTrackTags AudioCdSrcTrack
s Ptr TagList
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO ()) -> IO ())
-> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
Ptr (Ptr TagList) -> Ptr TagList -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr (Ptr TagList)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Ptr TagList
val :: Ptr Gst.TagList.TagList)
clearAudioCdSrcTrackTags :: MonadIO m => AudioCdSrcTrack -> m ()
clearAudioCdSrcTrackTags :: forall (m :: * -> *). MonadIO m => AudioCdSrcTrack -> m ()
clearAudioCdSrcTrackTags AudioCdSrcTrack
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ AudioCdSrcTrack -> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr AudioCdSrcTrack
s ((Ptr AudioCdSrcTrack -> IO ()) -> IO ())
-> (Ptr AudioCdSrcTrack -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr AudioCdSrcTrack
ptr -> do
Ptr (Ptr TagList) -> Ptr TagList -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr AudioCdSrcTrack
ptr Ptr AudioCdSrcTrack -> Int -> Ptr (Ptr TagList)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Ptr TagList
forall a. Ptr a
FP.nullPtr :: Ptr Gst.TagList.TagList)
#if defined(ENABLE_OVERLOADING)
data AudioCdSrcTrackTagsFieldInfo
instance AttrInfo AudioCdSrcTrackTagsFieldInfo where
type AttrBaseTypeConstraint AudioCdSrcTrackTagsFieldInfo = (~) AudioCdSrcTrack
type AttrAllowedOps AudioCdSrcTrackTagsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint AudioCdSrcTrackTagsFieldInfo = (~) (Ptr Gst.TagList.TagList)
type AttrTransferTypeConstraint AudioCdSrcTrackTagsFieldInfo = (~)(Ptr Gst.TagList.TagList)
type AttrTransferType AudioCdSrcTrackTagsFieldInfo = (Ptr Gst.TagList.TagList)
type AttrGetType AudioCdSrcTrackTagsFieldInfo = Maybe Gst.TagList.TagList
type AttrLabel AudioCdSrcTrackTagsFieldInfo = "tags"
type AttrOrigin AudioCdSrcTrackTagsFieldInfo = AudioCdSrcTrack
attrGet = getAudioCdSrcTrackTags
attrSet = setAudioCdSrcTrackTags
attrConstruct = undefined
attrClear = clearAudioCdSrcTrackTags
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstAudio.Structs.AudioCdSrcTrack.tags"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstaudio-1.0.24/docs/GI-GstAudio-Structs-AudioCdSrcTrack.html#g:attr:tags"
})
audioCdSrcTrack_tags :: AttrLabelProxy "tags"
audioCdSrcTrack_tags = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList AudioCdSrcTrack
type instance O.AttributeList AudioCdSrcTrack = AudioCdSrcTrackAttributeList
type AudioCdSrcTrackAttributeList = ('[ '("isAudio", AudioCdSrcTrackIsAudioFieldInfo), '("num", AudioCdSrcTrackNumFieldInfo), '("start", AudioCdSrcTrackStartFieldInfo), '("end", AudioCdSrcTrackEndFieldInfo), '("tags", AudioCdSrcTrackTagsFieldInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveAudioCdSrcTrackMethod (t :: Symbol) (o :: *) :: * where
ResolveAudioCdSrcTrackMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAudioCdSrcTrackMethod t AudioCdSrcTrack, O.OverloadedMethod info AudioCdSrcTrack p) => OL.IsLabel t (AudioCdSrcTrack -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveAudioCdSrcTrackMethod t AudioCdSrcTrack, O.OverloadedMethod info AudioCdSrcTrack p, R.HasField t AudioCdSrcTrack p) => R.HasField t AudioCdSrcTrack p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveAudioCdSrcTrackMethod t AudioCdSrcTrack, O.OverloadedMethodInfo info AudioCdSrcTrack) => OL.IsLabel t (O.MethodProxy info AudioCdSrcTrack) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif