#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstAudio.Structs.AudioClippingMeta
(
AudioClippingMeta(..) ,
newZeroAudioClippingMeta ,
noAudioClippingMeta ,
audioClippingMetaGetInfo ,
#if ENABLE_OVERLOADING
audioClippingMeta_end ,
#endif
getAudioClippingMetaEnd ,
setAudioClippingMetaEnd ,
#if ENABLE_OVERLOADING
audioClippingMeta_format ,
#endif
getAudioClippingMetaFormat ,
setAudioClippingMetaFormat ,
#if ENABLE_OVERLOADING
audioClippingMeta_meta ,
#endif
getAudioClippingMetaMeta ,
#if ENABLE_OVERLOADING
audioClippingMeta_start ,
#endif
getAudioClippingMetaStart ,
setAudioClippingMetaStart ,
) 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.Gst.Enums as Gst.Enums
import qualified GI.Gst.Structs.Meta as Gst.Meta
import qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo
newtype AudioClippingMeta = AudioClippingMeta (ManagedPtr AudioClippingMeta)
instance WrappedPtr AudioClippingMeta where
wrappedPtrCalloc = callocBytes 40
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr AudioClippingMeta)
wrappedPtrFree = Just ptr_to_g_free
newZeroAudioClippingMeta :: MonadIO m => m AudioClippingMeta
newZeroAudioClippingMeta = liftIO $ wrappedPtrCalloc >>= wrapPtr AudioClippingMeta
instance tag ~ 'AttrSet => Constructible AudioClippingMeta tag where
new _ attrs = do
o <- newZeroAudioClippingMeta
GI.Attributes.set o attrs
return o
noAudioClippingMeta :: Maybe AudioClippingMeta
noAudioClippingMeta = Nothing
getAudioClippingMetaMeta :: MonadIO m => AudioClippingMeta -> m Gst.Meta.Meta
getAudioClippingMetaMeta s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 0 :: (Ptr Gst.Meta.Meta)
val' <- (newPtr Gst.Meta.Meta) val
return val'
#if ENABLE_OVERLOADING
data AudioClippingMetaMetaFieldInfo
instance AttrInfo AudioClippingMetaMetaFieldInfo where
type AttrAllowedOps AudioClippingMetaMetaFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint AudioClippingMetaMetaFieldInfo = (~) (Ptr Gst.Meta.Meta)
type AttrBaseTypeConstraint AudioClippingMetaMetaFieldInfo = (~) AudioClippingMeta
type AttrGetType AudioClippingMetaMetaFieldInfo = Gst.Meta.Meta
type AttrLabel AudioClippingMetaMetaFieldInfo = "meta"
type AttrOrigin AudioClippingMetaMetaFieldInfo = AudioClippingMeta
attrGet _ = getAudioClippingMetaMeta
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
audioClippingMeta_meta :: AttrLabelProxy "meta"
audioClippingMeta_meta = AttrLabelProxy
#endif
getAudioClippingMetaFormat :: MonadIO m => AudioClippingMeta -> m Gst.Enums.Format
getAudioClippingMetaFormat s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setAudioClippingMetaFormat :: MonadIO m => AudioClippingMeta -> Gst.Enums.Format -> m ()
setAudioClippingMetaFormat s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 16) (val' :: CUInt)
#if ENABLE_OVERLOADING
data AudioClippingMetaFormatFieldInfo
instance AttrInfo AudioClippingMetaFormatFieldInfo where
type AttrAllowedOps AudioClippingMetaFormatFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioClippingMetaFormatFieldInfo = (~) Gst.Enums.Format
type AttrBaseTypeConstraint AudioClippingMetaFormatFieldInfo = (~) AudioClippingMeta
type AttrGetType AudioClippingMetaFormatFieldInfo = Gst.Enums.Format
type AttrLabel AudioClippingMetaFormatFieldInfo = "format"
type AttrOrigin AudioClippingMetaFormatFieldInfo = AudioClippingMeta
attrGet _ = getAudioClippingMetaFormat
attrSet _ = setAudioClippingMetaFormat
attrConstruct = undefined
attrClear _ = undefined
audioClippingMeta_format :: AttrLabelProxy "format"
audioClippingMeta_format = AttrLabelProxy
#endif
getAudioClippingMetaStart :: MonadIO m => AudioClippingMeta -> m Word64
getAudioClippingMetaStart s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO Word64
return val
setAudioClippingMetaStart :: MonadIO m => AudioClippingMeta -> Word64 -> m ()
setAudioClippingMetaStart s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 24) (val :: Word64)
#if ENABLE_OVERLOADING
data AudioClippingMetaStartFieldInfo
instance AttrInfo AudioClippingMetaStartFieldInfo where
type AttrAllowedOps AudioClippingMetaStartFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioClippingMetaStartFieldInfo = (~) Word64
type AttrBaseTypeConstraint AudioClippingMetaStartFieldInfo = (~) AudioClippingMeta
type AttrGetType AudioClippingMetaStartFieldInfo = Word64
type AttrLabel AudioClippingMetaStartFieldInfo = "start"
type AttrOrigin AudioClippingMetaStartFieldInfo = AudioClippingMeta
attrGet _ = getAudioClippingMetaStart
attrSet _ = setAudioClippingMetaStart
attrConstruct = undefined
attrClear _ = undefined
audioClippingMeta_start :: AttrLabelProxy "start"
audioClippingMeta_start = AttrLabelProxy
#endif
getAudioClippingMetaEnd :: MonadIO m => AudioClippingMeta -> m Word64
getAudioClippingMetaEnd s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 32) :: IO Word64
return val
setAudioClippingMetaEnd :: MonadIO m => AudioClippingMeta -> Word64 -> m ()
setAudioClippingMetaEnd s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 32) (val :: Word64)
#if ENABLE_OVERLOADING
data AudioClippingMetaEndFieldInfo
instance AttrInfo AudioClippingMetaEndFieldInfo where
type AttrAllowedOps AudioClippingMetaEndFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioClippingMetaEndFieldInfo = (~) Word64
type AttrBaseTypeConstraint AudioClippingMetaEndFieldInfo = (~) AudioClippingMeta
type AttrGetType AudioClippingMetaEndFieldInfo = Word64
type AttrLabel AudioClippingMetaEndFieldInfo = "end"
type AttrOrigin AudioClippingMetaEndFieldInfo = AudioClippingMeta
attrGet _ = getAudioClippingMetaEnd
attrSet _ = setAudioClippingMetaEnd
attrConstruct = undefined
attrClear _ = undefined
audioClippingMeta_end :: AttrLabelProxy "end"
audioClippingMeta_end = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList AudioClippingMeta
type instance O.AttributeList AudioClippingMeta = AudioClippingMetaAttributeList
type AudioClippingMetaAttributeList = ('[ '("meta", AudioClippingMetaMetaFieldInfo), '("format", AudioClippingMetaFormatFieldInfo), '("start", AudioClippingMetaStartFieldInfo), '("end", AudioClippingMetaEndFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_audio_clipping_meta_get_info" gst_audio_clipping_meta_get_info ::
IO (Ptr Gst.MetaInfo.MetaInfo)
audioClippingMetaGetInfo ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gst.MetaInfo.MetaInfo
audioClippingMetaGetInfo = liftIO $ do
result <- gst_audio_clipping_meta_get_info
checkUnexpectedReturnNULL "audioClippingMetaGetInfo" result
result' <- (newPtr Gst.MetaInfo.MetaInfo) result
return result'
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type family ResolveAudioClippingMetaMethod (t :: Symbol) (o :: *) :: * where
ResolveAudioClippingMetaMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAudioClippingMetaMethod t AudioClippingMeta, O.MethodInfo info AudioClippingMeta p) => OL.IsLabel t (AudioClippingMeta -> 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