{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GES.Objects.Source
(
Source(..) ,
IsSource ,
toSource ,
#if defined(ENABLE_OVERLOADING)
ResolveSourceMethod ,
#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.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 {-# 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.TimelineElement as GES.TimelineElement
import {-# SOURCE #-} qualified GI.GES.Objects.TrackElement as GES.TrackElement
import qualified GI.GObject.Objects.Object as GObject.Object
newtype Source = Source (SP.ManagedPtr Source)
deriving (Source -> Source -> Bool
(Source -> Source -> Bool)
-> (Source -> Source -> Bool) -> Eq Source
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Source -> Source -> Bool
== :: Source -> Source -> Bool
$c/= :: Source -> Source -> Bool
/= :: Source -> Source -> Bool
Eq)
instance SP.ManagedPtrNewtype Source where
toManagedPtr :: Source -> ManagedPtr Source
toManagedPtr (Source ManagedPtr Source
p) = ManagedPtr Source
p
foreign import ccall "ges_source_get_type"
c_ges_source_get_type :: IO B.Types.GType
instance B.Types.TypedObject Source where
glibType :: IO GType
glibType = IO GType
c_ges_source_get_type
instance B.Types.GObject Source
class (SP.GObject o, O.IsDescendantOf Source o) => IsSource o
instance (SP.GObject o, O.IsDescendantOf Source o) => IsSource o
instance O.HasParentTypes Source
type instance O.ParentTypes Source = '[GES.TrackElement.TrackElement, GES.TimelineElement.TimelineElement, GObject.Object.Object, GES.Extractable.Extractable, GES.MetaContainer.MetaContainer]
toSource :: (MIO.MonadIO m, IsSource o) => o -> m Source
toSource :: forall (m :: * -> *) o. (MonadIO m, IsSource o) => o -> m Source
toSource = IO Source -> m Source
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Source -> m Source) -> (o -> IO Source) -> o -> m Source
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Source -> Source) -> o -> IO Source
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Source -> Source
Source
instance B.GValue.IsGValue (Maybe Source) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_source_get_type
gvalueSet_ :: Ptr GValue -> Maybe Source -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Source
P.Nothing = Ptr GValue -> Ptr Source -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Source
forall a. Ptr a
FP.nullPtr :: FP.Ptr Source)
gvalueSet_ Ptr GValue
gv (P.Just Source
obj) = Source -> (Ptr Source -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Source
obj (Ptr GValue -> Ptr Source -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Source)
gvalueGet_ Ptr GValue
gv = do
Ptr Source
ptr <- Ptr GValue -> IO (Ptr Source)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Source)
if Ptr Source
ptr Ptr Source -> Ptr Source -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Source
forall a. Ptr a
FP.nullPtr
then Source -> Maybe Source
forall a. a -> Maybe a
P.Just (Source -> Maybe Source) -> IO Source -> IO (Maybe Source)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Source -> Source) -> Ptr Source -> IO Source
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Source -> Source
Source Ptr Source
ptr
else Maybe Source -> IO (Maybe Source)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Source
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveSourceMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveSourceMethod "addChildProperty" o = GES.TimelineElement.TimelineElementAddChildPropertyMethodInfo
ResolveSourceMethod "addChildrenProps" o = GES.TrackElement.TrackElementAddChildrenPropsMethodInfo
ResolveSourceMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
ResolveSourceMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveSourceMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveSourceMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
ResolveSourceMethod "clampControlSource" o = GES.TrackElement.TrackElementClampControlSourceMethodInfo
ResolveSourceMethod "copy" o = GES.TimelineElement.TimelineElementCopyMethodInfo
ResolveSourceMethod "edit" o = GES.TrackElement.TrackElementEditMethodInfo
ResolveSourceMethod "editFull" o = GES.TimelineElement.TimelineElementEditFullMethodInfo
ResolveSourceMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveSourceMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
ResolveSourceMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveSourceMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveSourceMethod "hasInternalSource" o = GES.TrackElement.TrackElementHasInternalSourceMethodInfo
ResolveSourceMethod "isActive" o = GES.TrackElement.TrackElementIsActiveMethodInfo
ResolveSourceMethod "isCore" o = GES.TrackElement.TrackElementIsCoreMethodInfo
ResolveSourceMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveSourceMethod "listChildrenProperties" o = GES.TrackElement.TrackElementListChildrenPropertiesMethodInfo
ResolveSourceMethod "lookupChild" o = GES.TrackElement.TrackElementLookupChildMethodInfo
ResolveSourceMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
ResolveSourceMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveSourceMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveSourceMethod "paste" o = GES.TimelineElement.TimelineElementPasteMethodInfo
ResolveSourceMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveSourceMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveSourceMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
ResolveSourceMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
ResolveSourceMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
ResolveSourceMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
ResolveSourceMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
ResolveSourceMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
ResolveSourceMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
ResolveSourceMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
ResolveSourceMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
ResolveSourceMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
ResolveSourceMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
ResolveSourceMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
ResolveSourceMethod "removeChildProperty" o = GES.TimelineElement.TimelineElementRemoveChildPropertyMethodInfo
ResolveSourceMethod "removeControlBinding" o = GES.TrackElement.TrackElementRemoveControlBindingMethodInfo
ResolveSourceMethod "ripple" o = GES.TimelineElement.TimelineElementRippleMethodInfo
ResolveSourceMethod "rippleEnd" o = GES.TimelineElement.TimelineElementRippleEndMethodInfo
ResolveSourceMethod "rollEnd" o = GES.TimelineElement.TimelineElementRollEndMethodInfo
ResolveSourceMethod "rollStart" o = GES.TimelineElement.TimelineElementRollStartMethodInfo
ResolveSourceMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveSourceMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveSourceMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveSourceMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveSourceMethod "trim" o = GES.TimelineElement.TimelineElementTrimMethodInfo
ResolveSourceMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveSourceMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveSourceMethod "getAllControlBindings" o = GES.TrackElement.TrackElementGetAllControlBindingsMethodInfo
ResolveSourceMethod "getAsset" o = GES.Extractable.ExtractableGetAssetMethodInfo
ResolveSourceMethod "getAutoClampControlSources" o = GES.TrackElement.TrackElementGetAutoClampControlSourcesMethodInfo
ResolveSourceMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
ResolveSourceMethod "getChildProperty" o = GES.TimelineElement.TimelineElementGetChildPropertyMethodInfo
ResolveSourceMethod "getChildPropertyByPspec" o = GES.TimelineElement.TimelineElementGetChildPropertyByPspecMethodInfo
ResolveSourceMethod "getControlBinding" o = GES.TrackElement.TrackElementGetControlBindingMethodInfo
ResolveSourceMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveSourceMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
ResolveSourceMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
ResolveSourceMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
ResolveSourceMethod "getDuration" o = GES.TimelineElement.TimelineElementGetDurationMethodInfo
ResolveSourceMethod "getElement" o = GES.TrackElement.TrackElementGetElementMethodInfo
ResolveSourceMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
ResolveSourceMethod "getGnlobject" o = GES.TrackElement.TrackElementGetGnlobjectMethodInfo
ResolveSourceMethod "getId" o = GES.Extractable.ExtractableGetIdMethodInfo
ResolveSourceMethod "getInpoint" o = GES.TimelineElement.TimelineElementGetInpointMethodInfo
ResolveSourceMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
ResolveSourceMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
ResolveSourceMethod "getLayerPriority" o = GES.TimelineElement.TimelineElementGetLayerPriorityMethodInfo
ResolveSourceMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
ResolveSourceMethod "getMaxDuration" o = GES.TimelineElement.TimelineElementGetMaxDurationMethodInfo
ResolveSourceMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
ResolveSourceMethod "getName" o = GES.TimelineElement.TimelineElementGetNameMethodInfo
ResolveSourceMethod "getNaturalFramerate" o = GES.TimelineElement.TimelineElementGetNaturalFramerateMethodInfo
ResolveSourceMethod "getNleobject" o = GES.TrackElement.TrackElementGetNleobjectMethodInfo
ResolveSourceMethod "getParent" o = GES.TimelineElement.TimelineElementGetParentMethodInfo
ResolveSourceMethod "getPriority" o = GES.TimelineElement.TimelineElementGetPriorityMethodInfo
ResolveSourceMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveSourceMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveSourceMethod "getStart" o = GES.TimelineElement.TimelineElementGetStartMethodInfo
ResolveSourceMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
ResolveSourceMethod "getTimeline" o = GES.TimelineElement.TimelineElementGetTimelineMethodInfo
ResolveSourceMethod "getToplevelParent" o = GES.TimelineElement.TimelineElementGetToplevelParentMethodInfo
ResolveSourceMethod "getTrack" o = GES.TrackElement.TrackElementGetTrackMethodInfo
ResolveSourceMethod "getTrackType" o = GES.TrackElement.TrackElementGetTrackTypeMethodInfo
ResolveSourceMethod "getTrackTypes" o = GES.TimelineElement.TimelineElementGetTrackTypesMethodInfo
ResolveSourceMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
ResolveSourceMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
ResolveSourceMethod "setActive" o = GES.TrackElement.TrackElementSetActiveMethodInfo
ResolveSourceMethod "setAsset" o = GES.Extractable.ExtractableSetAssetMethodInfo
ResolveSourceMethod "setAutoClampControlSources" o = GES.TrackElement.TrackElementSetAutoClampControlSourcesMethodInfo
ResolveSourceMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
ResolveSourceMethod "setChildProperty" o = GES.TimelineElement.TimelineElementSetChildPropertyMethodInfo
ResolveSourceMethod "setChildPropertyByPspec" o = GES.TimelineElement.TimelineElementSetChildPropertyByPspecMethodInfo
ResolveSourceMethod "setChildPropertyFull" o = GES.TimelineElement.TimelineElementSetChildPropertyFullMethodInfo
ResolveSourceMethod "setControlSource" o = GES.TrackElement.TrackElementSetControlSourceMethodInfo
ResolveSourceMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveSourceMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveSourceMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
ResolveSourceMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
ResolveSourceMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
ResolveSourceMethod "setDuration" o = GES.TimelineElement.TimelineElementSetDurationMethodInfo
ResolveSourceMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
ResolveSourceMethod "setHasInternalSource" o = GES.TrackElement.TrackElementSetHasInternalSourceMethodInfo
ResolveSourceMethod "setInpoint" o = GES.TimelineElement.TimelineElementSetInpointMethodInfo
ResolveSourceMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
ResolveSourceMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
ResolveSourceMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
ResolveSourceMethod "setMaxDuration" o = GES.TimelineElement.TimelineElementSetMaxDurationMethodInfo
ResolveSourceMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
ResolveSourceMethod "setName" o = GES.TimelineElement.TimelineElementSetNameMethodInfo
ResolveSourceMethod "setParent" o = GES.TimelineElement.TimelineElementSetParentMethodInfo
ResolveSourceMethod "setPriority" o = GES.TimelineElement.TimelineElementSetPriorityMethodInfo
ResolveSourceMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveSourceMethod "setStart" o = GES.TimelineElement.TimelineElementSetStartMethodInfo
ResolveSourceMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
ResolveSourceMethod "setTimeline" o = GES.TimelineElement.TimelineElementSetTimelineMethodInfo
ResolveSourceMethod "setTrackType" o = GES.TrackElement.TrackElementSetTrackTypeMethodInfo
ResolveSourceMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
ResolveSourceMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
ResolveSourceMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveSourceMethod t Source, O.OverloadedMethod info Source p) => OL.IsLabel t (Source -> 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 ~ ResolveSourceMethod t Source, O.OverloadedMethod info Source p, R.HasField t Source p) => R.HasField t Source p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveSourceMethod t Source, O.OverloadedMethodInfo info Source) => OL.IsLabel t (O.MethodProxy info Source) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Source
type instance O.AttributeList Source = SourceAttributeList
type SourceAttributeList = ('[ '("active", GES.TrackElement.TrackElementActivePropertyInfo), '("autoClampControlSources", GES.TrackElement.TrackElementAutoClampControlSourcesPropertyInfo), '("duration", GES.TimelineElement.TimelineElementDurationPropertyInfo), '("hasInternalSource", GES.TrackElement.TrackElementHasInternalSourcePropertyInfo), '("inPoint", GES.TimelineElement.TimelineElementInPointPropertyInfo), '("maxDuration", GES.TimelineElement.TimelineElementMaxDurationPropertyInfo), '("name", GES.TimelineElement.TimelineElementNamePropertyInfo), '("parent", GES.TimelineElement.TimelineElementParentPropertyInfo), '("priority", GES.TimelineElement.TimelineElementPriorityPropertyInfo), '("serialize", GES.TimelineElement.TimelineElementSerializePropertyInfo), '("start", GES.TimelineElement.TimelineElementStartPropertyInfo), '("timeline", GES.TimelineElement.TimelineElementTimelinePropertyInfo), '("track", GES.TrackElement.TrackElementTrackPropertyInfo), '("trackType", GES.TrackElement.TrackElementTrackTypePropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Source = SourceSignalList
type SourceSignalList = ('[ '("childPropertyAdded", GES.TimelineElement.TimelineElementChildPropertyAddedSignalInfo), '("childPropertyRemoved", GES.TimelineElement.TimelineElementChildPropertyRemovedSignalInfo), '("controlBindingAdded", GES.TrackElement.TrackElementControlBindingAddedSignalInfo), '("controlBindingRemoved", GES.TrackElement.TrackElementControlBindingRemovedSignalInfo), '("deepNotify", GES.TimelineElement.TimelineElementDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("notifyMeta", GES.MetaContainer.MetaContainerNotifyMetaSignalInfo)] :: [(Symbol, DK.Type)])
#endif