#!/bin/sh

# cat /etc/rc.conf.local
# sndiod_flags=-f rsnd/0 -F rsnd/1 -F rsnd/2 -F rsnd/3 ...

cur=$(sndioctl -n server.device)
case $1 in
    +) sndioctl server.device=$(( cur + 1 )) > /dev/null 2>&1 \
        || echo "Max device reached"; ;;
    -) sndioctl server.device=$(( cur - 1 )) > /dev/null 2>&1 \
        || echo "Min device reached"; ;;
    [0-9]) sndioctl server.device=$1 > /dev/null 2>&1 \
        || echo "Device $1 not available"; ;;

esac
now=$(sndioctl -n server.device)

echo "Active server.device=$now"
dmesg | grep -B2 ^audio$now | grep " at " | head -n 1
