Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve randomization in Pattern Editor #973

Open
theGreatWhiteShark opened this issue Nov 9, 2020 · 9 comments
Open

Improve randomization in Pattern Editor #973

theGreatWhiteShark opened this issue Nov 9, 2020 · 9 comments

Comments

@theGreatWhiteShark
Copy link
Contributor

Current behavior

When right-clicking on an instrument in the Pattern Editor and choosing "random velocities" the current implementation yields the following result

random_old

Proposed behavior

I would like to increase the control over the result and make this action more intuitive.

First of all, I would make "Ctrl + left mouse button" select some of the velocities (marked in blue).

random_marked

Using "Ctrl + right button" one selects a specific velocity as baseline (marked using a white line). The random values will now be drawn from a Gaussian distribution with its origin at the baseline (instead of a uniform dist. as in the current implementation). The width of the distribution is controlled by moving the mouse vertically while holding the right button and is displayed using e.g. red lines. (These could be e.g. the .1 and .9 quantiles and all draws with values larger than these will be rejected).

random_lines

When releasing the right button random velocities are drawn according to the specified dist.
random_new

If no notes are selected, the random values would be drawn for the whole pattern.

I also would provide this kind of randomization for pan, probability, and note key (right now only velocity is supported).

What do you think? Any suggestions? (I did not put much thought into line styles and colors yet. So all suggestions welcome)

@cme
Copy link
Contributor

cme commented Nov 9, 2020

Yes please!

I'm not sure about the exact user action sequence. I'm currently doing some refactoring ( #964 ) of pattern editors to commonise code with the drum & piano roll editors and note properties editors. That would allow the same selection infrastructure as the drum & piano roll editors to be used while keeping common user experience (drag selection, ctrl + click, etc). Would that fit with what you're thinking in terms of user interaction?

@theGreatWhiteShark
Copy link
Contributor Author

I'm actually using just the left mouse button when interacting with Hydrogen.

😲 I was not aware that we could already ctrl + click and drag in the pattern editor. Awesome.

Sure, I'm up to whatever modifier/button combination (as a Emacs user I'm comfortable to press up to three keys to perform this action)

@cme
Copy link
Contributor

cme commented Nov 9, 2020

Selection was a very recent addition.

Actually, I've been considering that maybe the pattern editor and note properties editors ought to share a selection, so that selected notes in one show as selected in the other as well. The "Randomize velocity" function is on the Instrument List menu, and should probably be added to the pattern editor context menu as well to act on the selection. Commonising those to be the same code (maybe a menu fragment) would be good.

@theGreatWhiteShark
Copy link
Contributor Author

Yeah, sounds reasonable.

@Bjorn218
Copy link

Is there a way to change the note/velocity shape? common drum softwares use diamonds or triangles with color intensity denoting velocity unless you actually have the velocity window pulled up.

@cme
Copy link
Contributor

cme commented Jun 25, 2021

Hydrogen colours the notes in the Pattern Editor according to the velocity of the note (on a scale which goes from pale for light hits, via black for "regular" to red for the hardest hits).

The Drum Pattern Editor doesn't have any way of changing the velocity of notes independently of the velocity editor, although the Piano Roll Editor does allow this by dragging up and down with the right mouse button. This difference in behaviour has niggled at me for a while, but I don't have a clear enough idea of whether this is either undesirable enough to remove it from the Piano Roll Editor, or desirable enough to add it to the Drum Pattern Editor too 😆

What would you intuitively expect to be able to do to change the velocity of notes without the Note Properties Ruler? Hydrogen doesn't aim to replicate any other program's interface, but if there's a reasonable general expectation we should think about meeting it :)

@Bjorn218
Copy link

Bjorn218 commented Jul 9, 2021 via email

@theGreatWhiteShark
Copy link
Contributor Author

Another to consider are flam hits ghost off time notes etc. the way Hydrogen is set up, you have to be able to move hits off the grid some.

Besides changing the velocity of a note in the button part of the editor you can also change the pan, lead and lag (temporal onset of the note), the note key, as well as the probabiliy of it to be played back. See http://hydrogen-music.org/documentation/manual/manual_en_chunked/ch09s03.html for more information.

The lead&lag one you can use to place notes slightly off the grid where the pattern resolution set to off is still to coarse.

@theGreatWhiteShark
Copy link
Contributor Author

The Drum Pattern Editor doesn't have any way of changing the velocity of notes independently of the velocity editor, although the Piano Roll Editor does allow this by dragging up and down with the right mouse button. This difference in behaviour has niggled at me for a while, but I don't have a clear enough idea of whether this is either undesirable enough to remove it from the Piano Roll Editor, or desirable enough to add it to the Drum Pattern Editor too laughing

Hmm. TBH I don't really like this feature. For one there the NotePropertiesRuler has to be set to velocity in order for the user to know which value the velocity was set to. Just the color as feedback is not much (but a static tooltip like in the new Rotary and Fader class while dragging/scrolling would make me also use it). Secondly, I don't find it intuitive that this only affects velocity regardless of the choice the NotePropertiesRuler is set too. If pan is selected, I would expect drag/scroll to alter the note pan instead. Also the coloring in the NotePropertiesRuler is inconsistent. Both pan and probability use the velocity-specific color. But note key and lead&lag are always painted in black.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants