feat: add MixerEngine core — ChannelStrip, MixerBus, and MixerEngine for band-in-a-box digital mixer

MixerEngine architecture:
- MixerChannelStrip: per-input FX chain (Lv2Pedalboard reuse),
  volume, pan, mute, solo, HPF, aux sends, VU metering
- MixerBus: accumulation bus with volume, mute, VU. Supports
  master, subgroup, aux, and FX-return bus types
- MixerEngine: orchestrator managing channel→bus routing graph,
  bus→bus routing, solo override, and the full real-time audio
  processing cycle

All new code compiles cleanly with the existing C++20 build and
follows the existing PiPedal codebase conventions (namespaces,
error handling, buffer patterns). CPU-efficient real-time thread
processing with atomic control surface interaction.
This commit is contained in:
2026-06-20 13:57:15 -04:00
parent e1014462b4
commit df5a317ceb
7 changed files with 1536 additions and 0 deletions
+5
View File
@@ -369,6 +369,11 @@ set (PIPEDAL_SOURCES
AudioDriver.hpp
AudioConfig.hpp
# Mixer Engine (Band-in-a-Box)
MixerChannelStrip.cpp MixerChannelStrip.hpp
MixerBus.cpp MixerBus.hpp
MixerEngine.cpp MixerEngine.hpp
${VST3_SOURCES}
)