{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)

An implementation of GstPad that can be used with 'GI.GstAudio.Objects.AudioAggregator.AudioAggregator'.

See 'GI.GstAudio.Objects.AudioAggregator.AudioAggregator' for more details.
-}

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

module GI.GstAudio.Objects.AudioAggregatorConvertPad
    (

-- * Exported types
    AudioAggregatorConvertPad(..)           ,
    IsAudioAggregatorConvertPad             ,
    toAudioAggregatorConvertPad             ,
    noAudioAggregatorConvertPad             ,


 -- * Properties
-- ** converterConfig #attr:converterConfig#
{- | /No description available in the introspection data./
-}
#if ENABLE_OVERLOADING
    AudioAggregatorConvertPadConverterConfigPropertyInfo,
#endif
#if ENABLE_OVERLOADING
    audioAggregatorConvertPadConverterConfig,
#endif
    clearAudioAggregatorConvertPadConverterConfig,
    constructAudioAggregatorConvertPadConverterConfig,
    getAudioAggregatorConvertPadConverterConfig,
    setAudioAggregatorConvertPadConverterConfig,




    ) 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.Object as Gst.Object
import qualified GI.Gst.Objects.Pad as Gst.Pad
import qualified GI.Gst.Structs.Structure as Gst.Structure
import {-# SOURCE #-} qualified GI.GstAudio.Objects.AudioAggregatorPad as GstAudio.AudioAggregatorPad
import qualified GI.GstBase.Objects.AggregatorPad as GstBase.AggregatorPad

-- | Memory-managed wrapper type.
newtype AudioAggregatorConvertPad = AudioAggregatorConvertPad (ManagedPtr AudioAggregatorConvertPad)
foreign import ccall "gst_audio_aggregator_convert_pad_get_type"
    c_gst_audio_aggregator_convert_pad_get_type :: IO GType

instance GObject AudioAggregatorConvertPad where
    gobjectType = c_gst_audio_aggregator_convert_pad_get_type


-- | Type class for types which can be safely cast to `AudioAggregatorConvertPad`, for instance with `toAudioAggregatorConvertPad`.
class (GObject o, O.IsDescendantOf AudioAggregatorConvertPad o) => IsAudioAggregatorConvertPad o
instance (GObject o, O.IsDescendantOf AudioAggregatorConvertPad o) => IsAudioAggregatorConvertPad o

instance O.HasParentTypes AudioAggregatorConvertPad
type instance O.ParentTypes AudioAggregatorConvertPad = '[GstAudio.AudioAggregatorPad.AudioAggregatorPad, GstBase.AggregatorPad.AggregatorPad, Gst.Pad.Pad, Gst.Object.Object, GObject.Object.Object]

-- | Cast to `AudioAggregatorConvertPad`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toAudioAggregatorConvertPad :: (MonadIO m, IsAudioAggregatorConvertPad o) => o -> m AudioAggregatorConvertPad
toAudioAggregatorConvertPad = liftIO . unsafeCastTo AudioAggregatorConvertPad

-- | A convenience alias for `Nothing` :: `Maybe` `AudioAggregatorConvertPad`.
noAudioAggregatorConvertPad :: Maybe AudioAggregatorConvertPad
noAudioAggregatorConvertPad = Nothing

#if ENABLE_OVERLOADING
type family ResolveAudioAggregatorConvertPadMethod (t :: Symbol) (o :: *) :: * where
    ResolveAudioAggregatorConvertPadMethod "activateMode" o = Gst.Pad.PadActivateModeMethodInfo
    ResolveAudioAggregatorConvertPadMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
    ResolveAudioAggregatorConvertPadMethod "addProbe" o = Gst.Pad.PadAddProbeMethodInfo
    ResolveAudioAggregatorConvertPadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveAudioAggregatorConvertPadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "canLink" o = Gst.Pad.PadCanLinkMethodInfo
    ResolveAudioAggregatorConvertPadMethod "chain" o = Gst.Pad.PadChainMethodInfo
    ResolveAudioAggregatorConvertPadMethod "chainList" o = Gst.Pad.PadChainListMethodInfo
    ResolveAudioAggregatorConvertPadMethod "checkReconfigure" o = Gst.Pad.PadCheckReconfigureMethodInfo
    ResolveAudioAggregatorConvertPadMethod "createStreamId" o = Gst.Pad.PadCreateStreamIdMethodInfo
    ResolveAudioAggregatorConvertPadMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
    ResolveAudioAggregatorConvertPadMethod "dropBuffer" o = GstBase.AggregatorPad.AggregatorPadDropBufferMethodInfo
    ResolveAudioAggregatorConvertPadMethod "eventDefault" o = Gst.Pad.PadEventDefaultMethodInfo
    ResolveAudioAggregatorConvertPadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveAudioAggregatorConvertPadMethod "forward" o = Gst.Pad.PadForwardMethodInfo
    ResolveAudioAggregatorConvertPadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveAudioAggregatorConvertPadMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
    ResolveAudioAggregatorConvertPadMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
    ResolveAudioAggregatorConvertPadMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
    ResolveAudioAggregatorConvertPadMethod "hasBuffer" o = GstBase.AggregatorPad.AggregatorPadHasBufferMethodInfo
    ResolveAudioAggregatorConvertPadMethod "hasCurrentCaps" o = Gst.Pad.PadHasCurrentCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "isActive" o = Gst.Pad.PadIsActiveMethodInfo
    ResolveAudioAggregatorConvertPadMethod "isBlocked" o = Gst.Pad.PadIsBlockedMethodInfo
    ResolveAudioAggregatorConvertPadMethod "isBlocking" o = Gst.Pad.PadIsBlockingMethodInfo
    ResolveAudioAggregatorConvertPadMethod "isEos" o = GstBase.AggregatorPad.AggregatorPadIsEosMethodInfo
    ResolveAudioAggregatorConvertPadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveAudioAggregatorConvertPadMethod "isLinked" o = Gst.Pad.PadIsLinkedMethodInfo
    ResolveAudioAggregatorConvertPadMethod "iterateInternalLinks" o = Gst.Pad.PadIterateInternalLinksMethodInfo
    ResolveAudioAggregatorConvertPadMethod "iterateInternalLinksDefault" o = Gst.Pad.PadIterateInternalLinksDefaultMethodInfo
    ResolveAudioAggregatorConvertPadMethod "link" o = Gst.Pad.PadLinkMethodInfo
    ResolveAudioAggregatorConvertPadMethod "linkFull" o = Gst.Pad.PadLinkFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "linkMaybeGhosting" o = Gst.Pad.PadLinkMaybeGhostingMethodInfo
    ResolveAudioAggregatorConvertPadMethod "linkMaybeGhostingFull" o = Gst.Pad.PadLinkMaybeGhostingFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "markReconfigure" o = Gst.Pad.PadMarkReconfigureMethodInfo
    ResolveAudioAggregatorConvertPadMethod "needsReconfigure" o = Gst.Pad.PadNeedsReconfigureMethodInfo
    ResolveAudioAggregatorConvertPadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveAudioAggregatorConvertPadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveAudioAggregatorConvertPadMethod "pauseTask" o = Gst.Pad.PadPauseTaskMethodInfo
    ResolveAudioAggregatorConvertPadMethod "peekBuffer" o = GstBase.AggregatorPad.AggregatorPadPeekBufferMethodInfo
    ResolveAudioAggregatorConvertPadMethod "peerQuery" o = Gst.Pad.PadPeerQueryMethodInfo
    ResolveAudioAggregatorConvertPadMethod "peerQueryAcceptCaps" o = Gst.Pad.PadPeerQueryAcceptCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "peerQueryCaps" o = Gst.Pad.PadPeerQueryCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "peerQueryConvert" o = Gst.Pad.PadPeerQueryConvertMethodInfo
    ResolveAudioAggregatorConvertPadMethod "peerQueryDuration" o = Gst.Pad.PadPeerQueryDurationMethodInfo
    ResolveAudioAggregatorConvertPadMethod "peerQueryPosition" o = Gst.Pad.PadPeerQueryPositionMethodInfo
    ResolveAudioAggregatorConvertPadMethod "popBuffer" o = GstBase.AggregatorPad.AggregatorPadPopBufferMethodInfo
    ResolveAudioAggregatorConvertPadMethod "proxyQueryAcceptCaps" o = Gst.Pad.PadProxyQueryAcceptCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "proxyQueryCaps" o = Gst.Pad.PadProxyQueryCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "pullRange" o = Gst.Pad.PadPullRangeMethodInfo
    ResolveAudioAggregatorConvertPadMethod "push" o = Gst.Pad.PadPushMethodInfo
    ResolveAudioAggregatorConvertPadMethod "pushEvent" o = Gst.Pad.PadPushEventMethodInfo
    ResolveAudioAggregatorConvertPadMethod "pushList" o = Gst.Pad.PadPushListMethodInfo
    ResolveAudioAggregatorConvertPadMethod "query" o = Gst.Pad.PadQueryMethodInfo
    ResolveAudioAggregatorConvertPadMethod "queryAcceptCaps" o = Gst.Pad.PadQueryAcceptCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "queryCaps" o = Gst.Pad.PadQueryCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "queryConvert" o = Gst.Pad.PadQueryConvertMethodInfo
    ResolveAudioAggregatorConvertPadMethod "queryDefault" o = Gst.Pad.PadQueryDefaultMethodInfo
    ResolveAudioAggregatorConvertPadMethod "queryDuration" o = Gst.Pad.PadQueryDurationMethodInfo
    ResolveAudioAggregatorConvertPadMethod "queryPosition" o = Gst.Pad.PadQueryPositionMethodInfo
    ResolveAudioAggregatorConvertPadMethod "ref" o = Gst.Object.ObjectRefMethodInfo
    ResolveAudioAggregatorConvertPadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveAudioAggregatorConvertPadMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
    ResolveAudioAggregatorConvertPadMethod "removeProbe" o = Gst.Pad.PadRemoveProbeMethodInfo
    ResolveAudioAggregatorConvertPadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveAudioAggregatorConvertPadMethod "sendEvent" o = Gst.Pad.PadSendEventMethodInfo
    ResolveAudioAggregatorConvertPadMethod "startTask" o = Gst.Pad.PadStartTaskMethodInfo
    ResolveAudioAggregatorConvertPadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveAudioAggregatorConvertPadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveAudioAggregatorConvertPadMethod "stickyEventsForeach" o = Gst.Pad.PadStickyEventsForeachMethodInfo
    ResolveAudioAggregatorConvertPadMethod "stopTask" o = Gst.Pad.PadStopTaskMethodInfo
    ResolveAudioAggregatorConvertPadMethod "storeStickyEvent" o = Gst.Pad.PadStoreStickyEventMethodInfo
    ResolveAudioAggregatorConvertPadMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
    ResolveAudioAggregatorConvertPadMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
    ResolveAudioAggregatorConvertPadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveAudioAggregatorConvertPadMethod "unlink" o = Gst.Pad.PadUnlinkMethodInfo
    ResolveAudioAggregatorConvertPadMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
    ResolveAudioAggregatorConvertPadMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
    ResolveAudioAggregatorConvertPadMethod "useFixedCaps" o = Gst.Pad.PadUseFixedCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getAllowedCaps" o = Gst.Pad.PadGetAllowedCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getCurrentCaps" o = Gst.Pad.PadGetCurrentCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getDirection" o = Gst.Pad.PadGetDirectionMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getElementPrivate" o = Gst.Pad.PadGetElementPrivateMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getLastFlowReturn" o = Gst.Pad.PadGetLastFlowReturnMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getOffset" o = Gst.Pad.PadGetOffsetMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getPadTemplate" o = Gst.Pad.PadGetPadTemplateMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getPadTemplateCaps" o = Gst.Pad.PadGetPadTemplateCapsMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getParentElement" o = Gst.Pad.PadGetParentElementMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getPeer" o = Gst.Pad.PadGetPeerMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getRange" o = Gst.Pad.PadGetRangeMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getStickyEvent" o = Gst.Pad.PadGetStickyEventMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getStream" o = Gst.Pad.PadGetStreamMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getStreamId" o = Gst.Pad.PadGetStreamIdMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getTaskState" o = Gst.Pad.PadGetTaskStateMethodInfo
    ResolveAudioAggregatorConvertPadMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setActivateFunctionFull" o = Gst.Pad.PadSetActivateFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setActivatemodeFunctionFull" o = Gst.Pad.PadSetActivatemodeFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setActive" o = Gst.Pad.PadSetActiveMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setChainFunctionFull" o = Gst.Pad.PadSetChainFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setChainListFunctionFull" o = Gst.Pad.PadSetChainListFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setElementPrivate" o = Gst.Pad.PadSetElementPrivateMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setEventFullFunctionFull" o = Gst.Pad.PadSetEventFullFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setEventFunctionFull" o = Gst.Pad.PadSetEventFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setGetrangeFunctionFull" o = Gst.Pad.PadSetGetrangeFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setIterateInternalLinksFunctionFull" o = Gst.Pad.PadSetIterateInternalLinksFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setLinkFunctionFull" o = Gst.Pad.PadSetLinkFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setOffset" o = Gst.Pad.PadSetOffsetMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setQueryFunctionFull" o = Gst.Pad.PadSetQueryFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod "setUnlinkFunctionFull" o = Gst.Pad.PadSetUnlinkFunctionFullMethodInfo
    ResolveAudioAggregatorConvertPadMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveAudioAggregatorConvertPadMethod t AudioAggregatorConvertPad, O.MethodInfo info AudioAggregatorConvertPad p) => OL.IsLabel t (AudioAggregatorConvertPad -> 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

-- VVV Prop "converter-config"
   -- Type: TInterface (Name {namespace = "Gst", name = "Structure"})
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Nothing,Nothing)

