The Main score's Staff Text gets unintentionally duplicated in Parts (under certain circumstances)

• Aug 6, 2022 - 02:30
Reported version
3.6
Type
Functional
Frequency
Once
Severity
S2 - Critical
Reproducibility
Always
Status
active
Regression
No
Workaround
No
Project

Regarding scores with linked tablature and subsequently generated Parts, I often find that for each Staff Text object added to the main score two Staff Text objects appear in the Part. As far as I can telll, it doesn't matter if these objects are pasted or newly created.

The same can occur with Chord symbols. Update 2022-08-06: Turns out there's a long list of objects that appear "doubled" in Parts when added to the score after generating players Parts.

Note: I've only tested with linked tablature.

I see these issues as significant because it appears that the only "remedy" is the deletion of Parts in which they manifest—and that's at the cost of time carefully spent grooming the Part's layout. So it can be a sizable loss.

Best I can tell the issue exhibits only after closing and reopening the score! Due to this close/open trigger exact steps to replicate had proved initially elusive, but I have listed steps in the original forum post.

Update 2022-08-07: I've listed a shorter number of replication steps below.

It seems the bug trigger is a conflagration of Parts, Linked Tablature and a Close/Reopen cycle. After that point various objects added (pasted into?) to the main score display as pairs in the Parts.

Original discussion here.

scorster


Comments

Status active needs info

I can confirm the bug exists - the post score is indeed corrupted this way - but what we'd still need in order to investigate further are precise steps to reproduce the problem. So hopefully, someone will be able to figure that out!

In reply to by Marc Sabatella

I followed the "steps to replicate" I provided in the original discussion and successfully replicated the issue from scratch.

I've seen no report of anyone trying these steps. Perhaps my comment "The steps to replicate should be something like" dissuaded people from bothering. I made that statement because I believed the submitted steps sufficed ... without delving into exactly how I created the new score, how I added the three staves, how I added linked tablature, what notes were added, and so on. I believed that such additional detail could easily cloud the explanation.

I've also attached an example score here prior to generating Parts. Starting with that score it requires very few steps to force the issue. Just add Parts and stir. And I'd think viewing the score in a debugger would reveal the gremlins at play.

scorster

Severity S3 - Major S2 - Critical
Status needs info active

Thank you for the additional information, with that help, I am able to reproduce.

Indeed, your phrase "should be something like" made it sound extremely vague, and in the steps themselves, the phrases "2 or 3 staves", "add some notes" and "add a staff text" are also very non-specific. Far from clouding the issue, those are exactly the sort of details that often matter. For example, adding a text to an empty measure that then becomes part of a multimeasure rest produces far different results than attaching to a non-empty measure.

Also your comments right towards the top, "'I've tried several times to replicate this from scratch but failed. (See the paragraph denoted with a bullet for general steps that I believe should trigger the behavior.)" as well as your later question "Can anyone reproduce the issue" made it seems like this was something you only occasionally saw and weren't able to reproduce yourself reliably even with the given steps, which were not very specific to begin with. So, no doubt there was a bug in there somewhere, we just wanted to nail down the steps more reliably.

So all that said, hopefully you can see why it seemed likely to be a bit of a wild goose chase based on your original description, and why no one took you up on it!

Now that you've clarified you are able to reproduce it reliably, it would still be great to eliminate the guesswork about the steps themselves - how many staves should we try, what instruments should they be, which notes to enter, where to add the staff text (onto an empty or non-empty measure - this matters greatly). But armed with the knowledge that it is in fact reproducible, it's easier for people to help you out in nailing down the steps. The following work:

1) new score, two classical guitars
2) add a single whole note to the first measure, top staff
3) add a single staff text to that note
4) add linked tab staves to both instruments
5) generate parts
6) save/close/reopen
7) in the score, add a single chord symbol to note from step 2)
8) view that part

Result: The chord symbol is duplicated

Same result if you add a staff text or a number of other objects.

So thanks again for providing the additional information clarifying the reproducibility that allowed the steps the be nailed down!

I was not able to reproduce following those precise steps in today's MuseScore 4 build. It could be there are other steps that might reproduce it. If so, and those steps are found, it should be reported on GitHub.

In reply to by scorster

This is the most concise steps to replication I've managed to compile:

    • File>New>Guitar+Tablature
    • Add a middle C to measure 1
    • Add a Staff Text object to the middle C note
    • Copy Measure 1 and paste to Measure 4
    • File>Parts>All Parts
    • Look at the guitar part and see that all is normal—i.e. there are no duplicate Staff Text object in the Part

    • Close and reopen the score
    • Look at the Part. Everything is still normal.
    • Go back to the main score
    • Copy Measure 1 and paste to Measure 4
    • Look at the Part. You’ll see a duplicate of the pasted Staff Text object

Additionally, after reopening the score, adding or pasting any of the following objects to the main score produces two such objects in the relevant Part:

    • Staff Text objects
    • Chord symbols
    • Chord diagrams
    • pizz.
    • fermata
    • trill
    • mordent
    • slurs (these may display one atop the other due to the same x,y location)
    • hairpins (these display one atop the other due to the same x,y location)
    • and likely many more ...

As shown in the attached score:

      Single Guitar + Tab with Part duplicate object 02 WITH duplicates.mscz

I didn’t test extensively, but it seems Measure objects are immune to the duplicate issue.

scorster

In reply to by Marc Sabatella

Marc Sabatella wrote >> I was not able to reproduce following those precise steps in today's MuseScore 4 build.

That makes me curious ...

I'm able to open any of my corrupted-as-described scores in 3.6.2. Is v4 also able to open the scores I attached ... or similarly corrupted scores?

If so, is the corruption automatically healed on open in v4? Or—short of deleting the Parts—is there a way (en MuseScore) to clear corruptio, reinstating proper linkage between the main score and the Parts?

scorster

MuseScore 4 works very differently when it comes to parts, and opening a MuseScore 3 score does not automatically open the parts that were created previously. And if I do open them, I don't automatically get linked staves within the parts. But anyhow, nothing I did created duplicate texts in parts. I encourage you to experiment for yourself though.

Just a small "follow along" comment to express my thanks to scorster for the due diligence and effort in pinning down this path to corruption.

In reply to by jeetee

I was unable to attach my example .mscz scores on Github ... so I made this post and will link to it from Github.

I posted on Github to mention that—not surprisingly—the corruption follows the affected MS3 scores when they're opened in MS4. Hopefully MS4 will scrub the issue out of thusly afflicted MS3 scores on open (Once the natural of the corruption is understood.)

My goal in posting to Github wasn't to see if the replication steps produce the same result in MS4, but I'd like to know if anyone finds a way to trigger such corruption in MS4. Marc posted above that he didn't not observe the corruption in MS 4 with the steps I provided. So hopefully the triggering issue(s) are resolved.

Two scores attached.

scorster