#!/bin/sh
#
# rap -- command-line wrapper for Real<Whatever> (Version 1.0)
#
# This is a wrapper for the RealAudio player, so you can run it without
# having to put up with (much) X-windows. Spiffy as all hell for lynx, for
# example.
#
# Based on concept and code from "traplayer" by Toby Reed <toby@eskimo.com>.
# Freely distributable under GPL -- see COPYING for details.

# Stuff you might want to adjust for your system
XVFB='Xvfb :2 -ac -fp /usr/X11/lib/X11/fonts/misc/ -screen 2 200x200x4 -fn 7x14'
RPLY="rvplayer -display localhost:2.0 $@"
ADEV='/dev/dsp'

on_exit() { # make sure player and server die on exit
   kill -TERM "$RPLY_PID" >/dev/null 2>&1
   kill -TERM "$XVFB_PID" >/dev/null 2>&1
   echo
   exit 0
}

trap 'on_exit' 0 2 # call on_exit on interrupt or normal termination

$XVFB >/dev/null 2>&1 &  # Start virtual frame buffer X server
XVFB_PID=$!

$RPLY >/dev/null 2>&1 &  # Start RealMumble player
RPLY_PID=$!

echo "RAP v1.0 -- waiting for audio data to be buffered"
while [ ! -e /proc/$RPLY_PID/fd/7 ] ; do sleep 1 ; done
echo "playing audio -- use interrupt to abort"
while [ -e /proc/$RPLY_PID/fd/7 ] ; do sleep 1 ; done
echo "audio stream finished -- terminating"
exit 0
