On Sunday 08 June 2003 02:17 pm, Pedro Lopez-Cabanillas wrote: > Hi, > > I was making a .rgd file for my SC-88 (a Roland GS synth on steroids), but > i've found that its 2 drum banks have the same lsb/msb numbers than other > regular banks. It is not possible to define two banks with the same lsb/msb > numbers, right?
No. It sorts by number, and explicitly ensures that this is never possible. At least the bank editor does. I haven't looked at the core stuff. (I guess obviously not, based on what you did with your hacked .rg file.) I went through the same discovery process you did. I have an SC-33, your SC-88's baby cousin, and have the same problem. We talked about a solution, but nobody has ever gotten around to doing anything yet. I've been thinking about trying to tackle it for awhile, but haven't gotten around to doing anything more than think about it. > tracks. The drum type banks could have duplicate lsb/msb numbers with other > non-drum banks. What do you think? If you want to tackle it, I don't think anyone will mind, though I don't actually have the authority to tell you that. :) The problem is that our synths are weird. A lot of synths use a separate bank for drums. For example (and this seems typical of a lot of hardware synths too), load any number of soundfonts into FluidSynth, use Chris's (borrowed) SF2 patch name extractor to import the patch names, and you'll find named drum kits in bank 1 0. Often these are the very same names assigned to the very same patch numbers that we use to dial up drums on channels that are set to DRUM-1 or DRUM-2, but since we need to transmit 0 0 [patch number] and let the synth take care of the distinction between normal and drum mode, there's no ready means for us to deal with this from inside Rosegarden. So I was thinking that the way to deal with this is to have a virtual percussion bank. Maybe call it 128/128 or something so it could have a unique number, but be outside the normal range, and only be accessible through special means. It would transmit LSB/MSB 0/0 and function the same as the normal 0/0 bank, but would offer an alternative set of patch names in the instrument parameters box so we could dial through our drum kits. Perhaps there could be an instrument-parameters level toggle [x] GS drum mode or something like that which would allow users to choose which 0/0 bank they see. That way if a user has used sysex or the synth panel to put percussion on channels 3 and 12, they can use that toggle on whatever tracks are pointing at those channels, and have a handy way to dial up the drum kits they want no matter what funky, non-standard way they've set up their Sound CAnvas. I don't know of circumstances where it might be useful, but perhaps it could be taken further. 0 0 through 127 127 are the "primary" patch definitions, and 128 128 through 256 256 are the "alternate" patch definitions, but they actually transmit as 0 0 through 127 127. What gets transmitted remains the same, but it provides a way to have two sets of names per LSB/MSB number without actually making it possible to have two banks that are internally represented as having the same unique identifier. Anyway, there are probably holes here, and I haven't really looked at the code to see how workable this scheme is. I never got started on the implementation, and never ran this concept by the Big Three, so I'm not suggesting that this is even a good plan. I think it sounds fairly reasonable though. I've been mulling it over for a long time. -- Michael McIntyre USDA zone 6b in SW VA, USA Silvan <[EMAIL PROTECTED]> Linux Druid ----------[ registered Linux user #243621 ]--------- http://www.geocities.com/Paris/Rue/5407/index.html ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The best thread debugger on the planet. Designed with thread debugging features you've never dreamed of, try TotalView 6 free at www.etnus.com. _______________________________________________ Rosegarden-devel mailing list [EMAIL PROTECTED] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
