{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson and Iñaki García Etxebarria
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.GES.Objects.AudioTransition
    ( 

-- * Exported types
    AudioTransition(..)                     ,
    IsAudioTransition                       ,
    toAudioTransition                       ,


 -- * Methods
-- | 
-- 
--  === __Click to display all available methods, including inherited ones__
-- ==== Methods
-- [addChildProperty]("GI.GES.Objects.TimelineElement#g:method:addChildProperty"), [addChildrenProps]("GI.GES.Objects.TrackElement#g:method:addChildrenProps"), [addMetasFromString]("GI.GES.Interfaces.MetaContainer#g:method:addMetasFromString"), [bindProperty]("GI.GObject.Objects.Object#g:method:bindProperty"), [bindPropertyFull]("GI.GObject.Objects.Object#g:method:bindPropertyFull"), [checkMetaRegistered]("GI.GES.Interfaces.MetaContainer#g:method:checkMetaRegistered"), [clampControlSource]("GI.GES.Objects.TrackElement#g:method:clampControlSource"), [copy]("GI.GES.Objects.TimelineElement#g:method:copy"), [edit]("GI.GES.Objects.TrackElement#g:method:edit"), [editFull]("GI.GES.Objects.TimelineElement#g:method:editFull"), [forceFloating]("GI.GObject.Objects.Object#g:method:forceFloating"), [foreach]("GI.GES.Interfaces.MetaContainer#g:method:foreach"), [freezeNotify]("GI.GObject.Objects.Object#g:method:freezeNotify"), [getv]("GI.GObject.Objects.Object#g:method:getv"), [hasInternalSource]("GI.GES.Objects.TrackElement#g:method:hasInternalSource"), [isActive]("GI.GES.Objects.TrackElement#g:method:isActive"), [isCore]("GI.GES.Objects.TrackElement#g:method:isCore"), [isFloating]("GI.GObject.Objects.Object#g:method:isFloating"), [listChildrenProperties]("GI.GES.Objects.TrackElement#g:method:listChildrenProperties"), [lookupChild]("GI.GES.Objects.TrackElement#g:method:lookupChild"), [metasToString]("GI.GES.Interfaces.MetaContainer#g:method:metasToString"), [notify]("GI.GObject.Objects.Object#g:method:notify"), [notifyByPspec]("GI.GObject.Objects.Object#g:method:notifyByPspec"), [paste]("GI.GES.Objects.TimelineElement#g:method:paste"), [ref]("GI.GObject.Objects.Object#g:method:ref"), [refSink]("GI.GObject.Objects.Object#g:method:refSink"), [registerMeta]("GI.GES.Interfaces.MetaContainer#g:method:registerMeta"), [registerMetaBoolean]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaBoolean"), [registerMetaDate]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaDate"), [registerMetaDateTime]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaDateTime"), [registerMetaDouble]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaDouble"), [registerMetaFloat]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaFloat"), [registerMetaInt]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaInt"), [registerMetaInt64]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaInt64"), [registerMetaString]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaString"), [registerMetaUint]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaUint"), [registerMetaUint64]("GI.GES.Interfaces.MetaContainer#g:method:registerMetaUint64"), [registerStaticMeta]("GI.GES.Interfaces.MetaContainer#g:method:registerStaticMeta"), [removeChildProperty]("GI.GES.Objects.TimelineElement#g:method:removeChildProperty"), [removeControlBinding]("GI.GES.Objects.TrackElement#g:method:removeControlBinding"), [ripple]("GI.GES.Objects.TimelineElement#g:method:ripple"), [rippleEnd]("GI.GES.Objects.TimelineElement#g:method:rippleEnd"), [rollEnd]("GI.GES.Objects.TimelineElement#g:method:rollEnd"), [rollStart]("GI.GES.Objects.TimelineElement#g:method:rollStart"), [runDispose]("GI.GObject.Objects.Object#g:method:runDispose"), [stealData]("GI.GObject.Objects.Object#g:method:stealData"), [stealQdata]("GI.GObject.Objects.Object#g:method:stealQdata"), [thawNotify]("GI.GObject.Objects.Object#g:method:thawNotify"), [trim]("GI.GES.Objects.TimelineElement#g:method:trim"), [unref]("GI.GObject.Objects.Object#g:method:unref"), [watchClosure]("GI.GObject.Objects.Object#g:method:watchClosure").
-- 
-- ==== Getters
-- [getAllControlBindings]("GI.GES.Objects.TrackElement#g:method:getAllControlBindings"), [getAsset]("GI.GES.Interfaces.Extractable#g:method:getAsset"), [getAutoClampControlSources]("GI.GES.Objects.TrackElement#g:method:getAutoClampControlSources"), [getBoolean]("GI.GES.Interfaces.MetaContainer#g:method:getBoolean"), [getChildProperty]("GI.GES.Objects.TimelineElement#g:method:getChildProperty"), [getChildPropertyByPspec]("GI.GES.Objects.TimelineElement#g:method:getChildPropertyByPspec"), [getControlBinding]("GI.GES.Objects.TrackElement#g:method:getControlBinding"), [getData]("GI.GObject.Objects.Object#g:method:getData"), [getDate]("GI.GES.Interfaces.MetaContainer#g:method:getDate"), [getDateTime]("GI.GES.Interfaces.MetaContainer#g:method:getDateTime"), [getDouble]("GI.GES.Interfaces.MetaContainer#g:method:getDouble"), [getDuration]("GI.GES.Objects.TimelineElement#g:method:getDuration"), [getElement]("GI.GES.Objects.TrackElement#g:method:getElement"), [getFloat]("GI.GES.Interfaces.MetaContainer#g:method:getFloat"), [getGnlobject]("GI.GES.Objects.TrackElement#g:method:getGnlobject"), [getId]("GI.GES.Interfaces.Extractable#g:method:getId"), [getInpoint]("GI.GES.Objects.TimelineElement#g:method:getInpoint"), [getInt]("GI.GES.Interfaces.MetaContainer#g:method:getInt"), [getInt64]("GI.GES.Interfaces.MetaContainer#g:method:getInt64"), [getLayerPriority]("GI.GES.Objects.TimelineElement#g:method:getLayerPriority"), [getMarkerList]("GI.GES.Interfaces.MetaContainer#g:method:getMarkerList"), [getMaxDuration]("GI.GES.Objects.TimelineElement#g:method:getMaxDuration"), [getMeta]("GI.GES.Interfaces.MetaContainer#g:method:getMeta"), [getName]("GI.GES.Objects.TimelineElement#g:method:getName"), [getNaturalFramerate]("GI.GES.Objects.TimelineElement#g:method:getNaturalFramerate"), [getNleobject]("GI.GES.Objects.TrackElement#g:method:getNleobject"), [getParent]("GI.GES.Objects.TimelineElement#g:method:getParent"), [getPriority]("GI.GES.Objects.TimelineElement#g:method:getPriority"), [getProperty]("GI.GObject.Objects.Object#g:method:getProperty"), [getQdata]("GI.GObject.Objects.Object#g:method:getQdata"), [getStart]("GI.GES.Objects.TimelineElement#g:method:getStart"), [getString]("GI.GES.Interfaces.MetaContainer#g:method:getString"), [getTimeline]("GI.GES.Objects.TimelineElement#g:method:getTimeline"), [getToplevelParent]("GI.GES.Objects.TimelineElement#g:method:getToplevelParent"), [getTrack]("GI.GES.Objects.TrackElement#g:method:getTrack"), [getTrackType]("GI.GES.Objects.TrackElement#g:method:getTrackType"), [getTrackTypes]("GI.GES.Objects.TimelineElement#g:method:getTrackTypes"), [getUint]("GI.GES.Interfaces.MetaContainer#g:method:getUint"), [getUint64]("GI.GES.Interfaces.MetaContainer#g:method:getUint64").
-- 
-- ==== Setters
-- [setActive]("GI.GES.Objects.TrackElement#g:method:setActive"), [setAsset]("GI.GES.Interfaces.Extractable#g:method:setAsset"), [setAutoClampControlSources]("GI.GES.Objects.TrackElement#g:method:setAutoClampControlSources"), [setBoolean]("GI.GES.Interfaces.MetaContainer#g:method:setBoolean"), [setChildProperty]("GI.GES.Objects.TimelineElement#g:method:setChildProperty"), [setChildPropertyByPspec]("GI.GES.Objects.TimelineElement#g:method:setChildPropertyByPspec"), [setChildPropertyFull]("GI.GES.Objects.TimelineElement#g:method:setChildPropertyFull"), [setControlSource]("GI.GES.Objects.TrackElement#g:method:setControlSource"), [setData]("GI.GObject.Objects.Object#g:method:setData"), [setDataFull]("GI.GObject.Objects.Object#g:method:setDataFull"), [setDate]("GI.GES.Interfaces.MetaContainer#g:method:setDate"), [setDateTime]("GI.GES.Interfaces.MetaContainer#g:method:setDateTime"), [setDouble]("GI.GES.Interfaces.MetaContainer#g:method:setDouble"), [setDuration]("GI.GES.Objects.TimelineElement#g:method:setDuration"), [setFloat]("GI.GES.Interfaces.MetaContainer#g:method:setFloat"), [setHasInternalSource]("GI.GES.Objects.TrackElement#g:method:setHasInternalSource"), [setInpoint]("GI.GES.Objects.TimelineElement#g:method:setInpoint"), [setInt]("GI.GES.Interfaces.MetaContainer#g:method:setInt"), [setInt64]("GI.GES.Interfaces.MetaContainer#g:method:setInt64"), [setMarkerList]("GI.GES.Interfaces.MetaContainer#g:method:setMarkerList"), [setMaxDuration]("GI.GES.Objects.TimelineElement#g:method:setMaxDuration"), [setMeta]("GI.GES.Interfaces.MetaContainer#g:method:setMeta"), [setName]("GI.GES.Objects.TimelineElement#g:method:setName"), [setParent]("GI.GES.Objects.TimelineElement#g:method:setParent"), [setPriority]("GI.GES.Objects.TimelineElement#g:method:setPriority"), [setProperty]("GI.GObject.Objects.Object#g:method:setProperty"), [setStart]("GI.GES.Objects.TimelineElement#g:method:setStart"), [setString]("GI.GES.Interfaces.MetaContainer#g:method:setString"), [setTimeline]("GI.GES.Objects.TimelineElement#g:method:setTimeline"), [setTrackType]("GI.GES.Objects.TrackElement#g:method:setTrackType"), [setUint]("GI.GES.Interfaces.MetaContainer#g:method:setUint"), [setUint64]("GI.GES.Interfaces.MetaContainer#g:method:setUint64").

