-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria

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

module GI.GstAudio.Enums
    ( 

 -- * Enumerations
-- ** AudioBaseSinkDiscontReason #enum:AudioBaseSinkDiscontReason#

    AudioBaseSinkDiscontReason(..)          ,


-- ** AudioBaseSinkSlaveMethod #enum:AudioBaseSinkSlaveMethod#

    AudioBaseSinkSlaveMethod(..)            ,


-- ** AudioBaseSrcSlaveMethod #enum:AudioBaseSrcSlaveMethod#

    AudioBaseSrcSlaveMethod(..)             ,


-- ** AudioCdSrcMode #enum:AudioCdSrcMode#

    AudioCdSrcMode(..)                      ,


-- ** AudioChannelPosition #enum:AudioChannelPosition#

    AudioChannelPosition(..)                ,


-- ** AudioDitherMethod #enum:AudioDitherMethod#

    AudioDitherMethod(..)                   ,


-- ** AudioFormat #enum:AudioFormat#

    AudioFormat(..)                         ,


-- ** AudioLayout #enum:AudioLayout#

    AudioLayout(..)                         ,


-- ** AudioNoiseShapingMethod #enum:AudioNoiseShapingMethod#

    AudioNoiseShapingMethod(..)             ,


-- ** AudioResamplerFilterInterpolation #enum:AudioResamplerFilterInterpolation#

    AudioResamplerFilterInterpolation(..)   ,


-- ** AudioResamplerFilterMode #enum:AudioResamplerFilterMode#

    AudioResamplerFilterMode(..)            ,


-- ** AudioResamplerMethod #enum:AudioResamplerMethod#

    AudioResamplerMethod(..)                ,


-- ** AudioRingBufferFormatType #enum:AudioRingBufferFormatType#

    AudioRingBufferFormatType(..)           ,


-- ** AudioRingBufferState #enum:AudioRingBufferState#

    AudioRingBufferState(..)                ,


-- ** StreamVolumeFormat #enum:StreamVolumeFormat#

    StreamVolumeFormat(..)                  ,




    ) 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.GI.Base.Signals as B.Signals
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


-- Enum StreamVolumeFormat
-- | Different representations of a stream volume. 'GI.GstAudio.Functions.streamVolumeConvertVolume'
-- allows to convert between the different representations.
-- 
-- Formulas to convert from a linear to a cubic or dB volume are
-- cbrt(val) and 20 * log10 (val).
data StreamVolumeFormat = 
      StreamVolumeFormatLinear
    -- ^ Linear scale factor, 1.0 = 100%
    | StreamVolumeFormatCubic
    -- ^ Cubic volume scale
    | StreamVolumeFormatDb
    -- ^ Logarithmic volume scale (dB, amplitude not power)
    | AnotherStreamVolumeFormat Int
    -- ^ Catch-all for unknown values
    deriving (Int -> StreamVolumeFormat -> ShowS
[StreamVolumeFormat] -> ShowS
StreamVolumeFormat -> String
(Int -> StreamVolumeFormat -> ShowS)
-> (StreamVolumeFormat -> String)
-> ([StreamVolumeFormat] -> ShowS)
-> Show StreamVolumeFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StreamVolumeFormat] -> ShowS
$cshowList :: [StreamVolumeFormat] -> ShowS
show :: StreamVolumeFormat -> String
$cshow :: StreamVolumeFormat -> String
showsPrec :: Int -> StreamVolumeFormat -> ShowS
$cshowsPrec :: Int -> StreamVolumeFormat -> ShowS
Show, StreamVolumeFormat -> StreamVolumeFormat -> Bool
(StreamVolumeFormat -> StreamVolumeFormat -> Bool)
-> (StreamVolumeFormat -> StreamVolumeFormat -> Bool)
-> Eq StreamVolumeFormat
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StreamVolumeFormat -> StreamVolumeFormat -> Bool
$c/= :: StreamVolumeFormat -> StreamVolumeFormat -> Bool
== :: StreamVolumeFormat -> StreamVolumeFormat -> Bool
$c== :: StreamVolumeFormat -> StreamVolumeFormat -> Bool
Eq)

instance P.Enum StreamVolumeFormat where
    fromEnum :: StreamVolumeFormat -> Int
fromEnum StreamVolumeFormatLinear = 0
    fromEnum StreamVolumeFormatCubic = 1
    fromEnum StreamVolumeFormatDb = 2
    fromEnum (AnotherStreamVolumeFormat k :: Int
k) = Int
k

    toEnum :: Int -> StreamVolumeFormat
toEnum 0 = StreamVolumeFormat
StreamVolumeFormatLinear
    toEnum 1 = StreamVolumeFormat
StreamVolumeFormatCubic
    toEnum 2 = StreamVolumeFormat
StreamVolumeFormatDb
    toEnum k :: Int
k = Int -> StreamVolumeFormat
AnotherStreamVolumeFormat Int
k

instance P.Ord StreamVolumeFormat where
    compare :: StreamVolumeFormat -> StreamVolumeFormat -> Ordering
compare a :: StreamVolumeFormat
a b :: StreamVolumeFormat
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (StreamVolumeFormat -> Int
forall a. Enum a => a -> Int
P.fromEnum StreamVolumeFormat
a) (StreamVolumeFormat -> Int
forall a. Enum a => a -> Int
P.fromEnum StreamVolumeFormat
b)

-- Enum AudioRingBufferState
-- | The state of the ringbuffer.
data AudioRingBufferState = 
      AudioRingBufferStateStopped
    -- ^ The ringbuffer is stopped
    | AudioRingBufferStatePaused
    -- ^ The ringbuffer is paused
    | AudioRingBufferStateStarted
    -- ^ The ringbuffer is started
    | AudioRingBufferStateError
    -- ^ The ringbuffer has encountered an
    --     error after it has been started, e.g. because the device was
    --     disconnected (Since 1.2)
    | AnotherAudioRingBufferState Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioRingBufferState -> ShowS
[AudioRingBufferState] -> ShowS
AudioRingBufferState -> String
(Int -> AudioRingBufferState -> ShowS)
-> (AudioRingBufferState -> String)
-> ([AudioRingBufferState] -> ShowS)
-> Show AudioRingBufferState
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioRingBufferState] -> ShowS
$cshowList :: [AudioRingBufferState] -> ShowS
show :: AudioRingBufferState -> String
$cshow :: AudioRingBufferState -> String
showsPrec :: Int -> AudioRingBufferState -> ShowS
$cshowsPrec :: Int -> AudioRingBufferState -> ShowS
Show, AudioRingBufferState -> AudioRingBufferState -> Bool
(AudioRingBufferState -> AudioRingBufferState -> Bool)
-> (AudioRingBufferState -> AudioRingBufferState -> Bool)
-> Eq AudioRingBufferState
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioRingBufferState -> AudioRingBufferState -> Bool
$c/= :: AudioRingBufferState -> AudioRingBufferState -> Bool
== :: AudioRingBufferState -> AudioRingBufferState -> Bool
$c== :: AudioRingBufferState -> AudioRingBufferState -> Bool
Eq)

instance P.Enum AudioRingBufferState where
    fromEnum :: AudioRingBufferState -> Int
fromEnum AudioRingBufferStateStopped = 0
    fromEnum AudioRingBufferStatePaused = 1
    fromEnum AudioRingBufferStateStarted = 2
    fromEnum AudioRingBufferStateError = 3
    fromEnum (AnotherAudioRingBufferState k :: Int
k) = Int
k

    toEnum :: Int -> AudioRingBufferState
toEnum 0 = AudioRingBufferState
AudioRingBufferStateStopped
    toEnum 1 = AudioRingBufferState
AudioRingBufferStatePaused
    toEnum 2 = AudioRingBufferState
AudioRingBufferStateStarted
    toEnum 3 = AudioRingBufferState
AudioRingBufferStateError
    toEnum k :: Int
k = Int -> AudioRingBufferState
AnotherAudioRingBufferState Int
k

instance P.Ord AudioRingBufferState where
    compare :: AudioRingBufferState -> AudioRingBufferState -> Ordering
compare a :: AudioRingBufferState
a b :: AudioRingBufferState
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioRingBufferState -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioRingBufferState
a) (AudioRingBufferState -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioRingBufferState
b)

foreign import ccall "gst_audio_ring_buffer_state_get_type" c_gst_audio_ring_buffer_state_get_type :: 
    IO GType

instance BoxedEnum AudioRingBufferState where
    boxedEnumType :: AudioRingBufferState -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_ring_buffer_state_get_type

