Chris Cannam wrote:
> I've been thinking about this again lately.  I had been considering
> a couple of features:
>
>  a. Add a toggle (on the bank dialog) to declare that you want
>     this device to use Roland-style Variation controllers instead
>     of bank selects, sending the bank MSB as the variation value.
>     This wouldn't change the layout of the rest of the dialog (you'd
>     still be entering programs in banks instead of as variations)
>     but would cause the instrument parameter box to switch to
>     showing Program and Variation combos instead of Bank and
>     Program ones (i.e. Program combo containing Electric Piano 2,
>     then Variation combo containing Electric Piano 2 and Detuned
>     Electric Piano etc).  This would just be GUI niceness for a
>     Roland synth that supports bank selects, but I guess older
>     Rolands and Roland-compatibles don't always.

On many other synths (e.g. XG, GM2), the bank select LSB (not MSB)
switches between variations of the program in bank 0, so this would be
a generally useful feature.

But we'd still need a bank combo because newer Roland GS synths, while
retaining the meaning of the bank select MSB, use the LSB to select
between banks containing backwards-compatible instruments (i.e.
1=SC-55, 2=SC-88, 3=SC-88Pro, 4=SC-8850/8820; 0=default).

>  b. Instead of making a Bank consist internally of LSB and MSB only,
>     make it consist of LSB, MSB and "percussion flag".  Same LSB
>     and MSB but different flag => different bank.  Optional switch
>     to say that selecting a percussion bank should cause some sysex
>     or other (entered into a text field) to be sent.  (If that's not
>     set, then the synth will actually see same LSB/MSB as same bank
>     regardless of the percussion flag, but you'll still be able to
>     have two sets of names at the GUI.)  Optional switch to say show
>     the percussion programs on channel 10 without requiring explicit
>     bank settings.

This would be really needed for many GM synths without bank select
messages, but having several drum sets (selectable with program
change).

> One problem here is that a. and b. are not actually quite compatible:
> you don't exactly want percussion showing up as variations on non-
> percussion.

There are two bank select values (MSB and LSB). Whenever one of them
is used to switch to drum bank, it's the other one which selects a
variation, so I don't see a problem here.

> I don't much like adding specialised GUI stuff to support a single
> manufacturer's weirdnesses, but I guess Roland is kind of a popular
> make.  On the other hand, I'm concerned that users of some other
> synth will then pop up to say theirs works in yet another completely
> incompatible way -- we should probably try to catch as many of these
> freakishnesses as possible at the first attempt.  Anyone want to
> comment on how things like percussion banks work on other makes of
> synth?  (At least ones that don't just use bank selects.)

No need to look into specific synths, there's enough weirdness in the
various standards:

GM: no bank selects; channel 10 is always drum channel;
    optional drum sets selectable with program change

GM2: bank select LSB is variation; bank select MSB switches between
     drum sets and melody voices; only channels 10 and 11 can use drum
     sets AFAIK

GS: bank select MSB is variation; on newer synths, LSB switches
    between banks; percussion mode settable with a sysex (percussion
    instruments don't have variations, but can be different in
    different banks); bank select MSB = 127 isn't a variation but
    selects MT-32 compatible instruments (only on Sound Canvases)

XG: bank select MSB switches between melody voices/sfx voices/drum
    sets/sfx sets; bank select LSB is for banks (with melody voices,
    it could be interpreted as variation if you really like to); bank
    select MSB on channel 10 cannot be changed unless explicitly
    enabled by a sysex


Regards,
Clemens




-------------------------------------------------------
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

Reply via email to