0fe4166d7d
loop: crossfade the Gate sustain seam, and unshadow the loop handles that made loop points look gone
daniel2026-07-31 17:36:36 -04:00
a90ccd9a00
docs: record the palette rework and retire the overlay-contrast wart it resolved
daniel2026-07-31 16:52:44 -04:00
1307007b91
Merge palette-darker-teal: deep-teal secondary, an owned spectral mid, and an overlay trace that clears the indicator floor
daniel2026-07-31 16:46:56 -04:00
a19d645a49
palette: enlarge the region title into WCAG large class; repoint the grabbed envelope handle off hue
daniel2026-07-31 14:07:01 -04:00
91f71f92bd
palette: give the spectral mid and the envelope trace their own roles
daniel2026-07-31 13:27:20 -04:00
e1e668a521
docs: close out Θ-W3-T2 into COMPLETED, collapse the W3 wave, and record the overlay contrast wart as open
daniel2026-07-31 13:20:33 -04:00
87754477a7
Merge Θ-W3-T2: one staged-envelope system — per-segment curves, the sustain-less AHD, and one overlay shared by all three envelopes
daniel2026-07-31 13:11:12 -04:00
04e4f875af
instrument: reassign loop-marker role off tertiary, onto secondary
daniel2026-07-31 12:40:15 -04:00
03fb471c92
instrument: fix AHD DecayEnd overlay/grab defect, pin flaky curve test, close comment/doc findings
daniel2026-07-31 10:19:45 -04:00
2fa1405b06
instrument: fix AHD node-tracking/tie-break/live-latch defects and close staged-envelope-curve test gaps
daniel2026-07-31 09:52:17 -04:00
d60ab1524a
instrument: latch the note done at the read-head run-off, fit the migrated fades, and lift the curve dial and overlay selection into pure modules
daniel2026-07-31 09:17:04 -04:00
13e8c5c4d9
instrument: one staged-envelope system — per-segment curves, the sustain-less AHD, and a shared overlay for all three envelopes
daniel2026-07-31 08:37:57 -04:00
87d7ceb066
docs: close out Ξ-W1-T1, Ξ-W1-T2 and Θ-W3-T1 into COMPLETED; map the note directory; document the Release build
daniel2026-07-31 07:02:54 -04:00
98594df878
Merge Θ-W3-T1: live parameter delivery to sounding voices, holding normalized stage position across time edits
daniel2026-07-31 06:44:04 -04:00
8dc76f4a1f
Merge Ξ-W1-T2: the programmed capture-signal model, its domain closed at construction
daniel2026-07-31 06:44:00 -04:00
60aeda1a3e
Merge Ξ-W1-T1: one tracking ledger and one authority behind prune protection and replace-vs-add
daniel2026-07-31 06:43:54 -04:00
efd1e41f46
instrument: narrow the live-param publish lock to its own mutex, off the reload's decode
daniel2026-07-30 21:54:20 -04:00
bbc7dc70bb
instrument: snap live params onto a fresh voice, roll a live drag back on capture loss, serialize the seqlock's two writers
daniel2026-07-30 21:39:56 -04:00
1dade0bfcf
instrument: deliver continuous playback params live to sounding voices via a seqlock block, holding normalized stage position across time edits
daniel2026-07-30 21:03:05 -04:00
dddecc5734
note: close out the model — correct an inert mutation claim, retag four non-discriminating assertions, assert Tempo's closure, fix three doc/test accuracy gaps
daniel2026-07-30 21:03:02 -04:00
a80eb76c1f
note: close every value type's domain at construction, so resolveNote is finite for every constructible input
daniel2026-07-30 20:37:12 -04:00
6287534454
fix: classify future-version ledgers with changed record shape correctly, not as corrupt
daniel2026-07-30 20:25:46 -04:00
d923b352ae
fix: harden note-program model against corrupt tempo/division/denomination records
daniel2026-07-30 20:11:06 -04:00
45b87dc2ff
tracking: read the ledger's version, not just write it; clear owned on any block; channel-correct prune recovery
daniel2026-07-30 20:11:05 -04:00
834a6ddcc7
note: land the programmed capture-signal model — division ladder, tempo resolution, anchored offsets, one record and one resolver
daniel2026-07-30 19:44:15 -04:00
7f70d94228
tracking: one ledger, one authority — prune protection and replace-vs-add answered from the same records, fail-safe on unreadable state
daniel2026-07-30 19:44:11 -04:00
7bd911d58b
docs: spec live-parameter delivery as Theta-W3-T1
daniel2026-07-30 18:33:01 -04:00
413967a205
docs: close out Θ-W2-T1 filter-voice-path into COMPLETED
daniel2026-07-30 18:23:42 -04:00
9b1a49c640
Merge Θ-W2-T1: per-voice filter between pitch and amp, its own deck, continuous corner sweep
daniel2026-07-30 18:19:12 -04:00
0cfd9b6236
filter: sweep the corner continuously; raise the editor floor to 840x620
daniel2026-07-30 18:12:10 -04:00
5420550ff3
fix: correct app CMakeLists comments, drop dead bridge_marshal link edge
daniel2026-07-30 12:40:37 -04:00
68765da031
build: route every core/ TU into reaper_reasampler through exactly one static-library link edge, never a direct compile
daniel2026-07-30 12:28:39 -04:00
d04045be69
build: split the 1423-line root CMakeLists into per-directory files with shared target helpers
daniel2026-07-30 12:19:18 -04:00
25c63fb807
docs: close out Θ-W1-T3 and Θ-W2-T2/T3 into COMPLETED; add the filter directory to the architecture map
daniel2026-07-30 11:16:21 -04:00
b9d85161e5
Merge Θ-W2-T3: full-width piano strip with uniform key widths, note tooltips, one toolbar font
daniel2026-07-30 11:09:57 -04:00
1aea481688
Merge Θ-W1-T3: TPT/SVF filter with HP-BP-LP and HP-notch-LP morph laws and a drive stage
daniel2026-07-30 11:09:44 -04:00
d2364eb5ac
Add an Oberheim-SEM morph law to the SVF filter: HP->notch->LP alongside HP->BP->LP, selected at prepare() time, free on the per-sample path
daniel2026-07-30 10:22:49 -04:00
f12700c997
Filter review fixes: gate softLimit on drive, correct flush/DF1 measurement claims, pin control-law test literals, fix stale bypass state
daniel2026-07-30 09:57:37 -04:00
902030bfba
Rebuild the instrument filter as a TPT/SVF with a continuous HP-BP-LP morph and a configurable drive stage
daniel2026-07-30 09:14:13 -04:00
7d42d7ed29
Make the high-pass feedback tap a fixed 1/48000 s interval so resonance stops scaling with sample rate; 48k and 44.1k bit-identical
daniel2026-07-30 08:01:28 -04:00
7af3c0c630
Fix filter DSP click-train flush and finish namespace nesting + test coverage
daniel2026-07-30 07:00:41 -04:00
78e112d1f9
Port Cortex-M4 resonant filter to a pure vtable-free core/instrument/engine/filter module with 0.1-10 Q and log cutoff
daniel2026-07-30 00:09:06 -04:00
e89568c1a8
Clear stale hover on capture-loss and Alt-delete; derive gutter test via chromeRects
daniel2026-07-30 10:39:27 -04:00
9812690b96
Fix stale hover latch on drag release, tooltip anchor, border off-by-one; pin gutter golden test, drop DPI framing
daniel2026-07-30 09:35:18 -04:00
ae23ee0882
Rebuild the chrome band: full-width piano strip with uniform key widths, note tooltips, one toolbar font
daniel2026-07-30 09:14:07 -04:00
ea52b14f2a
Merge Θ-W2-T2: stacked L/R waveform lanes with a type-enforced full-height overlay contract
daniel2026-07-30 10:59:47 -04:00
4d2316b77c
docs(phase-q): record Q-W4/Q-W5/Q-W6 landings — all seven waves structurally complete; remaining: DAW verification batch, CLAUDE.md refresh, dev merge
daniel2026-07-29 13:57:44 -04:00
d1202b3174
Merge pq-w6-table: Q-W6 — OCP registration table (adding an action touches one row); bank verbs lifted to shell/bank_ops(Session&); persist.h umbrella, wav_trim shim, and core/namespaces.h all retired; grow-loop rehomed to core/wire; FOREVER-STABLE strings byte-identical; 61/61 green
daniel2026-07-29 13:51:47 -04:00
cd12b97631
Q-W6 review follow-ups: drop stale wav_trim clause, fix stale include comment, idempotent action-table clear, reflow ragged comment, align session.h trailing comments
daniel2026-07-29 13:51:35 -04:00
3bcd4dcc7b
Merge pq-w3-main: Q-W3 — main.cpp → pointers+entry+dispatch via 4 capture hoists; one pure wav_codec RIFF owner (golden hash pinned); ICaptureBackend deleted; capture_realtime rename + finalize split; stampCaptureSample dedupe; makeUniqueTag monotonic counter; 61/61 green
daniel2026-07-29 11:37:13 -04:00
6108673c84
Q-W3 rebase fix: hoisted capture TUs include the Q-W2 panel seam headers (panel_bank_ops/panel_input) instead of the deleted bank_panel.h
daniel2026-07-29 11:36:32 -04:00