module Sound.Tidal.StreamTypes where import qualified Data.Map.Strict as Map import Sound.Tidal.Pattern import Sound.Tidal.Show () data PlayState = PlayState {PlayState -> ControlPattern pattern :: ControlPattern, PlayState -> Bool mute :: Bool, PlayState -> Bool solo :: Bool, PlayState -> [ControlPattern] history :: [ControlPattern] } deriving Int -> PlayState -> ShowS [PlayState] -> ShowS PlayState -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [PlayState] -> ShowS $cshowList :: [PlayState] -> ShowS show :: PlayState -> String $cshow :: PlayState -> String showsPrec :: Int -> PlayState -> ShowS $cshowsPrec :: Int -> PlayState -> ShowS Show type PatId = String type PlayMap = Map.Map PatId PlayState data TickState = TickState { TickState -> Arc tickArc :: Arc, TickState -> Double tickNudge :: Double } deriving Int -> TickState -> ShowS [TickState] -> ShowS TickState -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [TickState] -> ShowS $cshowList :: [TickState] -> ShowS show :: TickState -> String $cshow :: TickState -> String showsPrec :: Int -> TickState -> ShowS $cshowsPrec :: Int -> TickState -> ShowS Show