{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) 'GI.GstAudio.Objects.AudioFilter.AudioFilter' is a 'GI.GstBase.Objects.BaseTransform.BaseTransform'\-derived base class for simple audio filters, ie. those that output the same format that they get as input. 'GI.GstAudio.Objects.AudioFilter.AudioFilter' will parse the input format for you (with error checking) before calling your setup function. Also, elements deriving from 'GI.GstAudio.Objects.AudioFilter.AudioFilter' may use 'GI.GstAudio.Structs.AudioFilterClass.audioFilterClassAddPadTemplates' from their class_init function to easily configure the set of caps\/formats that the element is able to handle. Derived classes should override the 'GI.GstAudio.Structs.AudioFilterClass.AudioFilterClass'.@/setup/@() and 'GI.GstBase.Structs.BaseTransformClass.BaseTransformClass'.@/transform_ip/@() and\/or 'GI.GstBase.Structs.BaseTransformClass.BaseTransformClass'.@/transform/@() virtual functions in their class_init function. -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.GstAudio.Objects.AudioFilter ( -- * Exported types AudioFilter(..) , IsAudioFilter , toAudioFilter , noAudioFilter , ) 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.ManagedPtr as B.ManagedPtr 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.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 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 -- | Memory-managed wrapper type. newtype AudioFilter = AudioFilter (ManagedPtr AudioFilter) foreign import ccall "gst_audio_filter_get_type" c_gst_audio_filter_get_type :: IO GType instance GObject AudioFilter where gobjectType = c_gst_audio_filter_get_type -- | Type class for types which can be safely cast to `AudioFilter`, for instance with `toAudioFilter`. class (GObject o, O.IsDescendantOf AudioFilter o) => IsAudioFilter o instance (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] -- | Cast to `AudioFilter`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toAudioFilter :: (MonadIO m, IsAudioFilter o) => o -> m AudioFilter toAudioFilter = liftIO . unsafeCastTo AudioFilter -- | A convenience alias for `Nothing` :: `Maybe` `AudioFilter`. noAudioFilter :: Maybe AudioFilter noAudioFilter = Nothing #if 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 "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 "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 "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 "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.MethodInfo info AudioFilter p) => OL.IsLabel t (AudioFilter -> p) where #if MIN_VERSION_base(4,10,0) fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #else fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif #endif #if 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 ENABLE_OVERLOADING #endif #if 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