{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GES.Objects.Group
(
Group(..) ,
IsGroup ,
toGroup ,
#if defined(ENABLE_OVERLOADING)
ResolveGroupMethod ,
#endif
groupNew ,
#if defined(ENABLE_OVERLOADING)
GroupDurationPropertyInfo ,
#endif
constructGroupDuration ,
getGroupDuration ,
#if defined(ENABLE_OVERLOADING)
groupDuration ,
#endif
setGroupDuration ,
#if defined(ENABLE_OVERLOADING)
GroupInPointPropertyInfo ,
#endif
constructGroupInPoint ,
getGroupInPoint ,
#if defined(ENABLE_OVERLOADING)
groupInPoint ,
#endif
setGroupInPoint ,
#if defined(ENABLE_OVERLOADING)
GroupMaxDurationPropertyInfo ,
#endif
constructGroupMaxDuration ,
getGroupMaxDuration ,
#if defined(ENABLE_OVERLOADING)
groupMaxDuration ,
#endif
setGroupMaxDuration ,
#if defined(ENABLE_OVERLOADING)
GroupPriorityPropertyInfo ,
#endif
constructGroupPriority ,
getGroupPriority ,
#if defined(ENABLE_OVERLOADING)
groupPriority ,
#endif
setGroupPriority ,
#if defined(ENABLE_OVERLOADING)
GroupStartPropertyInfo ,
#endif
constructGroupStart ,
getGroupStart ,
#if defined(ENABLE_OVERLOADING)
groupStart ,
#endif
setGroupStart ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GHC.Records as R
import {-# SOURCE #-} qualified GI.GES.Interfaces.Extractable as GES.Extractable
import {-# SOURCE #-} qualified GI.GES.Interfaces.MetaContainer as GES.MetaContainer
import {-# SOURCE #-} qualified GI.GES.Objects.Container as GES.Container
import {-# SOURCE #-} qualified GI.GES.Objects.TimelineElement as GES.TimelineElement
import qualified GI.GObject.Objects.Object as GObject.Object
newtype Group = Group (SP.ManagedPtr Group)
deriving (Group -> Group -> Bool
(Group -> Group -> Bool) -> (Group -> Group -> Bool) -> Eq Group
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Group -> Group -> Bool
== :: Group -> Group -> Bool
$c/= :: Group -> Group -> Bool
/= :: Group -> Group -> Bool
Eq)
instance SP.ManagedPtrNewtype Group where
toManagedPtr :: Group -> ManagedPtr Group
toManagedPtr (Group ManagedPtr Group
p) = ManagedPtr Group
p
foreign import ccall "ges_group_get_type"
c_ges_group_get_type :: IO B.Types.GType
instance B.Types.TypedObject Group where
glibType :: IO GType
glibType = IO GType
c_ges_group_get_type
instance B.Types.GObject Group
class (SP.GObject o, O.IsDescendantOf Group o) => IsGroup o
instance (SP.GObject o, O.IsDescendantOf Group o) => IsGroup o
instance O.HasParentTypes Group
type instance O.ParentTypes Group = '[GES.Container.Container, GES.TimelineElement.TimelineElement, GObject.Object.Object, GES.Extractable.Extractable, GES.MetaContainer.MetaContainer]
toGroup :: (MIO.MonadIO m, IsGroup o) => o -> m Group
toGroup :: forall (m :: * -> *) o. (MonadIO m, IsGroup o) => o -> m Group
toGroup = IO Group -> m Group
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Group -> m Group) -> (o -> IO Group) -> o -> m Group
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Group -> Group) -> o -> IO Group
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Group -> Group
Group
instance B.GValue.IsGValue (Maybe Group) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_group_get_type
gvalueSet_ :: Ptr GValue -> Maybe Group -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Group
P.Nothing = Ptr GValue -> Ptr Group -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Group
forall a. Ptr a
FP.nullPtr :: FP.Ptr Group)
gvalueSet_ Ptr GValue
gv (P.Just Group
obj) = Group -> (Ptr Group -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Group
obj (Ptr GValue -> Ptr Group -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Group)
gvalueGet_ Ptr GValue
gv = do
Ptr Group
ptr <- Ptr GValue -> IO (Ptr Group)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Group)
if Ptr Group
ptr Ptr Group -> Ptr Group -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Group
forall a. Ptr a
FP.nullPtr
then Group -> Maybe Group
forall a. a -> Maybe a
P.Just (Group -> Maybe Group) -> IO Group -> IO (Maybe Group)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Group -> Group) -> Ptr Group -> IO Group
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Group -> Group
Group Ptr Group
ptr
else Maybe Group -> IO (Maybe Group)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Group
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveGroupMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveGroupMethod "add" o = GES.Container.ContainerAddMethodInfo
ResolveGroupMethod "addChildProperty" o = GES.TimelineElement.TimelineElementAddChildPropertyMethodInfo
ResolveGroupMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
ResolveGroupMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveGroupMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveGroupMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
ResolveGroupMethod "copy" o = GES.TimelineElement.TimelineElementCopyMethodInfo
ResolveGroupMethod "edit" o = GES.Container.ContainerEditMethodInfo
ResolveGroupMethod "editFull" o = GES.TimelineElement.TimelineElementEditFullMethodInfo
ResolveGroupMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveGroupMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
ResolveGroupMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveGroupMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveGroupMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveGroupMethod "listChildrenProperties" o = GES.TimelineElement.TimelineElementListChildrenPropertiesMethodInfo
ResolveGroupMethod "lookupChild" o = GES.TimelineElement.TimelineElementLookupChildMethodInfo
ResolveGroupMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
ResolveGroupMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveGroupMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveGroupMethod "paste" o = GES.TimelineElement.TimelineElementPasteMethodInfo
ResolveGroupMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveGroupMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveGroupMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
ResolveGroupMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
ResolveGroupMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
ResolveGroupMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
ResolveGroupMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
ResolveGroupMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
ResolveGroupMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
ResolveGroupMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
ResolveGroupMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
ResolveGroupMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
ResolveGroupMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
ResolveGroupMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
ResolveGroupMethod "remove" o = GES.Container.ContainerRemoveMethodInfo
ResolveGroupMethod "removeChildProperty" o = GES.TimelineElement.TimelineElementRemoveChildPropertyMethodInfo
ResolveGroupMethod "ripple" o = GES.TimelineElement.TimelineElementRippleMethodInfo
ResolveGroupMethod "rippleEnd" o = GES.TimelineElement.TimelineElementRippleEndMethodInfo
ResolveGroupMethod "rollEnd" o = GES.TimelineElement.TimelineElementRollEndMethodInfo
ResolveGroupMethod "rollStart" o = GES.TimelineElement.TimelineElementRollStartMethodInfo
ResolveGroupMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveGroupMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveGroupMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveGroupMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveGroupMethod "trim" o = GES.TimelineElement.TimelineElementTrimMethodInfo
ResolveGroupMethod "ungroup" o = GES.Container.ContainerUngroupMethodInfo
ResolveGroupMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveGroupMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveGroupMethod "getAsset" o = GES.Extractable.ExtractableGetAssetMethodInfo
ResolveGroupMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
ResolveGroupMethod "getChildProperty" o = GES.TimelineElement.TimelineElementGetChildPropertyMethodInfo
ResolveGroupMethod "getChildPropertyByPspec" o = GES.TimelineElement.TimelineElementGetChildPropertyByPspecMethodInfo
ResolveGroupMethod "getChildren" o = GES.Container.ContainerGetChildrenMethodInfo
ResolveGroupMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveGroupMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
ResolveGroupMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
ResolveGroupMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
ResolveGroupMethod "getDuration" o = GES.TimelineElement.TimelineElementGetDurationMethodInfo
ResolveGroupMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
ResolveGroupMethod "getId" o = GES.Extractable.ExtractableGetIdMethodInfo
ResolveGroupMethod "getInpoint" o = GES.TimelineElement.TimelineElementGetInpointMethodInfo
ResolveGroupMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
ResolveGroupMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
ResolveGroupMethod "getLayerPriority" o = GES.TimelineElement.TimelineElementGetLayerPriorityMethodInfo
ResolveGroupMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
ResolveGroupMethod "getMaxDuration" o = GES.TimelineElement.TimelineElementGetMaxDurationMethodInfo
ResolveGroupMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
ResolveGroupMethod "getName" o = GES.TimelineElement.TimelineElementGetNameMethodInfo
ResolveGroupMethod "getNaturalFramerate" o = GES.TimelineElement.TimelineElementGetNaturalFramerateMethodInfo
ResolveGroupMethod "getParent" o = GES.TimelineElement.TimelineElementGetParentMethodInfo
ResolveGroupMethod "getPriority" o = GES.TimelineElement.TimelineElementGetPriorityMethodInfo
ResolveGroupMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveGroupMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveGroupMethod "getStart" o = GES.TimelineElement.TimelineElementGetStartMethodInfo
ResolveGroupMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
ResolveGroupMethod "getTimeline" o = GES.TimelineElement.TimelineElementGetTimelineMethodInfo
ResolveGroupMethod "getToplevelParent" o = GES.TimelineElement.TimelineElementGetToplevelParentMethodInfo
ResolveGroupMethod "getTrackTypes" o = GES.TimelineElement.TimelineElementGetTrackTypesMethodInfo
ResolveGroupMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
ResolveGroupMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
ResolveGroupMethod "setAsset" o = GES.Extractable.ExtractableSetAssetMethodInfo
ResolveGroupMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
ResolveGroupMethod "setChildProperty" o = GES.TimelineElement.TimelineElementSetChildPropertyMethodInfo
ResolveGroupMethod "setChildPropertyByPspec" o = GES.TimelineElement.TimelineElementSetChildPropertyByPspecMethodInfo
ResolveGroupMethod "setChildPropertyFull" o = GES.TimelineElement.TimelineElementSetChildPropertyFullMethodInfo
ResolveGroupMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveGroupMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveGroupMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
ResolveGroupMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
ResolveGroupMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
ResolveGroupMethod "setDuration" o = GES.TimelineElement.TimelineElementSetDurationMethodInfo
ResolveGroupMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
ResolveGroupMethod "setInpoint" o = GES.TimelineElement.TimelineElementSetInpointMethodInfo
ResolveGroupMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
ResolveGroupMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
ResolveGroupMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
ResolveGroupMethod "setMaxDuration" o = GES.TimelineElement.TimelineElementSetMaxDurationMethodInfo
ResolveGroupMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
ResolveGroupMethod "setName" o = GES.TimelineElement.TimelineElementSetNameMethodInfo
ResolveGroupMethod "setParent" o = GES.TimelineElement.TimelineElementSetParentMethodInfo
ResolveGroupMethod "setPriority" o = GES.TimelineElement.TimelineElementSetPriorityMethodInfo
ResolveGroupMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveGroupMethod "setStart" o = GES.TimelineElement.TimelineElementSetStartMethodInfo
ResolveGroupMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
ResolveGroupMethod "setTimeline" o = GES.TimelineElement.TimelineElementSetTimelineMethodInfo
ResolveGroupMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
ResolveGroupMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
ResolveGroupMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveGroupMethod t Group, O.OverloadedMethod info Group p) => OL.IsLabel t (Group -> 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 ~ ResolveGroupMethod t Group, O.OverloadedMethod info Group p, R.HasField t Group p) => R.HasField t Group p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveGroupMethod t Group, O.OverloadedMethodInfo info Group) => OL.IsLabel t (O.MethodProxy info Group) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getGroupDuration :: (MonadIO m, IsGroup o) => o -> m Word64
getGroupDuration :: forall (m :: * -> *) o. (MonadIO m, IsGroup o) => o -> m Word64
getGroupDuration o
obj = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"duration"
setGroupDuration :: (MonadIO m, IsGroup o) => o -> Word64 -> m ()
setGroupDuration :: forall (m :: * -> *) o.
(MonadIO m, IsGroup o) =>
o -> Word64 -> m ()
setGroupDuration o
obj Word64
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"duration" Word64
val
constructGroupDuration :: (IsGroup o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructGroupDuration :: forall o (m :: * -> *).
(IsGroup o, MonadIO m) =>
Word64 -> m (GValueConstruct o)
constructGroupDuration Word64
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 -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"duration" Word64
val
#if defined(ENABLE_OVERLOADING)
data GroupDurationPropertyInfo
instance AttrInfo GroupDurationPropertyInfo where
type AttrAllowedOps GroupDurationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint GroupDurationPropertyInfo = IsGroup
type AttrSetTypeConstraint GroupDurationPropertyInfo = (~) Word64
type AttrTransferTypeConstraint GroupDurationPropertyInfo = (~) Word64
type AttrTransferType GroupDurationPropertyInfo = Word64
type AttrGetType GroupDurationPropertyInfo = Word64
type AttrLabel GroupDurationPropertyInfo = "duration"
type AttrOrigin GroupDurationPropertyInfo = Group
attrGet = getGroupDuration
attrSet = setGroupDuration
attrTransfer _ v = do
return v
attrConstruct = constructGroupDuration
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Group.duration"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Group.html#g:attr:duration"
})
#endif
getGroupInPoint :: (MonadIO m, IsGroup o) => o -> m Word64
getGroupInPoint :: forall (m :: * -> *) o. (MonadIO m, IsGroup o) => o -> m Word64
getGroupInPoint o
obj = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"in-point"
setGroupInPoint :: (MonadIO m, IsGroup o) => o -> Word64 -> m ()
setGroupInPoint :: forall (m :: * -> *) o.
(MonadIO m, IsGroup o) =>
o -> Word64 -> m ()
setGroupInPoint o
obj Word64
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"in-point" Word64
val
constructGroupInPoint :: (IsGroup o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructGroupInPoint :: forall o (m :: * -> *).
(IsGroup o, MonadIO m) =>
Word64 -> m (GValueConstruct o)
constructGroupInPoint Word64
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 -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"in-point" Word64
val
#if defined(ENABLE_OVERLOADING)
data GroupInPointPropertyInfo
instance AttrInfo GroupInPointPropertyInfo where
type AttrAllowedOps GroupInPointPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint GroupInPointPropertyInfo = IsGroup
type AttrSetTypeConstraint GroupInPointPropertyInfo = (~) Word64
type AttrTransferTypeConstraint GroupInPointPropertyInfo = (~) Word64
type AttrTransferType GroupInPointPropertyInfo = Word64
type AttrGetType GroupInPointPropertyInfo = Word64
type AttrLabel GroupInPointPropertyInfo = "in-point"
type AttrOrigin GroupInPointPropertyInfo = Group
attrGet = getGroupInPoint
attrSet = setGroupInPoint
attrTransfer _ v = do
return v
attrConstruct = constructGroupInPoint
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Group.inPoint"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Group.html#g:attr:inPoint"
})
#endif
getGroupMaxDuration :: (MonadIO m, IsGroup o) => o -> m Word64
getGroupMaxDuration :: forall (m :: * -> *) o. (MonadIO m, IsGroup o) => o -> m Word64
getGroupMaxDuration o
obj = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"max-duration"
setGroupMaxDuration :: (MonadIO m, IsGroup o) => o -> Word64 -> m ()
setGroupMaxDuration :: forall (m :: * -> *) o.
(MonadIO m, IsGroup o) =>
o -> Word64 -> m ()
setGroupMaxDuration o
obj Word64
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"max-duration" Word64
val
constructGroupMaxDuration :: (IsGroup o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructGroupMaxDuration :: forall o (m :: * -> *).
(IsGroup o, MonadIO m) =>
Word64 -> m (GValueConstruct o)
constructGroupMaxDuration Word64
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 -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"max-duration" Word64
val
#if defined(ENABLE_OVERLOADING)
data GroupMaxDurationPropertyInfo
instance AttrInfo GroupMaxDurationPropertyInfo where
type AttrAllowedOps GroupMaxDurationPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint GroupMaxDurationPropertyInfo = IsGroup
type AttrSetTypeConstraint GroupMaxDurationPropertyInfo = (~) Word64
type AttrTransferTypeConstraint GroupMaxDurationPropertyInfo = (~) Word64
type AttrTransferType GroupMaxDurationPropertyInfo = Word64
type AttrGetType GroupMaxDurationPropertyInfo = Word64
type AttrLabel GroupMaxDurationPropertyInfo = "max-duration"
type AttrOrigin GroupMaxDurationPropertyInfo = Group
attrGet = getGroupMaxDuration
attrSet = setGroupMaxDuration
attrTransfer _ v = do
return v
attrConstruct = constructGroupMaxDuration
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Group.maxDuration"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Group.html#g:attr:maxDuration"
})
#endif
getGroupPriority :: (MonadIO m, IsGroup o) => o -> m Word32
getGroupPriority :: forall (m :: * -> *) o. (MonadIO m, IsGroup o) => o -> m Word32
getGroupPriority o
obj = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word32
forall a. GObject a => a -> String -> IO Word32
B.Properties.getObjectPropertyUInt32 o
obj String
"priority"
setGroupPriority :: (MonadIO m, IsGroup o) => o -> Word32 -> m ()
setGroupPriority :: forall (m :: * -> *) o.
(MonadIO m, IsGroup o) =>
o -> Word32 -> m ()
setGroupPriority o
obj Word32
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Word32 -> IO ()
forall a. GObject a => a -> String -> Word32 -> IO ()
B.Properties.setObjectPropertyUInt32 o
obj String
"priority" Word32
val
constructGroupPriority :: (IsGroup o, MIO.MonadIO m) => Word32 -> m (GValueConstruct o)
constructGroupPriority :: forall o (m :: * -> *).
(IsGroup o, MonadIO m) =>
Word32 -> m (GValueConstruct o)
constructGroupPriority Word32
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 -> Word32 -> IO (GValueConstruct o)
forall o. String -> Word32 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt32 String
"priority" Word32
val
#if defined(ENABLE_OVERLOADING)
data GroupPriorityPropertyInfo
instance AttrInfo GroupPriorityPropertyInfo where
type AttrAllowedOps GroupPriorityPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint GroupPriorityPropertyInfo = IsGroup
type AttrSetTypeConstraint GroupPriorityPropertyInfo = (~) Word32
type AttrTransferTypeConstraint GroupPriorityPropertyInfo = (~) Word32
type AttrTransferType GroupPriorityPropertyInfo = Word32
type AttrGetType GroupPriorityPropertyInfo = Word32
type AttrLabel GroupPriorityPropertyInfo = "priority"
type AttrOrigin GroupPriorityPropertyInfo = Group
attrGet = getGroupPriority
attrSet = setGroupPriority
attrTransfer _ v = do
return v
attrConstruct = constructGroupPriority
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Group.priority"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Group.html#g:attr:priority"
})
#endif
getGroupStart :: (MonadIO m, IsGroup o) => o -> m Word64
getGroupStart :: forall (m :: * -> *) o. (MonadIO m, IsGroup o) => o -> m Word64
getGroupStart o
obj = IO Word64 -> m Word64
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ o -> String -> IO Word64
forall a. GObject a => a -> String -> IO Word64
B.Properties.getObjectPropertyUInt64 o
obj String
"start"
setGroupStart :: (MonadIO m, IsGroup o) => o -> Word64 -> m ()
setGroupStart :: forall (m :: * -> *) o.
(MonadIO m, IsGroup o) =>
o -> Word64 -> m ()
setGroupStart o
obj Word64
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Word64 -> IO ()
forall a. GObject a => a -> String -> Word64 -> IO ()
B.Properties.setObjectPropertyUInt64 o
obj String
"start" Word64
val
constructGroupStart :: (IsGroup o, MIO.MonadIO m) => Word64 -> m (GValueConstruct o)
constructGroupStart :: forall o (m :: * -> *).
(IsGroup o, MonadIO m) =>
Word64 -> m (GValueConstruct o)
constructGroupStart Word64
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 -> Word64 -> IO (GValueConstruct o)
forall o. String -> Word64 -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyUInt64 String
"start" Word64
val
#if defined(ENABLE_OVERLOADING)
data GroupStartPropertyInfo
instance AttrInfo GroupStartPropertyInfo where
type AttrAllowedOps GroupStartPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint GroupStartPropertyInfo = IsGroup
type AttrSetTypeConstraint GroupStartPropertyInfo = (~) Word64
type AttrTransferTypeConstraint GroupStartPropertyInfo = (~) Word64
type AttrTransferType GroupStartPropertyInfo = Word64
type AttrGetType GroupStartPropertyInfo = Word64
type AttrLabel GroupStartPropertyInfo = "start"
type AttrOrigin GroupStartPropertyInfo = Group
attrGet = getGroupStart
attrSet = setGroupStart
attrTransfer _ v = do
return v
attrConstruct = constructGroupStart
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GES.Objects.Group.start"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ges-1.0.4/docs/GI-GES-Objects-Group.html#g:attr:start"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Group
type instance O.AttributeList Group = GroupAttributeList
type GroupAttributeList = ('[ '("duration", GroupDurationPropertyInfo), '("height", GES.Container.ContainerHeightPropertyInfo), '("inPoint", GroupInPointPropertyInfo), '("maxDuration", GroupMaxDurationPropertyInfo), '("name", GES.TimelineElement.TimelineElementNamePropertyInfo), '("parent", GES.TimelineElement.TimelineElementParentPropertyInfo), '("priority", GroupPriorityPropertyInfo), '("serialize", GES.TimelineElement.TimelineElementSerializePropertyInfo), '("start", GroupStartPropertyInfo), '("timeline", GES.TimelineElement.TimelineElementTimelinePropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
groupDuration :: AttrLabelProxy "duration"
groupDuration = AttrLabelProxy
groupInPoint :: AttrLabelProxy "inPoint"
groupInPoint = AttrLabelProxy
groupMaxDuration :: AttrLabelProxy "maxDuration"
groupMaxDuration = AttrLabelProxy
groupPriority :: AttrLabelProxy "priority"
groupPriority = AttrLabelProxy
groupStart :: AttrLabelProxy "start"
groupStart = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Group = GroupSignalList
type GroupSignalList = ('[ '("childAdded", GES.Container.ContainerChildAddedSignalInfo), '("childPropertyAdded", GES.TimelineElement.TimelineElementChildPropertyAddedSignalInfo), '("childPropertyRemoved", GES.TimelineElement.TimelineElementChildPropertyRemovedSignalInfo), '("childRemoved", GES.Container.ContainerChildRemovedSignalInfo), '("deepNotify", GES.TimelineElement.TimelineElementDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("notifyMeta", GES.MetaContainer.MetaContainerNotifyMetaSignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "ges_group_new" ges_group_new ::
IO (Ptr Group)
groupNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Group
groupNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Group
groupNew = IO Group -> m Group
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Group -> m Group) -> IO Group -> m Group
forall a b. (a -> b) -> a -> b
$ do
Ptr Group
result <- IO (Ptr Group)
ges_group_new
Text -> Ptr Group -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"groupNew" Ptr Group
result
Group
result' <- ((ManagedPtr Group -> Group) -> Ptr Group -> IO Group
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Group -> Group
Group) Ptr Group
result
Group -> IO Group
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Group
result'
#if defined(ENABLE_OVERLOADING)
#endif