From 241b950ee6c51fda4bc1e513db6717d8aa44ca3d Mon Sep 17 00:00:00 2001 From: Christian Colglazier Date: Fri, 24 Nov 2023 11:10:35 -0500 Subject: [PATCH] Audio startup sink functions --- scripts/audio/system-start-audio.sh | 75 ++++++++++++++++------------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/scripts/audio/system-start-audio.sh b/scripts/audio/system-start-audio.sh index c2889c6..34767ee 100755 --- a/scripts/audio/system-start-audio.sh +++ b/scripts/audio/system-start-audio.sh @@ -1,6 +1,6 @@ #! /bin/bash -# Kill Pulse +# Kill Pulse. function killPulse() { systemctl --user stop pulseaudio.socket systemctl --user stop pulseaudio.service @@ -8,7 +8,7 @@ function killPulse() { killall pulseaudio } -# Start Pulseaudio properly +# Start Pulseaudio properly. function fixPulse() { PULSE="$(alsamixer 2>&1 | killall alsamixer)" if [[ $PULSE == *'Connection refused'* ]]; then @@ -22,7 +22,7 @@ function fixPulse() { fi } -# Start up programs that use audio +# Start up programs that use audio. function launchi3() { if [ -z "$skipi3" ]; then echo Opening i3wm sound workspaces @@ -31,6 +31,34 @@ function launchi3() { 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 for arg in "$@" do @@ -41,39 +69,18 @@ do done # Wire sinks -pactl set-default-sink speakers -pactl set-default-source sm7b -sleep 1.5 -pw-link -o && pw-link -i -sleep 1.5 -pw-link speakers:monitor_FL alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-output:playback_FL -pw-link speakers:monitor_FR alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-output:playback_FR -pw-link speakers:monitor_FL alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-output:playback_AUX0 -pw-link speakers:monitor_FR alsa_output.usb-Focusrite_Scarlett_18i20_USB-00.multichannel-output:playback_AUX1 -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 +setupSinks +connectSinks +status=$? +while [[ $status -eq 0 ]]; do + echo "Connecting Sinks" + connectSinks + status=$? + sleep 1 +done # Rename Audio Devices -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 +#renameInterface # Eurorack audio interface sh ~/.config/scripts/audio/es9start.sh