module Sound.MED.Raw.PlaySeq where
import Sound.MED.Basic.Amiga
import Sound.MED.Basic.Utility
data PlaySeq = PlaySeq
{ name :: [ UBYTE ]
, reserved0 :: ULONG
, reserved1 :: ULONG
, len :: UWORD
, seq :: [ UWORD ]
}
deriving (Show)
peek :: (Reader m) => PTR -> m PlaySeq
peek p = do
name' <- mapM peekUBYTE $ pointerRange p 1 32
reserved0' <- peekULONG (p+32)
reserved1' <- peekULONG (p+36)
len' <- peekUWORD (p+40)
seq' <- mapM peekUWORD $ pointerRangeGen (p+42) 2 len'
return $ PlaySeq
name' reserved0' reserved1' len' seq'