mirror of
https://github.com/got-feedBack/feedBack-desktop.git
synced 2026-09-12 03:08:11 +00:00
refactor(audio): extract EngineState with intent/state split (phase 1)
Moves the shared run-state atomics (currentSampleRate, block sizes, duplexMode, run flags) into slopsmith::EngineState (src/audio/engine/) so later extracted units take EngineState& and stay unit-testable without JUCE devices. AudioEngine binds the members back by reference under their historical names — zero call-site churn, behavior-identical. The old audioRunning conflated user intent with device state (deep-read §3/§6); it is now state.deviceRunning (same semantics, isAudioRunning compat pinned) plus a new state.userWantsAudio written only by startAudio/stopAudio. Nothing reads the intent flag yet — phase 8 flips setAudioDevices' restart decision onto it. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
eeb83cbdbc
commit
eb40b87dea
@@ -12,3 +12,7 @@ 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)
|
||||
|
||||
Reference in New Issue
Block a user