= alsa-dispatcher :author: Ralph Ronnquist :revdate: Sun, 30 Apr 2023 19:33:59 +1000 This project implements a dispatcher for ALSA playback for dynamic selection of output device. The idea is to direct playback when it starts to the first output from the user's priority list that is available at that time. For instances, you might have three different output devices sometimes available: 1. a bluetooth headset 2. a USB soundcard for wall speakers, and 3. a built-in soundcard for desktop speakers. and want them to selected in that priority order. I.e. playback should be directed to the bluetooth headset, if connected; otherwise to the USB soundcard, if plugged in; and otherwise to the built-in soundcard. Ordinarily it will take some editing of ~/.asoundrc to explicitly select output device for a program before it starts, and them that program will keep using that setup onwards. *alsa-dispatcher* provides that dynamic selection based on the user's priority list without need of editing or playback program restart. By this solution, there is a dynamic link in the playback chain that applies the dispatch logic whenever a program starts playback anew. Thus, the output device is decided depending on what is available when the playback starts, or more specifically whenever a program opens an output sink to start or to continue playback.