On Mon, 16 Jun 2003, Torsten Anders wrote: > > The internal data structures must represent the score and the midi data > > must be derived from these data. > > I generate scores in an algorithmic way. I wonder whether I could import > generated scores to NoteEdit for editing. Therefore my questions: Sometimes I plan to write a paper about this, to enable more people to contribute the program. But - as many programmers - I'm very bad in such things. To tell the truth sometimes I've forgotten some details and so this paper were also helpful to me. And especially the multiple voices per staff makes all very difficult. Some users also asked for a ABC importer. And indeed, if I knew about ABC music at the very beginning I'd use ABC music as the storage format. And I think generation of ABC music format is relatively simple. But currently I have not time for such an importer. So, the only way so far is to try to create MUP. This is sometimes complicated because it shows some ornaments and decorations in extra lines. > How does your internal data structure look like? I think the ABC music is very close. Of course, you cannot describe pointers directly in textual format. But the principle: All information needed for drawing a note should be next to the note is the same as in NoteEdit. In any case NoteEdit itself has no MIDI like representation and also the replay works by examining the score directly. Only during MIDI import there is a TSE3 structure with MIDI like representation. The TSE3 library by Pete Goodliffe <pete@xxxxxxxxxx> and expecially the TSE3 filters are very helpful for MIDI --> score reconstruction. BTW: This is the reason for ... On Fri, 13 Jun 2003, Chris Cannam wrote: > the first time I looked at it I never got as far as discovering that > it could import MIDI files, as that feature was not on the File menu > but instead on a menu obscurely labelled "TSE3" (the name of the MIDI > engine it uses). ... I wanted to make clear the benefit of Pete's library. -- J.Anders, Chemnitz, GERMANY (ja@xxxxxxxxxxxxxxxxxxxxxxxxx)