[Ardour-Dev] What do all the drivers do?

John Emmas johne53 at tiscali.co.uk
Sat Nov 22 00:43:02 PST 2008

Crikey Paul, you must be up early !

Thanks for the explanation though....


----- Original Message ----- 
From: "Paul Davis" <paul at linuxaudiosystems.com>
To: "John Emmas" <johne53 at tiscali.co.uk>
Cc: <ardour-dev at lists.ardour.org>
Sent: 22 November 2008 07:01
Subject: Re: [Ardour-Dev] What do all the drivers do?

> On Sat, 2008-11-22 at 06:52 +0000, John Emmas wrote:
>> A couple of days ago I fired up Ardour (2.5) and found that it wasn't
>> replaying any audio.  The meters were going up & down but nothing was
>> getting sent to my sound card.  It took a bit of tracking down but all
>> that
>> had happened was that the driver had somehow got set to 'Dummy'.  I set
>> it
>> back to 'ALSA' and everything sprung back into life.
>> However, being the curious type, I decided to try the other listed
>> drivers
>> (OSS / NetJACK etc).  AFAICT all they did was to produce an error message
>> along the lines "No devices found for driver OSS" (or NetJACK, or
>> whatever).
>> I took a look at the relevant code in gtk2_ardour/engine_dialog.cc and
>> found
>> that the corresponding enumeration functions
>> (EngineControl::enumerate_netjack_devices() etc) simply don't do
>> anything.
> ALSA = default backend for Linux audio
> OSS  = backend for use on systems with OSS installed, which on Linux is
>         an older, deprecated device driver system for audio but also
>         exists on Solaris and a couple of other "wierd" unix systems
> Dummy = not connected with any audio hardware; uses system clock to
>        drive the JACK graph
> NetJACK = connects to a JACK master instance via the network and is
>        "driven" by it
> since you almost certainly don't have netjack installed, it won't work
> for you. OSS might have worked if you have ALSA's OSS emulation enabled.
> Dummy was clearly working as planned - JACK runs but there is no audio
> in or out.
> at a more basic level, a JACK backend is a dynamically loaded object
> that the JACK server uses to control the execution of the graph. the
> backends generally do this by blocking on something, normally audio i/o
> via a h/w device, but it could be network i/o or a timer. in most cases
> (all except "dummy"), it also has ports and so is a participant in the
> graph.

More information about the Ardour-Dev mailing list