150 Commits

Author SHA1 Message Date
Bernhard Wagner
1458ee64ec FIXES: alias pm for polymeter 2023-03-21 21:20:57 +01:00
Bernhard Wagner
fffd3c07ca FIXES: alias pm for polymeter
(return statement was missing)
2023-03-18 22:12:12 +01:00
Felix Roos
487ccb90a1 add arrange function 2023-03-03 20:17:23 +01:00
Alex McLean
2d5064bd5b
Reinstate slice and splice (#500)
Reinstate slice/splice, fixing up "unit" param using new global cps
2023-03-02 14:44:41 +00:00
Felix Roos
961bbf6f55 Revert "Another attempt at composable functions - WIP (#390)"
This reverts commit cbae3558969ec85c003c90a076ffeff6fa254bd4.
2023-02-27 15:20:49 +01:00
Felix Roos
49234183a3 Merge remote-tracking branch 'origin/main' into fix-array-args 2023-02-25 14:13:55 +01:00
Felix Roos
ed7763df92 fix: reify after sequence to preserve array
ref https://github.com/tidalcycles/strudel/issues/383#issuecomment-1399514090
2023-02-25 14:13:39 +01:00
Alex McLean
7c367eb1e8
slice and splice (#466)
Implements `slice` and `splice` from tidal, intended for beat slicing
2023-02-22 11:51:31 +00:00
Alex McLean
fdb76867a7
weave and weaveWith (#465)
Added weave and weaveWith from tidal
2023-02-18 00:00:18 +00:00
Alex McLean
cbae355896
Another attempt at composable functions - WIP (#390)
Summary of changes:

- Made unary functions composable, including controls. So e.g. s("bd sd").every(3,fast(2).iter(4).n(4)) works the same as s("bd sd").every(3,x => x.fast(2).iter(4).n(4))
- Made operators/alignments composable too, so s("bd sd").every(3, set.squeeze.n(3, 4)) works
- Patterns are not treated as functions, so s("bd sd").every(3, n(5)) is an annoying runtime error. s("bd sd").every(3, set.n(5)) does work though.

Other minor changes:

- standardised alignment 'squeezeOut' as lowercase 'squeezeout'
- made firstCycleValues turn haps sorted in order of 'part'
2023-02-16 23:15:21 +00:00
Felix Roos
97cbdc6b0f use jsdoc in autocomplete, still not context aware
+ add noAutocomplete flags
+ add superdirtOnly flags
2023-02-09 12:19:38 +01:00
Alex McLean
46f3b662a7
add pattern methods hurry, press and pressBy (#397) 2023-02-01 15:49:55 +00:00
Felix Roos
9731eb8c5b add ribbon + test + docs 2023-01-19 12:25:12 +01:00
Felix Roos
800989419b catch all query errors by default 2023-01-15 22:50:56 +01:00
Felix Roos
1ac784dc7a localize draw logic 2023-01-13 12:03:34 +01:00
Felix Roos
6a2a60df0d hotfix: tests 2023-01-12 17:43:20 +01:00
Felix Roos
ee9b89b6d5 add more synonyms 2023-01-12 17:40:58 +01:00
Felix Roos
68cc109933 burn down that undocumented list 2023-01-12 17:25:01 +01:00
Felix Roos
78d14cdfea automatically print synonyms in doc 2023-01-12 13:10:22 +01:00
Felix Roos
28aee1c58d fix polymeter doc 2023-01-12 12:43:41 +01:00
Felix Roos
62af12f3b9 remove experimental class properties 2023-01-12 12:32:27 +01:00
Felix Roos
4345fda9bc more doc 2023-01-12 01:56:46 +01:00
Felix Roos
4059e9faa9 more doc 2023-01-12 00:10:58 +01:00
Felix Roos
86cde9716a arpWith example 2023-01-11 23:37:59 +01:00
Felix Roos
6e315a50ed breaking: arp use innerJoin instead of squeezeJoin 2023-01-11 23:28:17 +01:00
Felix Roos
d5f37e2cbe add internals doc 2023-01-11 22:48:47 +01:00
Felix Roos
69ecb7b54f support logs in mini repl
+ pass hap to logger
+ add editPattern hook to repl + useStrudel
+ do not throw when webaudio gets plain values
2023-01-09 23:26:20 +01:00
Felix Roos
10ee11c886 docs: improve time modifiers page
+ polymeter + euclidRot
+ rename Factories to Pattern Constructors
2023-01-09 20:39:00 +01:00
Felix Roos
62fdba0600 pull apart functional docs 2023-01-07 22:12:35 +01:00
Felix Roos
2c44c252d7 fixed namespaced anchor links 2022-12-19 20:59:47 +01:00
Felix Roos
0a9604d10e throw out nunjucks 2022-12-19 20:48:57 +01:00
Felix Roos
bf1ba6efc0 code format 2022-12-13 21:32:03 +01:00
Alex McLean
56424d29a3
.defragmentHaps() (#299) 2022-12-11 23:21:53 +00:00
Felix Roos
210910eb6e hotfix: lastOf was undefined 2022-12-11 21:56:05 +01:00
Felix Roos
b9781915a4 remove bootstrap + Pattern.patternify 2022-12-10 22:58:07 +01:00
Felix Roos
b81a66f07e refactor uses of voicings
+ fix usages of scaleTranspose
2022-12-10 21:47:58 +01:00
Felix Roos
09b15a07c6 use register for degradeBy / undegradeBy 2022-12-10 19:25:51 +01:00
Alex McLean
4340f024d3
Reorganise pattern.mjs with a 'toplevel first' regime (#286)
'toplevel first' regime
* loopAt has its optional cps parameter removed, with loopAtCps added for supporting that usage.
* rename bitlevel operations e.g. _and -> band

Co-authored-by: Felix Roos <flix91@gmail.com>
2022-12-10 14:39:03 +00:00
Alex McLean
f827201ee0
Switch 'operators' from .whatHow to .what.how, and make sure there are toplevel curried functions for all of them. Rename util.mod to util._mod, to make room for toplevel 'operator' of that name. (#285) 2022-12-07 19:07:55 +00:00
Felix Roos
4dd08268dc implement collect + arp function 2022-12-04 11:38:11 +01:00
Felix Roos
e2898ee5bf add eslint + fix lint errors 2022-11-24 15:30:11 +01:00
Alex McLean
e1a532500e
Tidying up core (#256)
* remove _ prefixes except for functions to be patternified
* categorise pattern methods
* experimental support for `.add.squeeze` and friends as alternative to `.addSqueeze`
* `every` is now an alias for `firstOf` with additional `lastOf` (which every will become an alias for next)
2022-11-22 08:51:25 +00:00
Felix Roos
8304993481 fix: #194 2022-11-21 21:59:08 +01:00
Felix Roos
f279c61792 fix: each example 2022-11-17 10:19:04 +01:00
Felix Roos
ff5d14fb63 can now have multiple triggers
+ Pattern.log now makes sense
2022-11-12 16:52:00 +01:00
Felix Roos
ea3e9de7ab feat: can now set a string parser for reify 2022-11-08 21:16:23 +01:00
Felix Roos
3033acadbb remove log 2022-11-03 14:57:46 +01:00
Felix Roos
e9544f8f92 test all in source examples 2022-11-03 14:47:27 +01:00
Felix Roos
1a6743dba9 hotfix: #241 2022-11-03 12:52:01 +01:00
Felix Roos
a0bd5bdd35 simplify asNumber 2022-11-01 21:45:40 +01:00