module Sound.MED.Raw.CmdPageData where import Sound.MED.Basic.Amiga data CmdPageData = CmdPageData { CmdPageData -> UBYTE command :: UBYTE , CmdPageData -> UBYTE databyte :: UBYTE } deriving (Int -> CmdPageData -> ShowS [CmdPageData] -> ShowS CmdPageData -> String (Int -> CmdPageData -> ShowS) -> (CmdPageData -> String) -> ([CmdPageData] -> ShowS) -> Show CmdPageData forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [CmdPageData] -> ShowS $cshowList :: [CmdPageData] -> ShowS show :: CmdPageData -> String $cshow :: CmdPageData -> String showsPrec :: Int -> CmdPageData -> ShowS $cshowsPrec :: Int -> CmdPageData -> ShowS Show) {-# SPECIALISE peek :: PTR -> StorableReader CmdPageData #-} {-# SPECIALISE peek :: PTR -> ByteStringReader CmdPageData #-} peek :: (Reader m) => PTR -> m CmdPageData peek :: PTR -> m CmdPageData peek PTR p = do UBYTE command' <- Peek m UBYTE forall (m :: * -> *). Reader m => Peek m UBYTE peekUBYTE (PTR p PTR -> PTR -> PTR forall a. Num a => a -> a -> a + PTR 0) UBYTE databyte' <- Peek m UBYTE forall (m :: * -> *). Reader m => Peek m UBYTE peekUBYTE (PTR p PTR -> PTR -> PTR forall a. Num a => a -> a -> a + PTR 1) CmdPageData -> m CmdPageData forall (m :: * -> *) a. Monad m => a -> m a return (CmdPageData -> m CmdPageData) -> CmdPageData -> m CmdPageData forall a b. (a -> b) -> a -> b $ UBYTE -> UBYTE -> CmdPageData CmdPageData UBYTE command' UBYTE databyte'