strudel/CHANGELOG.md

117 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 %