fix #117066: Selecting notes in triplet quavers embedded in triplet crotchet #3812
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See https://musescore.org/en/node/117066.
This not only fixes the issue in the bug report, but it allows us to correct rounding errors elsewhere in the code as well.
Every time we do
int endTick = cr->tick() + cr->actualTicks
, there is a good chance for a rounding error ifcr->tuplet() != nullptr
. We can instead doFraction f = cr->ftick() + cr->actualFraction()
. Converting back to regular ticks (if we have to) is as easy as callingf.ticks()
.