From f9d0e154e841997f4260b9ceb81faa58bff5fee2 Mon Sep 17 00:00:00 2001 From: robojumper Date: Sat, 17 Jan 2026 17:47:48 +0100 Subject: [PATCH 01/11] fix: performance issues when reference is open --- website/src/repl/components/panel/Reference.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/src/repl/components/panel/Reference.jsx b/website/src/repl/components/panel/Reference.jsx index c03ac0cf9..4c48b6a35 100644 --- a/website/src/repl/components/panel/Reference.jsx +++ b/website/src/repl/components/panel/Reference.jsx @@ -1,4 +1,4 @@ -import { useMemo, useState } from 'react'; +import { memo, useMemo, useState } from 'react'; import jsdocJson from '../../../../../doc.json'; import { Textbox } from '../textbox/Textbox'; @@ -35,7 +35,7 @@ const getInnerText = (html) => { return div.textContent || div.innerText || ''; }; -export function Reference() { +export const Reference = memo(function Reference() { const [search, setSearch] = useState(''); const visibleFunctions = useMemo(() => { @@ -112,4 +112,4 @@ export function Reference() { ); -} +}); From 7bc8576a68ed959dd563776ed54c47b053d73dd7 Mon Sep 17 00:00:00 2001 From: Aria Date: Sat, 17 Jan 2026 11:16:58 -0800 Subject: [PATCH 02/11] Make kabelsalat stereo out --- packages/superdough/superdough.mjs | 2 +- packages/superdough/worklets.mjs | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/superdough/superdough.mjs b/packages/superdough/superdough.mjs index ec44e8af7..03a4c3da8 100644 --- a/packages/superdough/superdough.mjs +++ b/packages/superdough/superdough.mjs @@ -613,7 +613,7 @@ export const superdough = async (value, t, hapDuration, cps = 0.5, cycle = 0.5) // Kabelsalat if (fx.workletSrc !== undefined) { - const workletNode = getWorklet(ac, 'generic-processor', {}); + const workletNode = getWorklet(ac, 'generic-processor', {}, { outputChannelCount: [2] }); chain.connect(workletNode); const workletSrc = fx.workletSrc .replace(/\bpat\[(\d+)\]/g, (_, i) => fx.workletInputs[i]) diff --git a/packages/superdough/worklets.mjs b/packages/superdough/worklets.mjs index 6969ee2c3..26a0fa668 100644 --- a/packages/superdough/worklets.mjs +++ b/packages/superdough/worklets.mjs @@ -1540,12 +1540,20 @@ class GenericProcessor extends AudioWorkletProcessor { this.gateNode?.setValue(0); this.gateEnded = true; } - const outL = outputs[0][0]; - const outR = outputs[0][1] ?? outputs[0][0]; + const output = outputs[0]; + const outL = output[0]; + const outR = output[1]; for (let n = 0; n < blockSize; n++) { this.genSample(this.playPos, this.nodes, input ? input[n] : 0, this.registers, this.outputs, this.sources); - outL[n] = this.outputs[0]; - outR[n] = this.outputs[1]; + const left = this.outputs[0]; + const right = this.outputs[1]; + // Spread to stereo if possible; else mixdown to mono + if (outR) { + outL[n] = left; + outR[n] = right; + } else { + outL[n] = 0.5 * (left + right); + } this.playPos += 1 / sampleRate; } return true; From d198910a86fcaecd658ef528bfa6d7884e93490b Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sat, 17 Jan 2026 15:26:28 -0800 Subject: [PATCH 03/11] Publish - @strudel/codemirror@1.2.7 - @strudel/core@1.2.6 - @strudel/csound@1.2.7 - @strudel/draw@1.2.6 - @strudel/embed@1.1.2 - @strudel/gamepad@1.2.6 - @strudel/hydra@1.2.6 - @strudel/midi@1.2.7 - @strudel/mini@1.2.6 - mondolang@1.1.2 - @strudel/mondo@1.1.6 - @strudel/motion@1.2.6 - @strudel/mqtt@1.2.6 - @strudel/osc@1.3.1 - @strudel/reference@1.2.2 - @strudel/repl@1.2.8 - @strudel/sampler@0.2.4 - @strudel/serial@1.2.6 - @strudel/soundfonts@1.2.7 - superdough@1.2.7 - supradough@1.2.5 - @strudel/tonal@1.2.6 - @strudel/transpiler@1.2.6 - vite-plugin-bundle-audioworklet@0.1.2 - @strudel/web@1.2.7 - @strudel/webaudio@1.2.7 - @strudel/xen@1.2.6 --- packages/codemirror/package.json | 2 +- packages/core/package.json | 2 +- packages/csound/package.json | 2 +- packages/draw/package.json | 2 +- packages/embed/package.json | 2 +- packages/gamepad/package.json | 2 +- packages/hydra/package.json | 2 +- packages/midi/package.json | 2 +- packages/mini/package.json | 2 +- packages/mondo/package.json | 2 +- packages/mondough/package.json | 2 +- packages/motion/package.json | 2 +- packages/mqtt/package.json | 2 +- packages/osc/package.json | 2 +- packages/reference/package.json | 2 +- packages/repl/package.json | 2 +- packages/sampler/package.json | 2 +- packages/serial/package.json | 2 +- packages/soundfonts/package.json | 2 +- packages/superdough/package.json | 2 +- packages/supradough/package.json | 2 +- packages/tonal/package.json | 2 +- packages/transpiler/package.json | 2 +- packages/vite-plugin-bundle-audioworklet/package.json | 2 +- packages/web/package.json | 2 +- packages/webaudio/package.json | 2 +- packages/xen/package.json | 2 +- 27 files changed, 27 insertions(+), 27 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index a3735491f..2f87124a4 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/codemirror", - "version": "1.2.6", + "version": "1.2.7", "description": "Codemirror Extensions for Strudel", "main": "index.mjs", "publishConfig": { diff --git a/packages/core/package.json b/packages/core/package.json index abb54e9ce..e558c574c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/core", - "version": "1.2.5", + "version": "1.2.6", "description": "Port of Tidal Cycles to JavaScript", "main": "index.mjs", "type": "module", diff --git a/packages/csound/package.json b/packages/csound/package.json index 762131d65..039752758 100644 --- a/packages/csound/package.json +++ b/packages/csound/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/csound", - "version": "1.2.6", + "version": "1.2.7", "description": "csound bindings for strudel", "main": "index.mjs", "type": "module", diff --git a/packages/draw/package.json b/packages/draw/package.json index b0af8418b..4a6f9a5a3 100644 --- a/packages/draw/package.json +++ b/packages/draw/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/draw", - "version": "1.2.5", + "version": "1.2.6", "description": "Helpers for drawing with Strudel", "main": "index.mjs", "type": "module", diff --git a/packages/embed/package.json b/packages/embed/package.json index ffafdc8bc..84a8cd6f5 100644 --- a/packages/embed/package.json +++ b/packages/embed/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/embed", - "version": "1.1.1", + "version": "1.1.2", "description": "Embeddable Web Component to load a Strudel REPL into an iframe", "main": "embed.js", "type": "module", diff --git a/packages/gamepad/package.json b/packages/gamepad/package.json index 6a07df968..21ad8eef3 100644 --- a/packages/gamepad/package.json +++ b/packages/gamepad/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/gamepad", - "version": "1.2.5", + "version": "1.2.6", "description": "Gamepad Inputs for strudel", "main": "index.mjs", "type": "module", diff --git a/packages/hydra/package.json b/packages/hydra/package.json index 16d6f0f4c..67419ce07 100644 --- a/packages/hydra/package.json +++ b/packages/hydra/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/hydra", - "version": "1.2.5", + "version": "1.2.6", "description": "Hydra integration for strudel", "main": "hydra.mjs", "type": "module", diff --git a/packages/midi/package.json b/packages/midi/package.json index 11fe9a3f7..368911276 100644 --- a/packages/midi/package.json +++ b/packages/midi/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/midi", - "version": "1.2.6", + "version": "1.2.7", "description": "Midi API for strudel", "main": "index.mjs", "type": "module", diff --git a/packages/mini/package.json b/packages/mini/package.json index b9a50fb60..432306550 100644 --- a/packages/mini/package.json +++ b/packages/mini/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/mini", - "version": "1.2.5", + "version": "1.2.6", "description": "Mini notation for strudel", "main": "index.mjs", "type": "module", diff --git a/packages/mondo/package.json b/packages/mondo/package.json index ebdbd329a..1dba882e4 100644 --- a/packages/mondo/package.json +++ b/packages/mondo/package.json @@ -1,6 +1,6 @@ { "name": "mondolang", - "version": "1.1.1", + "version": "1.1.2", "description": "a language for functional composition that translates to js", "main": "mondo.mjs", "type": "module", diff --git a/packages/mondough/package.json b/packages/mondough/package.json index 9b170fde5..919c5da2a 100644 --- a/packages/mondough/package.json +++ b/packages/mondough/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/mondo", - "version": "1.1.5", + "version": "1.1.6", "description": "mondo notation for strudel", "main": "mondough.mjs", "type": "module", diff --git a/packages/motion/package.json b/packages/motion/package.json index fd1fae890..dda3c3686 100644 --- a/packages/motion/package.json +++ b/packages/motion/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/motion", - "version": "1.2.5", + "version": "1.2.6", "description": "DeviceMotion API for strudel", "main": "index.mjs", "type": "module", diff --git a/packages/mqtt/package.json b/packages/mqtt/package.json index 492d915d5..9fa9da9b3 100644 --- a/packages/mqtt/package.json +++ b/packages/mqtt/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/mqtt", - "version": "1.2.5", + "version": "1.2.6", "description": "MQTT API for strudel", "main": "mqtt.mjs", "type": "module", diff --git a/packages/osc/package.json b/packages/osc/package.json index 00faffbd0..f1bbbdd55 100644 --- a/packages/osc/package.json +++ b/packages/osc/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/osc", - "version": "1.3.0", + "version": "1.3.1", "description": "OSC messaging for strudel", "main": "osc.mjs", "bin": "./server.js", diff --git a/packages/reference/package.json b/packages/reference/package.json index 6d1fa1807..783c1bbc9 100644 --- a/packages/reference/package.json +++ b/packages/reference/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/reference", - "version": "1.2.1", + "version": "1.2.2", "description": "Headless reference of all strudel functions", "main": "index.mjs", "type": "module", diff --git a/packages/repl/package.json b/packages/repl/package.json index e5216316e..003086a9d 100644 --- a/packages/repl/package.json +++ b/packages/repl/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/repl", - "version": "1.2.7", + "version": "1.2.8", "description": "Strudel REPL as a Web Component", "module": "index.mjs", "publishConfig": { diff --git a/packages/sampler/package.json b/packages/sampler/package.json index b9ea4c2a1..a960fbbe0 100644 --- a/packages/sampler/package.json +++ b/packages/sampler/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/sampler", - "version": "0.2.3", + "version": "0.2.4", "description": "", "keywords": [ "tidalcycles", diff --git a/packages/serial/package.json b/packages/serial/package.json index 9dc6c8999..e98a897e4 100644 --- a/packages/serial/package.json +++ b/packages/serial/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/serial", - "version": "1.2.5", + "version": "1.2.6", "description": "Webserial API for strudel", "main": "serial.mjs", "type": "module", diff --git a/packages/soundfonts/package.json b/packages/soundfonts/package.json index 9bf0c4006..dfdce7828 100644 --- a/packages/soundfonts/package.json +++ b/packages/soundfonts/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/soundfonts", - "version": "1.2.6", + "version": "1.2.7", "description": "Soundsfont support for strudel", "main": "index.mjs", "publishConfig": { diff --git a/packages/superdough/package.json b/packages/superdough/package.json index 78db8338e..c6ed7c64b 100644 --- a/packages/superdough/package.json +++ b/packages/superdough/package.json @@ -1,6 +1,6 @@ { "name": "superdough", - "version": "1.2.6", + "version": "1.2.7", "description": "simple web audio synth and sampler intended for live coding. inspired by superdirt and webdirt.", "main": "index.mjs", "type": "module", diff --git a/packages/supradough/package.json b/packages/supradough/package.json index ee3869d08..10cf8df57 100644 --- a/packages/supradough/package.json +++ b/packages/supradough/package.json @@ -1,6 +1,6 @@ { "name": "supradough", - "version": "1.2.4", + "version": "1.2.5", "description": "platform agnostic synth and sampler intended for live coding. a reimplementation of superdough.", "main": "index.mjs", "type": "module", diff --git a/packages/tonal/package.json b/packages/tonal/package.json index 14ffabc7b..a6a539c98 100644 --- a/packages/tonal/package.json +++ b/packages/tonal/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/tonal", - "version": "1.2.5", + "version": "1.2.6", "description": "Tonal functions for strudel", "main": "index.mjs", "publishConfig": { diff --git a/packages/transpiler/package.json b/packages/transpiler/package.json index 513550442..7b2a053f9 100644 --- a/packages/transpiler/package.json +++ b/packages/transpiler/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/transpiler", - "version": "1.2.5", + "version": "1.2.6", "description": "Transpiler for strudel user code. Converts syntactically correct but semantically meaningless JS into evaluatable strudel code.", "main": "index.mjs", "type": "module", diff --git a/packages/vite-plugin-bundle-audioworklet/package.json b/packages/vite-plugin-bundle-audioworklet/package.json index 198a4f9cf..524af4706 100644 --- a/packages/vite-plugin-bundle-audioworklet/package.json +++ b/packages/vite-plugin-bundle-audioworklet/package.json @@ -1,7 +1,7 @@ { "name": "vite-plugin-bundle-audioworklet", "main": "./vite-plugin-bundle-audioworklet.js", - "version": "0.1.1", + "version": "0.1.2", "description": "", "keywords": [ "vite", diff --git a/packages/web/package.json b/packages/web/package.json index f02d86139..40ba83c5d 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/web", - "version": "1.2.6", + "version": "1.2.7", "description": "Easy to setup, opiniated bundle of Strudel for the browser.", "module": "web.mjs", "publishConfig": { diff --git a/packages/webaudio/package.json b/packages/webaudio/package.json index f0bc4043f..2815c739c 100644 --- a/packages/webaudio/package.json +++ b/packages/webaudio/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/webaudio", - "version": "1.2.6", + "version": "1.2.7", "description": "Web Audio helpers for Strudel", "main": "index.mjs", "type": "module", diff --git a/packages/xen/package.json b/packages/xen/package.json index c178c5de4..e7d9d2038 100644 --- a/packages/xen/package.json +++ b/packages/xen/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/xen", - "version": "1.2.5", + "version": "1.2.6", "description": "Xenharmonic API for strudel", "main": "index.mjs", "type": "module", From 85e787214b476f0f6f03578e210269711a0175f6 Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sat, 17 Jan 2026 15:59:38 -0800 Subject: [PATCH 04/11] rollback_supradough --- packages/superdough/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/superdough/package.json b/packages/superdough/package.json index c6ed7c64b..23b64b29c 100644 --- a/packages/superdough/package.json +++ b/packages/superdough/package.json @@ -1,6 +1,6 @@ { "name": "superdough", - "version": "1.2.7", + "version": "1.2.4", "description": "simple web audio synth and sampler intended for live coding. inspired by superdirt and webdirt.", "main": "index.mjs", "type": "module", From 166985a05576a5cb88f2965748f0ef61d3fadedd Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sat, 17 Jan 2026 16:00:34 -0800 Subject: [PATCH 05/11] spr --- packages/osc/server.js | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 packages/osc/server.js diff --git a/packages/osc/server.js b/packages/osc/server.js old mode 100644 new mode 100755 From 12b89f9f88b01de01de8a18e13f110cea499bcfa Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sat, 17 Jan 2026 16:12:51 -0800 Subject: [PATCH 06/11] rollback supradough --- packages/supradough/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/supradough/package.json b/packages/supradough/package.json index 10cf8df57..ee3869d08 100644 --- a/packages/supradough/package.json +++ b/packages/supradough/package.json @@ -1,6 +1,6 @@ { "name": "supradough", - "version": "1.2.5", + "version": "1.2.4", "description": "platform agnostic synth and sampler intended for live coding. a reimplementation of superdough.", "main": "index.mjs", "type": "module", From a3ac9646f5cb86958bb6193cddd5f30f78a57368 Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sat, 17 Jan 2026 18:54:39 -0800 Subject: [PATCH 07/11] inc webaudio --- packages/webaudio/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/webaudio/package.json b/packages/webaudio/package.json index 2815c739c..18bd32909 100644 --- a/packages/webaudio/package.json +++ b/packages/webaudio/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/webaudio", - "version": "1.2.7", + "version": "1.2.8", "description": "Web Audio helpers for Strudel", "main": "index.mjs", "type": "module", From f4f04a7d574684aea78a757ef0d92370225cb27d Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sat, 17 Jan 2026 19:01:10 -0800 Subject: [PATCH 08/11] Publish - @strudel/codemirror@1.2.8 - @strudel/csound@1.2.8 - @strudel/midi@1.2.8 - @strudel/osc@1.3.2 - @strudel/repl@1.2.9 - @strudel/soundfonts@1.2.8 - superdough@1.2.5 - supradough@1.2.4 - @strudel/web@1.2.8 - @strudel/webaudio@1.2.9 --- packages/codemirror/package.json | 2 +- packages/csound/package.json | 2 +- packages/midi/package.json | 2 +- packages/osc/package.json | 2 +- packages/repl/package.json | 2 +- packages/soundfonts/package.json | 2 +- packages/superdough/package.json | 2 +- packages/web/package.json | 2 +- packages/webaudio/package.json | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 2f87124a4..9ad040976 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/codemirror", - "version": "1.2.7", + "version": "1.2.8", "description": "Codemirror Extensions for Strudel", "main": "index.mjs", "publishConfig": { diff --git a/packages/csound/package.json b/packages/csound/package.json index 039752758..19ba68199 100644 --- a/packages/csound/package.json +++ b/packages/csound/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/csound", - "version": "1.2.7", + "version": "1.2.8", "description": "csound bindings for strudel", "main": "index.mjs", "type": "module", diff --git a/packages/midi/package.json b/packages/midi/package.json index 368911276..38d0f0ca9 100644 --- a/packages/midi/package.json +++ b/packages/midi/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/midi", - "version": "1.2.7", + "version": "1.2.8", "description": "Midi API for strudel", "main": "index.mjs", "type": "module", diff --git a/packages/osc/package.json b/packages/osc/package.json index f1bbbdd55..569242252 100644 --- a/packages/osc/package.json +++ b/packages/osc/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/osc", - "version": "1.3.1", + "version": "1.3.2", "description": "OSC messaging for strudel", "main": "osc.mjs", "bin": "./server.js", diff --git a/packages/repl/package.json b/packages/repl/package.json index 003086a9d..d28034926 100644 --- a/packages/repl/package.json +++ b/packages/repl/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/repl", - "version": "1.2.8", + "version": "1.2.9", "description": "Strudel REPL as a Web Component", "module": "index.mjs", "publishConfig": { diff --git a/packages/soundfonts/package.json b/packages/soundfonts/package.json index dfdce7828..2403adfcf 100644 --- a/packages/soundfonts/package.json +++ b/packages/soundfonts/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/soundfonts", - "version": "1.2.7", + "version": "1.2.8", "description": "Soundsfont support for strudel", "main": "index.mjs", "publishConfig": { diff --git a/packages/superdough/package.json b/packages/superdough/package.json index 23b64b29c..d1e9b45fc 100644 --- a/packages/superdough/package.json +++ b/packages/superdough/package.json @@ -1,6 +1,6 @@ { "name": "superdough", - "version": "1.2.4", + "version": "1.2.5", "description": "simple web audio synth and sampler intended for live coding. inspired by superdirt and webdirt.", "main": "index.mjs", "type": "module", diff --git a/packages/web/package.json b/packages/web/package.json index 40ba83c5d..8be1f89dc 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/web", - "version": "1.2.7", + "version": "1.2.8", "description": "Easy to setup, opiniated bundle of Strudel for the browser.", "module": "web.mjs", "publishConfig": { diff --git a/packages/webaudio/package.json b/packages/webaudio/package.json index 18bd32909..6b6980e99 100644 --- a/packages/webaudio/package.json +++ b/packages/webaudio/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/webaudio", - "version": "1.2.8", + "version": "1.2.9", "description": "Web Audio helpers for Strudel", "main": "index.mjs", "type": "module", From f0cb96dcad64e98cb7c692fc3949464317db2611 Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sat, 17 Jan 2026 19:02:25 -0800 Subject: [PATCH 09/11] patch --- lerna-debug.log | 211 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 211 insertions(+) create mode 100644 lerna-debug.log diff --git a/lerna-debug.log b/lerna-debug.log new file mode 100644 index 000000000..3c15de507 --- /dev/null +++ b/lerna-debug.log @@ -0,0 +1,211 @@ +0 silly argv { +0 silly argv _: [ 'version' ], +0 silly argv private: false, +0 silly argv lernaVersion: '8.1.9', +0 silly argv '$0': 'node_modules/lerna/dist/cli.js' +0 silly argv } +1 notice cli v8.1.9 +2 verbose packageConfigs Explicit "packages" configuration found in lerna.json. Resolving packages using the configured glob(s): ["packages/*"] +3 verbose rootPath /Users/jaderose/Documents/Github/cstrudel/strudel +4 info versioning independent +5 silly isAnythingCommitted +6 verbose isAnythingCommitted 1 +7 silly getCurrentBranch +8 verbose currentBranch main +9 silly remoteBranchExists +10 silly isBehindUpstream +11 silly isBehindUpstream main is behind origin/main by 0 commit(s) and ahead by 4 +12 silly hasTags +13 verbose hasTags true +14 silly git-describe.sync "@strudel/codemirror@1.2.7-4-ga3ac9646" => {"lastTagName":"@strudel/codemirror@1.2.7","lastVersion":"1.2.7","refCount":"4","sha":"a3ac9646","isDirty":false} +15 info Looking for changed packages since @strudel/codemirror@1.2.7 +16 silly checking diff packages/codemirror +17 silly no diff found in @strudel/codemirror +18 silly checking diff packages/core +19 silly no diff found in @strudel/core +20 silly checking diff packages/csound +21 silly no diff found in @strudel/csound +22 silly checking diff packages/desktopbridge +23 silly no diff found in @strudel/desktopbridge +24 silly checking diff packages/draw +25 silly no diff found in @strudel/draw +26 silly checking diff packages/embed +27 silly no diff found in @strudel/embed +28 silly checking diff packages/gamepad +29 silly no diff found in @strudel/gamepad +30 silly checking diff packages/hs2js +31 silly no diff found in hs2js +32 silly checking diff packages/hydra +33 silly no diff found in @strudel/hydra +34 silly checking diff packages/midi +35 silly no diff found in @strudel/midi +36 silly checking diff packages/mini +37 silly no diff found in @strudel/mini +38 silly checking diff packages/mondo +39 silly no diff found in mondolang +40 silly checking diff packages/mondough +41 silly no diff found in @strudel/mondo +42 silly checking diff packages/motion +43 silly no diff found in @strudel/motion +44 silly checking diff packages/mqtt +45 silly no diff found in @strudel/mqtt +46 silly checking diff packages/osc +47 silly found diff in packages/osc/server.js +48 verbose filtered diff [ 'packages/osc/server.js' ] +49 silly checking diff packages/reference +50 silly no diff found in @strudel/reference +51 silly checking diff packages/repl +52 silly no diff found in @strudel/repl +53 silly checking diff packages/sampler +54 silly no diff found in @strudel/sampler +55 silly checking diff packages/serial +56 silly no diff found in @strudel/serial +57 silly checking diff packages/soundfonts +58 silly no diff found in @strudel/soundfonts +59 silly checking diff packages/superdough +60 silly found diff in packages/superdough/package.json +61 verbose filtered diff [ 'packages/superdough/package.json' ] +62 silly checking diff packages/supradough +63 silly found diff in packages/supradough/package.json +64 verbose filtered diff [ 'packages/supradough/package.json' ] +65 silly checking diff packages/tidal +66 silly no diff found in @strudel/tidal +67 silly checking diff packages/tonal +68 silly no diff found in @strudel/tonal +69 silly checking diff packages/transpiler +70 silly no diff found in @strudel/transpiler +71 silly checking diff packages/vite-plugin-bundle-audioworklet +72 silly no diff found in vite-plugin-bundle-audioworklet +73 silly checking diff packages/web +74 silly no diff found in @strudel/web +75 silly checking diff packages/webaudio +76 silly found diff in packages/webaudio/package.json +77 verbose filtered diff [ 'packages/webaudio/package.json' ] +78 silly checking diff packages/xen +79 silly no diff found in @strudel/xen +80 verbose updated @strudel/codemirror +81 verbose updated @strudel/csound +82 verbose updated @strudel/midi +83 verbose updated @strudel/osc +84 verbose updated @strudel/repl +85 verbose updated @strudel/soundfonts +86 verbose updated superdough +87 verbose updated supradough +88 verbose updated @strudel/web +89 verbose updated @strudel/webaudio +90 verbose git-describe undefined => "@strudel/codemirror@1.2.7-4-ga3ac9646" +91 silly git-describe parsed => {"lastTagName":"@strudel/codemirror@1.2.7","lastVersion":"1.2.7","refCount":"4","sha":"a3ac9646","isDirty":false} +92 info execute Skipping releases +93 silly lifecycle No script for "preversion" in "@strudel/monorepo", continuing +94 silly lifecycle No script for "preversion" in "@strudel/osc", continuing +95 silly lifecycle No script for "preversion" in "superdough", continuing +96 silly lifecycle No script for "preversion" in "supradough", continuing +97 verbose version supradough has no lockfile. Skipping lockfile update. +98 verbose version @strudel/osc has no lockfile. Skipping lockfile update. +99 verbose version superdough has no lockfile. Skipping lockfile update. +100 silly lifecycle No script for "version" in "supradough", continuing +101 silly lifecycle No script for "version" in "superdough", continuing +102 silly lifecycle No script for "preversion" in "@strudel/codemirror", continuing +103 silly lifecycle No script for "preversion" in "@strudel/webaudio", continuing +104 silly lifecycle No script for "version" in "@strudel/osc", continuing +105 verbose version @strudel/webaudio has no lockfile. Skipping lockfile update. +106 verbose version @strudel/codemirror has no lockfile. Skipping lockfile update. +107 silly lifecycle No script for "version" in "@strudel/codemirror", continuing +108 silly lifecycle No script for "version" in "@strudel/webaudio", continuing +109 silly lifecycle No script for "preversion" in "@strudel/csound", continuing +110 silly lifecycle No script for "preversion" in "@strudel/midi", continuing +111 silly lifecycle No script for "preversion" in "@strudel/soundfonts", continuing +112 silly lifecycle No script for "preversion" in "@strudel/web", continuing +113 verbose version @strudel/csound has no lockfile. Skipping lockfile update. +114 verbose version @strudel/midi has no lockfile. Skipping lockfile update. +115 verbose version @strudel/soundfonts has no lockfile. Skipping lockfile update. +116 verbose version @strudel/web has no lockfile. Skipping lockfile update. +117 silly lifecycle No script for "version" in "@strudel/midi", continuing +118 silly lifecycle No script for "version" in "@strudel/csound", continuing +119 silly lifecycle No script for "version" in "@strudel/soundfonts", continuing +120 silly lifecycle No script for "preversion" in "@strudel/repl", continuing +121 verbose version @strudel/repl has no lockfile. Skipping lockfile update. +122 silly lifecycle No script for "version" in "@strudel/web", continuing +123 silly lifecycle No script for "version" in "@strudel/repl", continuing +124 silly lifecycle No script for "version" in "@strudel/monorepo", continuing +125 verbose version Updating root pnpm-lock.yaml +126 silly version Skipped applying prettier to ignored file: packages/supradough/package.json +127 silly version Skipped applying prettier to ignored file: packages/superdough/package.json +128 silly version Skipped applying prettier to ignored file: packages/osc/package.json +129 silly version Skipped applying prettier to ignored file: packages/codemirror/package.json +130 silly version Skipped applying prettier to ignored file: packages/webaudio/package.json +131 silly version Skipped applying prettier to ignored file: packages/midi/package.json +132 silly version Skipped applying prettier to ignored file: packages/csound/package.json +133 silly version Skipped applying prettier to ignored file: packages/soundfonts/package.json +134 silly version Skipped applying prettier to ignored file: packages/web/package.json +135 silly version Skipped applying prettier to ignored file: packages/repl/package.json +136 silly version Skipped applying prettier to ignored file: pnpm-lock.yaml +137 silly gitAdd [ +137 silly gitAdd 'packages/supradough/package.json', +137 silly gitAdd 'packages/superdough/package.json', +137 silly gitAdd 'packages/osc/package.json', +137 silly gitAdd 'packages/codemirror/package.json', +137 silly gitAdd 'packages/webaudio/package.json', +137 silly gitAdd 'packages/midi/package.json', +137 silly gitAdd 'packages/csound/package.json', +137 silly gitAdd 'packages/soundfonts/package.json', +137 silly gitAdd 'packages/web/package.json', +137 silly gitAdd 'packages/repl/package.json', +137 silly gitAdd 'pnpm-lock.yaml' +137 silly gitAdd ] +138 silly gitCommit Publish +138 silly gitCommit +138 silly gitCommit - @strudel/codemirror@1.2.8 +138 silly gitCommit - @strudel/csound@1.2.8 +138 silly gitCommit - @strudel/midi@1.2.8 +138 silly gitCommit - @strudel/osc@1.3.2 +138 silly gitCommit - @strudel/repl@1.2.9 +138 silly gitCommit - @strudel/soundfonts@1.2.8 +138 silly gitCommit - superdough@1.2.5 +138 silly gitCommit - supradough@1.2.4 +138 silly gitCommit - @strudel/web@1.2.8 +138 silly gitCommit - @strudel/webaudio@1.2.9 +139 verbose git [ +139 verbose git 'commit', +139 verbose git '-F', +139 verbose git '/private/var/folders/hc/yf_zr55547sbcpz5rj7q85sc0000gn/T/3c85b5d4-56ae-40e9-8df7-db2bc1048402/lerna-commit.txt' +139 verbose git ] +140 silly gitTag @strudel/codemirror@1.2.8 git tag %s -m %s +141 verbose git [ +141 verbose git 'tag', +141 verbose git '@strudel/codemirror@1.2.8', +141 verbose git '-m', +141 verbose git '@strudel/codemirror@1.2.8' +141 verbose git ] +142 silly gitTag @strudel/csound@1.2.8 git tag %s -m %s +143 verbose git [ 'tag', '@strudel/csound@1.2.8', '-m', '@strudel/csound@1.2.8' ] +144 silly gitTag @strudel/midi@1.2.8 git tag %s -m %s +145 verbose git [ 'tag', '@strudel/midi@1.2.8', '-m', '@strudel/midi@1.2.8' ] +146 silly gitTag @strudel/osc@1.3.2 git tag %s -m %s +147 verbose git [ 'tag', '@strudel/osc@1.3.2', '-m', '@strudel/osc@1.3.2' ] +148 silly gitTag @strudel/repl@1.2.9 git tag %s -m %s +149 verbose git [ 'tag', '@strudel/repl@1.2.9', '-m', '@strudel/repl@1.2.9' ] +150 silly gitTag @strudel/soundfonts@1.2.8 git tag %s -m %s +151 verbose git [ +151 verbose git 'tag', +151 verbose git '@strudel/soundfonts@1.2.8', +151 verbose git '-m', +151 verbose git '@strudel/soundfonts@1.2.8' +151 verbose git ] +152 silly gitTag superdough@1.2.5 git tag %s -m %s +153 verbose git [ 'tag', 'superdough@1.2.5', '-m', 'superdough@1.2.5' ] +154 silly gitTag supradough@1.2.4 git tag %s -m %s +155 verbose git [ 'tag', 'supradough@1.2.4', '-m', 'supradough@1.2.4' ] +156 silly gitTag @strudel/web@1.2.8 git tag %s -m %s +157 verbose git [ 'tag', '@strudel/web@1.2.8', '-m', '@strudel/web@1.2.8' ] +158 silly gitTag @strudel/webaudio@1.2.9 git tag %s -m %s +159 verbose git [ 'tag', '@strudel/webaudio@1.2.9', '-m', '@strudel/webaudio@1.2.9' ] +160 error Error: Command failed with exit code 128: git tag superdough@1.2.5 -m superdough@1.2.5 +160 error fatal: tag 'superdough@1.2.5' already exists +160 error at makeError (/Users/jaderose/Documents/Github/cstrudel/strudel/node_modules/.pnpm/execa@5.0.0/node_modules/execa/lib/error.js:59:11) +160 error at handlePromise (/Users/jaderose/Documents/Github/cstrudel/strudel/node_modules/.pnpm/execa@5.0.0/node_modules/execa/index.js:114:26) +160 error at process.processTicksAndRejections (node:internal/process/task_queues:105:5) +160 error at async Promise.all (index 6) +160 error at async VersionCommand.gitCommitAndTagVersionForUpdates (/Users/jaderose/Documents/Github/cstrudel/strudel/node_modules/.pnpm/lerna@8.1.9_encoding@0.1.13/node_modules/lerna/dist/index.js:9957:11) +160 error at async VersionCommand.commitAndTagUpdates (/Users/jaderose/Documents/Github/cstrudel/strudel/node_modules/.pnpm/lerna@8.1.9_encoding@0.1.13/node_modules/lerna/dist/index.js:9933:18) +160 error at async Promise.all (index 0) From 17ef84ed708fde6ea4df17aa3a142e79ca119bf4 Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sat, 17 Jan 2026 19:11:08 -0800 Subject: [PATCH 10/11] sp --- packages/superdough/helpers.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/superdough/helpers.mjs b/packages/superdough/helpers.mjs index 584b19673..07199aff6 100644 --- a/packages/superdough/helpers.mjs +++ b/packages/superdough/helpers.mjs @@ -172,6 +172,7 @@ export const getADSRValues = (params, curve = 'linear', defaultValues) => { if (a == null && d == null && s == null && r == null) { return defaultValues ?? [envmin, envmin, envmax, releaseMin]; } + const sustain = s != null ? s : (a != null && d == null) || (a == null && d == null) ? envmax : envmin; return [Math.max(a ?? 0, envmin), Math.max(d ?? 0, envmin), Math.min(sustain, envmax), Math.max(r ?? 0, releaseMin)]; }; From f610965f4332837febe45743105da170e8b331ed Mon Sep 17 00:00:00 2001 From: "Jade (Rose) Rowland" Date: Sat, 17 Jan 2026 19:12:20 -0800 Subject: [PATCH 11/11] Publish - @strudel/codemirror@1.3.0 - @strudel/csound@1.3.0 - @strudel/midi@1.3.0 - @strudel/repl@1.3.0 - @strudel/soundfonts@1.3.0 - superdough@1.3.0 - @strudel/web@1.3.0 - @strudel/webaudio@1.3.0 --- packages/codemirror/package.json | 2 +- packages/csound/package.json | 2 +- packages/midi/package.json | 2 +- packages/repl/package.json | 2 +- packages/soundfonts/package.json | 2 +- packages/superdough/package.json | 2 +- packages/web/package.json | 2 +- packages/webaudio/package.json | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/codemirror/package.json b/packages/codemirror/package.json index 9ad040976..c8cd4ae73 100644 --- a/packages/codemirror/package.json +++ b/packages/codemirror/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/codemirror", - "version": "1.2.8", + "version": "1.3.0", "description": "Codemirror Extensions for Strudel", "main": "index.mjs", "publishConfig": { diff --git a/packages/csound/package.json b/packages/csound/package.json index 19ba68199..4af015bba 100644 --- a/packages/csound/package.json +++ b/packages/csound/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/csound", - "version": "1.2.8", + "version": "1.3.0", "description": "csound bindings for strudel", "main": "index.mjs", "type": "module", diff --git a/packages/midi/package.json b/packages/midi/package.json index 38d0f0ca9..1881e0246 100644 --- a/packages/midi/package.json +++ b/packages/midi/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/midi", - "version": "1.2.8", + "version": "1.3.0", "description": "Midi API for strudel", "main": "index.mjs", "type": "module", diff --git a/packages/repl/package.json b/packages/repl/package.json index d28034926..1aff2bbe7 100644 --- a/packages/repl/package.json +++ b/packages/repl/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/repl", - "version": "1.2.9", + "version": "1.3.0", "description": "Strudel REPL as a Web Component", "module": "index.mjs", "publishConfig": { diff --git a/packages/soundfonts/package.json b/packages/soundfonts/package.json index 2403adfcf..a904942af 100644 --- a/packages/soundfonts/package.json +++ b/packages/soundfonts/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/soundfonts", - "version": "1.2.8", + "version": "1.3.0", "description": "Soundsfont support for strudel", "main": "index.mjs", "publishConfig": { diff --git a/packages/superdough/package.json b/packages/superdough/package.json index d1e9b45fc..8e2ffad63 100644 --- a/packages/superdough/package.json +++ b/packages/superdough/package.json @@ -1,6 +1,6 @@ { "name": "superdough", - "version": "1.2.5", + "version": "1.3.0", "description": "simple web audio synth and sampler intended for live coding. inspired by superdirt and webdirt.", "main": "index.mjs", "type": "module", diff --git a/packages/web/package.json b/packages/web/package.json index 8be1f89dc..29c478c55 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/web", - "version": "1.2.8", + "version": "1.3.0", "description": "Easy to setup, opiniated bundle of Strudel for the browser.", "module": "web.mjs", "publishConfig": { diff --git a/packages/webaudio/package.json b/packages/webaudio/package.json index 6b6980e99..48b40470a 100644 --- a/packages/webaudio/package.json +++ b/packages/webaudio/package.json @@ -1,6 +1,6 @@ { "name": "@strudel/webaudio", - "version": "1.2.9", + "version": "1.3.0", "description": "Web Audio helpers for Strudel", "main": "index.mjs", "type": "module",