Commit graph

3621 commits

Author SHA1 Message Date
Aria
931d684b19 Merge branch 'main' into glossing/random 2025-12-13 17:28:44 -06:00
Aria
4a7344595d Make legacy the default 2025-12-13 17:28:42 -06:00
Aria
18b3c66eb8 Clean up error messages 2025-12-13 17:15:06 -06:00
Aria
63de46ae96 Update docstrings 2025-12-13 16:44:36 -06:00
Aria
c598059dc7 Clean up old code 2025-12-13 16:26:50 -06:00
Aria
dec037bed5 Bus fix 2025-12-13 16:23:47 -06:00
Aria
29f7f5c1f8 Allow lfos to modulate other lfos without clamping 2025-12-13 16:07:19 -06:00
Aria
bae5571df0 Cleanup 2025-12-13 15:32:27 -06:00
Aria
4b08dd8447 Unify lfo functions 2025-12-13 15:20:51 -06:00
Aria
11e3da0552 Parity with other LFO (sync and dcoffset) 2025-12-13 15:08:48 -06:00
Aria
ef2ee0969a Restore old lfo to avoid unifying right now 2025-12-13 14:59:14 -06:00
Aria
12f9af227c Merge branch 'main' into glossing/lfo-upgrades 2025-12-13 14:54:17 -06:00
Aria
dc5f6827f9 Change names, cleanup 2025-12-13 14:50:27 -06:00
Aria
8baecf78b9 Add note 2025-12-13 11:37:37 -06:00
alex
8eeebf1e4f try renaming to per / perx / cyclesPer 2025-12-13 16:30:51 +00:00
Sergey S Yaglov
adf9596d07 codestyle(webaudio) 2025-12-13 00:28:13 +03:00
1d10t
4e14718e93 feat(webaudio): enable AudioContext sharing for webaudioRepl
- Add support for optional `existingAudioCtx` parameter in `webaudioRepl()` function
- When provided, sets it as the default AudioContext via `setDefaultAudioContext()`
- Allows integration with external systems that manage their own Web Audio API context
- Maintains backward compatibility with existing usage patterns
2025-12-12 21:56:31 +01:00
1d10t
c8b2e1ac9e feat(superdough/audiocontext): make AudioContext injection optional
- Modify `setDefaultAudioContext()` to accept an optional `existingAudioCtx` parameter.
- If provided, it will use the existing context; otherwise, it creates a new one.
- This allows for better integration with external audio systems that manage their own AudioContext.
2025-12-12 21:22:21 +01:00
alex
a53385aa11 delint 2025-12-12 16:50:24 +00:00
alex
cd071cb7c0 separate out signal tests, add tests for tight, tightx, loose 2025-12-12 15:46:04 +00:00
alex
8e1fba0436 rename delta to loose, add inverse tight, and exponential tightx 2025-12-12 15:45:36 +00:00
alex
c6e0f0533e add delta 2025-12-11 23:32:10 +00:00
Aria
415b6d5f1d Fix name collision and move modulators into controls to avoid circular import test failure 2025-12-11 15:48:45 -06:00
Aria
4169b764c3 Simpler control handling 2025-12-11 15:28:48 -06:00
Aria
e7d1613bfb Broken tests, but otherwise working 2025-12-11 14:42:16 -06:00
Aria
45aa1f5384 Control cleanup 2025-12-11 12:52:40 -06:00
Aria
3a17aeabf3 Some cleanup 2025-12-11 11:41:40 -06:00
Aria
2aeba2e53f Working version of bus 2025-12-11 11:37:20 -06:00
alex
37990b459f bugfix and tweak doc 2025-12-11 16:51:25 +00:00
alex
a34e58aa09 Merge branch 'alternative-timeline' of ssh://codeberg.org/uzu/strudel into alternative-timeline 2025-12-11 16:39:22 +00:00
alex
8cbe4b945c Respond to glossing's review 2025-12-11 16:39:08 +00:00
Alex McLean
6f9a1470e7 Merge branch 'main' into alternative-timeline 2025-12-11 17:19:03 +01:00
Aria
103b27c21f Working version of keyboard with variable lengths; tests and cleanup 2025-12-10 13:44:49 -06:00
Aria
597c941991 Add keyboard function 2025-12-10 12:01:04 -06:00
alex
e89414e400 fix .as so it doesn't set undefined values 2025-12-10 09:19:12 +00:00
Aria
a79491dd16 Update loopbegin/end to not be offset 2025-12-08 16:32:54 -06:00
jeromew
132dea8478 Merge branch 'main' into fix-perf12 2025-12-08 18:54:51 +01:00
jeromew
b889d19493 Merge branch 'fix-perf12' of https://codeberg.org/jeromew/strudel into fix-perf12 2025-12-08 17:32:47 +00:00
jeromew
71d36b79ed Improve getOscillator/noiseMix release 2025-12-08 17:31:34 +00:00
space-shell
ec73c48e2e feat: Add Helix keybindings and Nix development environment
Add support for Helix editor keybindings in the REPL, providing users
with a modern, selection-first modal editing experience as an alternative
to Vim, Emacs, and VSCode keybindings.

Helix Keybindings Integration:

- Add codemirror-helix@^0.5.0 dependency to @strudel/codemirror
- Import and register helix keybindings in keybindings.mjs
- Add 'Helix' option to keybindings selector in Settings UI
- Create comprehensive user documentation at technical-manual/helix.mdx
- Update developer documentation with keybinding integration pattern

The Helix mode provides selection-first editing (select → action) which
differs from Vim's action-motion paradigm, offering an alternative
workflow for modal editing enthusiasts.

Documentation:

- Update CLAUDE.md with Helix support and keybinding addition process
- Create helix.mdx with user-facing documentation and command reference
- Update CHANGELOG.md with December 2025 entry

Testing:

Run `pnpm i` to install new dependencies, then `pnpm dev` to test.
Verify Helix mode works in Settings → Keybindings → Helix.
2025-12-08 09:44:02 +01:00
Aria
48231ea12a Merge branch 'main' into glossing/midin-channels 2025-12-07 21:23:57 +01:00
Aria
efda32eedb Merge branch 'main' into glossing/transient-processor 2025-12-07 20:29:50 +01:00
Aria
95d04d1149 Merge branch 'main' into glossing/midin-channels 2025-12-07 20:29:39 +01:00
Aria
358b1e3f56 Make sure processor turns off; fix array sizes for JIT 2025-12-07 13:28:57 -06:00
Aria
fe7e8f7add Clearer docstring 2025-12-07 13:21:06 -06:00
Aria
5e99393f5a Merge branch 'main' into glossing/controls-various 2025-12-07 18:54:18 +01:00
Aria
fab8d2193d Merge branch 'main' into glossing/midin-channels 2025-12-07 18:45:16 +01:00
Aria
150835aa4d Merge branch 'main' into glossing/transient-processor 2025-12-07 18:45:11 +01:00
Aria
76237016a3 Merge branch 'main' into glossing/controls-various 2025-12-07 18:45:02 +01:00
Aria
6f4d8ebacf Merge branch 'main' into fix-perf10 2025-12-07 18:44:47 +01:00