-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Haskell binding for libvorbis, for decoding Ogg Vorbis audio files -- -- This package gives you a simple high-level API for decoding Ogg Vorbis -- files or streams, and isn't currently intended to be comprehensive. -- See the HOgg package in case that's more what you want. -- -- Take a look at the tests/ directory for a minimalistic command-line -- player. 0.1.0.2: Bump base upper bound. @package libvorbis @version 0.1.0.2 -- | High level API for decoding Ogg-Vorbis files or streams. This module -- is intended to be imported qualified, e.g. -- --
--   import qualified Codec.Audio.Vorbis.File as V
--   
module Codec.Audio.Vorbis.File -- | Open the specified Ogg-Vorbis file for decoding. openFile :: FilePath -> IO File -- | Decode Ogg-Vorbis using the specified callbacks to do the back-end -- I/O. Seek and tell functions are optional. openCallbacks :: (Int -> Int -> IO ByteString) -> IO () -> Maybe (SeekMode -> Integer -> IO (), IO Integer) -> IO File -- | Open the specified Ogg-Vorbis file for decoding. -- -- Opens it using the loan pattern: Guaranteed to call close for -- you on completion (exception safe), so you must not call close -- explicitly. withFile :: FilePath -> (File -> IO a) -> IO a -- | Decode Ogg-Vorbis using the specified callbacks to do the back-end -- I/O. Seek and tell functions are optional. -- -- Opens it using the loan pattern: Guaranteed to call close for -- you on completion (exception safe), so you must not call close -- explicitly. withCallbacks :: (Int -> Int -> IO ByteString) -> IO () -> Maybe (SeekMode -> Integer -> IO (), IO Integer) -> (File -> IO a) -> IO a data File info :: File -> IO Info data Info Info :: Int -> Channels -> Int -> Info [inVersion] :: Info -> Int [inChannels] :: Info -> Channels [inRate] :: Info -> Int data Channels Mono :: Channels Stereo :: Channels -- | Read data from the file. Returns the data block and the number of the -- current logical bitstream. Nothing for end of file. read :: File -> Int -> Endianness -> WordSize -> Signedness -> IO (Maybe (ByteString, Int)) -- | represent the CPU endianness -- -- Big endian system stores bytes with the MSB as the first byte. Little -- endian system stores bytes with the LSB as the first byte. -- -- middle endian is purposely avoided. data Endianness :: * LittleEndian :: Endianness BigEndian :: Endianness -- | return the system endianness getSystemEndianness :: Endianness data WordSize EightBit :: WordSize SixteenBit :: WordSize data Signedness Signed :: Signedness Unsigned :: Signedness -- | Close the file once we've finished with it. Must be used with the -- handles returned by openFile and openCallbacks. close :: File -> IO () instance GHC.Show.Show Codec.Audio.Vorbis.File.WordSize instance GHC.Classes.Ord Codec.Audio.Vorbis.File.WordSize instance GHC.Classes.Eq Codec.Audio.Vorbis.File.WordSize instance GHC.Show.Show Codec.Audio.Vorbis.File.Signedness instance GHC.Classes.Ord Codec.Audio.Vorbis.File.Signedness instance GHC.Classes.Eq Codec.Audio.Vorbis.File.Signedness instance GHC.Show.Show Codec.Audio.Vorbis.File.Info instance GHC.Show.Show Codec.Audio.Vorbis.File.Channels instance GHC.Classes.Ord Codec.Audio.Vorbis.File.Channels instance GHC.Classes.Eq Codec.Audio.Vorbis.File.Channels instance GHC.Show.Show Codec.Audio.Vorbis.File.OggVorbisException instance GHC.Classes.Eq Codec.Audio.Vorbis.File.OggVorbisException instance GHC.Show.Show Codec.Audio.Vorbis.File.OggVorbisStatus instance GHC.Classes.Eq Codec.Audio.Vorbis.File.OggVorbisStatus instance GHC.Exception.Exception Codec.Audio.Vorbis.File.OggVorbisException