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
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
19aeb92775
Bake window derives itself: %-knob fold, declick pad, Gate held to exhaustion, preview velocity; Hold is the one knob a loop needs
2026-08-01 20:26:04 -04:00
daniel
47f2a063e7
fix: close five Θ-W6-T1 review minors — headroom figure, knob-face radius, degenerate band clamp
...
Aligns inKnobFace's hit radius with computeKnob's draw-side min(w,h) rule and adds a non-square-rect test; clamps halfSpan for degenerate waveform bands with a test; fixes stale docs/comments and annotates an uncommitted perf measurement.
2026-08-01 10:01:40 -04:00
daniel
ca464397b2
fix: restore waveform symmetry about the midline, cut deck_values' link to the bank model, and unit-test the column arithmetic
...
The waveform column's vertical extents move to pure component_geometry so the shared
primitive stops being untested; PlaySeconds hoists into a header-only play_seconds target.
2026-08-01 09:47:07 -04:00
daniel
e44bd42dd9
instrument: spline EGs — hard points on the one shared spline, a drawn contour per envelope beside its staged state, payload v13
2026-07-31 21:33:59 -04:00
daniel
5e290119c5
instrument: the filter's velocity depth knob returns and multiplies the bipolar curve; the pre-v12 lift is a pure domain re-tag
2026-07-31 20:24:40 -04:00
daniel
9d38f87a2d
instrument: one VELOCITY deck for all three velocity curves, bipolar and off by default for pitch and filter
...
Payload v12 appends the new velocity->pitch curve and folds the retired filter velAmount into its now-bipolar curve, so pre-v12 projects reopen sounding identical. Preview button takes a drawn play triangle.
2026-07-31 19:15:17 -04:00
daniel
0fe4166d7d
loop: crossfade the Gate sustain seam, and unshadow the loop handles that made loop points look gone
2026-07-31 17:36:36 -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
67215509cb
feat: run the per-voice filter between the pitch and amp stages, with its own deck
...
Params ride the one parameter set; payload v8 -> v9, off by default.
Deck composition moves to a pure deck_groups module in pitch -> filter -> amp order.
2026-07-30 15:26:14 -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
354192ae27
Cut core/instrument/map comment bloat ~30% (comments only, zero code change)
2026-07-29 20:48:35 -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
daniel
847936f813
Q-W1 pt2: core/shell/app relocation + sub-namespaces; one concrete ui::Rect (LTRB fork retired); slot_map split from bank_book; BankIndex→BankModel; 59/59 green
2026-07-28 21:34:09 -04:00