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
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
7528a53a2a
feat(vst-editor): bump default window to 840x560 + checkSizeConstraint floor (S-VIEW-SIZE-1)
2026-07-27 13:26:11 -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
a54af277e4
S12: store wall-clock ADSR/pitch-env as seconds, resolve to frames at live rate
...
Kill kTier0Nominal*, adsrNeedsRateResolve, tier0Adsr, gateAdsr. Zones payload v5 carries
seconds; v3 legacy reads convert at the frozen authoring rate; v4 (branch-only) dropped.
Editor sliders now seconds. Engine takes frames resolved at keymap build.
2026-07-27 04:25:38 -04:00
daniel
1d338318e7
fix: S12 R2 — marker-drag sets selectedZone_, ADSR rate-resolve, gateAdsr doc
...
Marker drag now sets selectedZone_ so single-capture controls stay reachable. Lifted/default ADSR rescales nominal 44100-Hz frame counts by sampleRate/44100 via adsrNeedsRateResolve; v4-authored zones skip rescale. gateAdsr documented vestigial.
2026-07-27 04:20:34 -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
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
daniel
75f717bd47
Merge ps-w8-t2-waveform: S11 waveform view + draggable loop points
2026-07-27 04:15:08 -04:00
daniel
38238c66ac
fix S11 review: extract upsertPickedOverride, restore map_ on drag-cancel, clamp start to frames-1, pin startFrame>loopEnd wrap test
2026-07-27 04:09:50 -04:00
daniel
4a3551b3b9
S7: stereo channel mode — core channel dimension, v4 mode state, VST3 bus negotiation, editor toggle
...
Per-instance mono|stereo (default mono, byte-identical). Stereo grows SampleData a 2nd
channel + a per-channel VoiceEngine render; decodeChannels applies the cross-mode policy;
setBusArrangements pins the mode's arrangement and restartComponent(kIoChanged) re-negotiates.
2026-07-27 04:09:50 -04:00
daniel
9743547dff
S11: waveform view with draggable start/loop markers + zero-crossing snap
...
Pure waveform_view module (frame<->pixel markers, zero-crossing snap); per-zone
loop/start overrides on PerformanceZone with self-versioning zone payload; core
start-point read offset; editor waveform surface with drag machine.
2026-07-27 04:09:50 -04:00
daniel
7151e19432
S10: capture-first ReaSampler 9000 editor — browser, single-capture setup, zones toggle
...
Reverse S4 auto-select (empty=silence+empty state), add peak-thumbnail capture
browser + bank filter + keyboard-strip drag machine, v3 component state (selection
+ zones), and the S-NAME-1 filename/display rename (UID locked). MSVC min/max
macro collisions fixed post-implementation; 26/26 tests green.
2026-07-27 04:09:50 -04:00
daniel
2356958930
S5 Tier-1: zoned keymap editor + performance-map playback/persistence
...
Zone editor in the IPlugView LICE surface, zoned resolution built off-thread into the
LoadedInstrument keymap with Tier-0 fallback, performance map in VST3 component state
with v1 back-compat. Pure resolve/build/serialize + geometry with CTest coverage.
2026-07-27 04:07:10 -04:00
daniel
0cde457224
S4 Tier 0: the bank plays — VST3 marshals MIDI to the S3 core, reads the live bank + resolves WAV the M4 way, mono downmix, lock-free load handoff, LICE sample-pick
2026-07-27 04:07:09 -04:00
daniel
3c2a7c45b2
feat(vst): stand up VST3 instrument spike (S1) — skeleton, IPlugView↔LICE editor, REAPER bridge read
...
Vendor Steinberg VST3 SDK (v3.7.9_build_61); add reasampler_vst.vst3 as a second, additive build artifact with pure editor-geometry + bridge-marshal helpers under CTest.
2026-07-27 04:02:28 -04:00