Now, you shouldn't really bother about the midi implementation if you just use the custom made MAX objects, but it could still be interesting for you to know what goes on. The sound-engine supports the following:
The internal system uses some control changes to work properly. If you add control changes of this type I can't guarantee that your browser don't explode or whatever. Also the system uses one of the META events.The META & controlchanges are at the moment:
So please don't use these control changes, they don't do anything to the softwaresynth anyway...
Use program change with bank select controller 0. Also, remember that the boring GM sounds are in bank0, and that you lush custom intstruments are in bank2
Well, if you wanna use another generator, or just make a MIDI radio or something, all you have to do is to make a program that send UDP packets including the midifile in the data buffer (and nothing else) and it will work like a charm... but, I encourage you then to dive into the source code if you don't want to use the system as it is.
NOTE: The generating engine (like MAX) has to remeber the state of the midifiles sent via UDP (like instruments, pitchbend/modulation etc.) and include this in the begining of each midi-file.