[LAD] Guide to Linux Sound APIs

Chris Cannam cannam at all-day-breakfast.com
Fri Sep 26 10:18:19 UTC 2008


On Fri, Sep 26, 2008 at 10:49 AM, Richard Spindler
<richard.spindler at gmail.com> wrote:
> Actually I use PortAudio in my App for one simple reason: It has the
> same basic API model as JACK. I also have a jack backend, but whenever
> jack fails, due to misconfiguration, or not being available, my app
> falls back to PortAudio.

Exactly the same thing here, for Sonic Visualiser.  PortAudio gives
you a quick, cheap way to get basic playback support, cross-platform,
for an application that is already using a callback driver style.  It
has all sorts of inconsistencies and deficiencies but for that basic
task, PAv19 works fine.

I do also have a PulseAudio output layer in the current SVN versions
of Sonic Visualiser, and that works nicely (when it works at all --
obviously you have to have a PulseAudio server).  But it was far more
complicated to write -- I don't have all the details right yet -- and
it's not cross-platform.

As a Linux _user_ I like PulseAudio; I wrote the Pulse output layer
for SV because I wanted to use it myself.  (Future versions of
Rosegarden will probably support Pulse too, at least for playback.)

I actually have trouble imagining any application for which the raw
ALSA API is a good choice, but perhaps I'm not imaginative enough.


Chris



More information about the Linux-audio-dev mailing list