Right, implemented it. A bit more convoluted than expected, but it's ok.
https://github.com/BelaPlatform/Bela/commit/7badfebdbaff13bccb479a22caa50ab60591299e
To use it, besides selecting the MUXER in the IDE, you will have to edit the file pru/pru_rtaudio_irq.bin
and change two of these lines:
#define ENABLE_CTAG_FACE // enables run-time selection of the CTAG Face codec.
#define ENABLE_CTAG_BEAST // enables run-time selection of the CTAG Beast codecs
//#define ENABLE_BELA_TLV32 // enables run-time selection of the Bela TLV32 codec
//#define ENABLE_MUXER // enables run-time selection of the Multiplexer capelet
Only two of these lines can be uncommented at any time. They enable features to be selected at runtime.
You will have to uncomment the ENABLE_MUXER
line, and comment the ENABLE_CTAG_xxxx
line corresponding to the card you are NOT using.
For instance, if you are using the CTAG FACE, you would do:
#define ENABLE_CTAG_FACE // enables run-time selection of the CTAG Face codec.
//#define ENABLE_CTAG_BEAST // enables run-time selection of the CTAG Beast codecs
//#define ENABLE_BELA_TLV32 // enables run-time selection of the Bela TLV32 codec
#define ENABLE_MUXER // enables run-time selection of the Multiplexer capelet
or if you are using the CTAG BEAST you would do
//#define ENABLE_CTAG_FACE // enables run-time selection of the CTAG Face codec.
#define ENABLE_CTAG_BEAST // enables run-time selection of the CTAG Beast codecs
//#define ENABLE_BELA_TLV32 // enables run-time selection of the Bela TLV32 codec
#define ENABLE_MUXER // enables run-time selection of the Multiplexer capelet