Commit Graph

15 Commits

Author SHA1 Message Date
daniel 7cd1a2588e fix: replace multi-byte UTF-8 in runtime UI strings with ASCII to fix Windows-1252 mojibake 2026-07-26 16:09:13 -04:00
daniel 8c0ce427e8 Merge dev into phase-b-multibank (m11 console cleanup + Phase S/V docs) before dev promotion
# Conflicts:
#	src/actions.cpp
#	src/main.cpp
2026-07-26 15:41:25 -04:00
daniel 3514bb0b6d route bank_panel bank-op persists through persistBankOp so panel gestures get undo points like the bindable actions 2026-07-26 15:25:15 -04:00
daniel 6c1efa0f25 B5: sample-remove verb — index-only drop, this-bank scope, confirm-on-last-reference 2026-07-26 15:07:41 -04:00
daniel a07b28fd65 feat(persist): reload book+view on undo/redo via projectconfig hook (R-B)
BeginLoadProjectState(isUndo) requests a deferred reload the timer drains
next tick, once REAPER has restored ext-state. Hook owns undo/redo; identity
poll still owns open/tab-switch/save-as. Fixes copy-collapse over-count
(verb-aware guard) and dangling undo point on unsaved-project bank ops.
2026-07-26 06:59:26 -04:00
daniel 6d372794f5 feat(actions): batch bank index verbs into single REAPER undo points (R-B)
Wrap each bank verb's persist in Undo_BeginBlock2/EndBlock2 with UNDO_STATE_MISCCFG so one bank op is one Ctrl-Z; ext-state participates in undo per SDK. Rejected/no-op ops open no block.
2026-07-26 05:49:38 -04:00
daniel 2ee2b37532 chore: remove routine console chatter, keep error reporting
Strip ShowConsoleMsg from all normal-success paths (loaded, captured, bank
create/rename/delete/evacuate/activate, realtime started, insert ok, transfer
summary). Remove dead REAPERAPI_WANT_ShowConsoleMsg in capture.cpp.
Error/failure/malformed-data paths and modal confirms untouched.
2026-07-26 05:48:41 -04:00
daniel c33cb50632 Merge dev into phase-b-multibank (integrate parallel M7/8 + Phase D work before dev promotion)
# Conflicts:
#	CLAUDE.md
#	CMakeLists.txt
#	src/actions.cpp
#	src/bank_panel.cpp
#	src/persist.h
2026-07-25 23:30:44 -04:00
daniel a67a2f9479 feat(bank_panel): B4 vertical-split UI — LICE tab strip, id-keyed bank ops, move/copy drag
Pool grid on top, LICE-drawn named-banks tab strip below with overflow-scroll
(new pure tab_strip seam, unit-tested). Full-height toggles, unmistakable
active-bank readout distinct from the shown tab, tab context menu
(activate/rename/delete/evacuate/create) with rich confirm-on-non-empty-delete,
and move/copy via menu + drag with drop-highlighting. Fold-in: deserialize
auto-disambiguates duplicate folded bank names instead of rejecting the book.
2026-07-25 14:37:57 -04:00
daniel 261efe5452 feat(actions): item-level Design/Arrange move + untag actions; W3-A polish
Add three MIDI-bindable item actions mirroring the track tag family, routed
through the shared hookcommand: retag selected items' membership then re-drive
mint/apply so each lands on its mode's managed lane (manual-lane items exempt),
all in one undo block. Extract shared item_read seam, simplify applyMintPlan's
lane-count pass, and guard reconcile against unregistered-mode lanes.
2026-07-25 13:30:07 -04:00
daniel ccf65415c9 fix(banks): enforce unique bank display names in-model + B3 review minors 2026-07-25 01:29:47 -04:00
daniel cbfc13c4e0 feat(banks): bindable multi-bank action family — create/rename/delete/evacuate/activate/move/copy + full-height toggles (B3) 2026-07-24 05:35:16 -04:00
daniel fad2544256 feat(actions): prompt Save-As on Design View tag when project is unsaved
Mirrors capture: when membership is non-empty and the project has no .rpp,
Main_SaveProject(proj, true) prompts Save-As before persisting; cancel leaves
the in-session tag state intact and warns via console.
2026-07-23 14:35:19 -04:00
daniel cde8feda57 fix(actions): persist Design View state after every mutating action
Design View actions mutated the model but never pushed it to ext-state, so
tags/active-mode/snapshots were lost on save/reopen. Add persistViewState()
(saveToActiveProject) after each handler's apply/reapply.
2026-07-23 14:10:31 -04:00
daniel ae41cad4f5 feat(view): D4 Design View action family + reapply-on-open wiring
Register toggle/activate/tag/untag/show-both actions driving the D2
shell and D3 model; reapply saved active mode on project load via a
persist load-signal seam. Shared guidString helper; pure nextModeId
unit-tested.
2026-07-22 21:46:58 -04:00