module Sound.MED.Raw.NotationInfo where import Sound.MED.Basic.Amiga import Sound.MED.Basic.Utility data NotationInfo = NotationInfo { NotationInfo -> UBYTE n_of_sharps :: UBYTE , NotationInfo -> UBYTE flags :: UBYTE , NotationInfo -> [WORD] trksel :: [ WORD ] , NotationInfo -> [UBYTE] trkshow :: [ UBYTE ] , NotationInfo -> [UBYTE] trkghost :: [ UBYTE ] , NotationInfo -> [BYTE] notetr :: [ BYTE ] , NotationInfo -> UBYTE pad :: UBYTE } deriving (Int -> NotationInfo -> ShowS [NotationInfo] -> ShowS NotationInfo -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [NotationInfo] -> ShowS $cshowList :: [NotationInfo] -> ShowS show :: NotationInfo -> String $cshow :: NotationInfo -> String showsPrec :: Int -> NotationInfo -> ShowS $cshowsPrec :: Int -> NotationInfo -> ShowS Show) {-# SPECIALISE peek :: PTR -> StorableReader NotationInfo #-} {-# SPECIALISE peek :: PTR -> ByteStringReader NotationInfo #-} peek :: (Reader m) => PTR -> m NotationInfo peek :: forall (m :: * -> *). Reader m => PTR -> m NotationInfo peek PTR p = do UBYTE n_of_sharps' <- forall (m :: * -> *). Reader m => Peek m UBYTE peekUBYTE (PTR pforall a. Num a => a -> a -> a +PTR 0) UBYTE flags' <- forall (m :: * -> *). Reader m => Peek m UBYTE peekUBYTE (PTR pforall a. Num a => a -> a -> a +PTR 1) [WORD] trksel' <- forall (t :: * -> *) (m :: * -> *) a b. (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) mapM forall (m :: * -> *). Reader m => Peek m WORD peekWORD forall a b. (a -> b) -> a -> b $ PTR -> PTR -> Int -> [PTR] pointerRange (PTR pforall a. Num a => a -> a -> a + PTR 2) PTR 2 Int 5 [UBYTE] trkshow' <- forall (t :: * -> *) (m :: * -> *) a b. (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) mapM forall (m :: * -> *). Reader m => Peek m UBYTE peekUBYTE forall a b. (a -> b) -> a -> b $ PTR -> PTR -> Int -> [PTR] pointerRange (PTR pforall a. Num a => a -> a -> a +PTR 22) PTR 1 Int 16 [UBYTE] trkghost' <- forall (t :: * -> *) (m :: * -> *) a b. (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) mapM forall (m :: * -> *). Reader m => Peek m UBYTE peekUBYTE forall a b. (a -> b) -> a -> b $ PTR -> PTR -> Int -> [PTR] pointerRange (PTR pforall a. Num a => a -> a -> a +PTR 38) PTR 1 Int 16 [BYTE] notetr' <- forall (t :: * -> *) (m :: * -> *) a b. (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) mapM forall (m :: * -> *). Reader m => Peek m BYTE peekBYTE forall a b. (a -> b) -> a -> b $ PTR -> PTR -> Int -> [PTR] pointerRange (PTR pforall a. Num a => a -> a -> a +PTR 54) PTR 1 Int 63 UBYTE pad' <- forall (m :: * -> *). Reader m => Peek m UBYTE peekUBYTE (PTR pforall a. Num a => a -> a -> a +PTR 117) forall (m :: * -> *) a. Monad m => a -> m a return forall a b. (a -> b) -> a -> b $ UBYTE -> UBYTE -> [WORD] -> [UBYTE] -> [UBYTE] -> [BYTE] -> UBYTE -> NotationInfo NotationInfo UBYTE n_of_sharps' UBYTE flags' [WORD] trksel' [UBYTE] trkshow' [UBYTE] trkghost' [BYTE] notetr' UBYTE pad'