I am currently trying to write a soundboard application in C++. The plan is to stream the microphone input directly to a virtual audio cable (which is then used as the input in other apps) and additionally play sounds to the virtual cable on the on hand and the default output on the other hand.
So what I need is a C++ library which can stream input to output with low latency and also can play sounds (multiple at a time) to selected outputs, if possible in an easy way (something like "sound.play()"). I have so far tried Bass and PortAudio, but none of them seemed really fitting for this.
Bass is good for playing audio files (which works pretty easy), but the streaming from microphone to my speakers had a way too high latency (about half a second, I tried this code).
PortAudio has a much lower latency, but therefore it seems much more difficult to mix the custom sound files with the microphone output since i have to write the callback function myself.
So my question now is: can anyone recommend me a C++ audio library that can do this? I'm developing for windows, but cross-platform would also be very nice (but not necessary).