-- Enum AudioRingBufferFormatType
-- | The format of the samples in the ringbuffer.
data AudioRingBufferFormatType = 
      AudioRingBufferFormatTypeRaw
    -- ^ samples in linear or float
    | AudioRingBufferFormatTypeMuLaw
    -- ^ samples in mulaw
    | AudioRingBufferFormatTypeALaw
    -- ^ samples in alaw
    | AudioRingBufferFormatTypeImaAdpcm
    -- ^ samples in ima adpcm
    | AudioRingBufferFormatTypeMpeg
    -- ^ samples in mpeg audio (but not AAC) format
    | AudioRingBufferFormatTypeGsm
    -- ^ samples in gsm format
    | AudioRingBufferFormatTypeIec958
    -- ^ samples in IEC958 frames (e.g. AC3)
    | AudioRingBufferFormatTypeAc3
    -- ^ samples in AC3 format
    | AudioRingBufferFormatTypeEac3
    -- ^ samples in EAC3 format
    | AudioRingBufferFormatTypeDts
    -- ^ samples in DTS format
    | AudioRingBufferFormatTypeMpeg2Aac
    -- ^ samples in MPEG-2 AAC ADTS format
    | AudioRingBufferFormatTypeMpeg4Aac
    -- ^ samples in MPEG-4 AAC ADTS format
    | AudioRingBufferFormatTypeMpeg2AacRaw
    -- ^ samples in MPEG-2 AAC raw format (Since 1.12)
    | AudioRingBufferFormatTypeMpeg4AacRaw
    -- ^ samples in MPEG-4 AAC raw format (Since 1.12)
    | AudioRingBufferFormatTypeFlac
    -- ^ samples in FLAC format (Since 1.12)
    | AnotherAudioRingBufferFormatType Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioRingBufferFormatType -> ShowS
[AudioRingBufferFormatType] -> ShowS
AudioRingBufferFormatType -> String
(Int -> AudioRingBufferFormatType -> ShowS)
-> (AudioRingBufferFormatType -> String)
-> ([AudioRingBufferFormatType] -> ShowS)
-> Show AudioRingBufferFormatType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioRingBufferFormatType] -> ShowS
$cshowList :: [AudioRingBufferFormatType] -> ShowS
show :: AudioRingBufferFormatType -> String
$cshow :: AudioRingBufferFormatType -> String
showsPrec :: Int -> AudioRingBufferFormatType -> ShowS
$cshowsPrec :: Int -> AudioRingBufferFormatType -> ShowS
Show, AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
(AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool)
-> (AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool)
-> Eq AudioRingBufferFormatType
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
$c/= :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
== :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
$c== :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Bool
Eq)

instance P.Enum AudioRingBufferFormatType where
    fromEnum :: AudioRingBufferFormatType -> Int
fromEnum AudioRingBufferFormatTypeRaw = 0
    fromEnum AudioRingBufferFormatTypeMuLaw = 1
    fromEnum AudioRingBufferFormatTypeALaw = 2
    fromEnum AudioRingBufferFormatTypeImaAdpcm = 3
    fromEnum AudioRingBufferFormatTypeMpeg = 4
    fromEnum AudioRingBufferFormatTypeGsm = 5
    fromEnum AudioRingBufferFormatTypeIec958 = 6
    fromEnum AudioRingBufferFormatTypeAc3 = 7
    fromEnum AudioRingBufferFormatTypeEac3 = 8
    fromEnum AudioRingBufferFormatTypeDts = 9
    fromEnum AudioRingBufferFormatTypeMpeg2Aac = 10
    fromEnum AudioRingBufferFormatTypeMpeg4Aac = 11
    fromEnum AudioRingBufferFormatTypeMpeg2AacRaw = 12
    fromEnum AudioRingBufferFormatTypeMpeg4AacRaw = 13
    fromEnum AudioRingBufferFormatTypeFlac = 14
    fromEnum (AnotherAudioRingBufferFormatType k :: Int
k) = Int
k

    toEnum :: Int -> AudioRingBufferFormatType
toEnum 0 = AudioRingBufferFormatType
AudioRingBufferFormatTypeRaw
    toEnum 1 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMuLaw
    toEnum 2 = AudioRingBufferFormatType
AudioRingBufferFormatTypeALaw
    toEnum 3 = AudioRingBufferFormatType
AudioRingBufferFormatTypeImaAdpcm
    toEnum 4 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg
    toEnum 5 = AudioRingBufferFormatType
AudioRingBufferFormatTypeGsm
    toEnum 6 = AudioRingBufferFormatType
AudioRingBufferFormatTypeIec958
    toEnum 7 = AudioRingBufferFormatType
AudioRingBufferFormatTypeAc3
    toEnum 8 = AudioRingBufferFormatType
AudioRingBufferFormatTypeEac3
    toEnum 9 = AudioRingBufferFormatType
AudioRingBufferFormatTypeDts
    toEnum 10 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg2Aac
    toEnum 11 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg4Aac
    toEnum 12 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg2AacRaw
    toEnum 13 = AudioRingBufferFormatType
AudioRingBufferFormatTypeMpeg4AacRaw
    toEnum 14 = AudioRingBufferFormatType
AudioRingBufferFormatTypeFlac
    toEnum k :: Int
k = Int -> AudioRingBufferFormatType
AnotherAudioRingBufferFormatType Int
k

instance P.Ord AudioRingBufferFormatType where
    compare :: AudioRingBufferFormatType -> AudioRingBufferFormatType -> Ordering
compare a :: AudioRingBufferFormatType
a b :: AudioRingBufferFormatType
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioRingBufferFormatType -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioRingBufferFormatType
a) (AudioRingBufferFormatType -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioRingBufferFormatType
b)

foreign import ccall "gst_audio_ring_buffer_format_type_get_type" c_gst_audio_ring_buffer_format_type_get_type :: 
    IO GType

instance BoxedEnum AudioRingBufferFormatType where
    boxedEnumType :: AudioRingBufferFormatType -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_ring_buffer_format_type_get_type

-- Enum AudioResamplerMethod
-- | Different subsampling and upsampling methods
-- 
-- /Since: 1.6/
data AudioResamplerMethod = 
      AudioResamplerMethodNearest
    -- ^ Duplicates the samples when
    --    upsampling and drops when downsampling
    | AudioResamplerMethodLinear
    -- ^ Uses linear interpolation to reconstruct
    --    missing samples and averaging to downsample
    | AudioResamplerMethodCubic
    -- ^ Uses cubic interpolation
    | AudioResamplerMethodBlackmanNuttall
    -- ^ Uses Blackman-Nuttall windowed sinc interpolation
    | AudioResamplerMethodKaiser
    -- ^ Uses Kaiser windowed sinc interpolation
    | AnotherAudioResamplerMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioResamplerMethod -> ShowS
[AudioResamplerMethod] -> ShowS
AudioResamplerMethod -> String
(Int -> AudioResamplerMethod -> ShowS)
-> (AudioResamplerMethod -> String)
-> ([AudioResamplerMethod] -> ShowS)
-> Show AudioResamplerMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioResamplerMethod] -> ShowS
$cshowList :: [AudioResamplerMethod] -> ShowS
show :: AudioResamplerMethod -> String
$cshow :: AudioResamplerMethod -> String
showsPrec :: Int -> AudioResamplerMethod -> ShowS
$cshowsPrec :: Int -> AudioResamplerMethod -> ShowS
Show, AudioResamplerMethod -> AudioResamplerMethod -> Bool
(AudioResamplerMethod -> AudioResamplerMethod -> Bool)
-> (AudioResamplerMethod -> AudioResamplerMethod -> Bool)
-> Eq AudioResamplerMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioResamplerMethod -> AudioResamplerMethod -> Bool
$c/= :: AudioResamplerMethod -> AudioResamplerMethod -> Bool
== :: AudioResamplerMethod -> AudioResamplerMethod -> Bool
$c== :: AudioResamplerMethod -> AudioResamplerMethod -> Bool
Eq)

instance P.Enum AudioResamplerMethod where
    fromEnum :: AudioResamplerMethod -> Int
fromEnum AudioResamplerMethodNearest = 0
    fromEnum AudioResamplerMethodLinear = 1
    fromEnum AudioResamplerMethodCubic = 2
    fromEnum AudioResamplerMethodBlackmanNuttall = 3
    fromEnum AudioResamplerMethodKaiser = 4
    fromEnum (AnotherAudioResamplerMethod k :: Int
k) = Int
k

    toEnum :: Int -> AudioResamplerMethod
