#!/usr/bin/perl

$play  = "/usr/bin/play" ;
$path  = "/home/blueness/Clock" ;
$fuser = "/sbin/fuser" ;

if ( `$fuser /dev/dsp` ) {
   logit(" *** DSP IN USE *** \n") ;
   exit ;
}

$date   = `date` ;
@pieces = split( /[ ]+/, $date ) ;
@time   = split( /:/, $pieces[3] ) ;

$hour = $time[0] ;
$mins = $time[1] ;
$secs = $time[2] ;

if (  (($mins==14) and (50<=$secs)) or (($mins==15) and ($secs<=10))  ) {
	`$play $path/quarter-hour.wav >/dev/null 2>&1` ; logit("QUARTER $date") ;
}

if (  (($mins==29) and (50<=$secs)) or (($mins==30) and ($secs<=10))  ) {
	`$play $path/half-hour.wav >/dev/null 2>&1` ; logit("HALF    $date") ;
}

if (  (($mins==44) and (50<=$secs)) or (($mins==45) and ($secs<=10))  ) {
	`$play $path/third-quarter.wav >/dev/null 2>&1` ; logit("THIRD   $date") ;
}

if (  (($mins==59) and (50<=$secs)) or (($mins==0) and ($secs<=10))  ) { 

	`$play $path/hour-chime2.wav >/dev/null 2>&1` ; logit("HOUR    $date") ;

	if ( $mins==59 ) {
		$hour += 1 ; logit(" *** EARLY *** \n") ;
	}
	$hour %= 12 ;
	if ( $hour == 0 ) {
		$hour = 12 ; logit(" *** WRAP *** \n") ;
	}

	for($i=0;$i<$hour;$i++) {
		sleep 1 ;
		`$play -v 2 $path/chime_count.wav >/dev/null 2>&1` ; logit(" -X- ") ;
	}
	logit("\n\n") ;
}


sub logit {
	my $msg = $_[0] ;
	open( LOG, ">>$path/log" ) ;
	print LOG $msg ;
	close( LOG ) ;
}



