{-# LANGUAGE ImplicitParams, RankNTypes, TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GES.Objects.Project
(
Project(..) ,
IsProject ,
toProject ,
#if defined(ENABLE_OVERLOADING)
ResolveProjectMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ProjectAddAssetMethodInfo ,
#endif
projectAddAsset ,
#if defined(ENABLE_OVERLOADING)
ProjectAddEncodingProfileMethodInfo ,
#endif
projectAddEncodingProfile ,
#if defined(ENABLE_OVERLOADING)
ProjectAddFormatterMethodInfo ,
#endif
projectAddFormatter ,
#if defined(ENABLE_OVERLOADING)
ProjectCreateAssetMethodInfo ,
#endif
projectCreateAsset ,
#if defined(ENABLE_OVERLOADING)
ProjectCreateAssetSyncMethodInfo ,
#endif
projectCreateAssetSync ,
#if defined(ENABLE_OVERLOADING)
ProjectGetAssetMethodInfo ,
#endif
projectGetAsset ,
#if defined(ENABLE_OVERLOADING)
ProjectGetLoadingAssetsMethodInfo ,
#endif
projectGetLoadingAssets ,
#if defined(ENABLE_OVERLOADING)
ProjectGetUriMethodInfo ,
#endif
projectGetUri ,
#if defined(ENABLE_OVERLOADING)
ProjectListAssetsMethodInfo ,
#endif
projectListAssets ,
#if defined(ENABLE_OVERLOADING)
ProjectListEncodingProfilesMethodInfo ,
#endif
projectListEncodingProfiles ,
#if defined(ENABLE_OVERLOADING)
ProjectLoadMethodInfo ,
#endif
projectLoad ,
projectNew ,
#if defined(ENABLE_OVERLOADING)
ProjectRemoveAssetMethodInfo ,
#endif
projectRemoveAsset ,
#if defined(ENABLE_OVERLOADING)
ProjectSaveMethodInfo ,
#endif
projectSave ,
#if defined(ENABLE_OVERLOADING)
ProjectUriPropertyInfo ,
#endif
constructProjectUri ,
getProjectUri ,
#if defined(ENABLE_OVERLOADING)
projectUri ,
#endif
ProjectAssetAddedCallback ,
#if defined(ENABLE_OVERLOADING)
ProjectAssetAddedSignalInfo ,
#endif
afterProjectAssetAdded ,
onProjectAssetAdded ,
ProjectAssetLoadingCallback ,
#if defined(ENABLE_OVERLOADING)
ProjectAssetLoadingSignalInfo ,
#endif
afterProjectAssetLoading ,
onProjectAssetLoading ,
ProjectAssetRemovedCallback ,
#if defined(ENABLE_OVERLOADING)
ProjectAssetRemovedSignalInfo ,
#endif
afterProjectAssetRemoved ,
onProjectAssetRemoved ,
ProjectErrorLoadingCallback ,
#if defined(ENABLE_OVERLOADING)
ProjectErrorLoadingSignalInfo ,
#endif
afterProjectErrorLoading ,
onProjectErrorLoading ,
ProjectErrorLoadingAssetCallback ,
#if defined(ENABLE_OVERLOADING)
ProjectErrorLoadingAssetSignalInfo ,
#endif
afterProjectErrorLoadingAsset ,
onProjectErrorLoadingAsset ,
ProjectLoadedCallback ,
#if defined(ENABLE_OVERLOADING)
ProjectLoadedSignalInfo ,
#endif
afterProjectLoaded ,
onProjectLoaded ,
ProjectLoadingCallback ,
#if defined(ENABLE_OVERLOADING)
ProjectLoadingSignalInfo ,
#endif
afterProjectLoading ,
onProjectLoading ,
ProjectMissingUriCallback ,
#if defined(ENABLE_OVERLOADING)
ProjectMissingUriSignalInfo ,
#endif
afterProjectMissingUri ,
onProjectMissingUri ,
) 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.Formatter as GES.Formatter
import {-# SOURCE #-} qualified GI.GES.Objects.Timeline as GES.Timeline
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
import qualified GI.GstPbutils.Objects.EncodingProfile as GstPbutils.EncodingProfile
newtype Project = Project (SP.ManagedPtr Project)
deriving (Project -> Project -> Bool
(Project -> Project -> Bool)
-> (Project -> Project -> Bool) -> Eq Project
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Project -> Project -> Bool
== :: Project -> Project -> Bool
$c/= :: Project -> Project -> Bool
/= :: Project -> Project -> Bool
Eq)
instance SP.ManagedPtrNewtype Project where
toManagedPtr :: Project -> ManagedPtr Project
toManagedPtr (Project ManagedPtr Project
p) = ManagedPtr Project
p
foreign import ccall "ges_project_get_type"
c_ges_project_get_type :: IO B.Types.GType
instance B.Types.TypedObject Project where
glibType :: IO GType
glibType = IO GType
c_ges_project_get_type
instance B.Types.GObject Project
class (SP.GObject o, O.IsDescendantOf Project o) => IsProject o
instance (SP.GObject o, O.IsDescendantOf Project o) => IsProject o
instance O.HasParentTypes Project
type instance O.ParentTypes Project = '[GES.Asset.Asset, GObject.Object.Object, GES.MetaContainer.MetaContainer, Gio.AsyncInitable.AsyncInitable, Gio.Initable.Initable]
toProject :: (MIO.MonadIO m, IsProject o) => o -> m Project
toProject :: forall (m :: * -> *) o. (MonadIO m, IsProject o) => o -> m Project
toProject = IO Project -> m Project
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Project -> m Project) -> (o -> IO Project) -> o -> m Project
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Project -> Project) -> o -> IO Project
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Project -> Project
Project
instance B.GValue.IsGValue (Maybe Project) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_project_get_type
gvalueSet_ :: Ptr GValue -> Maybe Project -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Project
P.Nothing = Ptr GValue -> Ptr Project -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Project
forall a. Ptr a
FP.nullPtr :: FP.Ptr Project)
gvalueSet_ Ptr GValue
gv (P.Just Project
obj) = Project -> (Ptr Project -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Project
obj (Ptr GValue -> Ptr Project -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Project)
gvalueGet_ Ptr GValue
gv = do
Ptr Project
ptr <- Ptr GValue -> IO (Ptr Project)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Project)
if Ptr Project
ptr Ptr Project -> Ptr Project -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Project
forall a. Ptr a
FP.nullPtr
then Project -> Maybe Project
forall a. a -> Maybe a
P.Just (Project -> Maybe Project) -> IO Project -> IO (Maybe Project)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Project -> Project) -> Ptr Project -> IO Project
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Project -> Project
Project Ptr Project
ptr
else Maybe Project -> IO (Maybe Project)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Project
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveProjectMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveProjectMethod "addAsset" o = ProjectAddAssetMethodInfo
ResolveProjectMethod "addEncodingProfile" o = ProjectAddEncodingProfileMethodInfo
ResolveProjectMethod "addFormatter" o = ProjectAddFormatterMethodInfo
ResolveProjectMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
ResolveProjectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveProjectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveProjectMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
ResolveProjectMethod "createAsset" o = ProjectCreateAssetMethodInfo
ResolveProjectMethod "createAssetSync" o = ProjectCreateAssetSyncMethodInfo
ResolveProjectMethod "extract" o = GES.Asset.AssetExtractMethodInfo
ResolveProjectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveProjectMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
ResolveProjectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveProjectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveProjectMethod "init" o = Gio.Initable.InitableInitMethodInfo
ResolveProjectMethod "initAsync" o = Gio.AsyncInitable.AsyncInitableInitAsyncMethodInfo
ResolveProjectMethod "initFinish" o = Gio.AsyncInitable.AsyncInitableInitFinishMethodInfo
ResolveProjectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveProjectMethod "listAssets" o = ProjectListAssetsMethodInfo
ResolveProjectMethod "listEncodingProfiles" o = ProjectListEncodingProfilesMethodInfo
ResolveProjectMethod "listProxies" o = GES.Asset.AssetListProxiesMethodInfo
ResolveProjectMethod "load" o = ProjectLoadMethodInfo
ResolveProjectMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
ResolveProjectMethod "newFinish" o = Gio.AsyncInitable.AsyncInitableNewFinishMethodInfo
ResolveProjectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveProjectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveProjectMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveProjectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveProjectMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
ResolveProjectMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
ResolveProjectMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
ResolveProjectMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
ResolveProjectMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
ResolveProjectMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
ResolveProjectMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
ResolveProjectMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
ResolveProjectMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
ResolveProjectMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
ResolveProjectMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
ResolveProjectMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
ResolveProjectMethod "removeAsset" o = ProjectRemoveAssetMethodInfo
ResolveProjectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveProjectMethod "save" o = ProjectSaveMethodInfo
ResolveProjectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveProjectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveProjectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveProjectMethod "unproxy" o = GES.Asset.AssetUnproxyMethodInfo
ResolveProjectMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveProjectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveProjectMethod "getAsset" o = ProjectGetAssetMethodInfo
ResolveProjectMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
ResolveProjectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveProjectMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
ResolveProjectMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
ResolveProjectMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
ResolveProjectMethod "getError" o = GES.Asset.AssetGetErrorMethodInfo
ResolveProjectMethod "getExtractableType" o = GES.Asset.AssetGetExtractableTypeMethodInfo
ResolveProjectMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
ResolveProjectMethod "getId" o = GES.Asset.AssetGetIdMethodInfo
ResolveProjectMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
ResolveProjectMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
ResolveProjectMethod "getLoadingAssets" o = ProjectGetLoadingAssetsMethodInfo
ResolveProjectMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
ResolveProjectMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
ResolveProjectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveProjectMethod "getProxy" o = GES.Asset.AssetGetProxyMethodInfo
ResolveProjectMethod "getProxyTarget" o = GES.Asset.AssetGetProxyTargetMethodInfo
ResolveProjectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveProjectMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
ResolveProjectMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
ResolveProjectMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
ResolveProjectMethod "getUri" o = ProjectGetUriMethodInfo
ResolveProjectMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
ResolveProjectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveProjectMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveProjectMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
ResolveProjectMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
ResolveProjectMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
ResolveProjectMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
ResolveProjectMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
ResolveProjectMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
ResolveProjectMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
ResolveProjectMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
ResolveProjectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveProjectMethod "setProxy" o = GES.Asset.AssetSetProxyMethodInfo
ResolveProjectMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
ResolveProjectMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
ResolveProjectMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
ResolveProjectMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveProjectMethod t Project, O.OverloadedMethod info Project p) => OL.IsLabel t (Project -> 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 ~ ResolveProjectMethod t Project, O.OverloadedMethod info Project p, R.HasField t Project p) => R.HasField t Project p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveProjectMethod t Project, O.OverloadedMethodInfo info Project) => OL.IsLabel t (O.MethodProxy info Project) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
type ProjectAssetAddedCallback =
GES.Asset.Asset
-> IO ()
type C_ProjectAssetAddedCallback =
Ptr Project ->
Ptr GES.Asset.Asset ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ProjectAssetAddedCallback :: C_ProjectAssetAddedCallback -> IO (FunPtr C_ProjectAssetAddedCallback)
wrap_ProjectAssetAddedCallback ::
GObject a => (a -> ProjectAssetAddedCallback) ->
C_ProjectAssetAddedCallback
wrap_ProjectAssetAddedCallback :: forall a.
GObject a =>
(a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
wrap_ProjectAssetAddedCallback a -> ProjectAssetAddedCallback
gi'cb Ptr Project
gi'selfPtr Ptr Asset
asset Ptr ()
_ = do
Asset
asset' <- ((ManagedPtr Asset -> Asset) -> Ptr Asset -> IO Asset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Asset -> Asset
GES.Asset.Asset) Ptr Asset
asset
Ptr Project -> (Project -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr ((Project -> IO ()) -> IO ()) -> (Project -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectAssetAddedCallback
gi'cb (Project -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Project
gi'self) Asset
asset'
onProjectAssetAdded :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectAssetAddedCallback) -> m SignalHandlerId
onProjectAssetAdded :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectAssetAddedCallback) -> m SignalHandlerId
onProjectAssetAdded a
obj (?self::a) => ProjectAssetAddedCallback
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 -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectAssetAddedCallback
ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = (a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
forall a.
GObject a =>
(a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
wrap_ProjectAssetAddedCallback a -> ProjectAssetAddedCallback
wrapped
FunPtr C_ProjectAssetAddedCallback
wrapped'' <- C_ProjectAssetAddedCallback
-> IO (FunPtr C_ProjectAssetAddedCallback)
mk_ProjectAssetAddedCallback C_ProjectAssetAddedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectAssetAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"asset-added" FunPtr C_ProjectAssetAddedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterProjectAssetAdded :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectAssetAddedCallback) -> m SignalHandlerId
afterProjectAssetAdded :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectAssetAddedCallback) -> m SignalHandlerId
afterProjectAssetAdded a
obj (?self::a) => ProjectAssetAddedCallback
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 -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectAssetAddedCallback
ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = (a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
forall a.
GObject a =>
(a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
wrap_ProjectAssetAddedCallback a -> ProjectAssetAddedCallback
wrapped
FunPtr C_ProjectAssetAddedCallback
wrapped'' <- C_ProjectAssetAddedCallback
-> IO (FunPtr C_ProjectAssetAddedCallback)
mk_ProjectAssetAddedCallback C_ProjectAssetAddedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectAssetAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"asset-added" FunPtr C_ProjectAssetAddedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ProjectAssetAddedSignalInfo
instance SignalInfo ProjectAssetAddedSignalInfo where
type HaskellCallbackType ProjectAssetAddedSignalInfo = ProjectAssetAddedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ProjectAssetAddedCallback cb
cb'' <- mk_ProjectAssetAddedCallback cb'
connectSignalFunPtr obj "asset-added" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project::asset-added"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#g:signal:assetAdded"})
#endif
type ProjectAssetLoadingCallback =
GES.Asset.Asset
-> IO ()
type C_ProjectAssetLoadingCallback =
Ptr Project ->
Ptr GES.Asset.Asset ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ProjectAssetLoadingCallback :: C_ProjectAssetLoadingCallback -> IO (FunPtr C_ProjectAssetLoadingCallback)
wrap_ProjectAssetLoadingCallback ::
GObject a => (a -> ProjectAssetLoadingCallback) ->
C_ProjectAssetLoadingCallback
wrap_ProjectAssetLoadingCallback :: forall a.
GObject a =>
(a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
wrap_ProjectAssetLoadingCallback a -> ProjectAssetAddedCallback
gi'cb Ptr Project
gi'selfPtr Ptr Asset
asset Ptr ()
_ = do
Asset
asset' <- ((ManagedPtr Asset -> Asset) -> Ptr Asset -> IO Asset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Asset -> Asset
GES.Asset.Asset) Ptr Asset
asset
Ptr Project -> (Project -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr ((Project -> IO ()) -> IO ()) -> (Project -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectAssetAddedCallback
gi'cb (Project -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Project
gi'self) Asset
asset'
onProjectAssetLoading :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectAssetLoadingCallback) -> m SignalHandlerId
onProjectAssetLoading :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectAssetAddedCallback) -> m SignalHandlerId
onProjectAssetLoading a
obj (?self::a) => ProjectAssetAddedCallback
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 -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectAssetAddedCallback
ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = (a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
forall a.
GObject a =>
(a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
wrap_ProjectAssetLoadingCallback a -> ProjectAssetAddedCallback
wrapped
FunPtr C_ProjectAssetAddedCallback
wrapped'' <- C_ProjectAssetAddedCallback
-> IO (FunPtr C_ProjectAssetAddedCallback)
mk_ProjectAssetLoadingCallback C_ProjectAssetAddedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectAssetAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"asset-loading" FunPtr C_ProjectAssetAddedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterProjectAssetLoading :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectAssetLoadingCallback) -> m SignalHandlerId
afterProjectAssetLoading :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectAssetAddedCallback) -> m SignalHandlerId
afterProjectAssetLoading a
obj (?self::a) => ProjectAssetAddedCallback
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 -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectAssetAddedCallback
ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = (a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
forall a.
GObject a =>
(a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
wrap_ProjectAssetLoadingCallback a -> ProjectAssetAddedCallback
wrapped
FunPtr C_ProjectAssetAddedCallback
wrapped'' <- C_ProjectAssetAddedCallback
-> IO (FunPtr C_ProjectAssetAddedCallback)
mk_ProjectAssetLoadingCallback C_ProjectAssetAddedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectAssetAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"asset-loading" FunPtr C_ProjectAssetAddedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ProjectAssetLoadingSignalInfo
instance SignalInfo ProjectAssetLoadingSignalInfo where
type HaskellCallbackType ProjectAssetLoadingSignalInfo = ProjectAssetLoadingCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ProjectAssetLoadingCallback cb
cb'' <- mk_ProjectAssetLoadingCallback cb'
connectSignalFunPtr obj "asset-loading" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project::asset-loading"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#g:signal:assetLoading"})
#endif
type ProjectAssetRemovedCallback =
GES.Asset.Asset
-> IO ()
type C_ProjectAssetRemovedCallback =
Ptr Project ->
Ptr GES.Asset.Asset ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ProjectAssetRemovedCallback :: C_ProjectAssetRemovedCallback -> IO (FunPtr C_ProjectAssetRemovedCallback)
wrap_ProjectAssetRemovedCallback ::
GObject a => (a -> ProjectAssetRemovedCallback) ->
C_ProjectAssetRemovedCallback
wrap_ProjectAssetRemovedCallback :: forall a.
GObject a =>
(a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
wrap_ProjectAssetRemovedCallback a -> ProjectAssetAddedCallback
gi'cb Ptr Project
gi'selfPtr Ptr Asset
asset Ptr ()
_ = do
Asset
asset' <- ((ManagedPtr Asset -> Asset) -> Ptr Asset -> IO Asset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Asset -> Asset
GES.Asset.Asset) Ptr Asset
asset
Ptr Project -> (Project -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr ((Project -> IO ()) -> IO ()) -> (Project -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectAssetAddedCallback
gi'cb (Project -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Project
gi'self) Asset
asset'
onProjectAssetRemoved :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectAssetRemovedCallback) -> m SignalHandlerId
onProjectAssetRemoved :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectAssetAddedCallback) -> m SignalHandlerId
onProjectAssetRemoved a
obj (?self::a) => ProjectAssetAddedCallback
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 -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectAssetAddedCallback
ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = (a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
forall a.
GObject a =>
(a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
wrap_ProjectAssetRemovedCallback a -> ProjectAssetAddedCallback
wrapped
FunPtr C_ProjectAssetAddedCallback
wrapped'' <- C_ProjectAssetAddedCallback
-> IO (FunPtr C_ProjectAssetAddedCallback)
mk_ProjectAssetRemovedCallback C_ProjectAssetAddedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectAssetAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"asset-removed" FunPtr C_ProjectAssetAddedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterProjectAssetRemoved :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectAssetRemovedCallback) -> m SignalHandlerId
afterProjectAssetRemoved :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectAssetAddedCallback) -> m SignalHandlerId
afterProjectAssetRemoved a
obj (?self::a) => ProjectAssetAddedCallback
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 -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectAssetAddedCallback
ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = (a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
forall a.
GObject a =>
(a -> ProjectAssetAddedCallback) -> C_ProjectAssetAddedCallback
wrap_ProjectAssetRemovedCallback a -> ProjectAssetAddedCallback
wrapped
FunPtr C_ProjectAssetAddedCallback
wrapped'' <- C_ProjectAssetAddedCallback
-> IO (FunPtr C_ProjectAssetAddedCallback)
mk_ProjectAssetRemovedCallback C_ProjectAssetAddedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectAssetAddedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"asset-removed" FunPtr C_ProjectAssetAddedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ProjectAssetRemovedSignalInfo
instance SignalInfo ProjectAssetRemovedSignalInfo where
type HaskellCallbackType ProjectAssetRemovedSignalInfo = ProjectAssetRemovedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ProjectAssetRemovedCallback cb
cb'' <- mk_ProjectAssetRemovedCallback cb'
connectSignalFunPtr obj "asset-removed" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project::asset-removed"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#g:signal:assetRemoved"})
#endif
type ProjectErrorLoadingCallback =
GES.Timeline.Timeline
-> GError
-> IO ()
type C_ProjectErrorLoadingCallback =
Ptr Project ->
Ptr GES.Timeline.Timeline ->
Ptr GError ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ProjectErrorLoadingCallback :: C_ProjectErrorLoadingCallback -> IO (FunPtr C_ProjectErrorLoadingCallback)
wrap_ProjectErrorLoadingCallback ::
GObject a => (a -> ProjectErrorLoadingCallback) ->
C_ProjectErrorLoadingCallback
wrap_ProjectErrorLoadingCallback :: forall a.
GObject a =>
(a -> ProjectErrorLoadingCallback) -> C_ProjectErrorLoadingCallback
wrap_ProjectErrorLoadingCallback a -> ProjectErrorLoadingCallback
gi'cb Ptr Project
gi'selfPtr Ptr Timeline
timeline Ptr GError
error_ Ptr ()
_ = do
Timeline
timeline' <- ((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
timeline
GError
error_' <- ((ManagedPtr GError -> GError) -> Ptr GError -> IO GError
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr GError -> GError
GError) Ptr GError
error_
Ptr Project -> (Project -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr ((Project -> IO ()) -> IO ()) -> (Project -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectErrorLoadingCallback
gi'cb (Project -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Project
gi'self) Timeline
timeline' GError
error_'
onProjectErrorLoading :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectErrorLoadingCallback) -> m SignalHandlerId
onProjectErrorLoading :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a
-> ((?self::a) => ProjectErrorLoadingCallback) -> m SignalHandlerId
onProjectErrorLoading a
obj (?self::a) => ProjectErrorLoadingCallback
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 -> ProjectErrorLoadingCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectErrorLoadingCallback
ProjectErrorLoadingCallback
cb
let wrapped' :: C_ProjectErrorLoadingCallback
wrapped' = (a -> ProjectErrorLoadingCallback) -> C_ProjectErrorLoadingCallback
forall a.
GObject a =>
(a -> ProjectErrorLoadingCallback) -> C_ProjectErrorLoadingCallback
wrap_ProjectErrorLoadingCallback a -> ProjectErrorLoadingCallback
wrapped
FunPtr C_ProjectErrorLoadingCallback
wrapped'' <- C_ProjectErrorLoadingCallback
-> IO (FunPtr C_ProjectErrorLoadingCallback)
mk_ProjectErrorLoadingCallback C_ProjectErrorLoadingCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectErrorLoadingCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"error-loading" FunPtr C_ProjectErrorLoadingCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterProjectErrorLoading :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectErrorLoadingCallback) -> m SignalHandlerId
afterProjectErrorLoading :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a
-> ((?self::a) => ProjectErrorLoadingCallback) -> m SignalHandlerId
afterProjectErrorLoading a
obj (?self::a) => ProjectErrorLoadingCallback
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 -> ProjectErrorLoadingCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectErrorLoadingCallback
ProjectErrorLoadingCallback
cb
let wrapped' :: C_ProjectErrorLoadingCallback
wrapped' = (a -> ProjectErrorLoadingCallback) -> C_ProjectErrorLoadingCallback
forall a.
GObject a =>
(a -> ProjectErrorLoadingCallback) -> C_ProjectErrorLoadingCallback
wrap_ProjectErrorLoadingCallback a -> ProjectErrorLoadingCallback
wrapped
FunPtr C_ProjectErrorLoadingCallback
wrapped'' <- C_ProjectErrorLoadingCallback
-> IO (FunPtr C_ProjectErrorLoadingCallback)
mk_ProjectErrorLoadingCallback C_ProjectErrorLoadingCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectErrorLoadingCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"error-loading" FunPtr C_ProjectErrorLoadingCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ProjectErrorLoadingSignalInfo
instance SignalInfo ProjectErrorLoadingSignalInfo where
type HaskellCallbackType ProjectErrorLoadingSignalInfo = ProjectErrorLoadingCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ProjectErrorLoadingCallback cb
cb'' <- mk_ProjectErrorLoadingCallback cb'
connectSignalFunPtr obj "error-loading" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project::error-loading"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#g:signal:errorLoading"})
#endif
type ProjectErrorLoadingAssetCallback =
GError
-> T.Text
-> GType
-> IO ()
type C_ProjectErrorLoadingAssetCallback =
Ptr Project ->
Ptr GError ->
CString ->
CGType ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ProjectErrorLoadingAssetCallback :: C_ProjectErrorLoadingAssetCallback -> IO (FunPtr C_ProjectErrorLoadingAssetCallback)
wrap_ProjectErrorLoadingAssetCallback ::
GObject a => (a -> ProjectErrorLoadingAssetCallback) ->
C_ProjectErrorLoadingAssetCallback
wrap_ProjectErrorLoadingAssetCallback :: forall a.
GObject a =>
(a -> ProjectErrorLoadingAssetCallback)
-> C_ProjectErrorLoadingAssetCallback
wrap_ProjectErrorLoadingAssetCallback a -> ProjectErrorLoadingAssetCallback
gi'cb Ptr Project
gi'selfPtr Ptr GError
error_ CString
id CGType
extractableType Ptr ()
_ = do
GError
error_' <- ((ManagedPtr GError -> GError) -> Ptr GError -> IO GError
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr GError -> GError
GError) Ptr GError
error_
Text
id' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
id
let extractableType' :: GType
extractableType' = CGType -> GType
GType CGType
extractableType
Ptr Project -> (Project -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr ((Project -> IO ()) -> IO ()) -> (Project -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectErrorLoadingAssetCallback
gi'cb (Project -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Project
gi'self) GError
error_' Text
id' GType
extractableType'
onProjectErrorLoadingAsset :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectErrorLoadingAssetCallback) -> m SignalHandlerId
onProjectErrorLoadingAsset :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a
-> ((?self::a) => ProjectErrorLoadingAssetCallback)
-> m SignalHandlerId
onProjectErrorLoadingAsset a
obj (?self::a) => ProjectErrorLoadingAssetCallback
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 -> ProjectErrorLoadingAssetCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectErrorLoadingAssetCallback
ProjectErrorLoadingAssetCallback
cb
let wrapped' :: C_ProjectErrorLoadingAssetCallback
wrapped' = (a -> ProjectErrorLoadingAssetCallback)
-> C_ProjectErrorLoadingAssetCallback
forall a.
GObject a =>
(a -> ProjectErrorLoadingAssetCallback)
-> C_ProjectErrorLoadingAssetCallback
wrap_ProjectErrorLoadingAssetCallback a -> ProjectErrorLoadingAssetCallback
wrapped
FunPtr C_ProjectErrorLoadingAssetCallback
wrapped'' <- C_ProjectErrorLoadingAssetCallback
-> IO (FunPtr C_ProjectErrorLoadingAssetCallback)
mk_ProjectErrorLoadingAssetCallback C_ProjectErrorLoadingAssetCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectErrorLoadingAssetCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"error-loading-asset" FunPtr C_ProjectErrorLoadingAssetCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterProjectErrorLoadingAsset :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectErrorLoadingAssetCallback) -> m SignalHandlerId
afterProjectErrorLoadingAsset :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a
-> ((?self::a) => ProjectErrorLoadingAssetCallback)
-> m SignalHandlerId
afterProjectErrorLoadingAsset a
obj (?self::a) => ProjectErrorLoadingAssetCallback
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 -> ProjectErrorLoadingAssetCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectErrorLoadingAssetCallback
ProjectErrorLoadingAssetCallback
cb
let wrapped' :: C_ProjectErrorLoadingAssetCallback
wrapped' = (a -> ProjectErrorLoadingAssetCallback)
-> C_ProjectErrorLoadingAssetCallback
forall a.
GObject a =>
(a -> ProjectErrorLoadingAssetCallback)
-> C_ProjectErrorLoadingAssetCallback
wrap_ProjectErrorLoadingAssetCallback a -> ProjectErrorLoadingAssetCallback
wrapped
FunPtr C_ProjectErrorLoadingAssetCallback
wrapped'' <- C_ProjectErrorLoadingAssetCallback
-> IO (FunPtr C_ProjectErrorLoadingAssetCallback)
mk_ProjectErrorLoadingAssetCallback C_ProjectErrorLoadingAssetCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectErrorLoadingAssetCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"error-loading-asset" FunPtr C_ProjectErrorLoadingAssetCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ProjectErrorLoadingAssetSignalInfo
instance SignalInfo ProjectErrorLoadingAssetSignalInfo where
type HaskellCallbackType ProjectErrorLoadingAssetSignalInfo = ProjectErrorLoadingAssetCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ProjectErrorLoadingAssetCallback cb
cb'' <- mk_ProjectErrorLoadingAssetCallback cb'
connectSignalFunPtr obj "error-loading-asset" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project::error-loading-asset"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#g:signal:errorLoadingAsset"})
#endif
type ProjectLoadedCallback =
GES.Timeline.Timeline
-> IO ()
type C_ProjectLoadedCallback =
Ptr Project ->
Ptr GES.Timeline.Timeline ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ProjectLoadedCallback :: C_ProjectLoadedCallback -> IO (FunPtr C_ProjectLoadedCallback)
wrap_ProjectLoadedCallback ::
GObject a => (a -> ProjectLoadedCallback) ->
C_ProjectLoadedCallback
wrap_ProjectLoadedCallback :: forall a.
GObject a =>
(a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
wrap_ProjectLoadedCallback a -> ProjectLoadedCallback
gi'cb Ptr Project
gi'selfPtr Ptr Timeline
timeline Ptr ()
_ = do
Timeline
timeline' <- ((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
timeline
Ptr Project -> (Project -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr ((Project -> IO ()) -> IO ()) -> (Project -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectLoadedCallback
gi'cb (Project -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Project
gi'self) Timeline
timeline'
onProjectLoaded :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectLoadedCallback) -> m SignalHandlerId
onProjectLoaded :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectLoadedCallback) -> m SignalHandlerId
onProjectLoaded a
obj (?self::a) => ProjectLoadedCallback
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 -> ProjectLoadedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectLoadedCallback
ProjectLoadedCallback
cb
let wrapped' :: C_ProjectLoadedCallback
wrapped' = (a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
forall a.
GObject a =>
(a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
wrap_ProjectLoadedCallback a -> ProjectLoadedCallback
wrapped
FunPtr C_ProjectLoadedCallback
wrapped'' <- C_ProjectLoadedCallback -> IO (FunPtr C_ProjectLoadedCallback)
mk_ProjectLoadedCallback C_ProjectLoadedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectLoadedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"loaded" FunPtr C_ProjectLoadedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterProjectLoaded :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectLoadedCallback) -> m SignalHandlerId
afterProjectLoaded :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectLoadedCallback) -> m SignalHandlerId
afterProjectLoaded a
obj (?self::a) => ProjectLoadedCallback
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 -> ProjectLoadedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectLoadedCallback
ProjectLoadedCallback
cb
let wrapped' :: C_ProjectLoadedCallback
wrapped' = (a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
forall a.
GObject a =>
(a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
wrap_ProjectLoadedCallback a -> ProjectLoadedCallback
wrapped
FunPtr C_ProjectLoadedCallback
wrapped'' <- C_ProjectLoadedCallback -> IO (FunPtr C_ProjectLoadedCallback)
mk_ProjectLoadedCallback C_ProjectLoadedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectLoadedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"loaded" FunPtr C_ProjectLoadedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ProjectLoadedSignalInfo
instance SignalInfo ProjectLoadedSignalInfo where
type HaskellCallbackType ProjectLoadedSignalInfo = ProjectLoadedCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ProjectLoadedCallback cb
cb'' <- mk_ProjectLoadedCallback cb'
connectSignalFunPtr obj "loaded" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project::loaded"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#g:signal:loaded"})
#endif
type ProjectLoadingCallback =
GES.Timeline.Timeline
-> IO ()
type C_ProjectLoadingCallback =
Ptr Project ->
Ptr GES.Timeline.Timeline ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ProjectLoadingCallback :: C_ProjectLoadingCallback -> IO (FunPtr C_ProjectLoadingCallback)
wrap_ProjectLoadingCallback ::
GObject a => (a -> ProjectLoadingCallback) ->
C_ProjectLoadingCallback
wrap_ProjectLoadingCallback :: forall a.
GObject a =>
(a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
wrap_ProjectLoadingCallback a -> ProjectLoadedCallback
gi'cb Ptr Project
gi'selfPtr Ptr Timeline
timeline Ptr ()
_ = do
Timeline
timeline' <- ((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
timeline
Ptr Project -> (Project -> IO ()) -> IO ()
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr ((Project -> IO ()) -> IO ()) -> (Project -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectLoadedCallback
gi'cb (Project -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Project
gi'self) Timeline
timeline'
onProjectLoading :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectLoadingCallback) -> m SignalHandlerId
onProjectLoading :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectLoadedCallback) -> m SignalHandlerId
onProjectLoading a
obj (?self::a) => ProjectLoadedCallback
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 -> ProjectLoadedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectLoadedCallback
ProjectLoadedCallback
cb
let wrapped' :: C_ProjectLoadedCallback
wrapped' = (a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
forall a.
GObject a =>
(a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
wrap_ProjectLoadingCallback a -> ProjectLoadedCallback
wrapped
FunPtr C_ProjectLoadedCallback
wrapped'' <- C_ProjectLoadedCallback -> IO (FunPtr C_ProjectLoadedCallback)
mk_ProjectLoadingCallback C_ProjectLoadedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectLoadedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"loading" FunPtr C_ProjectLoadedCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterProjectLoading :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectLoadingCallback) -> m SignalHandlerId
afterProjectLoading :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectLoadedCallback) -> m SignalHandlerId
afterProjectLoading a
obj (?self::a) => ProjectLoadedCallback
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 -> ProjectLoadedCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectLoadedCallback
ProjectLoadedCallback
cb
let wrapped' :: C_ProjectLoadedCallback
wrapped' = (a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
forall a.
GObject a =>
(a -> ProjectLoadedCallback) -> C_ProjectLoadedCallback
wrap_ProjectLoadingCallback a -> ProjectLoadedCallback
wrapped
FunPtr C_ProjectLoadedCallback
wrapped'' <- C_ProjectLoadedCallback -> IO (FunPtr C_ProjectLoadedCallback)
mk_ProjectLoadingCallback C_ProjectLoadedCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectLoadedCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"loading" FunPtr C_ProjectLoadedCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ProjectLoadingSignalInfo
instance SignalInfo ProjectLoadingSignalInfo where
type HaskellCallbackType ProjectLoadingSignalInfo = ProjectLoadingCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ProjectLoadingCallback cb
cb'' <- mk_ProjectLoadingCallback cb'
connectSignalFunPtr obj "loading" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project::loading"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#g:signal:loading"})
#endif
type ProjectMissingUriCallback =
GError
-> GES.Asset.Asset
-> IO (Maybe T.Text)
type C_ProjectMissingUriCallback =
Ptr Project ->
Ptr GError ->
Ptr GES.Asset.Asset ->
Ptr () ->
IO CString
foreign import ccall "wrapper"
mk_ProjectMissingUriCallback :: C_ProjectMissingUriCallback -> IO (FunPtr C_ProjectMissingUriCallback)
wrap_ProjectMissingUriCallback ::
GObject a => (a -> ProjectMissingUriCallback) ->
C_ProjectMissingUriCallback
wrap_ProjectMissingUriCallback :: forall a.
GObject a =>
(a -> ProjectMissingUriCallback) -> C_ProjectMissingUriCallback
wrap_ProjectMissingUriCallback a -> ProjectMissingUriCallback
gi'cb Ptr Project
gi'selfPtr Ptr GError
error_ Ptr Asset
wrongAsset Ptr ()
_ = do
GError
error_' <- ((ManagedPtr GError -> GError) -> Ptr GError -> IO GError
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr GError -> GError
GError) Ptr GError
error_
Asset
wrongAsset' <- ((ManagedPtr Asset -> Asset) -> Ptr Asset -> IO Asset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Asset -> Asset
GES.Asset.Asset) Ptr Asset
wrongAsset
Maybe Text
result <- Ptr Project -> (Project -> IO (Maybe Text)) -> IO (Maybe Text)
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr ((Project -> IO (Maybe Text)) -> IO (Maybe Text))
-> (Project -> IO (Maybe Text)) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectMissingUriCallback
gi'cb (Project -> a
forall a b. Coercible a b => a -> b
Coerce.coerce Project
gi'self) GError
error_' Asset
wrongAsset'
CString -> Maybe Text -> (Text -> IO CString) -> IO CString
forall (m :: * -> *) b a.
Monad m =>
b -> Maybe a -> (a -> m b) -> m b
maybeM CString
forall a. Ptr a
FP.nullPtr Maybe Text
result ((Text -> IO CString) -> IO CString)
-> (Text -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ \Text
result' -> do
CString
result'' <- Text -> IO CString
textToCString Text
result'
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
result''
onProjectMissingUri :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectMissingUriCallback) -> m SignalHandlerId
onProjectMissingUri :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectMissingUriCallback) -> m SignalHandlerId
onProjectMissingUri a
obj (?self::a) => ProjectMissingUriCallback
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 -> ProjectMissingUriCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectMissingUriCallback
ProjectMissingUriCallback
cb
let wrapped' :: C_ProjectMissingUriCallback
wrapped' = (a -> ProjectMissingUriCallback) -> C_ProjectMissingUriCallback
forall a.
GObject a =>
(a -> ProjectMissingUriCallback) -> C_ProjectMissingUriCallback
wrap_ProjectMissingUriCallback a -> ProjectMissingUriCallback
wrapped
FunPtr C_ProjectMissingUriCallback
wrapped'' <- C_ProjectMissingUriCallback
-> IO (FunPtr C_ProjectMissingUriCallback)
mk_ProjectMissingUriCallback C_ProjectMissingUriCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectMissingUriCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"missing-uri" FunPtr C_ProjectMissingUriCallback
wrapped'' SignalConnectMode
SignalConnectBefore Maybe Text
forall a. Maybe a
Nothing
afterProjectMissingUri :: (IsProject a, MonadIO m) => a -> ((?self :: a) => ProjectMissingUriCallback) -> m SignalHandlerId
afterProjectMissingUri :: forall a (m :: * -> *).
(IsProject a, MonadIO m) =>
a -> ((?self::a) => ProjectMissingUriCallback) -> m SignalHandlerId
afterProjectMissingUri a
obj (?self::a) => ProjectMissingUriCallback
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 -> ProjectMissingUriCallback
wrapped a
self = let ?self = a
?self::a
self in (?self::a) => ProjectMissingUriCallback
ProjectMissingUriCallback
cb
let wrapped' :: C_ProjectMissingUriCallback
wrapped' = (a -> ProjectMissingUriCallback) -> C_ProjectMissingUriCallback
forall a.
GObject a =>
(a -> ProjectMissingUriCallback) -> C_ProjectMissingUriCallback
wrap_ProjectMissingUriCallback a -> ProjectMissingUriCallback
wrapped
FunPtr C_ProjectMissingUriCallback
wrapped'' <- C_ProjectMissingUriCallback
-> IO (FunPtr C_ProjectMissingUriCallback)
mk_ProjectMissingUriCallback C_ProjectMissingUriCallback
wrapped'
a
-> Text
-> FunPtr C_ProjectMissingUriCallback
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
forall o a.
GObject o =>
o
-> Text
-> FunPtr a
-> SignalConnectMode
-> Maybe Text
-> IO SignalHandlerId
connectSignalFunPtr a
obj Text
"missing-uri" FunPtr C_ProjectMissingUriCallback
wrapped'' SignalConnectMode
SignalConnectAfter Maybe Text
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
data ProjectMissingUriSignalInfo
instance SignalInfo ProjectMissingUriSignalInfo where
type HaskellCallbackType ProjectMissingUriSignalInfo = ProjectMissingUriCallback
connectSignal obj cb connectMode detail = do
let cb' = wrap_ProjectMissingUriCallback cb
cb'' <- mk_ProjectMissingUriCallback cb'
connectSignalFunPtr obj "missing-uri" cb'' connectMode detail
dbgSignalInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project::missing-uri"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#g:signal:missingUri"})
#endif
getProjectUri :: (MonadIO m, IsProject o) => o -> m (Maybe T.Text)
getProjectUri :: forall (m :: * -> *) o.
(MonadIO m, IsProject o) =>
o -> m (Maybe Text)
getProjectUri 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
"uri"
constructProjectUri :: (IsProject o, MIO.MonadIO m) => T.Text -> m (GValueConstruct o)
constructProjectUri :: forall o (m :: * -> *).
(IsProject o, MonadIO m) =>
Text -> m (GValueConstruct o)
constructProjectUri 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
"uri" (Text -> Maybe Text
forall a. a -> Maybe a
P.Just Text
val)
#if defined(ENABLE_OVERLOADING)
data ProjectUriPropertyInfo
instance AttrInfo ProjectUriPropertyInfo where
type AttrAllowedOps ProjectUriPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ProjectUriPropertyInfo = IsProject
type AttrSetTypeConstraint ProjectUriPropertyInfo = (~) T.Text
type AttrTransferTypeConstraint ProjectUriPropertyInfo = (~) T.Text
type AttrTransferType ProjectUriPropertyInfo = T.Text
type AttrGetType ProjectUriPropertyInfo = (Maybe T.Text)
type AttrLabel ProjectUriPropertyInfo = "uri"
type AttrOrigin ProjectUriPropertyInfo = Project
attrGet = getProjectUri
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructProjectUri
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.uri"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#g:attr:uri"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Project
type instance O.AttributeList Project = ProjectAttributeList
type ProjectAttributeList = ('[ '("extractableType", GES.Asset.AssetExtractableTypePropertyInfo), '("id", GES.Asset.AssetIdPropertyInfo), '("proxy", GES.Asset.AssetProxyPropertyInfo), '("proxyTarget", GES.Asset.AssetProxyTargetPropertyInfo), '("uri", ProjectUriPropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
projectUri :: AttrLabelProxy "uri"
projectUri = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Project = ProjectSignalList
type ProjectSignalList = ('[ '("assetAdded", ProjectAssetAddedSignalInfo), '("assetLoading", ProjectAssetLoadingSignalInfo), '("assetRemoved", ProjectAssetRemovedSignalInfo), '("errorLoading", ProjectErrorLoadingSignalInfo), '("errorLoadingAsset", ProjectErrorLoadingAssetSignalInfo), '("loaded", ProjectLoadedSignalInfo), '("loading", ProjectLoadingSignalInfo), '("missingUri", ProjectMissingUriSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("notifyMeta", GES.MetaContainer.MetaContainerNotifyMetaSignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "ges_project_new" ges_project_new ::
CString ->
IO (Ptr Project)
projectNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Maybe (T.Text)
-> m Project
projectNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Maybe Text -> m Project
projectNew Maybe Text
uri = IO Project -> m Project
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Project -> m Project) -> IO Project -> m Project
forall a b. (a -> b) -> a -> b
$ do
CString
maybeUri <- case Maybe Text
uri of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jUri -> do
CString
jUri' <- Text -> IO CString
textToCString Text
jUri
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jUri'
Ptr Project
result <- CString -> IO (Ptr Project)
ges_project_new CString
maybeUri
Text -> Ptr Project -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"projectNew" Ptr Project
result
Project
result' <- ((ManagedPtr Project -> Project) -> Ptr Project -> IO Project
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Project -> Project
Project) Ptr Project
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeUri
Project -> IO Project
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Project
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ges_project_add_asset" ges_project_add_asset ::
Ptr Project ->
Ptr GES.Asset.Asset ->
IO CInt
projectAddAsset ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a, GES.Asset.IsAsset b) =>
a
-> b
-> m Bool
projectAddAsset :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsProject a, IsAsset b) =>
a -> b -> m Bool
projectAddAsset a
project b
asset = 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 Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Asset
asset' <- b -> IO (Ptr Asset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
asset
CInt
result <- Ptr Project -> Ptr Asset -> IO CInt
ges_project_add_asset Ptr Project
project' Ptr Asset
asset'
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
project
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
asset
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ProjectAddAssetMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsProject a, GES.Asset.IsAsset b) => O.OverloadedMethod ProjectAddAssetMethodInfo a signature where
overloadedMethod = projectAddAsset
instance O.OverloadedMethodInfo ProjectAddAssetMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectAddAsset",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectAddAsset"
})
#endif
foreign import ccall "ges_project_add_encoding_profile" ges_project_add_encoding_profile ::
Ptr Project ->
Ptr GstPbutils.EncodingProfile.EncodingProfile ->
IO CInt
projectAddEncodingProfile ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a, GstPbutils.EncodingProfile.IsEncodingProfile b) =>
a
-> b
-> m Bool
projectAddEncodingProfile :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsProject a, IsEncodingProfile b) =>
a -> b -> m Bool
projectAddEncodingProfile a
project b
profile = 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 Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr EncodingProfile
profile' <- b -> IO (Ptr EncodingProfile)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
profile
CInt
result <- Ptr Project -> Ptr EncodingProfile -> IO CInt
ges_project_add_encoding_profile Ptr Project
project' Ptr EncodingProfile
profile'
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
project
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
profile
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ProjectAddEncodingProfileMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsProject a, GstPbutils.EncodingProfile.IsEncodingProfile b) => O.OverloadedMethod ProjectAddEncodingProfileMethodInfo a signature where
overloadedMethod = projectAddEncodingProfile
instance O.OverloadedMethodInfo ProjectAddEncodingProfileMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectAddEncodingProfile",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectAddEncodingProfile"
})
#endif
foreign import ccall "ges_project_add_formatter" ges_project_add_formatter ::
Ptr Project ->
Ptr GES.Formatter.Formatter ->
IO ()
projectAddFormatter ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a, GES.Formatter.IsFormatter b) =>
a
-> b
-> m ()
projectAddFormatter :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsProject a, IsFormatter b) =>
a -> b -> m ()
projectAddFormatter a
project b
formatter = 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 Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Formatter
formatter' <- b -> IO (Ptr Formatter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
formatter
Ptr Project -> Ptr Formatter -> IO ()
ges_project_add_formatter Ptr Project
project' Ptr Formatter
formatter'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
formatter
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data ProjectAddFormatterMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsProject a, GES.Formatter.IsFormatter b) => O.OverloadedMethod ProjectAddFormatterMethodInfo a signature where
overloadedMethod = projectAddFormatter
instance O.OverloadedMethodInfo ProjectAddFormatterMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectAddFormatter",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectAddFormatter"
})
#endif
foreign import ccall "ges_project_create_asset" ges_project_create_asset ::
Ptr Project ->
CString ->
CGType ->
IO CInt
projectCreateAsset ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a) =>
a
-> Maybe (T.Text)
-> GType
-> m Bool
projectCreateAsset :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsProject a) =>
a -> Maybe Text -> GType -> m Bool
projectCreateAsset a
project Maybe Text
id GType
extractableType = 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 Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
let extractableType' :: CGType
extractableType' = GType -> CGType
gtypeToCGType GType
extractableType
CInt
result <- Ptr Project -> CString -> CGType -> IO CInt
ges_project_create_asset Ptr Project
project' CString
maybeId CGType
extractableType'
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
project
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ProjectCreateAssetMethodInfo
instance (signature ~ (Maybe (T.Text) -> GType -> m Bool), MonadIO m, IsProject a) => O.OverloadedMethod ProjectCreateAssetMethodInfo a signature where
overloadedMethod = projectCreateAsset
instance O.OverloadedMethodInfo ProjectCreateAssetMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectCreateAsset",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectCreateAsset"
})
#endif
foreign import ccall "ges_project_create_asset_sync" ges_project_create_asset_sync ::
Ptr Project ->
CString ->
CGType ->
Ptr (Ptr GError) ->
IO (Ptr GES.Asset.Asset)
projectCreateAssetSync ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a) =>
a
-> Maybe (T.Text)
-> GType
-> m (Maybe GES.Asset.Asset)
projectCreateAssetSync :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsProject a) =>
a -> Maybe Text -> GType -> m (Maybe Asset)
projectCreateAssetSync a
project Maybe Text
id GType
extractableType = IO (Maybe Asset) -> m (Maybe Asset)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Asset) -> m (Maybe Asset))
-> IO (Maybe Asset) -> m (Maybe Asset)
forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
CString -> IO CString
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
let extractableType' :: CGType
extractableType' = GType -> CGType
gtypeToCGType GType
extractableType
IO (Maybe Asset) -> IO () -> IO (Maybe Asset)
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Asset
result <- (Ptr (Ptr GError) -> IO (Ptr Asset)) -> IO (Ptr Asset)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Asset)) -> IO (Ptr Asset))
-> (Ptr (Ptr GError) -> IO (Ptr Asset)) -> IO (Ptr Asset)
forall a b. (a -> b) -> a -> b
$ Ptr Project
-> CString -> CGType -> Ptr (Ptr GError) -> IO (Ptr Asset)
ges_project_create_asset_sync Ptr Project
project' CString
maybeId CGType
extractableType'
Maybe Asset
maybeResult <- Ptr Asset -> (Ptr Asset -> IO Asset) -> IO (Maybe Asset)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Asset
result ((Ptr Asset -> IO Asset) -> IO (Maybe Asset))
-> (Ptr Asset -> IO Asset) -> IO (Maybe Asset)
forall a b. (a -> b) -> a -> b
$ \Ptr Asset
result' -> do
Asset
result'' <- ((ManagedPtr Asset -> Asset) -> Ptr Asset -> IO Asset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Asset -> Asset
GES.Asset.Asset) Ptr Asset
result'
Asset -> IO Asset
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Asset
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
Maybe Asset -> IO (Maybe Asset)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Asset
maybeResult
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeId
)
#if defined(ENABLE_OVERLOADING)
data ProjectCreateAssetSyncMethodInfo
instance (signature ~ (Maybe (T.Text) -> GType -> m (Maybe GES.Asset.Asset)), MonadIO m, IsProject a) => O.OverloadedMethod ProjectCreateAssetSyncMethodInfo a signature where
overloadedMethod = projectCreateAssetSync
instance O.OverloadedMethodInfo ProjectCreateAssetSyncMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectCreateAssetSync",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectCreateAssetSync"
})
#endif
foreign import ccall "ges_project_get_asset" ges_project_get_asset ::
Ptr Project ->
CString ->
CGType ->
IO (Ptr GES.Asset.Asset)
projectGetAsset ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a) =>
a
-> T.Text
-> GType
-> m (Maybe GES.Asset.Asset)
projectGetAsset :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsProject a) =>
a -> Text -> GType -> m (Maybe Asset)
projectGetAsset a
project Text
id GType
extractableType = IO (Maybe Asset) -> m (Maybe Asset)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Asset) -> m (Maybe Asset))
-> IO (Maybe Asset) -> m (Maybe Asset)
forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
CString
id' <- Text -> IO CString
textToCString Text
id
let extractableType' :: CGType
extractableType' = GType -> CGType
gtypeToCGType GType
extractableType
Ptr Asset
result <- Ptr Project -> CString -> CGType -> IO (Ptr Asset)
ges_project_get_asset Ptr Project
project' CString
id' CGType
extractableType'
Maybe Asset
maybeResult <- Ptr Asset -> (Ptr Asset -> IO Asset) -> IO (Maybe Asset)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Asset
result ((Ptr Asset -> IO Asset) -> IO (Maybe Asset))
-> (Ptr Asset -> IO Asset) -> IO (Maybe Asset)
forall a b. (a -> b) -> a -> b
$ \Ptr Asset
result' -> do
Asset
result'' <- ((ManagedPtr Asset -> Asset) -> Ptr Asset -> IO Asset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Asset -> Asset
GES.Asset.Asset) Ptr Asset
result'
Asset -> IO Asset
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Asset
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
id'
Maybe Asset -> IO (Maybe Asset)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Asset
maybeResult
#if defined(ENABLE_OVERLOADING)
data ProjectGetAssetMethodInfo
instance (signature ~ (T.Text -> GType -> m (Maybe GES.Asset.Asset)), MonadIO m, IsProject a) => O.OverloadedMethod ProjectGetAssetMethodInfo a signature where
overloadedMethod = projectGetAsset
instance O.OverloadedMethodInfo ProjectGetAssetMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectGetAsset",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectGetAsset"
})
#endif
foreign import ccall "ges_project_get_loading_assets" ges_project_get_loading_assets ::
Ptr Project ->
IO (Ptr (GList (Ptr GES.Asset.Asset)))
projectGetLoadingAssets ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a) =>
a
-> m [GES.Asset.Asset]
projectGetLoadingAssets :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsProject a) =>
a -> m [Asset]
projectGetLoadingAssets a
project = IO [Asset] -> m [Asset]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Asset] -> m [Asset]) -> IO [Asset] -> m [Asset]
forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr (GList (Ptr Asset))
result <- Ptr Project -> IO (Ptr (GList (Ptr Asset)))
ges_project_get_loading_assets Ptr Project
project'
[Ptr Asset]
result' <- Ptr (GList (Ptr Asset)) -> IO [Ptr Asset]
forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr Asset))
result
[Asset]
result'' <- (Ptr Asset -> IO Asset) -> [Ptr Asset] -> IO [Asset]
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 Asset -> Asset) -> Ptr Asset -> IO Asset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Asset -> Asset
GES.Asset.Asset) [Ptr Asset]
result'
Ptr (GList (Ptr Asset)) -> IO ()
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList (Ptr Asset))
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
[Asset] -> IO [Asset]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [Asset]
result''
#if defined(ENABLE_OVERLOADING)
data ProjectGetLoadingAssetsMethodInfo
instance (signature ~ (m [GES.Asset.Asset]), MonadIO m, IsProject a) => O.OverloadedMethod ProjectGetLoadingAssetsMethodInfo a signature where
overloadedMethod = projectGetLoadingAssets
instance O.OverloadedMethodInfo ProjectGetLoadingAssetsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectGetLoadingAssets",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectGetLoadingAssets"
})
#endif
foreign import ccall "ges_project_get_uri" ges_project_get_uri ::
Ptr Project ->
IO CString
projectGetUri ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a) =>
a
-> m (Maybe T.Text)
projectGetUri :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsProject a) =>
a -> m (Maybe Text)
projectGetUri a
project = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
CString
result <- Ptr Project -> IO CString
ges_project_get_uri Ptr Project
project'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result'
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data ProjectGetUriMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsProject a) => O.OverloadedMethod ProjectGetUriMethodInfo a signature where
overloadedMethod = projectGetUri
instance O.OverloadedMethodInfo ProjectGetUriMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectGetUri",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectGetUri"
})
#endif
foreign import ccall "ges_project_list_assets" ges_project_list_assets ::
Ptr Project ->
CGType ->
IO (Ptr (GList (Ptr GES.Asset.Asset)))
projectListAssets ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a) =>
a
-> GType
-> m [GES.Asset.Asset]
projectListAssets :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsProject a) =>
a -> GType -> m [Asset]
projectListAssets a
project GType
filter = IO [Asset] -> m [Asset]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Asset] -> m [Asset]) -> IO [Asset] -> m [Asset]
forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
let filter' :: CGType
filter' = GType -> CGType
gtypeToCGType GType
filter
Ptr (GList (Ptr Asset))
result <- Ptr Project -> CGType -> IO (Ptr (GList (Ptr Asset)))
ges_project_list_assets Ptr Project
project' CGType
filter'
[Ptr Asset]
result' <- Ptr (GList (Ptr Asset)) -> IO [Ptr Asset]
forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr Asset))
result
[Asset]
result'' <- (Ptr Asset -> IO Asset) -> [Ptr Asset] -> IO [Asset]
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 Asset -> Asset) -> Ptr Asset -> IO Asset
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Asset -> Asset
GES.Asset.Asset) [Ptr Asset]
result'
Ptr (GList (Ptr Asset)) -> IO ()
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList (Ptr Asset))
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
[Asset] -> IO [Asset]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [Asset]
result''
#if defined(ENABLE_OVERLOADING)
data ProjectListAssetsMethodInfo
instance (signature ~ (GType -> m [GES.Asset.Asset]), MonadIO m, IsProject a) => O.OverloadedMethod ProjectListAssetsMethodInfo a signature where
overloadedMethod = projectListAssets
instance O.OverloadedMethodInfo ProjectListAssetsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectListAssets",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectListAssets"
})
#endif
foreign import ccall "ges_project_list_encoding_profiles" ges_project_list_encoding_profiles ::
Ptr Project ->
IO (Ptr (GList (Ptr GstPbutils.EncodingProfile.EncodingProfile)))
projectListEncodingProfiles ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a) =>
a
-> m [GstPbutils.EncodingProfile.EncodingProfile]
projectListEncodingProfiles :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsProject a) =>
a -> m [EncodingProfile]
projectListEncodingProfiles a
project = IO [EncodingProfile] -> m [EncodingProfile]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [EncodingProfile] -> m [EncodingProfile])
-> IO [EncodingProfile] -> m [EncodingProfile]
forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr (GList (Ptr EncodingProfile))
result <- Ptr Project -> IO (Ptr (GList (Ptr EncodingProfile)))
ges_project_list_encoding_profiles Ptr Project
project'
[Ptr EncodingProfile]
result' <- Ptr (GList (Ptr EncodingProfile)) -> IO [Ptr EncodingProfile]
forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr EncodingProfile))
result
[EncodingProfile]
result'' <- (Ptr EncodingProfile -> IO EncodingProfile)
-> [Ptr EncodingProfile] -> IO [EncodingProfile]
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 EncodingProfile -> EncodingProfile)
-> Ptr EncodingProfile -> IO EncodingProfile
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr EncodingProfile -> EncodingProfile
GstPbutils.EncodingProfile.EncodingProfile) [Ptr EncodingProfile]
result'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
[EncodingProfile] -> IO [EncodingProfile]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [EncodingProfile]
result''
#if defined(ENABLE_OVERLOADING)
data ProjectListEncodingProfilesMethodInfo
instance (signature ~ (m [GstPbutils.EncodingProfile.EncodingProfile]), MonadIO m, IsProject a) => O.OverloadedMethod ProjectListEncodingProfilesMethodInfo a signature where
overloadedMethod = projectListEncodingProfiles
instance O.OverloadedMethodInfo ProjectListEncodingProfilesMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectListEncodingProfiles",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectListEncodingProfiles"
})
#endif
foreign import ccall "ges_project_load" ges_project_load ::
Ptr Project ->
Ptr GES.Timeline.Timeline ->
Ptr (Ptr GError) ->
IO CInt
projectLoad ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a, GES.Timeline.IsTimeline b) =>
a
-> b
-> m ()
projectLoad :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsProject a, IsTimeline b) =>
a -> b -> m ()
projectLoad a
project 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 Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Timeline
timeline' <- b -> IO (Ptr Timeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
timeline
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 Project -> Ptr Timeline -> Ptr (Ptr GError) -> IO CInt
ges_project_load Ptr Project
project' Ptr Timeline
timeline'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
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 ()
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data ProjectLoadMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsProject a, GES.Timeline.IsTimeline b) => O.OverloadedMethod ProjectLoadMethodInfo a signature where
overloadedMethod = projectLoad
instance O.OverloadedMethodInfo ProjectLoadMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectLoad",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectLoad"
})
#endif
foreign import ccall "ges_project_remove_asset" ges_project_remove_asset ::
Ptr Project ->
Ptr GES.Asset.Asset ->
IO CInt
projectRemoveAsset ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a, GES.Asset.IsAsset b) =>
a
-> b
-> m Bool
projectRemoveAsset :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsProject a, IsAsset b) =>
a -> b -> m Bool
projectRemoveAsset a
project b
asset = 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 Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Asset
asset' <- b -> IO (Ptr Asset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
asset
CInt
result <- Ptr Project -> Ptr Asset -> IO CInt
ges_project_remove_asset Ptr Project
project' Ptr Asset
asset'
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
project
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
asset
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data ProjectRemoveAssetMethodInfo
instance (signature ~ (b -> m Bool), MonadIO m, IsProject a, GES.Asset.IsAsset b) => O.OverloadedMethod ProjectRemoveAssetMethodInfo a signature where
overloadedMethod = projectRemoveAsset
instance O.OverloadedMethodInfo ProjectRemoveAssetMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectRemoveAsset",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectRemoveAsset"
})
#endif
foreign import ccall "ges_project_save" ges_project_save ::
Ptr Project ->
Ptr GES.Timeline.Timeline ->
CString ->
Ptr GES.Asset.Asset ->
CInt ->
Ptr (Ptr GError) ->
IO CInt
projectSave ::
(B.CallStack.HasCallStack, MonadIO m, IsProject a, GES.Timeline.IsTimeline b, GES.Asset.IsAsset c) =>
a
-> b
-> T.Text
-> Maybe (c)
-> Bool
-> m ()
projectSave :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsProject a, IsTimeline b, IsAsset c) =>
a -> b -> Text -> Maybe c -> Bool -> m ()
projectSave a
project b
timeline Text
uri Maybe c
formatterAsset Bool
overwrite = 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 Project
project' <- a -> IO (Ptr Project)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Timeline
timeline' <- b -> IO (Ptr Timeline)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
timeline
CString
uri' <- Text -> IO CString
textToCString Text
uri
Ptr Asset
maybeFormatterAsset <- case Maybe c
formatterAsset of
Maybe c
Nothing -> Ptr Asset -> IO (Ptr Asset)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Asset
forall a. Ptr a
nullPtr
Just c
jFormatterAsset -> do
Ptr Asset
jFormatterAsset' <- c -> IO (Ptr Asset)
forall a b. (HasCallStack, GObject a) => a -> IO (Ptr b)
B.ManagedPtr.disownObject c
jFormatterAsset
Ptr Asset -> IO (Ptr Asset)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Asset
jFormatterAsset'
let overwrite' :: CInt
overwrite' = (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
overwrite
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 Project
-> Ptr Timeline
-> CString
-> Ptr Asset
-> CInt
-> Ptr (Ptr GError)
-> IO CInt
ges_project_save Ptr Project
project' Ptr Timeline
timeline' CString
uri' Ptr Asset
maybeFormatterAsset CInt
overwrite'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
timeline
Maybe c -> (c -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
formatterAsset c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
uri'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
uri'
)
#if defined(ENABLE_OVERLOADING)
data ProjectSaveMethodInfo
instance (signature ~ (b -> T.Text -> Maybe (c) -> Bool -> m ()), MonadIO m, IsProject a, GES.Timeline.IsTimeline b, GES.Asset.IsAsset c) => O.OverloadedMethod ProjectSaveMethodInfo a signature where
overloadedMethod = projectSave
instance O.OverloadedMethodInfo ProjectSaveMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Project.projectSave",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Project.html#v:projectSave"
})
#endif