toEnum 0 = AudioResamplerMethod
AudioResamplerMethodNearest
    toEnum 1 = AudioResamplerMethod
AudioResamplerMethodLinear
    toEnum 2 = AudioResamplerMethod
AudioResamplerMethodCubic
    toEnum 3 = AudioResamplerMethod
AudioResamplerMethodBlackmanNuttall
    toEnum 4 = AudioResamplerMethod
AudioResamplerMethodKaiser
    toEnum k :: Int
k = Int -> AudioResamplerMethod
AnotherAudioResamplerMethod Int
k

instance P.Ord AudioResamplerMethod where
    compare :: AudioResamplerMethod -> AudioResamplerMethod -> Ordering
compare a :: AudioResamplerMethod
a b :: AudioResamplerMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioResamplerMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerMethod
a) (AudioResamplerMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerMethod
b)

foreign import ccall "gst_audio_resampler_method_get_type" c_gst_audio_resampler_method_get_type :: 
    IO GType

instance BoxedEnum AudioResamplerMethod where
    boxedEnumType :: AudioResamplerMethod -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_resampler_method_get_type

-- Enum AudioResamplerFilterMode
-- | Select for the filter tables should be set up.
data AudioResamplerFilterMode = 
      AudioResamplerFilterModeInterpolated
    -- ^ Use interpolated filter tables. This
    --     uses less memory but more CPU and is slightly less accurate but it allows for more
    --     efficient variable rate resampling with 'GI.GstAudio.Structs.AudioResampler.audioResamplerUpdate'.
    | AudioResamplerFilterModeFull
    -- ^ Use full filter table. This uses more memory
    --     but less CPU.
    | AudioResamplerFilterModeAuto
    -- ^ Automatically choose between interpolated
    --     and full filter tables.
    | AnotherAudioResamplerFilterMode Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioResamplerFilterMode -> ShowS
[AudioResamplerFilterMode] -> ShowS
AudioResamplerFilterMode -> String
(Int -> AudioResamplerFilterMode -> ShowS)
-> (AudioResamplerFilterMode -> String)
-> ([AudioResamplerFilterMode] -> ShowS)
-> Show AudioResamplerFilterMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioResamplerFilterMode] -> ShowS
$cshowList :: [AudioResamplerFilterMode] -> ShowS
show :: AudioResamplerFilterMode -> String
$cshow :: AudioResamplerFilterMode -> String
showsPrec :: Int -> AudioResamplerFilterMode -> ShowS
$cshowsPrec :: Int -> AudioResamplerFilterMode -> ShowS
Show, AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
(AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool)
-> (AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool)
-> Eq AudioResamplerFilterMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
$c/= :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
== :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
$c== :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Bool
Eq)

instance P.Enum AudioResamplerFilterMode where
    fromEnum :: AudioResamplerFilterMode -> Int
fromEnum AudioResamplerFilterModeInterpolated = 0
    fromEnum AudioResamplerFilterModeFull = 1
    fromEnum AudioResamplerFilterModeAuto = 2
    fromEnum (AnotherAudioResamplerFilterMode k :: Int
k) = Int
k

    toEnum :: Int -> AudioResamplerFilterMode
toEnum 0 = AudioResamplerFilterMode
AudioResamplerFilterModeInterpolated
    toEnum 1 = AudioResamplerFilterMode
AudioResamplerFilterModeFull
    toEnum 2 = AudioResamplerFilterMode
AudioResamplerFilterModeAuto
    toEnum k :: Int
k = Int -> AudioResamplerFilterMode
AnotherAudioResamplerFilterMode Int
k

instance P.Ord AudioResamplerFilterMode where
    compare :: AudioResamplerFilterMode -> AudioResamplerFilterMode -> Ordering
compare a :: AudioResamplerFilterMode
a b :: AudioResamplerFilterMode
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioResamplerFilterMode -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerFilterMode
a) (AudioResamplerFilterMode -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerFilterMode
b)

foreign import ccall "gst_audio_resampler_filter_mode_get_type" c_gst_audio_resampler_filter_mode_get_type :: 
    IO GType

instance BoxedEnum AudioResamplerFilterMode where
    boxedEnumType :: AudioResamplerFilterMode -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_resampler_filter_mode_get_type

-- Enum AudioResamplerFilterInterpolation
-- | The different filter interpolation methods.
data AudioResamplerFilterInterpolation = 
      AudioResamplerFilterInterpolationNone
    -- ^ no interpolation
    | AudioResamplerFilterInterpolationLinear
    -- ^ linear interpolation of the
    --   filter coeficients.
    | AudioResamplerFilterInterpolationCubic
    -- ^ cubic interpolation of the
    --   filter coeficients.
    | AnotherAudioResamplerFilterInterpolation Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioResamplerFilterInterpolation -> ShowS
[AudioResamplerFilterInterpolation] -> ShowS
AudioResamplerFilterInterpolation -> String
(Int -> AudioResamplerFilterInterpolation -> ShowS)
-> (AudioResamplerFilterInterpolation -> String)
-> ([AudioResamplerFilterInterpolation] -> ShowS)
-> Show AudioResamplerFilterInterpolation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioResamplerFilterInterpolation] -> ShowS
$cshowList :: [AudioResamplerFilterInterpolation] -> ShowS
show :: AudioResamplerFilterInterpolation -> String
$cshow :: AudioResamplerFilterInterpolation -> String
showsPrec :: Int -> AudioResamplerFilterInterpolation -> ShowS
$cshowsPrec :: Int -> AudioResamplerFilterInterpolation -> ShowS
Show, AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
(AudioResamplerFilterInterpolation
 -> AudioResamplerFilterInterpolation -> Bool)
-> (AudioResamplerFilterInterpolation
    -> AudioResamplerFilterInterpolation -> Bool)
-> Eq AudioResamplerFilterInterpolation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
$c/= :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
== :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
$c== :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Bool
Eq)

instance P.Enum AudioResamplerFilterInterpolation where
    fromEnum :: AudioResamplerFilterInterpolation -> Int
fromEnum AudioResamplerFilterInterpolationNone = 0
    fromEnum AudioResamplerFilterInterpolationLinear = 1
    fromEnum AudioResamplerFilterInterpolationCubic = 2
    fromEnum (AnotherAudioResamplerFilterInterpolation k :: Int
k) = Int
k

    toEnum :: Int -> AudioResamplerFilterInterpolation
toEnum 0 = AudioResamplerFilterInterpolation
AudioResamplerFilterInterpolationNone
    toEnum 1 = AudioResamplerFilterInterpolation
AudioResamplerFilterInterpolationLinear
    toEnum 2 = AudioResamplerFilterInterpolation
AudioResamplerFilterInterpolationCubic
    toEnum k :: Int
k = Int -> AudioResamplerFilterInterpolation
AnotherAudioResamplerFilterInterpolation Int
k

instance P.Ord AudioResamplerFilterInterpolation where
    compare :: AudioResamplerFilterInterpolation
-> AudioResamplerFilterInterpolation -> Ordering
compare a :: AudioResamplerFilterInterpolation
a b :: AudioResamplerFilterInterpolation
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioResamplerFilterInterpolation -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerFilterInterpolation
a) (AudioResamplerFilterInterpolation -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioResamplerFilterInterpolation
b)

foreign import ccall "gst_audio_resampler_filter_interpolation_get_type" c_gst_audio_resampler_filter_interpolation_get_type :: 
    IO GType

instance BoxedEnum AudioResamplerFilterInterpolation where
    boxedEnumType :: AudioResamplerFilterInterpolation -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_resampler_filter_interpolation_get_type

-- Enum AudioNoiseShapingMethod
-- | Set of available noise shaping methods
data AudioNoiseShapingMethod = 
      AudioNoiseShapingMethodNone
    -- ^ No noise shaping (default)
    | AudioNoiseShapingMethodErrorFeedback
    -- ^ Error feedback
    | AudioNoiseShapingMethodSimple
    -- ^ Simple 2-pole noise shaping
    | AudioNoiseShapingMethodMedium
    -- ^ Medium 5-pole noise shaping
    | AudioNoiseShapingMethodHigh
    -- ^ High 8-pole noise shaping
    | AnotherAudioNoiseShapingMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioNoiseShapingMethod -> ShowS
