#!/usr/bin/perl

$OUTDIR="/home/fine/www";
$NEW="$OUTDIR/webcamnew.jpg";
$CUR="$OUTDIR/webcam.jpg";
$QVDIR="/home/fine/qv/QVplay095/obj/SunOS.5.8";
$ENV{'QVPLAYTTY'}="/dev/term/a";

$basenum=qv_do("-n");
chop $basenum;
$basenum =~ s/^[^0-9]*//;

while (1) {
  print "\n\nSnapping\n";
  qv_do("-t");
  sleep 1;
  #taking a second snapshot gets a clean image
  print "Snapping Again\n";
  qv_do("-t");
  sleep 1;
  $numpics=qv_do("-n");
  chop $numpics;
  $numpics =~ s/^[^0-9]*//;
  qv_do("-p $numpics");
  sleep 1;
  print "Grabbing $numpics\n";
  #qv_do("-S high -o $NEW -F jpeg -g $numpics");
  qv_do("-S light -o $NEW -F jpeg -g $numpics");
  if (! -z "$NEW") {
    chmod(0755,$NEW);
    for ($i=4; $i>0; --$i) {
      $j=$i+1;
      rename("$OUTDIR/webcam$i.jpg","$OUTDIR/webcam$j.jpg");
    }
    rename($CUR,"$OUTDIR/webcam1.jpg");
    rename($NEW,$CUR);
  }
  sleep 1;
  while($numpics > $basenum) {
    print "Deleting $numpics\n";
    qv_do("-d $numpics");
    --$numpics;
  }
  sleep 1;
  print "Resetting\n";
  qv_do("-r");
  system("rcp $OUTDIR/webcam.jpg spider:/var/tmp/finewebcam.jpg &");
  sleep 2;
}

#
#
#

sub qv_do {
  open(QV,"$QVDIR/qvplay $_[0]|");
  $ret=<QV>;
#print $ret;
  close(QV);
  return $ret;
}

