Files
strudel/CHANGELOG.md
T
2026-01-16 10:08:41 +01:00

118 KiB

changelog

NOTE: you can generate this with node warm.js. it might still not be perfectly sorted...

january 2026

  • 2026-01-15T16:59:14+01:00 mondo fix: add registered functions to scope automatically by @daslyfe in: #1896
  • 2026-01-15T16:58:14+01:00 Added docs for pattern search by @JohnBjrk in: #1905
  • 2026-01-15T16:57:19+01:00 Update kabelsalat dependency by @jeromew in: #1911
  • 2026-01-15T00:24:39+01:00 Bug Fix: Set pooled values immediately instead of scheduling by @glossing in: #1907
  • 2026-01-14T20:29:16+01:00 Feat: Kabelsalat integration by @glossing in: #1876
  • 2026-01-14T19:07:49+01:00 Feat: MIDI Keyboard 🎹🐈 by @glossing in: #1828
  • 2026-01-14T18:14:52+01:00 Bug Fix: Fix race condition between worklet termination and port messages by @glossing in: #1897
  • 2026-01-13T04:06:52+01:00 Add search/filter in patterns tab by @JohnBjrk in: #1842
  • 2026-01-13T00:18:10+01:00 Add shortcut for navigating through labels! by @daslyfe in: #1807
  • 2026-01-12T00:17:37+01:00 add warm.strudel.cc to faq by @yaxu in: #1891
  • 2026-01-11T19:00:25+01:00 Fix sounds example to work in the REPL by @JesCoding in: #1851
  • 2026-01-11T13:52:02+01:00 Improve hint text when sound search has no results by @floy in: #1883
  • 2026-01-11T13:19:46+01:00 New page FAQ in "More" by @scrappy_fiddler in: #1753
  • 2026-01-11T12:45:07+01:00 fix: remove faulty default readme by @froos in: #1889
  • 2026-01-11T12:15:34+01:00 fix/self-hosted-config by @alienmind in: #1880
  • 2026-01-11T12:07:48+01:00 Feat: Support External AudioContext Injection by @1d10t in: #1833
  • 2026-01-11T11:37:37+01:00 fix: add trem to top level by @froos in: #1887
  • 2026-01-11T11:37:18+01:00 fix: export start cycle min 0 by @froos in: #1888
  • 2026-01-11T11:05:44+01:00 fix: repl package init audio properly by @froos in: #1836
  • 2026-01-11T06:51:24+01:00 Fix: show reload dialog when uploading prebake script by @daslyfe in: #1886
  • 2026-01-11T06:01:42+01:00 fixes Serial onTrigger() params #1633 by @gueejla in: #1885
  • 2026-01-10T23:12:48+01:00 Perf: Targeted node pools by @glossing in: #1810
  • 2026-01-10T20:52:40+01:00 Allow top level distortions for the purpose of FX by @glossing in: #1884
  • 2026-01-09T03:43:37+01:00 Bake in scaling by freq for FM with a gain node by @glossing in: #1878
  • 2026-01-09T02:53:38+01:00 Bug fix: Properly handle subcontrols by @glossing in: #1877
  • 2026-01-07T20:06:18+01:00 Feat: Add ability to turn mini parsing off with mini-off decorator by @glossing in: #1786
  • 2026-01-07T19:22:24+01:00 Bug Fix: Update loopStart/End to not be offset by @glossing in: #1826
  • 2026-01-06T06:35:49+01:00 Update modulator docstrings and allow ids to be patterns by @glossing in: #1874
  • 2026-01-04T17:14:11+01:00 Fix doc link in @strudel/osc README.md by @forrcaho in: #1872
  • 2026-01-04T02:01:07+01:00 Make stretch modulatable by @glossing in: #1870
  • 2026-01-02T18:44:53+01:00 Make pan modulatable by @glossing in: #1865
  • 2026-01-01T21:42:23+01:00 Fix transpilation example to have same mini-notation by @JesCoding in: #1850
  • 2026-01-01T21:39:05+01:00 fix: missing punctuation by @eddyflux in: #1860
  • 2026-01-01T20:20:34+01:00 Fix formatting of docstring by @glossing in: #1864
  • 2026-01-01T19:52:15+01:00 Feat: FX Chains by @glossing in: #1861

december 2025

  • 2025-12-29T21:59:11+01:00 Bugfix: Fix modulator clamping when min/max not specified by @glossing in: #1859
  • 2025-12-29T20:54:11+01:00 Feature: LFOs and Envelopes by @glossing in: #1507
  • 2025-12-29T16:07:18+01:00 Fix AudioContext change detection. Use AudioNode.context by @jeromew in: #1858
  • 2025-12-28T22:58:38+01:00 Say that @license should use SPDX identifier by @Wuzzy in: #1817
  • 2025-12-28T22:56:07+01:00 Expose Vim object in order to create custom keybindings by @JohnBjrk in: #1816
  • 2025-12-28T14:20:03+01:00 dough repl fixes by @froos in: #1855
  • 2025-12-28T13:40:29+01:00 add basic dough repl by @froos in: #1749
  • 2025-12-20T22:27:52+01:00 Document "-" in mini-notation by @Wuzzy in: #1818
  • 2025-12-20T22:20:27+01:00 simplify envValAtTime and remove asymmetric behavior (fix #1653) by @pulu in: #1815
  • 2025-12-19T08:11:50+01:00 fix: visual block selection mode for vim bindings by @Dsm0 in: #1839
  • 2025-12-19T01:03:53+01:00 [perf] Add audiograph await debugAudiograph() feature by @jeromew in: #1763
  • 2025-12-19T00:45:41+01:00 Feature: non-realtime exporting by @Ghost in: #1674
  • 2025-12-14T19:33:37+01:00 Fix: wrong warning in build environments by @jeromew in: #1835
  • 2025-12-14T15:09:12+01:00 delta -> per / perx / cyclesPer refinements by @yaxu in: #1832
  • 2025-12-14T01:07:36+01:00 Improved randomness by @glossing in: #1505
  • 2025-12-12T10:28:27+01:00 Add delta signal for representing the duration of events in patterns that are combined with it by @yaxu in: #1831
  • 2025-12-11T18:00:49+01:00 Feature: stateful timeline function for jumping between timelines by @yaxu in: #1669
  • 2025-12-11T16:37:58+01:00 Updates relating to LLM, github, etc by @yaxu in: #1830
  • 2025-12-10T15:32:44+01:00 fix .as so it doesn't set undefined values by @yaxu in: #1827
  • 2025-12-08T19:27:31+01:00 [perf] propagate onceEnded and releaseAudioNode by @jeromew in: #1809
  • 2025-12-07T21:51:40+01:00 Feat: Add channel support to midi in by @glossing in: #1775
  • 2025-12-07T21:23:43+01:00 Feat: Transient shaper by @glossing in: #1777
  • 2025-12-07T19:15:43+01:00 Add vel as a synonym for velocity & update a few docstrings by @glossing in: #1781
  • 2025-12-07T18:53:04+01:00 [perf] fix phaser leak of unused biquads by @jeromew in: #1800
  • 2025-12-07T18:42:50+01:00 Bug fix: Remove failing tests due to shabda removal by @glossing in: #1820
  • 2025-12-03T18:27:28+01:00 Feature: Eight FMs by @glossing in: #1628
  • 2025-12-03T17:35:05+01:00 [perf] release unused AudioBufferSourceNode + releaseAudioNode by @jeromew in: #1805
  • 2025-12-01 strudel.cc deployed

november 2025

  • 2025-11-29T01:00:42+01:00 added export to getSuperdoughAudioController() so that its possible to route superdough audio through other webaudio applications. by @ndr0n in: #1796
  • 2025-11-28T23:26:20+01:00 add revv() for reversing whole patterns by @yaxu in: #1791
  • 2025-11-28T20:19:16+01:00 [perf] Disconnect lfos for phaser and filters by @glossing in: #1787
  • 2025-11-27T23:08:52+01:00 fix: return silence when no pattern is returned by @froos in: #1795
  • 2025-11-27T22:47:03+01:00 fix(tool/dbpatch): add missing package name by @peterpf in: #1765
  • 2025-11-27T22:38:05+01:00 add CHANGELOG.md + basic script to generate by @froos in: #1794
  • 2025-11-27T22:03:53+01:00 [perf] in noise, let noiseMix do the disconnect when it exists by @jeromew in: #1783
  • 2025-11-27T22:01:01+01:00 Bug Fix: Retries for sounds tab by @glossing in: #1754
  • 2025-11-27T20:36:46+01:00 [hydra] return the hydra object when await initHydra(..) is called by @jeromew in: #1784
  • 2025-11-27T20:36:14+01:00 Use errorLogger for query and tonal errors by @glossing in: #1782
  • 2025-11-27T20:27:10+01:00 [perf] level 5 connect-leak on vowel by @jeromew in: #1779
  • 2025-11-26T08:23:38+01:00 feat: add prebake script import button for loading .strudel files by @daslyfe in: #1774
  • 2025-11-26T07:39:28+01:00 Fix Sampler port trampling by @Dayglo in: #1717
  • 2025-11-25T20:59:09+01:00 Feat: Hook up octave and fix example by @glossing in: #1773
  • 2025-11-25T20:48:09+01:00 [perf] fix connect-leak in tremolo param by @jeromew in: #1780
  • 2025-11-24T17:51:20+01:00 filter modulation improvements! by @daslyfe in: #1769
  • 2025-11-24T01:20:53+01:00 Add o as a synonym for orbit by @daslyfe in: #1766
  • 2025-11-23T22:23:26+01:00 [perf] fix connect-leak in fm modulation by @jeromew in: #1758
  • 2025-11-23T09:47:24+01:00 Fix interoperability issue between all and await initHydra() by @jeromew in: #1663
  • 2025-11-23T04:23:06+01:00 Bug fix: Swap l/r gains with temp variable by @glossing in: #1768
  • 2025-11-23T00:52:28+01:00 FIX: prevent LFO filter modulation from popping from negative values by @daslyfe in: #1767
  • 2025-11-23T00:03:32+01:00 prefix "S" for solo by @froos in: #1481
  • 2025-11-21T01:56:11+01:00 Bug Fix: Use frac due to negative frequencies from FM by @glossing in: #1759
  • 2025-11-20T19:48:16+01:00 [perf] fix connect-leak added by #1742 when noise() is not used by @jeromew in: #1757
  • 2025-11-20T14:51:00+01:00 [perf] fix connect-leak in delay effect by @jeromew in: #1755
  • 2025-11-20T14:49:41+01:00 [perf] fix connect leak when .noise() is in the mix by @jeromew in: #1742
  • 2025-11-18T23:52:45+01:00 wchooseCycles has now notes in an example by @scrappy_fiddler in: #1748
  • 2025-11-17T05:31:54+01:00 Feature: Partials by @glossing in: #1659
  • 2025-11-16T22:06:14+01:00 README: update superdough documentation by @TristanMlct in: #1741
  • 2025-11-16T22:00:43+01:00 Feature: Envelope worklet by @glossing in: #1524
  • 2025-11-16T21:08:54+01:00 Worklet optimizations by @glossing in: #1730
  • 2025-11-15T14:59:30+01:00 [perf] disconnect Offline AudioNode connections in generateReverb by @jeromew in: #1740
  • 2025-11-15T14:57:47+01:00 [perf] disconnect send effect AudioNode when room is used by @jeromew in: #1736
  • 2025-11-12T21:22:34+01:00 [supradough] fix: unstable filter by @froos in: #1593
  • 2025-11-12T21:12:07+01:00 Fix link syntax in project-start by @Kissaki in: #1724
  • 2025-11-12T21:06:13+01:00 Fix web README sample code by @Kissaki in: #1725
  • 2025-11-12T20:59:39+01:00 Fix typo: 'studel' -> 'strudel' by @drhayes in: #1726
  • 2025-11-12T15:23:41+01:00 fix for node 24 support in tests - #1718 by @ausav in: #1719
  • 2025-11-11T09:00:49+01:00 soundAlias example fix by @PepsiiMan in: #1720
  • 2025-11-10T08:18:36+01:00 fix: Make Supradough package build by @munshkr in: #1711
  • 2025-11-10T08:18:00+01:00 added docs for spaces in scale names by @ondras in: #1715
  • 2025-11-10T02:44:01+01:00 Feature: LFOs for Filters by @glossing in: #1636
  • 2025-11-05T17:07:00+01:00 improvement: sync midi messages to audio context clock by @daslyfe in: #1708
  • 2025-11-04T19:36:14+01:00 Add stick button mappings to gamepad implementation and improve docs by @kaosuryoko in: #1696
  • 2025-11-04T19:29:35+01:00 Refactor sound stopping and triggering logic in SoundsTab component by @IJOL in: #1688
  • 2025-11-04T19:13:21+01:00 Add setting to toggle pattern auto-start on pattern change by @moumar in: #1690
  • 2025-11-04T18:58:50+01:00 Voicings JSDoc by @sharkeys_lunchbox in: #1686
  • 2025-11-01T07:50:40+01:00 FIX: Loading local samples uses too much memory by @daslyfe in: #1706

october 2025

  • 2025-10-28T22:58:24+01:00 Bug Fix: Handle scale-for-notes when n also supplied by @glossing in: #1625
  • 2025-10-28T22:51:16+01:00 Repurpose vim shortcuts for usability by @dtricks in: #1624
  • 2025-10-28T22:35:21+01:00 Add support for euclidian in mondo with bd&3:8 by @TristanCacqueray in: #1630
  • 2025-10-27T10:42:07+01:00 Use bunny cdn for all samples and json files by @yaxu in: #1701
  • 2025-10-27 @strudel/core@1.2.5
  • 2025-10-26T22:52:54+01:00 degithub - switch some samples to bunnycdn by @yaxu in: #1697
  • 2025-10-26T17:09:22+01:00 Fix ZZFX example by @moumar in: #1685
  • 2025-10-23T15:56:04+02:00 Make osc port and host configurable. Changes dependencies. by @yaxu in: #1682
  • 2025-10-23T03:47:31+02:00 Adds back shape to superdough by @glossing in: #1672
  • 2025-10-22T22:15:19+02:00 Fix sampler.mjs githubPath by @jeromew in: #1684
  • 2025-10-22T16:20:50+02:00 Fix onPaint for widgets by @yaxu in: #1658
  • 2025-10-22T15:19:12+02:00 Fix a bug introduced by #4e17cfbdd6 by @milliganf in: #1679
  • 2025-10-20T22:37:15+02:00 feature/autocomplete-sound-names by @drdozer in: #1564
  • 2025-10-20T21:58:12+02:00 add replicate + use it for ! in mondo by @JoStro in: #1436
  • 2025-10-18T04:29:20+02:00 Bug Fix: Wavetable: phase wrapping at 1 and detune by @glossing in: #1620
  • 2025-10-16T20:26:28+02:00 github samples: default to "samples" if repository is not specified by @prezmop in: #1644
  • 2025-10-16T17:33:39+02:00 Docs: add example of custom chained function by @dariusk in: #1642
  • 2025-10-14T12:39:48+02:00 textbox by @yaxu in: #1650
  • 2025-10-13T07:26:51+02:00 Feature: Distortion Modes by @glossing in: #1561
  • 2025-10-13T07:05:57+02:00 Feature: Wavetable FM by @glossing in: #1623
  • 2025-10-12T20:43:42+02:00 fix: repair REPL sample sources and URL concat (#1640) by @erikfox in: #1646
  • 2025-10-10T11:25:02+02:00 Add control-metadata by @yaxu in: #1634
  • 2025-10-07T22:59:39+02:00 Fix MQTT: change the trigger handler to match new hap by @jurrchen in: #1629
  • 2025-10-05T21:42:19+02:00 Fix case sensitivity for synonym search by @vvolhejn in: #1618
  • 2025-10-01T08:56:35+02:00 Optimize wavetable synth by @glossing in: #1613
  • 2025-10-01T02:02:33+02:00 fix: pattern switching by @daslyfe in: #1616

september 2025

  • 2025-09-29T02:10:54+02:00 fix wavetable JSON by @daslyfe in: #1611
  • 2025-09-28T21:28:16+02:00 rename wavetable controls to match existing naming conventions by @daslyfe in: #1610
  • 2025-09-27T23:28:13+02:00 Feature: Wavetable synth improvements by @glossing in: #1607
  • 2025-09-27T21:43:10+02:00 wavetable improvements by @daslyfe in: #1608
  • 2025-09-26T08:48:46+02:00 create orbit based DJ filter by @daslyfe in: #1603
  • 2025-09-26T08:15:49+02:00 Feature: Wavetable synth by @glossing in: #1525
  • 2025-09-23T13:28:20+02:00 fix: time signal by @daslyfe in: #1583
  • 2025-09-21T16:16:06+02:00 mondo: fix all + setcpm + setcps by @froos in: #1600
  • 2025-09-19T21:59:43+02:00 fix: osc error message by @froos in: #1597
  • 2025-09-18T21:09:56+02:00 osc: --debug flag to see incoming messages by @froos in: #1595
  • 2025-09-17T14:12:10+02:00 simplify osc usage by @froos in: #1588
  • 2025-09-16T16:59:58+02:00 dev: logger errors to console in dev mode by @daslyfe in: #1585
  • 2025-09-16T03:19:37+02:00 Bug Fix / Feature: Updates to duck to avoid clicks and allow configuration over release/attack by @glossing in: #1514
  • 2025-09-15T23:36:31+02:00 Feat: Enhance scale function to quantize notes to a named scale by @glossing in: #1492
  • 2025-09-15T22:52:14+02:00 add tic80 font by @froos in: #1579
  • 2025-09-15T00:00:19+02:00 supradough: fix delay + add some jsdoc types by @froos in: #1578
  • 2025-09-14T12:42:58+02:00 added plyWith/plyWithClassic functions by @Dsm0 in: #1571
  • 2025-09-14T10:39:12+02:00 feat: sound alias by @Options in: #1494
  • 2025-09-14T01:20:15+02:00 Bug Fix: Allow penv values to be falsy by @glossing in: #1559
  • 2025-09-14T01:10:48+02:00 Update website/src/pages/workshop/first-sounds.mdx by @fesmith in: #1566
  • 2025-09-14T01:07:47+02:00 fix: autocomplete-styles + html rendering by @froos in: #1570
  • 2025-09-14T00:49:17+02:00 Feature: Synonyms in autocomplete and reference by @glossing in: #1535
  • 2025-09-13T20:01:48+02:00 Docs: add xen package examples by @dudymas in: #1446
  • 2025-09-13T19:51:10+02:00 Update website/src/pages/learn/code.mdx by @anecondev in: #1391
  • 2025-09-11T22:52:30+02:00 supradough poc by @froos in: #1362
  • 2025-09-11T17:29:35+02:00 fix: exclude mondough dependencies by @froos in: #1563
  • 2025-09-11T00:27:21+02:00 add basicSetup for keybindings by @Dsm0 in: #1462
  • 2025-09-10T17:25:26+02:00 feat: add delete user samples button for convenience by @daslyfe in: #1556
  • 2025-09-08T08:54:01+02:00 Fix formatting of REPL footnote by @ddbeck in: #1547
  • 2025-09-08T05:38:08+02:00 fix: OSC by @daslyfe in: #1557
  • 2025-09-07T22:47:13+02:00 Add examples for ? and | operators to documentation by james-@collapse in: #1532
  • 2025-09-07T21:48:19+02:00 Signal flow documentation by @glossing in: #1504
  • 2025-09-07T21:27:29+02:00 Allow flattening of dirs with sample server by @glossing in: #1529
  • 2025-09-07T21:05:24+02:00 fix: prevent orbit clicking by defining max number of channels in an orbit by @daslyfe in: #1552
  • 2025-09-02T08:42:42+02:00 Padding for tooltips, preserving linebreaks in descriptions, not closing autocompletes on click by @glossing in: #1521
  • 2025-09-01T17:50:11+02:00 Update "restore defaults" to not delete patterns by @glossing in: #1519

august 2025

  • 2025-08-31T19:10:04+02:00 feat: add the ability to control the speed and start time of the reverb IR by @daslyfe in: #1501
  • 2025-08-25T02:31:22+02:00 Bug Fix: Duck on Mobile / Safari by @glossing in: #1503
  • 2025-08-23T18:39:53+02:00 fix benchmarks by @yaxu in: #1517
  • 2025-08-21T20:57:31+02:00 add --json flag to @strudel/sampler to generate a strudel.json by @froos in: #1513
  • 2025-08-21T10:04:28+02:00 remove hs2js postinstall by @froos in: #1510
  • 2025-08-20T15:15:34+02:00 doc: scrub, duckorbit, duckattack, duckdepth + fix: arp, arpWidth, hush by @fyynn in: #1502
  • 2025-08-20T12:31:37+02:00 fix: repl autocomplete not rendering correctly by @robase in: #1480
  • 2025-08-20T12:10:02+02:00 BUG FIX: make 'midin' initialization work with multiple controllers by @cbabraham in: #1469
  • 2025-08-17T23:18:46+02:00 euclidish by @yaxu in: #1482
  • 2025-08-17T06:37:23+02:00 feat: Create a duck (sidechain) orbit effect by @daslyfe in: #1470
  • 2025-08-17T04:40:15+02:00 Bug Fix: Restore log functionality after onTrigger arg removal by @glossing in: #1491
  • 2025-08-17T04:33:39+02:00 Bug Fix: Handle zero appearing first in FM's ADSR by @glossing in: #1496
  • 2025-08-17T04:27:19+02:00 Bug Fix: FM (and vibrato) for Supersaws by @glossing in: #1495
  • 2025-08-04T07:51:31+02:00 Fix incorrect stack Mini Notation by @samyk in: #1484
  • 2025-08-03T18:57:45+02:00 fix: regression caused by incorrectly exported alias for transpose and scaleTranspose by @daslyfe in: #1489
  • 2025-08-03T18:34:13+02:00 Add strans and scaleTrans as synonyms of scaleTranspose by @TodePond in: #1488
  • 2025-08-02T18:18:28+02:00 Add trans alias for transpose by @TodePond in: #1487
  • 2025-08-02T03:27:26+02:00 feat: Create Accurate 909 bass drum synthesizer by @daslyfe in: #1478
  • 2025-08-02T03:23:49+02:00 feat: Add fmwave control and ability to fm with noise by @daslyfe in: #1472

july 2025

  • 2025-07-30T00:22:41+02:00 hotfix: uzu kit JSON should be in the repo to avoid offline loading errors by @daslyfe in: #1485
  • 2025-07-24T05:28:23+02:00 feat: make uzu-drumkit the default drumkit by @daslyfe in: #1422
  • 2025-07-21T07:16:19+02:00 FIX: PWM modulation by @daslyfe in: #1467
  • 2025-07-19T17:16:22+02:00 Tremolo modulation by @Ghost in: #1095
  • 2025-07-15T09:39:33+02:00 fix: can now use def in mondough by @froos in: #1461
  • 2025-07-11T11:10:24+02:00 fixed keybinding presedence issue by @Dsm0 in: #1456
  • 2025-07-11T11:09:05+02:00 added multicursor support on ctrl/cmd + click by @Dsm0 in: #1457
  • 2025-07-09T09:39:46+02:00 added tab-indent setting by @Dsm0 in: #1454
  • 2025-07-08T15:48:41+02:00 ontrigger-refactoring by @froos in: #1442
  • 2025-07-07T23:14:24+02:00 fix: remove first gm_synth_bass_1, as it doesn't work in safari by @froos in: #1452
  • 2025-07-07T00:06:16+02:00 fix: minor doc changes by @Aurel300 in: #1435
  • 2025-07-05T12:53:45+02:00 Fix randrun and deps including shuffle. Fixes #1441 by @yaxu in: #1447
  • 2025-07-05T12:15:52+02:00 add setDefault + resetDefaults to superdough by @froos in: #1433
  • 2025-07-04T22:36:19+02:00 disable fm for supersaw by @froos in: #1443

june 2025

  • 2025-06-30T13:28:10+02:00 corrected minor spelling mistake (#1425) by tj-@mueller in: #1434
  • 2025-06-30T05:26:11+02:00 Add browser cache explanation in samples.mdx by @Ghost in: #1369
  • 2025-06-30T05:18:42+02:00 add-release-notes by @froos in: #1432
  • 2025-06-28T20:30:49+02:00 feat: delaytime in cycles by @Ghost in: #1341
  • 2025-06-28T13:44:49+02:00 Case insensitive search in the reference tab by @kdiab in: #1420
  • 2025-06-28T00:04:13+02:00 add unjoin, into and chunkinto by @yaxu in: #1418
  • 2025-06-26T15:29:46+02:00 mondo notation by @froos in: #1311
  • 2025-06-24T06:14:15+02:00 allow calling all multiple times by @froos in: #1417
  • 2025-06-24T05:53:22+02:00 tonal: allow scales without tonic (default to C) by @Ghost in: #1092
  • 2025-06-20T20:00:12+02:00 website intro: fix whitespace and code hosting name by @trofi in: #1400
  • 2025-06-19T10:15:07+02:00 fix stepcat #1396 by @yaxu in: #1398
  • 2025-06-19T09:52:38+02:00 deprecate cpm + refactor docs to use setcpm by @froos in: #1397
  • 2025-06-19T02:49:09+02:00 feat: 3 new codemirror themes by @daslyfe in: #1394
  • 2025-06-14T16:23:00+02:00 link back to tech manual in wiki by @yaxu in: #1382
  • 2025-06-14T14:55:37+02:00 degithub-links by @froos in: #1380
  • 2025-06-13T15:24:42+02:00 fix euclidLegatoRot by @bwagner in: #1378
  • 2025-06-13T10:07:51+02:00 remove-ms by @yaxu in: #1377
  • 2025-06-12T10:25:48+02:00 Share fat URL by @Ghost in: #1375
  • 2025-06-05T20:39:16+02:00 feat: onTriggerTime for interfacing with random APIs and doing illegal things on event time by @Ghost in: #1364
  • 2025-06-05T01:08:18+02:00 feat: berlin noise by @Ghost in: #1363

may 2025

  • 2025-05-29T14:36:43+02:00 Fix bytebeat sample offset by @Ghost in: #1359
  • 2025-05-29T12:14:18+02:00 preserve stepcount in chunks by @yaxu in: #1358
  • 2025-05-29T02:34:30+02:00 Byte Beat improvements -> 2 by @Ghost in: #1357
  • 2025-05-28T16:40:32+02:00 Bytebeat improvements by @Ghost in: #1356
  • 2025-05-27T17:42:39+02:00 feat: Byte Beats! by @Ghost in: #1354
  • 2025-05-18T21:43:05+02:00 fix: typo on docs causing problems with autocompletion. by @Ghost in: #1350
  • 2025-05-15T01:12:07+02:00 feat: Create pulsewidth (pw) and pulsewidth lfo parameters by @Ghost in: #1343
  • 2025-05-14T18:25:17+02:00 feat: Multi Channel Orbits by @Ghost in: #1344
  • 2025-05-13T17:45:29+02:00 Fix typo by @Ghost in: #1346
  • 2025-05-02T00:01:27+02:00 Fix web + repl package builds by @froos in: #1339
  • 2025-05-01T23:50:57+02:00 fix: superdough worklets bundling by @froos in: #1338

april 2025

  • 2025-04-27T22:25:54+02:00 FIX: sound import order by @Ghost in: #1333
  • 2025-04-27T18:39:49+02:00 update docs to reflect import sounds tab change by @hpunq in: #1332
  • 2025-04-27T18:38:26+02:00 feat: Improve gain curve by @Ghost in: #1318
  • 2025-04-27T07:54:49+02:00 Add Icon to import sample button by @Ghost in: #1331
  • 2025-04-27T07:53:41+02:00 Add new "import-sounds" tab with explanation on folder import by @hpunq in: #1329
  • 2025-04-22T00:04:38+02:00 feat: new themes + theme improvements by @Ghost in: #1326
  • 2025-04-20T18:24:15+02:00 feat: Create scrub function for scrubbing an audio file by @Ghost in: #1321
  • 2025-04-18T07:17:39+02:00 fix: disable astro toolbar by default by @Ghost in: #1324
  • 2025-04-18T07:17:38+02:00 fix: udels header by @Ghost in: #1325
  • 2025-04-11T09:18:58+02:00 Send delta in OSC message in seconds, to match tidal/superdirt by @yaxu in: #1323
  • 2025-04-08T06:08:57+02:00 FIX: Multichannel Audio by @Ghost in: #1322
  • 2025-04-08T04:18:03+02:00 feat: add max polyphony feature for superdough by @Ghost in: #1317
  • 2025-04-05T21:12:05+02:00 enhancement: make error messages easier to read by @Ghost in: #1315
  • 2025-04-04T06:26:57+02:00 fix: replace empty spaces in registered sound keys by @Ghost in: #1319

march 2025

  • 2025-03-26T17:01:05+01:00 small feat: Add alias for segment and ribbon by @Ghost in: #1314
  • 2025-03-26T14:54:18+01:00 Fix typo pattnr by @Ghost in: #1316
  • 2025-03-23T20:05:31+01:00 bugfix: Allow single param to be used in the as function by @Ghost in: #1312
  • 2025-03-20T23:35:18+01:00 Add MIDI Program Change, SysEx, NRPN, PitchBend and AfterTouch Output by @nkymut in: #1244
  • 2025-03-19T17:32:30+01:00 make soundfont base url configurable by @Ghost in: #1040
  • 2025-03-18T20:07:08+01:00 Add num samples from 0 up to 20 by @yaxu in: #1310
  • 2025-03-17T10:38:54+01:00 add num samples (edited numbers) by @yaxu in: #1309
  • 2025-03-08T22:17:47+01:00 @strudel/sampler improvements by @froos in: #1288
  • 2025-03-08T21:56:50+01:00 Add Gamepad module by @nkymut in: #1223
  • 2025-03-04T19:17:37+01:00 change behaviour of polymeter, and remove polymeterSteps by @yaxu in: #1302
  • 2025-03-04T03:36:57+01:00 feat: Create Pulse Oscillator with variable PWM by @Ghost in: #1304
  • 2025-03-02T17:08:31+01:00 feat: Theme improvements by @Ghost in: #1295
  • 2025-03-02T11:58:46+01:00 bugfix zoom stepcount by @yaxu in: #1301

february 2025

  • 2025-02-28T16:01:20+01:00 Fix test error #1297 by @nkymut in: #1298
  • 2025-02-28T02:53:42+01:00 Hotfix: prevent undefined pattern code from crashing strudel on load by @Ghost in: #1297
  • 2025-02-27T08:24:58+01:00 Fix misplaced ending sentence by @Ghost in: #1296
  • 2025-02-23T10:54:13+01:00 Signpost licenses for source code and samples a bit more, ref #1277 by @yaxu in: #1289
  • 2025-02-23T10:52:27+01:00 Allow wchooseCycles probabilities to be patterned by @yaxu in: #1292
  • 2025-02-22T02:18:59+01:00 Create Pattern Page Pagination by @Ghost in: #1287
  • 2025-02-21T22:38:10+01:00 showcase tweaks by @yaxu in: #1291
  • 2025-02-11T16:34:24+01:00 Fixes inverted triangle wave by renaming it to itri, making non-inverted tri by @yaxu in: #1283
  • 2025-02-11T10:02:34+01:00 Fix squeezejoin and functions using it, including bite by @yaxu in: #1286
  • 2025-02-09T16:18:28+01:00 Rename repeat back to extend by @yaxu in: #1285
  • 2025-02-07T18:11:52+01:00 mqtt bugfix - connection check by @yaxu in: #1282
  • 2025-02-07T17:38:29+01:00 Bugfix: update mqtt connections dictionary by @yaxu in: #1281
  • 2025-02-07T11:39:54+01:00 make mqtt topic patternable by @yaxu in: #1280
  • 2025-02-07T11:07:32+01:00 midimaps by @froos in: #1274
  • 2025-02-06T15:59:03+01:00 MQTT - support adding hap duration and cps metadata to JSON messages by @yaxu in: #1279
  • 2025-02-05T16:10:54+01:00 [breaking change] Sample signals from query onset, rather than midpoint by @yaxu in: #1278
  • 2025-02-03T00:55:36+01:00 Stepwise documentation tweaks, with mridangam samples by @yaxu in: #1275
  • 2025-02-02T21:26:44+01:00 Polish, rename, and document stepwise functions by @yaxu in: #1262
  • 2025-02-01T22:57:00+01:00 Fix sf2 timing by @froos in: #1272
  • 2025-02-01T22:32:59+01:00 Add bank aliasing and case insensitivity by @TodePond in: #1245

january 2025

  • 2025-01-31T09:39:54+01:00 Add Device Motion module by @nkymut in: #1217
  • 2025-01-29T15:40:01+01:00 add "as" function + getControlName by @froos in: #1247
  • 2025-01-29T15:30:04+01:00 Theme glowup by @froos in: #1268
  • 2025-01-29T15:22:18+01:00 patchday by @froos in: #1264
  • 2025-01-28T00:00:03+01:00 Revert "Fix sometimes" by @yaxu in: #1267
  • 2025-01-24T15:32:48+01:00 add reference package by @froos in: #1252
  • 2025-01-24T15:16:55+01:00 support all(pianoroll) and all(pianoroll({labels: true})) by @yaxu in: #1234
  • 2025-01-24T12:13:49+01:00 MQTT - if password isn't provided, prompt for one by @yaxu in: #1249
  • 2025-01-21T06:24:03+01:00 fix docs for beat function by @Ghost in: #1248
  • 2025-01-18T23:27:51+01:00 understand voicings page by @froos in: #1230
  • 2025-01-17T19:27:00+01:00 Add binary and binaryN by @Ghost in: #1226
  • 2025-01-16T12:18:33+01:00 Fix sometimes by @yaxu in: #1243
  • 2025-01-16T05:55:46+01:00 "beat" function for "step sequencer" style rhythm notation by @Ghost in: #1237
  • 2025-01-14T14:39:15+01:00 Add stepBind, and some toplevel aliases for binds and withValue by @yaxu in: #1241
  • 2025-01-14T06:11:10+01:00 Add onKey function for custom key commands for patterns by @Ghost in: #1235
  • 2025-01-12T11:32:24+01:00 Update documentation for param value modification by @Ghost in: #1238

december 2024

  • 2024-12-29T13:16:08+01:00 Documentation for all/each, and bugfix for each by @yaxu in: #1233
  • 2024-12-29T11:29:52+01:00 Make all() post-stack again, and add each() for pre-stack by @yaxu in: #1229
  • 2024-12-27T22:16:54+01:00 suggested changes to voicings.mdx by @Ghost in: #1231
  • 2024-12-23T11:53:11+01:00 add basic spectrum function by @froos in: #1213
  • 2024-12-22T21:04:45+01:00 Fix regression for d1, p1, p(n) by @yaxu in: #1227

november 2024

  • 2024-11-30T10:09:36+01:00 Make cps patternable by @eefano in: #1001
  • 2024-11-30T10:07:56+01:00 MQTT support by @yaxu in: #1224
  • 2024-11-30T09:46:14+01:00 Apply all function to individual patterns rather than final stack by @yaxu in: #1209
  • 2024-11-20T16:32:51+01:00 REPL: solo and sync configuration by @Ghost in: #1214

october 2024

  • 2024-10-30T21:29:43+01:00 Add s_zip for 'cat'-ing patterns together step-by-step, bugfix steps by @yaxu in: #1208
  • 2024-10-30T21:28:32+01:00 Preserve tactus for 'degrade' and friends, and tidy up 'pick' and friends by @yaxu in: #1205
  • 2024-10-30T17:11:53+01:00 chore: Edit run locally instructions in README.md by @Ghost in: #1206
  • 2024-10-23T23:08:14+02:00 colorize console + tweak header by @froos in: #1203
  • 2024-10-22T22:55:00+02:00 markcss by @froos in: #1202
  • 2024-10-21T22:56:37+02:00 add 2 new ui settings by @froos in: #1200
  • 2024-10-21T20:22:52+02:00 Make panel hover behavior optional by @Ghost in: #1199
  • 2024-10-19T04:28:36+02:00 Menu Panel Improvements! by @Ghost in: #1193
  • 2024-10-19T01:10:06+02:00 update lockfile + minor versions by @froos in: #1198

september 2024

  • 2024-09-27T00:17:00+02:00 remove redundant example for cat, update snapshot by @Ghost in: #1189
  • 2024-09-25T13:18:19+02:00 Adding search bar (soundtab.jsx) by @Ghost in: #1185
  • 2024-09-23T17:18:34+02:00 Screenreader improvements by @yaxu in: #1158
  • 2024-09-20T22:26:41+02:00 Fix serial timing by @yaxu in: #1188
  • 2024-09-20T00:26:30+02:00 Add bite function by @yaxu in: #1187
  • 2024-09-14T13:30:53+02:00 better spacing in zen mode by @froos in: #1147
  • 2024-09-14T10:50:24+02:00 add filter + filterWhen + within by @froos in: #1039
  • 2024-09-14T10:49:21+02:00 refactor sampler by @froos in: #1101
  • 2024-09-14T10:43:17+02:00 handle midin device not found error by @froos in: #1146
  • 2024-09-13T21:59:23+02:00 Add a search bar to the REPL Reference tab by @Ghost in: #1165
  • 2024-09-13T21:58:47+02:00 Correct spelling mistakes by @Ghost in: #1183
  • 2024-09-07T23:41:29+02:00 Add seqPLoop from Tidal by @yaxu in: #1182
  • 2024-09-05T05:52:50+02:00 make phaser control match superdirt by @Ghost in: #1180
  • 2024-09-05T05:33:41+02:00 Revert "Make phaser control consistent with superdirt" by @Ghost in: #1179
  • 2024-09-05T05:29:12+02:00 Make phaser control consistent with superdirt by @Ghost in: #1178
  • 2024-09-03T04:37:15+02:00 fix sample speed when using splice and fit with superdirt by @Ghost in: #1172
  • 2024-09-01T16:02:24+02:00 Create audio target selector for OSC/Superdirt by @Ghost in: #1160
  • 2024-09-01T15:03:47+02:00 Fixes fit so it works after a chop or slice by @yaxu in: #1171

august 2024

  • 2024-08-30T14:24:08+02:00 polyJoin by @yaxu in: #1168
  • 2024-08-23T17:05:10+02:00 Add scramble and shuffle by @yaxu in: #1167
  • 2024-08-18T18:22:20+02:00 Improve + simplify neocyclist timing by @Ghost in: #1164
  • 2024-08-15T05:18:33+02:00 containerize/seperate out boolean checks for repl types/Repl logic into bespoke components. by @Ghost in: #1163
  • 2024-08-12T18:57:21+02:00 [CORS HOTFIX] by @Ghost in: #1162
  • 2024-08-09T05:11:28+02:00 Fix OSC clock jitter by @Ghost in: #1157

july 2024

  • 2024-07-27T11:02:38+02:00 Fix loopAt tactus by @yaxu in: #1145
  • 2024-07-26T04:37:34+02:00 "stretch" function (phase vocoder) by @Ghost in: #1130
  • 2024-07-26T04:37:17+02:00 Udels (MultiFrame Strudel) Revisited by @Ghost in: #1132
  • 2024-07-24T11:40:28+02:00 Fix tactus marking in mininotation by @yaxu in: #1144

june 2024

  • 2024-06-25T18:13:28+02:00 export comment commands by @froos in: #1136
  • 2024-06-24T18:19:22+02:00 Chop chop by @yaxu in: #1078
  • 2024-06-18T23:58:08+02:00 Fix bug in Fraction.lcm by @yaxu in: #1133
  • 2024-06-18T05:32:12+02:00 Fix clock worker dependency path in module builds by @Ghost in: #1129
  • 2024-06-04T00:26:48+02:00 Labeled statements doc by @froos in: #1126
  • 2024-06-03T22:40:21+02:00 doc: visual functions + refactor onPaint by @froos in: #1125
  • 2024-06-02T18:36:29+02:00 Fix indexDB failing with large amount of files by @Ghost in: #1124

may 2024

  • 2024-05-31T12:17:34+02:00 Migrate tutorial fanchor by @froos in: #1122
  • 2024-05-31T10:46:47+02:00 [BUG FIX] Audio worklets sometimes dont load by @Ghost in: #1121
  • 2024-05-31T10:25:24+02:00 change fanchor to 0 by @Ghost in: #1107
  • 2024-05-30T14:39:30+02:00 fix: use full repl in web package by @froos in: #1119
  • 2024-05-30T09:36:32+02:00 can now access strudelMirror from repl by @froos in: #1117
  • 2024-05-29T13:06:34+02:00 Add the mousex and mousey signal by @Ghost in: #1112
  • 2024-05-29T13:02:00+02:00 Fixes drawPianoroll import in codemirror example by @Ghost in: #1116
  • 2024-05-28T22:43:46+02:00 clarify off in pattern-effects.mdx by @Ghost in: #1074
  • 2024-05-26T17:33:07+02:00 rollback phaser by @Ghost in: #1113
  • 2024-05-26T17:33:06+02:00 Fix audio worklets by @Ghost in: #1114
  • 2024-05-26T16:53:56+02:00 Calculate phaser modulation phase based on time by @Ghost in: #1110
  • 2024-05-23T15:06:01+02:00 Add analog-style ladder filter by @Ghost in: #1103
  • 2024-05-22T12:53:20+02:00 fix sampler on windows by @Ghost in: #1109
  • 2024-05-20T23:26:20+02:00 web package fixes by @froos in: #1044
  • 2024-05-20T22:41:28+02:00 Fix sampler windows by @froos in: #1108
  • 2024-05-19T12:07:26+02:00 hs2js package / tidal parser by @froos in: #870
  • 2024-05-18T10:49:08+02:00 fix little dub tune example by @Ghost in: #1104
  • 2024-05-17T14:43:58+02:00 Samples tab improvements by @Ghost in: #1102
  • 2024-05-13T10:10:34+02:00 osc: couple of fixes by @Ghost in: #1093
  • 2024-05-13T06:31:20+02:00 Use sessionStorage for viewingPatternData and activePattern by @Ghost in: #1091
  • 2024-05-12T18:23:09+02:00 repl: set document.title from @title by @Ghost in: #1090
  • 2024-05-07T14:29:22+02:00 fix: missing events due to premature worklet cleanup by @froos in: #1089
  • 2024-05-03T11:52:57+02:00 Benchmarks by @yaxu in: #1079
  • 2024-05-03T08:46:52+02:00 fix: csound + dough timing by @froos in: #1086
  • 2024-05-03T00:37:32+02:00 Improve performance of ! (replicate) by @yaxu in: #1084
  • 2024-05-02T23:40:22+02:00 fix: url parsing with extra params by @froos in: #1083

april 2024

  • 2024-04-29T12:36:11+02:00 Tactus calculation toggle and breaking change to tactus calculation in fast/slow/hurry by @yaxu in: #1081
  • 2024-04-28T20:56:21+02:00 fix docs on alignment.mdx by @Ghost in: #1076
  • 2024-04-28T20:49:18+02:00 add signals to recap in first-effects.mdx by @Ghost in: #1073
  • 2024-04-28T20:44:57+02:00 fix translation issue in first-effects.mdx by @Ghost in: #1072
  • 2024-04-28T20:44:29+02:00 fix failing format test by @Ghost in: #1077
  • 2024-04-27T22:50:17+02:00 add nesting to off example variation in pattern-effects.mdx by @Ghost in: #1075
  • 2024-04-27T22:48:58+02:00 add <...> to first-sounds.mdx recap by @Ghost in: #1070
  • 2024-04-27T22:48:07+02:00 fix first sounds typo by @Ghost in: #1069
  • 2024-04-27T22:47:44+02:00 fix cr typo on first-sounds.mdx by @Ghost in: #1068
  • 2024-04-26T15:12:30+02:00 More tactus tidying by @yaxu in: #1071
  • 2024-04-23T23:37:21+02:00 Fix stepjoin by @yaxu in: #1067
  • 2024-04-23T23:32:00+02:00 clarify license by @yaxu in: #1064
  • 2024-04-23T15:14:30+02:00 Tactus tweaks - fixes for maintaining tactus and highlight locations by @yaxu in: #1065
  • 2024-04-21T23:57:57+02:00 fix OSC timing for recent scheduler updates by @Ghost in: #1062
  • 2024-04-21T22:17:07+02:00 Stepwise functions from Tidal by @yaxu in: #1060
  • 2024-04-21T11:03:55+02:00 Fix wchooseCycles not picking the whole pattern by @Ghost in: #1061
  • 2024-04-19T00:05:52+02:00 add swing + swingBy by @froos in: #1038
  • 2024-04-19T00:05:08+02:00 anonymous patterns + muting by @froos in: #1059
  • 2024-04-12T12:34:27+02:00 improve tutorial + custom samples doc by @froos in: #1053
  • 2024-04-12T12:31:49+02:00 fix: do not reset cc input values on each eval by @froos in: #1054
  • 2024-04-08T17:25:27+02:00 transpose: support all combinations of numbers and strings for notes and intervals by @froos in: #1048
  • 2024-04-08T10:46:18+02:00 Wax, wane, taper and taperlist by @yaxu in: #1042
  • 2024-04-06T23:44:57+02:00 Midi Time hotfix for scheduler updates by @Ghost in: #1047
  • 2024-04-05T12:48:03+02:00 pitchwheel visual by @froos in: #1041
  • 2024-04-05T12:47:19+02:00 fix cyclist fizzling out by @froos in: #1046

march 2024

  • 2024-03-30T16:05:59+01:00 remove dangerous arithmetic feature by @froos in: #1030
  • 2024-03-30T16:05:27+01:00 Fix sampler paths by @froos in: #1034
  • 2024-03-30T14:43:08+01:00 local sample server cli by @froos in: #1033
  • 2024-03-29T17:14:28+01:00 add font file types to offline cache by @froos in: #1032
  • 2024-03-29T17:10:16+01:00 add closeBrackets setting by @froos in: #1031
  • 2024-03-29T14:55:06+01:00 Tactus tidy by @yaxu in: #1027
  • 2024-03-28T17:06:44+01:00 add setting for sync flag by @froos in: #1025
  • 2024-03-28T11:37:57+01:00 better theme integration for visuals + various fixes by @froos in: #1024
  • 2024-03-28T11:33:25+01:00 More fonts by @froos in: #1023
  • 2024-03-27T13:06:05+01:00 Feature: tactus marking by @yaxu in: #1021
  • 2024-03-25T06:02:02+01:00 hotfix for 1017 by @Ghost in: #1020
  • 2024-03-24T15:06:33+01:00 Document signals by @Ghost in: #1015
  • 2024-03-24T10:16:11+01:00 Repl sync fixes by @Ghost in: #1014
  • 2024-03-23T20:21:51+01:00 eliminate chromium clock jitter by @froos in: #1004
  • 2024-03-23T15:51:07+01:00 update undocumented script by @froos in: #1013
  • 2024-03-23T15:26:52+01:00 fix: await injectPatternMethods by @froos in: #1012
  • 2024-03-23T15:18:12+01:00 rename trig -> reset, trigzero -> restart by @froos in: #1010
  • 2024-03-23T12:30:03+01:00 Inline punchcard + spiral by @froos in: #1008
  • 2024-03-23T12:27:22+01:00 Color in hap value by @froos in: #1007
  • 2024-03-22T23:53:51+01:00 using strudel in your project guide + cleanup examples by @froos in: #1006
  • 2024-03-22T23:41:50+01:00 accidentals in scale degrees by @eefano in: #1000
  • 2024-03-21T22:53:55+01:00 supersaw oscillator by @Ghost in: #978
  • 2024-03-21T13:00:04+01:00 remove canvas, externalize samples, delete junk by @froos in: #1003
  • 2024-03-18T11:37:55+01:00 Fix pure mini highlight by @yaxu in: #994
  • 2024-03-18T07:12:14+01:00 inline viz / widgets package by @froos in: #989
  • 2024-03-17T04:07:00+01:00 Labeled statements by @froos in: #991
  • 2024-03-16T18:24:38+01:00 Beat-oriented functionality by @yaxu in: #976
  • 2024-03-15T01:47:35+01:00 REPL sync between windows by @Ghost in: #900
  • 2024-03-14T00:20:07+01:00 Update synths.mdx by @Ghost in: #984
  • 2024-03-13T00:36:22+01:00 fix: share now shares what's visible instead of active by @froos in: #985
  • 2024-03-10T01:18:57+01:00 use ireal as default voicing dict by @froos in: #967
  • 2024-03-10T00:50:23+01:00 little fix for withVal by @eefano in: #980
  • 2024-03-10T00:46:51+01:00 Velocity in value by @froos in: #974
  • 2024-03-10T00:42:50+01:00 fix: clear hydra on reset by @froos in: #983
  • 2024-03-10T00:38:43+01:00 move canvas related helpers from core to new draw package by @froos in: #971
  • 2024-03-08T05:38:07+01:00 replace shape with distort in learn doc by @Ghost in: #982
  • 2024-03-06T12:14:49+01:00 alias - for ~ by @yaxu in: #981
  • 2024-03-04T16:04:23+01:00 Worklet Improvents / fixes by @Ghost in: #963
  • 2024-03-01T17:30:19+01:00 Nested controls by @froos in: #973

february 2024

  • 2024-02-29T15:33:12+01:00 feat: can now invert euclid pulses with negative numbers by @froos in: #959
  • 2024-02-29T15:31:23+01:00 pickOut(), pickRestart(), pickReset() by @eefano in: #950
  • 2024-02-29T15:12:45+01:00 remove legacy legato + duration implementations by @froos in: #965
  • 2024-02-29T08:47:53+01:00 fix for transpose(): preserve hap value object structure by @eefano in: #966
  • 2024-02-29T08:32:00+01:00 add debounce to logger by @froos in: #968
  • 2024-02-28T18:43:52+01:00 controls refactoring: simplify exports by @froos in: #962
  • 2024-02-25T19:17:00+01:00 fix: reset global fx on pattern change by @froos in: #960
  • 2024-02-25T14:15:30+01:00 fix midi issue on firefox and added quote error by @Ghost in: #936
  • 2024-02-25T13:19:47+01:00 'Enable Bracket Matching' option in Codemirror by @eefano in: #956
  • 2024-02-23T14:37:46+01:00 fix script importable packages (web + repl) by @froos in: #957
  • 2024-02-21T16:17:37+01:00 account for cps in midi time duration by @Ghost in: #954
  • 2024-02-21T10:27:12+01:00 Auto await samples by @froos in: #955
  • 2024-02-08T13:16:15+01:00 remove cjs builds by @froos in: #945
  • 2024-02-04T23:15:37+01:00 Minor documentation error: Update first-sounds.mdx by @Ghost in: #941

january 2024

  • 2024-01-24T16:48:57+01:00 fix: pianoroll sorting by @froos in: #938
  • 2024-01-23T00:04:03+01:00 V1 release notes by @froos in: #935
  • 2024-01-22T20:20:53+01:00 2 years blog post by @froos in: #929
  • 2024-01-22T20:02:34+01:00 make 0.5hz cps the default by @yaxu in: #931
  • 2024-01-22T00:52:01+01:00 Fix pattern tab not showing patterns without created date by @Ghost in: #934
  • 2024-01-21T20:46:28+01:00 Add useful pattern selection behavior for performing. by @Ghost in: #897
  • 2024-01-21T01:30:28+01:00 Refactor cps functions by @froos in: #933
  • 2024-01-20T23:47:31+01:00 Make splice cps-aware by @yaxu in: #932
  • 2024-01-19T18:50:57+01:00 community bakery by @froos in: #923
  • 2024-01-19T18:49:54+01:00 add pickF and pickmodF by @Ghost in: #924
  • 2024-01-19T15:10:48+01:00 Mini-notation additions towards tidal compatibility by @yaxu in: #926
  • 2024-01-18T23:34:11+01:00 Blog improvements by @froos in: #919
  • 2024-01-18T18:08:29+01:00 pick, pickmod, inhabit, inhabitmod by @yaxu in: #921
  • 2024-01-18T18:04:27+01:00 Revert "pick now accepts lookup tables, with alternate cycle squeezing behaviour as new inhabit function" by @yaxu in: #920
  • 2024-01-18T17:45:39+01:00 pick now accepts lookup tables, with alternate cycle squeezing behaviour as new inhabit function by @yaxu in: #918
  • 2024-01-18T10:30:08+01:00 rename @strudel.cycles/* packages to @strudel/* by @froos in: #917
  • 2024-01-18T06:54:33+01:00 pitch envelopes by @froos in: #913
  • 2024-01-18T05:09:38+01:00 Fix: swatch/[name].png.js static path by @Ghost in: #916
  • 2024-01-16T08:22:28+01:00 Add more vowel qualities for the vowels function by @Ghost in: #907
  • 2024-01-14T23:56:36+01:00 adds a blog by @froos in: #911
  • 2024-01-14T23:52:41+01:00 Remove hideHeader for better mobile UI and consistency by @Ghost in: #894
  • 2024-01-14T22:43:06+01:00 Further Envelope improvements by @Ghost in: #868
  • 2024-01-14T00:48:04+01:00 public sharing by @froos in: #910
  • 2024-01-12T18:31:41+01:00 fix some build warnings by @froos in: #902
  • 2024-01-12T18:01:55+01:00 prevent vite from complaining about additional exports in jsx files by @Ghost in: #891
  • 2024-01-12T17:05:47+01:00 Update Vite version so hot reload works properly with newest pnpm version by @Ghost in: #892
  • 2024-01-12T15:09:41+01:00 support , in < > by @froos in: #886
  • 2024-01-10T13:55:39+01:00 fix: autocomplete / tooltip code example bug by @froos in: #898
  • 2024-01-06T15:23:55+01:00 fix: invisible selection on vim + emacs mode by @froos in: #889
  • 2024-01-05T22:29:20+01:00 scales can now be anchored by @froos in: #888
  • 2024-01-04T11:21:42+01:00 add root mode for voicings by @froos in: #887
  • 2024-01-01T18:32:17+01:00 Showcase by @froos in: #885
  • 2024-01-01T14:22:11+01:00 bugfix: suspend and close exisiting audio context when changing interface by @Ghost in: #882
  • 2024-01-01T14:21:52+01:00 add mastodon link by @froos in: #884

december 2023

  • 2023-12-31T17:02:57+01:00 fix: make sure n is never undefined before nanFallback by @froos in: #881
  • 2023-12-31T16:47:22+01:00 Error tolerance by @froos in: #880
  • 2023-12-31T10:06:24+01:00 bugfix: sound select indexes out of bounds by @Ghost in: #871
  • 2023-12-31T10:03:01+01:00 Audio device selection by @Ghost in: #854
  • 2023-12-31T00:59:49+01:00 Dependency update by @froos in: #879
  • 2023-12-29T16:53:41+01:00 move all examples to separate examples folder by @froos in: #878
  • 2023-12-29T15:29:17+01:00 final vanillification by @froos in: #876
  • 2023-12-27T18:38:09+01:00 Bug Fix #119: Clock drift by @Ghost in: #874
  • 2023-12-27T13:17:03+01:00 main repl vanillification by @froos in: #873
  • 2023-12-25T17:47:25+01:00 more work on vanilla repl: repl web component + package + MicroRepl by @froos in: #866
  • 2023-12-15T00:11:35+01:00 Vanilla repl 3 by @froos in: #865
  • 2023-12-14T21:28:49+01:00 Vanilla repl 2 by @froos in: #863
  • 2023-12-12T21:49:23+01:00 fix: finally repair envelopes by @froos in: #861
  • 2023-12-12T21:20:00+01:00 add missing trailing slashes by @froos in: #860
  • 2023-12-12T19:08:31+01:00 Sound Import from local file system by @Ghost in: #839
  • 2023-12-11T22:48:35+01:00 Pattern organization by @froos in: #858
  • 2023-12-09T17:25:11+01:00 Export patterns + ui tweaks by @froos in: #855
  • 2023-12-08T09:41:10+01:00 patterns tab: import patterns + style by @froos in: #852
  • 2023-12-07T20:42:00+01:00 Patterns tab + Refactor Panel by @froos in: #769
  • 2023-12-07T10:25:16+01:00 CHANGES: pnpm 8.1.3 to 8.11.0 by @Ghost in: #850
  • 2023-12-07T09:35:14+01:00 Fix edge case with rehype-urls and trailing slashes in image file paths by @Ghost in: #849
  • 2023-12-06T23:02:31+01:00 Fix examples page, piano() and a few workshop imgs by @Ghost in: #848
  • 2023-12-06T22:30:59+01:00 fix: swatch png src by @froos in: #846
  • 2023-12-06T22:19:30+01:00 fix: missing hash for links starting with / by @froos in: #845
  • 2023-12-06T22:05:05+01:00 improve slashing + base href behavior by @froos in: #842
  • 2023-12-06T21:26:49+01:00 Add in fixes from my fork to slashocalypse branch by @Ghost in: #843
  • 2023-12-05T18:43:58+01:00 Prevent 404 on Algolia crawls by @Ghost in: #838
  • 2023-12-05T18:26:47+01:00 Multichannel audio by @Ghost in: #820
  • 2023-12-05T12:19:58+01:00 ADDS: JetBrains IDE files and directories to .gitignore by @Ghost in: #840
  • 2023-12-05T12:19:27+01:00 CHANGES: github action pnpm version from 7 to 8.3.1 by @Ghost in: #835
  • 2023-12-05T12:19:17+01:00 CHANGES: pin pnpm to version 8.3.1 by @Ghost in: #834
  • 2023-12-05T12:19:06+01:00 CHANGES: github action checkout v2 -> v4 by @Ghost in: #837
  • 2023-12-05T11:15:14+01:00 FIXES: palindrome abc -> abccba by @Ghost in: #831
  • 2023-12-02T09:43:50+01:00 Fix a typo by @Ghost in: #830

november 2023

  • 2023-11-30T10:42:41+01:00 Add and style algolia search by @Ghost in: #827
  • 2023-11-25T15:50:44+01:00 Hydra fixes and improvements by @Ghost in: #818
  • 2023-11-24T10:07:17+01:00 add options param to initHydra by @Ghost in: #808
  • 2023-11-24T09:57:02+01:00 Improve documentation for synonym functions by @Ghost in: #800
  • 2023-11-24T09:00:54+01:00 New noise type: "crackle" by @Ghost in: #806
  • 2023-11-18T21:18:16+01:00 Color hsl by @froos in: #815
  • 2023-11-17T23:18:23+01:00 fix: multiple repls by @froos in: #813
  • 2023-11-17T20:52:25+01:00 upstream changes by @yaxu in: #809
  • 2023-11-17T16:04:10+01:00 Add doc for euclidLegatoRot, wordfall and slider by @Ghost in: #801
  • 2023-11-17T14:42:58+01:00 add option to disable active line highlighting in Code Settings by @Ghost in: #804
  • 2023-11-17T14:37:52+01:00 tidal style d1 ... d9 functions + more by @froos in: #805
  • 2023-11-15T20:12:23+01:00 remove unwanted cm6 outline for strudelTheme by @Ghost in: #802
  • 2023-11-13T23:30:15+01:00 Create phaser effect by @Ghost in: #798
  • 2023-11-10T12:17:35+01:00 support multiple named serial connections, change default baudrate by @yaxu in: #551
  • 2023-11-09T09:27:57+01:00 Fix for #1. Enables named instruments for csoundm. by @gogins in: #662
  • 2023-11-09T09:26:45+01:00 Adding vibrato to Superdough sampler by @Ghost in: #706
  • 2023-11-09T08:46:03+01:00 Document pianoroll by @Ghost in: #784
  • 2023-11-09T08:45:29+01:00 Update first-effects.mdx by @Ghost in: #795
  • 2023-11-09T08:44:43+01:00 Update pattern-effects.mdx by @Ghost in: #796
  • 2023-11-09T08:43:50+01:00 Update recap.mdx by @Ghost in: #797
  • 2023-11-07T11:53:49+01:00 Update first-sounds.mdx by @Ghost in: #794
  • 2023-11-06T23:17:32+01:00 don't use anchor links for reference by @froos in: #791
  • 2023-11-06T22:40:44+01:00 samples loading shortcuts: by @froos in: #788
  • 2023-11-05T22:47:48+01:00 Fix scope pos + document by @froos in: #786
  • 2023-11-05T22:10:25+01:00 Implement optional hover tooltip with function documentation by @Ghost in: #783
  • 2023-11-05T16:46:06+01:00 Add function params in reference tab by @Ghost in: #785
  • 2023-11-05T12:42:00+01:00 fix: style issues by @froos in: #781
  • 2023-11-05T12:21:28+01:00 add xfade by @froos in: #780
  • 2023-11-02T09:30:26+01:00 Update to Astro 3 by @froos in: #775
  • 2023-11-02T08:57:14+01:00 add vscode bindings by @Ghost in: #773
  • 2023-11-02T08:31:30+01:00 fix: share copy to clipboard + alert by @froos in: #774
  • 2023-11-01T22:22:34+01:00 Fix chunk, add fastChunk and repeatCycles by @yaxu in: #712
  • 2023-11-01T22:12:49+01:00 Document adsr function by @Ghost in: #767
  • 2023-11-01T22:11:49+01:00 Add pick and squeeze functions by @Ghost in: #771
  • 2023-11-01T22:04:00+01:00 Update vite pwa by @froos in: #772

october 2023

  • 2023-10-28T23:55:07+02:00 replace strudel.tidalcycles.org with strudel.cc by @froos in: #768
  • 2023-10-28T12:52:37+02:00 Document striate function by @Ghost in: #766
  • 2023-10-27T23:06:20+02:00 fix zen mode logo overlap by @froos in: #760
  • 2023-10-27T23:01:18+02:00 fix: scale offset by @froos in: #764
  • 2023-10-27T21:59:35+02:00 Fix addivite synthesis phases by @froos in: #762
  • 2023-10-26T16:28:16+02:00 Hydra integration by @froos in: #759
  • 2023-10-26T14:14:27+02:00 add play function by @froos in: #758
  • 2023-10-26T13:11:00+02:00 Add shabda shortcut by @Ghost in: #740
  • 2023-10-26T13:07:23+02:00 mini notation: international alphabets support by @Ghost in: #751
  • 2023-10-22T23:00:52+02:00 hopefully fix trainling slashes bug by @froos in: #753
  • 2023-10-21T23:38:50+02:00 Fix krill build command in README by @Ghost in: #748
  • 2023-10-21T00:20:50+02:00 completely revert config mess by @froos in: #745
  • 2023-10-20T22:41:39+02:00 fix: try different trailing slash behavior by @froos in: #744
  • 2023-10-20T22:34:03+02:00 fix: trailing slash confusion by @froos in: #743
  • 2023-10-20T12:07:04+02:00 [Bug Fix] chooseWith: prevent pattern from stopping audio when selection is >= 1 or < 0 by @Ghost in: #741
  • 2023-10-20T11:34:26+02:00 Recipes by @froos in: #742
  • 2023-10-13T12:57:24+02:00 vite-vanilla-repl readme fix by @froos in: #737
  • 2023-10-10T00:17:59+02:00 Add support for using samples as impulse response buffers for the reverb by @Ghost in: #717
  • 2023-10-09T21:43:42+02:00 fix: reverb sampleRate by @froos in: #732
  • 2023-10-09T21:34:33+02:00 fix: reverb roomsize not required by @froos in: #731
  • 2023-10-08T13:54:52+02:00 Compressor by @froos in: #729
  • 2023-10-08T13:25:57+02:00 fix: hashes in urls by @froos in: #728
  • 2023-10-07T15:48:06+02:00 consume n with scale by @froos in: #727
  • 2023-10-07T00:27:21+02:00 fix: reverb regenerate loophole by @froos in: #726
  • 2023-10-05T00:04:17+02:00 Better convolution reverb by generating impulse responses by @Ghost in: #718
  • 2023-10-04T10:31:53+02:00 Slider afterthoughts by @froos in: #723
  • 2023-10-03T16:39:06+02:00 Add 'white', 'pink' and 'brown' oscillators + refactor synth by @Ghost in: #713
  • 2023-10-01T14:20:50+02:00 support mininotation '..' range operator, fixes #715 by @yaxu in: #716
  • 2023-10-01T14:15:09+02:00 widgets by @froos in: #714

september 2023

  • 2023-09-28T11:03:09+02:00 Midi in by @froos in: #699
  • 2023-09-27T22:53:49+02:00 add midi clock support by @froos in: #710
  • 2023-09-25T23:36:10+02:00 Update bournemouth.mdx by @Ghost in: #708
  • 2023-09-25T23:06:30+02:00 add dough function for raw dsp by @froos in: #707
  • 2023-09-17T15:53:27+02:00 Update tauri.yml workflow file by @Ghost in: #705
  • 2023-09-17T11:05:06+02:00 Adding vibrato to base oscillators by @Ghost in: #693
  • 2023-09-17T08:27:36+02:00 Adding loop points and thus wavetable synthesis by @Ghost in: #698
  • 2023-09-16T02:03:49+02:00 Adding filter envelopes and filter order selection by @Ghost in: #692
  • 2023-09-09T11:19:58+02:00 Add logging from tauri by @Ghost in: #697
  • 2023-09-05T00:33:54+02:00 Direct OSC Support in Tauri by @Ghost in: #694
  • 2023-09-03T22:19:22+02:00 fix MIDI CC messages by @Ghost in: #690
  • 2023-09-03T10:22:15+02:00 add sleep timer + improve message iterating by @Ghost in: #688

august 2023

  • 2023-08-31T13:00:31+02:00 ZZFX Synth support by @Ghost in: #684
  • 2023-08-31T12:36:37+02:00 Wave Selection and Global Envelope on the FM Synth Modulator by @Ghost in: #683
  • 2023-08-31T05:52:17+02:00 Create Midi Integration for Tauri Desktop app by @Ghost in: #685
  • 2023-08-31T05:32:16+02:00 teletext theme + fonts by @froos in: #681
  • 2023-08-31T05:20:55+02:00 control osc partial count with n by @froos in: #674
  • 2023-08-27T22:18:06+02:00 add emoji support by @froos in: #680
  • 2023-08-27T16:12:32+02:00 Pianoroll improvements by @froos in: #679
  • 2023-08-26T21:22:17+02:00 Scope by @froos in: #677
  • 2023-08-23T21:50:50+02:00 Midi time fixes by @Ghost in: #668
  • 2023-08-20T23:19:08+02:00 basic fm by @froos in: #669
  • 2023-08-18T23:56:20+02:00 togglable panel position by @froos in: #667
  • 2023-08-18T15:59:20+02:00 fix osc bundle timestamp glitches caused by drifting clock by @Ghost in: #666
  • 2023-08-17T11:36:07+02:00 superdough: encapsulates web audio output by @froos in: #664
  • 2023-08-11T00:06:21+02:00 fix: always run previous trigger by @froos in: #660
  • 2023-08-10T23:54:58+02:00 fix: welcome message for latestCode by @froos in: #659
  • 2023-08-07T07:45:26+02:00 [Bug Fix] Midi: Don't treat note 0 as false by @Ghost in: #657

july 2023

  • 2023-07-29T09:06:18+02:00 [Bug Fix] Account for numeral notation when converting to midi by @Ghost in: #656
  • 2023-07-23T22:18:49+02:00 ireal voicings by @froos in: #653
  • 2023-07-22T09:30:21+02:00 Understand pitch by @froos in: #652
  • 2023-07-17T23:42:59+02:00 update vitest by @froos in: #651
  • 2023-07-17T23:34:33+02:00 stateless voicings + tonleiter lib by @froos in: #647
  • 2023-07-17T17:57:17+02:00 FIXES: TODO in rotateChroma by @Ghost in: #650
  • 2023-07-10T19:07:45+02:00 slice: list mode by @froos in: #645
  • 2023-07-04T23:50:30+02:00 Delete old packages by @froos in: #639
  • 2023-07-04T23:38:42+02:00 Adaptive Highlighting by @froos in: #634
  • 2023-07-04T21:55:57+02:00 More work on highlight IDs by @Ghost in: #636
  • 2023-07-04T18:44:48+02:00 snapshot tests: sort haps by part by @froos in: #637

juny 2023

  • 2023-06-30T22:47:40+02:00 fix: update canvas size on window resize by @froos in: #631
  • 2023-06-30T22:45:41+02:00 fix: out of range error by @froos in: #630
  • 2023-06-30T08:14:40+02:00 fix: midi clock drift by @froos in: #627
  • 2023-06-29T22:02:28+02:00 desktop: play samples from disk by @froos in: #621
  • 2023-06-29T21:59:43+02:00 cps dependent functions by @froos in: #620
  • 2023-06-26T22:45:04+02:00 Fix typo on packages.mdx by @Ghost in: #520
  • 2023-06-26T22:35:02+02:00 patterning ui settings by @froos in: #606
  • 2023-06-26T22:32:46+02:00 add spiral viz by @froos in: #614
  • 2023-06-26T22:17:46+02:00 tauri desktop app by @Ghost in: #613
  • 2023-06-23T09:59:43+02:00 fix: doc links by @froos in: #612
  • 2023-06-23T09:55:18+02:00 clip now works like legato in tidal by @froos in: #598
  • 2023-06-18T10:36:19+02:00 fix: flatten scale lists by @froos in: #605
  • 2023-06-18T10:36:17+02:00 tonal fixes by @froos in: #607
  • 2023-06-15T12:51:40+02:00 editor: enable line wrapping by @Ghost in: #581
  • 2023-06-15T10:22:46+02:00 add ratio function by @froos in: #602
  • 2023-06-12T23:24:29+02:00 enable auto-completion by @Ghost in: #588
  • 2023-06-11T22:04:17+02:00 improve cursor by @froos in: #597
  • 2023-06-11T20:00:45+02:00 Solmization added by @Ghost in: #570
  • 2023-06-11T19:45:00+02:00 fix: division by zero by @froos in: #591
  • 2023-06-11T19:44:43+02:00 fix: allow f for flat notes like tidal by @froos in: #593
  • 2023-06-11T19:44:41+02:00 Fix option dot by @froos in: #596
  • 2023-06-09T21:02:12+02:00 New Workshop by @froos in: #587
  • 2023-06-09T17:31:58+02:00 Music metadata by @Ghost in: #580
  • 2023-06-08T09:33:34+02:00 learn/tonal: fix typo in "scaleTran[s]pose" by @Ghost in: #585
  • 2023-06-07T20:19:11+02:00 repl: add option to display line numbers by @Ghost in: #582
  • 2023-06-05T21:35:49+02:00 Vanilla JS Refactoring by @froos in: #563

may 2023

  • 2023-05-05T08:34:37+02:00 Patchday by @froos in: #559
  • 2023-05-02T21:48:33+02:00 add basic triads and guidetone voicings by @froos in: #557

april 2023

  • 2023-04-28T12:46:56+02:00 fix: make soundfonts import dynamic by @froos in: #556
  • 2023-04-22T15:43:22+02:00 fix: colorable highlighting by @froos in: #553
  • 2023-04-06T00:11:02+02:00 fix: load soundfonts in prebake by @froos in: #550

march 2023

  • 2023-03-29T22:23:07+02:00 fix: reset time on stop by @froos in: #548
  • 2023-03-29T22:16:38+02:00 fix: allow whitespace at the end of a mini pattern by @froos in: #547
  • 2023-03-24T22:10:56+01:00 add firacode font by @froos in: #544
  • 2023-03-24T12:54:20+01:00 feat: add loader bar to animate loading state by @froos in: #542
  • 2023-03-23T22:39:27+01:00 do not reset cps before eval #517 by @froos in: #539
  • 2023-03-23T22:27:31+01:00 improve initial loading + wait before eval by @froos in: #538
  • 2023-03-23T21:40:20+01:00 fix period key for dvorak + remove duplicated code by @froos in: #537
  • 2023-03-23T11:44:56+01:00 Update lerna by @froos in: #535
  • 2023-03-23T10:21:55+01:00 feat: add freq support to gm soundfonts by @froos in: #534
  • 2023-03-23T10:18:58+01:00 Maintain random seed state in parser, not globally by @Ghost in: #531
  • 2023-03-21T22:35:18+01:00 FIXES: alias pm for polymeter by @Ghost in: #527
  • 2023-03-21T22:29:07+01:00 fix(footer): fix link to tidalcycles by @julienbouquillon in: #529
  • 2023-03-18T20:25:21+01:00 Update intro.mdx by @Ghost in: #525
  • 2023-03-18T20:24:38+01:00 Update samples.mdx by @Ghost in: #524
  • 2023-03-17T09:03:11+01:00 fix: envelopes in chrome by @froos in: #521
  • 2023-03-16T16:13:30+01:00 registerSound API + improved sounds tab + regroup soundfonts by @froos in: #516
  • 2023-03-14T21:54:53+01:00 add 2 illegible fonts by @froos in: #518
  • 2023-03-06T22:55:00+01:00 Update README.md by @Ghost in: #474
  • 2023-03-05T14:52:30+01:00 add arrange function by @froos in: #508
  • 2023-03-05T14:29:08+01:00 update react to 18 by @froos in: #514
  • 2023-03-04T19:06:18+01:00 Support list syntax in mininotation by @yaxu in: #512
  • 2023-03-03T12:40:23+01:00 can now use : as a replacement for space in scales by @froos in: #502
  • 2023-03-02T15:44:41+01:00 Reinstate slice and splice by @yaxu in: #500
  • 2023-03-02T14:49:30+01:00 fix: nano-repl highlighting by @froos in: #501
  • 2023-03-02T14:17:13+01:00 Add control aliases by @yaxu in: #497
  • 2023-03-01T09:27:27+01:00 implement cps in scheduler by @froos in: #493

february 2023

  • 2023-02-28T23:06:29+01:00 react style fixes by @froos in: #491
  • 2023-02-28T22:57:20+01:00 refactor react package by @froos in: #490
  • 2023-02-27T23:47:34+01:00 add algolia creds + optimize sidebar for crawling by @froos in: #488
  • 2023-02-27T19:28:10+01:00 fix app height by @froos in: #485
  • 2023-02-27T16:04:21+01:00 Revert "Another attempt at composable functions - WIP (#390)" by @froos in: #484
  • 2023-02-27T15:45:20+01:00 Update mini-notation.mdx by @yaxu in: #365
  • 2023-02-27T12:52:09+01:00 docs: packages + offline by @froos in: #482
  • 2023-02-25T14:26:49+01:00 Fix array args by @froos in: #480
  • 2023-02-25T12:33:22+01:00 midi cc support by @froos in: #478
  • 2023-02-23T00:11:05+01:00 fix: hash links by @froos in: #473
  • 2023-02-22T22:54:39+01:00 settings tab with vim / emacs modes + additional themes and fonts by @froos in: #467
  • 2023-02-22T22:53:22+01:00 Update input-output.mdx by @Ghost in: #471
  • 2023-02-22T22:52:50+01:00 FIXES: freqs instead of pitches by @Ghost in: #464
  • 2023-02-22T20:01:00+01:00 fix: osc should not return a promise by @froos in: #472
  • 2023-02-22T12:51:31+01:00 slice and splice by @yaxu in: #466
  • 2023-02-18T01:00:19+01:00 weave and weaveWith by @yaxu in: #465
  • 2023-02-17T00:15:21+01:00 Composable functions by @yaxu in: #390
  • 2023-02-16T20:38:45+01:00 FIXES: Warning about jsxBracketSameLine deprecation by @Ghost in: #461
  • 2023-02-14T22:11:02+01:00 Update synths.mdx by @Ghost in: #438
  • 2023-02-14T19:54:42+01:00 Update mini-notation.mdx by @Ghost in: #437
  • 2023-02-14T19:54:25+01:00 Update code.mdx by @Ghost in: #436
  • 2023-02-13T00:43:29+01:00 Fix anchors by @froos in: #433
  • 2023-02-11T21:02:11+01:00 autocomplete preparations by @froos in: #427
  • 2023-02-10T23:14:48+01:00 Themes by @froos in: #431
  • 2023-02-09T19:22:56+01:00 minirepl: add keyboard shortcuts by @froos in: #429
  • 2023-02-09T08:56:42+01:00 add cdn.freesound to cache list by @froos in: #425
  • 2023-02-08T20:36:00+01:00 add more offline caching by @froos in: #421
  • 2023-02-07T22:08:01+01:00 add caching strategy for missing file types + cache all samples loaded from github by @froos in: #419
  • 2023-02-06T23:29:57+01:00 PWA with offline support by @froos in: #417
  • 2023-02-05T17:27:32+01:00 improve samples doc by @froos in: #411
  • 2023-02-05T17:27:10+01:00 google gtfo by @froos in: #413
  • 2023-02-05T16:27:59+01:00 improve effects doc by @froos in: #409
  • 2023-02-05T14:56:03+01:00 Update effects.mdx by @Ghost in: #410
  • 2023-02-03T19:54:47+01:00 add shabda doc by @froos in: #407
  • 2023-02-02T21:45:56+01:00 fix: share url on subpath by @froos in: #405
  • 2023-02-02T21:35:45+01:00 update csound + fix sound output by @froos in: #404
  • 2023-02-02T19:53:36+01:00 pin @csound/browser to 6.18.3 + bump by @froos in: #403
  • 2023-02-01T22:47:27+01:00 release webaudio by @froos in: #400
  • 2023-02-01T22:45:16+01:00 can now await initAudio + initAudioOnFirstClick by @froos in: #399
  • 2023-02-01T22:32:18+01:00 fix: minirepl styles by @froos in: #398
  • 2023-02-01T22:17:19+01:00 proper builds + use pnpm workspaces by @froos in: #396
  • 2023-02-01T16:49:55+01:00 add pattern methods hurry, press and pressBy by @yaxu in: #397

january 2023

  • 2023-01-27T14:40:40+01:00 Add tidal-drum-patterns to examples by @Ghost in: #379
  • 2023-01-27T14:39:56+01:00 add ribbon + test + docs by @froos in: #388
  • 2023-01-27T12:10:37+01:00 Notes are not essential :) by @yaxu in: #393
  • 2023-01-21T17:18:13+01:00 document csound by @froos in: #391
  • 2023-01-19T12:04:51+01:00 Rename a to angle by @froos in: #387
  • 2023-01-19T11:49:39+01:00 add run + test + docs by @froos in: #386
  • 2023-01-19T11:32:56+01:00 docs: use note instead of n to mitigate confusion by @froos in: #385
  • 2023-01-18T17:10:09+01:00 update my-patterns instructions by @froos in: #384
  • 2023-01-15T23:19:43+01:00 Draw fixes by @froos in: #377
  • 2023-01-14T11:07:08+01:00 improve new draw logic by @froos in: #372
  • 2023-01-12T14:40:59+01:00 document more functions + change arp join by @froos in: #369
  • 2023-01-10T00:03:47+01:00 add https to url by @Ghost in: #364
  • 2023-01-09T23:37:34+01:00 doc structuring by @froos in: #360
  • 2023-01-09T23:23:28+01:00 Support for multiple mininotation operators by @yaxu in: #350
  • 2023-01-09T00:40:15+01:00 Fix .out(), renaming webaudio's out() to webaudio() by @yaxu in: #361
  • 2023-01-06T22:02:31+01:00 docs: tidal comparison + add global fx + add missing sampler fx by @froos in: #356
  • 2023-01-06T12:31:32+01:00 Fix Bjorklund by @yaxu in: #343
  • 2023-01-04T20:29:35+01:00 Fix prebake base path by @froos in: #345
  • 2023-01-04T19:55:49+01:00 fixes #346 by @froos in: #347
  • 2023-01-02T21:28:07+01:00 Patternify euclid, fast, slow and polymeter step parameters in mininotation by @yaxu in: #341
  • 2023-01-02T00:30:16+01:00 more animate functions + mini repl fix by @froos in: #340
  • 2023-01-01T12:34:11+01:00 move /my-patterns to /swatch by @yaxu in: #338
  • 2023-01-01T12:22:55+01:00 animation options by @froos in: #337

december 2022

  • 2022-12-31T22:42:49+01:00 Tidy parser, implement polymeters by @yaxu in: #336
  • 2022-12-31T16:51:53+01:00 animate mvp by @froos in: #335
  • 2022-12-30T20:16:10+01:00 testing + docs docs by @froos in: #334
  • 2022-12-29T21:11:16+01:00 Embed mode improvements by @froos in: #333
  • 2022-12-29T14:06:20+01:00 fix: can now multiply floats in mini notation by @froos in: #332
  • 2022-12-29T13:50:07+01:00 improve displaying 's' in pianoroll by @froos in: #331
  • 2022-12-28T17:35:35+01:00 my-patterns: fix paths + update readme by @froos in: #330
  • 2022-12-28T17:11:40+01:00 my-patterns build + deploy by @froos in: #329
  • 2022-12-28T15:43:31+01:00 add my-patterns by @froos in: #328
  • 2022-12-28T14:47:14+01:00 add examples route by @froos in: #327
  • 2022-12-28T14:44:31+01:00 fix: workaround Object.assign globalThis by @froos in: #326
  • 2022-12-26T23:29:47+01:00 mini repl improvements by @froos in: #324
  • 2022-12-26T23:00:34+01:00 support notes without octave by @froos in: #323
  • 2022-12-26T12:37:36+01:00 tutorial updates by @Ghost in: #320
  • 2022-12-23T18:26:30+01:00 Reference tab sort by @froos in: #318
  • 2022-12-23T00:49:56+01:00 Astro build by @froos in: #315
  • 2022-12-19T21:02:37+01:00 object support for .scale by @froos in: #307
  • 2022-12-19T21:02:22+01:00 Jsdoc component by @froos in: #312
  • 2022-12-19T20:31:46+01:00 fix: copy share link to clipboard was broken for some browers by @froos in: #311
  • 2022-12-19T12:11:24+01:00 ICLC2023 paper WIP by @yaxu in: #306
  • 2022-12-15T21:23:22+01:00 support freq in pianoroll by @froos in: #308
  • 2022-12-13T22:07:27+01:00 Updated csoundm to use the register facility . by @gogins in: #303
  • 2022-12-13T21:57:03+01:00 add lint + prettier check before test by @froos in: #305
  • 2022-12-13T21:21:44+01:00 add freq support to sampler by @froos in: #301
  • 2022-12-12T00:48:41+01:00 fix whitespace trimming by @froos in: #300
  • 2022-12-12T00:21:53+01:00 .defragmentHaps() for merging touching haps that share a whole and value by @yaxu in: #299
  • 2022-12-11T23:17:49+01:00 remove whitespace from highlighted region by @froos in: #298
  • 2022-12-11T22:03:26+01:00 update vitest by @froos in: #297
  • 2022-12-11T21:44:16+01:00 can now add bare numbers to numeral object props by @froos in: #287
  • 2022-12-11T21:27:58+01:00 Move stuff to new register function by @froos in: #295
  • 2022-12-11T20:07:12+01:00 add prettier task by @froos in: #296
  • 2022-12-10T15:39:04+01:00 Reorganise pattern.mjs with a 'toplevel first' regime by @yaxu in: #286
  • 2022-12-10T11:56:16+01:00 Fancy hap show, include part in snapshots by @yaxu in: #291
  • 2022-12-07T20:07:55+01:00 Switch 'operators' from .whatHow to .what.how by @yaxu in: #285
  • 2022-12-04T12:51:01+01:00 implement collect + arp function by @froos in: #281
  • 2022-12-02T13:38:27+01:00 do not recompile orc by @froos in: #278
  • 2022-12-02T12:49:26+01:00 add basic csound output by @froos in: #275
  • 2022-12-02T12:18:41+01:00 add licenses / credits to all tunes + remove some by @froos in: #277
  • 2022-12-02T11:45:02+01:00 Support sending CRC16 bytes with serial messages by @yaxu in: #276

november 2022

  • 2022-11-29T23:41:39+01:00 release version bumps by @froos in: #273
  • 2022-11-29T23:34:50+01:00 add eslint by @froos in: #271
  • 2022-11-29T23:34:26+01:00 tonal update with fixed memory leak by @froos in: #272
  • 2022-11-22T09:51:26+01:00 Tidying up core by @yaxu in: #256
  • 2022-11-21T22:15:48+01:00 fix performance bottleneck by @froos in: #266
  • 2022-11-17T11:08:38+01:00 fix tutorial bugs by @froos in: #263
  • 2022-11-16T13:15:28+01:00 Binaries by @froos in: #254
  • 2022-11-13T20:20:32+01:00 Repl refactoring by @froos in: #255
  • 2022-11-08T23:35:11+01:00 Webaudio build by @froos in: #250
  • 2022-11-08T22:43:32+01:00 new transpiler based on acorn by @froos in: #249
  • 2022-11-06T19:03:19+01:00 General purpose scheduler by @froos in: #248
  • 2022-11-06T11:05:23+01:00 snapshot tests on shared snippets by @froos in: #243
  • 2022-11-06T11:03:42+01:00 Some tunes by @froos in: #247
  • 2022-11-06T00:37:11+01:00 patchday by @froos in: #246
  • 2022-11-04T20:28:23+01:00 Readme + TLC by @froos in: #244
  • 2022-11-03T15:16:04+01:00 in source example tests by @froos in: #242
  • 2022-11-02T23:16:43+01:00 feat: support github: links by @froos in: #240
  • 2022-11-02T21:26:44+01:00 Load samples from url by @froos in: #239
  • 2022-11-02T11:42:32+01:00 Object arithmetic by @froos in: #238
  • 2022-11-01T00:36:14+01:00 Tidal drum machines by @froos in: #237
  • 2022-10-31T21:39:23+01:00 fx on stereo speakers by @froos in: #236

october 2022

  • 2022-10-30T19:10:33+01:00 add vcsl sample library by @froos in: #235
  • 2022-10-30T00:23:10+02:00 Fix zero length queries WIP by @yaxu in: #234
  • 2022-10-29T17:54:05+02:00 Out by default by @froos in: #232
  • 2022-10-26T23:53:49+02:00 Patternify range by @yaxu in: #231
  • 2022-10-26T21:42:12+02:00 Just another docs branch by @froos in: #228
  • 2022-10-26T21:41:12+02:00 Refactor tunes away from tone by @froos in: #230
  • 2022-10-20T09:26:28+02:00 Core util tests by @Ghost in: #226
  • 2022-10-06T22:35:45+02:00 fix fastgap for events that go across cycle boundaries by @yaxu in: #225

september 2022

  • 2022-09-25T21:15:36+02:00 Reverb by @froos in: #224
  • 2022-09-25T00:27:26+02:00 focus tweak for squeezeJoin - another go at fixing #216 by @yaxu in: #221
  • 2022-09-24T23:17:21+02:00 support negative speeds by @froos in: #222
  • 2022-09-24T21:55:15+02:00 Feedback Delay by @froos in: #213
  • 2022-09-23T12:06:17+02:00 Fix squeeze join by @yaxu in: #220
  • 2022-09-22T21:23:11+02:00 encapsulate webaudio output by @froos in: #219
  • 2022-09-22T19:18:18+02:00 samples now have envelopes by @froos in: #218
  • 2022-09-22T00:03:30+02:00 sampler features + fixes by @froos in: #217
  • 2022-09-19T23:32:55+02:00 Just another docs PR by @froos in: #215
  • 2022-09-17T23:47:43+02:00 Even more docs by @froos in: #212
  • 2022-09-17T15:36:53+02:00 Webaudio guide by @froos in: #207
  • 2022-09-16T00:21:29+02:00 Coarse crush shape by @froos in: #205
  • 2022-09-15T21:04:28+02:00 add vowel to .out by @froos in: #201
  • 2022-09-15T16:55:52+02:00 add rollup-plugin-visualizer to build by @froos in: #200
  • 2022-09-14T23:46:39+02:00 document random functions by @froos in: #199
  • 2022-09-09T22:04:40+02:00 Fix numbers in sampler by @froos in: #196

august 2022

  • 2022-08-14T17:40:41+02:00 change "stride"/"offset" of successive degradeBy/chooseIn by @Ghost in: #185
  • 2022-08-14T16:04:14+02:00 Soundfont file support by @froos in: #183
  • 2022-08-14T15:55:50+02:00 fix regression: old way of setting frequencies was broken by @froos in: #190
  • 2022-08-14T15:45:53+02:00 wait for prebake to finish before evaluating by @froos in: #189
  • 2022-08-14T11:31:00+02:00 Fix codemirror bug by @froos in: #186
  • 2022-08-13T16:29:53+02:00 scheduler improvements by @froos in: #181
  • 2022-08-12T23:10:36+02:00 replace mocha with vitest by @froos in: #175
  • 2022-08-07T00:59:07+02:00 incorporate elements of randomness to the mini notation by @Ghost in: #165
  • 2022-08-06T23:32:16+02:00 fix some annoying bugs by @froos in: #177
  • 2022-08-06T00:27:17+02:00 Replace react-codemirror6 with @uiw/react-codemirror by @froos in: #173
  • 2022-08-04T22:19:46+02:00 add more shapeshifter flags by @froos in: #99
  • 2022-08-04T22:06:38+02:00 Amend shapeshifter to allow use of dynamic import by @Ghost in: #171
  • 2022-08-02T23:43:07+02:00 Talk fixes by @froos in: #164
  • 2022-08-02T23:04:34+02:00 Pianoroll fixes by @froos in: #163
  • 2022-08-02T22:57:43+02:00 fix: jsdoc comments by @froos in: #169

july 2022

  • 2022-07-30T23:51:11+02:00 add chooseInWith/chooseCycles by @yaxu in: #166
  • 2022-07-28T19:26:42+02:00 update to tutorial documentation by @Ghost in: #162
  • 2022-07-12T18:58:47+02:00 add webdirt drum samples to prebake for general availability by @Ghost in: #150
  • 2022-07-12T08:34:17+02:00 Final update to demo.pdf by @yaxu in: #151

june 2022

  • 2022-06-28T21:54:35+02:00 Sampler optimizations and more by @froos in: #148
  • 2022-06-26T12:58:53+02:00 can now generate short link for sharing by @froos in: #146
  • 2022-06-24T22:16:04+02:00 flash effect on ctrl enter by @froos in: #144
  • 2022-06-22T20:18:17+02:00 Pianoroll Object Support by @froos in: #142
  • 2022-06-21T22:57:28+02:00 Serial twiddles by @yaxu in: #141
  • 2022-06-21T22:20:05+02:00 Soundfont Support by @froos in: #139
  • 2022-06-21T14:11:50+02:00 Fix createParam() by @yaxu in: #140
  • 2022-06-18T23:24:42+02:00 Webaudio rewrite by @froos in: #138
  • 2022-06-16T21:58:38+02:00 add onTrigger helper by @froos in: #136
  • 2022-06-16T20:48:23+02:00 Scheduler improvements by @froos in: #134
  • 2022-06-16T20:48:07+02:00 remove cycle + delta from onTrigger by @froos in: #135
  • 2022-06-13T21:28:27+02:00 add createParam + createParams by @froos in: #110
  • 2022-06-13T21:27:09+02:00 Pianoroll enhancements by @froos in: #131
  • 2022-06-05T13:06:03+02:00 Fix link to contributing to tutorial docs by @Ghost in: #129
  • 2022-06-02T00:20:45+02:00 Webdirt by @froos in: #121
  • 2022-06-01T23:56:04+02:00 fix: #122 ctrl enter would add newline by @froos in: #124
  • 2022-06-01T18:21:56+02:00 fix: #108 by @froos in: #123

may 2022

  • 2022-05-29T09:54:59+02:00 In source doc by @froos in: #117
  • 2022-05-20T11:49:10+02:00 react package + vite build by @froos in: #116
  • 2022-05-15T22:29:26+02:00 Osc timing improvements by @yaxu in: #113
  • 2022-05-15T22:28:24+02:00 loopAt by @yaxu in: #114
  • 2022-05-09T20:09:47+02:00 .brak(), .inside() and .outside() by @yaxu in: #112
  • 2022-05-06T15:18:41+02:00 In source doc by @yaxu in: #105
  • 2022-05-04T22:59:31+02:00 Embed style by @froos in: #109
  • 2022-05-03T01:40:22+02:00 Reset, Restart and other composers by @froos in: #88
  • 2022-05-02T22:47:21+02:00 /embed package: web component for repl by @froos in: #106
  • 2022-05-02T22:05:34+02:00 Tune tests by @froos in: #104
  • 2022-05-01T14:33:11+02:00 Codemirror 6 by @froos in: #97

april 2022

  • 2022-04-28T23:45:53+02:00 Work on Codemirror 6 highlighting by @Ghost in: #102
  • 2022-04-28T15:46:06+02:00 Change to Affero GPL by @yaxu in: #101
  • 2022-04-26T00:13:07+02:00 Paper by @froos in: #98
  • 2022-04-25T22:10:21+02:00 Fiddles with cat/stack by @yaxu in: #90
  • 2022-04-22T13:08:11+02:00 Add pattern composers, implements #82 by @yaxu in: #83
  • 2022-04-21T20:57:45+02:00 Tidy up a couple of old files by @Ghost in: #84
  • 2022-04-21T15:21:29+02:00 add striate() by @yaxu in: #76
  • 2022-04-20T20:17:27+02:00 Webaudio in REPL by @froos in: #77
  • 2022-04-19T15:31:34+02:00 Basic webserial support by @yaxu in: #80
  • 2022-04-17T19:29:49+02:00 Try to fix appLeft / appRight by @yaxu in: #75
  • 2022-04-16T13:26:57+02:00 More random functions by @yaxu in: #74
  • 2022-04-16T11:13:26+02:00 Port perlin noise, rangex, and palindrome by @yaxu in: #73
  • 2022-04-16T10:26:07+02:00 webaudio package by @froos in: #26
  • 2022-04-15T20:18:06+02:00 More randomness, fix rand, and add brand, irand and choose by @yaxu in: #70
  • 2022-04-15T11:29:51+02:00 First effort at rand() by @yaxu in: #69
  • 2022-04-14T17:41:18+02:00 use new fixed version of osc-js package by @froos in: #68
  • 2022-04-14T00:09:18+02:00 Speech output by @froos in: #67
  • 2022-04-13T23:55:33+02:00 Separate out strudel.mjs, make index.mjs aggregate module by @yaxu in: #62
  • 2022-04-13T17:26:45+02:00 More functions by @yaxu in: #61
  • 2022-04-13T10:04:29+02:00 More functions by @yaxu in: #56
  • 2022-04-12T17:04:04+02:00 OSC and SuperDirt support by @yaxu in: #27
  • 2022-04-12T13:24:14+02:00 Implement chop() by @yaxu in: #50
  • 2022-04-12T12:37:32+02:00 First run at squeezeBind, ref #32 by @yaxu in: #48
  • 2022-04-12T00:03:37+02:00 Fix polymeter by @yaxu in: #44
  • 2022-04-11T22:39:44+02:00 Compose by @froos in: #40
  • 2022-04-11T21:49:35+02:00 Update tutorial.mdx by @Ghost in: #38
  • 2022-04-11T08:43:44+02:00 Update tutorial.mdx by @Ghost in: #37

march 2022

  • 2022-03-28T17:27:22+02:00 Add chunk, chunkBack and iterBack by @yaxu in: #25
  • 2022-03-28T11:48:22+02:00 packaging by @froos in: #24
  • 2022-03-22T12:06:48+01:00 Update package.json by @Ghost in: #23
  • 2022-03-06T20:35:20+01:00 added _asNumber + interprete numbers as midi by @froos in: #21

february 2022

  • 2022-02-28T00:32:29+01:00 Fix resolveState by @yaxu in: #22
  • 2022-02-27T20:52:52+01:00 Stateful queries and events (WIP) by @yaxu in: #14
  • 2022-02-27T18:04:07+01:00 fix: 💄 Enhance visualisation of the Tutorial on mobile by @Ghost in: #19
  • 2022-02-26T21:16:34+01:00 test: 📦 Add missing dependency and a CI check, to prevent oversights ;p by @Ghost in: #17
  • 2022-02-26T13:29:19+01:00 higher latencyHint by @froos in: #16
  • 2022-02-23T22:15:11+01:00 add apply and layer, and missing div/mul methods by @yaxu in: #15
  • 2022-02-21T01:02:07+01:00 Add continuous signals (sine, cosine, saw, etc) by @yaxu in: #13
  • 2022-02-19T21:30:04+01:00 Added mask() and struct() by @yaxu in: #11
  • 2022-02-19T16:07:07+01:00 Failing test for when WIP by @yaxu in: #10
  • 2022-02-10T17:21:31+01:00 Bugfix every, and create more top level functions by @yaxu in: #9
  • 2022-02-10T00:51:21+01:00 timeCat by @yaxu in: #8
  • 2022-02-07T23:07:58+01:00 fixed editor crash by @froos in: #7
  • 2022-02-07T19:08:40+01:00 krill parser + improved repl by @froos in: #6
  • 2022-02-06T00:59:16+01:00 Patternify all the things by @yaxu in: #5
  • 2022-02-05T23:31:37+01:00 update readme for local dev by @Ghost in: #4
  • 2022-02-05T22:36:06+01:00 Fix path by @yaxu in: #3
  • 2022-02-05T21:52:51+01:00 repl + reify functions by @froos in: #2 [9:37:36] strudel %