I would like to implement MIDI export but I am having trouble following the control flow and understanding a few things.

it looks like when a project is "rendered" either a a "wav" or "ogg" type is selected. I would like to add a new type and interface for the type "mid".

the ProjectRenderer can either be a "AudioFileWav" or an "AudioFileOgg". These are both inherited from AudioDevice which seems to get buffers of raw wave data by its "getNextBuffer()" member function. I am not sure about how to proceed from here, since MIDI data is a data sequence file, not a raw wave file.

Any ideas or input would be helpful since I am just getting my feet wet with the overall control flow.

Also, Should a new class be defined? or is there something existing that I dont know of yet. thank you.