tidal 0.4.32 → 0.4.33
raw patch · 3 files changed
+13/−9 lines, 3 files
Files
- Sound/Tidal/Stream.hs +8/−2
- tidal.cabal +1/−1
- tidal.el +4/−6
Sound/Tidal/Stream.hs view
@@ -12,7 +12,7 @@ import Data.Time (getCurrentTime) import Data.Time.Clock.POSIX (utcTimeToPOSIXSeconds) import Data.Ratio-+import GHC.Float (float2Double, double2Float) import Sound.Tidal.Pattern import qualified Sound.Tidal.Parse as P import Sound.Tidal.Tempo (Tempo, logicalTime, clocked,clockedTick,cps)@@ -83,7 +83,7 @@ let cycleD = ((fromIntegral tick) / (fromIntegral ticksPerCycle)) :: Double logicalNow = (logicalTime change cycleD) logicalPeriod = (logicalTime change (cycleD + (1/(fromIntegral ticksPerCycle)))) - logicalNow- logicalOnset = logicalNow + (logicalPeriod * o) + (latency shape)+ logicalOnset = logicalNow + (logicalPeriod * o) + (latency shape) + nudge sec = floor logicalOnset usec = floor $ 1000000 * (logicalOnset - (fromIntegral sec)) oscdata = cpsPrefix ++ preamble shape ++ (parameterise $ catMaybes $ mapMaybe (\x -> Map.lookup x m') (params shape))@@ -99,6 +99,9 @@ | otherwise = ds cpsPrefix | cpsStamp shape = [float (cps change)] | otherwise = []+ nudge = maybe 0 (toF) (Map.lookup (F "nudge" (Just 0)) m)+ toF (Just (Float f)) = float2Double f+ toF _ = 0 doAt t action = do forkIO $ do now <- getCurrentTime let nowf = realToFrac $ utcTimeToPOSIXSeconds now@@ -149,6 +152,9 @@ defaultV a = Just $ toOsc a --defaultV Nothing = defaultDatum nParam +nudge :: Pattern Double -> OscPattern+nudge p = fmap (\x -> Map.singleton (F "nudge" (Just 0)) (Just $ float x)) p+ makeS = make string makeF :: OscShape -> String -> Pattern Double -> OscPattern
tidal.cabal view
@@ -1,5 +1,5 @@ name: tidal-version: 0.4.32+version: 0.4.33 synopsis: Pattern language for improvised music -- description: homepage: http://tidal.lurk.org/
tidal.el view
@@ -55,9 +55,7 @@ tidal-interpreter-arguments) (tidal-see-output)) (tidal-send-string ":set prompt \"\"")- (tidal-send-string "import Sound.Tidal.Context")- (tidal-send-string "import Sound.Tidal.VolcaKeys")- (tidal-send-string "import Sound.Tidal.Poetry")+ (tidal-send-string ":module Sound.Tidal.Context") ; (tidal-send-string "import Volca.Beat") ; (tidal-send-string "import Volca.Key") ; (tidal-send-string "(note, [portamento, expression, voice, octave, detune, vcoegint, kcutoff, vcfegint, lforate, lfopitchint, lfocutoffint, attack, decay, sustain, dtime , dfeedback], keystop) <- keystart")@@ -72,11 +70,8 @@ (tidal-send-string "d8 <- dirtStream") (tidal-send-string "d9 <- dirtStream") (tidal-send-string "d10 <- dirtStream")- (tidal-send-string "k1 <- keyStream")- (tidal-send-string "keyproxy 150000 \"24:0\"") (tidal-send-string "(cps, getNow) <- bpsUtils") (tidal-send-string "let bps x = cps (x/2)")-; (tidal-send-string "let hush = mapM_ ($ silence) [d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,k1]") (tidal-send-string "let hush = mapM_ ($ silence) [d1,d2,d3,d4,d5,d6,d7,d8,d9,d10]") (tidal-send-string "let solo = (>>) hush") (tidal-send-string ":set prompt \"tidal> \"")@@ -141,6 +136,9 @@ (tidal-send-string "now' <- getNow") (tidal-send-string "let now = nextSam now'") (tidal-send-string "let retrig = (now ~>)")+ (tidal-send-string "let fadeOut n = spread' (degradeBy) (retrig $ slow n $ envL)")+ (tidal-send-string "let fadeIn n = spread' (degradeBy) (retrig $ slow n $ (1-) <$> envL)")+ ) (defun tidal-run-line ()