4 grep -xq '[0-9]\+' <<<"$1"
8 local file tail eq eqt m
13 if [ "${eq%% *}" -eq "$2" ] 2>/dev/null; then
14 if [[ "$eq" == *\ * ]]; then
20 elif [ "${eq:0:${#2}}" = "$2" ]; then
22 if [ "${eqt:0:1}" = " " -o -z "$eqt" ]; then
28 if [ "$eqt" = "$3" -o "$eqt" = "($3)" ]; then
40 while [ "${1:0:1}" = - ]; do
45 echo "usage: planime [-ht] [-s PAR VAL] [NAME-QUAL] [EP|.] [TYPE-QUAL]" >&2
49 cmdline=("${cmdline[@]}" -ao oss:/dev/dsp1)
60 base="$(basename "$(pwd)")"
66 elif [ $# -eq 1 ]; then
70 if findfile "$base - " "$1" >/dev/null; then
77 elif [ $# -eq 2 ]; then
78 if findfile "$base - " "$1" "$2" >/dev/null; then
90 if [ "$ep" = . ]; then nextep=y; fi
91 if [ "$nextep" = y -a -r nextep ]; then
93 if ! isnum "$ep"; then
94 echo "planime: nextep is non-numeric" >&2
98 file="$(findfile "$base - " "$ep" "$qual")"
100 if [ -z "$file" -o ! -r "$file" ]; then
101 echo "planime: no matching file found" >&2
105 case "${file##*.}" in
107 defopts=(-aid 1 -sid 0)
110 defopts=(-slang eng -alang jpn)
116 if [ -n "$savepar" ]; then
117 if [ -r "$ifile" ]; then
118 egrep -v "^${savepar}:" "$ifile" >"$ifile.new"
119 mv -f "$ifile.new" "$ifile"
121 echo "$savepar: $saveval" >>"$ifile"
127 if [ -r "$ifile" ]; then
128 delay="$(sed -n 's/delay *: *\([^ ]*\)$/\1/p' <"$ifile")"
129 cmdline=("${cmdline[@]}" -delay "$delay")
131 cmdline=("${cmdline[@]}" "${defopts[@]}")
134 if [ "`hostname`" = pc6 ]; then chwp=y; fi
136 if [ "$chwp" = y ]; then (sleep 2; randomwp) & fi
137 "${cmdline[@]}" "$file"
139 if [ "$nextep" = y ]; then
140 echo "0. Save and continue (or Space)"
141 echo "1. Continue without saving"
142 echo "2. Save and exit (or Enter)"
143 echo "3. Exit without saving (or any key)"
159 if [ "$save" = y ]; then
160 echo "$(($ep + 1))" >nextep
162 if [ "$cont" = y ]; then
163 exec "${origargs[@]}"