Merge T2: realtime capture tail trimming
This commit is contained in:
+19
-1
@@ -142,6 +142,20 @@ add_library(realtime_record STATIC src/realtime_record.cpp)
|
||||
target_include_directories(realtime_record PUBLIC src)
|
||||
target_link_libraries(realtime_record PUBLIC bank_model)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 2h) Pure wav_trim library — NO REAPER, NO SWELL. The realtime tail's (T2) PCM
|
||||
# decay-scan trim needs to TRUNCATE the recorded 32-bit-float WAV at a frame
|
||||
# boundary without corrupting the RIFF container. This module holds the fiddly,
|
||||
# easy-to-get-wrong part unit-tested outside the DAW: parse the WAV geometry
|
||||
# (fmt/data chunk walk + 32-bit-float verification), extract the tail-region
|
||||
# floats to scan, and compute the truncate plan (kept byte length + the two
|
||||
# patched RIFF/data size fields). The file read/write/truncate I/O stays in the
|
||||
# realtime shell. Depends on peaks for the AudioSample float alias.
|
||||
# ---------------------------------------------------------------------------
|
||||
add_library(wav_trim STATIC src/wav_trim.cpp)
|
||||
target_include_directories(wav_trim PUBLIC src)
|
||||
target_link_libraries(wav_trim PUBLIC peaks)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 3) Standalone tests for the pure modules (run without launching REAPER).
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -198,6 +212,10 @@ add_executable(realtime_record_tests tests/test_realtime_record.cpp)
|
||||
target_link_libraries(realtime_record_tests PRIVATE realtime_record)
|
||||
add_test(NAME realtime_record_tests COMMAND realtime_record_tests)
|
||||
|
||||
add_executable(wav_trim_tests tests/test_wav_trim.cpp)
|
||||
target_link_libraries(wav_trim_tests PRIVATE wav_trim)
|
||||
add_test(NAME wav_trim_tests COMMAND wav_trim_tests)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# 4) The REAPER extension — a loadable module (dlopen'd by REAPER, not linked).
|
||||
# ---------------------------------------------------------------------------
|
||||
@@ -231,7 +249,7 @@ add_library(reaper_reasampler MODULE
|
||||
src/lane_keys.cpp
|
||||
src/actions.cpp
|
||||
)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths peaks bank_grid mode_switch view_mode_model insert_plan render_settings tail_control realtime_record)
|
||||
target_link_libraries(reaper_reasampler PRIVATE bank_model capture_paths peaks bank_grid mode_switch view_mode_model insert_plan render_settings tail_control realtime_record wav_trim)
|
||||
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