#!/usr/bin/env sh start_audio_jack () { wait-for-service --user "puseaudio.socket" systemctl --user stop pulseaudio.service systemctl --user stop pulseaudio.socket sleep 1 jack_control ds alsa jack_control dps device hw:U192k jack_control dps rate 48000 jack_control dps nperiods 4 jack_control dps period 256 jack_control start sleep 1 systemctl --user start pulseaudio sleep 1 alsa_out -d hw:PCH -j "Speaker" -c 2 & #alsa_out -d "hdmi:CARD=HDMI,DEV=5" -j "Speaker" -c 2 & sleep 1 jack_connect "PulseAudio JACK Sink":front-left Speaker:playback_1 jack_connect "PulseAudio JACK Sink":front-right Speaker:playback_2 if [ -x "$(command -v jack-matchmaker)" ] then jack-matchmaker -e \ Mopidy:out_jackaudiosink0_1 Speaker:playback_1 \ Mopidy:out_jackaudiosink0_2 Speaker:playback_2 & fi sleep 3 } start_audio_pipewire () { wait-for-service --user "pipewire.service" wait-for-service --user "wireplumber.service" sleep 1 pw-link 'default-sink:monitor_FL' 'alsa_output.usb-BEHRINGER_UMC202HD_192k-00.HiFi__hw_U192k__sink:playback_FL' pw-link 'default-sink:monitor_FR' 'alsa_output.usb-BEHRINGER_UMC202HD_192k-00.HiFi__hw_U192k__sink:playback_FR' pw-link 'default-sink:monitor_FL' 'alsa_output.pci-0000_00_1f.3.analog-stereo:playback_FL' pw-link 'default-sink:monitor_FR' 'alsa_output.pci-0000_00_1f.3.analog-stereo:playback_FR' #pw-link 'output.UMC_Amp:capture_MONO' 'default-sink:playback_FL' #pw-link 'output.UMC_Amp:capture_MONO' 'default-sink:playback_FR' } case $1 in jack) start_audio_jack ;; pipewire) start_audio_pipewire ;; *) echo "'$1' is not valid" ;; esac