Extracting Chord Text to all Parts

• Feb 14, 2015 - 17:06

Hi,

I have a score with both voice and piano that I am extracting into parts. Using the File->Parts feature of MuseScore 2 made this extremely simple to do, but I noticed that the Chord Symbol text (i.e., inserted with ctrl-k) only shows up in the extraction to the voice part. However, I would like to include the chord symbols in the piano part as well.

My assumption for why this happens is that the Chord Symbol Text Style does not have the System Flag checked and therefore will only show up in the parts related to the staves in which the chord text was inserted. In my case, this was the voice staff. Indeed, if I put some chord text into the piano staff, then it shows up in the extracted piano part, but not the voice part.

I tried to solve my problem of extracting the Chord Symbols into all parts by checking the System Flag check box in the Chord Symbol section of the Edit Text Style dialog box. However, this did not work.

I am very new to MuseScore (and absolutely love it!), so I was hoping somewhere here in forum land could point me to whether this behavior of ignoring the System Flag check box is a bug or whether I have some assumptions wrong. Any alternate ways of solving this problem would be helpful too!

Thanks,

Jordan


Comments

Right, I can see why one might want the system flag to work, but the potential issues with transposition make this complicated. The standard in published scores is to include the chord symbols on every staff for which they appear in parts anyhow, so I recommend just following the standard. If you really don't want to see the chord symbols on multiple staves in the score, you can mark them invisible (right click one, Select / All similar elements in same staff, press "V").

In reply to by Marc Sabatella

Thanks for the amazingly quick replies. This forum is great!

I can definitely see how transposition could be a thorny issue; I had not considered that in my narrow view of the problem. I'll go with standard and use the invisibility trick you mention.

Ideally, it would make sense to disable the System Flag check box for the Chord Symbol Text Style dialog box as it gives the user (like me!) the illusion of control that does not exist, which is always an undesirable gui design choice. My guess, however, is that this would require special casing some code that does not yet have the infrastructure for that behavior and therefore the effort/payoff ratio may not be favorable. Is this something worthy of submitting as an issue or should I not bother?

Thanks again. This is an amazing product.

Jordan

In reply to by Jojo-Schmitz

It's trickier than that, though. It's not just a question of not bothering with transposition at the moment they are extracted to the parts. It's how to handle every single subsequent change to that chord - whether the user edits it, or if he transposes the score, or if he hits the Concert Pitch button, or if he changes instrument. And change to any copy of that chord would thus have a ripple effect on the others. It is, I suppose, possible to define a semantic for this, but it would probably require changes kind of throughout the code to get it right.

In reply to by Jojo-Schmitz

But chords are not system text, they are very special, with *tons* of special handling in ltos of different places in the code. And system text isn't affected by any of those operations I mentioned. It's totally diffewrent thing. Feel free to look at the code see see all the places where there is specialy handling for chord symbols and think about what would be involved to make them all work. I'm sure it's doable, but trust me, it would be far from trivial.

In reply to by Marc Sabatella

I don't get it. If I attach an A major chord symbol to a chordrest in score and set the system flag, I'd want an A major show up in every part at that tick above top staff. If I change that chord symbol to a C major in score (or part) it should change to C major in part (or score). Unless I unset the system flag... in which case they should disappear from every part (except the one they got attached to initially).
If transposing the score changes the (system) chord symbol, it should change in parts and score.
concert pitch or not, system chord symbols should not change.

If or as long as this isn't possible, the system flag should not be offered at all.

Anyway, we still have the idea of a 0 line staff for this purpose...

In reply to by Jojo-Schmitz

Like I said, I get why this could be desirable. But as I have tried to explain, chord symbols are *not* text. I mean, they have letter and numbers in them, but in virtually every way that matters, they are totally distinct element types with tons of special handling throughout the source. They are affected by every transposition operation. They are affected every time you hit Concert Pitch. They are affected if you change the transposition in staff properties, or if you change instrument. They are unique with special handling in all of those different places in the code.

For that matter, even the simple act of editing a chord symbol is extremely special. After editing the text, you need to "render" the chord anew. And you have to do that for each of the linked copies of the chord - and somehow make the resulting change to the linked chord not trigger a re-rendering of the original chord. After editing the text, there is a whole complex and potentially recursive set of operations to try to ensure that the linked parts get updated properly - not with a copy of the text, but a newly transposed and newly rendered version of the chord symbol. Making all that work with Undo was a challenge in itself.

So if we were to try to allow "system" chords, the code in all of those places would potentally need to be updated to handle this new case gracefully. Maybe some of the those special cases would magically happen to work with no changes, but I rather doubt all of them would, and each and every one of them would require examination and testing to see. Implementing system chords basically amounts to adding more potential links to each chord - links to chords on staves that are themselves *not* linked, which the code is currently not expecting at all. My guess is you will get infinite recursion somewhere as edits on one staff would now be affecting chords on staves that are not even linked and the code isn't prepared for that.

So if you want to to study the code, try implementing it, fix whatever breaks, add appropriate automated test case, and submit a PR, I'm happy to look at it, because again, I *do* understand the potential value. But knowing what I know about the special handling chord symbols receive, I find it unlikely it would turn out to be simple.

In reply to by Marc Sabatella

I have the same problem, I write scores for an accordeon ensemble. the conducter score has accordeon 1, 2 and 3, an a base cuitar, I atach the chord names to acc 1, but I want to print them out sepratly for the musicians, wit the chord names on each score.
In 1.3 I had a workaround, first I made aseparate file for accordeon 1, here I had the chords names on it, after I saved it I deleted all the notres in that score, rhen I went to the conductor score selected acc2, right click, copyd it, and pasted it on the emty saff I n,made of acc 1 abd saved it in a different folder, but in beta 2 it stays conected whit the condactor score and changes this too
Is it possibale to do this in beta 2, becaus entering the chord names 4 times is a lot of work on a medley of more than 200 bars

Do you still have an unanswered question? Please log in first to post your question.