Files
strudel/CHANGELOG.md
T
2026-01-16 10:14:17 +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

... hello from the bottom of this file! you seem to be interested in the history of strudel, so it's worth noting that the first commit to the repo was actually on Jan 22, 2022, 09:24 PM GMT+1 by @yaxu which could be seen as strudel's birthday 🎂