#!/usr/bin/env bash
# --------------------------------------------------------------------------------
SCRIPT=$(basename $0)
PW_JACK=true
case $1 in
  0|false|disable) PW_JACK=false;;
esac
# --------------------------------------------------------------------------------
function _m { t="$1"; shift 1; echo -e " $t) $*"; }
function _e { _m "ERROR!" "$*"; exit; }
function _w { _m "warning!" "$*\n   ..> [ENTER] to proceed, [CTRL+C] to quit."; read; }
# --------------------------------------------------------------------------------
[ $UID -eq 0 ] &&
  _e "please run as a normal user."
_m ${SCRIPT} "use pipewire jack (${PW_JACK})"
# --------------------------------------------------------------------------------
_m ROOT "(un)set pipewire-jack configuration file (/etc/ld.so.conf.d/pipewire-jack-*.conf)"
cat <<EOF | sudo bash
( ${PW_JACK} ) &&
  cp -f \$(dpkg -L pipewire-jack|grep '/usr/.*/pipewire-jack-.*.conf') /etc/ld.so.conf.d/ ||
  rm -f /etc/ld.so.conf.d/pipewire-jack-*.conf
ldconfig
EOF

_m user "killing pipewire, jackd user processes"
kill -9 $(ps -x | awk '/\/usr\/bin\/(pipewire|jackd)/{print $1;}') >& /dev/null
_m user "restarting pipewire service"
systemctl --user restart pipewire.service
_m user "all DONE."
