mirror of
				https://github.com/AquaMorph/dotfiles.git
				synced 2025-11-03 17:03:18 +00:00 
			
		
		
		
	Audio startup sink functions
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user