#!/usr/bin/perl
$play="/usr/bin/play";
@sounds=(
	"/usr/share/XFCE/sounds/pop02.wav",
	"/usr/share/XFCE/sounds/pop01.wav",
	"/usr/share/XFCE/sounds/ping04.wav",
	"/usr/local/share/sounds/windows/ding.wav",
	"/usr/share/sounds/gnibbles/pop.wav",
	"/opt/wine/mschomp/eatfruit.wav",
	"/opt/wine/mschomp/eatghost.wav",
	"/opt/Office51/gallery/sounds/laser.wav",
	"/usr/local/src/Sound/Lsox/Sox/monkey.wav",
	"/usr/local/share/sounds/clips/ringout.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/bark.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/bass-snap.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/boing.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/click.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/ding.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/drip.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/drum-beep.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/monkey.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/piano-beep.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/quiet-beep.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/slap.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/say-beep.wav",
	"/usr/lib/xemacs/xemacs-packages/etc/sounds/yeep.wav",
	"/usr/share/enlightenment/themes/ShinyMetal/snd/Beep.wav",
	"/usr/share/enlightenment/themes/ShinyMetal/snd/boingiggig.wav",
	"/usr/share/enlightenment/themes/ShinyMetal/snd/Boing.wav",
	"/usr/share/enlightenment/themes/ShinyMetal/snd/Bubbles.wav",
	"/usr/share/enlightenment/themes/ShinyMetal/snd/Bweep.wav",
	"/usr/share/enlightenment/themes/ShinyMetal/snd/drip.wav",
	"/usr/share/enlightenment/themes/ShinyMetal/snd/FingerSnap.wav",
	"/usr/share/enlightenment/themes/ShinyMetal/snd/rubberband.wav",
	"/usr/share/enlightenment/themes/ShinyMetal/snd/tink.wav",
	);
$soundfile="";
$c=0;
while (($c++<@sounds) && (! -r $soundfile)) {
	$soundfile=$sounds[int(rand(@sounds))];
}
if (-r $soundfile) {
	$cmd="$play $soundfile";
} else {
	print STDERR "Gave up looking for a sound file.\n";
	$cmd="/bin/false";
}

$ping="/bin/ping";

$arg=$ARGV[0];

open (PING,"$ping $arg |") or die "Can't ping $arg\n";
#close(STDERR);
select STDERR; $|=1; select STDOUT;
$|=1;
while (<PING>) {
	print;
	if (/ bytes from /) {
		system($cmd) and printf("%c",7);
	}
}
