Audio startup sink functions

This commit is contained in:
Christian Colglazier 2023-11-24 11:10:35 -05:00
parent c036dafc8a
commit 241b950ee6

View File

@ -1,6 +1,6 @@
#! /bin/bash #! /bin/bash
# Kill Pulse # Kill Pulse.
function killPulse() { function killPulse() {
systemctl --user stop pulseaudio.socket systemctl --user stop pulseaudio.socket
systemctl --user stop pulseaudio.service systemctl --user stop pulseaudio.service
@ -8,7 +8,7 @@ function killPulse() {
killall pulseaudio killall pulseaudio
} }
# Start Pulseaudio properly # Start Pulseaudio properly.
function fixPulse() { function fixPulse() {
PULSE="$(alsamixer 2>&1 | killall alsamixer)" PULSE="$(alsamixer 2>&1 | killall alsamixer)"
if [[ $PULSE == *'Connection refused'* ]]; then if [[ $PULSE == *'Connection refused'* ]]; then
@ -22,7 +22,7 @@ function fixPulse() {
fi fi
} }
# Start up programs that use audio # Start up programs that use audio.
function launchi3() { function launchi3() {
if [ -z "$skipi3" ]; then if [ -z "$skipi3" ]; then
echo Opening i3wm sound workspaces echo Opening i3wm sound workspaces
@ -31,6 +31,34 @@ function launchi3() {
fi fi
} }
# Set up sinks.
function setupSinks() {
pactl set-default-sink speakers
pactl set-default-source sm7b
}
# Connect sinks to audio interface
function connectSinks() {
pw-link speakers:monitor_FL alsa_output.usb-Focusrite_Clarett__8Pre_00002325-00.pro-output-0:playback_AUX0
pw-link speakers:monitor_FR alsa_output.usb-Focusrite_Clarett__8Pre_00002325-00.pro-output-0:playback_AUX1
pw-link alsa_input.usb-Focusrite_Clarett__8Pre_00002325-00.pro-input-0:capture_AUX3 sm7b:input_FL
pw-link alsa_input.usb-Focusrite_Clarett__8Pre_00002325-00.pro-input-0:capture_AUX3 sm7b:input_FR
return $?
}
function renameInterface() {
for n in `seq 0 17` ; do
jack_property -p -s "alsa:pcm:2:hw:2,0:capture:capture_${n}" http://jackaudio.org/metadata/pretty-name "capture_$((n+1))"
done
for n in `seq 0 19` ; do
jack_property -p -s "alsa:pcm:2:hw:2,0:playback:playback_${n}" http://jackaudio.org/metadata/pretty-name "playback_$((n+1))"
done
for n in `seq 0 19` ; do
jack_property -p -s "alsa:pcm:2:hw:2,0:playback:monitor_${n}" http://jackaudio.org/metadata/pretty-name "monitor_$((n+1))"
done
}
# arg parser # arg parser
for arg in "$@" for arg in "$@"
do do
@ -41,39 +69,18 @@ do
done done
# Wire sinks # Wire sinks
pactl set-default-sink speakers setupSinks
pactl set-default-source sm7b connectSinks
sleep 1.5 status=$?
pw-link -o && pw-link -i while [[ $status -eq 0 ]]; do
sleep 1.5 echo "Connecting Sinks"
pw-link speakers:monitor_FL alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-output:playback_FL connectSinks
pw-link speakers:monitor_FR alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-output:playback_FR status=$?
pw-link speakers:monitor_FL alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-output:playback_AUX0 sleep 1
pw-link speakers:monitor_FR alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-output:playback_AUX1 done
pw-link speakers:monitor_FL alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.pro-output-0:playback_AUX0
pw-link speakers:monitor_FR alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.pro-output-0:playback_AUX1
pw-link speakers:monitor_FL alsa_output.usb-Focusrite_Clarett__8Pre_00002325-00.pro-output-0:playback_AUX0
pw-link speakers:monitor_FR alsa_output.usb-Focusrite_Clarett__8Pre_00002325-00.pro-output-0:playback_AUX1
pw-link alsa_input.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-input:capture_RR sm7b:input_FL
pw-link alsa_input.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-input:capture_RR sm7b:input_FR
pw-link alsa_input.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-input:capture_AUX3 sm7b:input_FL
pw-link alsa_input.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-input:capture_AUX3 sm7b:input_FR
pw-link alsa_input.usb-Focusrite_Scarlett_18i20_USB-00.pro-input-0:capture_AUX3 sm7b:input_FL
pw-link alsa_input.usb-Focusrite_Scarlett_18i20_USB-00.pro-input-0:capture_AUX3 sm7b:input_FR
pw-link alsa_input.usb-Focusrite_Clarett__8Pre_00002325-00.pro-input-0:capture_AUX3 sm7b:input_FL
pw-link alsa_input.usb-Focusrite_Clarett__8Pre_00002325-00.pro-input-0:capture_AUX3 sm7b:input_FR
# Rename Audio Devices # Rename Audio Devices
for n in `seq 0 17` ; do #renameInterface
jack_property -p -s "alsa:pcm:2:hw:2,0:capture:capture_${n}" http://jackaudio.org/metadata/pretty-name "capture_$((n+1))"
done
for n in `seq 0 19` ; do
jack_property -p -s "alsa:pcm:2:hw:2,0:playback:playback_${n}" http://jackaudio.org/metadata/pretty-name "playback_$((n+1))"
done
for n in `seq 0 19` ; do
jack_property -p -s "alsa:pcm:2:hw:2,0:playback:monitor_${n}" http://jackaudio.org/metadata/pretty-name "monitor_$((n+1))"
done
# Eurorack audio interface # Eurorack audio interface
sh ~/.config/scripts/audio/es9start.sh sh ~/.config/scripts/audio/es9start.sh