#!/bin/bash # by Hans Schou 2003 # Usage. # Start the viewer with no playing or recording. # vrecord # Start recording to foo.ogg and foo.vnc.bz2 # vrecord foo # Start playing (only works if 'foo.ogg' or 'foo.vnc.bz2' exists) # vrecord foo VNCNUM=5 WAVREC=wavr [ -z "$(which $WAVREC)" ] && WAVREC=wavrec # Check password exist. if [ ! -e ~/.vnc/passwd ]; then vncpasswd fi # Start server if needed function check_server() { if [ ! -e /tmp/.X$VNCNUM-lock ]; then vncserver :$VNCNUM -name "e-learning" -depth 8 -geometry 900x650 fi } if [ -z "$1" ]; then # Just connect, no playing or recording check_server vncrec -passwd ~/.vnc/passwd :$VNCNUM else if [ -f $1.vnc.bz2 -o -f $1.ogg ]; then # Start playing aumix -v 100 -m 0 vncrec -passwd ~/.vnc/passwd :$VNCNUM -play <(bzcat $1.vnc.bz2) > /dev/null & usleep 2200000 ogg123 -q $1.ogg else # Start recording check_server aumix -v 0 -m 100 if [ $WAVREC = "wavr" ]; then wavr -c 2 -d 16 -r 44100 -f $1.wav & else wavrec -S -b 16 -s 44100 -t 10000 $1.wav & fi vncrec -passwd ~/.vnc/passwd :$VNCNUM -record >(bzip2 -c>$1.vnc.bz2) killall $WAVREC [ -n "$(which normalize)" ] && normalize $1.wav ARTIST=`grep "^$(whoami):" /etc/passwd | cut -d ":" -f 5` oggenc -q -1 -t "$1, $0" -a "$ARTIST <$(whoami)@$HOSTNAME>" -l "E-learning" -G "Educatioon" -d $(date -I) -o $1.ogg $1.wav rm -f $1.wav fi fi