rendered paste body#!/usr/bin/perl
sub beep($$)
{
my $freq = shift;
my $ms = shift;
$esc = chr(27);
if ($freq < 1) {
$freq = 1;
}
if ($freq > 20000) { #20 khz
$freq = 20000;
}
if ($ms < 1) {
$ms = 1;
}
if ($ms > 10000) { #10 sec
$ms = 10000;
}
open(CONS,">/dev/console");
print CONS $esc . "[10;" . $freq . "]", #set freq
$esc . "[11;" . $ms . "]", #set delay
chr(7) , #beep (ascii bell)
$esc, "[10]", #reset freq
$esc, "[11]"; #reset delay
select(undef, undef, undef, ($ms / 1000));
close(CONS);
}
sub beep_type {
my($type,@null)=@_;
if ($type eq "high") {
for (my $n=0; $n<5; $n++) {
beep(3000,100);
beep(6000,300);
}
}
if ($type eq "up") {
for (my $n=0; $n<100; $n++) {
beep($n*20,10);
}
}
if ($type eq "3up") {
for (my $n=0; $n<33; $n++) {
beep($n*20,10);
}
for (my $n=0; $n<33; $n++) {
beep($n*20,10);
}
for (my $n=0; $n<33; $n++) {
beep($n*20,10);
}
}
if ($type eq "down") {
for (my $n=100; $n>0; $n--) {
beep($n*20,10);
}
}
if ($type eq "3down") {
for (my $n=33; $n>0; $n--) {
beep($n*20,10);
}
for (my $n=33; $n>0; $n--) {
beep($n*20,10);
}
for (my $n=33; $n>0; $n--) {
beep($n*20,10);
}
}
if ($type eq "wave") {
for (my $n=0; $n<5; $n++) {
beep(220,500);
beep(110,1000);
}
}
if ($type eq "deepdown") {
for (my $n=0; $n<1; $n++) {
beep(220,250);
beep(110,500);
beep(55,1500);
}
}
if ($type eq "sirene") {
for (my $n=0; $n<3; $n++) {
beep(2000,250);
beep(4000,500);
}
for (my $n=0; $n<3; $n++) {
beep(2000,125);
beep(4000,250);
}
for (my $n=0; $n<3; $n++) {
beep(2000,250);
beep(4000,500);
}
}
###END sub beep_type
}
#if ( $ARGC = 0) {
#print ("$ARGV[0] up | 3up | down | 3down | wave | deepdown | sirene\n");
#}
&beep_type("$ARGV[0]");