-- | Audio data encodings.
module Sound.File.Encoding where

-- | Enemeration of valid audio data encodings.
data Encoding = Linear8
              | Linear16
              | Linear32
              | Float
              | Double
                deriving (Eq, Show)

-- | Bytes per sample at 'Encoding'.
sizeOf :: Encoding -> Int
sizeOf e =
    case e of
      Linear8 -> 1
      Linear16 -> 2
      Linear32 -> 4
      Float -> 4
      Double -> 8