{- |
Get the value of the “@converter-config@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.get' audioAggregatorConvertPad #converterConfig
@
-}
getAudioAggregatorConvertPadConverterConfig :: (MonadIO m, IsAudioAggregatorConvertPad o) => o -> m (Maybe Gst.Structure.Structure)
getAudioAggregatorConvertPadConverterConfig obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "converter-config" Gst.Structure.Structure

{- |
Set the value of the “@converter-config@” property.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.set' audioAggregatorConvertPad [ #converterConfig 'Data.GI.Base.Attributes.:=' value ]
@
-}
setAudioAggregatorConvertPadConverterConfig :: (MonadIO m, IsAudioAggregatorConvertPad o) => o -> Gst.Structure.Structure -> m ()
setAudioAggregatorConvertPadConverterConfig obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "converter-config" (Just val)

{- |
Construct a `GValueConstruct` with valid value for the “@converter-config@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
-}
constructAudioAggregatorConvertPadConverterConfig :: (IsAudioAggregatorConvertPad o) => Gst.Structure.Structure -> IO (GValueConstruct o)
constructAudioAggregatorConvertPadConverterConfig val = B.Properties.constructObjectPropertyBoxed "converter-config" (Just val)

{- |
Set the value of the “@converter-config@” property to `Nothing`.
When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to

@
'Data.GI.Base.Attributes.clear' #converterConfig
@
-}
clearAudioAggregatorConvertPadConverterConfig :: (MonadIO m, IsAudioAggregatorConvertPad o) => o -> m ()
clearAudioAggregatorConvertPadConverterConfig obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "converter-config" (Nothing :: Maybe Gst.Structure.Structure)

