-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Simple audio library for Windows, Linux, OSX.
--
-- Simple audio library for Windows, Linux, OSX. Supports PCM, Ogg and
-- Wav playback and multichannel mixing.
@package proteaaudio
@version 0.9.2
-- | ProteaAudio is a stereo audio mixer/playback library for
--
--
-- - Linux (PusleAudio)
-- - Macintosh OS X (CoreAudio)
-- - Windows (DirectSound)
--
module Sound.ProteaAudio
-- | Audio sample resource handle. A sample can be shared between multiple
-- Sound tracks. (abstraction for data)
data Sample
-- | Sound track handle. It is used to control the audio playback.
-- (abstraction for playback)
data Sound
-- | Initializes the audio system.
initAudio :: Int -> Int -> Int -> IO Bool
-- | Releases the audio device and cleans up resources.
finishAudio :: IO ()
-- | Set main mixer volume.
volume :: Float -> Float -> IO ()
-- | Return the number of currently active sounds.
soundActiveAll :: IO Int
-- | Stops all sounds immediately.
soundStopAll :: IO ()
-- | Checks if loader for this file type is available.
loaderAvailable :: String -> IO Bool
-- | Loads raw linear pcm sound sample from memory buffer.
sampleFromMemoryPcm :: ByteString -> Int -> Int -> Int -> Float -> IO Sample
-- | Loads wav sound sample from memory buffer.
sampleFromMemoryWav :: ByteString -> Float -> IO Sample
-- | Loads ogg sound sample from memory buffer.
sampleFromMemoryOgg :: ByteString -> Float -> IO Sample
-- | Loads a sound sample from file.
sampleFromFile :: String -> Float -> IO Sample
-- | Unloads a previously loaded sample from memory, invalidating the
-- handle.
sampleDestroy :: Sample -> IO Bool
-- | Plays a specified sound sample continuously any free channel and sets
-- its parameters.
soundLoop :: Sample -> Float -> Float -> Float -> Float -> IO Sound
-- | Plays a specified sound sample once any free channel and sets its
-- parameters.
soundPlay :: Sample -> Float -> Float -> Float -> Float -> IO Sound
-- | Plays a specified sound sample continuously on a specific channel and
-- sets its parameters.
soundLoopOn :: Int -> Sample -> Float -> Float -> Float -> Float -> IO Sound
-- | Plays a specified sound sample once on a specific channel and sets its
-- parameters.
soundPlayOn :: Int -> Sample -> Float -> Float -> Float -> Float -> IO Sound
-- | Updates parameters of a specified sound.
soundUpdate :: Sound -> Float -> Float -> Float -> Float -> IO Bool
-- | Stops a specified sound immediately.
soundStop :: Sound -> IO Bool
-- | Checks if a specified sound is still active.
soundActive :: Sound -> IO Bool