Output format:
My program HARMONY has a set of classes which I would be prepared to offer as a starting point for discussion (but they are in VB at present).
It has a TUNE class, VOICE class and NOTE class
A TUNE can hold a number of VOICES
A Voice can hold a number of NOTEs, which are structured as a bidirectional linked list
(Notes include all musical items, including bars, time and key signatures, tempo, instrumentation etc)
NOTE methods include one to return the actual pitch of a note, as modified by the current key definition and any preceding accidentals in a bar.
The main restriction at present is that it cannot hold polyphonic voices, but this could be overcome by providing multiple threads within a voice.
Or, perhaps, by having a note object contain a list of (zero or more) pitch objects rather than just one pitch value. A note object with a duration and no pitch objects would, of course, be a rest.
I'd like to reiterate what I'd suggested earlier, that an application processing a tune, whether converting it into sound or into sheet music, will want to obtain successive lists of the note objects that occur simultaneously across the voices.
Such lists would, I suggest, be returned by a NoteIterator object that is constructed with a Tune object as parameter.
************************************* * Jerome Colburn (;-{=''',,,= * * [EMAIL PROTECTED] * *************************************
To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html