    -----------------------------------------------------------------------------
    -- |
    -- Module      :  Graphics.UI.SDL.Mixer.Types
    -- Copyright   :  (c) David Himmelstrup 2005
    -- License     :  BSD-like
    --
    -- Maintainer  :  lemmih@gmail.com
    -- Stability   :  provisional
    -- Portability :  portable
    --
    -----------------------------------------------------------------------------
    module Graphics.UI.SDL.Mixer.Types
        ( ChunkStruct
        , Chunk
        , MusicStruct
        , Music
        , Channel
        , MusicType (..)
        , Fading (..)
        ) where

    import Foreign(ForeignPtr)

    data ChunkStruct
    type Chunk = ForeignPtr ChunkStruct

    data MusicStruct
    type Music = ForeignPtr MusicStruct

    type Channel = Int

    data MusicType
        = MusicNone
        | MusicCmd
        | MusicWav
        | MusicMod
        | MusicMid
        | MusicOgg
        | MusicMp3
          deriving (Show,Eq,Ord,Enum,Bounded)

    data Fading
        = NoFading
        | FadingOut
        | FadingIn
          deriving (Show,Eq,Ord,Enum,Bounded)