hydrogen icon indicating copy to clipboard operation
hydrogen copied to clipboard

Feature request: having a pattern midi input mode as "drumkit" or "instrument" input mode exists

Open Houston4444 opened this issue 5 years ago • 2 comments

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.

Houston4444 avatar Oct 20 '20 22:10 Houston4444

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

mauser avatar Oct 21 '20 20:10 mauser

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.

Houston4444 avatar Oct 21 '20 21:10 Houston4444

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.

theGreatWhiteShark avatar Jun 09 '23 21:06 theGreatWhiteShark