S11: waveform view with draggable start/loop markers + zero-crossing snap
Pure waveform_view module (frame<->pixel markers, zero-crossing snap); per-zone loop/start overrides on PerformanceZone with self-versioning zone payload; core start-point read offset; editor waveform surface with drag machine.
This commit is contained in:
+20
-1
@@ -659,6 +659,15 @@ add_library(keyboard_strip STATIC src/vst/keyboard_strip.cpp)
|
||||
target_include_directories(keyboard_strip PUBLIC src/vst)
|
||||
target_link_libraries(keyboard_strip PUBLIC editor_geometry)
|
||||
|
||||
# waveform_view (Phase S11) — PURE frame<->pixel mapping, marker grab regions, drag-delta
|
||||
# frame resolver, and the zero-crossing snap for the capture-first editor's waveform surface
|
||||
# (draggable start + loop markers over the picked capture's decoded PCM). The mirror of
|
||||
# keyboard_strip; links editor_geometry for the shared Rect and peaks for the AudioSample
|
||||
# alias the snap scans. NEITHER SDK.
|
||||
add_library(waveform_view STATIC src/vst/waveform_view.cpp)
|
||||
target_include_directories(waveform_view PUBLIC src/vst src)
|
||||
target_link_libraries(waveform_view PUBLIC editor_geometry peaks)
|
||||
|
||||
add_executable(editor_geometry_tests tests/test_editor_geometry.cpp)
|
||||
target_link_libraries(editor_geometry_tests PRIVATE editor_geometry)
|
||||
add_test(NAME editor_geometry_tests COMMAND editor_geometry_tests)
|
||||
@@ -686,6 +695,12 @@ add_executable(keyboard_strip_tests tests/test_keyboard_strip.cpp)
|
||||
target_link_libraries(keyboard_strip_tests PRIVATE keyboard_strip)
|
||||
add_test(NAME keyboard_strip_tests COMMAND keyboard_strip_tests)
|
||||
|
||||
# waveform_view (S11): the pure marker geometry + zero-crossing snap. Links ONLY waveform_view
|
||||
# (+ its pure editor_geometry/peaks deps) — NEITHER SDK — the same plain-data-boundary proof.
|
||||
add_executable(waveform_view_tests tests/test_waveform_view.cpp)
|
||||
target_link_libraries(waveform_view_tests PRIVATE waveform_view)
|
||||
add_test(NAME waveform_view_tests COMMAND waveform_view_tests)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 4) The REAPER extension — a loadable module (dlopen'd by REAPER, not linked).
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -865,8 +880,12 @@ if(WIN32 AND EXISTS "${VST3_SDK}/public.sdk/source/main/pluginfactory.cpp")
|
||||
# capture_browser + keyboard_strip (S10): the pure card-grid/tab + keyboard-strip
|
||||
# geometry the capture-first editor draws + hit-tests against; both link editor_geometry
|
||||
# transitively (shared Rect).
|
||||
# waveform_view (S11): the pure frame<->pixel marker geometry + zero-crossing snap the
|
||||
# editor's waveform surface draws + hit-tests against; links editor_geometry + peaks
|
||||
# transitively (shared Rect + AudioSample).
|
||||
target_link_libraries(reasampler_vst PRIVATE vst3_sdk editor_geometry bridge_marshal
|
||||
sample_map capture_paths embed_strip app_version capture_browser keyboard_strip)
|
||||
sample_map capture_paths embed_strip app_version capture_browser keyboard_strip
|
||||
waveform_view)
|
||||
# SDK_INC gives reaper_vst3_interfaces.h + reaper_plugin_functions.h for the bridge;
|
||||
# WDL_INC gives LICE for the editor. The VST3 SDK headers come from vst3_sdk PUBLIC.
|
||||
target_include_directories(reasampler_vst PRIVATE ${SDK_INC} ${WDL_INC})
|
||||
|
||||
Reference in New Issue
Block a user