c5f7d0e21f
docs: add TODO for persisting VST instance identity so prune reclaims de-referenced captures after reopen
daniel2026-07-28 14:12:55 -04:00
74ab2681ed
Merge pS-usage: captures held by live ReaSampler 9000 instances are un-prunable — instances publish usage records (ComponentState v11), prune unions live holds; fail-safe to protect/abort
daniel2026-07-28 14:08:16 -04:00
ec83f14738
fix(pS-usage): close delete-ward residuals — remint on corrupt, named abort keys, truncation protect-all, abort->protect-all set
daniel2026-07-28 13:54:10 -04:00
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
daniel2026-07-28 13:32:14 -04:00
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
daniel2026-07-28 12:56:36 -04:00
0ce30cc885
docs: preview via real MIDI path (PreviewCard retired) + self-contained playback (v10 SampleRefs, bank-free decode, heal removed); fix stale reloadFromBank refs
daniel2026-07-28 12:28:25 -04:00
f988ded543
Merge pS-preview: preview via the real MIDI note path (PreviewCard retired) + self-contained playback (ComponentState v10 SampleRefs, bank-free decode, heal/poll-to-play removed)
daniel2026-07-28 12:18:38 -04:00
cb89dbf5c4
pS remediation: legacy lift terminates on stale-id proof; displayName in v10 refs; refs-reader range fallbacks; load path keeps owned refs
daniel2026-07-28 12:17:36 -04:00
261a6affa5
self-contained playback — ComponentState v10 SampleRefs (path+intrinsics owned by the instance), reloadInstrument decodes bank-free, heal timer + poll-to-play removed; bank is a browser source
daniel2026-07-28 11:45:10 -04:00
81c4658711
Preview rides the real note path: mailbox drains into VoiceEngine noteOn/noteOff at the root note; PreviewCard retired; first-poll reopen heal reloads a silent-but-should-be-loaded instrument
daniel2026-07-28 10:30:51 -04:00
6b85df8a8c
Merge pS-ga3-tail: Preserve tail wind-down — freeze SOLA writer at source end so the tail + release play clean (no DC-splice chop)
daniel2026-07-28 10:09:42 -04:00
4f7e15390f
fix(pitch_shift): re-anchor fadePos_ on freeze so gNew is continuous at the freeze frame; guard left cast; add step-detector + loop-never-freezes regression
daniel2026-07-28 10:09:23 -04:00
917626a287
fix(preserve): GA3 tail wind-down — freeze the SOLA writer at source exhaustion so the tail recycles frozen real content (no DC-splice chop through the final window + release)
daniel2026-07-28 09:50:28 -04:00
39ea6ce7db
fix(sampler_core): gate takeover declick by (1-amp) to remove zero-attack +6 dB blip and long-attack notch; clamp seed to +/-1; add zero-attack test
daniel2026-07-28 06:59:05 -04:00
3d0406ef64
test(pitch_shift): tighten purity f0 to 1/196 so revert-of-fadeLen_ fails; add hop guard; clamp fadeLen_ in double before int64 cast
daniel2026-07-28 06:59:04 -04:00
66f2e402b0
fix(instrument_drop_win): UTF-8 temp path, PID collision guard, embed-strip excluded from drop hotspot
daniel2026-07-28 06:37:42 -04:00
e435ab1b8f
fix(review): dead silenceFlags store removed; channelModeFor extracted + tested; auto-default + drop comments corrected; v9 constant minted
daniel2026-07-28 06:37:39 -04:00
436a685984
fix(pitch_shift): ratio-scale splice fade so +24st up-shifts never read stale data; normalize SOLA correlation by candidate energy; tests bracket 4x/0.5x + unity/latency asserts
daniel2026-07-28 06:37:38 -04:00
056ccd003e
fix(voice): declick every takeover of a sounding voice — mono retrig/fallback and poly at-cap steal; same-block double-steal keeps its seed; over-cap repro proves the engine steals exactly one voice per note-on
daniel2026-07-28 06:37:36 -04:00
8fc2c8f2e0
fix(bank_panel): capture mouse at drag-arm time so first straight-out drag fires OS drop
daniel2026-07-28 06:19:31 -04:00
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_*
daniel2026-07-28 06:19:29 -04:00
3e6629a867
fix(vst): pin output bus to stereo (mode is decode-only) killing the hard-right pan; auto-default channel mode from the loaded capture (state v9)
daniel2026-07-28 06:19:28 -04:00
22d7893431
fix(preserve): correlation-aligned splices replace dual-tap OLA — fixed w/2 tap offset anti-phase-cancelled crossfades (beating/partials on repitched sines); spectral-purity test added
daniel2026-07-28 06:19:26 -04:00
104a25f390
docs: FB2 Zone-panel parity landed — S-VIEW-13 to COMPLETED, r11 editor recompose complete (Wave B closed)
daniel2026-07-28 00:14:16 -04:00
24c3172727
Merge pS-fb2-zoneparity: FB2 (R11-F2) Zone-panel parity — one knob-deck + curve-popup grammar across Sample and Zone
daniel2026-07-28 00:10:36 -04:00
40bcf0d56d
fix(editor): close curve popup on zone-count change; degenerate-rect guard + comment corrections
daniel2026-07-28 00:09:13 -04:00
682c21509a
FB2: Zone panel adopts the r11 knob deck + curve popup (R11-F2 parity) — slider rows and inline curve box retired, zone-authoring affordances kept
daniel2026-07-27 23:58:07 -04:00
d272aab0df
docs: record FB1 r11 Sample-view recompose + master gain (v8); move S-VIEW-11/12 to COMPLETED; correct stale r11 zero-state-change line
daniel2026-07-27 23:58:05 -04:00
e2c73e30d6
fix(vst): master-gain per-sample ramp (no zipper/click); voice-count commits once on release; minor review items
daniel2026-07-27 23:30:27 -04:00
2b8ab4abe4
Merge pS-fa3-waveform: gap-free per-column min/max waveform render (columnMinMax in peaks, shared across panel + editor)
daniel2026-07-27 19:47:49 -04:00
69d5621f51
Merge pS-zonebleed: fix zone-bleed (3a) — Sample-face zone reconcile so the played zone matches the drawn one
daniel2026-07-27 19:47:09 -04:00
7fd812bd34
fix(vst): zone-bleed (3a) — reconcile the Sample-face zone on load so the loaded sample zone is the one first-match resolve plays
daniel2026-07-27 19:09:53 -04:00
b3c9fad9ba
fix(waveform): 4x-oversampled min/max envelope, columnMinMax homed in peaks, panel routed through shared drawWaveform — one gap-free algorithm on all surfaces
daniel2026-07-27 19:09:50 -04:00
0e8b1b72cf
S-VIEW-10: velocity-curve editor UI — draggable spline box beside the Sample hero + in the Zone panel, all math through the pure velocity_curve module
daniel2026-07-27 15:51:36 -04:00