feat: add PipeWire multi-channel audio driver (full-duplex N channel)
- PipeWireDriver.hpp/cpp: new AudioDriver implementation using pw_filter API - Full-duplex I/O via pw_filter (capture + playback in one RT callback) - Dynamic channel count support (tested: 1-8 channels, extensible beyond) - Uses SPA_AUDIO_FORMAT_F32 for zero-copy-compatible float processing - Channel position mapping: MONO, stereo, 5.1, 7.1, plus Aux for N>8 - Follows the same buffer management pattern as AlsaDriverImpl - Channel routing: main/aux input/output mapping with mix ops - CLI flag: --driver pipewire|alsa (default: alsa) - AudioHost: conditional driver selection based on driverType_ - PiPedalModel: stores and passes driver type to AudioHost - CMakeLists.txt: added PipeWireDriver source files
This commit is contained in:
@@ -366,6 +366,7 @@ set (PIPEDAL_SOURCES
|
||||
JackDriver.cpp JackDriver.hpp
|
||||
AlsaDriver.cpp AlsaDriver.hpp
|
||||
DummyAudioDriver.cpp DummyAudioDriver.hpp
|
||||
PipeWireDriver.cpp PipeWireDriver.hpp
|
||||
AudioDriver.hpp
|
||||
AudioConfig.hpp
|
||||
|
||||
@@ -374,6 +375,8 @@ set (PIPEDAL_SOURCES
|
||||
MixerBus.cpp MixerBus.hpp
|
||||
MixerEngine.cpp MixerEngine.hpp
|
||||
MixerApi.cpp MixerApi.hpp
|
||||
MidiMapper.cpp MidiMapper.hpp
|
||||
MidiLearnMode.cpp MidiLearnMode.hpp
|
||||
|
||||
${VST3_SOURCES}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user