packages feed

tidal 1.7.7 → 1.7.8

raw patch · 5 files changed

+16/−9 lines, 5 files

Files

CHANGELOG.md view
@@ -1,5 +1,8 @@ # TidalCycles log of changes +## 1.7.8 - Ayatakedai+   * Add pattern id to patterns as _id_, and send it with /code/highlights+ ## 1.7.7 - Caramel wafer    * Support hosc 0.19 in test suite @yaxu 
src/Sound/Tidal/Stream.hs view
@@ -35,7 +35,8 @@ import qualified Network.Socket          as N  import           Sound.Tidal.Config-import           Sound.Tidal.Core (stack, silence)+import           Sound.Tidal.Core (stack, silence, (#))+import           Sound.Tidal.Params (pS) import           Sound.Tidal.Pattern import qualified Sound.Tidal.Tempo as T import           Sound.Tidal.Utils ((!!!))@@ -353,14 +354,15 @@   where cToM :: ((Int,Int),(Int,Int)) -> (Double, Bool, O.Message)         cToM ((x, y), (x',y')) = (ts,                                   False, -- bus message ?-                                  O.Message oscpath $ (O.float delta):(O.float cyc):(map O.int32 [x,y,x',y'])+                                  O.Message oscpath $ (O.string ident):(O.float delta):(O.float cyc):(map O.int32 [x,y,x',y'])                                  )         on = sched tempo $ start $ wholeOrPart e         off = sched tempo $ stop $ wholeOrPart e         delta = off - on         cyc :: Double         cyc = fromRational $ start $ wholeOrPart e-        nudge = fromJust $ getF $ fromMaybe (VF 0) $ Map.lookup "nudge" $ value e+        nudge = fromMaybe 0 $ Map.lookup "nudge" (value e) >>= getF+        ident = fromMaybe "unknown" $ Map.lookup "_id_" (value e) >>= getS         ts = on + nudge + latency  doCps :: MVar T.Tempo -> (Double, Maybe Value) -> IO ()@@ -538,7 +540,7 @@   = E.catch (do let x = queryArc pat (Arc 0 0)                 tempo <- readMVar $ sTempoMV s                 input <- takeMVar $ sStateMV s-                -- put change time in control input+                -- put pattern id and change time in control input                 now <- O.time                 let cyc = T.timeToCycles tempo now                 putMVar (sStateMV s) $@@ -551,8 +553,10 @@           )     (\(e :: E.SomeException) -> hPutStrLn stderr $ "Error in pattern: " ++ show e     )-  where updatePS (Just playState) = do playState {pattern = pat, history = pat:(history playState)}-        updatePS Nothing = PlayState pat False False [pat]+  where updatePS (Just playState) = do playState {pattern = pat', history = pat:(history playState)}+        updatePS Nothing = PlayState pat' False False [pat']+        pat' = pat # pS "_id_" (pure $ show k)+  streamMute :: Show a => Stream -> a -> IO () streamMute s k = withPatId s (show k) (\x -> x {mute = True})
src/Sound/Tidal/UI.hs view
@@ -1739,7 +1739,7 @@ -- | @contrast p f f' p'@ splits controlpattern @p'@ in two, applying -- the function @f@ to one and @f'@ to the other. This depends on -- whether events in it contains values matching with those in @p@.--- For example in @contrast (n "1") (# crush 3) (# vowel "a") $ n "0 1" # s "bd sn" # speed 3@,+-- For example in @contrast (# crush 3) (# vowel "a") (n "1") $ n "0 1" # s "bd sn" # speed 3@, -- the first event will have the vowel effect applied and the second -- will have the crush applied. contrast :: (ControlPattern -> ControlPattern) -> (ControlPattern -> ControlPattern)
src/Sound/Tidal/Version.hs view
@@ -21,7 +21,7 @@ -}  tidal_version :: String-tidal_version = "1.7.7"+tidal_version = "1.7.8"  tidal_status :: IO () tidal_status = tidal_status_string >>= putStrLn 
tidal.cabal view
@@ -1,5 +1,5 @@ name:                tidal-version:             1.7.7+version:             1.7.8 synopsis:            Pattern language for improvised music description:         Tidal is a domain specific language for live coding patterns. homepage:            http://tidalcycles.org/