-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Haskell bindings for libsndfile (Data.Vector interface)
--   
--   Haskell bindings for libsndfile (<tt>Data.Vector</tt> interface).
--   
--   For more information on <i>hsndfile</i> visit its homepage at
--   <a>http://haskell.org/haskellwiki/Hsndfile</a>.
@package hsndfile-vector
@version 0.5.2


-- | This module provides a <a>Buffer</a> instance for <a>Vector</a>,
--   wrapped in a newtype. See
--   <a>Sound.File.Sndfile.Buffer.Vector.Examples</a> for some example
--   code.
module Sound.File.Sndfile.Buffer.Vector

-- | Newtype wrapper for <a>Vector</a>.
data Buffer a

-- | Construct a <a>Buffer</a> from a <a>Vector</a>.
toBuffer :: Vector a -> Buffer a

-- | Extract the <a>Vector</a> from a <a>Buffer</a>.
fromBuffer :: Buffer a -> Vector a
withBuffer :: (Vector a -> Vector b) -> Buffer a -> Buffer b
instance Foreign.Storable.Storable a => Sound.File.Sndfile.Buffer.Buffer Sound.File.Sndfile.Buffer.Vector.Buffer a


-- | This module provides some examples for soundfile I/O with
--   <a>Buffer</a>. Click the <i>Source</i> links to access the source
--   code.
module Sound.File.Sndfile.Buffer.Vector.Examples

-- | Read a sound file, normalize the contents and write it back.
--   
--   The file is read into memory in its entirety, which may not be
--   feasible for large files. No deinterleaving is needed in this case.
normalizeSoundFile :: FilePath -> FilePath -> IO ()
