[pulseaudio-discuss] default soundcard switcher
poort
poort at telenet.be
Fri Feb 19 22:24:19 PST 2010
This is a script to swith default soundcard.It is very usefull on multi-user
system with multi usb soundcards.I run it on multi-user computer until I hear
sound in the earphones(for the severl users).
The script works good in ubuntu 9.10 but not in Ubuntu 9.04.
Maybe someone can see the problem:
#!/bin/bash
declare -i sinks_count=`pacmd list-sinks | grep -c index:[[:space:]]
[[:digit:]]`
declare -i active_sink_index=`pacmd list-sinks |
sed -n -e 's/\*[[:space:]]index:[[:space:]]\([[:digit:]]\)/\1/p'`
declare -i major_sink_index=$sinks_count-1
declare -i next_sink_index=0
if [ $active_sink_index -ne $major_sink_index ] ; then
next_sink_index=active_sink_index+1
fi
#change the default sink
pacmd "set-default-sink ${next_sink_index}"
#move all inputs to the new sink
for app in $(pacmd list-sink-inputs | sed -n -e 's/index:
[[:space:]]\([[:digit:]]\)/\1/p');
do
pacmd "move-sink-input $app $next_sink_index"
done
#display notification
declare -i ndx=0
pacmd list-sinks |
sed -n -e 's/device.description[[:space:]]=[[:space:]]"\(.*\)"/\1/p' | while
read line;
do
if [ $next_sink_index -eq $ndx ] ; then
notify-send -i notification-audio-volume-high "Sound output switched
to" "$line"
exit
fi
ndx+=1
done;
More information about the pulseaudio-discuss
mailing list