{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) A representation of a difference between two 'GI.GstVideo.Structs.VideoTimeCode.VideoTimeCode' instances. Will not necessarily correspond to a real timecode (e.g. 00:00:10;00) /Since: 1.12/ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.GstVideo.Structs.VideoTimeCodeInterval ( -- * Exported types VideoTimeCodeInterval(..) , newZeroVideoTimeCodeInterval , noVideoTimeCodeInterval , -- * Methods -- ** clear #method:clear# #if ENABLE_OVERLOADING VideoTimeCodeIntervalClearMethodInfo , #endif videoTimeCodeIntervalClear , -- ** copy #method:copy# #if ENABLE_OVERLOADING VideoTimeCodeIntervalCopyMethodInfo , #endif videoTimeCodeIntervalCopy , -- ** free #method:free# #if ENABLE_OVERLOADING VideoTimeCodeIntervalFreeMethodInfo , #endif videoTimeCodeIntervalFree , -- ** init #method:init# #if ENABLE_OVERLOADING VideoTimeCodeIntervalInitMethodInfo , #endif videoTimeCodeIntervalInit , -- ** new #method:new# videoTimeCodeIntervalNew , -- ** newFromString #method:newFromString# videoTimeCodeIntervalNewFromString , -- * Properties -- ** frames #attr:frames# {- | the frames field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} getVideoTimeCodeIntervalFrames , setVideoTimeCodeIntervalFrames , #if ENABLE_OVERLOADING videoTimeCodeInterval_frames , #endif -- ** hours #attr:hours# {- | the hours field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} getVideoTimeCodeIntervalHours , setVideoTimeCodeIntervalHours , #if ENABLE_OVERLOADING videoTimeCodeInterval_hours , #endif -- ** minutes #attr:minutes# {- | the minutes field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} getVideoTimeCodeIntervalMinutes , setVideoTimeCodeIntervalMinutes , #if ENABLE_OVERLOADING videoTimeCodeInterval_minutes , #endif -- ** seconds #attr:seconds# {- | the seconds field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} getVideoTimeCodeIntervalSeconds , setVideoTimeCodeIntervalSeconds , #if ENABLE_OVERLOADING videoTimeCodeInterval_seconds , #endif ) 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 -- | Memory-managed wrapper type. newtype VideoTimeCodeInterval = VideoTimeCodeInterval (ManagedPtr VideoTimeCodeInterval) foreign import ccall "gst_video_time_code_interval_get_type" c_gst_video_time_code_interval_get_type :: IO GType instance BoxedObject VideoTimeCodeInterval where boxedType _ = c_gst_video_time_code_interval_get_type -- | Construct a `VideoTimeCodeInterval` struct initialized to zero. newZeroVideoTimeCodeInterval :: MonadIO m => m VideoTimeCodeInterval newZeroVideoTimeCodeInterval = liftIO $ callocBoxedBytes 16 >>= wrapBoxed VideoTimeCodeInterval instance tag ~ 'AttrSet => Constructible VideoTimeCodeInterval tag where new _ attrs = do o <- newZeroVideoTimeCodeInterval GI.Attributes.set o attrs return o -- | A convenience alias for `Nothing` :: `Maybe` `VideoTimeCodeInterval`. noVideoTimeCodeInterval :: Maybe VideoTimeCodeInterval noVideoTimeCodeInterval = Nothing {- | Get the value of the “@hours@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoTimeCodeInterval #hours @ -} getVideoTimeCodeIntervalHours :: MonadIO m => VideoTimeCodeInterval -> m Word32 getVideoTimeCodeIntervalHours s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO Word32 return val {- | Set the value of the “@hours@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoTimeCodeInterval [ #hours 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoTimeCodeIntervalHours :: MonadIO m => VideoTimeCodeInterval -> Word32 -> m () setVideoTimeCodeIntervalHours s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 0) (val :: Word32) #if ENABLE_OVERLOADING data VideoTimeCodeIntervalHoursFieldInfo instance AttrInfo VideoTimeCodeIntervalHoursFieldInfo where type AttrAllowedOps VideoTimeCodeIntervalHoursFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoTimeCodeIntervalHoursFieldInfo = (~) Word32 type AttrBaseTypeConstraint VideoTimeCodeIntervalHoursFieldInfo = (~) VideoTimeCodeInterval type AttrGetType VideoTimeCodeIntervalHoursFieldInfo = Word32 type AttrLabel VideoTimeCodeIntervalHoursFieldInfo = "hours" type AttrOrigin VideoTimeCodeIntervalHoursFieldInfo = VideoTimeCodeInterval attrGet _ = getVideoTimeCodeIntervalHours attrSet _ = setVideoTimeCodeIntervalHours attrConstruct = undefined attrClear _ = undefined videoTimeCodeInterval_hours :: AttrLabelProxy "hours" videoTimeCodeInterval_hours = AttrLabelProxy #endif {- | Get the value of the “@minutes@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoTimeCodeInterval #minutes @ -} getVideoTimeCodeIntervalMinutes :: MonadIO m => VideoTimeCodeInterval -> m Word32 getVideoTimeCodeIntervalMinutes s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 4) :: IO Word32 return val {- | Set the value of the “@minutes@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoTimeCodeInterval [ #minutes 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoTimeCodeIntervalMinutes :: MonadIO m => VideoTimeCodeInterval -> Word32 -> m () setVideoTimeCodeIntervalMinutes s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 4) (val :: Word32) #if ENABLE_OVERLOADING data VideoTimeCodeIntervalMinutesFieldInfo instance AttrInfo VideoTimeCodeIntervalMinutesFieldInfo where type AttrAllowedOps VideoTimeCodeIntervalMinutesFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoTimeCodeIntervalMinutesFieldInfo = (~) Word32 type AttrBaseTypeConstraint VideoTimeCodeIntervalMinutesFieldInfo = (~) VideoTimeCodeInterval type AttrGetType VideoTimeCodeIntervalMinutesFieldInfo = Word32 type AttrLabel VideoTimeCodeIntervalMinutesFieldInfo = "minutes" type AttrOrigin VideoTimeCodeIntervalMinutesFieldInfo = VideoTimeCodeInterval attrGet _ = getVideoTimeCodeIntervalMinutes attrSet _ = setVideoTimeCodeIntervalMinutes attrConstruct = undefined attrClear _ = undefined videoTimeCodeInterval_minutes :: AttrLabelProxy "minutes" videoTimeCodeInterval_minutes = AttrLabelProxy #endif {- | Get the value of the “@seconds@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoTimeCodeInterval #seconds @ -} getVideoTimeCodeIntervalSeconds :: MonadIO m => VideoTimeCodeInterval -> m Word32 getVideoTimeCodeIntervalSeconds s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 8) :: IO Word32 return val {- | Set the value of the “@seconds@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoTimeCodeInterval [ #seconds 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoTimeCodeIntervalSeconds :: MonadIO m => VideoTimeCodeInterval -> Word32 -> m () setVideoTimeCodeIntervalSeconds s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 8) (val :: Word32) #if ENABLE_OVERLOADING data VideoTimeCodeIntervalSecondsFieldInfo instance AttrInfo VideoTimeCodeIntervalSecondsFieldInfo where type AttrAllowedOps VideoTimeCodeIntervalSecondsFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoTimeCodeIntervalSecondsFieldInfo = (~) Word32 type AttrBaseTypeConstraint VideoTimeCodeIntervalSecondsFieldInfo = (~) VideoTimeCodeInterval type AttrGetType VideoTimeCodeIntervalSecondsFieldInfo = Word32 type AttrLabel VideoTimeCodeIntervalSecondsFieldInfo = "seconds" type AttrOrigin VideoTimeCodeIntervalSecondsFieldInfo = VideoTimeCodeInterval attrGet _ = getVideoTimeCodeIntervalSeconds attrSet _ = setVideoTimeCodeIntervalSeconds attrConstruct = undefined attrClear _ = undefined videoTimeCodeInterval_seconds :: AttrLabelProxy "seconds" videoTimeCodeInterval_seconds = AttrLabelProxy #endif {- | Get the value of the “@frames@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.get' videoTimeCodeInterval #frames @ -} getVideoTimeCodeIntervalFrames :: MonadIO m => VideoTimeCodeInterval -> m Word32 getVideoTimeCodeIntervalFrames s = liftIO $ withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 12) :: IO Word32 return val {- | Set the value of the “@frames@” field. When is enabled, this is equivalent to @ 'Data.GI.Base.Attributes.set' videoTimeCodeInterval [ #frames 'Data.GI.Base.Attributes.:=' value ] @ -} setVideoTimeCodeIntervalFrames :: MonadIO m => VideoTimeCodeInterval -> Word32 -> m () setVideoTimeCodeIntervalFrames s val = liftIO $ withManagedPtr s $ \ptr -> do poke (ptr `plusPtr` 12) (val :: Word32) #if ENABLE_OVERLOADING data VideoTimeCodeIntervalFramesFieldInfo instance AttrInfo VideoTimeCodeIntervalFramesFieldInfo where type AttrAllowedOps VideoTimeCodeIntervalFramesFieldInfo = '[ 'AttrSet, 'AttrGet] type AttrSetTypeConstraint VideoTimeCodeIntervalFramesFieldInfo = (~) Word32 type AttrBaseTypeConstraint VideoTimeCodeIntervalFramesFieldInfo = (~) VideoTimeCodeInterval type AttrGetType VideoTimeCodeIntervalFramesFieldInfo = Word32 type AttrLabel VideoTimeCodeIntervalFramesFieldInfo = "frames" type AttrOrigin VideoTimeCodeIntervalFramesFieldInfo = VideoTimeCodeInterval attrGet _ = getVideoTimeCodeIntervalFrames attrSet _ = setVideoTimeCodeIntervalFrames attrConstruct = undefined attrClear _ = undefined videoTimeCodeInterval_frames :: AttrLabelProxy "frames" videoTimeCodeInterval_frames = AttrLabelProxy #endif #if ENABLE_OVERLOADING instance O.HasAttributeList VideoTimeCodeInterval type instance O.AttributeList VideoTimeCodeInterval = VideoTimeCodeIntervalAttributeList type VideoTimeCodeIntervalAttributeList = ('[ '("hours", VideoTimeCodeIntervalHoursFieldInfo), '("minutes", VideoTimeCodeIntervalMinutesFieldInfo), '("seconds", VideoTimeCodeIntervalSecondsFieldInfo), '("frames", VideoTimeCodeIntervalFramesFieldInfo)] :: [(Symbol, *)]) #endif -- method VideoTimeCodeInterval::new -- method type : Constructor -- Args : [Arg {argCName = "hours", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hours field of #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minutes", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minutes field of #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seconds", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the seconds field of #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "frames", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the frames field of #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"})) -- throws : False -- Skip return : False foreign import ccall "gst_video_time_code_interval_new" gst_video_time_code_interval_new :: Word32 -> -- hours : TBasicType TUInt Word32 -> -- minutes : TBasicType TUInt Word32 -> -- seconds : TBasicType TUInt Word32 -> -- frames : TBasicType TUInt IO (Ptr VideoTimeCodeInterval) {- | /No description available in the introspection data./ /Since: 1.12/ -} videoTimeCodeIntervalNew :: (B.CallStack.HasCallStack, MonadIO m) => Word32 {- ^ /@hours@/: the hours field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> Word32 {- ^ /@minutes@/: the minutes field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> Word32 {- ^ /@seconds@/: the seconds field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> Word32 {- ^ /@frames@/: the frames field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> m VideoTimeCodeInterval {- ^ __Returns:__ a new 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' with the given values. -} videoTimeCodeIntervalNew hours minutes seconds frames = liftIO $ do result <- gst_video_time_code_interval_new hours minutes seconds frames checkUnexpectedReturnNULL "videoTimeCodeIntervalNew" result result' <- (wrapBoxed VideoTimeCodeInterval) result return result' #if ENABLE_OVERLOADING #endif -- method VideoTimeCodeInterval::new_from_string -- method type : Constructor -- Args : [Arg {argCName = "tc_inter_str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The string that represents the #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"})) -- throws : False -- Skip return : False foreign import ccall "gst_video_time_code_interval_new_from_string" gst_video_time_code_interval_new_from_string :: CString -> -- tc_inter_str : TBasicType TUTF8 IO (Ptr VideoTimeCodeInterval) {- | /@tcInterStr@/ must only have \":\" as separators. /Since: 1.12/ -} videoTimeCodeIntervalNewFromString :: (B.CallStack.HasCallStack, MonadIO m) => T.Text {- ^ /@tcInterStr@/: The string that represents the 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> m (Maybe VideoTimeCodeInterval) {- ^ __Returns:__ a new 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' from the given string or 'Nothing' if the string could not be passed. -} videoTimeCodeIntervalNewFromString tcInterStr = liftIO $ do tcInterStr' <- textToCString tcInterStr result <- gst_video_time_code_interval_new_from_string tcInterStr' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (wrapBoxed VideoTimeCodeInterval) result' return result'' freeMem tcInterStr' return maybeResult #if ENABLE_OVERLOADING #endif -- method VideoTimeCodeInterval::clear -- method type : OrdinaryMethod -- Args : [Arg {argCName = "tc", argType = TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_video_time_code_interval_clear" gst_video_time_code_interval_clear :: Ptr VideoTimeCodeInterval -> -- tc : TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"}) IO () {- | Initializes /@tc@/ with empty\/zero\/NULL values. /Since: 1.12/ -} videoTimeCodeIntervalClear :: (B.CallStack.HasCallStack, MonadIO m) => VideoTimeCodeInterval {- ^ /@tc@/: a 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> m () videoTimeCodeIntervalClear tc = liftIO $ do tc' <- unsafeManagedPtrGetPtr tc gst_video_time_code_interval_clear tc' touchManagedPtr tc return () #if ENABLE_OVERLOADING data VideoTimeCodeIntervalClearMethodInfo instance (signature ~ (m ()), MonadIO m) => O.MethodInfo VideoTimeCodeIntervalClearMethodInfo VideoTimeCodeInterval signature where overloadedMethod _ = videoTimeCodeIntervalClear #endif -- method VideoTimeCodeInterval::copy -- method type : OrdinaryMethod -- Args : [Arg {argCName = "tc", argType = TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"})) -- throws : False -- Skip return : False foreign import ccall "gst_video_time_code_interval_copy" gst_video_time_code_interval_copy :: Ptr VideoTimeCodeInterval -> -- tc : TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"}) IO (Ptr VideoTimeCodeInterval) {- | /No description available in the introspection data./ /Since: 1.12/ -} videoTimeCodeIntervalCopy :: (B.CallStack.HasCallStack, MonadIO m) => VideoTimeCodeInterval {- ^ /@tc@/: a 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> m VideoTimeCodeInterval {- ^ __Returns:__ a new 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' with the same values as /@tc@/. -} videoTimeCodeIntervalCopy tc = liftIO $ do tc' <- unsafeManagedPtrGetPtr tc result <- gst_video_time_code_interval_copy tc' checkUnexpectedReturnNULL "videoTimeCodeIntervalCopy" result result' <- (wrapBoxed VideoTimeCodeInterval) result touchManagedPtr tc return result' #if ENABLE_OVERLOADING data VideoTimeCodeIntervalCopyMethodInfo instance (signature ~ (m VideoTimeCodeInterval), MonadIO m) => O.MethodInfo VideoTimeCodeIntervalCopyMethodInfo VideoTimeCodeInterval signature where overloadedMethod _ = videoTimeCodeIntervalCopy #endif -- method VideoTimeCodeInterval::free -- method type : OrdinaryMethod -- Args : [Arg {argCName = "tc", argType = TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_video_time_code_interval_free" gst_video_time_code_interval_free :: Ptr VideoTimeCodeInterval -> -- tc : TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"}) IO () {- | Frees /@tc@/. /Since: 1.12/ -} videoTimeCodeIntervalFree :: (B.CallStack.HasCallStack, MonadIO m) => VideoTimeCodeInterval {- ^ /@tc@/: a 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> m () videoTimeCodeIntervalFree tc = liftIO $ do tc' <- unsafeManagedPtrGetPtr tc gst_video_time_code_interval_free tc' touchManagedPtr tc return () #if ENABLE_OVERLOADING data VideoTimeCodeIntervalFreeMethodInfo instance (signature ~ (m ()), MonadIO m) => O.MethodInfo VideoTimeCodeIntervalFreeMethodInfo VideoTimeCodeInterval signature where overloadedMethod _ = videoTimeCodeIntervalFree #endif -- method VideoTimeCodeInterval::init -- method type : OrdinaryMethod -- Args : [Arg {argCName = "tc", argType = TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hours", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hours field of #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minutes", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minutes field of #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seconds", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the seconds field of #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "frames", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the frames field of #GstVideoTimeCodeInterval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_video_time_code_interval_init" gst_video_time_code_interval_init :: Ptr VideoTimeCodeInterval -> -- tc : TInterface (Name {namespace = "GstVideo", name = "VideoTimeCodeInterval"}) Word32 -> -- hours : TBasicType TUInt Word32 -> -- minutes : TBasicType TUInt Word32 -> -- seconds : TBasicType TUInt Word32 -> -- frames : TBasicType TUInt IO () {- | Initializes /@tc@/ with the given values. /Since: 1.12/ -} videoTimeCodeIntervalInit :: (B.CallStack.HasCallStack, MonadIO m) => VideoTimeCodeInterval {- ^ /@tc@/: a 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> Word32 {- ^ /@hours@/: the hours field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> Word32 {- ^ /@minutes@/: the minutes field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> Word32 {- ^ /@seconds@/: the seconds field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> Word32 {- ^ /@frames@/: the frames field of 'GI.GstVideo.Structs.VideoTimeCodeInterval.VideoTimeCodeInterval' -} -> m () videoTimeCodeIntervalInit tc hours minutes seconds frames = liftIO $ do tc' <- unsafeManagedPtrGetPtr tc gst_video_time_code_interval_init tc' hours minutes seconds frames touchManagedPtr tc return () #if ENABLE_OVERLOADING data VideoTimeCodeIntervalInitMethodInfo instance (signature ~ (Word32 -> Word32 -> Word32 -> Word32 -> m ()), MonadIO m) => O.MethodInfo VideoTimeCodeIntervalInitMethodInfo VideoTimeCodeInterval signature where overloadedMethod _ = videoTimeCodeIntervalInit #endif #if ENABLE_OVERLOADING type family ResolveVideoTimeCodeIntervalMethod (t :: Symbol) (o :: *) :: * where ResolveVideoTimeCodeIntervalMethod "clear" o = VideoTimeCodeIntervalClearMethodInfo ResolveVideoTimeCodeIntervalMethod "copy" o = VideoTimeCodeIntervalCopyMethodInfo ResolveVideoTimeCodeIntervalMethod "free" o = VideoTimeCodeIntervalFreeMethodInfo ResolveVideoTimeCodeIntervalMethod "init" o = VideoTimeCodeIntervalInitMethodInfo ResolveVideoTimeCodeIntervalMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveVideoTimeCodeIntervalMethod t VideoTimeCodeInterval, O.MethodInfo info VideoTimeCodeInterval p) => OL.IsLabel t (VideoTimeCodeInterval -> 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