Improve "regroup rhythms" heuristics

• Feb 21, 2019 - 23:46
Reported version
3.0
Type
Functional
Frequency
Once
Severity
S4 - Minor
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

As per support forum post:
https://musescore.org/en/node/284504

See attached screenshots showing a bar before and after "regroup rhythms". I prefer the tied eighths on the "before" screenshot, is it intended behaviour to collapse into a single quarter note that doesn't fall on beat?

(Marc Sabatella responds: FWIW, I prefer the before too in this case, feel free to submit an official bug report via the issue tracker (see Support menu above). I'd mark the severity as "minor" (to me, it's somewhere between that and "major" but we don't have such an option).

My personal preference would be for "regroup rhythms" function to convert the "AfterRegroup" grouping to the "BeforeRegroup" grouping, but I'd also be happy if the function left both groupings as they are.

Attachment Size
AfterRegroup.png 3.48 KB
BeforeRegroup.png 3.66 KB

Comments

Is this Issue meant to catalog all Regroup Rhythms heuristics that need attention, or should others have separate Issues opened? Here is another I've found.

In 4/4, if you have a pickup bar of a beat and a half, but some instruments have only rests in that bar, you'd notate those as an eighth rest followed by a quarter rest, so that the quarter aligns with the beat. But if you Regroup such a bar, it puts the rests in the opposite order.

PS: I agree with the other commenters that in the first example posted, the Before image is a more conventional way to notate that bar than the After image.

The issue with the pickup bar is a bit different, it's not really just about regroup as it also affects the default beaming even before running the command. it's just that we don't "know" the bar is a pickup, so we don't know to treat it as the last as opposed to first beat and half of the measure. Yes, obviously, we do know, but coming up with an algorithm where MuseScore can definitively know in all the different cases (not just pickups, also measures split across a system, break, etc) is tricky. That said, there is such an algorithm, used for swing playback, and it works pretty well. So we should indeed use that here too. This comes up from time to time, see for instance #50121: Ancrusis writing.