#!/bin/sh

CONF=$HOME/.midiact.conf
if [ -f $CONF ]; then
	. $CONF
fi

exec 3<&0
midicat -d -q midi/0 -o /dev/null 2>&1 | while read ev; do
	tail=${ev##* }
	if [ "$tail" != "f7" -a "$tail" != "7f" ]; then continue; fi
	ev=${ev% *}
	ev=$(echo $ev | tr -d ' ')
	eval v=\${act_$ev}
	if [ -n "$v" ]; then
		eval $v &
		continue
	fi
	echo -n "Command for event $ev: "
	read cmd <&3
	eval act_$ev="$cmd"
	echo "act_$ev=\"$cmd\"" >>$CONF
done
exec 3<&
