feat(view): D2 Wave 2 — apply managed-lane ops + timer-diff auto-tag new content
Drives fixed-lane C_LANEPLAYS for managed lanes only (name-keyed, ordinal-renumber safe) in the view shell; diffs live track/item GUIDs on the panel timer to auto-tag new content to the active mode, first-poll-guarded. Pure guid_diff + lane_keys modules unit-tested; folds in Wave-1 polish.
This commit is contained in:
@@ -75,6 +75,28 @@ add_library(view_tree STATIC src/view_tree.cpp)
|
||||
target_include_directories(view_tree PUBLIC src)
|
||||
target_link_libraries(view_tree PUBLIC view_mode_model)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2d'') Pure guid_diff library — NO REAPER, NO SWELL. The D2 Wave-2 new-content
|
||||
# detection core: current \ previous GUID diff + the first-poll-after-open
|
||||
# baseline guard (and per-project reset). Split out so the fiddly baseline/diff
|
||||
# logic is unit-tested outside the DAW; the bank_panel timer that reads REAPER's
|
||||
# live track/item GUID set and applies the tags is DAW-verified. Mirror of
|
||||
# view_tree splitting the folder-depth walk out of view.cpp.
|
||||
# ---------------------------------------------------------------------------
|
||||
add_library(guid_diff STATIC src/guid_diff.cpp)
|
||||
target_include_directories(guid_diff PUBLIC src)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2d''') Pure lane_keys library — NO REAPER, NO SWELL. The managed/manual fixed-lane
|
||||
# heuristic (D2 Wave-2): a lane whose durable P_LANENAME:n carries the
|
||||
# "reasampler:" prefix is tool-managed and keyed by that stable name; any other
|
||||
# lane is user-minted manual and off-limits. Resolves design point #1 (auto-tag
|
||||
# exemption) and #2 (name-keyed identity survives ordinal renumber). Split out
|
||||
# so the prefix rule is unit-tested; view.cpp reads the names from REAPER.
|
||||
# ---------------------------------------------------------------------------
|
||||
add_library(lane_keys STATIC src/lane_keys.cpp)
|
||||
target_include_directories(lane_keys PUBLIC src)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2e) Pure insert_plan library — NO REAPER, NO SWELL. The InsertMedia `mode`
|
||||
# bitmask arithmetic behind the `insert` shell (M6). Split out so the
|
||||
@@ -140,6 +162,14 @@ add_executable(view_tree_tests tests/test_view_tree.cpp)
|
||||
target_link_libraries(view_tree_tests PRIVATE view_tree)
|
||||
add_test(NAME view_tree_tests COMMAND view_tree_tests)
|
||||
|
||||
add_executable(guid_diff_tests tests/test_guid_diff.cpp)
|
||||
target_link_libraries(guid_diff_tests PRIVATE guid_diff)
|
||||
add_test(NAME guid_diff_tests COMMAND guid_diff_tests)
|
||||
|
||||
add_executable(lane_keys_tests tests/test_lane_keys.cpp)
|
||||
target_link_libraries(lane_keys_tests PRIVATE lane_keys)
|
||||
add_test(NAME lane_keys_tests COMMAND lane_keys_tests)
|
||||
|
||||
add_executable(insert_plan_tests tests/test_insert_plan.cpp)
|
||||
target_link_libraries(insert_plan_tests PRIVATE insert_plan)
|
||||
add_test(NAME insert_plan_tests COMMAND insert_plan_tests)
|
||||
@@ -181,6 +211,8 @@ add_library(reaper_reasampler MODULE
|
||||
src/view_tree.cpp
|
||||
src/view.cpp
|
||||
src/track_guid.cpp
|
||||
src/guid_diff.cpp
|
||||
src/lane_keys.cpp
|
||||
src/actions.cpp
|
||||
)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths peaks bank_grid mode_switch view_mode_model insert_plan render_settings realtime_record)
|
||||
|
||||
Reference in New Issue
Block a user