#if ENABLE_OVERLOADING
data AudioAggregatorConvertPadConverterConfigPropertyInfo
instance AttrInfo AudioAggregatorConvertPadConverterConfigPropertyInfo where
    type AttrAllowedOps AudioAggregatorConvertPadConverterConfigPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint AudioAggregatorConvertPadConverterConfigPropertyInfo = (~) Gst.Structure.Structure
    type AttrBaseTypeConstraint AudioAggregatorConvertPadConverterConfigPropertyInfo = IsAudioAggregatorConvertPad
    type AttrGetType AudioAggregatorConvertPadConverterConfigPropertyInfo = (Maybe Gst.Structure.Structure)
    type AttrLabel AudioAggregatorConvertPadConverterConfigPropertyInfo = "converter-config"
    type AttrOrigin AudioAggregatorConvertPadConverterConfigPropertyInfo = AudioAggregatorConvertPad
    attrGet _ = getAudioAggregatorConvertPadConverterConfig
    attrSet _ = setAudioAggregatorConvertPadConverterConfig
    attrConstruct _ = constructAudioAggregatorConvertPadConverterConfig
    attrClear _ = clearAudioAggregatorConvertPadConverterConfig
#endif

#if ENABLE_OVERLOADING
instance O.HasAttributeList AudioAggregatorConvertPad
type instance O.AttributeList AudioAggregatorConvertPad = AudioAggregatorConvertPadAttributeList
type AudioAggregatorConvertPadAttributeList = ('[ '("caps", Gst.Pad.PadCapsPropertyInfo), '("converterConfig", AudioAggregatorConvertPadConverterConfigPropertyInfo), '("direction", Gst.Pad.PadDirectionPropertyInfo), '("emitSignals", GstBase.AggregatorPad.AggregatorPadEmitSignalsPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("offset", Gst.Pad.PadOffsetPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("template", Gst.Pad.PadTemplatePropertyInfo)] :: [(Symbol, *)])
#endif

#if ENABLE_OVERLOADING
audioAggregatorConvertPadConverterConfig :: AttrLabelProxy "converterConfig"
audioAggregatorConvertPadConverterConfig = AttrLabelProxy

#endif

#if ENABLE_OVERLOADING
type instance O.SignalList AudioAggregatorConvertPad = AudioAggregatorConvertPadSignalList
type AudioAggregatorConvertPadSignalList = ('[ '("bufferConsumed", GstBase.AggregatorPad.AggregatorPadBufferConsumedSignalInfo), '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("linked", Gst.Pad.PadLinkedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("unlinked", Gst.Pad.PadUnlinkedSignalInfo)] :: [(Symbol, *)])

#endif