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

fix #286616, fix #287432: handling of header/trailer on mmrests #4884

Merged

Conversation

MarcSabatella
Copy link
Contributor

A few more issues involve extra key signatures or other elements appearing on certain operations involving multimeasure rests. See https://musescore.org/en/node/286616 and https://musescore.org/en/node/287432. There are a few other glitches fixed by this that didn't seem worth submitting additional reports for.

Three main aspects to my changes here, involving the handling of header & trailer elements when creating mmrests:

  1. link any non-generated clef, time signature, or key signature between mmrest and underlying measure
  2. set the ENABLED and HEADER/TRAILER flags on the segments when copying elements
  3. set the HEADER/TRAILER flags on the mmrest itself

@MarcSabatella
Copy link
Contributor Author

A few tests need to be updated for the linking of elements in mmrests.

@MarcSabatella
Copy link
Contributor Author

The diffs on the tests are probably OK, but I do want to check on the "indexDiff" tags, because I don't fully understand them. @dmitrio95 , I have read about them in your blog from last year and get that they shouldn't be needed often, but I'd like to understand better when they are needed. What about the fact that I am linking time signature between the original measure and the mmrest requires the indexDiff? Is it just having the link on the same staff in the same score as opposed to a linked staff or part? Any reason I should be concerned?

@dmitrio95
Copy link
Contributor

Those <indexDiff> tags in mtest diffs look OK. The <indexDiff> tag exists to distinguish between the elements at the same score and the same position, and those time signatures have positions that cannot be distinguished with measure number, tick, track etc. So it is OK that such a link requires <indexDiff>, otherwise the second time signature wouldn't find the first one to link with it.

@MarcSabatella
Copy link
Contributor Author

OK, thanks, I've updated the references.

@MarcSabatella
Copy link
Contributor Author

MarcSabatella commented May 27, 2019

FWIW, I think this probably just came up again on the forum in https://musescore.org/en/node/289226#comment-922066. I hadn't noticed until after the RC that this one missed the big merge last week. I'd consider it very high priority for whenever we start considering fixes that aren't regressions versus 3.0.5.

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

Successfully merging this pull request may close these issues.

None yet

2 participants