audiality2
audiality2 copied to clipboard
Implement manual voice unit wiring
Autowiring is just a simple hack to avoid coding explicit wiring into every single program, even when it's just a matter of a simple chain or a straight bank of oscillators. Manual wiring is where a synth truly becomes modular in the (virtual) analog sense. So, this is a priority. This is where it gets interesting!
Autowiring is currently dealing only in entire "buses" rather than individual channels. (They're not actually buses in the audio mixer sense. We're just abusing the A2_bus type, since it's there, with calls and a realtime pool to go with it.)
To wire individual voices, we're going to have to manage per-voice arrays. The actual buffers can still be recycled, though! It probably gets more complicated to get it right, though...
Exceptions/performance hacks:
- A single input or output can always be pointed directly at the intended bus channel.
- Multiple channels need their own buses, except in the special case that they're wired to a contiguous range of channels in the right order. Worth the effort to test for?