Gabriel M. Beddingfield wrote:
>
> I think that the problem is that a GM-ordered kit "feels" like it's sort 
> of randomly organized... partly because it was designed with a keyboard 
> controller in mind.  On the other hand, people like Hydrogen's interface 
> for editing drums because you can put "like" instruments near each other.
>
>   
> PROPOSAL:
>
> 1. Support the GM System Enable/Disable SysEx message to
>     enable/disable GM Mode.[1]
>
> 2. Provide a GUI button and/or status indicator to show
>     if we are in GM Mode.
>
> 3. In the drumkit XML file, provide an optional element after
>     <info>: <is_gm_kit>.  It should be a boolean ("true", "false").
>     If true, then the <gm_instrument> tags are ignored (see below).
>     The default is false if missing or degenerate.
>
> 4. In the drumkit XML file, under instrument add an optional
>     element: <gm_instrument>.  The element should contain an
>     integer that corresponds to the MIDI note number in the
>     GM Drum spec.[2]  The default is -1 (None) if it is missing,
>     unless the kit is a GM kit.  In that case, the default
>     will be <id> + 35.[4]
>
> 5. In the instrument editor, provide a field with the GM drum
>     sound name.  It should display the _name_ (not the integer).
>     If set to "None" it should flash red and yellow and be very
>     annoying so that the user will set it and get it to stop
>     flashing.  User can only assign the GM Note _once_.  So if
>     it is already assigned, alert the user and make sure he
>     really wants to.
>
> 6. If Hydrogen is put into GM mode, it will change the MIDI
>     channel to 10 and listen only to that channel.  If the
>     user overrides the channel number while in GM Mode, this
>     will be allowed and respected.
>
> 7. While in GM Mode, notes that come in will be mapped to
>     the correct instrument in the current drum kit.  If the
>     note does not have an instrument assigned to it, then
>     the note will be dropped.[3]  If <is_gm_kit> is true, then
>     the instrument offset will be assigned note_number - 35.[4]
>
> 8. If the drum kit, for whatever reason, has more than one
>     instrument that shares the same GM note... Hydrogen will
>     always select the last instrument (in the document order)
>     to play.
>
> 9. When GM Mode is turned off, Hydrogen will revert to its
>     standard behavior (instrument_offset = note_number - 35).[4]
>     It will also restore the channel setting to its previous
>     state.
>
> Comments?  Perhaps we should extend the scheme to also allow *any*
> note number assignment within a kit?  That sounds like too much
> flexibility though... probably leading to really confusing drum kits.
>   
I would recommend both. We could implement a new "midi-in" property 
which controls the note value
an instrument responds to. That would remove the dependency between the 
view (order of instruments) and the
midi-notes. This would please everyone who uses hydrogen in a live 
setup. An important point: The GM mapping makes sense
for instruments only.. User-defined drumset contain often things like 
samples or other non-drum objects. We should provide a handy solution 
for them
as well, so defining the note number by hand makes sense here.
Downpoint: It is unclear what happens when a user moves an instrument in 
his list, for example from instrument id 1 to 3. At the moment this 
would alter
the note it responds to. With a fixed mapping, this could be not the 
thing we want. But in the first time, people will wonder why it works no 
more :)

The second step would be the GM-Mapping, as described above.  In 
combination, both features add some more complexity. We should take care
for sane default settings so that people aren't confused a lot.
- Sebastian


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Hydrogen-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hydrogen-devel

Reply via email to