gi-gstaudio-0.1.6.13: GI/GstAudio/Objects/AudioCdSrc.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.GstAudio.Objects.AudioCdSrc
(
-- * Exported types
AudioCdSrc(..) ,
AudioCdSrcK ,
toAudioCdSrc ,
noAudioCdSrc ,
-- * Methods
-- ** audioCdSrcAddTrack
AudioCdSrcAddTrackMethodInfo ,
audioCdSrcAddTrack ,
-- * Properties
-- ** Device
AudioCdSrcDevicePropertyInfo ,
constructAudioCdSrcDevice ,
getAudioCdSrcDevice ,
setAudioCdSrcDevice ,
-- ** Mode
AudioCdSrcModePropertyInfo ,
constructAudioCdSrcMode ,
getAudioCdSrcMode ,
setAudioCdSrcMode ,
-- ** Track
AudioCdSrcTrackPropertyInfo ,
constructAudioCdSrcTrack ,
getAudioCdSrcTrack ,
setAudioCdSrcTrack ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.GstAudio.Types
import GI.GstAudio.Callbacks
import qualified GI.GObject as GObject
import qualified GI.Gst as Gst
import qualified GI.GstBase as GstBase
newtype AudioCdSrc = AudioCdSrc (ForeignPtr AudioCdSrc)
foreign import ccall "gst_audio_cd_src_get_type"
c_gst_audio_cd_src_get_type :: IO GType
type instance ParentTypes AudioCdSrc = AudioCdSrcParentTypes
type AudioCdSrcParentTypes = '[GstBase.PushSrc, GstBase.BaseSrc, Gst.Element, Gst.Object, GObject.Object, Gst.URIHandler]
instance GObject AudioCdSrc where
gobjectIsInitiallyUnowned _ = True
gobjectType _ = c_gst_audio_cd_src_get_type
class GObject o => AudioCdSrcK o
instance (GObject o, IsDescendantOf AudioCdSrc o) => AudioCdSrcK o
toAudioCdSrc :: AudioCdSrcK o => o -> IO AudioCdSrc
toAudioCdSrc = unsafeCastTo AudioCdSrc
noAudioCdSrc :: Maybe AudioCdSrc
noAudioCdSrc = Nothing
type family ResolveAudioCdSrcMethod (t :: Symbol) (o :: *) :: * where
ResolveAudioCdSrcMethod "abortState" o = Gst.ElementAbortStateMethodInfo
ResolveAudioCdSrcMethod "addControlBinding" o = Gst.ObjectAddControlBindingMethodInfo
ResolveAudioCdSrcMethod "addPad" o = Gst.ElementAddPadMethodInfo
ResolveAudioCdSrcMethod "addTrack" o = AudioCdSrcAddTrackMethodInfo
ResolveAudioCdSrcMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveAudioCdSrcMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveAudioCdSrcMethod "changeState" o = Gst.ElementChangeStateMethodInfo
ResolveAudioCdSrcMethod "continueState" o = Gst.ElementContinueStateMethodInfo
ResolveAudioCdSrcMethod "createAllPads" o = Gst.ElementCreateAllPadsMethodInfo
ResolveAudioCdSrcMethod "defaultError" o = Gst.ObjectDefaultErrorMethodInfo
ResolveAudioCdSrcMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveAudioCdSrcMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveAudioCdSrcMethod "hasActiveControlBindings" o = Gst.ObjectHasActiveControlBindingsMethodInfo
ResolveAudioCdSrcMethod "hasAncestor" o = Gst.ObjectHasAncestorMethodInfo
ResolveAudioCdSrcMethod "hasAsAncestor" o = Gst.ObjectHasAsAncestorMethodInfo
ResolveAudioCdSrcMethod "hasAsParent" o = Gst.ObjectHasAsParentMethodInfo
ResolveAudioCdSrcMethod "isAsync" o = GstBase.BaseSrcIsAsyncMethodInfo
ResolveAudioCdSrcMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveAudioCdSrcMethod "isLive" o = GstBase.BaseSrcIsLiveMethodInfo
ResolveAudioCdSrcMethod "isLockedState" o = Gst.ElementIsLockedStateMethodInfo
ResolveAudioCdSrcMethod "iteratePads" o = Gst.ElementIteratePadsMethodInfo
ResolveAudioCdSrcMethod "iterateSinkPads" o = Gst.ElementIterateSinkPadsMethodInfo
ResolveAudioCdSrcMethod "iterateSrcPads" o = Gst.ElementIterateSrcPadsMethodInfo
ResolveAudioCdSrcMethod "link" o = Gst.ElementLinkMethodInfo
ResolveAudioCdSrcMethod "linkFiltered" o = Gst.ElementLinkFilteredMethodInfo
ResolveAudioCdSrcMethod "linkPads" o = Gst.ElementLinkPadsMethodInfo
ResolveAudioCdSrcMethod "linkPadsFiltered" o = Gst.ElementLinkPadsFilteredMethodInfo
ResolveAudioCdSrcMethod "linkPadsFull" o = Gst.ElementLinkPadsFullMethodInfo
ResolveAudioCdSrcMethod "lostState" o = Gst.ElementLostStateMethodInfo
ResolveAudioCdSrcMethod "messageFull" o = Gst.ElementMessageFullMethodInfo
ResolveAudioCdSrcMethod "newSeamlessSegment" o = GstBase.BaseSrcNewSeamlessSegmentMethodInfo
ResolveAudioCdSrcMethod "noMorePads" o = Gst.ElementNoMorePadsMethodInfo
ResolveAudioCdSrcMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveAudioCdSrcMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveAudioCdSrcMethod "postMessage" o = Gst.ElementPostMessageMethodInfo
ResolveAudioCdSrcMethod "provideClock" o = Gst.ElementProvideClockMethodInfo
ResolveAudioCdSrcMethod "query" o = Gst.ElementQueryMethodInfo
ResolveAudioCdSrcMethod "queryConvert" o = Gst.ElementQueryConvertMethodInfo
ResolveAudioCdSrcMethod "queryDuration" o = Gst.ElementQueryDurationMethodInfo
ResolveAudioCdSrcMethod "queryLatency" o = GstBase.BaseSrcQueryLatencyMethodInfo
ResolveAudioCdSrcMethod "queryPosition" o = Gst.ElementQueryPositionMethodInfo
ResolveAudioCdSrcMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveAudioCdSrcMethod "releaseRequestPad" o = Gst.ElementReleaseRequestPadMethodInfo
ResolveAudioCdSrcMethod "removeControlBinding" o = Gst.ObjectRemoveControlBindingMethodInfo
ResolveAudioCdSrcMethod "removePad" o = Gst.ElementRemovePadMethodInfo
ResolveAudioCdSrcMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveAudioCdSrcMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveAudioCdSrcMethod "requestPad" o = Gst.ElementRequestPadMethodInfo
ResolveAudioCdSrcMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveAudioCdSrcMethod "seek" o = Gst.ElementSeekMethodInfo
ResolveAudioCdSrcMethod "seekSimple" o = Gst.ElementSeekSimpleMethodInfo
ResolveAudioCdSrcMethod "sendEvent" o = Gst.ElementSendEventMethodInfo
ResolveAudioCdSrcMethod "startComplete" o = GstBase.BaseSrcStartCompleteMethodInfo
ResolveAudioCdSrcMethod "startWait" o = GstBase.BaseSrcStartWaitMethodInfo
ResolveAudioCdSrcMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveAudioCdSrcMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveAudioCdSrcMethod "suggestNextSync" o = Gst.ObjectSuggestNextSyncMethodInfo
ResolveAudioCdSrcMethod "syncStateWithParent" o = Gst.ElementSyncStateWithParentMethodInfo
ResolveAudioCdSrcMethod "syncValues" o = Gst.ObjectSyncValuesMethodInfo
ResolveAudioCdSrcMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveAudioCdSrcMethod "unlink" o = Gst.ElementUnlinkMethodInfo
ResolveAudioCdSrcMethod "unlinkPads" o = Gst.ElementUnlinkPadsMethodInfo
ResolveAudioCdSrcMethod "unparent" o = Gst.ObjectUnparentMethodInfo
ResolveAudioCdSrcMethod "waitPlaying" o = GstBase.BaseSrcWaitPlayingMethodInfo
ResolveAudioCdSrcMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveAudioCdSrcMethod "getAllocator" o = GstBase.BaseSrcGetAllocatorMethodInfo
ResolveAudioCdSrcMethod "getBaseTime" o = Gst.ElementGetBaseTimeMethodInfo
ResolveAudioCdSrcMethod "getBlocksize" o = GstBase.BaseSrcGetBlocksizeMethodInfo
ResolveAudioCdSrcMethod "getBufferPool" o = GstBase.BaseSrcGetBufferPoolMethodInfo
ResolveAudioCdSrcMethod "getBus" o = Gst.ElementGetBusMethodInfo
ResolveAudioCdSrcMethod "getClock" o = Gst.ElementGetClockMethodInfo
ResolveAudioCdSrcMethod "getCompatiblePad" o = Gst.ElementGetCompatiblePadMethodInfo
ResolveAudioCdSrcMethod "getCompatiblePadTemplate" o = Gst.ElementGetCompatiblePadTemplateMethodInfo
ResolveAudioCdSrcMethod "getControlBinding" o = Gst.ObjectGetControlBindingMethodInfo
ResolveAudioCdSrcMethod "getControlRate" o = Gst.ObjectGetControlRateMethodInfo
ResolveAudioCdSrcMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveAudioCdSrcMethod "getDoTimestamp" o = GstBase.BaseSrcGetDoTimestampMethodInfo
ResolveAudioCdSrcMethod "getFactory" o = Gst.ElementGetFactoryMethodInfo
ResolveAudioCdSrcMethod "getGValueArray" o = Gst.ObjectGetGValueArrayMethodInfo
ResolveAudioCdSrcMethod "getName" o = Gst.ObjectGetNameMethodInfo
ResolveAudioCdSrcMethod "getParent" o = Gst.ObjectGetParentMethodInfo
ResolveAudioCdSrcMethod "getPathString" o = Gst.ObjectGetPathStringMethodInfo
ResolveAudioCdSrcMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveAudioCdSrcMethod "getProtocols" o = Gst.URIHandlerGetProtocolsMethodInfo
ResolveAudioCdSrcMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveAudioCdSrcMethod "getRequestPad" o = Gst.ElementGetRequestPadMethodInfo
ResolveAudioCdSrcMethod "getStartTime" o = Gst.ElementGetStartTimeMethodInfo
ResolveAudioCdSrcMethod "getState" o = Gst.ElementGetStateMethodInfo
ResolveAudioCdSrcMethod "getStaticPad" o = Gst.ElementGetStaticPadMethodInfo
ResolveAudioCdSrcMethod "getUri" o = Gst.URIHandlerGetUriMethodInfo
ResolveAudioCdSrcMethod "getUriType" o = Gst.URIHandlerGetUriTypeMethodInfo
ResolveAudioCdSrcMethod "getValue" o = Gst.ObjectGetValueMethodInfo
ResolveAudioCdSrcMethod "getValueArray" o = Gst.ObjectGetValueArrayMethodInfo
ResolveAudioCdSrcMethod "setAsync" o = GstBase.BaseSrcSetAsyncMethodInfo
ResolveAudioCdSrcMethod "setAutomaticEos" o = GstBase.BaseSrcSetAutomaticEosMethodInfo
ResolveAudioCdSrcMethod "setBaseTime" o = Gst.ElementSetBaseTimeMethodInfo
ResolveAudioCdSrcMethod "setBlocksize" o = GstBase.BaseSrcSetBlocksizeMethodInfo
ResolveAudioCdSrcMethod "setBus" o = Gst.ElementSetBusMethodInfo
ResolveAudioCdSrcMethod "setCaps" o = GstBase.BaseSrcSetCapsMethodInfo
ResolveAudioCdSrcMethod "setClock" o = Gst.ElementSetClockMethodInfo
ResolveAudioCdSrcMethod "setContext" o = Gst.ElementSetContextMethodInfo
ResolveAudioCdSrcMethod "setControlBindingDisabled" o = Gst.ObjectSetControlBindingDisabledMethodInfo
ResolveAudioCdSrcMethod "setControlBindingsDisabled" o = Gst.ObjectSetControlBindingsDisabledMethodInfo
ResolveAudioCdSrcMethod "setControlRate" o = Gst.ObjectSetControlRateMethodInfo
ResolveAudioCdSrcMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveAudioCdSrcMethod "setDoTimestamp" o = GstBase.BaseSrcSetDoTimestampMethodInfo
ResolveAudioCdSrcMethod "setDynamicSize" o = GstBase.BaseSrcSetDynamicSizeMethodInfo
ResolveAudioCdSrcMethod "setFormat" o = GstBase.BaseSrcSetFormatMethodInfo
ResolveAudioCdSrcMethod "setLive" o = GstBase.BaseSrcSetLiveMethodInfo
ResolveAudioCdSrcMethod "setLockedState" o = Gst.ElementSetLockedStateMethodInfo
ResolveAudioCdSrcMethod "setName" o = Gst.ObjectSetNameMethodInfo
ResolveAudioCdSrcMethod "setParent" o = Gst.ObjectSetParentMethodInfo
ResolveAudioCdSrcMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveAudioCdSrcMethod "setStartTime" o = Gst.ElementSetStartTimeMethodInfo
ResolveAudioCdSrcMethod "setState" o = Gst.ElementSetStateMethodInfo
ResolveAudioCdSrcMethod "setUri" o = Gst.URIHandlerSetUriMethodInfo
ResolveAudioCdSrcMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveAudioCdSrcMethod t AudioCdSrc, MethodInfo info AudioCdSrc p) => IsLabelProxy t (AudioCdSrc -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveAudioCdSrcMethod t AudioCdSrc, MethodInfo info AudioCdSrc p) => IsLabel t (AudioCdSrc -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
-- VVV Prop "device"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable]
getAudioCdSrcDevice :: (MonadIO m, AudioCdSrcK o) => o -> m T.Text
getAudioCdSrcDevice obj = liftIO $ getObjectPropertyString obj "device"
setAudioCdSrcDevice :: (MonadIO m, AudioCdSrcK o) => o -> T.Text -> m ()
setAudioCdSrcDevice obj val = liftIO $ setObjectPropertyString obj "device" val
constructAudioCdSrcDevice :: T.Text -> IO ([Char], GValue)
constructAudioCdSrcDevice val = constructObjectPropertyString "device" val
data AudioCdSrcDevicePropertyInfo
instance AttrInfo AudioCdSrcDevicePropertyInfo where
type AttrAllowedOps AudioCdSrcDevicePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint AudioCdSrcDevicePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint AudioCdSrcDevicePropertyInfo = AudioCdSrcK
type AttrGetType AudioCdSrcDevicePropertyInfo = T.Text
type AttrLabel AudioCdSrcDevicePropertyInfo = "device"
attrGet _ = getAudioCdSrcDevice
attrSet _ = setAudioCdSrcDevice
attrConstruct _ = constructAudioCdSrcDevice
-- VVV Prop "mode"
-- Type: TInterface "GstAudio" "AudioCdSrcMode"
-- Flags: [PropertyReadable,PropertyWritable]
getAudioCdSrcMode :: (MonadIO m, AudioCdSrcK o) => o -> m AudioCdSrcMode
getAudioCdSrcMode obj = liftIO $ getObjectPropertyEnum obj "mode"
setAudioCdSrcMode :: (MonadIO m, AudioCdSrcK o) => o -> AudioCdSrcMode -> m ()
setAudioCdSrcMode obj val = liftIO $ setObjectPropertyEnum obj "mode" val
constructAudioCdSrcMode :: AudioCdSrcMode -> IO ([Char], GValue)
constructAudioCdSrcMode val = constructObjectPropertyEnum "mode" val
data AudioCdSrcModePropertyInfo
instance AttrInfo AudioCdSrcModePropertyInfo where
type AttrAllowedOps AudioCdSrcModePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint AudioCdSrcModePropertyInfo = (~) AudioCdSrcMode
type AttrBaseTypeConstraint AudioCdSrcModePropertyInfo = AudioCdSrcK
type AttrGetType AudioCdSrcModePropertyInfo = AudioCdSrcMode
type AttrLabel AudioCdSrcModePropertyInfo = "mode"
attrGet _ = getAudioCdSrcMode
attrSet _ = setAudioCdSrcMode
attrConstruct _ = constructAudioCdSrcMode
-- VVV Prop "track"
-- Type: TBasicType TUInt32
-- Flags: [PropertyReadable,PropertyWritable]
getAudioCdSrcTrack :: (MonadIO m, AudioCdSrcK o) => o -> m Word32
getAudioCdSrcTrack obj = liftIO $ getObjectPropertyCUInt obj "track"
setAudioCdSrcTrack :: (MonadIO m, AudioCdSrcK o) => o -> Word32 -> m ()
setAudioCdSrcTrack obj val = liftIO $ setObjectPropertyCUInt obj "track" val
constructAudioCdSrcTrack :: Word32 -> IO ([Char], GValue)
constructAudioCdSrcTrack val = constructObjectPropertyCUInt "track" val
data AudioCdSrcTrackPropertyInfo
instance AttrInfo AudioCdSrcTrackPropertyInfo where
type AttrAllowedOps AudioCdSrcTrackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint AudioCdSrcTrackPropertyInfo = (~) Word32
type AttrBaseTypeConstraint AudioCdSrcTrackPropertyInfo = AudioCdSrcK
type AttrGetType AudioCdSrcTrackPropertyInfo = Word32
type AttrLabel AudioCdSrcTrackPropertyInfo = "track"
attrGet _ = getAudioCdSrcTrack
attrSet _ = setAudioCdSrcTrack
attrConstruct _ = constructAudioCdSrcTrack
type instance AttributeList AudioCdSrc = AudioCdSrcAttributeList
type AudioCdSrcAttributeList = ('[ '("blocksize", GstBase.BaseSrcBlocksizePropertyInfo), '("device", AudioCdSrcDevicePropertyInfo), '("doTimestamp", GstBase.BaseSrcDoTimestampPropertyInfo), '("mode", AudioCdSrcModePropertyInfo), '("name", Gst.ObjectNamePropertyInfo), '("numBuffers", GstBase.BaseSrcNumBuffersPropertyInfo), '("parent", Gst.ObjectParentPropertyInfo), '("track", AudioCdSrcTrackPropertyInfo), '("typefind", GstBase.BaseSrcTypefindPropertyInfo)] :: [(Symbol, *)])
type instance SignalList AudioCdSrc = AudioCdSrcSignalList
type AudioCdSrcSignalList = ('[ '("deepNotify", Gst.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.ElementNoMorePadsSignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("padAdded", Gst.ElementPadAddedSignalInfo), '("padRemoved", Gst.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])
-- method AudioCdSrc::add_track
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "GstAudio" "AudioCdSrc", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "track", argType = TInterface "GstAudio" "AudioCdSrcTrack", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_audio_cd_src_add_track" gst_audio_cd_src_add_track ::
Ptr AudioCdSrc -> -- _obj : TInterface "GstAudio" "AudioCdSrc"
Ptr AudioCdSrcTrack -> -- track : TInterface "GstAudio" "AudioCdSrcTrack"
IO CInt
audioCdSrcAddTrack ::
(MonadIO m, AudioCdSrcK a) =>
a -- _obj
-> AudioCdSrcTrack -- track
-> m Bool -- result
audioCdSrcAddTrack _obj track = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let track' = unsafeManagedPtrGetPtr track
result <- gst_audio_cd_src_add_track _obj' track'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr track
return result'
data AudioCdSrcAddTrackMethodInfo
instance (signature ~ (AudioCdSrcTrack -> m Bool), MonadIO m, AudioCdSrcK a) => MethodInfo AudioCdSrcAddTrackMethodInfo a signature where
overloadedMethod _ = audioCdSrcAddTrack