#if defined(ENABLE_OVERLOADING)
    ResolveAudioTransitionMethod            ,
#endif

-- ** new #method:new#

    audioTransitionNew                      ,




    ) 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.Operation as GES.Operation
import {-# SOURCE #-} qualified GI.GES.Objects.TimelineElement as GES.TimelineElement
import {-# SOURCE #-} qualified GI.GES.Objects.TrackElement as GES.TrackElement
import {-# SOURCE #-} qualified GI.GES.Objects.Transition as GES.Transition
import qualified GI.GObject.Objects.Object as GObject.Object

-- | Memory-managed wrapper type.
newtype AudioTransition = AudioTransition (SP.ManagedPtr AudioTransition)
    deriving (AudioTransition -> AudioTransition -> Bool
(AudioTransition -> AudioTransition -> Bool)
-> (AudioTransition -> AudioTransition -> Bool)
-> Eq AudioTransition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AudioTransition -> AudioTransition -> Bool
== :: AudioTransition -> AudioTransition -> Bool
$c/= :: AudioTransition -> AudioTransition -> Bool
/= :: AudioTransition -> AudioTransition -> Bool
Eq)

instance SP.ManagedPtrNewtype AudioTransition where
    toManagedPtr :: AudioTransition -> ManagedPtr AudioTransition
toManagedPtr (AudioTransition ManagedPtr AudioTransition
p) = ManagedPtr AudioTransition
p

foreign import ccall "ges_audio_transition_get_type"
    c_ges_audio_transition_get_type :: IO B.Types.GType

instance B.Types.TypedObject AudioTransition where
    glibType :: IO GType
glibType = IO GType
c_ges_audio_transition_get_type

instance B.Types.GObject AudioTransition

-- | Type class for types which can be safely cast to `AudioTransition`, for instance with `toAudioTransition`.
class (SP.GObject o, O.IsDescendantOf AudioTransition o) => IsAudioTransition o
instance (SP.GObject o, O.IsDescendantOf AudioTransition o) => IsAudioTransition o

instance O.HasParentTypes AudioTransition
type instance O.ParentTypes AudioTransition = '[GES.Transition.Transition, GES.Operation.Operation, GES.TrackElement.TrackElement, GES.TimelineElement.TimelineElement, GObject.Object.Object, GES.Extractable.Extractable, GES.MetaContainer.MetaContainer]

-- | Cast to `AudioTransition`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toAudioTransition :: (MIO.MonadIO m, IsAudioTransition o) => o -> m AudioTransition
toAudioTransition :: forall (m :: * -> *) o.
(MonadIO m, IsAudioTransition o) =>
o -> m AudioTransition
toAudioTransition = IO AudioTransition -> m AudioTransition
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO AudioTransition -> m AudioTransition)
-> (o -> IO AudioTransition) -> o -> m AudioTransition
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr AudioTransition -> AudioTransition)
-> o -> IO AudioTransition
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
 ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr AudioTransition -> AudioTransition
AudioTransition

-- | Convert 'AudioTransition' to and from 'Data.GI.Base.GValue.GValue'. See 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue (Maybe AudioTransition) where
    gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ges_audio_transition_get_type
    gvalueSet_ :: Ptr GValue -> Maybe AudioTransition -> IO ()
gvalueSet_ Ptr GValue
gv Maybe AudioTransition
P.Nothing = Ptr GValue -> Ptr AudioTransition -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr AudioTransition
forall a. Ptr a
FP.nullPtr :: FP.Ptr AudioTransition)
    gvalueSet_ Ptr GValue
gv (P.Just AudioTransition
obj) = AudioTransition -> (Ptr AudioTransition -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr AudioTransition
obj (Ptr GValue -> Ptr AudioTransition -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
    gvalueGet_ :: Ptr GValue -> IO (Maybe AudioTransition)
gvalueGet_ Ptr GValue
gv = do
        Ptr AudioTransition
ptr <- Ptr GValue -> IO (Ptr AudioTransition)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr AudioTransition)
        if Ptr AudioTransition
ptr Ptr AudioTransition -> Ptr AudioTransition -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr AudioTransition
forall a. Ptr a
FP.nullPtr
        then AudioTransition -> Maybe AudioTransition
forall a. a -> Maybe a
P.Just (AudioTransition -> Maybe AudioTransition)
-> IO AudioTransition -> IO (Maybe AudioTransition)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr AudioTransition -> AudioTransition)
-> Ptr AudioTransition -> IO AudioTransition
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr AudioTransition -> AudioTransition
AudioTransition Ptr AudioTransition
ptr
        else Maybe AudioTransition -> IO (Maybe AudioTransition)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe AudioTransition
forall a. Maybe a
P.Nothing
        
    

#if defined(ENABLE_OVERLOADING)
type family ResolveAudioTransitionMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
    ResolveAudioTransitionMethod "addChildProperty" o = GES.TimelineElement.TimelineElementAddChildPropertyMethodInfo
    ResolveAudioTransitionMethod "addChildrenProps" o = GES.TrackElement.TrackElementAddChildrenPropsMethodInfo
    ResolveAudioTransitionMethod "addMetasFromString" o = GES.MetaContainer.MetaContainerAddMetasFromStringMethodInfo
    ResolveAudioTransitionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveAudioTransitionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveAudioTransitionMethod "checkMetaRegistered" o = GES.MetaContainer.MetaContainerCheckMetaRegisteredMethodInfo
    ResolveAudioTransitionMethod "clampControlSource" o = GES.TrackElement.TrackElementClampControlSourceMethodInfo
    ResolveAudioTransitionMethod "copy" o = GES.TimelineElement.TimelineElementCopyMethodInfo
    ResolveAudioTransitionMethod "edit" o = GES.TrackElement.TrackElementEditMethodInfo
    ResolveAudioTransitionMethod "editFull" o = GES.TimelineElement.TimelineElementEditFullMethodInfo
    ResolveAudioTransitionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveAudioTransitionMethod "foreach" o = GES.MetaContainer.MetaContainerForeachMethodInfo
    ResolveAudioTransitionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveAudioTransitionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveAudioTransitionMethod "hasInternalSource" o = GES.TrackElement.TrackElementHasInternalSourceMethodInfo
    ResolveAudioTransitionMethod "isActive" o = GES.TrackElement.TrackElementIsActiveMethodInfo
    ResolveAudioTransitionMethod "isCore" o = GES.TrackElement.TrackElementIsCoreMethodInfo
    ResolveAudioTransitionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveAudioTransitionMethod "listChildrenProperties" o = GES.TrackElement.TrackElementListChildrenPropertiesMethodInfo
    ResolveAudioTransitionMethod "lookupChild" o = GES.TrackElement.TrackElementLookupChildMethodInfo
    ResolveAudioTransitionMethod "metasToString" o = GES.MetaContainer.MetaContainerMetasToStringMethodInfo
    ResolveAudioTransitionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveAudioTransitionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveAudioTransitionMethod "paste" o = GES.TimelineElement.TimelineElementPasteMethodInfo
    ResolveAudioTransitionMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveAudioTransitionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveAudioTransitionMethod "registerMeta" o = GES.MetaContainer.MetaContainerRegisterMetaMethodInfo
    ResolveAudioTransitionMethod "registerMetaBoolean" o = GES.MetaContainer.MetaContainerRegisterMetaBooleanMethodInfo
    ResolveAudioTransitionMethod "registerMetaDate" o = GES.MetaContainer.MetaContainerRegisterMetaDateMethodInfo
    ResolveAudioTransitionMethod "registerMetaDateTime" o = GES.MetaContainer.MetaContainerRegisterMetaDateTimeMethodInfo
    ResolveAudioTransitionMethod "registerMetaDouble" o = GES.MetaContainer.MetaContainerRegisterMetaDoubleMethodInfo
    ResolveAudioTransitionMethod "registerMetaFloat" o = GES.MetaContainer.MetaContainerRegisterMetaFloatMethodInfo
    ResolveAudioTransitionMethod "registerMetaInt" o = GES.MetaContainer.MetaContainerRegisterMetaIntMethodInfo
    ResolveAudioTransitionMethod "registerMetaInt64" o = GES.MetaContainer.MetaContainerRegisterMetaInt64MethodInfo
    ResolveAudioTransitionMethod "registerMetaString" o = GES.MetaContainer.MetaContainerRegisterMetaStringMethodInfo
    ResolveAudioTransitionMethod "registerMetaUint" o = GES.MetaContainer.MetaContainerRegisterMetaUintMethodInfo
    ResolveAudioTransitionMethod "registerMetaUint64" o = GES.MetaContainer.MetaContainerRegisterMetaUint64MethodInfo
    ResolveAudioTransitionMethod "registerStaticMeta" o = GES.MetaContainer.MetaContainerRegisterStaticMetaMethodInfo
    ResolveAudioTransitionMethod "removeChildProperty" o = GES.TimelineElement.TimelineElementRemoveChildPropertyMethodInfo
    ResolveAudioTransitionMethod "removeControlBinding" o = GES.TrackElement.TrackElementRemoveControlBindingMethodInfo
    ResolveAudioTransitionMethod "ripple" o = GES.TimelineElement.TimelineElementRippleMethodInfo
    ResolveAudioTransitionMethod "rippleEnd" o = GES.TimelineElement.TimelineElementRippleEndMethodInfo
    ResolveAudioTransitionMethod "rollEnd" o = GES.TimelineElement.TimelineElementRollEndMethodInfo
    ResolveAudioTransitionMethod "rollStart" o = GES.TimelineElement.TimelineElementRollStartMethodInfo
    ResolveAudioTransitionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveAudioTransitionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveAudioTransitionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveAudioTransitionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveAudioTransitionMethod "trim" o = GES.TimelineElement.TimelineElementTrimMethodInfo
    ResolveAudioTransitionMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveAudioTransitionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveAudioTransitionMethod "getAllControlBindings" o = GES.TrackElement.TrackElementGetAllControlBindingsMethodInfo
    ResolveAudioTransitionMethod "getAsset" o = GES.Extractable.ExtractableGetAssetMethodInfo
    ResolveAudioTransitionMethod "getAutoClampControlSources" o = GES.TrackElement.TrackElementGetAutoClampControlSourcesMethodInfo
    ResolveAudioTransitionMethod "getBoolean" o = GES.MetaContainer.MetaContainerGetBooleanMethodInfo
    ResolveAudioTransitionMethod "getChildProperty" o = GES.TimelineElement.TimelineElementGetChildPropertyMethodInfo
    ResolveAudioTransitionMethod "getChildPropertyByPspec" o = GES.TimelineElement.TimelineElementGetChildPropertyByPspecMethodInfo
    ResolveAudioTransitionMethod "getControlBinding" o = GES.TrackElement.TrackElementGetControlBindingMethodInfo
    ResolveAudioTransitionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveAudioTransitionMethod "getDate" o = GES.MetaContainer.MetaContainerGetDateMethodInfo
    ResolveAudioTransitionMethod "getDateTime" o = GES.MetaContainer.MetaContainerGetDateTimeMethodInfo
    ResolveAudioTransitionMethod "getDouble" o = GES.MetaContainer.MetaContainerGetDoubleMethodInfo
    ResolveAudioTransitionMethod "getDuration" o = GES.TimelineElement.TimelineElementGetDurationMethodInfo
    ResolveAudioTransitionMethod "getElement" o = GES.TrackElement.TrackElementGetElementMethodInfo
    ResolveAudioTransitionMethod "getFloat" o = GES.MetaContainer.MetaContainerGetFloatMethodInfo
    ResolveAudioTransitionMethod "getGnlobject" o = GES.TrackElement.TrackElementGetGnlobjectMethodInfo
    ResolveAudioTransitionMethod "getId" o = GES.Extractable.ExtractableGetIdMethodInfo
    ResolveAudioTransitionMethod "getInpoint" o = GES.TimelineElement.TimelineElementGetInpointMethodInfo
    ResolveAudioTransitionMethod "getInt" o = GES.MetaContainer.MetaContainerGetIntMethodInfo
    ResolveAudioTransitionMethod "getInt64" o = GES.MetaContainer.MetaContainerGetInt64MethodInfo
    ResolveAudioTransitionMethod "getLayerPriority" o = GES.TimelineElement.TimelineElementGetLayerPriorityMethodInfo
    ResolveAudioTransitionMethod "getMarkerList" o = GES.MetaContainer.MetaContainerGetMarkerListMethodInfo
    ResolveAudioTransitionMethod "getMaxDuration" o = GES.TimelineElement.TimelineElementGetMaxDurationMethodInfo
    ResolveAudioTransitionMethod "getMeta" o = GES.MetaContainer.MetaContainerGetMetaMethodInfo
    ResolveAudioTransitionMethod "getName" o = GES.TimelineElement.TimelineElementGetNameMethodInfo
    ResolveAudioTransitionMethod "getNaturalFramerate" o = GES.TimelineElement.TimelineElementGetNaturalFramerateMethodInfo
    ResolveAudioTransitionMethod "getNleobject" o = GES.TrackElement.TrackElementGetNleobjectMethodInfo
    ResolveAudioTransitionMethod "getParent" o = GES.TimelineElement.TimelineElementGetParentMethodInfo
    ResolveAudioTransitionMethod "getPriority" o = GES.TimelineElement.TimelineElementGetPriorityMethodInfo
    ResolveAudioTransitionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveAudioTransitionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveAudioTransitionMethod "getStart" o = GES.TimelineElement.TimelineElementGetStartMethodInfo
    ResolveAudioTransitionMethod "getString" o = GES.MetaContainer.MetaContainerGetStringMethodInfo
    ResolveAudioTransitionMethod "getTimeline" o = GES.TimelineElement.TimelineElementGetTimelineMethodInfo
    ResolveAudioTransitionMethod "getToplevelParent" o = GES.TimelineElement.TimelineElementGetToplevelParentMethodInfo
    ResolveAudioTransitionMethod "getTrack" o = GES.TrackElement.TrackElementGetTrackMethodInfo
    ResolveAudioTransitionMethod "getTrackType" o = GES.TrackElement.TrackElementGetTrackTypeMethodInfo
    ResolveAudioTransitionMethod "getTrackTypes" o = GES.TimelineElement.TimelineElementGetTrackTypesMethodInfo
    ResolveAudioTransitionMethod "getUint" o = GES.MetaContainer.MetaContainerGetUintMethodInfo
    ResolveAudioTransitionMethod "getUint64" o = GES.MetaContainer.MetaContainerGetUint64MethodInfo
    ResolveAudioTransitionMethod "setActive" o = GES.TrackElement.TrackElementSetActiveMethodInfo
    ResolveAudioTransitionMethod "setAsset" o = GES.Extractable.ExtractableSetAssetMethodInfo
    ResolveAudioTransitionMethod "setAutoClampControlSources" o = GES.TrackElement.TrackElementSetAutoClampControlSourcesMethodInfo
    ResolveAudioTransitionMethod "setBoolean" o = GES.MetaContainer.MetaContainerSetBooleanMethodInfo
    ResolveAudioTransitionMethod "setChildProperty" o = GES.TimelineElement.TimelineElementSetChildPropertyMethodInfo
    ResolveAudioTransitionMethod "setChildPropertyByPspec" o = GES.TimelineElement.TimelineElementSetChildPropertyByPspecMethodInfo
    ResolveAudioTransitionMethod "setChildPropertyFull" o = GES.TimelineElement.TimelineElementSetChildPropertyFullMethodInfo
    ResolveAudioTransitionMethod "setControlSource" o = GES.TrackElement.TrackElementSetControlSourceMethodInfo
    ResolveAudioTransitionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveAudioTransitionMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveAudioTransitionMethod "setDate" o = GES.MetaContainer.MetaContainerSetDateMethodInfo
    ResolveAudioTransitionMethod "setDateTime" o = GES.MetaContainer.MetaContainerSetDateTimeMethodInfo
    ResolveAudioTransitionMethod "setDouble" o = GES.MetaContainer.MetaContainerSetDoubleMethodInfo
    ResolveAudioTransitionMethod "setDuration" o = GES.TimelineElement.TimelineElementSetDurationMethodInfo
    ResolveAudioTransitionMethod "setFloat" o = GES.MetaContainer.MetaContainerSetFloatMethodInfo
    ResolveAudioTransitionMethod "setHasInternalSource" o = GES.TrackElement.TrackElementSetHasInternalSourceMethodInfo
    ResolveAudioTransitionMethod "setInpoint" o = GES.TimelineElement.TimelineElementSetInpointMethodInfo
    ResolveAudioTransitionMethod "setInt" o = GES.MetaContainer.MetaContainerSetIntMethodInfo
    ResolveAudioTransitionMethod "setInt64" o = GES.MetaContainer.MetaContainerSetInt64MethodInfo
    ResolveAudioTransitionMethod "setMarkerList" o = GES.MetaContainer.MetaContainerSetMarkerListMethodInfo
    ResolveAudioTransitionMethod "setMaxDuration" o = GES.TimelineElement.TimelineElementSetMaxDurationMethodInfo
    ResolveAudioTransitionMethod "setMeta" o = GES.MetaContainer.MetaContainerSetMetaMethodInfo
    ResolveAudioTransitionMethod "setName" o = GES.TimelineElement.TimelineElementSetNameMethodInfo
    ResolveAudioTransitionMethod "setParent" o = GES.TimelineElement.TimelineElementSetParentMethodInfo
    ResolveAudioTransitionMethod "setPriority" o = GES.TimelineElement.TimelineElementSetPriorityMethodInfo
    ResolveAudioTransitionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveAudioTransitionMethod "setStart" o = GES.TimelineElement.TimelineElementSetStartMethodInfo
    ResolveAudioTransitionMethod "setString" o = GES.MetaContainer.MetaContainerSetStringMethodInfo
    ResolveAudioTransitionMethod "setTimeline" o = GES.TimelineElement.TimelineElementSetTimelineMethodInfo
    ResolveAudioTransitionMethod "setTrackType" o = GES.TrackElement.TrackElementSetTrackTypeMethodInfo
    ResolveAudioTransitionMethod "setUint" o = GES.MetaContainer.MetaContainerSetUintMethodInfo
    ResolveAudioTransitionMethod "setUint64" o = GES.MetaContainer.MetaContainerSetUint64MethodInfo
    ResolveAudioTransitionMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveAudioTransitionMethod t AudioTransition, O.OverloadedMethod info AudioTransition p) => OL.IsLabel t (AudioTransition -> 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 ~ ResolveAudioTransitionMethod t AudioTransition, O.OverloadedMethod info AudioTransition p, R.HasField t AudioTransition p) => R.HasField t AudioTransition p where
    getField = O.overloadedMethod @info

#endif

instance (info ~ ResolveAudioTransitionMethod t AudioTransition, O.OverloadedMethodInfo info AudioTransition) => OL.IsLabel t (O.MethodProxy info AudioTransition) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.MethodProxy
#else
    fromLabel _ = O.MethodProxy
#endif

#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList AudioTransition
type instance O.AttributeList AudioTransition = AudioTransitionAttributeList
type AudioTransitionAttributeList = ('[ '("active", GES.TrackElement.TrackElementActivePropertyInfo), '("autoClampControlSources", GES.TrackElement.TrackElementAutoClampControlSourcesPropertyInfo), '("duration", GES.TimelineElement.TimelineElementDurationPropertyInfo), '("hasInternalSource", GES.TrackElement.TrackElementHasInternalSourcePropertyInfo), '("inPoint", GES.TimelineElement.TimelineElementInPointPropertyInfo), '("maxDuration", GES.TimelineElement.TimelineElementMaxDurationPropertyInfo), '("name", GES.TimelineElement.TimelineElementNamePropertyInfo), '("parent", GES.TimelineElement.TimelineElementParentPropertyInfo), '("priority", GES.TimelineElement.TimelineElementPriorityPropertyInfo), '("serialize", GES.TimelineElement.TimelineElementSerializePropertyInfo), '("start", GES.TimelineElement.TimelineElementStartPropertyInfo), '("timeline", GES.TimelineElement.TimelineElementTimelinePropertyInfo), '("track", GES.TrackElement.TrackElementTrackPropertyInfo), '("trackType", GES.TrackElement.TrackElementTrackTypePropertyInfo)] :: [(Symbol, DK.Type)])
#endif

#if defined(ENABLE_OVERLOADING)
#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList AudioTransition = AudioTransitionSignalList
type AudioTransitionSignalList = ('[ '("childPropertyAdded", GES.TimelineElement.TimelineElementChildPropertyAddedSignalInfo), '("childPropertyRemoved", GES.TimelineElement.TimelineElementChildPropertyRemovedSignalInfo), '("controlBindingAdded", GES.TrackElement.TrackElementControlBindingAddedSignalInfo), '("controlBindingRemoved", GES.TrackElement.TrackElementControlBindingRemovedSignalInfo), '("deepNotify", GES.TimelineElement.TimelineElementDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("notifyMeta", GES.MetaContainer.MetaContainerNotifyMetaSignalInfo)] :: [(Symbol, DK.Type)])

#endif

-- method AudioTransition::new
-- method type : Constructor
-- Args: []
-- Lengths: []
-- returnType: Just
--               (TInterface Name { namespace = "GES" , name = "AudioTransition" })
-- throws : False
-- Skip return : False

foreign import ccall "ges_audio_transition_new" ges_audio_transition_new :: 
    IO (Ptr AudioTransition)

{-# DEPRECATED audioTransitionNew ["(Since version 1.18)","This should never be called by applications as this will","be created by clips."] #-}
-- | Creates a new t'GI.GES.Objects.AudioTransition.AudioTransition'.
audioTransitionNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m AudioTransition
    -- ^ __Returns:__ The newly created t'GI.GES.Objects.AudioTransition.AudioTransition'.
audioTransitionNew :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
m AudioTransition
audioTransitionNew  = IO AudioTransition -> m AudioTransition
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AudioTransition -> m AudioTransition)
-> IO AudioTransition -> m AudioTransition
forall a b. (a -> b) -> a -> b
$ do
    Ptr AudioTransition
result <- IO (Ptr AudioTransition)
ges_audio_transition_new
    Text -> Ptr AudioTransition -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"audioTransitionNew" Ptr AudioTransition
result
    AudioTransition
result' <- ((ManagedPtr AudioTransition -> AudioTransition)
-> Ptr AudioTransition -> IO AudioTransition
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr AudioTransition -> AudioTransition
AudioTransition) Ptr AudioTransition
result
    AudioTransition -> IO AudioTransition
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return AudioTransition
result'

#if defined(ENABLE_OVERLOADING)
#endif