Copyright | (c) 2019-2021 Sam May |
---|---|
License | GPL-3.0-or-later |
Maintainer | ag@eitilt.life |
Stability | stable |
Portability | non-portable (requires libcdio) |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- data Cdio a
- data CdioError
- data CdioErrorType
- data Whence
- data Lsn
- data Track
- data TrackNum
- data TrackFormat
- data SessionArg
- data CdText a
- data CdTextError
- data CdTextErrorType
- data Info
- data Genre
- data Language
- data DriverId
- data DriverReturnCode
- data HardwareInfo
- data DriveCapabilityRead
- type DriveReadCaps = BitArray DriveCapabilityRead
- data DriveCapabilityWrite
- type DriveWriteCaps = BitArray DriveCapabilityWrite
- data DriveCapabilityMisc
- type DriveMiscCaps = BitArray DriveCapabilityMisc
- type DriveCaps = (DriveReadCaps, DriveWriteCaps, DriveMiscCaps)
- data DiscMode
- data Filesystem
- data FilesystemClass
- type FilesystemClasses = BitArray FilesystemClass
- data IsoAnalysis
- class LibcdioLogger m
- data LogEntry
- data LogLevel
Disc
A computation within the environment of the data (music or file) stored on a CD. The options for affecting that environment from within are limited by design, as this library is intended for reading discs rather than authoring them.
Instances
Monad Cdio Source # | |
Functor Cdio Source # | |
MonadFail Cdio Source # | Wraps the text in a |
Defined in Sound.Libcdio.Types.Cdio | |
Applicative Cdio Source # | |
Alternative Cdio Source # | |
LibcdioLogger Cdio Source # | |
MonadError CdioError Cdio Source # | |
Defined in Sound.Libcdio.Types.Cdio throwError :: CdioError -> Cdio a # |
Associates a well-typed error with human-readable context information.
data CdioErrorType Source #
Potential situations which may cause a computation to fail.
Instances
Eq CdioErrorType Source # | |
Defined in Sound.Libcdio.Types.Cdio (==) :: CdioErrorType -> CdioErrorType -> Bool # (/=) :: CdioErrorType -> CdioErrorType -> Bool # | |
Read CdioErrorType Source # | |
Defined in Sound.Libcdio.Types.Cdio readsPrec :: Int -> ReadS CdioErrorType # readList :: ReadS [CdioErrorType] # | |
Show CdioErrorType Source # | |
Defined in Sound.Libcdio.Types.Cdio showsPrec :: Int -> CdioErrorType -> ShowS # show :: CdioErrorType -> String # showList :: [CdioErrorType] -> ShowS # |
Which location an offset passed to seek
should be
based on.
The type-safe representation of a Logical Sector Number, counting sectors
from the start of track 1; this notably excludes the blank session lead-in.
See also Lba
.
Instances
Bounded Lsn Source # | |
Enum Lsn Source # | |
Eq Lsn Source # | |
Integral Lsn Source # | |
Num Lsn Source # | |
Ord Lsn Source # | |
Read Lsn Source # | |
Real Lsn Source # | |
Defined in Foreign.Libcdio.Types.Internal toRational :: Lsn -> Rational # | |
Show Lsn Source # | |
Ix Lsn Source # | |
PrintfArg Lsn Source # | |
Defined in Foreign.Libcdio.Types.Internal formatArg :: Lsn -> FieldFormatter # parseFormat :: Lsn -> ModifierParser # | |
Storable Lsn Source # | |
Defined in Foreign.Libcdio.Types.Internal | |
Bits Lsn Source # | |
Defined in Foreign.Libcdio.Types.Internal | |
FiniteBits Lsn Source # | |
Defined in Foreign.Libcdio.Types.Internal |
An index into the segmentation within a write session on a disc.
Instances
Bounded Track Source # | |
Enum Track Source # | Note that |
Defined in Foreign.Libcdio.Types.Internal | |
Eq Track Source # | |
Num Track Source # | |
Ord Track Source # | |
Read Track Source # | |
Show Track Source # | |
Ix Track Source # | |
PrintfArg Track Source # | |
Defined in Foreign.Libcdio.Types.Internal formatArg :: Track -> FieldFormatter # parseFormat :: Track -> ModifierParser # | |
Storable Track Source # | Note that |
Opaque newtype representing the numeric index of a Track
, while
enforcing the invariants inherant to the specification. Of very limited
utility outside that context.
data TrackFormat Source #
The structure in which data is stored on a segment of a disc. The exact representation of these values is discussed in Foreign.Libcdio.Sector.
Instances
data SessionArg Source #
Metadata about the session in the form of (often freeform) text, providing
a type-safe index to getArg
. Note that not every driver type supports
every item.
The key "access-mode"
is handled separately by getAccessMode
, to better
reflect its restricted outputs.
Instances
CdText
A computation within the environment of metadata (in a particular language) stored on a CD. The options for affecting that environment from within are limited by design, as this library is intended for reading discs rather than authoring them.
Instances
Monad CdText Source # | |
Functor CdText Source # | |
MonadFail CdText Source # | Wraps the text in a |
Defined in Sound.Libcdio.Read.CdText | |
Applicative CdText Source # | |
Alternative CdText Source # |
|
LibcdioLogger CdText Source # | |
MonadError CdTextError CdText Source # | |
Defined in Sound.Libcdio.Read.CdText throwError :: CdTextError -> CdText a # catchError :: CdText a -> (CdTextError -> CdText a) -> CdText a # |
data CdTextError Source #
Associates a well-typed error with human-readable context information.
Instances
Eq CdTextError Source # | |
Defined in Sound.Libcdio.Read.CdText (==) :: CdTextError -> CdTextError -> Bool # (/=) :: CdTextError -> CdTextError -> Bool # | |
Read CdTextError Source # | |
Defined in Sound.Libcdio.Read.CdText readsPrec :: Int -> ReadS CdTextError # readList :: ReadS [CdTextError] # readPrec :: ReadPrec CdTextError # readListPrec :: ReadPrec [CdTextError] # | |
Show CdTextError Source # | |
Defined in Sound.Libcdio.Read.CdText showsPrec :: Int -> CdTextError -> ShowS # show :: CdTextError -> String # showList :: [CdTextError] -> ShowS # | |
MonadError CdTextError CdText Source # | |
Defined in Sound.Libcdio.Read.CdText throwError :: CdTextError -> CdText a # catchError :: CdText a -> (CdTextError -> CdText a) -> CdText a # |
data CdTextErrorType Source #
Potential situations which may cause a computation to fail.
Instances
Eq CdTextErrorType Source # | |
Defined in Sound.Libcdio.Read.CdText (==) :: CdTextErrorType -> CdTextErrorType -> Bool # (/=) :: CdTextErrorType -> CdTextErrorType -> Bool # | |
Read CdTextErrorType Source # | |
Defined in Sound.Libcdio.Read.CdText | |
Show CdTextErrorType Source # | |
Defined in Sound.Libcdio.Read.CdText showsPrec :: Int -> CdTextErrorType -> ShowS # show :: CdTextErrorType -> String # showList :: [CdTextErrorType] -> ShowS # |
Textual metadata describing a single track on a disc, or the disc itself.
Genres recognized in the CD Text standard.
Written languages recognized in the CD Text standard.
Instances
Bounded Language Source # | |
Enum Language Source # | |
Defined in Foreign.Libcdio.Types.Enums | |
Eq Language Source # | |
Ord Language Source # | |
Defined in Foreign.Libcdio.Types.Enums | |
Read Language Source # | |
Show Language Source # | |
Hardware
Devices or file types supported by the library.
Instances
Bounded DriverId Source # | |
Enum DriverId Source # | |
Defined in Foreign.Libcdio.Types.Enums | |
Eq DriverId Source # | |
Ord DriverId Source # | |
Defined in Foreign.Libcdio.Types.Enums | |
Read DriverId Source # | |
Show DriverId Source # | |
data DriverReturnCode Source #
Descriptions of various error states which may be returned by driver functions.
Instances
data HardwareInfo Source #
Information defining the make and model of a (typically physical) device.
Instances
Eq HardwareInfo Source # | |
Defined in Foreign.Libcdio.Device (==) :: HardwareInfo -> HardwareInfo -> Bool # (/=) :: HardwareInfo -> HardwareInfo -> Bool # | |
Read HardwareInfo Source # | |
Defined in Foreign.Libcdio.Device readsPrec :: Int -> ReadS HardwareInfo # readList :: ReadS [HardwareInfo] # | |
Show HardwareInfo Source # | |
Defined in Foreign.Libcdio.Device showsPrec :: Int -> HardwareInfo -> ShowS # show :: HardwareInfo -> String # showList :: [HardwareInfo] -> ShowS # | |
Storable HardwareInfo Source # | |
Defined in Foreign.Libcdio.Device sizeOf :: HardwareInfo -> Int # alignment :: HardwareInfo -> Int # peekElemOff :: Ptr HardwareInfo -> Int -> IO HardwareInfo # pokeElemOff :: Ptr HardwareInfo -> Int -> HardwareInfo -> IO () # peekByteOff :: Ptr b -> Int -> IO HardwareInfo # pokeByteOff :: Ptr b -> Int -> HardwareInfo -> IO () # peek :: Ptr HardwareInfo -> IO HardwareInfo # poke :: Ptr HardwareInfo -> HardwareInfo -> IO () # |
data DriveCapabilityRead Source #
Instances
type DriveReadCaps = BitArray DriveCapabilityRead Source #
The collection of features for reading discs a device provides.
data DriveCapabilityWrite Source #
Instances
type DriveWriteCaps = BitArray DriveCapabilityWrite Source #
The collection of features for writing discs a device provides.
data DriveCapabilityMisc Source #
Miscellaneous properties a device can have, typically describing hardware
features, which are collected in DriveMiscCaps
.
Instances
type DriveMiscCaps = BitArray DriveCapabilityMisc Source #
The collection of hardware features a device was built with.
type DriveCaps = (DriveReadCaps, DriveWriteCaps, DriveMiscCaps) Source #
The three types are usually passed around together, so we can simplify the type signatures using them.
Different types of disc. Modes are combined from several sources, along with some libcdio-specific additions:
- MMC-5 6.33.3.13 (Send CUESHEET)
- MMC-5 Table 400 "DVD Book"
- GNU/Linux
/usr/include/linux/cdrom.h
As C2HS and Haddock don't yet interact well enough to document Enum fields, some of the less obvious mappings include:
DataCdMode
: CD-ROM form 1MixedCdMode
: some combination ofAudioCdMode
,DataCdMode
, andXaCdMode
DvdPlusRecordableMode
: DVD+RDvdPlusReWritableMode
: DVD+RW
Instances
Bounded DiscMode Source # | |
Enum DiscMode Source # | |
Defined in Foreign.Libcdio.Types.Enums | |
Eq DiscMode Source # | |
Ord DiscMode Source # | |
Defined in Foreign.Libcdio.Types.Enums | |
Read DiscMode Source # | |
Show DiscMode Source # | |
Data
data Filesystem Source #
Types of filesystem which may be read from a disc.
Instances
data FilesystemClass Source #
Higher-level descriptions of discs/filesystems.
Instances
type FilesystemClasses = BitArray FilesystemClass Source #
A collection of disc/filesystem descriptions.
data IsoAnalysis Source #
A collection of data describing a disc using the ISO 9660 standard.
Instances
Eq IsoAnalysis Source # | |
Defined in Foreign.Libcdio.CdTypes (==) :: IsoAnalysis -> IsoAnalysis -> Bool # (/=) :: IsoAnalysis -> IsoAnalysis -> Bool # | |
Read IsoAnalysis Source # | |
Defined in Foreign.Libcdio.CdTypes readsPrec :: Int -> ReadS IsoAnalysis # readList :: ReadS [IsoAnalysis] # readPrec :: ReadPrec IsoAnalysis # readListPrec :: ReadPrec [IsoAnalysis] # | |
Show IsoAnalysis Source # | |
Defined in Foreign.Libcdio.CdTypes showsPrec :: Int -> IsoAnalysis -> ShowS # show :: IsoAnalysis -> String # showList :: [IsoAnalysis] -> ShowS # | |
Storable IsoAnalysis Source # | |
Defined in Foreign.Libcdio.CdTypes sizeOf :: IsoAnalysis -> Int # alignment :: IsoAnalysis -> Int # peekElemOff :: Ptr IsoAnalysis -> Int -> IO IsoAnalysis # pokeElemOff :: Ptr IsoAnalysis -> Int -> IsoAnalysis -> IO () # peekByteOff :: Ptr b -> Int -> IO IsoAnalysis # pokeByteOff :: Ptr b -> Int -> IsoAnalysis -> IO () # peek :: Ptr IsoAnalysis -> IO IsoAnalysis # poke :: Ptr IsoAnalysis -> IsoAnalysis -> IO () # |
Logging
class LibcdioLogger m Source #
An environment which integrates the libcdio logging interface; will almost
always be a Monad
, but as an Applicative
might technically be able to
implement these, that constraint isn't enforced.
Instances
LibcdioLogger IO Source # | The required initialization function |
LibcdioLogger Cdio Source # | |
LibcdioLogger CdText Source # | |
An unstructured message emitted from the library to let the user know what's going on behind the scenes.
Instances
Eq LogEntry Source # | |
Read LogEntry Source # | |
Show LogEntry Source # | |
Storable LogEntry Source # | |
Defined in Foreign.Libcdio.Logging |
How much detail should be recorded in the logs.
Instances
Bounded LogLevel Source # | |
Enum LogLevel Source # | |
Defined in Foreign.Libcdio.Types.Enums | |
Eq LogLevel Source # | |
Ord LogLevel Source # | |
Defined in Foreign.Libcdio.Types.Enums | |
Read LogLevel Source # | |
Show LogLevel Source # | |