{-# 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.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
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Project -> Project -> Bool
$c/= :: Project -> Project -> Bool
== :: Project -> Project -> Bool
$c== :: 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall b c a. (b -> c) -> (a -> b) -> a -> c
. 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 = forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (forall a. Ptr a
FP.nullPtr :: FP.Ptr Project)
gvalueSet_ Ptr GValue
gv (P.Just Project
obj) = forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Project
obj (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 <- forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Project)
if Ptr Project
ptr forall a. Eq a => a -> a -> Bool
/= forall a. Ptr a
FP.nullPtr
then forall a. a -> Maybe a
P.Just forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> 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 forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveProjectMethod (t :: Symbol) (o :: *) :: * 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' <- (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
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectAssetAddedCallback
gi'cb (coerce :: 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = 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'
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 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = 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'
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 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.1/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' <- (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
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectAssetAddedCallback
gi'cb (coerce :: 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = 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'
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 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = 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'
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 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.1/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' <- (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
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectAssetAddedCallback
gi'cb (coerce :: 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = 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'
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 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectAssetAddedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectAssetAddedCallback
cb
let wrapped' :: C_ProjectAssetAddedCallback
wrapped' = 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'
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 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.1/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' <- (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_' <- (forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr GError -> GError
GError) Ptr GError
error_
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectErrorLoadingCallback
gi'cb (coerce :: 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectErrorLoadingCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectErrorLoadingCallback
cb
let wrapped' :: C_ProjectErrorLoadingCallback
wrapped' = 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'
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 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectErrorLoadingCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectErrorLoadingCallback
cb
let wrapped' :: C_ProjectErrorLoadingCallback
wrapped' = 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'
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 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.1/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_' <- (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
cstringToText CString
id
let extractableType' :: GType
extractableType' = CGType -> GType
GType CGType
extractableType
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectErrorLoadingAssetCallback
gi'cb (coerce :: 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectErrorLoadingAssetCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectErrorLoadingAssetCallback
cb
let wrapped' :: C_ProjectErrorLoadingAssetCallback
wrapped' = 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'
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 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectErrorLoadingAssetCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectErrorLoadingAssetCallback
cb
let wrapped' :: C_ProjectErrorLoadingAssetCallback
wrapped' = 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'
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 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.1/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' <- (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
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectLoadedCallback
gi'cb (coerce :: 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectLoadedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectLoadedCallback
cb
let wrapped' :: C_ProjectLoadedCallback
wrapped' = 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'
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 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectLoadedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectLoadedCallback
cb
let wrapped' :: C_ProjectLoadedCallback
wrapped' = 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'
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 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.1/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' <- (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
forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectLoadedCallback
gi'cb (coerce :: 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectLoadedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectLoadedCallback
cb
let wrapped' :: C_ProjectLoadedCallback
wrapped' = 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'
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 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectLoadedCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectLoadedCallback
cb
let wrapped' :: C_ProjectLoadedCallback
wrapped' = 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'
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 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.1/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_' <- (forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr GError -> GError
GError) Ptr GError
error_
Asset
wrongAsset' <- (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 <- forall a b.
(HasCallStack, ManagedPtrNewtype a) =>
Ptr a -> (a -> IO b) -> IO b
B.ManagedPtr.withTransient Ptr Project
gi'selfPtr forall a b. (a -> b) -> a -> b
$ \Project
gi'self -> a -> ProjectMissingUriCallback
gi'cb (coerce :: forall a b. Coercible a b => a -> b
Coerce.coerce Project
gi'self) GError
error_' Asset
wrongAsset'
forall (m :: * -> *) b a.
Monad m =>
b -> Maybe a -> (a -> m b) -> m b
maybeM forall a. Ptr a
FP.nullPtr Maybe Text
result forall a b. (a -> b) -> a -> b
$ \Text
result' -> do
CString
result'' <- Text -> IO CString
textToCString Text
result'
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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectMissingUriCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectMissingUriCallback
cb
let wrapped' :: C_ProjectMissingUriCallback
wrapped' = 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'
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 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
let wrapped :: a -> ProjectMissingUriCallback
wrapped a
self = let ?self = a
self in (?self::a) => ProjectMissingUriCallback
cb
let wrapped' :: C_ProjectMissingUriCallback
wrapped' = 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'
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 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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall a b. (a -> b) -> a -> b
$ 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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall a b. (a -> b) -> a -> b
$ do
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO forall a b. (a -> b) -> a -> b
$ forall o. String -> Maybe Text -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyString String
"uri" (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.1/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, *)])
#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, *)])
#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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
CString
maybeUri <- case Maybe Text
uri of
Maybe Text
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Ptr a
nullPtr
Just Text
jUri -> do
CString
jUri' <- Text -> IO CString
textToCString Text
jUri
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jUri'
Ptr Project
result <- CString -> IO (Ptr Project)
ges_project_new CString
maybeUri
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"projectNew" Ptr Project
result
Project
result' <- (forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Project -> Project
Project) Ptr Project
result
forall a. Ptr a -> IO ()
freeMem CString
maybeUri
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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Asset
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' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
asset
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr EncodingProfile
profile' <- 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' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
profile
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Formatter
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'
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
formatter
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
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' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
forall a. Ptr a -> IO ()
freeMem CString
maybeId
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
CString
maybeId <- case Maybe Text
id of
Maybe Text
Nothing -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Ptr a
nullPtr
Just Text
jId -> do
CString
jId' <- Text -> IO CString
textToCString Text
jId
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jId'
let extractableType' :: CGType
extractableType' = GType -> CGType
gtypeToCGType GType
extractableType
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Asset
result <- forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError 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 <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Asset
result forall a b. (a -> b) -> a -> b
$ \Ptr Asset
result' -> do
Asset
result'' <- (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'
forall (m :: * -> *) a. Monad m => a -> m a
return Asset
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
forall a. Ptr a -> IO ()
freeMem CString
maybeId
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Asset
maybeResult
) (do
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
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 <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Asset
result forall a b. (a -> b) -> a -> b
$ \Ptr Asset
result' -> do
Asset
result'' <- (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'
forall (m :: * -> *) a. Monad m => a -> m a
return Asset
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
forall a. Ptr a -> IO ()
freeMem CString
id'
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
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' <- forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr Asset))
result
[Asset]
result'' <- forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM (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'
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList (Ptr Asset))
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
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 <- forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
cstringToText CString
result'
forall a. Ptr a -> IO ()
freeMem CString
result'
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
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' <- forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr Asset))
result
[Asset]
result'' <- forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM (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'
forall a. Ptr (GList a) -> IO ()
g_list_free Ptr (GList (Ptr Asset))
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
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' <- forall a. Ptr (GList (Ptr a)) -> IO [Ptr a]
unpackGList Ptr (GList (Ptr EncodingProfile))
result
[EncodingProfile]
result'' <- forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
mapM (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'
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Timeline
timeline' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
timeline
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError 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'
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
timeline
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Asset
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' = (forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
asset
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.1/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 = forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO forall a b. (a -> b) -> a -> b
$ do
Ptr Project
project' <- forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
project
Ptr Timeline
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 -> forall (m :: * -> *) a. Monad m => a -> m a
return forall a. Ptr a
nullPtr
Just c
jFormatterAsset -> do
Ptr Asset
jFormatterAsset' <- forall a b. (HasCallStack, GObject a) => a -> IO (Ptr b)
B.ManagedPtr.disownObject c
jFormatterAsset
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Asset
jFormatterAsset'
let overwrite' :: CInt
overwrite' = (forall a b. (Integral a, Num b) => a -> b
fromIntegral forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Enum a => a -> Int
fromEnum) Bool
overwrite
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError 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'
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
project
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
timeline
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe c
formatterAsset forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
forall a. Ptr a -> IO ()
freeMem CString
uri'
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
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.1/docs/GI-GES-Objects-Project.html#v:projectSave"
})
#endif