{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GES.Objects.Effect
(
Effect(..) ,
IsEffect ,
toEffect ,
#if defined(ENABLE_OVERLOADING)
ResolveEffectMethod ,
#endif
effectNew ,
#if defined(ENABLE_OVERLOADING)
EffectBinDescriptionPropertyInfo ,
#endif
constructEffectBinDescription ,
#if defined(ENABLE_OVERLOADING)
effectBinDescription ,
#endif
getEffectBinDescription ,
) 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.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.BaseEffect as GES.BaseEffect
import {-# SOURCE #-} qualified GI.GES.Objects.Operation as GES.Operation
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 Effect = Effect (SP.ManagedPtr Effect)
deriving (Effect -> Effect -> Bool
(Effect -> Effect -> Bool)
-> (Effect -> Effect -> Bool) -> Eq Effect
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Effect -> Effect -> Bool
== :: Effect -> Effect -> Bool
$c/= :: Effect -> Effect -> Bool
/= :: Effect -> Effect -> Bool
Eq)
instance SP.ManagedPtrNewtype Effect where
toManagedPtr :: Effect -> ManagedPtr Effect
toManagedPtr (Effect ManagedPtr Effect
p) = ManagedPtr Effect
p
foreign import ccall "ges_effect_get_type"
c_ges_effect_get_type :: IO B.Types.GType
instance B.Types.TypedObject Effect where
glibType :: IO GType
glibType = IO GType
c_ges_effect_get_type
instance B.Types.GObject Effect
class (SP.GObject o, O.IsDescendantOf Effect o) => IsEffect o
instance (SP.GObject o, O.IsDescendantOf Effect o) => IsEffect o
instance O.HasParentTypes Effect
type instance O.ParentTypes Effect = '[GES.BaseEffect.BaseEffect, GES.Operation.Operation, GES.TrackElement.TrackElement, GES.TimelineElement.TimelineElement, GObject.Object.Object, GES.Extractable.Extractable, GES.MetaContainer.MetaContainer]
toEffect :: (MIO.MonadIO m, IsEffect o) => o -> m Effect
toEffect :: forall (m :: * -> *) o. (MonadIO m, IsEffect o) => o -> m Effect
toEffect = IO Effect -> m Effect
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Effect -> m Effect) -> (o -> IO Effect) -> o -> m Effect
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Effect -> Effect) -> o -> IO Effect
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Effect -> Effect
Effect
instance B.GValue.IsGValue (Maybe Effect) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_effect_get_type
gvalueSet_ :: Ptr GValue -> Maybe Effect -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Effect
P.Nothing = Ptr GValue -> Ptr Effect -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Effect
forall a. Ptr a
FP.nullPtr :: FP.Ptr Effect)
gvalueSet_ Ptr GValue
gv (P.Just Effect
obj) = Effect -> (Ptr Effect -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Effect
obj (Ptr GValue -> Ptr Effect -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Effect)
gvalueGet_ Ptr GValue
gv = do
Ptr Effect
ptr <- Ptr GValue -> IO (Ptr Effect)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Effect)
if Ptr Effect
ptr Ptr Effect -> Ptr Effect -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Effect
forall a. Ptr a
FP.nullPtr
then Effect -> Maybe Effect
forall a. a -> Maybe a
P.Just (Effect -> Maybe Effect) -> IO Effect -> IO (Maybe Effect)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Effect -> Effect) -> Ptr Effect -> IO Effect
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Effect -> Effect
Effect Ptr Effect
ptr
else Maybe Effect -> IO (Maybe Effect)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Effect
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveEffectMethod (t :: Symbol) (o :: *) :: * where
ResolveEffectMethod "addChildProperty" o = GES.TimelineElement.TimelineElementAddChildPropertyMethodInfo
ResolveEffectMethod "addChildrenProps" o = GES.TrackElement.TrackElementAddChildrenPropsMethodInfo
ResolveEffectMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
ResolveEffectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveEffectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveEffectMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
ResolveEffectMethod "clampControlSource" o = GES.TrackElement.TrackElementClampControlSourceMethodInfo
ResolveEffectMethod "copy" o = GES.TimelineElement.TimelineElementCopyMethodInfo
ResolveEffectMethod "edit" o = GES.TrackElement.TrackElementEditMethodInfo
ResolveEffectMethod "editFull" o = GES.TimelineElement.TimelineElementEditFullMethodInfo
ResolveEffectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveEffectMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
ResolveEffectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveEffectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveEffectMethod "hasInternalSource" o = GES.TrackElement.TrackElementHasInternalSourceMethodInfo
ResolveEffectMethod "isActive" o = GES.TrackElement.TrackElementIsActiveMethodInfo
ResolveEffectMethod "isCore" o = GES.TrackElement.TrackElementIsCoreMethodInfo
ResolveEffectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveEffectMethod "isTimeEffect" o = GES.BaseEffect.BaseEffectIsTimeEffectMethodInfo
ResolveEffectMethod "listChildrenProperties" o = GES.TrackElement.TrackElementListChildrenPropertiesMethodInfo
ResolveEffectMethod "lookupChild" o = GES.TrackElement.TrackElementLookupChildMethodInfo
ResolveEffectMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
ResolveEffectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveEffectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveEffectMethod "paste" o = GES.TimelineElement.TimelineElementPasteMethodInfo
ResolveEffectMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveEffectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveEffectMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
ResolveEffectMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
ResolveEffectMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
ResolveEffectMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
ResolveEffectMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
ResolveEffectMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
ResolveEffectMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
ResolveEffectMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
ResolveEffectMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
ResolveEffectMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
ResolveEffectMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
ResolveEffectMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
ResolveEffectMethod "registerTimeProperty" o = GES.BaseEffect.BaseEffectRegisterTimePropertyMethodInfo
ResolveEffectMethod "removeChildProperty" o = GES.TimelineElement.TimelineElementRemoveChildPropertyMethodInfo
ResolveEffectMethod "removeControlBinding" o = GES.TrackElement.TrackElementRemoveControlBindingMethodInfo
ResolveEffectMethod "ripple" o = GES.TimelineElement.TimelineElementRippleMethodInfo
ResolveEffectMethod "rippleEnd" o = GES.TimelineElement.TimelineElementRippleEndMethodInfo
ResolveEffectMethod "rollEnd" o = GES.TimelineElement.TimelineElementRollEndMethodInfo
ResolveEffectMethod "rollStart" o = GES.TimelineElement.TimelineElementRollStartMethodInfo
ResolveEffectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveEffectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveEffectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveEffectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveEffectMethod "trim" o = GES.TimelineElement.TimelineElementTrimMethodInfo
ResolveEffectMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveEffectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveEffectMethod "getAllControlBindings" o = GES.TrackElement.TrackElementGetAllControlBindingsMethodInfo
ResolveEffectMethod "getAsset" o = GES.Extractable.ExtractableGetAssetMethodInfo
ResolveEffectMethod "getAutoClampControlSources" o = GES.TrackElement.TrackElementGetAutoClampControlSourcesMethodInfo
ResolveEffectMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
ResolveEffectMethod "getChildProperty" o = GES.TimelineElement.TimelineElementGetChildPropertyMethodInfo
ResolveEffectMethod "getChildPropertyByPspec" o = GES.TimelineElement.TimelineElementGetChildPropertyByPspecMethodInfo
ResolveEffectMethod "getControlBinding" o = GES.TrackElement.TrackElementGetControlBindingMethodInfo
ResolveEffectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveEffectMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
ResolveEffectMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
ResolveEffectMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
ResolveEffectMethod "getDuration" o = GES.TimelineElement.TimelineElementGetDurationMethodInfo
ResolveEffectMethod "getElement" o = GES.TrackElement.TrackElementGetElementMethodInfo
ResolveEffectMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
ResolveEffectMethod "getGnlobject" o = GES.TrackElement.TrackElementGetGnlobjectMethodInfo
ResolveEffectMethod "getId" o = GES.Extractable.ExtractableGetIdMethodInfo
ResolveEffectMethod "getInpoint" o = GES.TimelineElement.TimelineElementGetInpointMethodInfo
ResolveEffectMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
ResolveEffectMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
ResolveEffectMethod "getLayerPriority" o = GES.TimelineElement.TimelineElementGetLayerPriorityMethodInfo
ResolveEffectMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
ResolveEffectMethod "getMaxDuration" o = GES.TimelineElement.TimelineElementGetMaxDurationMethodInfo
ResolveEffectMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
ResolveEffectMethod "getName" o = GES.TimelineElement.TimelineElementGetNameMethodInfo
ResolveEffectMethod "getNaturalFramerate" o = GES.TimelineElement.TimelineElementGetNaturalFramerateMethodInfo
ResolveEffectMethod "getNleobject" o = GES.TrackElement.TrackElementGetNleobjectMethodInfo
ResolveEffectMethod "getParent" o = GES.TimelineElement.TimelineElementGetParentMethodInfo
ResolveEffectMethod "getPriority" o = GES.TimelineElement.TimelineElementGetPriorityMethodInfo
ResolveEffectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveEffectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveEffectMethod "getStart" o = GES.TimelineElement.TimelineElementGetStartMethodInfo
ResolveEffectMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
ResolveEffectMethod "getTimeline" o = GES.TimelineElement.TimelineElementGetTimelineMethodInfo
ResolveEffectMethod "getToplevelParent" o = GES.TimelineElement.TimelineElementGetToplevelParentMethodInfo
ResolveEffectMethod "getTrack" o = GES.TrackElement.TrackElementGetTrackMethodInfo
ResolveEffectMethod "getTrackType" o = GES.TrackElement.TrackElementGetTrackTypeMethodInfo
ResolveEffectMethod "getTrackTypes" o = GES.TimelineElement.TimelineElementGetTrackTypesMethodInfo
ResolveEffectMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
ResolveEffectMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
ResolveEffectMethod "setActive" o = GES.TrackElement.TrackElementSetActiveMethodInfo
ResolveEffectMethod "setAsset" o = GES.Extractable.ExtractableSetAssetMethodInfo
ResolveEffectMethod "setAutoClampControlSources" o = GES.TrackElement.TrackElementSetAutoClampControlSourcesMethodInfo
ResolveEffectMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
ResolveEffectMethod "setChildProperty" o = GES.TimelineElement.TimelineElementSetChildPropertyMethodInfo
ResolveEffectMethod "setChildPropertyByPspec" o = GES.TimelineElement.TimelineElementSetChildPropertyByPspecMethodInfo
ResolveEffectMethod "setChildPropertyFull" o = GES.TimelineElement.TimelineElementSetChildPropertyFullMethodInfo
ResolveEffectMethod "setControlSource" o = GES.TrackElement.TrackElementSetControlSourceMethodInfo
ResolveEffectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveEffectMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveEffectMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
ResolveEffectMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
ResolveEffectMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
ResolveEffectMethod "setDuration" o = GES.TimelineElement.TimelineElementSetDurationMethodInfo
ResolveEffectMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
ResolveEffectMethod "setHasInternalSource" o = GES.TrackElement.TrackElementSetHasInternalSourceMethodInfo
ResolveEffectMethod "setInpoint" o = GES.TimelineElement.TimelineElementSetInpointMethodInfo
ResolveEffectMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
ResolveEffectMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
ResolveEffectMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
ResolveEffectMethod "setMaxDuration" o = GES.TimelineElement.TimelineElementSetMaxDurationMethodInfo
ResolveEffectMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
ResolveEffectMethod "setName" o = GES.TimelineElement.TimelineElementSetNameMethodInfo
ResolveEffectMethod "setParent" o = GES.TimelineElement.TimelineElementSetParentMethodInfo
ResolveEffectMethod "setPriority" o = GES.TimelineElement.TimelineElementSetPriorityMethodInfo
ResolveEffectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveEffectMethod "setStart" o = GES.TimelineElement.TimelineElementSetStartMethodInfo
ResolveEffectMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
ResolveEffectMethod "setTimeTranslationFuncs" o = GES.BaseEffect.BaseEffectSetTimeTranslationFuncsMethodInfo
ResolveEffectMethod "setTimeline" o = GES.TimelineElement.TimelineElementSetTimelineMethodInfo
ResolveEffectMethod "setTrackType" o = GES.TrackElement.TrackElementSetTrackTypeMethodInfo
ResolveEffectMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
ResolveEffectMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
ResolveEffectMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEffectMethod t Effect, O.OverloadedMethod info Effect p) => OL.IsLabel t (Effect -> 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 ~ ResolveEffectMethod t Effect, O.OverloadedMethod info Effect p, R.HasField t Effect p) => R.HasField t Effect p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveEffectMethod t Effect, O.OverloadedMethodInfo info Effect) => OL.IsLabel t (O.MethodProxy info Effect) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getEffectBinDescription :: (MonadIO m, IsEffect o) => o -> m (Maybe T.Text)
getEffectBinDescription :: forall (m :: * -> *) o.
(MonadIO m, IsEffect o) =>
o -> m (Maybe Text)
getEffectBinDescription 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
"bin-description"
constructEffectBinDescription :: (IsEffect o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructEffectBinDescription :: forall o (m :: * -> *).
(IsEffect o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructEffectBinDescription 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
"bin-description" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data EffectBinDescriptionPropertyInfo
instance AttrInfo EffectBinDescriptionPropertyInfo where
type AttrAllowedOps EffectBinDescriptionPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint EffectBinDescriptionPropertyInfo = IsEffect
type AttrSetTypeConstraint EffectBinDescriptionPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint EffectBinDescriptionPropertyInfo = (~) T.Text
type AttrTransferType EffectBinDescriptionPropertyInfo = T.Text
type AttrGetType EffectBinDescriptionPropertyInfo = (Maybe T.Text)
type AttrLabel EffectBinDescriptionPropertyInfo = "bin-description"
type AttrOrigin EffectBinDescriptionPropertyInfo = Effect
attrGet = getEffectBinDescription
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructEffectBinDescription
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Effect.binDescription"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.2/docs/GI-GES-Objects-Effect.html#g:attr:binDescription"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Effect
type instance O.AttributeList Effect = EffectAttributeList
type EffectAttributeList = ('[ '("active", GES.TrackElement.TrackElementActivePropertyInfo), '("autoClampControlSources", GES.TrackElement.TrackElementAutoClampControlSourcesPropertyInfo), '("binDescription", EffectBinDescriptionPropertyInfo), '("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, *)])
#endif
#if defined(ENABLE_OVERLOADING)
effectBinDescription :: AttrLabelProxy "binDescription"
effectBinDescription = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Effect = EffectSignalList
type EffectSignalList = ('[ '("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, *)])
#endif
foreign import ccall "ges_effect_new" ges_effect_new ::
CString ->
IO (Ptr Effect)
effectNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe Effect)
effectNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> m (Maybe Effect)
effectNew Text
binDescription = IO (Maybe Effect) -> m (Maybe Effect)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Effect) -> m (Maybe Effect))
-> IO (Maybe Effect) -> m (Maybe Effect)
forall a b. (a -> b) -> a -> b
$ do
CString
binDescription' <- Text -> IO CString
textToCString Text
binDescription
Ptr Effect
result <- CString -> IO (Ptr Effect)
ges_effect_new CString
binDescription'
Maybe Effect
maybeResult <- Ptr Effect -> (Ptr Effect -> IO Effect) -> IO (Maybe Effect)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Effect
result ((Ptr Effect -> IO Effect) -> IO (Maybe Effect))
-> (Ptr Effect -> IO Effect) -> IO (Maybe Effect)
forall a b. (a -> b) -> a -> b
$ \Ptr Effect
result' -> do
Effect
result'' <- ((ManagedPtr Effect -> Effect) -> Ptr Effect -> IO Effect
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Effect -> Effect
Effect) Ptr Effect
result'
Effect -> IO Effect
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Effect
result''
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
binDescription'
Maybe Effect -> IO (Maybe Effect)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Effect
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif