daniel
de5654fb6f
Service both VST3 parameter channels, and promote pitch key-track and Trigger length so all 44 ids issue
...
The SDK's own single-component sample drains inputParameterChanges in
process() and implements setParamNormalized; automation was reading the
GUI channel alone. The audio thread now patches a block it solely owns.
2026-08-02 16:22:17 -04:00
daniel
bfaa0f2614
Report the instrument's automatable parameters to the host under a frozen id table, in signal-flow order, with real units
...
42 of 44 ids issued: pitch key-track and Trigger length stay reserved
pending a live path. Master gain reclassified Live — it never reloaded.
2026-08-02 15:14:16 -04:00
daniel
65f6070348
Bake window: derived note lengths carry exact durations, not ladder rungs — a long take is no longer cut at 384 beats
...
Hold keeps its picker. Also: one home for the %-fold, duration-ordered Hold travel, and a corrupt tail degrades to absent rather than fabricating one.
2026-08-01 21:10:38 -04:00
daniel
7f74b11dce
feat: legible ReaSampler 9000 editor — bigger knobs, ms time constants, per-ring double-click reset, and an antialiased draw pass
2026-08-01 09:16:30 -04:00
daniel
13e8c5c4d9
instrument: one staged-envelope system — per-segment curves, the sustain-less AHD, and a shared overlay for all three envelopes
...
Trigger's fade pair folds into the AHD (and goes live); the release anchors right;
Preserve rings its synthetic tail out instead of cutting it. Payload v10.
2026-07-31 08:37:57 -04:00
daniel
efd1e41f46
instrument: narrow the live-param publish lock to its own mutex, off the reload's decode
...
Knob-drag publishes no longer block behind a full reload's WAV decode — a dedicated livePublishMutex_ replaces reloadMutex_ for the seqlock's single-writer contract. Also fixes an editor comment overclaim and two doc restatements.
2026-07-30 21:54:20 -04:00
daniel
bbc7dc70bb
instrument: snap live params onto a fresh voice, roll a live drag back on capture loss, serialize the seqlock's two writers
2026-07-30 21:39:56 -04:00
daniel
0cfd9b6236
filter: sweep the corner continuously; raise the editor floor to 840x620
...
Cutoff-only re-solve (15.5 vs 56.9 ns/frame) makes the unquantized sweep
affordable, replacing the 2048-step mod quantizer. Live-compute parameters
remain blocked on a shell-architecture ruling.
2026-07-30 18:12:10 -04:00
daniel
e89568c1a8
Clear stale hover on capture-loss and Alt-delete; derive gutter test via chromeRects
2026-07-30 11:03:41 -04:00
daniel
8d4ccbf841
Retire the zone system: one capture = one parameter set, and re-seam the engine and Sample face into bands
2026-07-30 07:15:54 -04:00
daniel
d4d29146c7
Cut shell/instrument comment bloat ~34% (comments only, zero code change)
2026-07-29 20:48:43 -04:00
daniel
f3be4d8cce
Q-W6: registration table (OCP) in main.cpp; bank verbs -> shell/bank_ops(Session&); persist.h + wav_trim + namespaces.h shims deleted; 61/61
...
capture.h realtime seam split to capture_realtime_shell.h; GetProjExtState grow-loop rehomed to core/wire/ext_state_read; stale persist.cpp/bank_panel.cpp comment refs fixed; CLAUDE.md persist/bank_book/actions bullets updated. Command-id suffixes, display phrases, and undo labels byte-identical.
2026-07-29 13:40:09 -04:00
daniel
ea86f540b8
Q-W2v: split VST god-modules — editor 8 face-axis TUs (+pure layout hoist), processor 3 TUs, component_state_io codec split (extension drops the voice engine), zone_params.h, core/wire putLE; formats frozen, 61/61 green
2026-07-29 11:29:36 -04:00