[AudioNoiseShapingMethod] -> ShowS
AudioNoiseShapingMethod -> String
(Int -> AudioNoiseShapingMethod -> ShowS)
-> (AudioNoiseShapingMethod -> String)
-> ([AudioNoiseShapingMethod] -> ShowS)
-> Show AudioNoiseShapingMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioNoiseShapingMethod] -> ShowS
$cshowList :: [AudioNoiseShapingMethod] -> ShowS
show :: AudioNoiseShapingMethod -> String
$cshow :: AudioNoiseShapingMethod -> String
showsPrec :: Int -> AudioNoiseShapingMethod -> ShowS
$cshowsPrec :: Int -> AudioNoiseShapingMethod -> ShowS
Show, AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
(AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool)
-> (AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool)
-> Eq AudioNoiseShapingMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
$c/= :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
== :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
$c== :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Bool
Eq)

instance P.Enum AudioNoiseShapingMethod where
    fromEnum :: AudioNoiseShapingMethod -> Int
fromEnum AudioNoiseShapingMethodNone = 0
    fromEnum AudioNoiseShapingMethodErrorFeedback = 1
    fromEnum AudioNoiseShapingMethodSimple = 2
    fromEnum AudioNoiseShapingMethodMedium = 3
    fromEnum AudioNoiseShapingMethodHigh = 4
    fromEnum (AnotherAudioNoiseShapingMethod k :: Int
k) = Int
k

    toEnum :: Int -> AudioNoiseShapingMethod
toEnum 0 = AudioNoiseShapingMethod
AudioNoiseShapingMethodNone
    toEnum 1 = AudioNoiseShapingMethod
AudioNoiseShapingMethodErrorFeedback
    toEnum 2 = AudioNoiseShapingMethod
AudioNoiseShapingMethodSimple
    toEnum 3 = AudioNoiseShapingMethod
AudioNoiseShapingMethodMedium
    toEnum 4 = AudioNoiseShapingMethod
AudioNoiseShapingMethodHigh
    toEnum k :: Int
k = Int -> AudioNoiseShapingMethod
AnotherAudioNoiseShapingMethod Int
k

instance P.Ord AudioNoiseShapingMethod where
    compare :: AudioNoiseShapingMethod -> AudioNoiseShapingMethod -> Ordering
compare a :: AudioNoiseShapingMethod
a b :: AudioNoiseShapingMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioNoiseShapingMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioNoiseShapingMethod
a) (AudioNoiseShapingMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioNoiseShapingMethod
b)

foreign import ccall "gst_audio_noise_shaping_method_get_type" c_gst_audio_noise_shaping_method_get_type :: 
    IO GType

instance BoxedEnum AudioNoiseShapingMethod where
    boxedEnumType :: AudioNoiseShapingMethod -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_noise_shaping_method_get_type

-- Enum AudioLayout
-- | Layout of the audio samples for the different channels.
data AudioLayout = 
      AudioLayoutInterleaved
    -- ^ interleaved audio
    | AudioLayoutNonInterleaved
    -- ^ non-interleaved audio
    | AnotherAudioLayout Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioLayout -> ShowS
[AudioLayout] -> ShowS
AudioLayout -> String
(Int -> AudioLayout -> ShowS)
-> (AudioLayout -> String)
-> ([AudioLayout] -> ShowS)
-> Show AudioLayout
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioLayout] -> ShowS
$cshowList :: [AudioLayout] -> ShowS
show :: AudioLayout -> String
$cshow :: AudioLayout -> String
showsPrec :: Int -> AudioLayout -> ShowS
$cshowsPrec :: Int -> AudioLayout -> ShowS
Show, AudioLayout -> AudioLayout -> Bool
(AudioLayout -> AudioLayout -> Bool)
-> (AudioLayout -> AudioLayout -> Bool) -> Eq AudioLayout
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioLayout -> AudioLayout -> Bool
$c/= :: AudioLayout -> AudioLayout -> Bool
== :: AudioLayout -> AudioLayout -> Bool
$c== :: AudioLayout -> AudioLayout -> Bool
Eq)

instance P.Enum AudioLayout where
    fromEnum :: AudioLayout -> Int
fromEnum AudioLayoutInterleaved = 0
    fromEnum AudioLayoutNonInterleaved = 1
    fromEnum (AnotherAudioLayout k :: Int
k) = Int
k

    toEnum :: Int -> AudioLayout
toEnum 0 = AudioLayout
AudioLayoutInterleaved
    toEnum 1 = AudioLayout
AudioLayoutNonInterleaved
    toEnum k :: Int
k = Int -> AudioLayout
AnotherAudioLayout Int
k

instance P.Ord AudioLayout where
    compare :: AudioLayout -> AudioLayout -> Ordering
compare a :: AudioLayout
a b :: AudioLayout
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioLayout -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioLayout
a) (AudioLayout -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioLayout
b)

foreign import ccall "gst_audio_layout_get_type" c_gst_audio_layout_get_type :: 
    IO GType

instance BoxedEnum AudioLayout where
    boxedEnumType :: AudioLayout -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_layout_get_type

-- Enum AudioFormat
-- | Enum value describing the most common audio formats.
data AudioFormat = 
      AudioFormatUnknown
    -- ^ unknown or unset audio format
    | AudioFormatEncoded
    -- ^ encoded audio format
    | AudioFormatS8
    -- ^ 8 bits in 8 bits, signed
    | AudioFormatU8
    -- ^ 8 bits in 8 bits, unsigned
    | AudioFormatS16le
    -- ^ 16 bits in 16 bits, signed, little endian
    | AudioFormatS16be
    -- ^ 16 bits in 16 bits, signed, big endian
    | AudioFormatU16le
    -- ^ 16 bits in 16 bits, unsigned, little endian
    | AudioFormatU16be
    -- ^ 16 bits in 16 bits, unsigned, big endian
    | AudioFormatS2432le
    -- ^ 24 bits in 32 bits, signed, little endian
    | AudioFormatS2432be
    -- ^ 24 bits in 32 bits, signed, big endian
    | AudioFormatU2432le
    -- ^ 24 bits in 32 bits, unsigned, little endian
    | AudioFormatU2432be
    -- ^ 24 bits in 32 bits, unsigned, big endian
    | AudioFormatS32le
    -- ^ 32 bits in 32 bits, signed, little endian
    | AudioFormatS32be
    -- ^ 32 bits in 32 bits, signed, big endian
    | AudioFormatU32le
    -- ^ 32 bits in 32 bits, unsigned, little endian
    | AudioFormatU32be
    -- ^ 32 bits in 32 bits, unsigned, big endian
    | AudioFormatS24le
    -- ^ 24 bits in 24 bits, signed, little endian
    | AudioFormatS24be
    -- ^ 24 bits in 24 bits, signed, big endian
    | AudioFormatU24le
    -- ^ 24 bits in 24 bits, unsigned, little endian
    | AudioFormatU24be
    -- ^ 24 bits in 24 bits, unsigned, big endian
    | AudioFormatS20le
    -- ^ 20 bits in 24 bits, signed, little endian
    | AudioFormatS20be
    -- ^ 20 bits in 24 bits, signed, big endian
    | AudioFormatU20le
    -- ^ 20 bits in 24 bits, unsigned, little endian
    | AudioFormatU20be
    -- ^ 20 bits in 24 bits, unsigned, big endian
    | AudioFormatS18le
    -- ^ 18 bits in 24 bits, signed, little endian
    | AudioFormatS18be
    -- ^ 18 bits in 24 bits, signed, big endian
    | AudioFormatU18le
    -- ^ 18 bits in 24 bits, unsigned, little endian
    | AudioFormatU18be
    -- ^ 18 bits in 24 bits, unsigned, big endian
    | AudioFormatF32le
    -- ^ 32-bit floating point samples, little endian
    | AudioFormatF32be
    -- ^ 32-bit floating point samples, big endian
    | AudioFormatF64le
    -- ^ 64-bit floating point samples, little endian
    | AudioFormatF64be
    -- ^ 64-bit floating point samples, big endian
    | AudioFormatS16
    -- ^ 16 bits in 16 bits, signed, native endianness
    | AudioFormatU16
    -- ^ 16 bits in 16 bits, unsigned, native endianness
    | AudioFormatS2432
    -- ^ 24 bits in 32 bits, signed, native endianness
    | AudioFormatU2432
    -- ^ 24 bits in 32 bits, unsigned, native endianness
    | AudioFormatS32
    -- ^ 32 bits in 32 bits, signed, native endianness
    | AudioFormatU32
    -- ^ 32 bits in 32 bits, unsigned, native endianness
    | AudioFormatS24
    -- ^ 24 bits in 24 bits, signed, native endianness
    | AudioFormatU24
    -- ^ 24 bits in 24 bits, unsigned, native endianness
    | AudioFormatS20
    -- ^ 20 bits in 24 bits, signed, native endianness
    | AudioFormatU20
    -- ^ 20 bits in 24 bits, unsigned, native endianness
    | AudioFormatS18
    -- ^ 18 bits in 24 bits, signed, native endianness
    | AudioFormatU18
    -- ^ 18 bits in 24 bits, unsigned, native endianness
    | AudioFormatF32
    -- ^ 32-bit floating point samples, native endianness
    | AudioFormatF64
    -- ^ 64-bit floating point samples, native endianness
    | AnotherAudioFormat Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioFormat -> ShowS
[AudioFormat] -> ShowS
AudioFormat -> String
(Int -> AudioFormat -> ShowS)
-> (AudioFormat -> String)
-> ([AudioFormat] -> ShowS)
-> Show AudioFormat
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioFormat] -> ShowS
$cshowList :: [AudioFormat] -> ShowS
show :: AudioFormat -> String
$cshow :: AudioFormat -> String
showsPrec :: Int -> AudioFormat -> ShowS
$cshowsPrec :: Int -> AudioFormat -> ShowS
Show, AudioFormat -> AudioFormat -> Bool
(AudioFormat -> AudioFormat -> Bool)
-> (AudioFormat -> AudioFormat -> Bool) -> Eq AudioFormat
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioFormat -> AudioFormat -> Bool
$c/= :: AudioFormat -> AudioFormat -> Bool
== :: AudioFormat -> AudioFormat -> Bool
$c== :: AudioFormat -> AudioFormat -> Bool
Eq)

instance P.Enum AudioFormat where
    fromEnum :: AudioFormat -> Int
fromEnum AudioFormatUnknown = 0
    fromEnum AudioFormatEncoded = 1
    fromEnum AudioFormatS8 = 2
    fromEnum AudioFormatU8 = 3
    fromEnum AudioFormatS16le = 4
    fromEnum AudioFormatS16be = 5
    fromEnum AudioFormatU16le = 6
    fromEnum AudioFormatU16be = 7
    fromEnum AudioFormatS2432le = 8
    fromEnum AudioFormatS2432be = 9
    fromEnum AudioFormatU2432le = 10
    fromEnum AudioFormatU2432be = 11
    fromEnum AudioFormatS32le = 12
    fromEnum AudioFormatS32be = 13
    fromEnum AudioFormatU32le = 14
    fromEnum AudioFormatU32be = 15
    fromEnum AudioFormatS24le = 16
    fromEnum AudioFormatS24be = 17
    fromEnum AudioFormatU24le = 18
    fromEnum AudioFormatU24be = 19
    fromEnum AudioFormatS20le = 20
    fromEnum AudioFormatS20be = 21
    fromEnum AudioFormatU20le = 22
    fromEnum AudioFormatU20be = 23
    fromEnum AudioFormatS18le = 24
    fromEnum AudioFormatS18be = 25
    fromEnum AudioFormatU18le = 26
    fromEnum AudioFormatU18be = 27
    fromEnum AudioFormatF32le = 28
    fromEnum AudioFormatF32be = 29
    fromEnum AudioFormatF64le = 30
    fromEnum AudioFormatF64be = 31
    fromEnum AudioFormatS16 = 4
    fromEnum AudioFormatU16 = 6
    fromEnum AudioFormatS2432 = 8
    fromEnum AudioFormatU2432 = 10
    fromEnum AudioFormatS32 = 12
    fromEnum AudioFormatU32 = 14
    fromEnum AudioFormatS24 = 16
    fromEnum AudioFormatU24 = 18
    fromEnum AudioFormatS20 = 20
    fromEnum AudioFormatU20 = 22
    fromEnum AudioFormatS18 = 24
    fromEnum AudioFormatU18 = 26
    fromEnum AudioFormatF32 = 28
    fromEnum AudioFormatF64 = 30
    fromEnum (AnotherAudioFormat k :: Int
k) = Int
k

    toEnum :: Int -> AudioFormat
toEnum 0 = AudioFormat
AudioFormatUnknown
    toEnum 1 = AudioFormat
AudioFormatEncoded
    toEnum 2 = AudioFormat
AudioFormatS8
    toEnum 3 = AudioFormat
AudioFormatU8
    toEnum 4 = AudioFormat
AudioFormatS16le
    toEnum 5 = AudioFormat
AudioFormatS16be
    toEnum 6 = AudioFormat
AudioFormatU16le
    toEnum 7 = AudioFormat
AudioFormatU16be
    toEnum 8 = AudioFormat
AudioFormatS2432le
    toEnum 9 = AudioFormat
AudioFormatS2432be
    toEnum 10 = AudioFormat
AudioFormatU2432le
    toEnum 11 = AudioFormat
AudioFormatU2432be
    toEnum 12 = AudioFormat
AudioFormatS32le
    toEnum 13 = AudioFormat
AudioFormatS32be
    toEnum 14 = AudioFormat
AudioFormatU32le
    toEnum 15 = AudioFormat
AudioFormatU32be
    toEnum 16 = AudioFormat
AudioFormatS24le
    toEnum 17 = AudioFormat
AudioFormatS24be
    toEnum 18 = AudioFormat
AudioFormatU24le
    toEnum 19 = AudioFormat
AudioFormatU24be
    toEnum 20 = AudioFormat
AudioFormatS20le
    toEnum 21 = AudioFormat
AudioFormatS20be
    toEnum 22 = AudioFormat
AudioFormatU20le
    toEnum 23 = AudioFormat
AudioFormatU20be
    toEnum 24 = AudioFormat
AudioFormatS18le
    toEnum 25 = AudioFormat
AudioFormatS18be
    toEnum 26 = AudioFormat
AudioFormatU18le
    toEnum 27 = AudioFormat
AudioFormatU18be
    toEnum 28 = AudioFormat
AudioFormatF32le
    toEnum 29 = AudioFormat
AudioFormatF32be
    toEnum 30 = AudioFormat
AudioFormatF64le
    toEnum 31 = AudioFormat
AudioFormatF64be
    toEnum k :: Int
k = Int -> AudioFormat
AnotherAudioFormat Int
k

instance P.Ord AudioFormat where
    compare :: AudioFormat -> AudioFormat -> Ordering
compare a :: AudioFormat
a b :: AudioFormat
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioFormat -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioFormat
a) (AudioFormat -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioFormat
b)

foreign import ccall "gst_audio_format_get_type" c_gst_audio_format_get_type :: 
    IO GType

instance BoxedEnum AudioFormat where
    boxedEnumType :: AudioFormat -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_format_get_type

-- Enum AudioDitherMethod
-- | Set of available dithering methods.
data AudioDitherMethod = 
      AudioDitherMethodNone
    -- ^ No dithering
    | AudioDitherMethodRpdf
    -- ^ Rectangular dithering
    | AudioDitherMethodTpdf
    -- ^ Triangular dithering (default)
    | AudioDitherMethodTpdfHf
    -- ^ High frequency triangular dithering
    | AnotherAudioDitherMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioDitherMethod -> ShowS
[AudioDitherMethod] -> ShowS
AudioDitherMethod -> String
(Int -> AudioDitherMethod -> ShowS)
-> (AudioDitherMethod -> String)
-> ([AudioDitherMethod] -> ShowS)
-> Show AudioDitherMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioDitherMethod] -> ShowS
$cshowList :: [AudioDitherMethod] -> ShowS
show :: AudioDitherMethod -> String
$cshow :: AudioDitherMethod -> String
showsPrec :: Int -> AudioDitherMethod -> ShowS
$cshowsPrec :: Int -> AudioDitherMethod -> ShowS
Show, AudioDitherMethod -> AudioDitherMethod -> Bool
(AudioDitherMethod -> AudioDitherMethod -> Bool)
-> (AudioDitherMethod -> AudioDitherMethod -> Bool)
-> Eq AudioDitherMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioDitherMethod -> AudioDitherMethod -> Bool
$c/= :: AudioDitherMethod -> AudioDitherMethod -> Bool
== :: AudioDitherMethod -> AudioDitherMethod -> Bool
$c== :: AudioDitherMethod -> AudioDitherMethod -> Bool
Eq)

instance P.Enum AudioDitherMethod where
    fromEnum :: AudioDitherMethod -> Int
fromEnum AudioDitherMethodNone = 0
    fromEnum AudioDitherMethodRpdf = 1
    fromEnum AudioDitherMethodTpdf = 2
    fromEnum AudioDitherMethodTpdfHf = 3
    fromEnum (AnotherAudioDitherMethod k :: Int
k) = Int
k

    toEnum :: Int -> AudioDitherMethod
toEnum 0 = AudioDitherMethod
AudioDitherMethodNone
    toEnum 1 = AudioDitherMethod
AudioDitherMethodRpdf
    toEnum 2 = AudioDitherMethod
AudioDitherMethodTpdf
    toEnum 3 = AudioDitherMethod
AudioDitherMethodTpdfHf
    toEnum k :: Int
k = Int -> AudioDitherMethod
AnotherAudioDitherMethod Int
k

instance P.Ord AudioDitherMethod where
    compare :: AudioDitherMethod -> AudioDitherMethod -> Ordering
compare a :: AudioDitherMethod
a b :: AudioDitherMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioDitherMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioDitherMethod
a) (AudioDitherMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioDitherMethod
b)

foreign import ccall "gst_audio_dither_method_get_type" c_gst_audio_dither_method_get_type :: 
    IO GType

instance BoxedEnum AudioDitherMethod where
    boxedEnumType :: AudioDitherMethod -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_dither_method_get_type

-- Enum AudioChannelPosition
-- | Audio channel positions.
-- 
-- These are the channels defined in SMPTE 2036-2-2008
-- Table 1 for 22.2 audio systems with the Surround and Wide channels from
-- DTS Coherent Acoustics (v.1.3.1) and 10.2 and 7.1 layouts. In the caps the
-- actual channel layout is expressed with a channel count and a channel mask,
-- which describes the existing channels. The positions in the bit mask correspond
-- to the enum values.
-- For negotiation it is allowed to have more bits set in the channel mask than
-- the number of channels to specify the allowed channel positions but this is
-- not allowed in negotiated caps. It is not allowed in any situation other
-- than the one mentioned below to have less bits set in the channel mask than
-- the number of channels.
-- 
-- /@gSTAUDIOCHANNELPOSITIONMONO@/ can only be used with a single mono channel that
-- has no direction information and would be mixed into all directional channels.
-- This is expressed in caps by having a single channel and no channel mask.
-- 
-- /@gSTAUDIOCHANNELPOSITIONNONE@/ can only be used if all channels have this position.
-- This is expressed in caps by having a channel mask with no bits set.
-- 
-- As another special case it is allowed to have two channels without a channel mask.
-- This implicitely means that this is a stereo stream with a front left and front right
-- channel.
data AudioChannelPosition = 
      AudioChannelPositionNone
    -- ^ used for position-less channels, e.g.
    --     from a sound card that records 1024 channels; mutually exclusive with
    --     any other channel position
    | AudioChannelPositionMono
    -- ^ Mono without direction;
    --     can only be used with 1 channel
    | AudioChannelPositionInvalid
    -- ^ invalid position
    | AudioChannelPositionFrontLeft
    -- ^ Front left
    | AudioChannelPositionFrontRight
    -- ^ Front right
    | AudioChannelPositionFrontCenter
    -- ^ Front center
    | AudioChannelPositionLfe1
    -- ^ Low-frequency effects 1 (subwoofer)
    | AudioChannelPositionRearLeft
    -- ^ Rear left
    | AudioChannelPositionRearRight
    -- ^ Rear right
    | AudioChannelPositionFrontLeftOfCenter
    -- ^ Front left of center
    | AudioChannelPositionFrontRightOfCenter
    -- ^ Front right of center
    | AudioChannelPositionRearCenter
    -- ^ Rear center
    | AudioChannelPositionLfe2
    -- ^ Low-frequency effects 2 (subwoofer)
    | AudioChannelPositionSideLeft
    -- ^ Side left
    | AudioChannelPositionSideRight
    -- ^ Side right
    | AudioChannelPositionTopFrontLeft
    -- ^ Top front left
    | AudioChannelPositionTopFrontRight
    -- ^ Top front right
    | AudioChannelPositionTopFrontCenter
    -- ^ Top front center
    | AudioChannelPositionTopCenter
    -- ^ Top center
    | AudioChannelPositionTopRearLeft
    -- ^ Top rear left
    | AudioChannelPositionTopRearRight
    -- ^ Top rear right
    | AudioChannelPositionTopSideLeft
    -- ^ Top side right
    | AudioChannelPositionTopSideRight
    -- ^ Top rear right
    | AudioChannelPositionTopRearCenter
    -- ^ Top rear center
    | AudioChannelPositionBottomFrontCenter
    -- ^ Bottom front center
    | AudioChannelPositionBottomFrontLeft
    -- ^ Bottom front left
    | AudioChannelPositionBottomFrontRight
    -- ^ Bottom front right
    | AudioChannelPositionWideLeft
    -- ^ Wide left (between front left and side left)
    | AudioChannelPositionWideRight
    -- ^ Wide right (between front right and side right)
    | AudioChannelPositionSurroundLeft
    -- ^ Surround left (between rear left and side left)
    | AudioChannelPositionSurroundRight
    -- ^ Surround right (between rear right and side right)
    | AnotherAudioChannelPosition Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioChannelPosition -> ShowS
[AudioChannelPosition] -> ShowS
AudioChannelPosition -> String
(Int -> AudioChannelPosition -> ShowS)
-> (AudioChannelPosition -> String)
-> ([AudioChannelPosition] -> ShowS)
-> Show AudioChannelPosition
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioChannelPosition] -> ShowS
$cshowList :: [AudioChannelPosition] -> ShowS
show :: AudioChannelPosition -> String
$cshow :: AudioChannelPosition -> String
showsPrec :: Int -> AudioChannelPosition -> ShowS
$cshowsPrec :: Int -> AudioChannelPosition -> ShowS
Show, AudioChannelPosition -> AudioChannelPosition -> Bool
(AudioChannelPosition -> AudioChannelPosition -> Bool)
-> (AudioChannelPosition -> AudioChannelPosition -> Bool)
-> Eq AudioChannelPosition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioChannelPosition -> AudioChannelPosition -> Bool
$c/= :: AudioChannelPosition -> AudioChannelPosition -> Bool
== :: AudioChannelPosition -> AudioChannelPosition -> Bool
$c== :: AudioChannelPosition -> AudioChannelPosition -> Bool
Eq)

instance P.Enum AudioChannelPosition where
    fromEnum :: AudioChannelPosition -> Int
fromEnum AudioChannelPositionNone = -3
    fromEnum AudioChannelPositionMono = -2
    fromEnum AudioChannelPositionInvalid = -1
    fromEnum AudioChannelPositionFrontLeft = 0
    fromEnum AudioChannelPositionFrontRight = 1
    fromEnum AudioChannelPositionFrontCenter = 2
    fromEnum AudioChannelPositionLfe1 = 3
    fromEnum AudioChannelPositionRearLeft = 4
    fromEnum AudioChannelPositionRearRight = 5
    fromEnum AudioChannelPositionFrontLeftOfCenter = 6
    fromEnum AudioChannelPositionFrontRightOfCenter = 7
    fromEnum AudioChannelPositionRearCenter = 8
    fromEnum AudioChannelPositionLfe2 = 9
    fromEnum AudioChannelPositionSideLeft = 10
    fromEnum AudioChannelPositionSideRight = 11
    fromEnum AudioChannelPositionTopFrontLeft = 12
    fromEnum AudioChannelPositionTopFrontRight = 13
    fromEnum AudioChannelPositionTopFrontCenter = 14
    fromEnum AudioChannelPositionTopCenter = 15
    fromEnum AudioChannelPositionTopRearLeft = 16
    fromEnum AudioChannelPositionTopRearRight = 17
    fromEnum AudioChannelPositionTopSideLeft = 18
    fromEnum AudioChannelPositionTopSideRight = 19
    fromEnum AudioChannelPositionTopRearCenter = 20
    fromEnum AudioChannelPositionBottomFrontCenter = 21
    fromEnum AudioChannelPositionBottomFrontLeft = 22
    fromEnum AudioChannelPositionBottomFrontRight = 23
    fromEnum AudioChannelPositionWideLeft = 24
    fromEnum AudioChannelPositionWideRight = 25
    fromEnum AudioChannelPositionSurroundLeft = 26
    fromEnum AudioChannelPositionSurroundRight = 27
    fromEnum (AnotherAudioChannelPosition k :: Int
k) = Int
k

    toEnum :: Int -> AudioChannelPosition
toEnum -3 = AudioChannelPosition
AudioChannelPositionNone
    toEnum -2 = AudioChannelPosition
AudioChannelPositionMono
    toEnum -1 = AudioChannelPosition
AudioChannelPositionInvalid
    toEnum 0 = AudioChannelPosition
AudioChannelPositionFrontLeft
    toEnum 1 = AudioChannelPosition
