Close the FX reclaim span when REAPER's own Undo/Redo is dispatched, so the switch's point mints first

Both command hooks intercept Edit: Undo (40029) and Edit: Redo (40030) and consume
nothing. Undo routes that never dispatch an action remain uncovered.
This commit is contained in:
2026-08-09 13:40:28 -04:00
parent e423bf6502
commit f6f09d983c
9 changed files with 207 additions and 13 deletions
+5
View File
@@ -39,6 +39,7 @@ add_library(reaper_reasampler MODULE
${LICE_SRC}
${REASAMPLER_SRC_DIR}/shell/capture/insert.cpp
${REASAMPLER_SRC_DIR}/shell/undo/undo_block.cpp
${REASAMPLER_SRC_DIR}/shell/undo/undo_intercept.cpp
${REASAMPLER_SRC_DIR}/shell/undo/undo_trace.cpp
${REASAMPLER_SRC_DIR}/shell/view/view.cpp
${REASAMPLER_SRC_DIR}/shell/view/fx_reclaim.cpp
@@ -78,6 +79,10 @@ reasampler_test(view_reconcile LINK applied_state view_mode_model)
# The reclaimer's drain loop is templated on its host for exactly this reason: the
# ordering, budget, debounce and resume bookkeeping run against a fake chain.
reasampler_test(fx_reclaim LINK fx_state)
# Which dispatched action id ends the span. Header-only and SDK-free, so it links nothing;
# src/shell/undo has no CMakeLists of its own for the same reason src/shell/view has none.
add_executable(undo_intercept_tests ${REASAMPLER_TESTS_DIR}/test_undo_intercept.cpp)
add_test(NAME undo_intercept_tests COMMAND undo_intercept_tests)
# Bank-package import: the promptless verb plus its action skin. Kept as its own
# appended block rather than merged into the lists above, so the two package