#! /bin/sh
# FILTER -- process part of a MIDI stream, psl 3/88
CRITERIA=
PROG=
for ARG
do
	case $ARG
	in
	-*)	CRITERIA="$CRITERIA $ARG";;
	*)	PROG="$PROG $ARG";;
	esac
done
if [ "$CRITERIA" = "" -o "$PROG" = "" ] ; then
	echo "Usage: $0 criterion [...] program-and-arguments <in >out" 1>&2
	echo "The criteria are arguments to 'select' & must come first." 1>&2
	echo "For example: $0 -c9 -c11 transpose 1o <x >xx" 1>&2
	exit 2
fi
cat >/tmp/$$a
select </tmp/$$a $CRITERIA | $PROG >/tmp/$$b
select </tmp/$$a -allbut $CRITERIA >/tmp/$$c
merge /tmp/$$b /tmp/$$c
rm -f /tmp/$$[abc]
