dotfiles/scripts/system-start-audio.sh

57 lines
1.0 KiB
Bash

#! /bin/bash
# Kill Pulse
function killPulse() {
pulseaudio -k
killall pulseaudio
}
# Start Pulseaudio properly
function fixPulse() {
PULSE="$(alsamixer 2>&1 | killall alsamixer)"
if [[ $PULSE == *'Connection refused'* ]]; then
echo 'Fixing Pulseaudio'
killPulse
pulseaudio -D
fixPulse
else
echo 'Pulseaudio is working correctly'
fi
}
# Start up programs that use audio
function launchi3() {
if [ -z "$skipi3" ]; then
echo Opening i3wm sound workspaces
sleep .1 && i3-msg 'workspace 10; exec google-play-music-desktop-player'
sleep .1 && i3-msg 'workspace 5; exec firefox'
fi
}
# arg parser
for arg in "$@"
do
# Skip commands for i3wm
if [[ $arg == *"-s"* ]]; then
skipi3=true
fi
done
# Close any active audio
killPulse
# Start up jack
cadence-session-start --system-start &
wait %1
ladish_control sload studio
# Make start up reliable
killPulse
fixPulse
# Eurorack audio interface
sh ~/.config/scripts/start-es-8.sh
sh ~/.config/scripts/start-es-9.sh
launchi3