That sounds like a nice project. What kind of organ was it and what did you use as the MIDI controller?
You could use SYSEX for these kind of messages however SYSEX is a bit painful with regards to having a recognised SYSEX ID - officially you should request one from the MIDI Manufacturers association which can be a bit of a pain in the butt if you are working on a free, open source application since you have to pay for this 'pleasure'. If you do choose to use SYSEX then you keyboard will probably only ever interoperate with your own interpreter since nothing else would respond to you SYSEX. That may be what you want however to use it as a general controller then you probably don't want this restriction.
You may want to look into using NRP controls but that does have gory stuff attached to it: firstly you would have to select the Non Registered Parameter you want to change then give the data values you want to set it to. Changing from one controller to another does require extra messaging however once you have selected a control you are left with just data entry. The data entry can be 7 or 14 bit and you actually leave it up to other end to decide how to handle - it puts a bit more onus on your interpreter code to recognise when you have a 7 or 14 bit value. The actual amount of data you need to send may also be quite large but if the only reciever is going to be your interpreter then you will have flexibilty in the translations from NRP to whatever paramter you want to send onwards.
Perhaps you actually just want to have a look at what you want these controls to do. Depending on how many you have and what you want to control then you might find the GM default MIDI mappings are all you need, giving you things like ADRS parameters, filter parameters, FX parameters, etc. The truth is that the GM spec is a bit restrictive but that depends on what you want to achieve. Also, if you get GM to work and the code is well written then you can extend it from there to drive different synths with non-GM mappings.
Regards,
NIck.
> Date: Sat, 27 Sep 2008 13:58:36 +0200
> From: fons@kokkinizita.net
> To: linux-audio-user@lists.linuxaudio.org
> Subject: Re: [LAU] Usage of undefinded MIDI mesages
>
> On Sat, Sep 27, 2008 at 12:55:52PM +0200, Crypto wrote:
>
> > Because I would like to make the MIDI messages static (i.e. they are linked
> > with particular buttons and faders and will not be changed) I have thought of
> > using an external application (keykit in this case) to work on incoming MIDI
> > events of the MIDI controller, filter them and trigger newly defined MIDI
> > events with it.
>
> Have a look at MIDIDINGS:
>
> <http://das.nasophon.de/mididings>
>
> Very flexible and easy to program.
>
> > I would like to make the MIDI messages transmitted by the controller as short
> > as possible. I have thought of assigning the Bx (Control Change) command to
> > the buttons and faders, but this would mix with/overwrite other control
> > change commands sent by other MIDI devices.
>
> Not if you use a separate channel. Or a separate interface.
>
> > How about the System Common Message F4 and F5 which are not yet defined in the
> > MIDI standard? Could I add some extra data bytes to identify the type (button
> > or fader), the number and value?
>
> Don't. It's not even defined how many bytes should follow
> these codes. And they are _system_ commands.
>
> If you can't use controllers, use sysex. The overhead is not
> that much.
>
> Ciao,
>
> --
> FA
>
> Laboratorio di Acustica ed Elettroacustica
> Parma, Italia
>
> Wie der Mond heute Nacht aussieht !
> Ist es nicht ein seltsames Bild ?
> _______________________________________________
> Linux-audio-user mailing list
> Linux-audio-user@lists.linuxaudio.org
> http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! Try it!