S15/S16: Gate(AHDSR)/Trigger play modes + Varispeed/Preserve pitch engines + AD pitch envelope
Per-zone play params on SampleData; hand-rolled pure pitch_shift OLA for Preserve (WDL drags windows.h); zone-payload v3 tail; RT-safe pre-warmed shifters + Preserve voice cap.
This commit is contained in:
+17
-1
@@ -471,9 +471,18 @@ target_link_libraries(card_drag PUBLIC drag_out bank_grid)
|
||||
# the one house precedent wav_trim also relies on). The VST3 shell (src/vst/
|
||||
# reasampler_processor.cpp) marshals MIDI/audio to/from it and is DAW-verified.
|
||||
# ---------------------------------------------------------------------------
|
||||
# pitch_shift (S16) — the pure duration-preserving PitchShifter (Preserve-engine DSP core).
|
||||
# NO VST3/REAPER/SWELL/vendor: a hand-rolled OLA shifter chosen over WDL_SimplePitchShifter
|
||||
# because that header drags <windows.h> (via wdltypes.h) into any TU that includes it, which
|
||||
# cannot enter the pure sampler_core. Links only peaks (the AudioSample alias). sampler_core
|
||||
# depends on it (Voice owns two PitchShifters).
|
||||
add_library(pitch_shift STATIC src/vst/pitch_shift.cpp)
|
||||
target_include_directories(pitch_shift PUBLIC src src/vst)
|
||||
target_link_libraries(pitch_shift PUBLIC peaks)
|
||||
|
||||
add_library(sampler_core STATIC src/vst/sampler_core.cpp)
|
||||
target_include_directories(sampler_core PUBLIC src src/vst)
|
||||
target_link_libraries(sampler_core PUBLIC peaks)
|
||||
target_link_libraries(sampler_core PUBLIC peaks pitch_shift)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 3) Standalone tests for the pure modules (run without launching REAPER).
|
||||
@@ -620,6 +629,13 @@ add_test(NAME assignment_request_tests COMMAND assignment_request_tests)
|
||||
# sampler_core: the S3 heart. Links ONLY sampler_core (+ its peaks dep) — NEITHER the
|
||||
# VST3 SDK nor the REAPER SDK — which is the structural proof of the plain-data
|
||||
# boundary (a VST3/REAPER type in the core would fail to compile/link here).
|
||||
# pitch_shift (S16): the pure Preserve-engine OLA shifter. Links ONLY pitch_shift (+ peaks) —
|
||||
# NEITHER SDK — the same plain-data-boundary proof, and specifically the compile-time proof it
|
||||
# does NOT drag in the WDL <windows.h> chain the built-in WDL shifter would.
|
||||
add_executable(pitch_shift_tests tests/test_pitch_shift.cpp)
|
||||
target_link_libraries(pitch_shift_tests PRIVATE pitch_shift)
|
||||
add_test(NAME pitch_shift_tests COMMAND pitch_shift_tests)
|
||||
|
||||
add_executable(sampler_core_tests tests/test_sampler_core.cpp)
|
||||
target_link_libraries(sampler_core_tests PRIVATE sampler_core)
|
||||
add_test(NAME sampler_core_tests COMMAND sampler_core_tests)
|
||||
|
||||
Reference in New Issue
Block a user