-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Write, read, convert audio signals using libsox
--
-- This is an FFI binding to libsox of the Sox (Sound Exchanger)
-- project http://sox.sourceforge.net/. It lets write, read and
-- convert audio signals in various formats, resolutions, and numbers of
-- channels.
--
-- The package sox has similar functionality but calls the
-- sox shell command.
@package soxlib
@version 0.0.2.1
module Sound.SoxLib
-- | Deprecated: I found no documentation for it and thus think that it
-- is deprecated. Use formatWith instead.
with :: IO a -> IO a
-- | All SoxLib operations must be enclosed in formatWith. You must
-- only call it once per program.
formatWith :: IO a -> IO a
-- | This function will never return a nullPtr. Instead it throws a
-- user exception if the file cannot be opened.
openRead :: ReaderInfo -> FilePath -> IO (FormatPtr ReadMode)
withRead :: ReaderInfo -> FilePath -> (FormatPtr ReadMode -> IO a) -> IO a
-- | Multi-channel data is interleaved. size must be divisible by
-- the number of channels.
readStorableVector :: FormatPtr ReadMode -> Int -> IO (Vector Int32)
-- | Read complete file lazily into chunky storable vector. The chunkSize
-- must be divisible by the number of channels.
readStorableVectorLazy :: FormatPtr ReadMode -> ChunkSize -> IO (Vector Int32)
-- | This function will never return a nullPtr. Instead it throws a
-- user exception if the file cannot be opened.
openWrite :: WriterInfo -> FilePath -> IO (FormatPtr WriteMode)
withWrite :: WriterInfo -> FilePath -> (FormatPtr WriteMode -> IO a) -> IO a
-- | Multi-channel data is interleaved. size must be divisible by
-- the number of channels.
writeStorableVector :: FormatPtr WriteMode -> Vector Int32 -> IO ()
-- | The chunkSize must be divisible by the number of channels.
writeStorableVectorLazy :: FormatPtr WriteMode -> Vector Int32 -> IO ()
close :: Mode mode => FormatPtr mode -> IO ()
seek :: Mode mode => FormatPtr mode -> Int -> IO ()
class Mode mode
getModeChar :: Mode mode => Format mode -> CChar
data ReadMode
data WriteMode
data ReaderInfo
ReaderInfo :: Maybe SignalInfo -> Maybe EncodingInfo -> Maybe FileType -> ReaderInfo
readerSignalInfo :: ReaderInfo -> Maybe SignalInfo
readerEncodingInfo :: ReaderInfo -> Maybe EncodingInfo
readerFileType :: ReaderInfo -> Maybe FileType
defaultReaderInfo :: ReaderInfo
data WriterInfo
WriterInfo :: Maybe SignalInfo -> Maybe EncodingInfo -> Maybe FileType -> WriterInfo
writerSignalInfo :: WriterInfo -> Maybe SignalInfo
writerEncodingInfo :: WriterInfo -> Maybe EncodingInfo
writerFileType :: WriterInfo -> Maybe FileType
defaultWriterInfo :: WriterInfo
type Rate = Double
newtype FileType
FileType :: String -> FileType
unFileType :: FileType -> String
data Format mode
Format :: FilePath -> SignalInfo -> EncodingInfo -> FileType -> Bool -> Int -> Int -> Errno -> String -> Ptr CFile -> IOType -> CLong -> CLong -> Ptr () -> Format mode
filename :: Format mode -> FilePath
signalInfo :: Format mode -> SignalInfo
encodingInfo :: Format mode -> EncodingInfo
filetype :: Format mode -> FileType
seekable :: Format mode -> Bool
olength :: Format mode -> Int
clips :: Format mode -> Int
soxErrno :: Format mode -> Errno
soxErrStr :: Format mode -> String
fp :: Format mode -> Ptr CFile
ioType :: Format mode -> IOType
tellOff :: Format mode -> CLong
dataStart :: Format mode -> CLong
priv :: Format mode -> Ptr ()
data SignalInfo
SignalInfo :: Maybe Rate -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Double -> SignalInfo
rate :: SignalInfo -> Maybe Rate
channels :: SignalInfo -> Maybe Int
precision :: SignalInfo -> Maybe Int
length :: SignalInfo -> Maybe Int
mult :: SignalInfo -> Maybe Double
data EncodingInfo
EncodingInfo :: Encoding -> Int -> Double -> Option -> Option -> Option -> Bool -> EncodingInfo
encoding :: EncodingInfo -> Encoding
bitsPerSample :: EncodingInfo -> Int
compression :: EncodingInfo -> Double
reverseBytes :: EncodingInfo -> Option
reverseNibbles :: EncodingInfo -> Option
reverseBits :: EncodingInfo -> Option
oppositeEndian :: EncodingInfo -> Bool
defaultSignalInfo :: SignalInfo
data IOType
ioFile :: IOType
ioPipe :: IOType
ioURL :: IOType
data Option
optionNo :: Option
optionYes :: Option
optionDefault :: Option
data Encoding
encodingUnknown :: Encoding
encodingSign2 :: Encoding
encodingUnsigned :: Encoding
encodingFloat :: Encoding
encodingFloatText :: Encoding
encodingFlac :: Encoding
encodingHcom :: Encoding
encodingWavpack :: Encoding
encodingWavpackf :: Encoding
encodingUlaw :: Encoding
encodingAlaw :: Encoding
encodingG721 :: Encoding
encodingG723 :: Encoding
encodingClADPCM :: Encoding
encodingClADPCM16 :: Encoding
encodingMsADPCM :: Encoding
encodingImaADPCM :: Encoding
encodingOkiADPCM :: Encoding
encodingDPCM :: Encoding
encodingDWVW :: Encoding
encodingDWVWN :: Encoding
encodingGSM :: Encoding
encodingMP3 :: Encoding
encodingVorbis :: Encoding
encodingAmrWB :: Encoding
encodingAmrNB :: Encoding
encodingCVSD :: Encoding
encodingLPC10 :: Encoding