#!/usr/bin/perl -w
use DBI;
use Date::Calc qw(Today);
use CGI qw(:standard);
print "Content-type: text/plain\n\n";
$theDB = DBI ->connect ('DBI:mysql:ecsmedia', 'ecsmedia', 'S3cq8esL') or die("Cannot connect.\n");
($year,$month,$day) = Today();
$theProduct = param("filename");
$theDate = "$month/$day/".substr($year, -2);
$theReferrer = $ENV{'HTTP_REFERER'};
$Query = "SELECT * FROM productCounters WHERE Product='$theProduct' AND Date='$theDate'";
$result = $theDB->prepare($Query) or die("error preparing SQL\n");
$result->execute() or die("error executing SQL\n");
if (@row = $result->fetchrow_array) {
$newCount = $row[2] + 1;
$newReferrer = $row[3].",".$theReferrer;
$Query = "UPDATE productCounters SET Count=$newCount, Referrers='$newReferrer' WHERE Product='$theProduct' AND Date='$theDate'";
$theDB->do($Query) or die("Invalid update");
}
else{
$Query = "INSERT INTO productCounters (Product, Date, Count, Referrers) VALUES ('$theProduct','$theDate','1','$theReferrer')";
$theDB->do($Query) or die("Invalid insert");
}
$result->finish();
$theDB->disconnect();
| |
 |
FUNCTIONAL HARMONY
Vincent Oddo
Functional Harmony is designed to develop facility in harmonic analysis.
Section 1 allows the user to practice analyzing basic chords in major
or minor keys and in root position or inversions. Using a similar format,
Section 2 presents diatonic seventh chords and Section 3 presents secondary
dominants. Section 4 completes the set with practice on borrowed and
altered chords. The student record keeping feature allows the instructor
to select the number of problems in each quiz. When using the MIDI option,
the chord displayed on the screen will play through the audio device
to facilitate chord identification. Windows version requires either
a sound card or MIDI.
|
| |
Download Mac Demo
Download Windows
Demo
|
Hybrid CD-ROM: 1368CD
Single Station Price: $59.95
Lab Pack (5 stations) Price: $160.00
Site/Network License (24 stations) Price: $480.00
System requirements: Win 98, 2000, XP Mac OS 8.5-9.2, 10(in classic mode)
|