Hi!\n"; print "I'm a program pretending to be an index.html page.\n"; print "The point of this page is to provide a general entry-point to \n"; print "\tJC's Tune Finder,\n"; print "show the top-level tools that are kept here,\n"; print "and help other search sites by presenting a list a few keywords that apply to everything here.\n"; &webpage("$docdir/Disclaimer_en.html"); print "
Everything here starts with the one program: ";
print " Some more programs that aren't very useful when called directly: ";
print " \n";
print "tunefind\n";
print " looks up ABC tunes in our index of several hundred web sites.\n";
print "\n";
print " \n";
print "
\n";
print " \n";
print "tuneadd \n";
print "adds an ABC file to the contrib/ directory. \n";
print "\n";
print " tuneform \n";
print "lets you select formatting options for converting ABC to printable formats. \n";
print "\n";
print " tuneget \n";
print "extracts an ABC tune from a site's file and converts it to any of several formats. \n";
print "\n";
print " tunelist \n";
print "lists a directory's contents, expanding ABC files to show the tunes. \n";
print "
\n";
print "Notice: Due to problems with file names on Windows and Mac OSX systems,\n";
print "the names of the programs here are now entirely lower case.\n";
print "If you were using tunefind or tuneget, they are now tunefind and tuneget.\n";
print "They are also called findtune and gettune, but FindTune and GetTune don't exist any more.\n";
print "\n";
print "
\n";
&ads() if $sendads;
print "\n";
print "\n";
print "\n";
print "\n" if $V>1;
exit $exitstat;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
sub LocalSetup { $Vtest = shift;
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
# Figure out where we're running, and try to require a *cgilocal.pm file for #
# local settings. The end result of this is to initialize a long list of #
# global variables. The return value is the name of the cgilocal file, which #
# we usually feed to the 'require' command. #
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
$ENV{PATH} = '/bin:/sbin:/usr/bin:/usr/sbin';
push @INC, '.';
umask 0002; # Output files must be group writable
$| = 1; # Unbuffered STDOUT
$" = ','; # Used in verbose messages
($P = $0 || 'INDEX') =~ s".*/"";
$Venv = (defined($ENV{"V_$P"}) ? $ENV{"V_$P"} : '1') . ' 1';
$Vsrc = "Venv='$Venv'";
$Venv =~ /(\d+)/; # Verbose level
$V = $1;
$Vtest = 1 unless defined $Vtest;
($ENV{REMOTE_ADDR} || '0.0.0.0') =~ m/^\s*([\d.]+)\s*$/;
$RA = $1;
if ($RA eq '207.172.223.184') { # My home machine
if ($V<$Vtest) {$V = $Vtest; $Vsrc = "Vtest=$Vtest"}
} elsif ($RA =~ /^192\.168\./) { # My home network
$V = $Vtest if $V<$Vtest;
if ($V<$Vtest) {$V = $Vtest; $Vsrc = "Vtest=$Vtest"}
}
local($ss,$mm,$hh,$DD,$MM,$YY) = gmtime($now = time); # Current date/time
$ymd = sprintf("%d-%02d-%02d",1900+$YY,1+$MM,$DD); # CCYY-MM-DD
$hms = sprintf("%02d:%02d:%02d",$hh,$mm,$ss); # HH:MM:SS
$hostname = `/bin/hostname`; # What does this machine call itself?
$hostname =~ s/^\s*([-.\w]*)([\r\s]*)$/$1/; # Strip off white stuff
($host = $1) =~ s/\..*//; # Extract first field of name
$hstloc = $host . "-cgilocal.pm";
$cgiloc = (-f $hstloc) ? $hstloc : 'cgilocal.pm';
return $cgiloc;
}
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #