module Codec.Audio.FLAC.StreamEncoder.Internal.Types
( Encoder (..),
EncoderInitStatus (..),
EncoderState (..),
EncoderException (..),
ApodizationFunction (..),
)
where
import Codec.Audio.Wave (SampleFormat)
import Control.Exception
import Data.Void
import Foreign
import Numeric.Natural
newtype Encoder = Encoder (Ptr Void)
data EncoderInitStatus
=
EncoderInitStatusOK
|
EncoderInitStatusEncoderError
|
EncoderInitStatusUnsupportedCointainer
|
EncoderInitStatusInvalidCallbacks
|
EncoderInitStatusInvalidNumberOfChannels
|
EncoderInitStatusInvalidBitsPerSample
|
EncoderInitStatusInvalidSampleRate
|
EncoderInitStatusInvalidBlockSize
|
EncoderInitStatusInvalidMaxLpcOrder
|
EncoderInitStatusInvalidQlpCoeffPrecision
|
EncoderInitStatusBlockSizeTooSmallForLpcOrder
|
EncoderInitStatusNotStreamable
|
EncoderInitStatusInvalidMetadata
|
EncoderInitStatusAlreadyInitialized
deriving (Int -> EncoderInitStatus -> ShowS
[EncoderInitStatus] -> ShowS
EncoderInitStatus -> String
(Int -> EncoderInitStatus -> ShowS)
-> (EncoderInitStatus -> String)
-> ([EncoderInitStatus] -> ShowS)
-> Show EncoderInitStatus
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EncoderInitStatus] -> ShowS
$cshowList :: [EncoderInitStatus] -> ShowS
show :: EncoderInitStatus -> String
$cshow :: EncoderInitStatus -> String
showsPrec :: Int -> EncoderInitStatus -> ShowS
$cshowsPrec :: Int -> EncoderInitStatus -> ShowS
Show, ReadPrec [EncoderInitStatus]
ReadPrec EncoderInitStatus
Int -> ReadS EncoderInitStatus
ReadS [EncoderInitStatus]
(Int -> ReadS EncoderInitStatus)
-> ReadS [EncoderInitStatus]
-> ReadPrec EncoderInitStatus
-> ReadPrec [EncoderInitStatus]
-> Read EncoderInitStatus
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EncoderInitStatus]
$creadListPrec :: ReadPrec [EncoderInitStatus]
readPrec :: ReadPrec EncoderInitStatus
$creadPrec :: ReadPrec EncoderInitStatus
readList :: ReadS [EncoderInitStatus]
$creadList :: ReadS [EncoderInitStatus]
readsPrec :: Int -> ReadS EncoderInitStatus
$creadsPrec :: Int -> ReadS EncoderInitStatus
Read, EncoderInitStatus -> EncoderInitStatus -> Bool
(EncoderInitStatus -> EncoderInitStatus -> Bool)
-> (EncoderInitStatus -> EncoderInitStatus -> Bool)
-> Eq EncoderInitStatus
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EncoderInitStatus -> EncoderInitStatus -> Bool
$c/= :: EncoderInitStatus -> EncoderInitStatus -> Bool
== :: EncoderInitStatus -> EncoderInitStatus -> Bool
$c== :: EncoderInitStatus -> EncoderInitStatus -> Bool
Eq, Eq EncoderInitStatus
Eq EncoderInitStatus =>
(EncoderInitStatus -> EncoderInitStatus -> Ordering)
-> (EncoderInitStatus -> EncoderInitStatus -> Bool)
-> (EncoderInitStatus -> EncoderInitStatus -> Bool)
-> (EncoderInitStatus -> EncoderInitStatus -> Bool)
-> (EncoderInitStatus -> EncoderInitStatus -> Bool)
-> (EncoderInitStatus -> EncoderInitStatus -> EncoderInitStatus)
-> (EncoderInitStatus -> EncoderInitStatus -> EncoderInitStatus)
-> Ord EncoderInitStatus
EncoderInitStatus -> EncoderInitStatus -> Bool
EncoderInitStatus -> EncoderInitStatus -> Ordering
EncoderInitStatus -> EncoderInitStatus -> EncoderInitStatus
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: EncoderInitStatus -> EncoderInitStatus -> EncoderInitStatus
$cmin :: EncoderInitStatus -> EncoderInitStatus -> EncoderInitStatus
max :: EncoderInitStatus -> EncoderInitStatus -> EncoderInitStatus
$cmax :: EncoderInitStatus -> EncoderInitStatus -> EncoderInitStatus
>= :: EncoderInitStatus -> EncoderInitStatus -> Bool
$c>= :: EncoderInitStatus -> EncoderInitStatus -> Bool
> :: EncoderInitStatus -> EncoderInitStatus -> Bool
$c> :: EncoderInitStatus -> EncoderInitStatus -> Bool
<= :: EncoderInitStatus -> EncoderInitStatus -> Bool
$c<= :: EncoderInitStatus -> EncoderInitStatus -> Bool
< :: EncoderInitStatus -> EncoderInitStatus -> Bool
$c< :: EncoderInitStatus -> EncoderInitStatus -> Bool
compare :: EncoderInitStatus -> EncoderInitStatus -> Ordering
$ccompare :: EncoderInitStatus -> EncoderInitStatus -> Ordering
$cp1Ord :: Eq EncoderInitStatus
Ord, EncoderInitStatus
EncoderInitStatus -> EncoderInitStatus -> Bounded EncoderInitStatus
forall a. a -> a -> Bounded a
maxBound :: EncoderInitStatus
$cmaxBound :: EncoderInitStatus
minBound :: EncoderInitStatus
$cminBound :: EncoderInitStatus
Bounded, Int -> EncoderInitStatus
EncoderInitStatus -> Int
EncoderInitStatus -> [EncoderInitStatus]
EncoderInitStatus -> EncoderInitStatus
EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus]
EncoderInitStatus
-> EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus]
(EncoderInitStatus -> EncoderInitStatus)
-> (EncoderInitStatus -> EncoderInitStatus)
-> (Int -> EncoderInitStatus)
-> (EncoderInitStatus -> Int)
-> (EncoderInitStatus -> [EncoderInitStatus])
-> (EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus])
-> (EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus])
-> (EncoderInitStatus
-> EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus])
-> Enum EncoderInitStatus
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: EncoderInitStatus
-> EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus]
$cenumFromThenTo :: EncoderInitStatus
-> EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus]
enumFromTo :: EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus]
$cenumFromTo :: EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus]
enumFromThen :: EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus]
$cenumFromThen :: EncoderInitStatus -> EncoderInitStatus -> [EncoderInitStatus]
enumFrom :: EncoderInitStatus -> [EncoderInitStatus]
$cenumFrom :: EncoderInitStatus -> [EncoderInitStatus]
fromEnum :: EncoderInitStatus -> Int
$cfromEnum :: EncoderInitStatus -> Int
toEnum :: Int -> EncoderInitStatus
$ctoEnum :: Int -> EncoderInitStatus
pred :: EncoderInitStatus -> EncoderInitStatus
$cpred :: EncoderInitStatus -> EncoderInitStatus
succ :: EncoderInitStatus -> EncoderInitStatus
$csucc :: EncoderInitStatus -> EncoderInitStatus
Enum)
data EncoderState
=
EncoderStateOK
|
EncoderStateUninitialized
|
EncoderStateOggError
|
EncoderStateVerifyDecoderError
|
EncoderStateVerifyMismatchInAudioData
|
EncoderStateClientError
|
EncoderStateIOError
|
EncoderStateFramingError
|
EncoderStateMemoryAllocationError
deriving (Int -> EncoderState -> ShowS
[EncoderState] -> ShowS
EncoderState -> String
(Int -> EncoderState -> ShowS)
-> (EncoderState -> String)
-> ([EncoderState] -> ShowS)
-> Show EncoderState
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EncoderState] -> ShowS
$cshowList :: [EncoderState] -> ShowS
show :: EncoderState -> String
$cshow :: EncoderState -> String
showsPrec :: Int -> EncoderState -> ShowS
$cshowsPrec :: Int -> EncoderState -> ShowS
Show, ReadPrec [EncoderState]
ReadPrec EncoderState
Int -> ReadS EncoderState
ReadS [EncoderState]
(Int -> ReadS EncoderState)
-> ReadS [EncoderState]
-> ReadPrec EncoderState
-> ReadPrec [EncoderState]
-> Read EncoderState
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EncoderState]
$creadListPrec :: ReadPrec [EncoderState]
readPrec :: ReadPrec EncoderState
$creadPrec :: ReadPrec EncoderState
readList :: ReadS [EncoderState]
$creadList :: ReadS [EncoderState]
readsPrec :: Int -> ReadS EncoderState
$creadsPrec :: Int -> ReadS EncoderState
Read, EncoderState -> EncoderState -> Bool
(EncoderState -> EncoderState -> Bool)
-> (EncoderState -> EncoderState -> Bool) -> Eq EncoderState
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EncoderState -> EncoderState -> Bool
$c/= :: EncoderState -> EncoderState -> Bool
== :: EncoderState -> EncoderState -> Bool
$c== :: EncoderState -> EncoderState -> Bool
Eq, Eq EncoderState
Eq EncoderState =>
(EncoderState -> EncoderState -> Ordering)
-> (EncoderState -> EncoderState -> Bool)
-> (EncoderState -> EncoderState -> Bool)
-> (EncoderState -> EncoderState -> Bool)
-> (EncoderState -> EncoderState -> Bool)
-> (EncoderState -> EncoderState -> EncoderState)
-> (EncoderState -> EncoderState -> EncoderState)
-> Ord EncoderState
EncoderState -> EncoderState -> Bool
EncoderState -> EncoderState -> Ordering
EncoderState -> EncoderState -> EncoderState
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: EncoderState -> EncoderState -> EncoderState
$cmin :: EncoderState -> EncoderState -> EncoderState
max :: EncoderState -> EncoderState -> EncoderState
$cmax :: EncoderState -> EncoderState -> EncoderState
>= :: EncoderState -> EncoderState -> Bool
$c>= :: EncoderState -> EncoderState -> Bool
> :: EncoderState -> EncoderState -> Bool
$c> :: EncoderState -> EncoderState -> Bool
<= :: EncoderState -> EncoderState -> Bool
$c<= :: EncoderState -> EncoderState -> Bool
< :: EncoderState -> EncoderState -> Bool
$c< :: EncoderState -> EncoderState -> Bool
compare :: EncoderState -> EncoderState -> Ordering
$ccompare :: EncoderState -> EncoderState -> Ordering
$cp1Ord :: Eq EncoderState
Ord, EncoderState
EncoderState -> EncoderState -> Bounded EncoderState
forall a. a -> a -> Bounded a
maxBound :: EncoderState
$cmaxBound :: EncoderState
minBound :: EncoderState
$cminBound :: EncoderState
Bounded, Int -> EncoderState
EncoderState -> Int
EncoderState -> [EncoderState]
EncoderState -> EncoderState
EncoderState -> EncoderState -> [EncoderState]
EncoderState -> EncoderState -> EncoderState -> [EncoderState]
(EncoderState -> EncoderState)
-> (EncoderState -> EncoderState)
-> (Int -> EncoderState)
-> (EncoderState -> Int)
-> (EncoderState -> [EncoderState])
-> (EncoderState -> EncoderState -> [EncoderState])
-> (EncoderState -> EncoderState -> [EncoderState])
-> (EncoderState -> EncoderState -> EncoderState -> [EncoderState])
-> Enum EncoderState
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: EncoderState -> EncoderState -> EncoderState -> [EncoderState]
$cenumFromThenTo :: EncoderState -> EncoderState -> EncoderState -> [EncoderState]
enumFromTo :: EncoderState -> EncoderState -> [EncoderState]
$cenumFromTo :: EncoderState -> EncoderState -> [EncoderState]
enumFromThen :: EncoderState -> EncoderState -> [EncoderState]
$cenumFromThen :: EncoderState -> EncoderState -> [EncoderState]
enumFrom :: EncoderState -> [EncoderState]
$cenumFrom :: EncoderState -> [EncoderState]
fromEnum :: EncoderState -> Int
$cfromEnum :: EncoderState -> Int
toEnum :: Int -> EncoderState
$ctoEnum :: Int -> EncoderState
pred :: EncoderState -> EncoderState
$cpred :: EncoderState -> EncoderState
succ :: EncoderState -> EncoderState
$csucc :: EncoderState -> EncoderState
Enum)
data EncoderException
=
EncoderInvalidSampleFormat SampleFormat
|
EncoderInitFailed EncoderInitStatus
|
EncoderFailed EncoderState
deriving (EncoderException -> EncoderException -> Bool
(EncoderException -> EncoderException -> Bool)
-> (EncoderException -> EncoderException -> Bool)
-> Eq EncoderException
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EncoderException -> EncoderException -> Bool
$c/= :: EncoderException -> EncoderException -> Bool
== :: EncoderException -> EncoderException -> Bool
$c== :: EncoderException -> EncoderException -> Bool
Eq, Int -> EncoderException -> ShowS
[EncoderException] -> ShowS
EncoderException -> String
(Int -> EncoderException -> ShowS)
-> (EncoderException -> String)
-> ([EncoderException] -> ShowS)
-> Show EncoderException
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EncoderException] -> ShowS
$cshowList :: [EncoderException] -> ShowS
show :: EncoderException -> String
$cshow :: EncoderException -> String
showsPrec :: Int -> EncoderException -> ShowS
$cshowsPrec :: Int -> EncoderException -> ShowS
Show, ReadPrec [EncoderException]
ReadPrec EncoderException
Int -> ReadS EncoderException
ReadS [EncoderException]
(Int -> ReadS EncoderException)
-> ReadS [EncoderException]
-> ReadPrec EncoderException
-> ReadPrec [EncoderException]
-> Read EncoderException
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EncoderException]
$creadListPrec :: ReadPrec [EncoderException]
readPrec :: ReadPrec EncoderException
$creadPrec :: ReadPrec EncoderException
readList :: ReadS [EncoderException]
$creadList :: ReadS [EncoderException]
readsPrec :: Int -> ReadS EncoderException
$creadsPrec :: Int -> ReadS EncoderException
Read)
instance Exception EncoderException
data ApodizationFunction
= Bartlett
| BartlettHann
| Blackman
| BlackmanHarris4Term92Db
| Connes
| Flattop
|
Gauss Double
| Hamming
| Hann
| KaiserBessel
| Nuttall
| Rectangle
| Triangle
|
Tukey Double
|
PartialTukey Natural (Maybe (Double, Maybe Double))
|
PunchoutTukey Natural (Maybe (Double, Maybe Double))
| Welch
deriving (ApodizationFunction -> ApodizationFunction -> Bool
(ApodizationFunction -> ApodizationFunction -> Bool)
-> (ApodizationFunction -> ApodizationFunction -> Bool)
-> Eq ApodizationFunction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApodizationFunction -> ApodizationFunction -> Bool
$c/= :: ApodizationFunction -> ApodizationFunction -> Bool
== :: ApodizationFunction -> ApodizationFunction -> Bool
$c== :: ApodizationFunction -> ApodizationFunction -> Bool
Eq, Int -> ApodizationFunction -> ShowS
[ApodizationFunction] -> ShowS
ApodizationFunction -> String
(Int -> ApodizationFunction -> ShowS)
-> (ApodizationFunction -> String)
-> ([ApodizationFunction] -> ShowS)
-> Show ApodizationFunction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApodizationFunction] -> ShowS
$cshowList :: [ApodizationFunction] -> ShowS
show :: ApodizationFunction -> String
$cshow :: ApodizationFunction -> String
showsPrec :: Int -> ApodizationFunction -> ShowS
$cshowsPrec :: Int -> ApodizationFunction -> ShowS
Show, ReadPrec [ApodizationFunction]
ReadPrec ApodizationFunction
Int -> ReadS ApodizationFunction
ReadS [ApodizationFunction]
(Int -> ReadS ApodizationFunction)
-> ReadS [ApodizationFunction]
-> ReadPrec ApodizationFunction
-> ReadPrec [ApodizationFunction]
-> Read ApodizationFunction
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ApodizationFunction]
$creadListPrec :: ReadPrec [ApodizationFunction]
readPrec :: ReadPrec ApodizationFunction
$creadPrec :: ReadPrec ApodizationFunction
readList :: ReadS [ApodizationFunction]
$creadList :: ReadS [ApodizationFunction]
readsPrec :: Int -> ReadS ApodizationFunction
$creadsPrec :: Int -> ReadS ApodizationFunction
Read, Eq ApodizationFunction
Eq ApodizationFunction =>
(ApodizationFunction -> ApodizationFunction -> Ordering)
-> (ApodizationFunction -> ApodizationFunction -> Bool)
-> (ApodizationFunction -> ApodizationFunction -> Bool)
-> (ApodizationFunction -> ApodizationFunction -> Bool)
-> (ApodizationFunction -> ApodizationFunction -> Bool)
-> (ApodizationFunction
-> ApodizationFunction -> ApodizationFunction)
-> (ApodizationFunction
-> ApodizationFunction -> ApodizationFunction)
-> Ord ApodizationFunction
ApodizationFunction -> ApodizationFunction -> Bool
ApodizationFunction -> ApodizationFunction -> Ordering
ApodizationFunction -> ApodizationFunction -> ApodizationFunction
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ApodizationFunction -> ApodizationFunction -> ApodizationFunction
$cmin :: ApodizationFunction -> ApodizationFunction -> ApodizationFunction
max :: ApodizationFunction -> ApodizationFunction -> ApodizationFunction
$cmax :: ApodizationFunction -> ApodizationFunction -> ApodizationFunction
>= :: ApodizationFunction -> ApodizationFunction -> Bool
$c>= :: ApodizationFunction -> ApodizationFunction -> Bool
> :: ApodizationFunction -> ApodizationFunction -> Bool
$c> :: ApodizationFunction -> ApodizationFunction -> Bool
<= :: ApodizationFunction -> ApodizationFunction -> Bool
$c<= :: ApodizationFunction -> ApodizationFunction -> Bool
< :: ApodizationFunction -> ApodizationFunction -> Bool
$c< :: ApodizationFunction -> ApodizationFunction -> Bool
compare :: ApodizationFunction -> ApodizationFunction -> Ordering
$ccompare :: ApodizationFunction -> ApodizationFunction -> Ordering
$cp1Ord :: Eq ApodizationFunction
Ord)