S17 drop-and-load onto track FX button; S13 editor drop-accept (relay degraded)
S17: drag_out InstrumentDrop gesture + instrument_drop blob reusing the instrument's own serializer; bank_panel FX hover-track + add-VST/vst_chunk inject. S13 relay deferred (read-only bridge) — editor shows drop affordance.
This commit is contained in:
+23
-1
@@ -346,6 +346,20 @@ target_include_directories(action_buttons PUBLIC src)
|
||||
add_library(drag_out STATIC src/drag_out.cpp)
|
||||
target_include_directories(drag_out PUBLIC src)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2l') Pure instrument_drop library — NO REAPER, NO SWELL, NO VST3 SDK. The S17
|
||||
# drop-and-load blob-construction core: turn the dragged capture id into the
|
||||
# base64 "vst_chunk" the extension injects via TrackFX_SetNamedConfigParm so a
|
||||
# freshly-added ReaSampler 9000 plays that capture. Reuses the instrument's OWN
|
||||
# serializer (sample_map::serializeComponentState) — NOT a parallel byte writer —
|
||||
# so the cross-artifact blob contract cannot drift; links sample_map (which pulls
|
||||
# bank_book/wav_trim/sampler_core transitively) and NEITHER SDK. The round-trip
|
||||
# test decodes back through the instrument's own reader. Mirror of assignment_request.
|
||||
# ---------------------------------------------------------------------------
|
||||
add_library(instrument_drop STATIC src/instrument_drop.cpp)
|
||||
target_include_directories(instrument_drop PUBLIC src src/vst)
|
||||
target_link_libraries(instrument_drop PUBLIC sample_map)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2m) Pure theme library — NO REAPER, NO SWELL, NO LICE. The Phase L (L1) palette
|
||||
# core of the shared drawing kit: a ROLE-based color model (bg/base..warn), the
|
||||
@@ -590,6 +604,13 @@ add_executable(drag_out_tests tests/test_drag_out.cpp)
|
||||
target_link_libraries(drag_out_tests PRIVATE drag_out)
|
||||
add_test(NAME drag_out_tests COMMAND drag_out_tests)
|
||||
|
||||
# instrument_drop (S17): the drop-and-load vst_chunk blob builder. The round-trip test
|
||||
# decodes the base64 back through the instrument's OWN reader (deserializeComponentState) to
|
||||
# prove the extension injects exactly what setState accepts — the cross-artifact contract guard.
|
||||
add_executable(instrument_drop_tests tests/test_instrument_drop.cpp)
|
||||
target_link_libraries(instrument_drop_tests PRIVATE instrument_drop)
|
||||
add_test(NAME instrument_drop_tests COMMAND instrument_drop_tests)
|
||||
|
||||
add_executable(theme_tests tests/test_theme.cpp)
|
||||
target_link_libraries(theme_tests PRIVATE theme)
|
||||
add_test(NAME theme_tests COMMAND theme_tests)
|
||||
@@ -840,6 +861,7 @@ add_library(reaper_reasampler MODULE
|
||||
src/bank_book.cpp
|
||||
src/owned_manifest.cpp
|
||||
src/drag_out_win.cpp
|
||||
src/instrument_drop_win.cpp
|
||||
src/action_bar.cpp
|
||||
src/footer_bar.cpp
|
||||
src/overflow_menu.cpp
|
||||
@@ -848,7 +870,7 @@ add_library(reaper_reasampler MODULE
|
||||
src/card_meta.cpp
|
||||
src/card_drag.cpp
|
||||
)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths peaks bank_grid mode_switch tab_strip view_mode_model insert_plan render_settings batch_capture tail_control realtime_record bank_book wav_trim owned_manifest prune_reconcile prune_button app_version provenance action_buttons drag_out theme component_geometry action_bar footer_bar overflow_menu mode_enable tooltip card_meta card_drag assignment_request bank_sync)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths peaks bank_grid mode_switch tab_strip view_mode_model insert_plan render_settings batch_capture tail_control realtime_record bank_book wav_trim owned_manifest prune_reconcile prune_button app_version provenance action_buttons drag_out instrument_drop theme component_geometry action_bar footer_bar overflow_menu mode_enable tooltip card_meta card_drag assignment_request bank_sync)
|
||||
target_include_directories(reaper_reasampler PRIVATE ${SDK_INC} ${WDL_INC})
|
||||
# OUTPUT_NAME is channel-derived (Phase V, V4): "reaper_reasampler" (stable, default) or
|
||||
# "reaper_reasampler_beta" (beta). REAPER dlopen's any reaper_* module, so both channels'
|
||||
|
||||
Reference in New Issue
Block a user