gi-gstaudio-1.0.17: GI/GstAudio/Structs/AudioFormatInfo.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
Information for an audio format.
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstAudio.Structs.AudioFormatInfo
(
-- * Exported types
AudioFormatInfo(..) ,
newZeroAudioFormatInfo ,
noAudioFormatInfo ,
-- * Properties
-- ** depth #attr:depth#
{- | amount of valid bits in /@width@/
-}
#if ENABLE_OVERLOADING
audioFormatInfo_depth ,
#endif
getAudioFormatInfoDepth ,
setAudioFormatInfoDepth ,
-- ** description #attr:description#
{- | user readable description of the format
-}
#if ENABLE_OVERLOADING
audioFormatInfo_description ,
#endif
clearAudioFormatInfoDescription ,
getAudioFormatInfoDescription ,
setAudioFormatInfoDescription ,
-- ** endianness #attr:endianness#
{- | the endianness
-}
#if ENABLE_OVERLOADING
audioFormatInfo_endianness ,
#endif
getAudioFormatInfoEndianness ,
setAudioFormatInfoEndianness ,
-- ** flags #attr:flags#
{- | 'GI.GstAudio.Flags.AudioFormatFlags'
-}
#if ENABLE_OVERLOADING
audioFormatInfo_flags ,
#endif
getAudioFormatInfoFlags ,
setAudioFormatInfoFlags ,
-- ** format #attr:format#
{- | 'GI.GstAudio.Enums.AudioFormat'
-}
#if ENABLE_OVERLOADING
audioFormatInfo_format ,
#endif
getAudioFormatInfoFormat ,
setAudioFormatInfoFormat ,
-- ** name #attr:name#
{- | string representation of the format
-}
#if ENABLE_OVERLOADING
audioFormatInfo_name ,
#endif
clearAudioFormatInfoName ,
getAudioFormatInfoName ,
setAudioFormatInfoName ,
-- ** packFunc #attr:packFunc#
{- | function to pack samples
-}
#if ENABLE_OVERLOADING
audioFormatInfo_packFunc ,
#endif
clearAudioFormatInfoPackFunc ,
getAudioFormatInfoPackFunc ,
setAudioFormatInfoPackFunc ,
-- ** unpackFormat #attr:unpackFormat#
{- | the format of the unpacked samples
-}
#if ENABLE_OVERLOADING
audioFormatInfo_unpackFormat ,
#endif
getAudioFormatInfoUnpackFormat ,
setAudioFormatInfoUnpackFormat ,
-- ** unpackFunc #attr:unpackFunc#
{- | function to unpack samples
-}
#if ENABLE_OVERLOADING
audioFormatInfo_unpackFunc ,
#endif
clearAudioFormatInfoUnpackFunc ,
getAudioFormatInfoUnpackFunc ,
setAudioFormatInfoUnpackFunc ,
-- ** width #attr:width#
{- | amount of bits used for one sample
-}
#if ENABLE_OVERLOADING
audioFormatInfo_width ,
#endif
getAudioFormatInfoWidth ,
setAudioFormatInfoWidth ,
) 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.ManagedPtr as B.ManagedPtr
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.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 GI.GstAudio.Callbacks as GstAudio.Callbacks
import {-# SOURCE #-} qualified GI.GstAudio.Enums as GstAudio.Enums
import {-# SOURCE #-} qualified GI.GstAudio.Flags as GstAudio.Flags
-- | Memory-managed wrapper type.
newtype AudioFormatInfo = AudioFormatInfo (ManagedPtr AudioFormatInfo)
instance WrappedPtr AudioFormatInfo where
wrappedPtrCalloc = callocBytes 104
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 104 >=> wrapPtr AudioFormatInfo)
wrappedPtrFree = Just ptr_to_g_free
-- | Construct a `AudioFormatInfo` struct initialized to zero.
newZeroAudioFormatInfo :: MonadIO m => m AudioFormatInfo
newZeroAudioFormatInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr AudioFormatInfo
instance tag ~ 'AttrSet => Constructible AudioFormatInfo tag where
new _ attrs = do
o <- newZeroAudioFormatInfo
GI.Attributes.set o attrs
return o
-- | A convenience alias for `Nothing` :: `Maybe` `AudioFormatInfo`.
noAudioFormatInfo :: Maybe AudioFormatInfo
noAudioFormatInfo = Nothing
{- |
Get the value of the “@format@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #format
@
-}
getAudioFormatInfoFormat :: MonadIO m => AudioFormatInfo -> m GstAudio.Enums.AudioFormat
getAudioFormatInfoFormat s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
{- |
Set the value of the “@format@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #format 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoFormat :: MonadIO m => AudioFormatInfo -> GstAudio.Enums.AudioFormat -> m ()
setAudioFormatInfoFormat s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 0) (val' :: CUInt)
#if ENABLE_OVERLOADING
data AudioFormatInfoFormatFieldInfo
instance AttrInfo AudioFormatInfoFormatFieldInfo where
type AttrAllowedOps AudioFormatInfoFormatFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioFormatInfoFormatFieldInfo = (~) GstAudio.Enums.AudioFormat
type AttrBaseTypeConstraint AudioFormatInfoFormatFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoFormatFieldInfo = GstAudio.Enums.AudioFormat
type AttrLabel AudioFormatInfoFormatFieldInfo = "format"
type AttrOrigin AudioFormatInfoFormatFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoFormat
attrSet _ = setAudioFormatInfoFormat
attrConstruct = undefined
attrClear _ = undefined
audioFormatInfo_format :: AttrLabelProxy "format"
audioFormatInfo_format = AttrLabelProxy
#endif
{- |
Get the value of the “@name@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #name
@
-}
getAudioFormatInfoName :: MonadIO m => AudioFormatInfo -> m (Maybe T.Text)
getAudioFormatInfoName s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
{- |
Set the value of the “@name@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #name 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoName :: MonadIO m => AudioFormatInfo -> CString -> m ()
setAudioFormatInfoName s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (val :: CString)
{- |
Set the value of the “@name@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.clear' #name
@
-}
clearAudioFormatInfoName :: MonadIO m => AudioFormatInfo -> m ()
clearAudioFormatInfoName s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)
#if ENABLE_OVERLOADING
data AudioFormatInfoNameFieldInfo
instance AttrInfo AudioFormatInfoNameFieldInfo where
type AttrAllowedOps AudioFormatInfoNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint AudioFormatInfoNameFieldInfo = (~) CString
type AttrBaseTypeConstraint AudioFormatInfoNameFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoNameFieldInfo = Maybe T.Text
type AttrLabel AudioFormatInfoNameFieldInfo = "name"
type AttrOrigin AudioFormatInfoNameFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoName
attrSet _ = setAudioFormatInfoName
attrConstruct = undefined
attrClear _ = clearAudioFormatInfoName
audioFormatInfo_name :: AttrLabelProxy "name"
audioFormatInfo_name = AttrLabelProxy
#endif
{- |
Get the value of the “@description@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #description
@
-}
getAudioFormatInfoDescription :: MonadIO m => AudioFormatInfo -> m (Maybe T.Text)
getAudioFormatInfoDescription s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO CString
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- cstringToText val'
return val''
return result
{- |
Set the value of the “@description@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #description 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoDescription :: MonadIO m => AudioFormatInfo -> CString -> m ()
setAudioFormatInfoDescription s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (val :: CString)
{- |
Set the value of the “@description@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.clear' #description
@
-}
clearAudioFormatInfoDescription :: MonadIO m => AudioFormatInfo -> m ()
clearAudioFormatInfoDescription s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)
#if ENABLE_OVERLOADING
data AudioFormatInfoDescriptionFieldInfo
instance AttrInfo AudioFormatInfoDescriptionFieldInfo where
type AttrAllowedOps AudioFormatInfoDescriptionFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint AudioFormatInfoDescriptionFieldInfo = (~) CString
type AttrBaseTypeConstraint AudioFormatInfoDescriptionFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoDescriptionFieldInfo = Maybe T.Text
type AttrLabel AudioFormatInfoDescriptionFieldInfo = "description"
type AttrOrigin AudioFormatInfoDescriptionFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoDescription
attrSet _ = setAudioFormatInfoDescription
attrConstruct = undefined
attrClear _ = clearAudioFormatInfoDescription
audioFormatInfo_description :: AttrLabelProxy "description"
audioFormatInfo_description = AttrLabelProxy
#endif
{- |
Get the value of the “@flags@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #flags
@
-}
getAudioFormatInfoFlags :: MonadIO m => AudioFormatInfo -> m [GstAudio.Flags.AudioFormatFlags]
getAudioFormatInfoFlags s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO CUInt
let val' = wordToGFlags val
return val'
{- |
Set the value of the “@flags@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #flags 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoFlags :: MonadIO m => AudioFormatInfo -> [GstAudio.Flags.AudioFormatFlags] -> m ()
setAudioFormatInfoFlags s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = gflagsToWord val
poke (ptr `plusPtr` 24) (val' :: CUInt)
#if ENABLE_OVERLOADING
data AudioFormatInfoFlagsFieldInfo
instance AttrInfo AudioFormatInfoFlagsFieldInfo where
type AttrAllowedOps AudioFormatInfoFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioFormatInfoFlagsFieldInfo = (~) [GstAudio.Flags.AudioFormatFlags]
type AttrBaseTypeConstraint AudioFormatInfoFlagsFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoFlagsFieldInfo = [GstAudio.Flags.AudioFormatFlags]
type AttrLabel AudioFormatInfoFlagsFieldInfo = "flags"
type AttrOrigin AudioFormatInfoFlagsFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoFlags
attrSet _ = setAudioFormatInfoFlags
attrConstruct = undefined
attrClear _ = undefined
audioFormatInfo_flags :: AttrLabelProxy "flags"
audioFormatInfo_flags = AttrLabelProxy
#endif
{- |
Get the value of the “@endianness@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #endianness
@
-}
getAudioFormatInfoEndianness :: MonadIO m => AudioFormatInfo -> m Int32
getAudioFormatInfoEndianness s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 28) :: IO Int32
return val
{- |
Set the value of the “@endianness@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #endianness 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoEndianness :: MonadIO m => AudioFormatInfo -> Int32 -> m ()
setAudioFormatInfoEndianness s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 28) (val :: Int32)
#if ENABLE_OVERLOADING
data AudioFormatInfoEndiannessFieldInfo
instance AttrInfo AudioFormatInfoEndiannessFieldInfo where
type AttrAllowedOps AudioFormatInfoEndiannessFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioFormatInfoEndiannessFieldInfo = (~) Int32
type AttrBaseTypeConstraint AudioFormatInfoEndiannessFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoEndiannessFieldInfo = Int32
type AttrLabel AudioFormatInfoEndiannessFieldInfo = "endianness"
type AttrOrigin AudioFormatInfoEndiannessFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoEndianness
attrSet _ = setAudioFormatInfoEndianness
attrConstruct = undefined
attrClear _ = undefined
audioFormatInfo_endianness :: AttrLabelProxy "endianness"
audioFormatInfo_endianness = AttrLabelProxy
#endif
{- |
Get the value of the “@width@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #width
@
-}
getAudioFormatInfoWidth :: MonadIO m => AudioFormatInfo -> m Int32
getAudioFormatInfoWidth s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 32) :: IO Int32
return val
{- |
Set the value of the “@width@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #width 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoWidth :: MonadIO m => AudioFormatInfo -> Int32 -> m ()
setAudioFormatInfoWidth s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 32) (val :: Int32)
#if ENABLE_OVERLOADING
data AudioFormatInfoWidthFieldInfo
instance AttrInfo AudioFormatInfoWidthFieldInfo where
type AttrAllowedOps AudioFormatInfoWidthFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioFormatInfoWidthFieldInfo = (~) Int32
type AttrBaseTypeConstraint AudioFormatInfoWidthFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoWidthFieldInfo = Int32
type AttrLabel AudioFormatInfoWidthFieldInfo = "width"
type AttrOrigin AudioFormatInfoWidthFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoWidth
attrSet _ = setAudioFormatInfoWidth
attrConstruct = undefined
attrClear _ = undefined
audioFormatInfo_width :: AttrLabelProxy "width"
audioFormatInfo_width = AttrLabelProxy
#endif
{- |
Get the value of the “@depth@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #depth
@
-}
getAudioFormatInfoDepth :: MonadIO m => AudioFormatInfo -> m Int32
getAudioFormatInfoDepth s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 36) :: IO Int32
return val
{- |
Set the value of the “@depth@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #depth 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoDepth :: MonadIO m => AudioFormatInfo -> Int32 -> m ()
setAudioFormatInfoDepth s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 36) (val :: Int32)
#if ENABLE_OVERLOADING
data AudioFormatInfoDepthFieldInfo
instance AttrInfo AudioFormatInfoDepthFieldInfo where
type AttrAllowedOps AudioFormatInfoDepthFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioFormatInfoDepthFieldInfo = (~) Int32
type AttrBaseTypeConstraint AudioFormatInfoDepthFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoDepthFieldInfo = Int32
type AttrLabel AudioFormatInfoDepthFieldInfo = "depth"
type AttrOrigin AudioFormatInfoDepthFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoDepth
attrSet _ = setAudioFormatInfoDepth
attrConstruct = undefined
attrClear _ = undefined
audioFormatInfo_depth :: AttrLabelProxy "depth"
audioFormatInfo_depth = AttrLabelProxy
#endif
-- XXX Skipped attribute for "AudioFormatInfo:silence" :: Not implemented: "Don't know how to unpack C array of type TCArray False 8 (-1) (TBasicType TUInt8)"
{- |
Get the value of the “@unpack_format@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #unpackFormat
@
-}
getAudioFormatInfoUnpackFormat :: MonadIO m => AudioFormatInfo -> m GstAudio.Enums.AudioFormat
getAudioFormatInfoUnpackFormat s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 48) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
{- |
Set the value of the “@unpack_format@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #unpackFormat 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoUnpackFormat :: MonadIO m => AudioFormatInfo -> GstAudio.Enums.AudioFormat -> m ()
setAudioFormatInfoUnpackFormat s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 48) (val' :: CUInt)
#if ENABLE_OVERLOADING
data AudioFormatInfoUnpackFormatFieldInfo
instance AttrInfo AudioFormatInfoUnpackFormatFieldInfo where
type AttrAllowedOps AudioFormatInfoUnpackFormatFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioFormatInfoUnpackFormatFieldInfo = (~) GstAudio.Enums.AudioFormat
type AttrBaseTypeConstraint AudioFormatInfoUnpackFormatFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoUnpackFormatFieldInfo = GstAudio.Enums.AudioFormat
type AttrLabel AudioFormatInfoUnpackFormatFieldInfo = "unpack_format"
type AttrOrigin AudioFormatInfoUnpackFormatFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoUnpackFormat
attrSet _ = setAudioFormatInfoUnpackFormat
attrConstruct = undefined
attrClear _ = undefined
audioFormatInfo_unpackFormat :: AttrLabelProxy "unpackFormat"
audioFormatInfo_unpackFormat = AttrLabelProxy
#endif
{- |
Get the value of the “@unpack_func@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #unpackFunc
@
-}
getAudioFormatInfoUnpackFunc :: MonadIO m => AudioFormatInfo -> m (Maybe GstAudio.Callbacks.AudioFormatUnpack)
getAudioFormatInfoUnpackFunc s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 56) :: IO (FunPtr GstAudio.Callbacks.C_AudioFormatUnpack)
result <- SP.convertFunPtrIfNonNull val $ \val' -> do
let val'' = GstAudio.Callbacks.dynamic_AudioFormatUnpack val'
return val''
return result
{- |
Set the value of the “@unpack_func@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #unpackFunc 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoUnpackFunc :: MonadIO m => AudioFormatInfo -> FunPtr GstAudio.Callbacks.C_AudioFormatUnpack -> m ()
setAudioFormatInfoUnpackFunc s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 56) (val :: FunPtr GstAudio.Callbacks.C_AudioFormatUnpack)
{- |
Set the value of the “@unpack_func@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.clear' #unpackFunc
@
-}
clearAudioFormatInfoUnpackFunc :: MonadIO m => AudioFormatInfo -> m ()
clearAudioFormatInfoUnpackFunc s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 56) (FP.nullFunPtr :: FunPtr GstAudio.Callbacks.C_AudioFormatUnpack)
#if ENABLE_OVERLOADING
data AudioFormatInfoUnpackFuncFieldInfo
instance AttrInfo AudioFormatInfoUnpackFuncFieldInfo where
type AttrAllowedOps AudioFormatInfoUnpackFuncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint AudioFormatInfoUnpackFuncFieldInfo = (~) (FunPtr GstAudio.Callbacks.C_AudioFormatUnpack)
type AttrBaseTypeConstraint AudioFormatInfoUnpackFuncFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoUnpackFuncFieldInfo = Maybe GstAudio.Callbacks.AudioFormatUnpack
type AttrLabel AudioFormatInfoUnpackFuncFieldInfo = "unpack_func"
type AttrOrigin AudioFormatInfoUnpackFuncFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoUnpackFunc
attrSet _ = setAudioFormatInfoUnpackFunc
attrConstruct = undefined
attrClear _ = clearAudioFormatInfoUnpackFunc
audioFormatInfo_unpackFunc :: AttrLabelProxy "unpackFunc"
audioFormatInfo_unpackFunc = AttrLabelProxy
#endif
{- |
Get the value of the “@pack_func@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.get' audioFormatInfo #packFunc
@
-}
getAudioFormatInfoPackFunc :: MonadIO m => AudioFormatInfo -> m (Maybe GstAudio.Callbacks.AudioFormatPack)
getAudioFormatInfoPackFunc s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 64) :: IO (FunPtr GstAudio.Callbacks.C_AudioFormatPack)
result <- SP.convertFunPtrIfNonNull val $ \val' -> do
let val'' = GstAudio.Callbacks.dynamic_AudioFormatPack val'
return val''
return result
{- |
Set the value of the “@pack_func@” field.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.set' audioFormatInfo [ #packFunc 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioFormatInfoPackFunc :: MonadIO m => AudioFormatInfo -> FunPtr GstAudio.Callbacks.C_AudioFormatPack -> m ()
setAudioFormatInfoPackFunc s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 64) (val :: FunPtr GstAudio.Callbacks.C_AudioFormatPack)
{- |
Set the value of the “@pack_func@” field to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
@
'Data.GI.Base.Attributes.clear' #packFunc
@
-}
clearAudioFormatInfoPackFunc :: MonadIO m => AudioFormatInfo -> m ()
clearAudioFormatInfoPackFunc s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 64) (FP.nullFunPtr :: FunPtr GstAudio.Callbacks.C_AudioFormatPack)
#if ENABLE_OVERLOADING
data AudioFormatInfoPackFuncFieldInfo
instance AttrInfo AudioFormatInfoPackFuncFieldInfo where
type AttrAllowedOps AudioFormatInfoPackFuncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint AudioFormatInfoPackFuncFieldInfo = (~) (FunPtr GstAudio.Callbacks.C_AudioFormatPack)
type AttrBaseTypeConstraint AudioFormatInfoPackFuncFieldInfo = (~) AudioFormatInfo
type AttrGetType AudioFormatInfoPackFuncFieldInfo = Maybe GstAudio.Callbacks.AudioFormatPack
type AttrLabel AudioFormatInfoPackFuncFieldInfo = "pack_func"
type AttrOrigin AudioFormatInfoPackFuncFieldInfo = AudioFormatInfo
attrGet _ = getAudioFormatInfoPackFunc
attrSet _ = setAudioFormatInfoPackFunc
attrConstruct = undefined
attrClear _ = clearAudioFormatInfoPackFunc
audioFormatInfo_packFunc :: AttrLabelProxy "packFunc"
audioFormatInfo_packFunc = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList AudioFormatInfo
type instance O.AttributeList AudioFormatInfo = AudioFormatInfoAttributeList
type AudioFormatInfoAttributeList = ('[ '("format", AudioFormatInfoFormatFieldInfo), '("name", AudioFormatInfoNameFieldInfo), '("description", AudioFormatInfoDescriptionFieldInfo), '("flags", AudioFormatInfoFlagsFieldInfo), '("endianness", AudioFormatInfoEndiannessFieldInfo), '("width", AudioFormatInfoWidthFieldInfo), '("depth", AudioFormatInfoDepthFieldInfo), '("unpackFormat", AudioFormatInfoUnpackFormatFieldInfo), '("unpackFunc", AudioFormatInfoUnpackFuncFieldInfo), '("packFunc", AudioFormatInfoPackFuncFieldInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
type family ResolveAudioFormatInfoMethod (t :: Symbol) (o :: *) :: * where
ResolveAudioFormatInfoMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAudioFormatInfoMethod t AudioFormatInfo, O.MethodInfo info AudioFormatInfo p) => OL.IsLabel t (AudioFormatInfo -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif