{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstAudio.Objects.AudioFilter
(
AudioFilter(..) ,
IsAudioFilter ,
toAudioFilter ,
#if defined(ENABLE_OVERLOADING)
ResolveAudioFilterMethod ,
#endif
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.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 qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.GstBase.Objects.BaseTransform as GstBase.BaseTransform
newtype AudioFilter = AudioFilter (SP.ManagedPtr AudioFilter)
deriving (AudioFilter -> AudioFilter -> Bool
(AudioFilter -> AudioFilter -> Bool)
-> (AudioFilter -> AudioFilter -> Bool) -> Eq AudioFilter
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioFilter -> AudioFilter -> Bool
$c/= :: AudioFilter -> AudioFilter -> Bool
== :: AudioFilter -> AudioFilter -> Bool
$c== :: AudioFilter -> AudioFilter -> Bool
Eq)
instance SP.ManagedPtrNewtype AudioFilter where
toManagedPtr :: AudioFilter -> ManagedPtr AudioFilter
toManagedPtr (AudioFilter ManagedPtr AudioFilter
p) = ManagedPtr AudioFilter
p
foreign import ccall "gst_audio_filter_get_type"
c_gst_audio_filter_get_type :: IO B.Types.GType
instance B.Types.TypedObject AudioFilter where
glibType :: IO GType
glibType = IO GType
c_gst_audio_filter_get_type
instance B.Types.GObject AudioFilter
class (SP.GObject o, O.IsDescendantOf AudioFilter o) => IsAudioFilter o
instance (SP.GObject o, O.IsDescendantOf AudioFilter o) => IsAudioFilter o
instance O.HasParentTypes AudioFilter
type instance O.ParentTypes AudioFilter = '[GstBase.BaseTransform.BaseTransform, Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]
toAudioFilter :: (MIO.MonadIO m, IsAudioFilter o) => o -> m AudioFilter
toAudioFilter :: forall (m :: * -> *) o.
(MonadIO m, IsAudioFilter o) =>
o -> m AudioFilter
toAudioFilter = IO AudioFilter -> m AudioFilter
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO AudioFilter -> m AudioFilter)
-> (o -> IO AudioFilter) -> o -> m AudioFilter
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr AudioFilter -> AudioFilter) -> o -> IO AudioFilter
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr AudioFilter -> AudioFilter
AudioFilter
instance B.GValue.IsGValue (Maybe AudioFilter) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_audio_filter_get_type
gvalueSet_ :: Ptr GValue -> Maybe AudioFilter -> IO ()
gvalueSet_ Ptr GValue
gv Maybe AudioFilter
P.Nothing = Ptr GValue -> Ptr AudioFilter -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr AudioFilter
forall a. Ptr a
FP.nullPtr :: FP.Ptr AudioFilter)
gvalueSet_ Ptr GValue
gv (P.Just AudioFilter
obj) = AudioFilter -> (Ptr AudioFilter -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr AudioFilter
obj (Ptr GValue -> Ptr AudioFilter -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe AudioFilter)
gvalueGet_ Ptr GValue
gv = do
Ptr AudioFilter
ptr <- Ptr GValue -> IO (Ptr AudioFilter)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr AudioFilter)
if Ptr AudioFilter
ptr Ptr AudioFilter -> Ptr AudioFilter -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr AudioFilter
forall a. Ptr a
FP.nullPtr
then AudioFilter -> Maybe AudioFilter
forall a. a -> Maybe a
P.Just (AudioFilter -> Maybe AudioFilter)
-> IO AudioFilter -> IO (Maybe AudioFilter)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr AudioFilter -> AudioFilter)
-> Ptr AudioFilter -> IO AudioFilter
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr AudioFilter -> AudioFilter
AudioFilter Ptr AudioFilter
ptr
else Maybe AudioFilter -> IO (Maybe AudioFilter)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe AudioFilter
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveAudioFilterMethod (t :: Symbol) (o :: *) :: * where
ResolveAudioFilterMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo
ResolveAudioFilterMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveAudioFilterMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo
ResolveAudioFilterMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo
ResolveAudioFilterMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo
ResolveAudioFilterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveAudioFilterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveAudioFilterMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo
ResolveAudioFilterMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo
ResolveAudioFilterMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo
ResolveAudioFilterMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo
ResolveAudioFilterMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveAudioFilterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveAudioFilterMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo
ResolveAudioFilterMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo
ResolveAudioFilterMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo
ResolveAudioFilterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveAudioFilterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveAudioFilterMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveAudioFilterMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveAudioFilterMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveAudioFilterMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveAudioFilterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveAudioFilterMethod "isInPlace" o = GstBase.BaseTransform.BaseTransformIsInPlaceMethodInfo
ResolveAudioFilterMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo
ResolveAudioFilterMethod "isPassthrough" o = GstBase.BaseTransform.BaseTransformIsPassthroughMethodInfo
ResolveAudioFilterMethod "isQosEnabled" o = GstBase.BaseTransform.BaseTransformIsQosEnabledMethodInfo
ResolveAudioFilterMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo
ResolveAudioFilterMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo
ResolveAudioFilterMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo
ResolveAudioFilterMethod "link" o = Gst.Element.ElementLinkMethodInfo
ResolveAudioFilterMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo
ResolveAudioFilterMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo
ResolveAudioFilterMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo
ResolveAudioFilterMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo
ResolveAudioFilterMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo
ResolveAudioFilterMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo
ResolveAudioFilterMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo
ResolveAudioFilterMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo
ResolveAudioFilterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveAudioFilterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveAudioFilterMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo
ResolveAudioFilterMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo
ResolveAudioFilterMethod "query" o = Gst.Element.ElementQueryMethodInfo
ResolveAudioFilterMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo
ResolveAudioFilterMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo
ResolveAudioFilterMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo
ResolveAudioFilterMethod "reconfigure" o = GstBase.BaseTransform.BaseTransformReconfigureMethodInfo
ResolveAudioFilterMethod "reconfigureSink" o = GstBase.BaseTransform.BaseTransformReconfigureSinkMethodInfo
ResolveAudioFilterMethod "reconfigureSrc" o = GstBase.BaseTransform.BaseTransformReconfigureSrcMethodInfo
ResolveAudioFilterMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveAudioFilterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveAudioFilterMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo
ResolveAudioFilterMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveAudioFilterMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo
ResolveAudioFilterMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo
ResolveAudioFilterMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo
ResolveAudioFilterMethod "requestPadSimple" o = Gst.Element.ElementRequestPadSimpleMethodInfo
ResolveAudioFilterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveAudioFilterMethod "seek" o = Gst.Element.ElementSeekMethodInfo
ResolveAudioFilterMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo
ResolveAudioFilterMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo
ResolveAudioFilterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveAudioFilterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveAudioFilterMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveAudioFilterMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo
ResolveAudioFilterMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveAudioFilterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveAudioFilterMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo
ResolveAudioFilterMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo
ResolveAudioFilterMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveAudioFilterMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveAudioFilterMethod "updateQos" o = GstBase.BaseTransform.BaseTransformUpdateQosMethodInfo
ResolveAudioFilterMethod "updateSrcCaps" o = GstBase.BaseTransform.BaseTransformUpdateSrcCapsMethodInfo
ResolveAudioFilterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveAudioFilterMethod "getAllocator" o = GstBase.BaseTransform.BaseTransformGetAllocatorMethodInfo
ResolveAudioFilterMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo
ResolveAudioFilterMethod "getBufferPool" o = GstBase.BaseTransform.BaseTransformGetBufferPoolMethodInfo
ResolveAudioFilterMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo
ResolveAudioFilterMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo
ResolveAudioFilterMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo
ResolveAudioFilterMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo
ResolveAudioFilterMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo
ResolveAudioFilterMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo
ResolveAudioFilterMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo
ResolveAudioFilterMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveAudioFilterMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveAudioFilterMethod "getCurrentClockTime" o = Gst.Element.ElementGetCurrentClockTimeMethodInfo
ResolveAudioFilterMethod "getCurrentRunningTime" o = Gst.Element.ElementGetCurrentRunningTimeMethodInfo
ResolveAudioFilterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveAudioFilterMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo
ResolveAudioFilterMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveAudioFilterMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo
ResolveAudioFilterMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveAudioFilterMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo
ResolveAudioFilterMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo
ResolveAudioFilterMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveAudioFilterMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveAudioFilterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveAudioFilterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveAudioFilterMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo
ResolveAudioFilterMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo
ResolveAudioFilterMethod "getState" o = Gst.Element.ElementGetStateMethodInfo
ResolveAudioFilterMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo
ResolveAudioFilterMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveAudioFilterMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo
ResolveAudioFilterMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo
ResolveAudioFilterMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo
ResolveAudioFilterMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo
ResolveAudioFilterMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveAudioFilterMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveAudioFilterMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveAudioFilterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveAudioFilterMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveAudioFilterMethod "setGapAware" o = GstBase.BaseTransform.BaseTransformSetGapAwareMethodInfo
ResolveAudioFilterMethod "setInPlace" o = GstBase.BaseTransform.BaseTransformSetInPlaceMethodInfo
ResolveAudioFilterMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo
ResolveAudioFilterMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveAudioFilterMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveAudioFilterMethod "setPassthrough" o = GstBase.BaseTransform.BaseTransformSetPassthroughMethodInfo
ResolveAudioFilterMethod "setPreferPassthrough" o = GstBase.BaseTransform.BaseTransformSetPreferPassthroughMethodInfo
ResolveAudioFilterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveAudioFilterMethod "setQosEnabled" o = GstBase.BaseTransform.BaseTransformSetQosEnabledMethodInfo
ResolveAudioFilterMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo
ResolveAudioFilterMethod "setState" o = Gst.Element.ElementSetStateMethodInfo
ResolveAudioFilterMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAudioFilterMethod t AudioFilter, O.OverloadedMethod info AudioFilter p) => OL.IsLabel t (AudioFilter -> 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 ~ ResolveAudioFilterMethod t AudioFilter, O.OverloadedMethod info AudioFilter p, R.HasField t AudioFilter p) => R.HasField t AudioFilter p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveAudioFilterMethod t AudioFilter, O.OverloadedMethodInfo info AudioFilter) => OL.IsLabel t (O.MethodProxy info AudioFilter) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList AudioFilter
type instance O.AttributeList AudioFilter = AudioFilterAttributeList
type AudioFilterAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("qos", GstBase.BaseTransform.BaseTransformQosPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList AudioFilter = AudioFilterSignalList
type AudioFilterSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])
#endif