refactor(bridge): split fx bridge, stabilize VST3 host chain, drop old install engines
- remove diagnostic canaries from audio hot path (crackle fix) and stuck C5 note raw-MIDI test (Vst2Instrument::init noteOff) - split native bridge into daw_vst_bridge (VSTi) + fx_vst_bridge (VST FX) - VST3: processData prepare before setActive, zero input buses, accept both .vstpreset and bridge-state blob in RenderJob presets - native_render/vst_engine: bridge-exe discovery + render_fx_chain + /fx-gui - delete old install/ engine binaries (install via sidecar+resources now) - add BUILD_LAYOUT.md, build_selfcheck, tools/ diagnostics
This commit is contained in:
@@ -98,6 +98,32 @@ else()
|
||||
target_link_libraries(daw_vst_bridge PRIVATE ${FLUIDSYNTH_LIBRARIES} ${SFIZZ_LIBRARIES})
|
||||
endif()
|
||||
|
||||
# ── fx_vst_bridge: VST FX host (split from daw_vst_bridge). Windows-only:
|
||||
# one-shot modes --render-fx / --scan / --open-fx-gui / --fx-gui. No SHM
|
||||
# realtime loop (the live master FX chain stays in daw_vst_bridge because
|
||||
# it processes the instrument mix in-process). ──
|
||||
if(WIN32)
|
||||
add_executable(fx_vst_bridge
|
||||
src/main_fx.cpp
|
||||
src/RenderFxJob.cpp
|
||||
src/FxGuiServer.cpp
|
||||
)
|
||||
if(VST3_SDK_TARGET)
|
||||
target_compile_definitions(fx_vst_bridge PRIVATE HAVE_VST3SDK=1)
|
||||
target_link_libraries(fx_vst_bridge PRIVATE ${VST3_SDK_TARGET} sdk_hosting sdk_common)
|
||||
target_sources(fx_vst_bridge PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vst3sdk/public.sdk/source/vst/hosting/module_win32.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/vst3sdk/public.sdk/source/common/memorystream.cpp
|
||||
)
|
||||
endif()
|
||||
find_package(JPEG REQUIRED) # libjpeg-turbo (vcpkg) — FxGuiServer.cpp JPEG encode
|
||||
# FX modes are VST3 + builtin DSP only — no fluidsynth/sfizz (avoids a
|
||||
# runtime libfluidsynth-3.dll dependency for the FX bridge).
|
||||
target_link_libraries(fx_vst_bridge PRIVATE JPEG::JPEG)
|
||||
# Required Windows libs
|
||||
target_link_libraries(fx_vst_bridge PRIVATE winmm imm32 ws2_32)
|
||||
endif()
|
||||
|
||||
# ── gui_probe: standalone VST3 GUI attach probe (debug tool, not shipped) ──
|
||||
if(WIN32)
|
||||
add_executable(gui_probe
|
||||
|
||||
Reference in New Issue
Block a user