AudioChannelPositionFrontRight
    toEnum 2 = AudioChannelPosition
AudioChannelPositionFrontCenter
    toEnum 3 = AudioChannelPosition
AudioChannelPositionLfe1
    toEnum 4 = AudioChannelPosition
AudioChannelPositionRearLeft
    toEnum 5 = AudioChannelPosition
AudioChannelPositionRearRight
    toEnum 6 = AudioChannelPosition
AudioChannelPositionFrontLeftOfCenter
    toEnum 7 = AudioChannelPosition
AudioChannelPositionFrontRightOfCenter
    toEnum 8 = AudioChannelPosition
AudioChannelPositionRearCenter
    toEnum 9 = AudioChannelPosition
AudioChannelPositionLfe2
    toEnum 10 = AudioChannelPosition
AudioChannelPositionSideLeft
    toEnum 11 = AudioChannelPosition
AudioChannelPositionSideRight
    toEnum 12 = AudioChannelPosition
AudioChannelPositionTopFrontLeft
    toEnum 13 = AudioChannelPosition
AudioChannelPositionTopFrontRight
    toEnum 14 = AudioChannelPosition
AudioChannelPositionTopFrontCenter
    toEnum 15 = AudioChannelPosition
AudioChannelPositionTopCenter
    toEnum 16 = AudioChannelPosition
AudioChannelPositionTopRearLeft
    toEnum 17 = AudioChannelPosition
AudioChannelPositionTopRearRight
    toEnum 18 = AudioChannelPosition
AudioChannelPositionTopSideLeft
    toEnum 19 = AudioChannelPosition
AudioChannelPositionTopSideRight
    toEnum 20 = AudioChannelPosition
AudioChannelPositionTopRearCenter
    toEnum 21 = AudioChannelPosition
AudioChannelPositionBottomFrontCenter
    toEnum 22 = AudioChannelPosition
AudioChannelPositionBottomFrontLeft
    toEnum 23 = AudioChannelPosition
AudioChannelPositionBottomFrontRight
    toEnum 24 = AudioChannelPosition
AudioChannelPositionWideLeft
    toEnum 25 = AudioChannelPosition
AudioChannelPositionWideRight
    toEnum 26 = AudioChannelPosition
AudioChannelPositionSurroundLeft
    toEnum 27 = AudioChannelPosition
AudioChannelPositionSurroundRight
    toEnum k :: Int
k = Int -> AudioChannelPosition
AnotherAudioChannelPosition Int
k

instance P.Ord AudioChannelPosition where
    compare :: AudioChannelPosition -> AudioChannelPosition -> Ordering
compare a :: AudioChannelPosition
a b :: AudioChannelPosition
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioChannelPosition -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioChannelPosition
a) (AudioChannelPosition -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioChannelPosition
b)

foreign import ccall "gst_audio_channel_position_get_type" c_gst_audio_channel_position_get_type :: 
    IO GType

instance BoxedEnum AudioChannelPosition where
    boxedEnumType :: AudioChannelPosition -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_channel_position_get_type

-- Enum AudioCdSrcMode
-- | Mode in which the CD audio source operates. Influences timestamping,
-- EOS handling and seeking.
data AudioCdSrcMode = 
      AudioCdSrcModeNormal
    -- ^ each single track is a stream
    | AudioCdSrcModeContinuous
    -- ^ the entire disc is a single stream
    | AnotherAudioCdSrcMode Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioCdSrcMode -> ShowS
[AudioCdSrcMode] -> ShowS
AudioCdSrcMode -> String
(Int -> AudioCdSrcMode -> ShowS)
-> (AudioCdSrcMode -> String)
-> ([AudioCdSrcMode] -> ShowS)
-> Show AudioCdSrcMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioCdSrcMode] -> ShowS
$cshowList :: [AudioCdSrcMode] -> ShowS
show :: AudioCdSrcMode -> String
$cshow :: AudioCdSrcMode -> String
showsPrec :: Int -> AudioCdSrcMode -> ShowS
$cshowsPrec :: Int -> AudioCdSrcMode -> ShowS
Show, AudioCdSrcMode -> AudioCdSrcMode -> Bool
(AudioCdSrcMode -> AudioCdSrcMode -> Bool)
-> (AudioCdSrcMode -> AudioCdSrcMode -> Bool) -> Eq AudioCdSrcMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioCdSrcMode -> AudioCdSrcMode -> Bool
$c/= :: AudioCdSrcMode -> AudioCdSrcMode -> Bool
== :: AudioCdSrcMode -> AudioCdSrcMode -> Bool
$c== :: AudioCdSrcMode -> AudioCdSrcMode -> Bool
Eq)

instance P.Enum AudioCdSrcMode where
    fromEnum :: AudioCdSrcMode -> Int
fromEnum AudioCdSrcModeNormal = 0
    fromEnum AudioCdSrcModeContinuous = 1
    fromEnum (AnotherAudioCdSrcMode k :: Int
k) = Int
k

    toEnum :: Int -> AudioCdSrcMode
toEnum 0 = AudioCdSrcMode
AudioCdSrcModeNormal
    toEnum 1 = AudioCdSrcMode
AudioCdSrcModeContinuous
    toEnum k :: Int
k = Int -> AudioCdSrcMode
AnotherAudioCdSrcMode Int
k

instance P.Ord AudioCdSrcMode where
    compare :: AudioCdSrcMode -> AudioCdSrcMode -> Ordering
compare a :: AudioCdSrcMode
a b :: AudioCdSrcMode
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioCdSrcMode -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioCdSrcMode
a) (AudioCdSrcMode -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioCdSrcMode
b)

foreign import ccall "gst_audio_cd_src_mode_get_type" c_gst_audio_cd_src_mode_get_type :: 
    IO GType

instance BoxedEnum AudioCdSrcMode where
    boxedEnumType :: AudioCdSrcMode -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_cd_src_mode_get_type

-- Enum AudioBaseSrcSlaveMethod
-- | Different possible clock slaving algorithms when the internal audio clock was
-- not selected as the pipeline clock.
data AudioBaseSrcSlaveMethod = 
      AudioBaseSrcSlaveMethodResample
    -- ^ Resample to match the master clock.
    | AudioBaseSrcSlaveMethodReTimestamp
    -- ^ Retimestamp output buffers with master
    -- clock time.
    | AudioBaseSrcSlaveMethodSkew
    -- ^ Adjust capture pointer when master clock
    -- drifts too much.
    | AudioBaseSrcSlaveMethodNone
    -- ^ No adjustment is done.
    | AnotherAudioBaseSrcSlaveMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioBaseSrcSlaveMethod -> ShowS
[AudioBaseSrcSlaveMethod] -> ShowS
AudioBaseSrcSlaveMethod -> String
(Int -> AudioBaseSrcSlaveMethod -> ShowS)
-> (AudioBaseSrcSlaveMethod -> String)
-> ([AudioBaseSrcSlaveMethod] -> ShowS)
-> Show AudioBaseSrcSlaveMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioBaseSrcSlaveMethod] -> ShowS
$cshowList :: [AudioBaseSrcSlaveMethod] -> ShowS
show :: AudioBaseSrcSlaveMethod -> String
$cshow :: AudioBaseSrcSlaveMethod -> String
showsPrec :: Int -> AudioBaseSrcSlaveMethod -> ShowS
$cshowsPrec :: Int -> AudioBaseSrcSlaveMethod -> ShowS
Show, AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
(AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool)
-> (AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool)
-> Eq AudioBaseSrcSlaveMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
$c/= :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
== :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
$c== :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Bool
Eq)

instance P.Enum AudioBaseSrcSlaveMethod where
    fromEnum :: AudioBaseSrcSlaveMethod -> Int
fromEnum AudioBaseSrcSlaveMethodResample = 0
    fromEnum AudioBaseSrcSlaveMethodReTimestamp = 1
    fromEnum AudioBaseSrcSlaveMethodSkew = 2
    fromEnum AudioBaseSrcSlaveMethodNone = 3
    fromEnum (AnotherAudioBaseSrcSlaveMethod k :: Int
k) = Int
k

    toEnum :: Int -> AudioBaseSrcSlaveMethod
toEnum 0 = AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodResample
    toEnum 1 = AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodReTimestamp
    toEnum 2 = AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodSkew
    toEnum 3 = AudioBaseSrcSlaveMethod
AudioBaseSrcSlaveMethodNone
    toEnum k :: Int
k = Int -> AudioBaseSrcSlaveMethod
AnotherAudioBaseSrcSlaveMethod Int
k

