Feature request: having a pattern midi input mode as "drumkit" or "instrument" input mode exists
I am trying a new workflow where I have an ardour midi track controlling Hydrogen only changing its patterns. In hydrogen options, I assigned notes to SELECT_NEXT_PATTERN events(SELECT_AND_PLAY_PATTERN would be probably better but there is a little bug #957 preventing this). Achieve this can be quite long, because user has to assign one note per pattern he wants to use. More the fact we can only use one channel for all events is problematic, we arrive quickly to a range of notes where it is also playing notes in instrument mode.
That's why I wonder if a "pattern" midi input mode could be doable. Where each pattern is automatically assigned to a midi note in the good order.
Note: for practical reasons, I assigned note 127 to 1st pattern, 126 to the 2nd one, etc... In ardour, as in all daws, the higher notes are to the top, as the first pattern is to the top in Hydrogen, but normal and reversed orders both make sense I think.
Hi!
Wouldn't that be a use case for a Midi Program Change message? Those are currently unused in Hydrogen (apart from custom mappings), and it seems to me that they are exactly meant for such a case. This would also not require a separate mode.
For example this site says:
As another example, a drum box may use Program Change to select a particular rhythm pattern (ie, drum beat).
Yes. You are probably right. But I also read:
the Program Change message actually selects which instrument currently plays
So It could take sense too to map program changes to instrument change in instrument midi input mode. But, because all instruments of a drumkit are loaded together, we could imagine use midi channels to change the instrument to play in instrument mode, unfortunately with the limitation of 16 instruments. So, I think choose pattern is the good candidate for program changes.
For the use case I explain above, I could achieve this with a simple midi note -> program_change plugin between my ardour midi track and hydrogen input.
This can be done using SELECT_(ONLY)_NEXT_PATTERN_CC_ABSOLUTE introduced in version 1.2.0. It maps the incoming CC, PC value or note velocity to a pattern number.