feat: add M6 insert — place selected bank sample at edit cursor
InsertMedia-driven placement reading the bank panel selection, undo-wrapped. Native length by default; conform-to-tempo is an explicit second action, never a silent stretch. Pure mode-bit logic (insert_plan) unit-tested.
This commit is contained in:
+16
-1
@@ -65,6 +65,15 @@ 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)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2e) Pure insert_plan library — NO REAPER, NO SWELL. The InsertMedia `mode`
|
||||
# bitmask arithmetic behind the `insert` shell (M6). Split out so the
|
||||
# load-bearing bit computation (no silent stretch, opt-in conform) is
|
||||
# unit-tested outside the DAW; the InsertMedia call itself is DAW-verified.
|
||||
# ---------------------------------------------------------------------------
|
||||
add_library(insert_plan STATIC src/insert_plan.cpp)
|
||||
target_include_directories(insert_plan PUBLIC src)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 3) Standalone tests for the pure modules (run without launching REAPER).
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -93,6 +102,10 @@ 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(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)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 4) The REAPER extension — a loadable module (dlopen'd by REAPER, not linked).
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -112,6 +125,8 @@ add_library(reaper_reasampler MODULE
|
||||
src/capture.cpp
|
||||
src/persist.cpp
|
||||
src/bank_panel.cpp
|
||||
src/insert.cpp
|
||||
src/insert_plan.cpp
|
||||
${LICE_SRC}
|
||||
src/view_mode_model.cpp
|
||||
src/view_tree.cpp
|
||||
@@ -119,7 +134,7 @@ add_library(reaper_reasampler MODULE
|
||||
src/track_guid.cpp
|
||||
src/actions.cpp
|
||||
)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths peaks bank_grid view_mode_model)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths peaks bank_grid view_mode_model insert_plan)
|
||||
target_include_directories(reaper_reasampler PRIVATE ${SDK_INC} ${WDL_INC})
|
||||
set_target_properties(reaper_reasampler PROPERTIES PREFIX "" OUTPUT_NAME "reaper_reasampler")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user