View Single Post
Old 12-19-2011, 12:49 PM   #20
Human being with feelings
Join Date: Nov 2011
Posts: 18

I assume that it will be possible to just take the JACK output and send it to the ninjam client with Portaudio. A solution without PortAudio would be preferable, though.
Yes, you can do that although I think the usual approach is to send separate channels to Ninjam instead of mixing inputs together on the client.

I wrote a little PortAudio test program last night to get a feel for how it interacts with JACK. It has the ability to create multiple inputs/outputs which you can route in JACK as normal. PortAudio is really just a client library, there's no server and no special configuration involved so I don't expect the user to know the difference between a native JACK app and a PortAudio app.

Thanks for pushing me in the direction of investigating JACK more. It has a nice model that I'm trying to keep in mind.

I will proceed by doing all audio through PortAudio because I think it can integrate seemlessly with JACK. I'll ask for feedback and if you find it just doesn't work as well as native JACK then we can add that too.

Another idea is that some audio systems like PulseAudio support mixing to the point where we don't need to do mixing inside Ninjam for audio playback. So imagine each remote user's channels become output ports that you can then route how you like in JACK - instead of just one Ninjam output port with mixed audio. I'm not sure yet if there are practical benefits because Ninjam will still have to support a playback mixer for sound backends that do not always provide mixing (e.g. ALSA). Can you think of situations where this would be a useful feature?
stefanha is offline   Reply With Quote