= roard's Drivers = == Overview == === Currently implemented drivers === {{{#!comment List is generated with: roard --print-format wiki --list-driver }}} ||=Driver =||=Mode =||=Flag =||=Subsys =||=Description =||=Devices ||=null =|| w || SV ||W ||null audio driver || ''(none)'' || ||=esd =|| w || V ||W ||EsounD audio driver ||localhost, remote.host.dom || ||=roar =|| w || V ||WM L X ||RoarAudio driver ||localhost, remote.host.dom || ||=raw =|| w || s V ||WM LRX ||RAW driver ||/some/file || ||=dstr =|| w || s V ||WM LRX ||VIO DSTR driver ||/some/file || ||=oss =|| rw || s V ||W ||Open Sound System ||/dev/audio || ||=ao =|| w || V ||W ||libao audio driver ||DRIVER || ||=shout =|| w || V ||W ||libshout streaming ||http://user:pw@host:port/mount.ogg || ||=sndio =|| w || V ||WM ||OpenBSD sndio ||/dev/audio, /tmp/aucat-/default || ||=rsound =|| w || V ||W ||RSound ||servername || ||=portaudio =|| w || V ||W ||PortAudio || || ||=alsa =|| w || V ||W ||ALSA ||??? || ||=wmm =|| w || V ||W ||Win32 MM ||??? || ||=dmx =|| w || s V || L ||DMX512 driver ||/dev/dmx || ||=pwmled =|| w || s V || L ||PWM LED driver ||/dev/ttyS0 || ||=sysclock =|| w || V ||W ||System Clock Clock Source || ''(none)'' || ||=cdriver =|| w || V ||W ||RoarAudio Client driver ||driver#device || ||=pulsesimple =|| w || V ||W ||PulseAudio Simple ||server || ||=artsc =|| w || V ||W ||aRts plain C API || ''(none)'' || === Drivers we work on === ||=Driver =||=Mode =||=Flag =||=Subsys =||=Description =||=Devices ||= jack =||= rw || V || W || Jack || || == Driver details == === null: True null driver === This driver doesn't do anything with the data just like /dev/null on a POSIX system. It does not provide a clock. For a dummy driver (for example used if no soundcard is present) use the sysclock driver. This driver takes no device. === esd: Enlightened Sound Daemon === Connect to a EsounD server. This driver takes the server address as device. === roar: RoarAudio === Connect to another RoarAudio server. This driver takes the server address as device. === raw: raw file driver === Connect directly to a file or named pipe. Do not use this driver. Use the dstr driver. This driver takes the filename as device. === dstr: Descriptive String Virtual Input Output driver === Connect directly to a VIO object. This may be a local or remote file, device or other data source or sink. This driver takes the object address (normally just a plain filename) as device. === oss: Open Sound System === This driver connects to a OSS device. The Open Sound System is a set of audio drivers available for many systems. This driver also works well on ALSA's, NetBSD's alsa-oss and other OSS emulations. This driver takes the audio device as device. This is often /dev/audio or /dev/dsp. === ao: libao === This driver uses libao to connect to a device. libao is a abstraction layer to abstract the audio interface in a portable way. This driver should not be used but is provided as it works on most systems. This driver takes libao's driver name as device. This is subject to change. === shout: Interface to streaming servers === The shout driver connects to a streaming server using libshout. A common example of such a server is icecast. This driver takes a full URL to the resource it should send the data to as device name. Commonly this looks like: http://user:pw@host:port/mount.ogg Defaults are set to match icecast defaults: user: source, password: hackme, host: localhost, port: 8000, mount: /roar.ogg So for an icecast server you will normally only provide host, password and mount point: http://:pw@host/mount.ogg === sndio: OpenBSD sndio === This is the driver to access OpenBSD's new audio interace sndio. Takes a normal sndio device string as device. See it's docs for more info. === rsound: RSound === Driver to access a RSound server. This driver takes a server address as device. === portaudio: PortAudio === Driver uses the PortAudio interface to access the hardware. PortAudio is a library similar to libao used to abstract the hardware. This driver currently does not take a device name. This is subject to change. === alsa: Advanced Linux Sound Architecture === This driver uses GNU/Linux's ALSA audio drivers. This driver takes an ALSA device name as device. === wmm: Win32 WMM API === This driver is used to access win32's WMM API. Use a different/better system. This driver does not take a device name. This is a bug but may never be fixes: use a better OS. Thanks. === dmx: DMX4Linux / Generic DMX512 Driver === This driver uses the DMX4Linux Interface to control connected light equipment. Takes a the device name (filename) as device. Common value is /dev/dmx. === pwmled: pulse-width modulation driver for light-emitting diodes and similar non-linear scaled devices === This driver is used to control LEDs and similar devices using the light control subsystem. Takes a device name as device. The device is opened using the DSTR API (see dstr driver). Common devices include RS-232 interfaces (/dev/ttyS* under Linux). === sysclock: Clock providing dummy driver === This is a dummy driver. It can be used if no sound card is present. Unlike the null driver this one provides a audio clock. Does not take a device option. === cdriver: libroareio's Client Driver === This opens a device by using libroareio's client driver (cdriver) API. This is a portable interface for some backends. Using is is normally not needed and only helpful for debugging and similar tasks. Takes a driver name followed by a hash mark ('#') and a device name as device. === pulsesimple: PulseAudio Simple API === This driver uses PulseAudio backend. You should not use this but replace your setup fully with RoarAudio. This driver takes a PulseAudio server address as device. === artsc: analog Real time synthesizer (KDE 2.x/3.x audio interface) === This driver uses KDE's aRts audio interface. This driver does not take a device name (because of limits in aRts' API).