{-# LINE 1 "src/Foreign/Libcdio/Types/Enums.chs" #-}
{-# LANGUAGE CPP #-}
{-# LANGUAGE ForeignFunctionInterface #-}
{-# OPTIONS_HADDOCK not-home #-}
module Foreign.Libcdio.Types.Enums
(
CField
, Field ( .. )
, CGenre
, Genre ( .. )
, CLanguage
, Language ( .. )
, Filesystem_ ( .. )
, FilesystemClass ( .. )
, DriveCapabilityMisc ( .. )
, DriveCapabilityRead ( .. )
, DriveCapabilityWrite ( .. )
, CDriverId
, DriverId ( .. )
, CDriverReturnCode
, DriverReturnCode ( .. )
, CDiscMode
, DiscMode ( .. )
, CLogLevel
, LogLevel ( .. )
, ReadMode ( .. )
, Whence ( .. )
, SubchannelData ( .. )
, Flag ( .. )
, CTrackFormat
, TrackFormat ( .. )
, TrackFlagStatus ( .. )
) where
import qualified Foreign.C.Types as C2HSImp
import Data.Ix ( Ix )
type CField = (C2HSImp.CInt)
{-# LINE 70 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data Field = Title
| Performer
| Songwriter
| Composer
| Message
| Arranger
| Isrc
| UpcEan
| GenreName
| DiscId
deriving (Eq,Show,Read,Ord,Bounded)
instance Enum Field where
succ :: Field -> Field
succ Field
Title = Field
Performer
succ Field
Performer = Field
Songwriter
succ Field
Songwriter = Field
Composer
succ Field
Composer = Field
Message
succ Field
Message = Field
Arranger
succ Field
Arranger = Field
Isrc
succ Field
Isrc = Field
UpcEan
succ Field
UpcEan = Field
GenreName
succ Field
GenreName = Field
DiscId
succ Field
DiscId = String -> Field
forall a. HasCallStack => String -> a
error String
"Field.succ: DiscId has no successor"
pred :: Field -> Field
pred Field
Performer = Field
Title
pred Field
Songwriter = Field
Performer
pred Field
Composer = Field
Songwriter
pred Field
Message = Field
Composer
pred Field
Arranger = Field
Message
pred Field
Isrc = Field
Arranger
pred Field
UpcEan = Field
Isrc
pred GenreName = UpcEan
pred Field
DiscId = Field
GenreName
pred Field
Title = String -> Field
forall a. HasCallStack => String -> a
error String
"Field.pred: Title has no predecessor"
enumFromTo :: Field -> Field -> [Field]
enumFromTo Field
from Field
to = Field -> [Field]
forall t. Enum t => t -> [t]
go Field
from
where
end :: Int
end = Field -> Int
forall a. Enum a => a -> Int
fromEnum Field
to
go :: t -> [t]
go t
v = case compare (t -> Int
forall a. Enum a => a -> Int
fromEnum t
v) Int
end of
Ordering
LT -> t
v t -> [t] -> [t]
forall a. a -> [a] -> [a]
: t -> [t]
go (t -> t
forall a. Enum a => a -> a
succ t
v)
EQ -> [v]
GT -> []
enumFrom :: Field -> [Field]
enumFrom Field
from = enumFromTo from DiscId
fromEnum :: Field -> Int
fromEnum Field
Title = Int
0
fromEnum Field
Performer = Int
1
fromEnum Field
Songwriter = Int
2
fromEnum Field
Composer = Int
3
fromEnum Field
Message = Int
4
fromEnum Field
Arranger = Int
5
fromEnum Field
Isrc = Int
6
fromEnum Field
UpcEan = Int
7
fromEnum Field
GenreName = Int
8
fromEnum Field
DiscId = Int
9
toEnum :: Int -> Field
toEnum Int
0 = Field
Title
toEnum Int
1 = Field
Performer
toEnum Int
2 = Field
Songwriter
toEnum Int
3 = Field
Composer
toEnum Int
4 = Field
Message
toEnum Int
5 = Field
Arranger
toEnum Int
6 = Field
Isrc
toEnum Int
7 = Field
UpcEan
toEnum Int
8 = Field
GenreName
toEnum Int
9 = Field
DiscId
toEnum Int
unmatched = String -> Field
forall a. HasCallStack => String -> a
error (String
"Field.toEnum: Cannot match " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
unmatched)
{-# LINE 80 "src/Foreign/Libcdio/Types/Enums.chs" #-}
type CGenre = (C2HSImp.CInt)
{-# LINE 84 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data Genre = Undefined
| AdultContemporary
| AltRock
| Childrens
| Classic
| ChristianContemporary
| Country
| Dance
| EasyListening
| Erotic
| Folk
| Gospel
| HipHop
| Jazz
| LatinMusic
| Musical
| NewAge
| Opera
| Operetta
| Pop
| Rap
| Reggae
| Rock
| RhythmAndBlues
| SoundEffects
| Soundtrack
| SpokenWord
| WorldMusic
deriving (Eq,Show,Read,Ord,Bounded)
instance Enum Genre where
succ Undefined = AdultContemporary
succ AdultContemporary = AltRock
succ AltRock = Childrens
succ Childrens = Classic
succ Classic = ChristianContemporary
succ ChristianContemporary = Country
succ Country = Dance
succ Dance = EasyListening
succ EasyListening = Erotic
succ Erotic = Folk
succ Folk = Gospel
succ Gospel = HipHop
succ HipHop = Jazz
succ Jazz = LatinMusic
succ LatinMusic = Musical
succ Musical = NewAge
succ NewAge = Opera
succ Opera = Operetta
succ Operetta = Pop
succ Pop = Rap
succ Rap = Reggae
succ Reggae = Rock
succ Rock = RhythmAndBlues
succ RhythmAndBlues = SoundEffects
succ SoundEffects = Soundtrack
succ Soundtrack = SpokenWord
succ SpokenWord = WorldMusic
succ WorldMusic = error "Genre.succ: WorldMusic has no successor"
pred :: Genre -> Genre
pred Genre
AdultContemporary = Genre
Undefined
pred Genre
AltRock = Genre
AdultContemporary
pred Genre
Childrens = Genre
AltRock
pred Genre
Classic = Genre
Childrens
pred Genre
ChristianContemporary = Genre
Classic
pred Genre
Country = Genre
ChristianContemporary
pred Genre
Dance = Genre
Country
pred Genre
EasyListening = Genre
Dance
pred Genre
Erotic = Genre
EasyListening
pred Genre
Folk = Genre
Erotic
succ :: Filesystem_ -> Filesystem_
pred Genre
Gospel = Genre
Folk
pred Genre
HipHop = Genre
Gospel
pred Genre
Jazz = Genre
HipHop
pred Genre
LatinMusic = Genre
Jazz
pred Genre
Musical = Genre
LatinMusic
pred Genre
NewAge = Genre
Musical
pred Genre
Opera = Genre
NewAge
pred Filesystem_
Genre
Operetta = Genre
Opera
pred Genre
Pop = Genre
Operetta
pred Genre
Rap = Genre
Pop
pred Filesystem_
Genre
Reggae = Genre
Rap
pred Genre
Rock = Genre
Reggae
pred Genre
RhythmAndBlues = Genre
Rock
pred Genre
SoundEffects = Genre
RhythmAndBlues
pred Genre
Soundtrack = Genre
SoundEffects
pred Genre
SpokenWord = Genre
Soundtrack
pred Genre
WorldMusic = Genre
SpokenWord
pred Genre
Undefined = String -> Genre
forall a. HasCallStack => String -> a
error String
"Genre.pred: Undefined has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from WorldMusic
fromEnum Undefined = 1
fromEnum AdultContemporary = 2
fromEnum AltRock = 3
fromEnum Childrens = 4
fromEnum Classic = 5
fromEnum ChristianContemporary = 6
fromEnum Country = 7
fromEnum Dance = 8
fromEnum EasyListening = 9
enumFrom :: Filesystem_ -> [Filesystem_]
fromEnum Erotic = 10
fromEnum Folk = 11
fromEnum Gospel = 12
fromEnum HipHop = 13
fromEnum Jazz = 14
enumFrom :: FilesystemClass -> [FilesystemClass]
fromEnum LatinMusic = 15
fromEnum Musical = 16
fromEnum NewAge = 17
fromEnum Opera = 18
fromEnum Operetta = 19
fromEnum Pop = 20
fromEnum Rap = 21
fromEnum Reggae = 22
fromEnum Rock = 23
enumFrom :: DriveCapabilityMisc -> [DriveCapabilityMisc]
fromEnum RhythmAndBlues = 24
fromEnum SoundEffects = 25
fromEnum :: DriveCapabilityMisc -> Int
fromEnum Soundtrack = 26
fromEnum SpokenWord = 27
fromEnum WorldMusic = 28
toEnum 1 = Undefined
toEnum 2 = AdultContemporary
toEnum 3 = AltRock
toEnum 4 = Childrens
toEnum 5 = Classic
toEnum 6 = ChristianContemporary
toEnum 7 = Country
toEnum 8 = Dance
toEnum 9 = EasyListening
toEnum 10 = Erotic
toEnum 11 = Folk
toEnum 12 = Gospel
toEnum 13 = HipHop
toEnum 14 = Jazz
toEnum 15 = LatinMusic
toEnum 16 = Musical
toEnum 17 = NewAge
toEnum 18 = Opera
toEnum 19 = Operetta
toEnum 20 = Pop
toEnum 21 = Rap
toEnum 22 = Reggae
toEnum 23 = Rock
toEnum 24 = RhythmAndBlues
toEnum 25 = SoundEffects
toEnum 26 = Soundtrack
toEnum 27 = SpokenWord
toEnum 28 = WorldMusic
toEnum unmatched = error ("Genre.toEnum: Cannot match " ++ show unmatched)
{-# LINE 99 "src/Foreign/Libcdio/Types/Enums.chs" #-}
type CLanguage = (C2HSImp.CInt)
{-# LINE 103 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data Language = UnknownLanguage
| Albanian
| Breton
| Catalan
| Croatian
| Welsh
| Czech
| Danish
| German
| English
| Spanish
| Esperanto
| Estonian
| Basque
| Faroese
| French
| Frisian
| Irish
| Gaelic
| Galician
| Icelandic
| Italian
| Lappish
| Latin
| Latvian
| Luxembourgian
| Lithuanian
| Hungarian
| Maltese
| Dutch
| Norwegian
| Occitan
| Polish
| Portuguese
| Romanian
| Romansh
| Serbian
| Slovak
| Slovenian
| Finnish
| Swedish
| Turkish
| Flemish
| Wallon
| Zulu
| Vietnamese
| Uzbek
| Urdu
| Ukrainian
| Thai
| Telugu
| Tatar
| Tamil
| Tadzhik
| Swahili
| SrananTongo
| Somali
| Sinhalese
| Shona
| SerboCroatian
| Ruthenian
| Russian
| Quechua
| Pushtu
| Punjabi
| Persian
| Papamiento
| Oriya
| Nepali
| Ndebele
| Marathi
| Moldavian
| Malaysian
| Malagasay
| Macedonian
| Laotian
| Korean
| Khmer
| Kazakh
| Kannada
| Japanese
| Indonesian
| Hindi
| Hebrew
| Hausa
| Gurani
| Gujurati
| Greek
| Georgian
| Fulani
| Dari
| Churash
| Chinese
| Burmese
| Bulgarian
| Bengali
| Bielorussian
| Bambora
| Azerbaijani
| Assamese
| Armenian
| Arabic
| Amharic
deriving (Eq,Show,Read,Ord,Bounded)
instance Enum Language where
succ UnknownLanguage = Albanian
succ Albanian = Breton
succ Breton = Catalan
succ Catalan = Croatian
succ Croatian = Welsh
succ Welsh = Czech
succ Czech = Danish
succ Danish = German
succ German = English
succ English = Spanish
succ Spanish = Esperanto
succ Esperanto = Estonian
succ Estonian = Basque
succ Basque = Faroese
succ Faroese = French
succ French = Frisian
succ Frisian = Irish
succ Irish = Gaelic
succ Gaelic = Galician
succ Galician = Icelandic
succ Icelandic = Italian
succ Italian = Lappish
succ Lappish = Latin
succ Latin = Latvian
succ Latvian = Luxembourgian
succ Luxembourgian = Lithuanian
succ Lithuanian = Hungarian
succ Hungarian = Maltese
succ Maltese = Dutch
succ Dutch = Norwegian
succ Norwegian = Occitan
succ Occitan = Polish
succ Polish = Portuguese
succ Portuguese = Romanian
succ Language
Romanian = Language
Romansh
succ Language
Romansh = Language
Serbian
succ Language
Serbian = Language
Slovak
succ Language
Slovak = Language
Slovenian
succ Language
Slovenian = Language
Finnish
succ Language
Finnish = Language
Swedish
succ Language
Swedish = Language
Turkish
succ Language
Turkish = Language
Flemish
succ Language
Flemish = Language
Wallon
succ Language
Wallon = Language
Zulu
succ Language
Zulu = Language
Vietnamese
succ Language
Vietnamese = Language
Uzbek
succ Language
Uzbek = Language
Urdu
succ Language
Urdu = Language
Ukrainian
succ Language
Ukrainian = Language
Thai
succ Language
Thai = Language
Telugu
succ Language
Telugu = Language
Tatar
succ Language
Tatar = Language
Tamil
succ Language
Tamil = Language
Tadzhik
succ Language
Tadzhik = Language
Swahili
succ Language
Swahili = Language
SrananTongo
succ Language
SrananTongo = Language
Somali
succ Language
Somali = Language
Sinhalese
succ Language
Sinhalese = Language
Shona
pred :: DriverId -> DriverId
succ Language
Shona = Language
SerboCroatian
succ DriverId
Language
SerboCroatian = DriverId
Language
Ruthenian
succ Language
Ruthenian = Language
Russian
succ Language
Russian = Language
Quechua
succ Language
Quechua = Language
Pushtu
succ Language
Pushtu = Language
Punjabi
succ Language
Punjabi = Language
Persian
succ Language
Persian = Language
Papamiento
succ Language
Papamiento = Language
Oriya
succ Language
Oriya = Language
Nepali
succ Language
Nepali = Language
Ndebele
succ Language
Ndebele = Language
Marathi
succ Language
Marathi = Language
Moldavian
succ Language
Moldavian = Language
Malaysian
succ Language
Malaysian = Language
Malagasay
succ Language
Malagasay = Language
Macedonian
succ Language
Macedonian = Language
Laotian
succ Language
Laotian = Language
Korean
succ Language
Korean = Language
Khmer
succ Language
Khmer = Language
Kazakh
succ Language
Kazakh = Language
Kannada
succ Language
Kannada = Language
Japanese
succ Language
Japanese = Language
Indonesian
succ Language
Indonesian = Language
Hindi
succ Language
Hindi = Language
Hebrew
succ Language
Hebrew = Language
Hausa
succ Language
Hausa = Language
Gurani
succ Language
Gurani = Language
Gujurati
succ Language
Gujurati = Language
Greek
succ Language
Greek = Language
Georgian
succ Language
Georgian = Language
Fulani
succ Language
Fulani = Language
Dari
succ Dari = Churash
succ Language
Churash = Language
Chinese
succ Language
Chinese = Language
Burmese
succ Language
Burmese = Language
Bulgarian
succ Language
Bulgarian = Language
Bengali
succ Language
Bengali = Language
Bielorussian
succ Bielorussian = Bambora
succ Language
Bambora = Language
Azerbaijani
succ Azerbaijani = Assamese
succ Assamese = Armenian
succ Armenian = Arabic
succ Arabic = Amharic
succ Amharic = error "Language.succ: Amharic has no successor"
pred Albanian = UnknownLanguage
pred Breton = DriverReturnCode
Albanian
pred Catalan = Breton
pred Croatian = Catalan
pred Welsh = Croatian
pred Czech = Welsh
pred Danish = Czech
pred German = Danish
pred English = German
pred Spanish = English
pred Esperanto = Spanish
pred Estonian = Esperanto
pred Basque = Estonian
pred Faroese = Basque
pred French = Faroese
pred Frisian = French
pred Irish = Frisian
pred Gaelic = Irish
pred Galician = Gaelic
pred Icelandic = Galician
succ :: LogLevel -> LogLevel
pred Italian = Icelandic
pred LogLevel
Lappish = LogLevel
Italian
pred Latin = Lappish
pred Latvian = Latin
pred Luxembourgian = Latvian
pred Lithuanian = Luxembourgian
pred :: LogLevel -> LogLevel
pred Hungarian = Lithuanian
pred LogLevel
Maltese = Hungarian
pred Dutch = Maltese
pred LogLevel
Norwegian = Dutch
pred Occitan = Norwegian
pred Polish = Occitan
pred Portuguese = Polish
pred Romanian = Portuguese
pred Romansh = Romanian
pred Serbian = Romansh
pred Slovak = Serbian
pred Slovenian = Slovak
pred Finnish = Slovenian
pred Swedish = Finnish
pred Turkish = Swedish
pred Flemish = Turkish
pred Wallon = Flemish
pred Zulu = Wallon
pred Vietnamese = Zulu
pred Uzbek = Vietnamese
pred Urdu = Uzbek
pred Ukrainian = Urdu
pred Thai = Ukrainian
pred :: Whence -> Whence
pred Telugu = Thai
pred Tatar = Telugu
pred Tamil = Tatar
pred Tadzhik = Tamil
pred Language
Swahili = Language
Tadzhik
pred Language
SrananTongo = Language
Swahili
pred Language
Somali = Language
SrananTongo
pred Language
Sinhalese = Language
Somali
pred Language
Shona = Language
Sinhalese
pred Language
SerboCroatian = Language
Shona
pred Ruthenian = SerboCroatian
pred Language
Russian = Language
Ruthenian
pred Language
Quechua = Language
Russian
pred Language
Pushtu = Language
Quechua
pred :: SubchannelData -> SubchannelData
pred Language
Punjabi = Language
Pushtu
pred Language
Persian = Language
Punjabi
pred Papamiento = Persian
pred Language
Oriya = Language
Papamiento
pred Language
Nepali = Language
Oriya
pred Language
Ndebele = Language
Nepali
pred Language
Marathi = Language
Ndebele
pred Language
Moldavian = Language
Marathi
pred Flag
Language
Malaysian = Language
Moldavian
pred Language
Malagasay = Language
Malaysian
pred Language
Macedonian = Language
Malagasay
pred Laotian = Macedonian
pred :: Flag -> Flag
pred Language
Korean = Language
Laotian
pred Language
Khmer = Language
Korean
pred Language
Kazakh = Language
Khmer
pred Language
Kannada = Language
Kazakh
pred Language
Japanese = Language
Kannada
pred Language
Indonesian = Language
Japanese
pred Language
Hindi = Language
Indonesian
pred Language
Hebrew = Language
Hindi
pred Language
Hausa = Language
Hebrew
pred Language
Gurani = Language
Hausa
pred Language
Gujurati = Language
Gurani
pred Language
Greek = Language
Gujurati
pred Language
Georgian = Language
Greek
pred Language
Fulani = Language
Georgian
pred Language
Dari = Language
Fulani
pred Language
Churash = Language
Dari
pred Language
Chinese = Language
Churash
pred Language
Burmese = Language
Chinese
pred Language
Bulgarian = Language
Burmese
pred Language
Bengali = Language
Bulgarian
pred Language
Bielorussian = Language
Bengali
pred Language
Bambora = Language
Bielorussian
pred Azerbaijani = Language
Bambora
pred Language
Assamese = Language
Azerbaijani
pred Language
Armenian = Language
Assamese
pred Language
Arabic = Language
Armenian
pred Language
Amharic = Language
Arabic
pred UnknownLanguage = error "Language.pred: UnknownLanguage has no predecessor"
enumFromTo :: Language -> Language -> [Language]
enumFromTo Language
from Language
to = Language -> [Language]
forall t. Enum t => t -> [t]
go Language
from
where
end :: Int
end = Language -> Int
forall a. Enum a => a -> Int
fromEnum Language
to
go :: t -> [t]
go t
v = case Int -> Int -> Ordering
forall a. Ord a => a -> a -> Ordering
compare (t -> Int
forall a. Enum a => a -> Int
fromEnum t
v) Int
end of
Ordering
LT -> t
v t -> [t] -> [t]
forall a. a -> [a] -> [a]
: t -> [t]
go (t -> t
forall a. Enum a => a -> a
succ t
v)
Ordering
EQ -> [t
v]
Ordering
GT -> []
enumFrom :: Language -> [Language]
enumFrom Language
from = Language -> Language -> [Language]
forall a. Enum a => a -> a -> [a]
enumFromTo Language
from Language
Amharic
fromEnum :: Language -> Int
fromEnum Language
UnknownLanguage = Int
0
fromEnum Language
Albanian = Int
1
fromEnum Language
Breton = Int
2
fromEnum Language
Catalan = Int
3
fromEnum Language
Croatian = Int
4
fromEnum Language
Welsh = Int
5
fromEnum Language
Czech = Int
6
fromEnum Language
Danish = Int
7
fromEnum Language
German = Int
8
fromEnum Language
English = Int
9
fromEnum Language
Spanish = Int
10
fromEnum Language
Esperanto = Int
11
fromEnum Language
Estonian = Int
12
fromEnum Language
Basque = Int
13
fromEnum Language
Faroese = Int
14
fromEnum Language
French = Int
15
fromEnum Language
Frisian = Int
16
fromEnum Language
Irish = Int
17
fromEnum Language
Gaelic = Int
18
fromEnum Language
Galician = Int
19
fromEnum Language
Icelandic = Int
20
fromEnum Language
Italian = Int
21
fromEnum Language
Lappish = Int
22
fromEnum Language
Latin = Int
23
fromEnum Language
Latvian = Int
24
fromEnum Language
Luxembourgian = Int
25
fromEnum Language
Lithuanian = Int
26
fromEnum Language
Hungarian = Int
27
fromEnum Language
Maltese = Int
28
fromEnum Language
Dutch = Int
29
fromEnum Language
Norwegian = Int
30
fromEnum Language
Occitan = Int
31
fromEnum Language
Polish = Int
32
fromEnum Language
Portuguese = Int
33
fromEnum Language
Romanian = Int
34
fromEnum Language
Romansh = Int
35
fromEnum Language
Serbian = Int
36
fromEnum Language
Slovak = Int
37
fromEnum Language
Slovenian = Int
38
fromEnum Language
Finnish = Int
39
fromEnum Language
Swedish = Int
40
fromEnum Language
Turkish = Int
41
fromEnum Language
Flemish = Int
42
fromEnum Language
Wallon = Int
43
fromEnum Language
Zulu = Int
69
fromEnum Language
Vietnamese = Int
70
fromEnum Language
Uzbek = Int
71
fromEnum Language
Urdu = Int
72
fromEnum Language
Ukrainian = Int
73
fromEnum Language
Thai = Int
74
fromEnum Language
Telugu = Int
75
fromEnum Language
Tatar = Int
76
fromEnum Language
Tamil = Int
77
fromEnum Language
Tadzhik = Int
78
fromEnum Language
Swahili = Int
79
fromEnum Language
SrananTongo = Int
80
fromEnum Language
Somali = Int
81
fromEnum Language
Sinhalese = Int
82
fromEnum Language
Shona = Int
83
fromEnum Language
SerboCroatian = Int
84
fromEnum Language
Ruthenian = Int
85
fromEnum Language
Russian = Int
86
fromEnum Language
Quechua = Int
87
fromEnum Language
Pushtu = Int
88
fromEnum Language
Punjabi = Int
89
fromEnum Language
Persian = Int
90
fromEnum Language
Papamiento = Int
91
fromEnum Language
Oriya = Int
92
fromEnum Language
Nepali = Int
93
fromEnum Language
Ndebele = Int
94
fromEnum Language
Marathi = Int
95
fromEnum Language
Moldavian = Int
96
fromEnum Language
Malaysian = Int
97
fromEnum Language
Malagasay = Int
98
fromEnum Language
Macedonian = Int
99
fromEnum Language
Laotian = Int
100
fromEnum Language
Korean = Int
101
fromEnum Language
Khmer = Int
102
fromEnum Language
Kazakh = Int
103
fromEnum Language
Kannada = Int
104
fromEnum Language
Japanese = Int
105
fromEnum Language
Indonesian = Int
106
fromEnum Language
Hindi = Int
107
fromEnum Language
Hebrew = Int
108
fromEnum Language
Hausa = Int
109
fromEnum Language
Gurani = Int
110
fromEnum Language
Gujurati = Int
111
fromEnum Language
Greek = Int
112
fromEnum Language
Georgian = Int
113
fromEnum Language
Fulani = Int
114
fromEnum Language
Dari = Int
115
fromEnum Language
Churash = Int
116
fromEnum Language
Chinese = Int
117
fromEnum Language
Burmese = Int
118
fromEnum Language
Bulgarian = Int
119
fromEnum Language
Bengali = Int
120
fromEnum Language
Bielorussian = Int
121
fromEnum Language
Bambora = Int
122
fromEnum Language
Azerbaijani = Int
123
fromEnum Language
Assamese = Int
124
fromEnum Language
Armenian = Int
125
fromEnum Language
Arabic = Int
126
fromEnum Language
Amharic = Int
127
toEnum :: Int -> Language
toEnum Int
0 = Language
UnknownLanguage
toEnum Int
1 = Language
Albanian
toEnum Int
2 = Language
Breton
toEnum Int
3 = Language
Catalan
toEnum Int
4 = Language
Croatian
toEnum Int
5 = Language
Welsh
toEnum Int
6 = Language
Czech
toEnum Int
7 = Language
Danish
toEnum Int
8 = Language
German
toEnum Int
9 = Language
English
toEnum Int
10 = Language
Spanish
toEnum Int
11 = Language
Esperanto
toEnum Int
12 = Language
Estonian
toEnum Int
13 = Language
Basque
toEnum Int
14 = Language
Faroese
toEnum Int
15 = Language
French
toEnum Int
16 = Language
Frisian
toEnum Int
17 = Language
Irish
toEnum Int
18 = Language
Gaelic
toEnum Int
19 = Language
Galician
toEnum Int
20 = Language
Icelandic
toEnum Int
21 = Language
Italian
toEnum Int
22 = Language
Lappish
toEnum Int
23 = Language
Latin
toEnum Int
24 = Language
Latvian
toEnum Int
25 = Language
Luxembourgian
toEnum Int
26 = Language
Lithuanian
toEnum Int
27 = Language
Hungarian
toEnum Int
28 = Language
Maltese
toEnum Int
29 = Language
Dutch
toEnum Int
30 = Language
Norwegian
toEnum Int
31 = Language
Occitan
toEnum Int
32 = Language
Polish
toEnum Int
33 = Language
Portuguese
toEnum Int
34 = Language
Romanian
toEnum Int
35 = Language
Romansh
toEnum Int
36 = Language
Serbian
toEnum Int
37 = Language
Slovak
toEnum Int
38 = Language
Slovenian
toEnum Int
39 = Language
Finnish
toEnum Int
40 = Language
Swedish
toEnum Int
41 = Language
Turkish
toEnum Int
42 = Language
Flemish
toEnum Int
43 = Language
Wallon
toEnum Int
69 = Language
Zulu
toEnum Int
70 = Language
Vietnamese
toEnum Int
71 = Language
Uzbek
toEnum Int
72 = Language
Urdu
toEnum Int
73 = Language
Ukrainian
toEnum Int
74 = Language
Thai
toEnum Int
75 = Language
Telugu
toEnum Int
76 = Language
Tatar
toEnum Int
77 = Language
Tamil
toEnum Int
78 = Language
Tadzhik
toEnum Int
79 = Language
Swahili
toEnum Int
80 = Language
SrananTongo
toEnum Int
81 = Language
Somali
toEnum Int
82 = Language
Sinhalese
toEnum Int
83 = Language
Shona
toEnum Int
84 = Language
SerboCroatian
toEnum Int
85 = Language
Ruthenian
toEnum Int
86 = Language
Russian
toEnum Int
87 = Language
Quechua
toEnum Int
88 = Language
Pushtu
toEnum Int
89 = Language
Punjabi
toEnum Int
90 = Language
Persian
toEnum Int
91 = Language
Papamiento
toEnum Int
92 = Language
Oriya
toEnum Int
93 = Language
Nepali
toEnum Int
94 = Language
Ndebele
toEnum Int
95 = Language
Marathi
toEnum Int
96 = Language
Moldavian
toEnum Int
97 = Language
Malaysian
toEnum Int
98 = Language
Malagasay
toEnum Int
99 = Language
Macedonian
toEnum Int
100 = Language
Laotian
toEnum Int
101 = Language
Korean
toEnum Int
102 = Language
Khmer
toEnum Int
103 = Language
Kazakh
toEnum Int
104 = Language
Kannada
toEnum Int
105 = Language
Japanese
toEnum Int
106 = Language
Indonesian
toEnum Int
107 = Language
Hindi
toEnum Int
108 = Language
Hebrew
toEnum Int
109 = Language
Hausa
toEnum Int
110 = Language
Gurani
toEnum Int
111 = Language
Gujurati
toEnum Int
112 = Language
Greek
toEnum Int
113 = Language
Georgian
toEnum Int
114 = Language
Fulani
toEnum Int
115 = Language
Dari
toEnum Int
116 = Language
Churash
toEnum Int
117 = Language
Chinese
toEnum Int
118 = Language
Burmese
toEnum Int
119 = Language
Bulgarian
toEnum Int
120 = Language
Bengali
toEnum Int
121 = Language
Bielorussian
toEnum Int
122 = Language
Bambora
toEnum Int
123 = Language
Azerbaijani
toEnum Int
124 = Language
Assamese
toEnum Int
125 = Language
Armenian
toEnum Int
126 = Language
Arabic
toEnum Int
127 = Language
Amharic
toEnum Int
unmatched = String -> Language
forall a. HasCallStack => String -> a
error (String
"Language.toEnum: Cannot match " String -> ShowS
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
unmatched)
{-# LINE 129 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data Filesystem_ = FsAudio
| FsHighSierra
| FsIso9660
| FsInteractive
| FsHfs
| FsUfs
| FsExt2
| FsIsoHfs
| FsIso9660Interactive
| Fs3do
| FsXiso
| FsUdfx
| FsUdf
| FsIsoUdf
deriving (Eq,Show,Read,Ord,Bounded)
instance Enum Filesystem_ where
succ FsAudio = FsHighSierra
succ FsHighSierra = FsIso9660
succ FsIso9660 = FsInteractive
succ FsInteractive = FsHfs
succ FsHfs = FsUfs
succ FsUfs = FsExt2
succ FsExt2 = FsIsoHfs
succ FsIsoHfs = FsIso9660Interactive
succ FsIso9660Interactive = Fs3do
succ Fs3do = FsXiso
succ FsXiso = FsUdfx
succ FsUdfx = FsUdf
succ FsUdf = FsIsoUdf
succ FsIsoUdf = error "Filesystem_.succ: FsIsoUdf has no successor"
pred FsHighSierra = FsAudio
pred FsIso9660 = FsHighSierra
pred FsInteractive = FsIso9660
pred FsHfs = FsInteractive
pred FsUfs = FsHfs
pred FsExt2 = FsUfs
pred FsIsoHfs = FsExt2
pred FsIso9660Interactive = FsIsoHfs
pred Fs3do = FsIso9660Interactive
pred FsXiso = Fs3do
pred FsUdfx = FsXiso
pred FsUdf = FsUdfx
pred FsIsoUdf = FsUdf
pred FsAudio = error "Filesystem_.pred: FsAudio has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from FsIsoUdf
fromEnum FsAudio = 1
fromEnum FsHighSierra = 2
fromEnum FsIso9660 = 3
fromEnum FsInteractive = 4
fromEnum FsHfs = 5
fromEnum FsUfs = 6
fromEnum FsExt2 = 7
fromEnum FsIsoHfs = 8
fromEnum FsIso9660Interactive = 9
fromEnum Fs3do = 10
fromEnum FsXiso = 11
fromEnum FsUdfx = 12
fromEnum FsUdf = 13
fromEnum FsIsoUdf = 14
toEnum 1 = FsAudio
toEnum 2 = FsHighSierra
toEnum 3 = FsIso9660
toEnum 4 = FsInteractive
toEnum 5 = FsHfs
toEnum 6 = FsUfs
toEnum 7 = FsExt2
toEnum 8 = FsIsoHfs
toEnum 9 = FsIso9660Interactive
toEnum 10 = Fs3do
toEnum 11 = FsXiso
toEnum 12 = FsUdfx
toEnum 13 = FsUdf
toEnum 14 = FsIsoUdf
toEnum unmatched = error ("Filesystem_.toEnum: Cannot match " ++ show unmatched)
{-# LINE 144 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data FilesystemClass = Xa
| Multisession
| PhotoCd
| HiddenTrack
| CommodoreCdtv
| Bootable
| VideoCd
| RockRidge
| Joliet
| SuperVideoCd
| ChoijiVideoCd
| XboxIsoClass
| Iso9660Class
deriving (Eq,Show,Read,Ord,Bounded,Ix)
instance Enum FilesystemClass where
succ Xa = Multisession
succ Multisession = PhotoCd
succ PhotoCd = HiddenTrack
succ HiddenTrack = CommodoreCdtv
succ CommodoreCdtv = Bootable
succ Bootable = VideoCd
succ VideoCd = RockRidge
succ RockRidge = Joliet
succ Joliet = SuperVideoCd
succ SuperVideoCd = ChoijiVideoCd
succ ChoijiVideoCd = XboxIsoClass
succ XboxIsoClass = Iso9660Class
succ Iso9660Class = error "FilesystemClass.succ: Iso9660Class has no successor"
pred Multisession = Xa
pred PhotoCd = Multisession
pred HiddenTrack = PhotoCd
pred CommodoreCdtv = HiddenTrack
pred Bootable = CommodoreCdtv
pred VideoCd = Bootable
pred RockRidge = VideoCd
pred Joliet = RockRidge
pred SuperVideoCd = Joliet
pred ChoijiVideoCd = SuperVideoCd
pred XboxIsoClass = ChoijiVideoCd
pred Iso9660Class = XboxIsoClass
pred Xa = error "FilesystemClass.pred: Xa has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Iso9660Class
fromEnum Xa = 16
fromEnum Multisession = 32
fromEnum PhotoCd = 64
fromEnum HiddenTrack = 128
fromEnum CommodoreCdtv = 256
fromEnum Bootable = 512
fromEnum VideoCd = 1024
fromEnum RockRidge = 2048
fromEnum Joliet = 4096
fromEnum SuperVideoCd = 8192
fromEnum ChoijiVideoCd = 16384
fromEnum XboxIsoClass = 32768
fromEnum Iso9660Class = 65536
toEnum 16 = Xa
toEnum 32 = Multisession
toEnum 64 = PhotoCd
toEnum 128 = HiddenTrack
toEnum 256 = CommodoreCdtv
toEnum 512 = Bootable
toEnum 1024 = VideoCd
toEnum 2048 = RockRidge
toEnum 4096 = Joliet
toEnum 8192 = SuperVideoCd
toEnum 16384 = ChoijiVideoCd
toEnum 32768 = XboxIsoClass
toEnum 65536 = Iso9660Class
toEnum unmatched = error ("FilesystemClass.toEnum: Cannot match " ++ show unmatched)
{-# LINE 160 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data DriveCapabilityMisc = MiscCloseTray
| MiscEject
| MiscLock
| MiscSelectSpeed
| MiscSelectDisc
| MiscMultiSession
| MiscMediaChanged
| MiscReset
| MiscFile
deriving (Eq,Show,Read,Ord,Bounded,Ix)
instance Enum DriveCapabilityMisc where
succ MiscCloseTray = MiscEject
succ MiscEject = MiscLock
succ MiscLock = MiscSelectSpeed
succ MiscSelectSpeed = MiscSelectDisc
succ MiscSelectDisc = MiscMultiSession
succ MiscMultiSession = MiscMediaChanged
succ MiscMediaChanged = MiscReset
succ MiscReset = MiscFile
succ MiscFile = error "DriveCapabilityMisc.succ: MiscFile has no successor"
pred MiscEject = MiscCloseTray
pred MiscLock = MiscEject
pred MiscSelectSpeed = MiscLock
pred MiscSelectDisc = MiscSelectSpeed
pred MiscMultiSession = MiscSelectDisc
pred MiscMediaChanged = MiscMultiSession
pred MiscReset = MiscMediaChanged
pred MiscFile = MiscReset
pred MiscCloseTray = error "DriveCapabilityMisc.pred: MiscCloseTray has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from MiscFile
fromEnum MiscCloseTray = 1
fromEnum MiscEject = 2
fromEnum MiscLock = 4
fromEnum MiscSelectSpeed = 8
fromEnum MiscSelectDisc = 16
fromEnum MiscMultiSession = 32
fromEnum MiscMediaChanged = 128
fromEnum MiscReset = 256
fromEnum MiscFile = 131072
toEnum 1 = MiscCloseTray
toEnum 2 = MiscEject
toEnum 4 = MiscLock
toEnum 8 = MiscSelectSpeed
toEnum 16 = MiscSelectDisc
toEnum 32 = MiscMultiSession
toEnum 128 = MiscMediaChanged
toEnum 256 = MiscReset
toEnum 131072 = MiscFile
toEnum unmatched = error ("DriveCapabilityMisc.toEnum: Cannot match " ++ show unmatched)
{-# LINE 177 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data DriveCapabilityRead = ReadAnalogAudio
| ReadDigitalAudio
| ReadCdGraphics
| ReadCdRecordable
| ReadCdReWritable
| ReadDvdRecordable
| ReadDvdPlusRecordable
| ReadDvdRam
| ReadDvdRom
| ReadDvdReWritable
| ReadDvdPlusReWritable
| ReadC2ErrorCorrection
| ReadMode2Form1
| ReadMode2Form2
| ReadMcn
| ReadIsrc
deriving (Eq,Show,Read,Ord,Bounded,Ix)
instance Enum DriveCapabilityRead where
succ ReadAnalogAudio = ReadDigitalAudio
succ ReadDigitalAudio = ReadCdGraphics
succ ReadCdGraphics = ReadCdRecordable
succ ReadCdRecordable = ReadCdReWritable
succ ReadCdReWritable = ReadDvdRecordable
succ ReadDvdRecordable = ReadDvdPlusRecordable
succ ReadDvdPlusRecordable = ReadDvdRam
succ ReadDvdRam = ReadDvdRom
succ ReadDvdRom = ReadDvdReWritable
succ ReadDvdReWritable = ReadDvdPlusReWritable
succ ReadDvdPlusReWritable = ReadC2ErrorCorrection
succ ReadC2ErrorCorrection = ReadMode2Form1
succ ReadMode2Form1 = ReadMode2Form2
succ ReadMode2Form2 = ReadMcn
succ ReadMcn = ReadIsrc
succ ReadIsrc = error "DriveCapabilityRead.succ: ReadIsrc has no successor"
pred ReadDigitalAudio = ReadAnalogAudio
pred ReadCdGraphics = ReadDigitalAudio
pred ReadCdRecordable = ReadCdGraphics
pred ReadCdReWritable = ReadCdRecordable
pred ReadDvdRecordable = ReadCdReWritable
pred ReadDvdPlusRecordable = ReadDvdRecordable
pred ReadDvdRam = ReadDvdPlusRecordable
pred ReadDvdRom = ReadDvdRam
pred ReadDvdReWritable = ReadDvdRom
pred ReadDvdPlusReWritable = ReadDvdReWritable
pred ReadC2ErrorCorrection = ReadDvdPlusReWritable
pred ReadMode2Form1 = ReadC2ErrorCorrection
pred ReadMode2Form2 = ReadMode2Form1
pred ReadMcn = ReadMode2Form2
pred ReadIsrc = ReadMcn
pred ReadAnalogAudio = error "DriveCapabilityRead.pred: ReadAnalogAudio has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from ReadIsrc
fromEnum ReadAnalogAudio = 1
fromEnum ReadDigitalAudio = 2
fromEnum ReadCdGraphics = 4
fromEnum ReadCdRecordable = 8
fromEnum ReadCdReWritable = 16
fromEnum ReadDvdRecordable = 32
fromEnum ReadDvdPlusRecordable = 64
fromEnum ReadDvdRam = 128
fromEnum ReadDvdRom = 256
fromEnum ReadDvdReWritable = 512
fromEnum ReadDvdPlusReWritable = 1024
fromEnum ReadC2ErrorCorrection = 2048
fromEnum ReadMode2Form1 = 4096
fromEnum ReadMode2Form2 = 8192
fromEnum ReadMcn = 16384
fromEnum ReadIsrc = 32768
toEnum 1 = ReadAnalogAudio
toEnum 2 = ReadDigitalAudio
toEnum 4 = ReadCdGraphics
toEnum 8 = ReadCdRecordable
toEnum 16 = ReadCdReWritable
toEnum 32 = ReadDvdRecordable
toEnum 64 = ReadDvdPlusRecordable
toEnum 128 = ReadDvdRam
toEnum 256 = ReadDvdRom
toEnum 512 = ReadDvdReWritable
toEnum 1024 = ReadDvdPlusReWritable
toEnum 2048 = ReadC2ErrorCorrection
toEnum 4096 = ReadMode2Form1
toEnum 8192 = ReadMode2Form2
toEnum 16384 = ReadMcn
toEnum 32768 = ReadIsrc
toEnum unmatched = error ("DriveCapabilityRead.toEnum: Cannot match " ++ show unmatched)
{-# LINE 201 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data DriveCapabilityWrite = WriteCdRecordable
| WriteCdReWritable
| WriteDvdRecordable
| WriteDvdPlusRecordable
| WriteDvdRam
| WriteDvdReWritable
| WriteDvdPlusReWritable
| WriteMtRainier
| WriteBurnProof
deriving (Eq,Show,Read,Ord,Bounded,Ix)
instance Enum DriveCapabilityWrite where
succ WriteCdRecordable = WriteCdReWritable
succ WriteCdReWritable = WriteDvdRecordable
succ WriteDvdRecordable = WriteDvdPlusRecordable
succ WriteDvdPlusRecordable = WriteDvdRam
succ WriteDvdRam = WriteDvdReWritable
succ WriteDvdReWritable = WriteDvdPlusReWritable
succ WriteDvdPlusReWritable = WriteMtRainier
succ WriteMtRainier = WriteBurnProof
succ WriteBurnProof = error "DriveCapabilityWrite.succ: WriteBurnProof has no successor"
pred WriteCdReWritable = WriteCdRecordable
pred WriteDvdRecordable = WriteCdReWritable
pred WriteDvdPlusRecordable = WriteDvdRecordable
pred WriteDvdRam = WriteDvdPlusRecordable
pred WriteDvdReWritable = WriteDvdRam
pred WriteDvdPlusReWritable = WriteDvdReWritable
pred WriteMtRainier = WriteDvdPlusReWritable
pred WriteBurnProof = WriteMtRainier
pred WriteCdRecordable = error "DriveCapabilityWrite.pred: WriteCdRecordable has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from WriteBurnProof
fromEnum WriteCdRecordable = 1
fromEnum WriteCdReWritable = 2
fromEnum WriteDvdRecordable = 4
fromEnum WriteDvdPlusRecordable = 8
fromEnum WriteDvdRam = 16
fromEnum WriteDvdReWritable = 32
fromEnum WriteDvdPlusReWritable = 64
fromEnum WriteMtRainier = 128
fromEnum WriteBurnProof = 256
toEnum 1 = WriteCdRecordable
toEnum 2 = WriteCdReWritable
toEnum 4 = WriteDvdRecordable
toEnum 8 = WriteDvdPlusRecordable
toEnum 16 = WriteDvdRam
toEnum 32 = WriteDvdReWritable
toEnum 64 = WriteDvdPlusReWritable
toEnum 128 = WriteMtRainier
toEnum 256 = WriteBurnProof
toEnum unmatched = error ("DriveCapabilityWrite.toEnum: Cannot match " ++ show unmatched)
{-# LINE 220 "src/Foreign/Libcdio/Types/Enums.chs" #-}
type CDriverId = (C2HSImp.CInt)
{-# LINE 235 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data DriverId = DriverUnknown
| DriverAix
| DriverFreeBsd
| DriverNetBsd
| DriverLinux
| DriverSolaris
| DriverOsX
| DriverWin32
| DriverCdrDao
| DriverBinCue
| DriverNrg
| DriverDevice
| DriverBsdi
| DriverOs2
deriving (Eq,Show,Read,Ord,Bounded)
instance Enum DriverId where
succ DriverUnknown = DriverAix
succ DriverAix = DriverFreeBsd
succ DriverFreeBsd = DriverNetBsd
succ DriverNetBsd = DriverLinux
succ DriverLinux = DriverSolaris
succ DriverSolaris = DriverOsX
succ DriverOsX = DriverWin32
succ DriverWin32 = DriverCdrDao
succ DriverCdrDao = DriverBinCue
succ DriverBinCue = DriverNrg
succ DriverNrg = DriverDevice
succ DriverDevice = DriverBsdi
succ DriverBsdi = DriverOs2
succ DriverOs2 = error "DriverId.succ: DriverOs2 has no successor"
pred DriverAix = DriverUnknown
pred DriverFreeBsd = DriverAix
pred DriverNetBsd = DriverFreeBsd
pred DriverLinux = DriverNetBsd
pred DriverSolaris = DriverLinux
pred DriverOsX = DriverSolaris
pred DriverWin32 = DriverOsX
pred DriverCdrDao = DriverWin32
pred DriverBinCue = DriverCdrDao
pred DriverNrg = DriverBinCue
pred DriverDevice = DriverNrg
pred DriverBsdi = DriverDevice
pred DriverOs2 = DriverBsdi
pred DriverUnknown = error "DriverId.pred: DriverUnknown has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from DriverOs2
fromEnum DriverUnknown = 0
fromEnum DriverAix = 1
fromEnum DriverFreeBsd = 2
fromEnum DriverNetBsd = 3
fromEnum DriverLinux = 4
fromEnum DriverSolaris = 5
fromEnum DriverOsX = 6
fromEnum DriverWin32 = 7
fromEnum DriverCdrDao = 8
fromEnum DriverBinCue = 9
fromEnum DriverNrg = 10
fromEnum DriverDevice = 11
fromEnum DriverBsdi = 12
fromEnum DriverOs2 = 13
toEnum 0 = DriverUnknown
toEnum 1 = DriverAix
toEnum 2 = DriverFreeBsd
toEnum 3 = DriverNetBsd
toEnum 4 = DriverLinux
toEnum 5 = DriverSolaris
toEnum 6 = DriverOsX
toEnum 7 = DriverWin32
toEnum 8 = DriverCdrDao
toEnum 9 = DriverBinCue
toEnum 10 = DriverNrg
toEnum 11 = DriverDevice
toEnum 12 = DriverBsdi
toEnum 13 = DriverOs2
toEnum unmatched = error ("DriverId.toEnum: Cannot match " ++ show unmatched)
{-# LINE 255 "src/Foreign/Libcdio/Types/Enums.chs" #-}
type CDriverReturnCode = (C2HSImp.CInt)
{-# LINE 260 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data DriverReturnCode = MmcSenseData
| NoDriver
| BadPointer
| BadParameter
| NotPermitted
| Uninitialized
| Unsupported
| DriverError
| Success
deriving (Eq,Show,Read,Ord,Bounded)
instance Enum DriverReturnCode where
succ MmcSenseData = NoDriver
succ NoDriver = BadPointer
succ BadPointer = BadParameter
succ BadParameter = NotPermitted
succ NotPermitted = Uninitialized
succ Uninitialized = Unsupported
succ Unsupported = DriverError
succ DriverError = Success
succ Success = error "DriverReturnCode.succ: Success has no successor"
pred NoDriver = MmcSenseData
pred BadPointer = NoDriver
pred BadParameter = BadPointer
pred NotPermitted = BadParameter
pred Uninitialized = NotPermitted
pred Unsupported = Uninitialized
pred DriverError = Unsupported
pred Success = DriverError
pred MmcSenseData = error "DriverReturnCode.pred: MmcSenseData has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from Success
fromEnum MmcSenseData = (-8)
fromEnum NoDriver = (-7)
fromEnum BadPointer = (-6)
fromEnum BadParameter = (-5)
fromEnum NotPermitted = (-4)
fromEnum Uninitialized = (-3)
fromEnum Unsupported = (-2)
fromEnum DriverError = (-1)
fromEnum Success = 0
toEnum (-8) = MmcSenseData
toEnum (-7) = NoDriver
toEnum (-6) = BadPointer
toEnum (-5) = BadParameter
toEnum (-4) = NotPermitted
toEnum (-3) = Uninitialized
toEnum (-2) = Unsupported
toEnum (-1) = DriverError
toEnum 0 = Success
toEnum unmatched = error ("DriverReturnCode.toEnum: Cannot match " ++ show unmatched)
{-# LINE 270 "src/Foreign/Libcdio/Types/Enums.chs" #-}
type CDiscMode = (C2HSImp.CInt)
{-# LINE 278 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data DiscMode = AudioCdMode
| DataCdMode
| XaCdMode
| MixedCdMode
| DvdRomMode
| DvdRamMode
| DvdRecordableMode
| DvdReWritableMode
| HighDefinitionDvdRomMode
| HighDefinitionDvdRamMode
| HighDefinitionDvdRecordableMode
| DvdPlusRecordableMode
| DvdPlusReWritableMode
| DoubleLayerDvdPlusReWritableMode
| DoubleLayerDvdPlusRecordableMode
| OtherDvdMode
| NoModeInfo
| CdIMode
deriving (Enum,Eq,Show,Read,Ord,Bounded)
{-# LINE 317 "src/Foreign/Libcdio/Types/Enums.chs" #-}
type CLogLevel = (C2HSImp.CInt)
{-# LINE 325 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data LogLevel = LogDebug
| LogInfo
| LogWarn
| LogError
| LogAssert
deriving (Eq,Show,Read,Ord,Bounded)
instance Enum LogLevel where
succ LogDebug = LogInfo
succ LogInfo = LogWarn
succ LogWarn = LogError
succ LogError = LogAssert
succ LogAssert = error "LogLevel.succ: LogAssert has no successor"
pred LogInfo = LogDebug
pred LogWarn = LogInfo
pred LogError = LogWarn
pred LogAssert = LogError
pred LogDebug = error "LogLevel.pred: LogDebug has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from LogAssert
fromEnum LogDebug = 1
fromEnum LogInfo = 2
fromEnum LogWarn = 3
fromEnum LogError = 4
fromEnum LogAssert = 5
toEnum 1 = LogDebug
toEnum 2 = LogInfo
toEnum 3 = LogWarn
toEnum 4 = LogError
toEnum 5 = LogAssert
toEnum unmatched = error ("LogLevel.toEnum: Cannot match " ++ show unmatched)
{-# LINE 332 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data ReadMode = AudioMode
| Mode1Form1
| Mode1Form2
| Mode2Form1
| Mode2Form2
deriving (Enum,Eq,Show,Read,Ord,Bounded)
{-# LINE 350 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data Whence = SeekStart
| SeekCurrent
| SeekEnd
deriving (Eq,Show,Read,Ord,Bounded)
instance Enum Whence where
succ SeekStart = SeekCurrent
succ SeekCurrent = SeekEnd
succ SeekEnd = error "Whence.succ: SeekEnd has no successor"
pred SeekCurrent = SeekStart
pred SeekEnd = SeekCurrent
pred SeekStart = error "Whence.pred: SeekStart has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from SeekEnd
fromEnum SeekStart = 0
fromEnum SeekCurrent = 1
fromEnum SeekEnd = 2
toEnum 0 = SeekStart
toEnum 1 = SeekCurrent
toEnum 2 = SeekEnd
toEnum unmatched = error ("Whence.toEnum: Cannot match " ++ show unmatched)
{-# LINE 359 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data SubchannelData = QChannelData
| CurrentPosition
| MediaCatalog
| TrackIsrc
deriving (Eq,Show,Read,Ord,Bounded)
instance Enum SubchannelData where
succ QChannelData = CurrentPosition
succ CurrentPosition = MediaCatalog
succ MediaCatalog = TrackIsrc
succ TrackIsrc = error "SubchannelData.succ: TrackIsrc has no successor"
pred CurrentPosition = QChannelData
pred MediaCatalog = CurrentPosition
pred TrackIsrc = MediaCatalog
pred QChannelData = error "SubchannelData.pred: QChannelData has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from TrackIsrc
fromEnum QChannelData = 0
fromEnum CurrentPosition = 1
fromEnum MediaCatalog = 2
fromEnum TrackIsrc = 3
toEnum 0 = QChannelData
toEnum 1 = CurrentPosition
toEnum 2 = MediaCatalog
toEnum 3 = TrackIsrc
toEnum unmatched = error ("SubchannelData.toEnum: Cannot match " ++ show unmatched)
{-# LINE 373 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data Flag = PreEmphasis
| CopyPermitted
| DataTrack
| FourChannelAudio
| SerialCopyManagement
deriving (Eq,Show,Read,Ord,Bounded,Ix)
instance Enum Flag where
succ PreEmphasis = CopyPermitted
succ CopyPermitted = DataTrack
succ DataTrack = FourChannelAudio
succ FourChannelAudio = SerialCopyManagement
succ SerialCopyManagement = error "Flag.succ: SerialCopyManagement has no successor"
pred CopyPermitted = PreEmphasis
pred DataTrack = CopyPermitted
pred FourChannelAudio = DataTrack
pred SerialCopyManagement = FourChannelAudio
pred PreEmphasis = error "Flag.pred: PreEmphasis has no predecessor"
enumFromTo from to = go from
where
end = fromEnum to
go v = case compare (fromEnum v) end of
LT -> v : go (succ v)
EQ -> [v]
GT -> []
enumFrom from = enumFromTo from SerialCopyManagement
fromEnum PreEmphasis = 1
fromEnum CopyPermitted = 2
fromEnum DataTrack = 4
fromEnum FourChannelAudio = 8
fromEnum SerialCopyManagement = 16
toEnum 1 = PreEmphasis
toEnum 2 = CopyPermitted
toEnum 4 = DataTrack
toEnum 8 = FourChannelAudio
toEnum 16 = SerialCopyManagement
toEnum unmatched = error ("Flag.toEnum: Cannot match " ++ show unmatched)
{-# LINE 383 "src/Foreign/Libcdio/Types/Enums.chs" #-}
type CTrackFormat = (C2HSImp.CInt)
{-# LINE 401 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data TrackFormat = FormatAudio
| FormatCdI
| FormatXa
| FormatData
| FormatPlaystation
deriving (Enum,Eq,Show,Read,Ord,Bounded)
{-# LINE 412 "src/Foreign/Libcdio/Types/Enums.chs" #-}
data TrackFlagStatus = FlagFalse
| FlagTrue
| FlagError
| FlagUnknown
deriving (Enum,Eq,Show,Read,Ord,Bounded)
{-# LINE 429 "src/Foreign/Libcdio/Types/Enums.chs" #-}