{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GES.Objects.EffectAsset
(
EffectAsset(..) ,
IsEffectAsset ,
toEffectAsset ,
#if defined(ENABLE_OVERLOADING)
ResolveEffectAssetMethod ,
#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.MetaContainer as GES.MetaContainer
import {-# SOURCE #-} qualified GI.GES.Objects.Asset as GES.Asset
import {-# SOURCE #-} qualified GI.GES.Objects.TrackElementAsset as GES.TrackElementAsset
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Interfaces.AsyncInitable as Gio.AsyncInitable
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
newtype EffectAsset = EffectAsset (SP.ManagedPtr EffectAsset)
deriving (EffectAsset -> EffectAsset -> Bool
(EffectAsset -> EffectAsset -> Bool)
-> (EffectAsset -> EffectAsset -> Bool) -> Eq EffectAsset
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EffectAsset -> EffectAsset -> Bool
== :: EffectAsset -> EffectAsset -> Bool
$c/= :: EffectAsset -> EffectAsset -> Bool
/= :: EffectAsset -> EffectAsset -> Bool
Eq)
instance SP.ManagedPtrNewtype EffectAsset where
toManagedPtr :: EffectAsset -> ManagedPtr EffectAsset
toManagedPtr (EffectAsset ManagedPtr EffectAsset
p) = ManagedPtr EffectAsset
p
foreign import ccall "ges_effect_asset_get_type"
c_ges_effect_asset_get_type :: IO B.Types.GType
instance B.Types.TypedObject EffectAsset where
glibType :: IO GType
glibType = IO GType
c_ges_effect_asset_get_type
instance B.Types.GObject EffectAsset
class (SP.GObject o, O.IsDescendantOf EffectAsset o) => IsEffectAsset o
instance (SP.GObject o, O.IsDescendantOf EffectAsset o) => IsEffectAsset o
instance O.HasParentTypes EffectAsset
type instance O.ParentTypes EffectAsset = '[GES.TrackElementAsset.TrackElementAsset, GES.Asset.Asset, GObject.Object.Object, GES.MetaContainer.MetaContainer, Gio.AsyncInitable.AsyncInitable, Gio.Initable.Initable]
toEffectAsset :: (MIO.MonadIO m, IsEffectAsset o) => o -> m EffectAsset
toEffectAsset :: forall (m :: * -> *) o.
(MonadIO m, IsEffectAsset o) =>
o -> m EffectAsset
toEffectAsset = IO EffectAsset -> m EffectAsset
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO EffectAsset -> m EffectAsset)
-> (o -> IO EffectAsset) -> o -> m EffectAsset
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr EffectAsset -> EffectAsset) -> o -> IO EffectAsset
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr EffectAsset -> EffectAsset
EffectAsset
instance B.GValue.IsGValue (Maybe EffectAsset) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_effect_asset_get_type
gvalueSet_ :: Ptr GValue -> Maybe EffectAsset -> IO ()
gvalueSet_ Ptr GValue
gv Maybe EffectAsset
P.Nothing = Ptr GValue -> Ptr EffectAsset -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr EffectAsset
forall a. Ptr a
FP.nullPtr :: FP.Ptr EffectAsset)
gvalueSet_ Ptr GValue
gv (P.Just EffectAsset
obj) = EffectAsset -> (Ptr EffectAsset -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr EffectAsset
obj (Ptr GValue -> Ptr EffectAsset -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe EffectAsset)
gvalueGet_ Ptr GValue
gv = do
Ptr EffectAsset
ptr <- Ptr GValue -> IO (Ptr EffectAsset)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr EffectAsset)
if Ptr EffectAsset
ptr Ptr EffectAsset -> Ptr EffectAsset -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr EffectAsset
forall a. Ptr a
FP.nullPtr
then EffectAsset -> Maybe EffectAsset
forall a. a -> Maybe a
P.Just (EffectAsset -> Maybe EffectAsset)
-> IO EffectAsset -> IO (Maybe EffectAsset)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr EffectAsset -> EffectAsset)
-> Ptr EffectAsset -> IO EffectAsset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr EffectAsset -> EffectAsset
EffectAsset Ptr EffectAsset
ptr
else Maybe EffectAsset -> IO (Maybe EffectAsset)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe EffectAsset
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveEffectAssetMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveEffectAssetMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
ResolveEffectAssetMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveEffectAssetMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveEffectAssetMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
ResolveEffectAssetMethod "extract" o = GES.Asset.AssetExtractMethodInfo
ResolveEffectAssetMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveEffectAssetMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
ResolveEffectAssetMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveEffectAssetMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveEffectAssetMethod "init" o = Gio.Initable.InitableInitMethodInfo
ResolveEffectAssetMethod "initAsync" o = Gio.AsyncInitable.AsyncInitableInitAsyncMethodInfo
ResolveEffectAssetMethod "initFinish" o = Gio.AsyncInitable.AsyncInitableInitFinishMethodInfo
ResolveEffectAssetMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveEffectAssetMethod "listProxies" o = GES.Asset.AssetListProxiesMethodInfo
ResolveEffectAssetMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
ResolveEffectAssetMethod "newFinish" o = Gio.AsyncInitable.AsyncInitableNewFinishMethodInfo
ResolveEffectAssetMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveEffectAssetMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveEffectAssetMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveEffectAssetMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveEffectAssetMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
ResolveEffectAssetMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
ResolveEffectAssetMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
ResolveEffectAssetMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
ResolveEffectAssetMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
ResolveEffectAssetMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
ResolveEffectAssetMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
ResolveEffectAssetMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
ResolveEffectAssetMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
ResolveEffectAssetMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
ResolveEffectAssetMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
ResolveEffectAssetMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
ResolveEffectAssetMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveEffectAssetMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveEffectAssetMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveEffectAssetMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveEffectAssetMethod "unproxy" o = GES.Asset.AssetUnproxyMethodInfo
ResolveEffectAssetMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveEffectAssetMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveEffectAssetMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
ResolveEffectAssetMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveEffectAssetMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
ResolveEffectAssetMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
ResolveEffectAssetMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
ResolveEffectAssetMethod "getError" o = GES.Asset.AssetGetErrorMethodInfo
ResolveEffectAssetMethod "getExtractableType" o = GES.Asset.AssetGetExtractableTypeMethodInfo
ResolveEffectAssetMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
ResolveEffectAssetMethod "getId" o = GES.Asset.AssetGetIdMethodInfo
ResolveEffectAssetMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
ResolveEffectAssetMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
ResolveEffectAssetMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
ResolveEffectAssetMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
ResolveEffectAssetMethod "getNaturalFramerate" o = GES.TrackElementAsset.TrackElementAssetGetNaturalFramerateMethodInfo
ResolveEffectAssetMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveEffectAssetMethod "getProxy" o = GES.Asset.AssetGetProxyMethodInfo
ResolveEffectAssetMethod "getProxyTarget" o = GES.Asset.AssetGetProxyTargetMethodInfo
ResolveEffectAssetMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveEffectAssetMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
ResolveEffectAssetMethod "getTrackType" o = GES.TrackElementAsset.TrackElementAssetGetTrackTypeMethodInfo
ResolveEffectAssetMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
ResolveEffectAssetMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
ResolveEffectAssetMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
ResolveEffectAssetMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveEffectAssetMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveEffectAssetMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
ResolveEffectAssetMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
ResolveEffectAssetMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
ResolveEffectAssetMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
ResolveEffectAssetMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
ResolveEffectAssetMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
ResolveEffectAssetMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
ResolveEffectAssetMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
ResolveEffectAssetMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveEffectAssetMethod "setProxy" o = GES.Asset.AssetSetProxyMethodInfo
ResolveEffectAssetMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
ResolveEffectAssetMethod "setTrackType" o = GES.TrackElementAsset.TrackElementAssetSetTrackTypeMethodInfo
ResolveEffectAssetMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
ResolveEffectAssetMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
ResolveEffectAssetMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEffectAssetMethod t EffectAsset, O.OverloadedMethod info EffectAsset p) => OL.IsLabel t (EffectAsset -> 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 ~ ResolveEffectAssetMethod t EffectAsset, O.OverloadedMethod info EffectAsset p, R.HasField t EffectAsset p) => R.HasField t EffectAsset p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveEffectAssetMethod t EffectAsset, O.OverloadedMethodInfo info EffectAsset) => OL.IsLabel t (O.MethodProxy info EffectAsset) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList EffectAsset
type instance O.AttributeList EffectAsset = EffectAssetAttributeList
type EffectAssetAttributeList = ('[ '("extractableType", GES.Asset.AssetExtractableTypePropertyInfo), '("id", GES.Asset.AssetIdPropertyInfo), '("proxy", GES.Asset.AssetProxyPropertyInfo), '("proxyTarget", GES.Asset.AssetProxyTargetPropertyInfo), '("trackType", GES.TrackElementAsset.TrackElementAssetTrackTypePropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList EffectAsset = EffectAssetSignalList
type EffectAssetSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("notifyMeta", GES.MetaContainer.MetaContainerNotifyMetaSignalInfo)] :: [(Symbol, DK.Type)])
#endif