module Sound.MED.Raw.NotationInfo where
import Sound.MED.Basic.Amiga
import Sound.MED.Basic.Utility
data NotationInfo = NotationInfo
{ n_of_sharps :: UBYTE
, flags :: UBYTE
, trksel :: [ WORD ]
, trkshow :: [ UBYTE ]
, trkghost :: [ UBYTE ]
, notetr :: [ BYTE ]
, pad :: UBYTE
}
deriving (Show)
peek :: (Reader m) => PTR -> m NotationInfo
peek p = do
n_of_sharps' <- peekUBYTE (p+0)
flags' <- peekUBYTE (p+1)
trksel' <- mapM peekWORD $ pointerRange (p+ 2) 2 5
trkshow' <- mapM peekUBYTE $ pointerRange (p+22) 1 16
trkghost' <- mapM peekUBYTE $ pointerRange (p+38) 1 16
notetr' <- mapM peekBYTE $ pointerRange (p+54) 1 63
pad' <- peekUBYTE (p+117)
return $ NotationInfo
n_of_sharps' flags' trksel' trkshow' trkghost' notetr' pad'