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 (Int -> PlayState -> ShowS) -> (PlayState -> String) -> ([PlayState] -> ShowS) -> Show PlayState forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> PlayState -> ShowS showsPrec :: Int -> PlayState -> ShowS $cshow :: PlayState -> String show :: PlayState -> String $cshowList :: [PlayState] -> ShowS showList :: [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 (Int -> TickState -> ShowS) -> (TickState -> String) -> ([TickState] -> ShowS) -> Show TickState forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> TickState -> ShowS showsPrec :: Int -> TickState -> ShowS $cshow :: TickState -> String show :: TickState -> String $cshowList :: [TickState] -> ShowS showList :: [TickState] -> ShowS Show patternTimeID :: String patternTimeID :: String patternTimeID = String "_t_pattern"