#!/bin/bash
DEFAULT_CONF=/var/lib/shelli/audio-defaults.conf
[ ! -f "$DEFAULT_CONF" ] && (
  echo "Need sudo to create $DEFAULT_CONF"
  sudo touch $DEFAULT_CONF
  sudo chown root:wheel $DEFAULT_CONF
  sudo chmod 664 $DEFAULT_CONF
)
source "$DEFAULT_CONF"
CONF=/var/lib/shelli/audio.conf
[ ! -f "$CONF" ] && (
  echo "Need sudo to create $CONF"
  sudo touch $CONF
  sudo chown root:wheel $CONF
  sudo chmod 664 $CONF
)
source "$CONF"
OUTPUT=${OUTPUT:-Earpiece}
OUTPUT=${NEW_OUTPUT:-$OUTPUT}
MUTED=${MUTED:-1}
MUTED=${NEW_MUTED:-$MUTED}
VOICE=${VOICE:-0}
VOICE=${NEW_VOICE:-$VOICE}

# special case for pinephone where voice call requires different ucm _verb "Voice Call"
[ "$VOICE" = 1 ] && UCM="set _verb \"$VOICE_VERB\"" || UCM="set _verb \"$DEFAULT_VERB\""
OUTPUT_OPTIONS="Headphones Speaker Earpiece"
for OUT in $OUTPUT_OPTIONS
do
  UCM="$UCM
set _enadev $OUT"
  [ "$OUT" != "$OUTPUT" ] && UCM="$UCM
set _disdev $OUT"
done
UCM="$UCM
set _enadev $MIC"
[ "$MUTED" = "1" ] && UCM="$UCM
set _disdev $MIC"

#echo "$UCM" | alsaucm -c hw:0 -b -
alsaucm -c hw:0 -b - <<EOM
$UCM
EOM

cat > "$CONF" <<EOM
OUTPUT=$OUTPUT
MUTED=$MUTED
VOICE=$VOICE
EOM
