I don't have the time right now to write an editor/librarian, it is a
remarkably large undertaking!
For anyone who wants to purchase an appliance, MIDIQuest9 does support
the EX-800, and therefore I would assume it will also handle the
Poly-800MKii, and modified Poly-800s.
For anyone who wants to tackle programming, here are a handful of pretty
useful links:
http://www.maxmidi.com/index.html - the bible when I was learning to
write code for MIDI
http://www.codeguru.com/vb/gen/vb_multimedia/article.php/c1097/ - can't
make heads nor tails of this, but it is certainly worth looking at I guess.
http://www.borg.com/~jglatt/ - the site that got me hooked!
http://nosuchmedia.com/mostly-midi/archive/index.html - an amazing
archive of old code!!!!
http://home.modemss.brisnet.org.au/~mlevoi/midi.html - a more recent
site with lots of good info
http://www.midi.org/ - the horses mouth...
There also used to be a Nutshell book that had a lot of info on both
MIDI and digital audio programming, but their site frustrates me more
often than not, and tonight I gave up rather quickly!
And a couple of thoughts for the poster who was thinking about tackling
this with a couple of years of C++ under their belt: go for it. It is
NOT rocket science, though some things we did with previous operating
environments have become more obfuscated recently. In a nutshell, your
program needs to be able to do the following:
1) get a sysex dump from the target machine
2) send a sysex dump to the target machine
3) convert a sysex dump into some kind of human readable format, and
since you are the programmer, you define what is human readable... some
people think hex is human readable<G>!
4) apply user changes to the data and convert it back to the sysex format.
Really, that's all there is to it and you could do it in Java (C without
pointers), Perl, VB, and probably half a dozen other languages! C++
might be a good choice since there are already libraries to handle the
MIDI I/O, file I/O, and a lot of the UI widgets you'll need/want for
almost any operating environment!
There is a ton of open source code for MIDI data processing in the Linux
community, so that's another place to look for ideas.
A sysex file, by the way, is pretty darned simple. It consists of a
preamble that includes the header as required for MIDI communications
and possibly some proprietary information, and then some number of
blocks of data, where each block of data represents a discrete patch.
Within that block of data are the parameter values, for example the
first byte might describe the first oscillator pitch. Some of the older
synths packed data, so that the first byte might include pitch and
waveform for the first oscillator. You get the idea.
OK, a very poorly organized reply, but it's late, and half of me is
watching the Olympics - the downside of laptops!!!
Let me know if more info is needed!
--
Take care,
Bill Thompson
Audio Enterprise
KB3KJF