On Thu, May 28, 2009 at 05:16:38PM +0200, madvax@free.fr wrote: > > Hello > > I own an old Roland keyboard (pre-GM) that cannot send RPN message. > But it can send short sysex messages when one moves some controls or push some > buttons. > Ex: cutoff control sends messages like this: > f0 41 0 3e 12 0 3 42 3b f7 > ("0 3" is the address of the Cutoff parameter, "42" is the value) > hi is there a channel number somewhere in the message? > I would like to translate these sysex messages to RPN/NRPN messages. > Can minish do that ? (i'm affraid it cannot...) > Do you think it would be easy to add this feature to minish ? > (tips would be welcome ;) > Indeed midish can't do this. The more natural approach I see is to add ``user defined'' events, and then to use them as ordinary events with the filter. In the above example, the user could register a new event as the ``f0 41 0 3e 12 0 3 * 3b f7'' pattern, and then use it as a regular event. That's how rpn/nrpn events are currently implemented. roughly the steps are: 1. define a new structure to hold event definitions (the pattern, the event name, etc), create a list/array/... of such structures and populate it. 2. modify mux_sysexcb() to parse user events and mux_putev() to output them 3. add a new entry for the new event in ev_phase(), evspec_matchev(), state_match(), state_inspec(), etc ... 4. try recording, playing, editting tracks containing such events, 5. tweak the filter to allow mapping user defined events into rpn/nrpn or whatever 6. add the necessary built in functions in builtin.c to let the user define its own events 7. add the necessary bits in saveload.c, smf.c so event definitions are saved 8. go back to step 1 until you're satisfied :) It might take a lot of time to experiment and to find the best approach (ie simple and fast), but afaiu most of the existing code should work as is with new event types, so, hopefully no need to rewrite stuff. Perhaps there are other, better, approaches; don't know [...] In my opinion having short and parametrable sysex events is useful for GM synths too, ex. to create fade outs using the gm master volume messages. Don't hesitate to contact me if you have further questions or whatever. -- AlexandreReceived on Thu, 28 May 2009 19:27:56 +0200
This archive was generated by hypermail 2.1.8 : Wed Nov 08 2017 - 16:32:20 CET