daniel
41a3016e63
Land the package filesystem shell: streaming atomic package_io, journaled rollback carve-out, asymmetric platform pickers
2026-08-02 17:19:29 -04:00
daniel
09a9ef838f
1.4.003 (Θ/Ξ/Ψ/Ρ)
2026-08-02 17:14:49 -04:00
daniel
573e878cbd
Release 1.4.0 hygiene: license, version bump, drop scratch DSP
...
Add AGPL v3 LICENSE, bump version to 1.4.0, remove unreferenced non-compiling temp_cortex/ limiter scratch files, and extend .gitignore for .idea/, AGENTS.md, and cmake-build-* dirs.
2026-08-02 04:04:17 -04:00
daniel
d04045be69
build: split the 1423-line root CMakeLists into per-directory files with shared target helpers
2026-07-30 12:19:18 -04:00
daniel
b9d85161e5
Merge Θ-W2-T3: full-width piano strip with uniform key widths, note tooltips, one toolbar font
2026-07-30 11:09:57 -04:00
daniel
3cb6b9de21
Fix filter test/doc claims: retracted DF1 limit-cycle rationale, notch-depth overreach, stale drive-branch wording
2026-07-30 11:04:20 -04:00
daniel
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
2026-07-30 11:04:20 -04:00
daniel
902030bfba
Rebuild the instrument filter as a TPT/SVF with a continuous HP-BP-LP morph and a configurable drive stage
2026-07-30 11:04:20 -04:00
daniel
78e112d1f9
Port Cortex-M4 resonant filter to a pure vtable-free core/instrument/engine/filter module with 0.1-10 Q and log cutoff
2026-07-30 11:04:20 -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
9812690b96
Fix stale hover latch on drag release, tooltip anchor, border off-by-one; pin gutter golden test, drop DPI framing
2026-07-30 11:03:41 -04:00
daniel
ae23ee0882
Rebuild the chrome band: full-width piano strip with uniform key widths, note tooltips, one toolbar font
2026-07-30 11:03:41 -04:00
daniel
fb12c53522
Type-enforce the waveform overlay contract, narrow waveformLanes to LaneSplit, fix laneCount/cache/path-fallback bugs
2026-07-30 09:35:11 -04:00
daniel
2a0d10fab5
Stack L/R waveform lanes in stereo mode, with overlays drawn once at full band height
2026-07-30 09:04:57 -04:00
daniel
81f5861ba4
Merge Θ-W1-T2: fix drag-out audio loss and FX-container drops, re-home ingest
2026-07-30 08:44:49 -04:00
daniel
e304f2b031
Fix embed use-after-free, restore golden fixture + refs tests, drop dead note_entry
2026-07-30 08:01:22 -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
0800760833
Fix drag-out losing audio and FX-container drops losing the capture; re-home ingest under shell/actions
2026-07-29 23:49:53 -04:00
daniel
1a62e10467
1.0.0
2026-07-29 14:23:44 -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
75aa93f913
Q-W5: persist → session/ext_state_io/prune_fs (deletion authority concentrated); one GetProjExtState grow-loop in bridge_marshal (T2-04, ×3 rewired); bank_book JSON codec → bank_book_json via private static nameKey; persist.h stays umbrella. 61/61 green.
2026-07-29 13:06:38 -04:00
daniel
430e117620
Q-W4: split actions.cpp into design_view_actions/bank_actions/prune_action + shared action_registry; bank verbs deduped into promptless bankOp* inner verbs in panel_bank_ops (one mutation home, two UX skins); command-id strings byte-identical; actions.h shim carrier retired
2026-07-29 12:56:02 -04:00
daniel
09f7173db2
Q-W3: main.cpp → pointers+entry+dispatch via 4 capture hoists; one pure wav_codec RIFF owner; ICaptureBackend deleted; capture_realtime rename + finalize split; shared stampCaptureSample; makeUniqueTag gains monotonic counter (fixes same-second batch collisions). 60/60 green.
2026-07-29 11:33:28 -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
30a4ffd01b
Q-W2: split bank_panel.cpp (3459 LOC) into eight shell/panel TUs — reasampler::panel internals, per-seam public headers, shim retired; zero behavior change, 60/60 green
2026-07-29 11:29:10 -04:00
daniel
2d59bbe35d
Q-W1 code-review follow-ups: restore 104 trailing newlines, relocate reasampler_uid.h to core/wire, drop ext_keys namespaces shim, add slot_map_tests, golden serialize literals for 4 modules, namespaces.h/pragma-once ordering sweep. 60/60 green.
2026-07-28 21:34:09 -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
daniel
67a41728f3
Q-W1 pt1: extract core/json (json::Reader/Writer), collapse wire Cursor family into core/wire, shared readFileBytes — five JSON decoders and three cursor copies deleted, byte-identical formats, 59/59 green
2026-07-28 21:34:09 -04:00
daniel
363c091308
0.9.9
2026-07-28 14:26:14 -04:00
daniel
a4aeb9dcc8
fix(pS-usage): fail-safe prune protection — in-wire owner nonce + sticky union poison, protect-all on zero identified, abort on unreadable record, rsusage_ prefix
2026-07-28 13:32:14 -04:00
daniel
5886ae1456
pS-usage: captures held by live ReaSampler 9000 instances are un-prunable — instances publish usage_<guid> ext-state records (ComponentState v11), prune unions live holds into referenced
2026-07-28 12:56:36 -04:00
daniel
b4dd6dc9f1
fix(drop-fx): inject via .vstpreset + TrackFX_SetPreset (vst_chunk is REAPER-framed, raw bytes silently no-op); FX hotspot now prefix tcp.fx*/mcp.fx*/fx_*
2026-07-28 06:19:29 -04:00
daniel
a66acb7473
Merge pS-fb1-sampleview: FB1 (r11) Sample-view recompose — knob deck, full-width hero, curve popup, post-mixer master gain (v8)
2026-07-27 23:38:30 -04:00
daniel
43155cf320
Phase S FB1 (r11): Sample-view recomposition — knob deck + elastic full-width hero + curve popup w/ right-click delete + post-mixer master gain (ComponentState v8)
2026-07-27 23:08:04 -04:00
daniel
247d1034b0
fix(comments): correct canary justification and expand failure guidance in padding tests
2026-07-27 22:59:08 -04:00
daniel
3790677097
bump to 0.9.8; add padded-canary build (app_version_padding_tests)
...
Canary re-proven on this base: reconstruct-from-components trips the
fixture checks; an unpadded fixture trips the non-vacuity assertion.
De-literalizes stale version examples in comments.
2026-07-27 22:51:16 -04:00
daniel
cd64be9129
remove dead action_buttons module (superseded by action_bar in Phase L)
...
Deletes src/action_buttons.{h,cpp} and tests/test_action_buttons.cpp;
removes the static library, test target, and reaper_reasampler link
entry from CMakeLists.txt; scrubs all dangling comment references.
2026-07-27 22:04:27 -04:00
daniel
21c3656bf7
Merge pS-w2-t2-velcurve: velocity->amp transfer curve (velocity_curve spline + zones-payload v7 + Voice::start apply)
2026-07-27 15:00:10 -04:00
daniel
8a7dc4b1c6
fix(trigger-seam): thread startFrame into both envelope converters; extract pure triggerPlayLength module + tests
2026-07-27 14:37:05 -04:00
daniel
a1f9dcf6f8
S-VIEW-9: velocity->amp transfer curve (pure velocity_curve module + zones-payload v7 + Voice::start apply)
...
Default flat y=1 (R10-F1 Option A) replaces the linear velocity/127 at note-on — a deliberate, non-back-compat behavior change; v1-v6 blobs lift to the flat default.
2026-07-27 14:18:01 -04:00
daniel
c12a374b88
Phase S Wave 2: three-view ReaSampler 9000 editor (Sample home / Browse modal / Zone)
...
Retire the flat toggle; Sample-home face wires the Wave-1 envelope overlay + draggable nodes, preview button + velocity knob, Mono/Stereo, key-track. Browse reduced to a confirm/cancel modal; Zone retained with piano-pattern strip. RT-safe off-thread preview-note mailbox added.
2026-07-27 14:17:58 -04:00
daniel
12a7d072ac
S-VIEW-3: add envelope_overlay + envelope_edit pure modules
...
AHDSR/Trigger params -> polyline forward map (overlay) and node hit-test +
clamped/monotonic pixel->param inverse map (edit) for the draggable Sample-view
envelope. Engine-free, unit-tested, wired into ctest. No shell changes.
2026-07-27 13:24:48 -04:00
daniel
774d753b4c
Phase L L3: restyle VST editor + embed strip through the L1 kit (B pastel + spectral strip)
2026-07-27 05:30:44 -04:00
daniel
26e2bf2fc6
S17 drop-and-load onto track FX button; S13 editor drop-accept (relay degraded)
...
S17: drag_out InstrumentDrop gesture + instrument_drop blob reusing the
instrument's own serializer; bank_panel FX hover-track + add-VST/vst_chunk
inject. S13 relay deferred (read-only bridge) — editor shows drop affordance.
2026-07-27 04:34:01 -04:00
daniel
4f30124ef7
S12: editor scale + S15/S16 control surfaces
...
Pure browser_scroll/note_entry/param_slider modules (+ CTest) for scroll,
type-to-filter search, numeric note entry, and the AHDSR/Trigger/pitch-engine/
pitch-env control panel. Editor shell draws + routes through them; params edit
the selected zone's ZonePlayParams via commitAndReload.
2026-07-27 04:20:34 -04:00
daniel
f79b9cafa3
Merge ps-w10-vst-channel: S18 VST3 channel isolation
2026-07-27 04:20:34 -04:00
daniel
1193a52ea4
Merge ps-w9-t2-modes: S15/S16 sampling modes + pitch engines
2026-07-27 04:18:03 -04:00
daniel
fe55a9a96e
feat(vst): S18 VST3 channel isolation — beta ReaSampler 9000 pairs with beta extension only
...
Fork the VST3 class UID (beta UID minted+frozen), on-disk name, and display
name by the one channel bit via app_version; couple UID selection to the
channel at compile time so a refactor can't split identity from data.
2026-07-27 04:16:49 -04:00
daniel
1e1d6bddbb
S15/S16: Gate(AHDSR)/Trigger play modes + Varispeed/Preserve pitch engines + AD pitch envelope
...
Per-zone play params on SampleData; hand-rolled pure pitch_shift OLA for Preserve (WDL drags
windows.h); zone-payload v3 tail; RT-safe pre-warmed shifters + Preserve voice cap.
2026-07-27 04:16:48 -04:00
daniel
66d47fb410
feat(S9/S8): bank-generation change-detection + instrument-side assignment reader
...
Extension stamps a monotonic bank_generation counter, bumped at content
mutations; the VST3 instrument polls it off-thread on an editor timer and
consumes assignment requests, refreshing playback hands-free.
2026-07-27 04:15:59 -04:00