Use of the Java Iterator and Iterable interfaces can simplify the jMusic API's considerably. E.g. Phrase.addNoteList:
public void addNoteList(Note... notes) {
for(Note note : notes) {
this.addNote(notes);
}
}
doesn't need the counting for-loop when using the Iterable interface, making the code easier to read. The Iterator also replaces the now obsolete Enumeration.