{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GES.Objects.Track
(
Track(..) ,
IsTrack ,
toTrack ,
#if defined(ENABLE_OVERLOADING)
ResolveTrackMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
TrackAddElementMethodInfo ,
#endif
trackAddElement ,
#if defined(ENABLE_OVERLOADING)
TrackAddElementFullMethodInfo ,
#endif
trackAddElementFull ,
#if defined(ENABLE_OVERLOADING)
TrackCommitMethodInfo ,
#endif
trackCommit ,
#if defined(ENABLE_OVERLOADING)
TrackGetCapsMethodInfo ,
#endif
trackGetCaps ,
#if defined(ENABLE_OVERLOADING)
TrackGetElementsMethodInfo ,
#endif
trackGetElements ,
#if defined(ENABLE_OVERLOADING)
TrackGetMixingMethodInfo ,
#endif
trackGetMixing ,
#if defined(ENABLE_OVERLOADING)
TrackGetRestrictionCapsMethodInfo ,
#endif
trackGetRestrictionCaps ,
#if defined(ENABLE_OVERLOADING)
TrackGetTimelineMethodInfo ,
#endif
trackGetTimeline ,
trackNew ,
#if defined(ENABLE_OVERLOADING)
TrackRemoveElementMethodInfo ,
#endif
trackRemoveElement ,
#if defined(ENABLE_OVERLOADING)
TrackRemoveElementFullMethodInfo ,
#endif
trackRemoveElementFull ,
#if defined(ENABLE_OVERLOADING)
TrackSetMixingMethodInfo ,
#endif
trackSetMixing ,
#if defined(ENABLE_OVERLOADING)
TrackSetRestrictionCapsMethodInfo ,
#endif
trackSetRestrictionCaps ,
#if defined(ENABLE_OVERLOADING)
TrackSetTimelineMethodInfo ,
#endif
trackSetTimeline ,
#if defined(ENABLE_OVERLOADING)
TrackUpdateRestrictionCapsMethodInfo ,
#endif
trackUpdateRestrictionCaps ,
#if defined(ENABLE_OVERLOADING)
TrackCapsPropertyInfo ,
#endif
constructTrackCaps ,
getTrackCaps ,
#if defined(ENABLE_OVERLOADING)
trackCaps ,
#endif
#if defined(ENABLE_OVERLOADING)
TrackDurationPropertyInfo ,
#endif
getTrackDuration ,
#if defined(ENABLE_OVERLOADING)
trackDuration ,
#endif
#if defined(ENABLE_OVERLOADING)
TrackIdPropertyInfo ,
#endif
clearTrackId ,
constructTrackId ,
getTrackId ,
setTrackId ,
#if defined(ENABLE_OVERLOADING)
trackId ,
#endif
#if defined(ENABLE_OVERLOADING)
TrackMixingPropertyInfo ,
#endif
constructTrackMixing ,
getTrackMixing ,
setTrackMixing ,
#if defined(ENABLE_OVERLOADING)
trackMixing ,
#endif
#if defined(ENABLE_OVERLOADING)
TrackRestrictionCapsPropertyInfo ,
#endif
constructTrackRestrictionCaps ,
getTrackRestrictionCaps ,
setTrackRestrictionCaps ,
#if defined(ENABLE_OVERLOADING)
trackRestrictionCaps ,
#endif
#if defined(ENABLE_OVERLOADING)
TrackTrackTypePropertyInfo ,
#endif
constructTrackTrackType ,
getTrackTrackType ,
#if defined(ENABLE_OVERLOADING)
trackTrackType ,
#endif
TrackCommitedCallback ,
#if defined(ENABLE_OVERLOADING)
TrackCommitedSignalInfo ,
#endif
afterTrackCommited ,
onTrackCommited ,
TrackTrackElementAddedCallback ,
#if defined(ENABLE_OVERLOADING)
TrackTrackElementAddedSignalInfo ,
#endif
afterTrackTrackElementAdded ,
onTrackTrackElementAdded ,
TrackTrackElementRemovedCallback ,
#if defined(ENABLE_OVERLOADING)
TrackTrackElementRemovedSignalInfo ,
#endif
afterTrackTrackElementRemoved ,
onTrackTrackElementRemoved ,
) 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.GHashTable as B.GHT
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.Kind as DK
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 Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GES.Callbacks as GES.Callbacks
import {-# SOURCE #-} qualified GI.GES.Enums as GES.Enums
import {-# SOURCE #-} qualified GI.GES.Flags as GES.Flags
import {-# SOURCE #-} qualified GI.GES.Interfaces.Extractable as GES.Extractable
import {-# SOURCE #-} qualified GI.GES.Interfaces.MetaContainer as GES.MetaContainer
import {-# SOURCE #-} qualified GI.GES.Objects.Asset as GES.Asset
import {-# SOURCE #-} qualified GI.GES.Objects.BaseEffect as GES.BaseEffect
import {-# SOURCE #-} qualified GI.GES.Objects.Clip as GES.Clip
import {-# SOURCE #-} qualified GI.GES.Objects.Container as GES.Container
import {-# SOURCE #-} qualified GI.GES.Objects.Group as GES.Group
import {-# SOURCE #-} qualified GI.GES.Objects.Layer as GES.Layer
import {-# SOURCE #-} qualified GI.GES.Objects.Marker as GES.Marker
import {-# SOURCE #-} qualified GI.GES.Objects.MarkerList as GES.MarkerList
import {-# SOURCE #-} qualified GI.GES.Objects.Operation as GES.Operation
import {-# SOURCE #-} qualified GI.GES.Objects.Timeline as GES.Timeline
import {-# SOURCE #-} qualified GI.GES.Objects.TimelineElement as GES.TimelineElement
import {-# SOURCE #-} qualified GI.GES.Objects.TrackElement as GES.TrackElement
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Structs.Date as GLib.Date
import qualified GI.GObject.Objects.InitiallyUnowned as GObject.InitiallyUnowned
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncInitable as Gio.AsyncInitable
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import qualified GI.Gst.Interfaces.ChildProxy as Gst.ChildProxy
import qualified GI.Gst.Objects.Bin as Gst.Bin
import qualified GI.Gst.Objects.ControlBinding as Gst.ControlBinding
import qualified GI.Gst.Objects.ControlSource as Gst.ControlSource
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Objects.Pad as Gst.Pad
import qualified GI.Gst.Structs.Caps as Gst.Caps
import qualified GI.Gst.Structs.DateTime as Gst.DateTime
#else
import {-# SOURCE #-} qualified GI.GES.Flags as GES.Flags
import {-# SOURCE #-} qualified GI.GES.Interfaces.MetaContainer as GES.MetaContainer
import {-# SOURCE #-} qualified GI.GES.Objects.Timeline as GES.Timeline
import {-# SOURCE #-} qualified GI.GES.Objects.TrackElement as GES.TrackElement
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Interfaces.ChildProxy as Gst.ChildProxy
import qualified GI.Gst.Objects.Bin as Gst.Bin
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Structs.Caps as Gst.Caps
#endif
newtype Track = Track (SP.ManagedPtr Track)
deriving (Track -> Track -> Bool
(Track -> Track -> Bool) -> (Track -> Track -> Bool) -> Eq Track
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Track -> Track -> Bool
== :: Track -> Track -> Bool
$c/= :: Track -> Track -> Bool
/= :: Track -> Track -> Bool
Eq)
instance SP.ManagedPtrNewtype Track where
toManagedPtr :: Track -> ManagedPtr Track
toManagedPtr (Track ManagedPtr Track
p) = ManagedPtr Track
p
foreign import ccall "ges_track_get_type"
c_ges_track_get_type :: IO B.Types.GType
instance B.Types.TypedObject Track where
glibType :: IO GType
glibType = IO GType
c_ges_track_get_type
instance B.Types.GObject Track
class (SP.GObject o, O.IsDescendantOf Track o) => IsTrack o
instance (SP.GObject o, O.IsDescendantOf Track o) => IsTrack o
instance O.HasParentTypes Track
type instance O.ParentTypes Track = '[Gst.Bin.Bin, Gst.Element.Element, Gst.Object.Object, GObject.Object.Object, GES.MetaContainer.MetaContainer, Gst.ChildProxy.ChildProxy]
toTrack :: (MIO.MonadIO m, IsTrack o) => o -> m Track
toTrack :: forall (m :: * -> *) o. (MonadIO m, IsTrack o) => o -> m Track
toTrack = IO Track -> m Track
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Track -> m Track) -> (o -> IO Track) -> o -> m Track
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Track -> Track) -> o -> IO Track
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Track -> Track
Track
instance B.GValue.IsGValue (Maybe Track) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_track_get_type
gvalueSet_ :: Ptr GValue -> Maybe Track -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Track
P.Nothing = Ptr GValue -> Ptr Track -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Track
forall a. Ptr a
FP.nullPtr :: FP.Ptr Track)
gvalueSet_ Ptr GValue
gv (P.Just Track
obj) = Track -> (Ptr Track -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Track
obj (Ptr GValue -> Ptr Track -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Track)
gvalueGet_ Ptr GValue
gv = do
Ptr Track
ptr <- Ptr GValue -> IO (Ptr Track)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Track)
if Ptr Track
ptr Ptr Track -> Ptr Track -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Track
forall a. Ptr a
FP.nullPtr
then Track -> Maybe Track
forall a. a -> Maybe a
P.Just (Track -> Maybe Track) -> IO Track -> IO (Maybe Track)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Track -> Track) -> Ptr Track -> IO Track
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Track -> Track
Track Ptr Track
ptr
else Maybe Track -> IO (Maybe Track)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Track
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveTrackMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveTrackMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo
ResolveTrackMethod "add" o = Gst.Bin.BinAddMethodInfo
ResolveTrackMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveTrackMethod "addElement" o = TrackAddElementMethodInfo
ResolveTrackMethod "addElementFull" o = TrackAddElementFullMethodInfo
ResolveTrackMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
ResolveTrackMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo
ResolveTrackMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo
ResolveTrackMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo
ResolveTrackMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTrackMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTrackMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo
ResolveTrackMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo
ResolveTrackMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
ResolveTrackMethod "childAdded" o = Gst.ChildProxy.ChildProxyChildAddedMethodInfo
ResolveTrackMethod "childRemoved" o = Gst.ChildProxy.ChildProxyChildRemovedMethodInfo
ResolveTrackMethod "commit" o = TrackCommitMethodInfo
ResolveTrackMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo
ResolveTrackMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo
ResolveTrackMethod "decorateStreamId" o = Gst.Element.ElementDecorateStreamIdMethodInfo
ResolveTrackMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveTrackMethod "findUnlinkedPad" o = Gst.Bin.BinFindUnlinkedPadMethodInfo
ResolveTrackMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTrackMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
ResolveTrackMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo
ResolveTrackMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo
ResolveTrackMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo
ResolveTrackMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTrackMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTrackMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveTrackMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveTrackMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveTrackMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveTrackMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTrackMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo
ResolveTrackMethod "iterateAllByElementFactoryName" o = Gst.Bin.BinIterateAllByElementFactoryNameMethodInfo
ResolveTrackMethod "iterateAllByInterface" o = Gst.Bin.BinIterateAllByInterfaceMethodInfo
ResolveTrackMethod "iterateElements" o = Gst.Bin.BinIterateElementsMethodInfo
ResolveTrackMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo
ResolveTrackMethod "iterateRecurse" o = Gst.Bin.BinIterateRecurseMethodInfo
ResolveTrackMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo
ResolveTrackMethod "iterateSinks" o = Gst.Bin.BinIterateSinksMethodInfo
ResolveTrackMethod "iterateSorted" o = Gst.Bin.BinIterateSortedMethodInfo
ResolveTrackMethod "iterateSources" o = Gst.Bin.BinIterateSourcesMethodInfo
ResolveTrackMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo
ResolveTrackMethod "link" o = Gst.Element.ElementLinkMethodInfo
ResolveTrackMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo
ResolveTrackMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo
ResolveTrackMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo
ResolveTrackMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo
ResolveTrackMethod "lookup" o = Gst.ChildProxy.ChildProxyLookupMethodInfo
ResolveTrackMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo
ResolveTrackMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo
ResolveTrackMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo
ResolveTrackMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
ResolveTrackMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo
ResolveTrackMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTrackMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTrackMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo
ResolveTrackMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo
ResolveTrackMethod "query" o = Gst.Element.ElementQueryMethodInfo
ResolveTrackMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo
ResolveTrackMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo
ResolveTrackMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo
ResolveTrackMethod "recalculateLatency" o = Gst.Bin.BinRecalculateLatencyMethodInfo
ResolveTrackMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveTrackMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTrackMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
ResolveTrackMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
ResolveTrackMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
ResolveTrackMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
ResolveTrackMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
ResolveTrackMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
ResolveTrackMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
ResolveTrackMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
ResolveTrackMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
ResolveTrackMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
ResolveTrackMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
ResolveTrackMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
ResolveTrackMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo
ResolveTrackMethod "remove" o = Gst.Bin.BinRemoveMethodInfo
ResolveTrackMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveTrackMethod "removeElement" o = TrackRemoveElementMethodInfo
ResolveTrackMethod "removeElementFull" o = TrackRemoveElementFullMethodInfo
ResolveTrackMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo
ResolveTrackMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo
ResolveTrackMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo
ResolveTrackMethod "requestPadSimple" o = Gst.Element.ElementRequestPadSimpleMethodInfo
ResolveTrackMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTrackMethod "seek" o = Gst.Element.ElementSeekMethodInfo
ResolveTrackMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo
ResolveTrackMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo
ResolveTrackMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTrackMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTrackMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveTrackMethod "syncChildrenStates" o = Gst.Bin.BinSyncChildrenStatesMethodInfo
ResolveTrackMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo
ResolveTrackMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveTrackMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTrackMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo
ResolveTrackMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo
ResolveTrackMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveTrackMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveTrackMethod "updateRestrictionCaps" o = TrackUpdateRestrictionCapsMethodInfo
ResolveTrackMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTrackMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo
ResolveTrackMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
ResolveTrackMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo
ResolveTrackMethod "getByInterface" o = Gst.Bin.BinGetByInterfaceMethodInfo
ResolveTrackMethod "getByName" o = Gst.Bin.BinGetByNameMethodInfo
ResolveTrackMethod "getByNameRecurseUp" o = Gst.Bin.BinGetByNameRecurseUpMethodInfo
ResolveTrackMethod "getCaps" o = TrackGetCapsMethodInfo
ResolveTrackMethod "getChildByIndex" o = Gst.ChildProxy.ChildProxyGetChildByIndexMethodInfo
ResolveTrackMethod "getChildByName" o = Gst.ChildProxy.ChildProxyGetChildByNameMethodInfo
ResolveTrackMethod "getChildByNameRecurse" o = Gst.ChildProxy.ChildProxyGetChildByNameRecurseMethodInfo
ResolveTrackMethod "getChildrenCount" o = Gst.ChildProxy.ChildProxyGetChildrenCountMethodInfo
ResolveTrackMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo
ResolveTrackMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo
ResolveTrackMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo
ResolveTrackMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo
ResolveTrackMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo
ResolveTrackMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo
ResolveTrackMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveTrackMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveTrackMethod "getCurrentClockTime" o = Gst.Element.ElementGetCurrentClockTimeMethodInfo
ResolveTrackMethod "getCurrentRunningTime" o = Gst.Element.ElementGetCurrentRunningTimeMethodInfo
ResolveTrackMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTrackMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
ResolveTrackMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
ResolveTrackMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
ResolveTrackMethod "getElements" o = TrackGetElementsMethodInfo
ResolveTrackMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo
ResolveTrackMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
ResolveTrackMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveTrackMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
ResolveTrackMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
ResolveTrackMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
ResolveTrackMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
ResolveTrackMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo
ResolveTrackMethod "getMixing" o = TrackGetMixingMethodInfo
ResolveTrackMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveTrackMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo
ResolveTrackMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo
ResolveTrackMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveTrackMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveTrackMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTrackMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTrackMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo
ResolveTrackMethod "getRestrictionCaps" o = TrackGetRestrictionCapsMethodInfo
ResolveTrackMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo
ResolveTrackMethod "getState" o = Gst.Element.ElementGetStateMethodInfo
ResolveTrackMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo
ResolveTrackMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
ResolveTrackMethod "getSuppressedFlags" o = Gst.Bin.BinGetSuppressedFlagsMethodInfo
ResolveTrackMethod "getTimeline" o = TrackGetTimelineMethodInfo
ResolveTrackMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
ResolveTrackMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
ResolveTrackMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveTrackMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo
ResolveTrackMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
ResolveTrackMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo
ResolveTrackMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo
ResolveTrackMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo
ResolveTrackMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveTrackMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveTrackMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveTrackMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTrackMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTrackMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
ResolveTrackMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
ResolveTrackMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
ResolveTrackMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
ResolveTrackMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
ResolveTrackMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
ResolveTrackMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo
ResolveTrackMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
ResolveTrackMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
ResolveTrackMethod "setMixing" o = TrackSetMixingMethodInfo
ResolveTrackMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveTrackMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveTrackMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTrackMethod "setRestrictionCaps" o = TrackSetRestrictionCapsMethodInfo
ResolveTrackMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo
ResolveTrackMethod "setState" o = Gst.Element.ElementSetStateMethodInfo
ResolveTrackMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
ResolveTrackMethod "setSuppressedFlags" o = Gst.Bin.BinSetSuppressedFlagsMethodInfo
ResolveTrackMethod "setTimeline" o = TrackSetTimelineMethodInfo
ResolveTrackMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
ResolveTrackMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
ResolveTrackMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTrackMethod t Track, O.OverloadedMethod info Track p) => OL.IsLabel t (Track -> 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 ~ ResolveTrackMethod t Track, O.OverloadedMethod info Track p, R.HasField t Track p) => R.HasField t Track p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveTrackMethod t Track, O.OverloadedMethodInfo info Track) => OL.IsLabel t (O.MethodProxy info Track) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type TrackCommitedCallback =
IO ()
type C_TrackCommitedCallback =
Ptr Track ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_TrackCommitedCallback :: C_TrackCommitedCallback -> IO (FunPtr C_TrackCommitedCallback)
wrap_TrackCommitedCallback ::
GObject a => (a -> TrackCommitedCallback) ->
C_TrackCommitedCallback
wrap_TrackCommitedCallback :: forall a. GObject a => (a -> IO ()) -> C_TrackCommitedCallback
wrap_TrackCommitedCallback a -> IO ()
gi'cb Ptr Track
gi'selfPtr Ptr ()
_ = do
Ptr Track -> (Track -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr Track
gi'selfPtr ((Track -> IO ()) -> IO ()) -> (Track -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Track
gi'self -> a -> IO ()
gi'cb (Track -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Track
gi'self)
onTrackCommited :: (IsTrack a, MonadIO m) => a -> ((?self :: a) => TrackCommitedCallback) -> m SignalHandlerId
onTrackCommited :: forall a (m :: * -> *).
(IsTrack a, MonadIO m) =>
a -> ((?self::a) => IO ()) -> m SignalHandlerId
onTrackCommited a
obj (?self::a) => IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> IO ()
wrapped a
self = let ?self = a
?self::a
self in IO ()
(?self::a) => IO ()
cb
let wrapped' :: C_TrackCommitedCallback
wrapped' = (a -> IO ()) -> C_TrackCommitedCallback
forall a. GObject a => (a -> IO ()) -> C_TrackCommitedCallback
wrap_TrackCommitedCallback a -> IO ()
wrapped
FunPtr C_TrackCommitedCallback
wrapped'' <- C_TrackCommitedCallback -> IO (FunPtr C_TrackCommitedCallback)
mk_TrackCommitedCallback C_TrackCommitedCallback
wrapped'
a
-> Text
-> FunPtr C_TrackCommitedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"commited" FunPtr C_TrackCommitedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterTrackCommited :: (IsTrack a, MonadIO m) => a -> ((?self :: a) => TrackCommitedCallback) -> m SignalHandlerId
afterTrackCommited :: forall a (m :: * -> *).
(IsTrack a, MonadIO m) =>
a -> ((?self::a) => IO ()) -> m SignalHandlerId
afterTrackCommited a
obj (?self::a) => IO ()
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> IO ()
wrapped a
self = let ?self = a
?self::a
self in IO ()
(?self::a) => IO ()
cb
let wrapped' :: C_TrackCommitedCallback
wrapped' = (a -> IO ()) -> C_TrackCommitedCallback
forall a. GObject a => (a -> IO ()) -> C_TrackCommitedCallback
wrap_TrackCommitedCallback a -> IO ()
wrapped
FunPtr C_TrackCommitedCallback
wrapped'' <- C_TrackCommitedCallback -> IO (FunPtr C_TrackCommitedCallback)
mk_TrackCommitedCallback C_TrackCommitedCallback
wrapped'
a
-> Text
-> FunPtr C_TrackCommitedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"commited" FunPtr C_TrackCommitedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data TrackCommitedSignalInfo
instance SignalInfo TrackCommitedSignalInfo where
type HaskellCallbackType TrackCommitedSignalInfo = TrackCommitedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_TrackCommitedCallback cb
cb'' <- mk_TrackCommitedCallback cb'
connectSignalFunPtr obj "commited" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track::commited"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#g:signal:commited"})
#endif
type TrackTrackElementAddedCallback =
GES.TrackElement.TrackElement
-> IO ()
type C_TrackTrackElementAddedCallback =
Ptr Track ->
Ptr GES.TrackElement.TrackElement ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_TrackTrackElementAddedCallback :: C_TrackTrackElementAddedCallback -> IO (FunPtr C_TrackTrackElementAddedCallback)
wrap_TrackTrackElementAddedCallback ::
GObject a => (a -> TrackTrackElementAddedCallback) ->
C_TrackTrackElementAddedCallback
wrap_TrackTrackElementAddedCallback :: forall a.
GObject a =>
(a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
wrap_TrackTrackElementAddedCallback a -> TrackTrackElementAddedCallback
gi'cb Ptr Track
gi'selfPtr Ptr TrackElement
effect Ptr ()
_ = do
TrackElement
effect' <- ((ManagedPtr TrackElement -> TrackElement)
-> Ptr TrackElement -> IO TrackElement
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr TrackElement -> TrackElement
GES.TrackElement.TrackElement) Ptr TrackElement
effect
Ptr Track -> (Track -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr Track
gi'selfPtr ((Track -> IO ()) -> IO ()) -> (Track -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Track
gi'self -> a -> TrackTrackElementAddedCallback
gi'cb (Track -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Track
gi'self) TrackElement
effect'
onTrackTrackElementAdded :: (IsTrack a, MonadIO m) => a -> ((?self :: a) => TrackTrackElementAddedCallback) -> m SignalHandlerId
onTrackTrackElementAdded :: forall a (m :: * -> *).
(IsTrack a, MonadIO m) =>
a
-> ((?self::a) => TrackTrackElementAddedCallback)
-> m SignalHandlerId
onTrackTrackElementAdded a
obj (?self::a) => TrackTrackElementAddedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TrackTrackElementAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TrackTrackElementAddedCallback
TrackTrackElementAddedCallback
cb
let wrapped' :: C_TrackTrackElementAddedCallback
wrapped' = (a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
forall a.
GObject a =>
(a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
wrap_TrackTrackElementAddedCallback a -> TrackTrackElementAddedCallback
wrapped
FunPtr C_TrackTrackElementAddedCallback
wrapped'' <- C_TrackTrackElementAddedCallback
-> IO (FunPtr C_TrackTrackElementAddedCallback)
mk_TrackTrackElementAddedCallback C_TrackTrackElementAddedCallback
wrapped'
a
-> Text
-> FunPtr C_TrackTrackElementAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"track-element-added" FunPtr C_TrackTrackElementAddedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterTrackTrackElementAdded :: (IsTrack a, MonadIO m) => a -> ((?self :: a) => TrackTrackElementAddedCallback) -> m SignalHandlerId
afterTrackTrackElementAdded :: forall a (m :: * -> *).
(IsTrack a, MonadIO m) =>
a
-> ((?self::a) => TrackTrackElementAddedCallback)
-> m SignalHandlerId
afterTrackTrackElementAdded a
obj (?self::a) => TrackTrackElementAddedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TrackTrackElementAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TrackTrackElementAddedCallback
TrackTrackElementAddedCallback
cb
let wrapped' :: C_TrackTrackElementAddedCallback
wrapped' = (a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
forall a.
GObject a =>
(a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
wrap_TrackTrackElementAddedCallback a -> TrackTrackElementAddedCallback
wrapped
FunPtr C_TrackTrackElementAddedCallback
wrapped'' <- C_TrackTrackElementAddedCallback
-> IO (FunPtr C_TrackTrackElementAddedCallback)
mk_TrackTrackElementAddedCallback C_TrackTrackElementAddedCallback
wrapped'
a
-> Text
-> FunPtr C_TrackTrackElementAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"track-element-added" FunPtr C_TrackTrackElementAddedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data TrackTrackElementAddedSignalInfo
instance SignalInfo TrackTrackElementAddedSignalInfo where
type HaskellCallbackType TrackTrackElementAddedSignalInfo = TrackTrackElementAddedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_TrackTrackElementAddedCallback cb
cb'' <- mk_TrackTrackElementAddedCallback cb'
connectSignalFunPtr obj "track-element-added" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track::track-element-added"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#g:signal:trackElementAdded"})
#endif
type TrackTrackElementRemovedCallback =
GES.TrackElement.TrackElement
-> IO ()
type C_TrackTrackElementRemovedCallback =
Ptr Track ->
Ptr GES.TrackElement.TrackElement ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_TrackTrackElementRemovedCallback :: C_TrackTrackElementRemovedCallback -> IO (FunPtr C_TrackTrackElementRemovedCallback)
wrap_TrackTrackElementRemovedCallback ::
GObject a => (a -> TrackTrackElementRemovedCallback) ->
C_TrackTrackElementRemovedCallback
wrap_TrackTrackElementRemovedCallback :: forall a.
GObject a =>
(a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
wrap_TrackTrackElementRemovedCallback a -> TrackTrackElementAddedCallback
gi'cb Ptr Track
gi'selfPtr Ptr TrackElement
effect Ptr ()
_ = do
TrackElement
effect' <- ((ManagedPtr TrackElement -> TrackElement)
-> Ptr TrackElement -> IO TrackElement
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr TrackElement -> TrackElement
GES.TrackElement.TrackElement) Ptr TrackElement
effect
Ptr Track -> (Track -> IO ()) -> IO ()
forall o b.
(HasCallStack, GObject o) =>
Ptr o -> (o -> IO b) -> IO b
B.ManagedPtr.withNewObject Ptr Track
gi'selfPtr ((Track -> IO ()) -> IO ()) -> (Track -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Track
gi'self -> a -> TrackTrackElementAddedCallback
gi'cb (Track -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Track
gi'self) TrackElement
effect'
onTrackTrackElementRemoved :: (IsTrack a, MonadIO m) => a -> ((?self :: a) => TrackTrackElementRemovedCallback) -> m SignalHandlerId
onTrackTrackElementRemoved :: forall a (m :: * -> *).
(IsTrack a, MonadIO m) =>
a
-> ((?self::a) => TrackTrackElementAddedCallback)
-> m SignalHandlerId
onTrackTrackElementRemoved a
obj (?self::a) => TrackTrackElementAddedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TrackTrackElementAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TrackTrackElementAddedCallback
TrackTrackElementAddedCallback
cb
let wrapped' :: C_TrackTrackElementAddedCallback
wrapped' = (a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
forall a.
GObject a =>
(a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
wrap_TrackTrackElementRemovedCallback a -> TrackTrackElementAddedCallback
wrapped
FunPtr C_TrackTrackElementAddedCallback
wrapped'' <- C_TrackTrackElementAddedCallback
-> IO (FunPtr C_TrackTrackElementAddedCallback)
mk_TrackTrackElementRemovedCallback C_TrackTrackElementAddedCallback
wrapped'
a
-> Text
-> FunPtr C_TrackTrackElementAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"track-element-removed" FunPtr C_TrackTrackElementAddedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterTrackTrackElementRemoved :: (IsTrack a, MonadIO m) => a -> ((?self :: a) => TrackTrackElementRemovedCallback) -> m SignalHandlerId
afterTrackTrackElementRemoved :: forall a (m :: * -> *).
(IsTrack a, MonadIO m) =>
a
-> ((?self::a) => TrackTrackElementAddedCallback)
-> m SignalHandlerId
afterTrackTrackElementRemoved a
obj (?self::a) => TrackTrackElementAddedCallback
cb = IO SignalHandlerId -> m SignalHandlerId
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO SignalHandlerId -> m SignalHandlerId)
-> IO SignalHandlerId -> m SignalHandlerId
forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> TrackTrackElementAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => TrackTrackElementAddedCallback
TrackTrackElementAddedCallback
cb
let wrapped' :: C_TrackTrackElementAddedCallback
wrapped' = (a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
forall a.
GObject a =>
(a -> TrackTrackElementAddedCallback)
-> C_TrackTrackElementAddedCallback
wrap_TrackTrackElementRemovedCallback a -> TrackTrackElementAddedCallback
wrapped
FunPtr C_TrackTrackElementAddedCallback
wrapped'' <- C_TrackTrackElementAddedCallback
-> IO (FunPtr C_TrackTrackElementAddedCallback)
mk_TrackTrackElementRemovedCallback C_TrackTrackElementAddedCallback
wrapped'
a
-> Text
-> FunPtr C_TrackTrackElementAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"track-element-removed" FunPtr C_TrackTrackElementAddedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data TrackTrackElementRemovedSignalInfo
instance SignalInfo TrackTrackElementRemovedSignalInfo where
type HaskellCallbackType TrackTrackElementRemovedSignalInfo = TrackTrackElementRemovedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_TrackTrackElementRemovedCallback cb
cb'' <- mk_TrackTrackElementRemovedCallback cb'
connectSignalFunPtr obj "track-element-removed" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track::track-element-removed"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#g:signal:trackElementRemoved"})
#endif
getTrackCaps :: (MonadIO m, IsTrack o) => o -> m (Maybe Gst.Caps.Caps)
getTrackCaps :: forall (m :: * -> *) o.
(MonadIO m, IsTrack o) =>
o -> m (Maybe Caps)
getTrackCaps o
obj = IO (Maybe Caps) -> m (Maybe Caps)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Caps) -> m (Maybe Caps))
-> IO (Maybe Caps) -> m (Maybe Caps)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Caps -> Caps) -> IO (Maybe Caps)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"caps" ManagedPtr Caps -> Caps
Gst.Caps.Caps
constructTrackCaps :: (IsTrack o, MIO.MonadIO m) => Gst.Caps.Caps -> m (GValueConstruct o)
constructTrackCaps :: forall o (m :: * -> *).
(IsTrack o, MonadIO m) =>
Caps -> m (GValueConstruct o)
constructTrackCaps Caps
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Caps -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"caps" (Caps -> Maybe Caps
forall a. a -> Maybe a
P.Just Caps
val)
#if defined(ENABLE_OVERLOADING)
data TrackCapsPropertyInfo
instance AttrInfo TrackCapsPropertyInfo where
type AttrAllowedOps TrackCapsPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint TrackCapsPropertyInfo = IsTrack
type AttrSetTypeConstraint TrackCapsPropertyInfo = (~) Gst.Caps.Caps
type AttrTransferTypeConstraint TrackCapsPropertyInfo = (~) Gst.Caps.Caps
type AttrTransferType TrackCapsPropertyInfo = Gst.Caps.Caps
type AttrGetType TrackCapsPropertyInfo = (Maybe Gst.Caps.Caps)
type AttrLabel TrackCapsPropertyInfo = "caps"
type AttrOrigin TrackCapsPropertyInfo = Track
attrGet = getTrackCaps
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructTrackCaps
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.caps"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#g:attr:caps"
})
#endif
getTrackDuration :: (MonadIO m, IsTrack o) => o -> m Word64
getTrackDuration :: forall (m :: * -> *) o. (MonadIO m, IsTrack o) => o -> m Word64
getTrackDuration o
obj = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"duration"
#if defined(ENABLE_OVERLOADING)
data TrackDurationPropertyInfo
instance AttrInfo TrackDurationPropertyInfo where
type AttrAllowedOps TrackDurationPropertyInfo = '[ 'AttrGet]
type AttrBaseTypeConstraint TrackDurationPropertyInfo = IsTrack
type AttrSetTypeConstraint TrackDurationPropertyInfo = (~) ()
type AttrTransferTypeConstraint TrackDurationPropertyInfo = (~) ()
type AttrTransferType TrackDurationPropertyInfo = ()
type AttrGetType TrackDurationPropertyInfo = Word64
type AttrLabel TrackDurationPropertyInfo = "duration"
type AttrOrigin TrackDurationPropertyInfo = Track
attrGet = getTrackDuration
attrSet = undefined
attrTransfer _ = undefined
attrConstruct = undefined
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.duration"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#g:attr:duration"
})
#endif
getTrackId :: (MonadIO m, IsTrack o) => o -> m (Maybe T.Text)
getTrackId :: forall (m :: * -> *) o.
(MonadIO m, IsTrack o) =>
o -> m (Maybe Text)
getTrackId o
obj = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe Text)
forall a. GObject a => a -> String -> IO (Maybe Text)
B.Properties.getObjectPropertyString o
obj String
"id"
setTrackId :: (MonadIO m, IsTrack o) => o -> T.Text -> m ()
setTrackId :: forall (m :: * -> *) o. (MonadIO m, IsTrack o) => o -> Text -> m ()
setTrackId o
obj Text
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"id" (Text -> Maybe Text
forall a. a -> Maybe a
Just Text
val)
constructTrackId :: (IsTrack o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructTrackId :: forall o (m :: * -> *).
(IsTrack o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructTrackId Text
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Text -> IO (GValueConstruct o)
forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"id" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
clearTrackId :: (MonadIO m, IsTrack o) => o -> m ()
clearTrackId :: forall (m :: * -> *) o. (MonadIO m, IsTrack o) => o -> m ()
clearTrackId o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Text -> IO ()
forall a. GObject a => a -> String -> Maybe Text -> IO ()
B.Properties.setObjectPropertyString o
obj String
"id" (Maybe Text
forall a. Maybe a
Nothing :: Maybe T.Text)
#if defined(ENABLE_OVERLOADING)
data TrackIdPropertyInfo
instance AttrInfo TrackIdPropertyInfo where
type AttrAllowedOps TrackIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint TrackIdPropertyInfo = IsTrack
type AttrSetTypeConstraint TrackIdPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint TrackIdPropertyInfo = (~) T.Text
type AttrTransferType TrackIdPropertyInfo = T.Text
type AttrGetType TrackIdPropertyInfo = (Maybe T.Text)
type AttrLabel TrackIdPropertyInfo = "id"
type AttrOrigin TrackIdPropertyInfo = Track
attrGet = getTrackId
attrSet = setTrackId
attrTransfer _ v = do
return v
attrConstruct = constructTrackId
attrClear = clearTrackId
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.id"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#g:attr:id"
})
#endif
getTrackMixing :: (MonadIO m, IsTrack o) => o -> m Bool
getTrackMixing :: forall (m :: * -> *) o. (MonadIO m, IsTrack o) => o -> m Bool
getTrackMixing o
obj = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Bool
forall a. GObject a => a -> String -> IO Bool
B.Properties.getObjectPropertyBool o
obj String
"mixing"
setTrackMixing :: (MonadIO m, IsTrack o) => o -> Bool -> m ()
setTrackMixing :: forall (m :: * -> *) o. (MonadIO m, IsTrack o) => o -> Bool -> m ()
setTrackMixing o
obj Bool
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Bool -> IO ()
forall a. GObject a => a -> String -> Bool -> IO ()
B.Properties.setObjectPropertyBool o
obj String
"mixing" Bool
val
constructTrackMixing :: (IsTrack o, MIO.MonadIO m) => Bool -> m (GValueConstruct o)
constructTrackMixing :: forall o (m :: * -> *).
(IsTrack o, MonadIO m) =>
Bool -> m (GValueConstruct o)
constructTrackMixing Bool
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Bool -> IO (GValueConstruct o)
forall o. String -> Bool -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBool String
"mixing" Bool
val
#if defined(ENABLE_OVERLOADING)
data TrackMixingPropertyInfo
instance AttrInfo TrackMixingPropertyInfo where
type AttrAllowedOps TrackMixingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint TrackMixingPropertyInfo = IsTrack
type AttrSetTypeConstraint TrackMixingPropertyInfo = (~) Bool
type AttrTransferTypeConstraint TrackMixingPropertyInfo = (~) Bool
type AttrTransferType TrackMixingPropertyInfo = Bool
type AttrGetType TrackMixingPropertyInfo = Bool
type AttrLabel TrackMixingPropertyInfo = "mixing"
type AttrOrigin TrackMixingPropertyInfo = Track
attrGet = getTrackMixing
attrSet = setTrackMixing
attrTransfer _ v = do
return v
attrConstruct = constructTrackMixing
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.mixing"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#g:attr:mixing"
})
#endif
getTrackRestrictionCaps :: (MonadIO m, IsTrack o) => o -> m (Maybe Gst.Caps.Caps)
getTrackRestrictionCaps :: forall (m :: * -> *) o.
(MonadIO m, IsTrack o) =>
o -> m (Maybe Caps)
getTrackRestrictionCaps o
obj = IO (Maybe Caps) -> m (Maybe Caps)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (Maybe Caps) -> m (Maybe Caps))
-> IO (Maybe Caps) -> m (Maybe Caps)
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Caps -> Caps) -> IO (Maybe Caps)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"restriction-caps" ManagedPtr Caps -> Caps
Gst.Caps.Caps
setTrackRestrictionCaps :: (MonadIO m, IsTrack o) => o -> Gst.Caps.Caps -> m ()
setTrackRestrictionCaps :: forall (m :: * -> *) o. (MonadIO m, IsTrack o) => o -> Caps -> m ()
setTrackRestrictionCaps o
obj Caps
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Maybe Caps -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"restriction-caps" (Caps -> Maybe Caps
forall a. a -> Maybe a
Just Caps
val)
constructTrackRestrictionCaps :: (IsTrack o, MIO.MonadIO m) => Gst.Caps.Caps -> m (GValueConstruct o)
constructTrackRestrictionCaps :: forall o (m :: * -> *).
(IsTrack o, MonadIO m) =>
Caps -> m (GValueConstruct o)
constructTrackRestrictionCaps Caps
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Caps -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"restriction-caps" (Caps -> Maybe Caps
forall a. a -> Maybe a
P.Just Caps
val)
#if defined(ENABLE_OVERLOADING)
data TrackRestrictionCapsPropertyInfo
instance AttrInfo TrackRestrictionCapsPropertyInfo where
type AttrAllowedOps TrackRestrictionCapsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint TrackRestrictionCapsPropertyInfo = IsTrack
type AttrSetTypeConstraint TrackRestrictionCapsPropertyInfo = (~) Gst.Caps.Caps
type AttrTransferTypeConstraint TrackRestrictionCapsPropertyInfo = (~) Gst.Caps.Caps
type AttrTransferType TrackRestrictionCapsPropertyInfo = Gst.Caps.Caps
type AttrGetType TrackRestrictionCapsPropertyInfo = (Maybe Gst.Caps.Caps)
type AttrLabel TrackRestrictionCapsPropertyInfo = "restriction-caps"
type AttrOrigin TrackRestrictionCapsPropertyInfo = Track
attrGet = getTrackRestrictionCaps
attrSet = setTrackRestrictionCaps
attrTransfer _ v = do
return v
attrConstruct = constructTrackRestrictionCaps
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.restrictionCaps"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#g:attr:restrictionCaps"
})
#endif
getTrackTrackType :: (MonadIO m, IsTrack o) => o -> m [GES.Flags.TrackType]
getTrackTrackType :: forall (m :: * -> *) o.
(MonadIO m, IsTrack o) =>
o -> m [TrackType]
getTrackTrackType o
obj = IO [TrackType] -> m [TrackType]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [TrackType] -> m [TrackType])
-> IO [TrackType] -> m [TrackType]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [TrackType]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"track-type"
constructTrackTrackType :: (IsTrack o, MIO.MonadIO m) => [GES.Flags.TrackType] -> m (GValueConstruct o)
constructTrackTrackType :: forall o (m :: * -> *).
(IsTrack o, MonadIO m) =>
[TrackType] -> m (GValueConstruct o)
constructTrackTrackType [TrackType]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [TrackType] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"track-type" [TrackType]
val
#if defined(ENABLE_OVERLOADING)
data TrackTrackTypePropertyInfo
instance AttrInfo TrackTrackTypePropertyInfo where
type AttrAllowedOps TrackTrackTypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint TrackTrackTypePropertyInfo = IsTrack
type AttrSetTypeConstraint TrackTrackTypePropertyInfo = (~) [GES.Flags.TrackType]
type AttrTransferTypeConstraint TrackTrackTypePropertyInfo = (~) [GES.Flags.TrackType]
type AttrTransferType TrackTrackTypePropertyInfo = [GES.Flags.TrackType]
type AttrGetType TrackTrackTypePropertyInfo = [GES.Flags.TrackType]
type AttrLabel TrackTrackTypePropertyInfo = "track-type"
type AttrOrigin TrackTrackTypePropertyInfo = Track
attrGet = getTrackTrackType
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructTrackTrackType
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackType"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#g:attr:trackType"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Track
type instance O.AttributeList Track = TrackAttributeList
type TrackAttributeList = ('[ '("asyncHandling", Gst.Bin.BinAsyncHandlingPropertyInfo), '("caps", TrackCapsPropertyInfo), '("duration", TrackDurationPropertyInfo), '("id", TrackIdPropertyInfo), '("messageForward", Gst.Bin.BinMessageForwardPropertyInfo), '("mixing", TrackMixingPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("restrictionCaps", TrackRestrictionCapsPropertyInfo), '("trackType", TrackTrackTypePropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
trackCaps :: AttrLabelProxy "caps"
trackCaps = AttrLabelProxy
trackDuration :: AttrLabelProxy "duration"
trackDuration = AttrLabelProxy
trackId :: AttrLabelProxy "id"
trackId = AttrLabelProxy
trackMixing :: AttrLabelProxy "mixing"
trackMixing = AttrLabelProxy
trackRestrictionCaps :: AttrLabelProxy "restrictionCaps"
trackRestrictionCaps = AttrLabelProxy
trackTrackType :: AttrLabelProxy "trackType"
trackTrackType = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Track = TrackSignalList
type TrackSignalList = ('[ '("childAdded", Gst.ChildProxy.ChildProxyChildAddedSignalInfo), '("childRemoved", Gst.ChildProxy.ChildProxyChildRemovedSignalInfo), '("commited", TrackCommitedSignalInfo), '("deepElementAdded", Gst.Bin.BinDeepElementAddedSignalInfo), '("deepElementRemoved", Gst.Bin.BinDeepElementRemovedSignalInfo), '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("doLatency", Gst.Bin.BinDoLatencySignalInfo), '("elementAdded", Gst.Bin.BinElementAddedSignalInfo), '("elementRemoved", Gst.Bin.BinElementRemovedSignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("notifyMeta", GES.MetaContainer.MetaContainerNotifyMetaSignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo), '("trackElementAdded", TrackTrackElementAddedSignalInfo), '("trackElementRemoved", TrackTrackElementRemovedSignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "ges_track_new" ges_track_new ::
CUInt ->
Ptr Gst.Caps.Caps ->
IO (Ptr Track)
trackNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
[GES.Flags.TrackType]
-> Gst.Caps.Caps
-> m Track
trackNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
[TrackType] -> Caps -> m Track
trackNew [TrackType]
type_ Caps
caps = IO Track -> m Track
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Track -> m Track) -> IO Track -> m Track
forall a b. (a -> b) -> a -> b
$ do
let type_' :: CUInt
type_' = [TrackType] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [TrackType]
type_
Ptr Caps
caps' <- Caps -> IO (Ptr Caps)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed Caps
caps
Ptr Track
result <- CUInt -> Ptr Caps -> IO (Ptr Track)
ges_track_new CUInt
type_' Ptr Caps
caps'
Text -> Ptr Track -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"trackNew" Ptr Track
result
Track
result' <- ((ManagedPtr Track -> Track) -> Ptr Track -> IO Track
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Track -> Track
Track) Ptr Track
result
Caps -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Caps
caps
Track -> IO Track
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Track
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ges_track_add_element" ges_track_add_element ::
Ptr Track ->
Ptr GES.TrackElement.TrackElement ->
IO CInt
trackAddElement ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a, GES.TrackElement.IsTrackElement b) =>
a
-> b
-> m Bool
trackAddElement :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsTrack a, IsTrackElement b) =>
a -> b -> m Bool
trackAddElement a
track b
object = IO Bool -> m Bool
forall a. IO a -> m a
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
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr TrackElement
object' <- b -> IO (Ptr TrackElement)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
object
CInt
result <- Ptr Track -> Ptr TrackElement -> IO CInt
ges_track_add_element Ptr Track
track' Ptr TrackElement
object'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
object
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data TrackAddElementMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsTrack a, GES.TrackElement.IsTrackElement b) => O.OverloadedMethod TrackAddElementMethodInfo a signature where
overloadedMethod = trackAddElement
instance O.OverloadedMethodInfo TrackAddElementMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackAddElement",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackAddElement"
})
#endif
foreign import ccall "ges_track_add_element_full" ges_track_add_element_full ::
Ptr Track ->
Ptr GES.TrackElement.TrackElement ->
Ptr (Ptr GError) ->
IO CInt
trackAddElementFull ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a, GES.TrackElement.IsTrackElement b) =>
a
-> b
-> m ()
trackAddElementFull :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsTrack a, IsTrackElement b) =>
a -> b -> m ()
trackAddElementFull a
track b
object = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr TrackElement
object' <- b -> IO (Ptr TrackElement)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
object
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Track -> Ptr TrackElement -> Ptr (Ptr GError) -> IO CInt
ges_track_add_element_full Ptr Track
track' Ptr TrackElement
object'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
object
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data TrackAddElementFullMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsTrack a, GES.TrackElement.IsTrackElement b) => O.OverloadedMethod TrackAddElementFullMethodInfo a signature where
overloadedMethod = trackAddElementFull
instance O.OverloadedMethodInfo TrackAddElementFullMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackAddElementFull",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackAddElementFull"
})
#endif
foreign import ccall "ges_track_commit" ges_track_commit ::
Ptr Track ->
IO CInt
trackCommit ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a) =>
a
-> m Bool
trackCommit :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTrack a) =>
a -> m Bool
trackCommit a
track = IO Bool -> m Bool
forall a. IO a -> m a
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
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
CInt
result <- Ptr Track -> IO CInt
ges_track_commit Ptr Track
track'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data TrackCommitMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsTrack a) => O.OverloadedMethod TrackCommitMethodInfo a signature where
overloadedMethod = trackCommit
instance O.OverloadedMethodInfo TrackCommitMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackCommit",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackCommit"
})
#endif
foreign import ccall "ges_track_get_caps" ges_track_get_caps ::
Ptr Track ->
IO (Ptr Gst.Caps.Caps)
trackGetCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a) =>
a
-> m (Maybe Gst.Caps.Caps)
trackGetCaps :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTrack a) =>
a -> m (Maybe Caps)
trackGetCaps a
track = IO (Maybe Caps) -> m (Maybe Caps)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Caps) -> m (Maybe Caps))
-> IO (Maybe Caps) -> m (Maybe Caps)
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr Caps
result <- Ptr Track -> IO (Ptr Caps)
ges_track_get_caps Ptr Track
track'
Maybe Caps
maybeResult <- Ptr Caps -> (Ptr Caps -> IO Caps) -> IO (Maybe Caps)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Caps
result ((Ptr Caps -> IO Caps) -> IO (Maybe Caps))
-> (Ptr Caps -> IO Caps) -> IO (Maybe Caps)
forall a b. (a -> b) -> a -> b
$ \Ptr Caps
result' -> do
Caps
result'' <- ((ManagedPtr Caps -> Caps) -> Ptr Caps -> IO Caps
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Caps -> Caps
Gst.Caps.Caps) Ptr Caps
result'
Caps -> IO Caps
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Caps
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
Maybe Caps -> IO (Maybe Caps)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Caps
maybeResult
#if defined(ENABLE_OVERLOADING)
data TrackGetCapsMethodInfo
instance (signature ~ (m (Maybe Gst.Caps.Caps)), MonadIO m, IsTrack a) => O.OverloadedMethod TrackGetCapsMethodInfo a signature where
overloadedMethod = trackGetCaps
instance O.OverloadedMethodInfo TrackGetCapsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackGetCaps",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackGetCaps"
})
#endif
foreign import ccall "ges_track_get_elements" ges_track_get_elements ::
Ptr Track ->
IO (Ptr (GList (Ptr GES.TrackElement.TrackElement)))
trackGetElements ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a) =>
a
-> m [GES.TrackElement.TrackElement]
trackGetElements :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTrack a) =>
a -> m [TrackElement]
trackGetElements a
track = IO [TrackElement] -> m [TrackElement]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [TrackElement] -> m [TrackElement])
-> IO [TrackElement] -> m [TrackElement]
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr (GList (Ptr TrackElement))
result <- Ptr Track -> IO (Ptr (GList (Ptr TrackElement)))
ges_track_get_elements Ptr Track
track'
[Ptr TrackElement]
result' <- Ptr (GList (Ptr TrackElement)) -> IO [Ptr TrackElement]
forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr TrackElement))
result
[TrackElement]
result'' <- (Ptr TrackElement -> IO TrackElement)
-> [Ptr TrackElement] -> IO [TrackElement]
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [b]
mapM ((ManagedPtr TrackElement -> TrackElement)
-> Ptr TrackElement -> IO TrackElement
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr TrackElement -> TrackElement
GES.TrackElement.TrackElement) [Ptr TrackElement]
result'
Ptr (GList (Ptr TrackElement)) -> IO ()
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList (Ptr TrackElement))
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
[TrackElement] -> IO [TrackElement]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [TrackElement]
result''
#if defined(ENABLE_OVERLOADING)
data TrackGetElementsMethodInfo
instance (signature ~ (m [GES.TrackElement.TrackElement]), MonadIO m, IsTrack a) => O.OverloadedMethod TrackGetElementsMethodInfo a signature where
overloadedMethod = trackGetElements
instance O.OverloadedMethodInfo TrackGetElementsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackGetElements",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackGetElements"
})
#endif
foreign import ccall "ges_track_get_mixing" ges_track_get_mixing ::
Ptr Track ->
IO CInt
trackGetMixing ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a) =>
a
-> m Bool
trackGetMixing :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTrack a) =>
a -> m Bool
trackGetMixing a
track = IO Bool -> m Bool
forall a. IO a -> m a
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
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
CInt
result <- Ptr Track -> IO CInt
ges_track_get_mixing Ptr Track
track'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data TrackGetMixingMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsTrack a) => O.OverloadedMethod TrackGetMixingMethodInfo a signature where
overloadedMethod = trackGetMixing
instance O.OverloadedMethodInfo TrackGetMixingMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackGetMixing",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackGetMixing"
})
#endif
foreign import ccall "ges_track_get_restriction_caps" ges_track_get_restriction_caps ::
Ptr Track ->
IO (Ptr Gst.Caps.Caps)
trackGetRestrictionCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a) =>
a
-> m (Maybe Gst.Caps.Caps)
trackGetRestrictionCaps :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTrack a) =>
a -> m (Maybe Caps)
trackGetRestrictionCaps a
track = IO (Maybe Caps) -> m (Maybe Caps)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Caps) -> m (Maybe Caps))
-> IO (Maybe Caps) -> m (Maybe Caps)
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr Caps
result <- Ptr Track -> IO (Ptr Caps)
ges_track_get_restriction_caps Ptr Track
track'
Maybe Caps
maybeResult <- Ptr Caps -> (Ptr Caps -> IO Caps) -> IO (Maybe Caps)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Caps
result ((Ptr Caps -> IO Caps) -> IO (Maybe Caps))
-> (Ptr Caps -> IO Caps) -> IO (Maybe Caps)
forall a b. (a -> b) -> a -> b
$ \Ptr Caps
result' -> do
Caps
result'' <- ((ManagedPtr Caps -> Caps) -> Ptr Caps -> IO Caps
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Caps -> Caps
Gst.Caps.Caps) Ptr Caps
result'
Caps -> IO Caps
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Caps
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
Maybe Caps -> IO (Maybe Caps)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Caps
maybeResult
#if defined(ENABLE_OVERLOADING)
data TrackGetRestrictionCapsMethodInfo
instance (signature ~ (m (Maybe Gst.Caps.Caps)), MonadIO m, IsTrack a) => O.OverloadedMethod TrackGetRestrictionCapsMethodInfo a signature where
overloadedMethod = trackGetRestrictionCaps
instance O.OverloadedMethodInfo TrackGetRestrictionCapsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackGetRestrictionCaps",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackGetRestrictionCaps"
})
#endif
foreign import ccall "ges_track_get_timeline" ges_track_get_timeline ::
Ptr Track ->
IO (Ptr GES.Timeline.Timeline)
trackGetTimeline ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a) =>
a
-> m (Maybe GES.Timeline.Timeline)
trackGetTimeline :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTrack a) =>
a -> m (Maybe Timeline)
trackGetTimeline a
track = IO (Maybe Timeline) -> m (Maybe Timeline)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Timeline) -> m (Maybe Timeline))
-> IO (Maybe Timeline) -> m (Maybe Timeline)
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr Timeline
result <- Ptr Track -> IO (Ptr Timeline)
ges_track_get_timeline Ptr Track
track'
Maybe Timeline
maybeResult <- Ptr Timeline
-> (Ptr Timeline -> IO Timeline) -> IO (Maybe Timeline)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Timeline
result ((Ptr Timeline -> IO Timeline) -> IO (Maybe Timeline))
-> (Ptr Timeline -> IO Timeline) -> IO (Maybe Timeline)
forall a b. (a -> b) -> a -> b
$ \Ptr Timeline
result' -> do
Timeline
result'' <- ((ManagedPtr Timeline -> Timeline) -> Ptr Timeline -> IO Timeline
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Timeline -> Timeline
GES.Timeline.Timeline) Ptr Timeline
result'
Timeline -> IO Timeline
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Timeline
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
Maybe Timeline -> IO (Maybe Timeline)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Timeline
maybeResult
#if defined(ENABLE_OVERLOADING)
data TrackGetTimelineMethodInfo
instance (signature ~ (m (Maybe GES.Timeline.Timeline)), MonadIO m, IsTrack a) => O.OverloadedMethod TrackGetTimelineMethodInfo a signature where
overloadedMethod = trackGetTimeline
instance O.OverloadedMethodInfo TrackGetTimelineMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackGetTimeline",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackGetTimeline"
})
#endif
foreign import ccall "ges_track_remove_element" ges_track_remove_element ::
Ptr Track ->
Ptr GES.TrackElement.TrackElement ->
IO CInt
trackRemoveElement ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a, GES.TrackElement.IsTrackElement b) =>
a
-> b
-> m Bool
trackRemoveElement :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsTrack a, IsTrackElement b) =>
a -> b -> m Bool
trackRemoveElement a
track b
object = IO Bool -> m Bool
forall a. IO a -> m a
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
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr TrackElement
object' <- b -> IO (Ptr TrackElement)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
object
CInt
result <- Ptr Track -> Ptr TrackElement -> IO CInt
ges_track_remove_element Ptr Track
track' Ptr TrackElement
object'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
object
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data TrackRemoveElementMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsTrack a, GES.TrackElement.IsTrackElement b) => O.OverloadedMethod TrackRemoveElementMethodInfo a signature where
overloadedMethod = trackRemoveElement
instance O.OverloadedMethodInfo TrackRemoveElementMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackRemoveElement",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackRemoveElement"
})
#endif
foreign import ccall "ges_track_remove_element_full" ges_track_remove_element_full ::
Ptr Track ->
Ptr GES.TrackElement.TrackElement ->
Ptr (Ptr GError) ->
IO CInt
trackRemoveElementFull ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a, GES.TrackElement.IsTrackElement b) =>
a
-> b
-> m ()
trackRemoveElementFull :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsTrack a, IsTrackElement b) =>
a -> b -> m ()
trackRemoveElementFull a
track b
object = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr TrackElement
object' <- b -> IO (Ptr TrackElement)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
object
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Track -> Ptr TrackElement -> Ptr (Ptr GError) -> IO CInt
ges_track_remove_element_full Ptr Track
track' Ptr TrackElement
object'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
object
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data TrackRemoveElementFullMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsTrack a, GES.TrackElement.IsTrackElement b) => O.OverloadedMethod TrackRemoveElementFullMethodInfo a signature where
overloadedMethod = trackRemoveElementFull
instance O.OverloadedMethodInfo TrackRemoveElementFullMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackRemoveElementFull",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackRemoveElementFull"
})
#endif
foreign import ccall "ges_track_set_mixing" ges_track_set_mixing ::
Ptr Track ->
CInt ->
IO ()
trackSetMixing ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a) =>
a
-> Bool
-> m ()
trackSetMixing :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTrack a) =>
a -> Bool -> m ()
trackSetMixing a
track Bool
mixing = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
let mixing' :: CInt
mixing' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
P.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
P.fromEnum) Bool
mixing
Ptr Track -> CInt -> IO ()
ges_track_set_mixing Ptr Track
track' CInt
mixing'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TrackSetMixingMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, IsTrack a) => O.OverloadedMethod TrackSetMixingMethodInfo a signature where
overloadedMethod = trackSetMixing
instance O.OverloadedMethodInfo TrackSetMixingMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackSetMixing",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackSetMixing"
})
#endif
foreign import ccall "ges_track_set_restriction_caps" ges_track_set_restriction_caps ::
Ptr Track ->
Ptr Gst.Caps.Caps ->
IO ()
trackSetRestrictionCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a) =>
a
-> Gst.Caps.Caps
-> m ()
trackSetRestrictionCaps :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTrack a) =>
a -> Caps -> m ()
trackSetRestrictionCaps a
track Caps
caps = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr Caps
caps' <- Caps -> IO (Ptr Caps)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Caps
caps
Ptr Track -> Ptr Caps -> IO ()
ges_track_set_restriction_caps Ptr Track
track' Ptr Caps
caps'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
Caps -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Caps
caps
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TrackSetRestrictionCapsMethodInfo
instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m, IsTrack a) => O.OverloadedMethod TrackSetRestrictionCapsMethodInfo a signature where
overloadedMethod = trackSetRestrictionCaps
instance O.OverloadedMethodInfo TrackSetRestrictionCapsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackSetRestrictionCaps",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackSetRestrictionCaps"
})
#endif
foreign import ccall "ges_track_set_timeline" ges_track_set_timeline ::
Ptr Track ->
Ptr GES.Timeline.Timeline ->
IO ()
trackSetTimeline ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a, GES.Timeline.IsTimeline b) =>
a
-> b
-> m ()
trackSetTimeline :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsTrack a, IsTimeline b) =>
a -> b -> m ()
trackSetTimeline a
track b
timeline = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr Timeline
timeline' <- b -> IO (Ptr Timeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
timeline
Ptr Track -> Ptr Timeline -> IO ()
ges_track_set_timeline Ptr Track
track' Ptr Timeline
timeline'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
timeline
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TrackSetTimelineMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsTrack a, GES.Timeline.IsTimeline b) => O.OverloadedMethod TrackSetTimelineMethodInfo a signature where
overloadedMethod = trackSetTimeline
instance O.OverloadedMethodInfo TrackSetTimelineMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackSetTimeline",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackSetTimeline"
})
#endif
foreign import ccall "ges_track_update_restriction_caps" ges_track_update_restriction_caps ::
Ptr Track ->
Ptr Gst.Caps.Caps ->
IO ()
trackUpdateRestrictionCaps ::
(B.CallStack.HasCallStack, MonadIO m, IsTrack a) =>
a
-> Gst.Caps.Caps
-> m ()
trackUpdateRestrictionCaps :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsTrack a) =>
a -> Caps -> m ()
trackUpdateRestrictionCaps a
track Caps
caps = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Track
track' <- a -> IO (Ptr Track)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
track
Ptr Caps
caps' <- Caps -> IO (Ptr Caps)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Caps
caps
Ptr Track -> Ptr Caps -> IO ()
ges_track_update_restriction_caps Ptr Track
track' Ptr Caps
caps'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
track
Caps -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Caps
caps
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TrackUpdateRestrictionCapsMethodInfo
instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m, IsTrack a) => O.OverloadedMethod TrackUpdateRestrictionCapsMethodInfo a signature where
overloadedMethod = trackUpdateRestrictionCaps
instance O.OverloadedMethodInfo TrackUpdateRestrictionCapsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Track.trackUpdateRestrictionCaps",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.5/docs/GI-GES-Objects-Track.html#v:trackUpdateRestrictionCaps"
})
#endif