random
[rrq/newlisp/alsa-dispatcher.git] / alsa-dispatcher.8.adoc
index 43c28a9a3989ec06b754463698501c21f45d4025..3261edbb2fda003ac1b7595e7fd4c2ec5ca09dbb 100644 (file)
@@ -9,36 +9,35 @@ endpoints.
 
 == SYNOPSIS
 
 
 == SYNOPSIS
 
-*alsa-dispatcher.lsp*
+*alsa-dispatcher*
 
 == DESCRIPTION
 
 
 == DESCRIPTION
 
-*alsa-dispatcher.lsp* is an ALSA utility that handles dispatch of
-audio playback via a priority list of possible endpoints. The dispatch
-logic works through the list trying to open each ALSA PCM device in
-order until one succeeds, and thereafter *alsa-dispatcher.lsp* simply
+*alsa-dispatcher* is an ALSA utility that handles dispatch of audio
+playback via a priority list of possible endpoints. The dispatch logic
+works through the list trying to open each ALSA PCM device in order
+until one succeeds, and thereafter *alsa-dispatcher* simply
 channels the playback audio stream from its standard input to the
 successfully opened PCM playback device.
 
 channels the playback audio stream from its standard input to the
 successfully opened PCM playback device.
 
-The program is a _newlisp_ script of manageable size which links up
-with _libasound.so_ for ALSA API actions.
-
-The setup for using *alsa-dispatcher.lsp* includes two configuration
+The setup for using *alsa-dispatcher* includes two configuration
 aspects:
 
  1. The ALSA configuration needs to be augmented with a _pcm_ block
 aspects:
 
  1. The ALSA configuration needs to be augmented with a _pcm_ block
- that directs playback to *alsa-dispatcher.lsp* and capture from, say,
+ that directs playback to *alsa-dispatcher* and capture from, say,
  _plughw_ (i.e., the primary sound card).
 
  _plughw_ (i.e., the primary sound card).
 
- 2. The priority list of possible endpoints for *alsa-dispatcher.lsp*
+ 2. The priority list of possible endpoints for *alsa-dispatcher*
  is a text file named _$HOME/.alsa-dispatcher_.
 
 === ALSA configuration (e.g. $HOME/.asoundrc)
 
 The ALSA configuration collection needs to include a declaration for
 *alsa-dispatcher* as an ALSA PCM by means of a short declaration in
  is a text file named _$HOME/.alsa-dispatcher_.
 
 === ALSA configuration (e.g. $HOME/.asoundrc)
 
 The ALSA configuration collection needs to include a declaration for
 *alsa-dispatcher* as an ALSA PCM by means of a short declaration in
-the user's _$HOME/.asoundrc_ file or system-wide in
-_/etc/asoundrc.conf_ The following is an example _$HOME/.asoundrc_.
+the user's _$HOME/.asoundrc_ file or system-wide (e.g
+_/etc/asoundrc.conf_ or _/etc/alsa/conf.d/51-alsa-dispatcher.conf_)
+
+The following is an example _$HOME/.asoundrc_.
 
 ----
 pcm.!default dispatch
 
 ----
 pcm.!default dispatch
@@ -49,7 +48,7 @@ pcm.dispatch {
         pcm {
            type plug
            slave {
         pcm {
            type plug
            slave {
-               pcm "file:|exec /usr/bin/alsa-dispatcher.lsp"
+               pcm "file:|exec /usr/bin/alsa-dispatcher"
                format S16_LE; channels 2; rate 48000;
            }
        }
                format S16_LE; channels 2; rate 48000;
            }
        }
@@ -62,19 +61,19 @@ The first line in the example asserts that "dispatch" is the default
 PCM. I.e. that playback directed to "default" should be passed on to
 "dispatch".
 
 PCM. I.e. that playback directed to "default" should be passed on to
 "dispatch".
 
-The lines below that declares the "dispatch" PCM to have its playback
-stream directed to the command _/usr/local/bin/alsa-dispatcher.lsp_
-via a pipe (that is where *alsa-dispatcher.lsp* is for this example),
-and the "dispatch" PCM capture stream is sourced from _plughw_ (i.e.
-the default sound card).
+The rest of the example declares the "dispatch" PCM to be an "asym"
+that has the playback stream directed via a pipe to the command
+_/usr/bin/alsa-dispatcher_ (which is where *alsa-dispatcher* is
+installed in this example), and further it has the capture stream
+sourced from _plughw_ (i.e. the default sound card).
 
 Note that the playback PCM explicitly declares the stream
 
 Note that the playback PCM explicitly declares the stream
-characteristica (format, channels and rate) used up by
-*alsa-dispatcher.lsp*.
+characteristics (format, channels and rate) as used by
+*alsa-dispatcher*.
 
 === About $HOME/.alsa-dispatcher
 
 
 === About $HOME/.alsa-dispatcher
 
-The endpoints are enumerated for *alsa-dispatcher.lsp* in a text file
+The endpoints are enumerated for *alsa-dispatcher* in a text file
 _$HOME/.alsa-dispatcher_ with one line for each PCM device. The line
 contains PCM name and optionally setting variations for that device,
 in the form of _key=value_. Currently only _latency_ may be varied.
 _$HOME/.alsa-dispatcher_ with one line for each PCM device. The line
 contains PCM name and optionally setting variations for that device,
 in the form of _key=value_. Currently only _latency_ may be varied.
@@ -92,23 +91,26 @@ The example _$HOME/.alsa-dispatcher_ nominates _bt_ as the first ALSA
 PCM to try, then the _usb_ device and the _plughw_ as the third and
 last option. It's an imagined setup with a bluetooth device _bt_ that
 should have priority when in use, next a USB sound card _usb_ as
 PCM to try, then the _usb_ device and the _plughw_ as the third and
 last option. It's an imagined setup with a bluetooth device _bt_ that
 should have priority when in use, next a USB sound card _usb_ as
-secondary option when in use, and thirdly the default sound card
+secondary option when in use, and third the default sound card
 _plughw_.
 
 _plughw_.
 
-Thus, *alsa-dispatcher.lsp* will try to direct playback to _bt_ first.
-If that is not in use *alsa-dispatcher.lsp* tries to direct playback
-to _usb_ and if the is not in use either, then *alsa-dispatcher.lsp*
-directs playback to _plughw_ (i.e. the default sound card).
+Thus, *alsa-dispatcher* will try to direct playback to _bt_ first. If
+that is not in use *alsa-dispatcher* tries to direct playback to _usb_
+and if the is not in use either, then *alsa-dispatcher* directs
+playback to _plughw_ (i.e. the default sound card).
 
 == NOTES
 
 
 == NOTES
 
-*alsa-dispatcher.lsp* keeps playback channeling to a selected endpoint
-as long as that is available. If the endpoint goes away, or the
-*alsa-dispatcher.lsp* program is killed, that channeling is
-interrupted. Then the original sound source (eg a browser) may
-establish a new playback sink, which would caue a new
-*alsa-dispatcher.lsp* to run through the priority list again to pick
-the first option available in the then current audio context.
+*alsa-dispatcher* keeps channeling playback to a selected endpoint as
+long as that remains available. If the endpoint goes away (or the
+*alsa-dispatcher* program is killed) that channeling is interrupted.
+The original sound source (eg a browser) may then establish a new
+playback sink, which would cause a new *alsa-dispatcher* to run
+through the priority list again to pick the first option available in
+the then current audio context.
+
+The program is an embedded _newlisp_ script of manageable size that
+links up with _libasound.so_ for ALSA API actions.
 
 == SEE ALSO
 
 
 == SEE ALSO