instance P.Ord AudioBaseSrcSlaveMethod where
    compare :: AudioBaseSrcSlaveMethod -> AudioBaseSrcSlaveMethod -> Ordering
compare a :: AudioBaseSrcSlaveMethod
a b :: AudioBaseSrcSlaveMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioBaseSrcSlaveMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSrcSlaveMethod
a) (AudioBaseSrcSlaveMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSrcSlaveMethod
b)

foreign import ccall "gst_audio_base_src_slave_method_get_type" c_gst_audio_base_src_slave_method_get_type :: 
    IO GType

instance BoxedEnum AudioBaseSrcSlaveMethod where
    boxedEnumType :: AudioBaseSrcSlaveMethod -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_base_src_slave_method_get_type

-- Enum AudioBaseSinkSlaveMethod
-- | Different possible clock slaving algorithms used when the internal audio
-- clock is not selected as the pipeline master clock.
data AudioBaseSinkSlaveMethod = 
      AudioBaseSinkSlaveMethodResample
    -- ^ Resample to match the master clock
    | AudioBaseSinkSlaveMethodSkew
    -- ^ Adjust playout pointer when master clock
    -- drifts too much.
    | AudioBaseSinkSlaveMethodNone
    -- ^ No adjustment is done.
    | AudioBaseSinkSlaveMethodCustom
    -- ^ Use custom clock slaving algorithm (Since: 1.6)
    | AnotherAudioBaseSinkSlaveMethod Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioBaseSinkSlaveMethod -> ShowS
[AudioBaseSinkSlaveMethod] -> ShowS
AudioBaseSinkSlaveMethod -> String
(Int -> AudioBaseSinkSlaveMethod -> ShowS)
-> (AudioBaseSinkSlaveMethod -> String)
-> ([AudioBaseSinkSlaveMethod] -> ShowS)
-> Show AudioBaseSinkSlaveMethod
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioBaseSinkSlaveMethod] -> ShowS
$cshowList :: [AudioBaseSinkSlaveMethod] -> ShowS
show :: AudioBaseSinkSlaveMethod -> String
$cshow :: AudioBaseSinkSlaveMethod -> String
showsPrec :: Int -> AudioBaseSinkSlaveMethod -> ShowS
$cshowsPrec :: Int -> AudioBaseSinkSlaveMethod -> ShowS
Show, AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
(AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool)
-> (AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool)
-> Eq AudioBaseSinkSlaveMethod
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
$c/= :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
== :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
$c== :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Bool
Eq)

instance P.Enum AudioBaseSinkSlaveMethod where
    fromEnum :: AudioBaseSinkSlaveMethod -> Int
fromEnum AudioBaseSinkSlaveMethodResample = 0
    fromEnum AudioBaseSinkSlaveMethodSkew = 1
    fromEnum AudioBaseSinkSlaveMethodNone = 2
    fromEnum AudioBaseSinkSlaveMethodCustom = 3
    fromEnum (AnotherAudioBaseSinkSlaveMethod k :: Int
k) = Int
k

    toEnum :: Int -> AudioBaseSinkSlaveMethod
toEnum 0 = AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodResample
    toEnum 1 = AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodSkew
    toEnum 2 = AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodNone
    toEnum 3 = AudioBaseSinkSlaveMethod
AudioBaseSinkSlaveMethodCustom
    toEnum k :: Int
k = Int -> AudioBaseSinkSlaveMethod
AnotherAudioBaseSinkSlaveMethod Int
k

instance P.Ord AudioBaseSinkSlaveMethod where
    compare :: AudioBaseSinkSlaveMethod -> AudioBaseSinkSlaveMethod -> Ordering
compare a :: AudioBaseSinkSlaveMethod
a b :: AudioBaseSinkSlaveMethod
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioBaseSinkSlaveMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSinkSlaveMethod
a) (AudioBaseSinkSlaveMethod -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSinkSlaveMethod
b)

foreign import ccall "gst_audio_base_sink_slave_method_get_type" c_gst_audio_base_sink_slave_method_get_type :: 
    IO GType

instance BoxedEnum AudioBaseSinkSlaveMethod where
    boxedEnumType :: AudioBaseSinkSlaveMethod -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_base_sink_slave_method_get_type

-- Enum AudioBaseSinkDiscontReason
-- | Different possible reasons for discontinuities. This enum is useful for the custom
-- slave method.
-- 
-- /Since: 1.6/
data AudioBaseSinkDiscontReason = 
      AudioBaseSinkDiscontReasonNoDiscont
    -- ^ No discontinuity occurred
    | AudioBaseSinkDiscontReasonNewCaps
    -- ^ New caps are set, causing renegotiotion
    | AudioBaseSinkDiscontReasonFlush
    -- ^ Samples have been flushed
    | AudioBaseSinkDiscontReasonSyncLatency
    -- ^ Sink was synchronized to the estimated latency (occurs during initialization)
    | AudioBaseSinkDiscontReasonAlignment
    -- ^ Aligning buffers failed because the timestamps are too discontinuous
    | AudioBaseSinkDiscontReasonDeviceFailure
    -- ^ Audio output device experienced and recovered from an error but introduced latency in the process (see also /@gstAudioBaseSinkReportDeviceFailure@/())
    | AnotherAudioBaseSinkDiscontReason Int
    -- ^ Catch-all for unknown values
    deriving (Int -> AudioBaseSinkDiscontReason -> ShowS
[AudioBaseSinkDiscontReason] -> ShowS
AudioBaseSinkDiscontReason -> String
(Int -> AudioBaseSinkDiscontReason -> ShowS)
-> (AudioBaseSinkDiscontReason -> String)
-> ([AudioBaseSinkDiscontReason] -> ShowS)
-> Show AudioBaseSinkDiscontReason
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AudioBaseSinkDiscontReason] -> ShowS
$cshowList :: [AudioBaseSinkDiscontReason] -> ShowS
show :: AudioBaseSinkDiscontReason -> String
$cshow :: AudioBaseSinkDiscontReason -> String
showsPrec :: Int -> AudioBaseSinkDiscontReason -> ShowS
$cshowsPrec :: Int -> AudioBaseSinkDiscontReason -> ShowS
Show, AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
(AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool)
-> (AudioBaseSinkDiscontReason
    -> AudioBaseSinkDiscontReason -> Bool)
-> Eq AudioBaseSinkDiscontReason
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
$c/= :: AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
== :: AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
$c== :: AudioBaseSinkDiscontReason -> AudioBaseSinkDiscontReason -> Bool
Eq)

instance P.Enum AudioBaseSinkDiscontReason where
    fromEnum :: AudioBaseSinkDiscontReason -> Int
fromEnum AudioBaseSinkDiscontReasonNoDiscont = 0
    fromEnum AudioBaseSinkDiscontReasonNewCaps = 1
    fromEnum AudioBaseSinkDiscontReasonFlush = 2
    fromEnum AudioBaseSinkDiscontReasonSyncLatency = 3
    fromEnum AudioBaseSinkDiscontReasonAlignment = 4
    fromEnum AudioBaseSinkDiscontReasonDeviceFailure = 5
    fromEnum (AnotherAudioBaseSinkDiscontReason k :: Int
k) = Int
k

    toEnum :: Int -> AudioBaseSinkDiscontReason
toEnum 0 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonNoDiscont
    toEnum 1 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonNewCaps
    toEnum 2 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonFlush
    toEnum 3 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonSyncLatency
    toEnum 4 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonAlignment
    toEnum 5 = AudioBaseSinkDiscontReason
AudioBaseSinkDiscontReasonDeviceFailure
    toEnum k :: Int
k = Int -> AudioBaseSinkDiscontReason
AnotherAudioBaseSinkDiscontReason Int
k

instance P.Ord AudioBaseSinkDiscontReason where
    compare :: AudioBaseSinkDiscontReason
-> AudioBaseSinkDiscontReason -> Ordering
compare a :: AudioBaseSinkDiscontReason
a b :: AudioBaseSinkDiscontReason
b = Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
P.compare (AudioBaseSinkDiscontReason -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSinkDiscontReason
a) (AudioBaseSinkDiscontReason -> Int
forall a. Enum a => a -> Int
P.fromEnum AudioBaseSinkDiscontReason
b)

foreign import ccall "gst_audio_base_sink_discont_reason_get_type" c_gst_audio_base_sink_discont_reason_get_type :: 
    IO GType

instance BoxedEnum AudioBaseSinkDiscontReason where
    boxedEnumType :: AudioBaseSinkDiscontReason -> IO GType
boxedEnumType _ = IO GType
c_gst_audio_base_sink_discont_reason_get_type