JMSL Score, algorithmically generated music

It is easy to add algorithmically generated note data to a JMSL Score with addNote(double dur, double pitch, double amp, double hold). Score will match dur against its own table of durations, and find the closest match. Score recognizes all durations from whole note to 128th note, their dotted versions, and their 3, 5, 7, and 11 tuplet versions.

Example:
score.addNote(1.0, 65, 0.5, 0.8);	// qtr note
score.addNote(0.5, 66, 0.5, 0.4);	// 8th note
score.addNote(0.33333, 67, 0.5, 0.2);	// triplet
score.addNote(0.33333, 68, 0.5, 0.2);	// triplet
score.addNote(0.33333, 69, 0.5, 0.2);	// triplet

Of course the process that generates these numbers can be as complex as you like.