feat(view): D2 view shell — apply mode toggle plan to live project
Reads I_FOLDERDEPTH into a FolderTree (pure view_tree helper, unit-tested), snapshots to-be-parked tracks before parking, runs the D1 planner, and applies park/restore flag + per-FX-offline writes under an undo block. Master and mute/solo untouched; acts only on tagged tracks.
This commit is contained in:
@@ -45,6 +45,17 @@ target_include_directories(capture_paths PUBLIC src)
|
||||
add_library(view_mode_model STATIC src/view_mode_model.cpp)
|
||||
target_include_directories(view_mode_model PUBLIC src)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2d) Pure view_tree library — NO REAPER, NO SWELL. The one testable-outside-DAW
|
||||
# piece of the D2 view shell: turning REAPER's linear I_FOLDERDEPTH stream into
|
||||
# the parent<->child FolderTree the model consumes. The REAPER reads stay in
|
||||
# view.cpp; this fiddly folder-depth walk is unit-tested here (mirrors
|
||||
# capture_paths splitting the path math out of the capture shell).
|
||||
# ---------------------------------------------------------------------------
|
||||
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)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 3) Standalone tests for the pure modules (run without launching REAPER).
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -65,6 +76,10 @@ add_executable(view_mode_model_tests tests/test_view_mode_model.cpp)
|
||||
target_link_libraries(view_mode_model_tests PRIVATE view_mode_model)
|
||||
add_test(NAME view_mode_model_tests COMMAND view_mode_model_tests)
|
||||
|
||||
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)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 4) The REAPER extension — a loadable module (dlopen'd by REAPER, not linked).
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -73,6 +88,8 @@ add_library(reaper_reasampler MODULE
|
||||
src/capture.cpp
|
||||
src/persist.cpp
|
||||
src/view_mode_model.cpp
|
||||
src/view_tree.cpp
|
||||
src/view.cpp
|
||||
)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths)
|
||||
target_include_directories(reaper_reasampler PRIVATE ${SDK_INC} ${WDL_INC})
|
||||
|
||||
Reference in New Issue
Block a user