mirror of
https://github.com/got-feedBack/feedBack-desktop.git
synced 2026-09-11 06:44:11 +00:00
Moves probeDeviceOptionsDual, applyDuplexSetup, applySplitSetup, and
teardownSplitMode verbatim into src/audio/engine/DeviceSetup.{h,cpp}. The
component holds references to the two device managers + EngineState and owns
no lifetime; engine-owned collaborators (monitor chain, split output ring +
counters, output callback registration) are passed by reference per call.
setAudioDevices stays on the facade as the orchestrator. The public
DeviceOptions/DeviceConfig/DeviceConfigResult shapes move to the slopsmith
namespace with using-aliases on AudioEngine, so the NodeAddon spelling is
unchanged.
Lands the deep-read §7 dedupe structurally: the <=0.5 rate tolerance,
midpoint-rounding fail-closed candidate, and empty-name→first-enumerated
resolution now exist once (RateMatch.h — JUCE-free + unit-tested boundary
cases — and DeviceSetup::resolveDeviceName/rateSupportedBy) instead of three
hand-synced copies.
Full device-matrix validation (WASAPI shared/exclusive, ASIO, dual-type
split) rides the next tester build per the plan's phase-4 gate.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
27 lines
1.3 KiB
CMake
27 lines
1.3 KiB
CMake
# engine_units — home for the per-unit tests of the audio-engine decomposition
|
|
# (docs/audio-engine-tlc.md Part IV §4/0.c). JUCE-free targets only: units are
|
|
# extracted so they can be tested against a state struct + fake ring, without a
|
|
# real device. One executable per unit keeps failures attributable.
|
|
add_executable(gain_sanitize_test gain_sanitize_test.cpp)
|
|
target_compile_features(gain_sanitize_test PRIVATE cxx_std_17)
|
|
add_test(NAME gain_sanitize COMMAND gain_sanitize_test)
|
|
|
|
# PackedStereoRing uses std::bit_cast (C++20) and std::thread.
|
|
add_executable(packed_stereo_ring_test packed_stereo_ring_test.cpp)
|
|
target_compile_features(packed_stereo_ring_test PRIVATE cxx_std_20)
|
|
find_package(Threads REQUIRED)
|
|
target_link_libraries(packed_stereo_ring_test PRIVATE Threads::Threads)
|
|
add_test(NAME packed_stereo_ring COMMAND packed_stereo_ring_test)
|
|
|
|
add_executable(engine_state_test engine_state_test.cpp)
|
|
target_compile_features(engine_state_test PRIVATE cxx_std_17)
|
|
add_test(NAME engine_state COMMAND engine_state_test)
|
|
|
|
add_executable(renderer_bus_test renderer_bus_test.cpp)
|
|
target_compile_features(renderer_bus_test PRIVATE cxx_std_20)
|
|
add_test(NAME renderer_bus COMMAND renderer_bus_test)
|
|
|
|
add_executable(rate_match_test rate_match_test.cpp)
|
|
target_compile_features(rate_match_test PRIVATE cxx_std_17)
|
|
add_test(NAME rate_match COMMAND rate_match_test)
|