"Repeat a note" by clicking a notehead then pressing "R" in normal mode

• Apr 18, 2020 - 02:47
Reported version
3.4
Type
Functional
Frequency
Once
Severity
S5 - Suggestion
Reproducibility
Always
Status
closed
Regression
No
Workaround
No
Project

I'd like to suggest an extension of the "R" command so that it repeats individual notes after clicking on their noteheads, in normal mode.

A similar feature exists in Sibelius whereby virtually anything selected by a single click (notes, articulations, text, whole bar rests) is repeated.

Current "R" behaviour in MS repeats a note or selection after being selected by shift-clicking or shift -dragging. The modification I propose may seem a minor change but the method I use often (creating a rhythm by using repeated notes, then re-pitching them) suits my way of thinking and working and would give a alternative option to entering step note input mode.

After having and using this feature regularly in Sibelius I really miss it in MS.

For information, the "R" command in Sibelius acts as follows for different operations:
Select a single notehead with mouseclick : R copies (repeats) the note to the next position (overriding whatever comes after it);
Select a single note with articulation(s): R repeats the note and articulation(s);
Select a single note within a chord with articulation(s): R copies complete chord and articulation(s);
Select single lyrics: R copies lyrics to next note (very useful feature);
Title text: R copies text (same font + size) and places it directly below original;
Expression text: R copies text (same font + size) and places it immediately to the right of original.
ALSO:
Select a slur between two notes : R repeats the slur between the next two notes. ** (VERY useful feature)**.

Thank you for considering this!


Comments

Thanks for the suggestions!

A note about possible implementation:

The simplest one I can imagine would have us check the selection and if it's a single note rather than a range, create a range based on the tick of the selection, then process it normally. This would accomplish a good portion of the suggestions above, but not necessarily perfectly. In particular, it is not clear what the desired semantic should be when repeating one note that it isn't in a chord but where there is another note in another voice. My proposed simple implementation would copy both, my guess is it would be better to limit to the current chord.

But more importantly, the simple implementation would not do what is suggested here for text or slurs. Those would need to be handled individually. Regarding slurs, I'm also not sure what would be expected if the original slur wasn't between two notes but was over several. Should the repeated slur still cover just two notes, or cover the same number of notes as the original, or the same number of beats?

I note there a request for this a decade ago (!) with almost no discussion - see [#811]. I've closed that one as a duplicate since the more interesting discussion is here.

I have gone ahead and implemented the simple case of a single note selected and will submit a PR shortly. I would still recommend opening new issues to discuss the cases of other selections - text, articulations, and discontinuous selections of multiple notes. I'm not at all convinced there is any sort of consensus on expected behavior for those cases though, and would encourage more discussion of those cases on the forum.

Status PR created fixed

Fixed in branch 3.x, commit 7312b636cb

_fix #304051: repeat single note in normal mode

Resolves: https://musescore.org/en/node/304051

Lately there has been much discussion of the "R" command
and the fact that it only works on range selections.
In Sibelius, the same command is more general.
While it's not obvious what results might be expected
in each and every case, the most important request here
has been for "R" to work with a single note selected (not a range).

This change implements that very simply by checking for this case
and creating a range selection first.
Currently we generate a debug error message then simply do nothing.
So the change does not change anything about how the command works
except to allow it to do something reasonable
in the case of a single note/rest selected.

Note because a range selection is created, this means
selecting a single note in a chord repeats the whole chord.
That is how the command works in note input mode,
and it is how Sibelius works._

Fix version
3.5.0