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
da14509ab5
Restore the bank fold and usage publish to the resume path, guard setActive against repeats, and make the meter fold's bound literal
...
The resume also hands back to a full reload when the fold moves the loaded capture's decode source, so the refs table and the audio cannot skew.
2026-08-02 14:06:37 -04:00
daniel
5c6525fb91
Decouple the instrument reload from VST3 activation, and make the master meter's accumulate exact
2026-08-02 14:02:26 -04:00
daniel
b956fe0d5a
Commit the limiter's audible state on the click and defer only the host's latency restart
...
setInstrumentParams now arms a sticky pending restart that flushLatencyRestart drains from the sync tick; setState and the bake's adopt flush at their own tails.
2026-08-02 13:59:34 -04:00
daniel
df10ddacc2
Widen the deck row block to 1028 so the filter tie-line is exact, and accumulate the meter's block peaks instead of sampling one in 47
2026-08-02 13:56:15 -04:00
daniel
0612abbddb
Γ-W1-T2 review: one restart funnel, tighter ceiling proof, effective-gain meter
...
Fold setLimiterEnabled's restart request into setInstrumentParams so every writer
keeps the host's latency report in sync. Pin the window-sizing identity, drop the
per-sample modulo, tighten the ceiling tolerance, publish the blended gain.
2026-08-02 13:50:13 -04:00
daniel
3baf4ee50b
Γ-W1-T2: the master bus — a true-peak limiter whose ceiling is a theorem, the meter's published half, and the plugin's first PDC report
2026-08-02 13:50:13 -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
1dade0bfcf
instrument: deliver continuous playback params live to sounding voices via a seqlock block, holding normalized stage position across time edits
2026-07-30 21:03:05 -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