Linux is the newest supported platform, but already we’re seeing a strong user base and many people willing to contribute on that front, which is great. We’d surely welcome work done on the audio front there.
Hai (@chaoticbob) made a nice start with audio support on linux, which you can find in this folder. Basically, there is support for audio output with Pulse Audio (class
OutputDeviceNodePulseAudio) and audio file decoding with libsndfile or mpg123 if you’ve installed those libraries (see FileAudioLoader.cpp). So, we still need audio input support via Pulse, and we’d also like to flesh out the JACK backend (there is a file
ContextJack.h/cpp but I believe it is only a stub at the moment). File encoding is also on the linux TODO list.
The structure of
ci::audio is such that you fill in the hardware backends and file decoding / encoding, while most everything else is platform independent. If you haven’t seen it, the audio guide provides a nice overview of the current features. Happy to fill in details with anything else you can’t find, or if you have questions about the design.