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"
141 echo "1. Continue without saving"
142 echo "2. Save and exit"
143 echo "3. Exit without saving"
159 if [ "$save" = y ]; then
160 echo "$(($ep + 1))" >nextep
162 if [ "$cont" = y ]; then
163 exec "${origargs[@]}"