[MusicXML export] Making part symbols explicit
Hi,
first of all, thanks for the amazing work!
I have a small XML export improvement in mind. I can work on a pull request for, but I'd like to discuss it first on the off chance that it might break something.
Consider the organ part: first two staves have a bracket, the third one doesn't. Currently, MuseScore relies on the default behavior of MusicXML in this situation: multi-staff parts that have no <part-symbol> defined will be all connected by a bracket. This means that upon importing organ scores, all three staves are bracketed.
It's not hard to correct this in MuseScore. However, my use case is evaluating Optical Music Recognition: I need to transcribe some sheet music (our team chose MuseScore to do that, as the export mostly suits our purposes better than Sibelius or other software, plus there's this uniquely open-source chance to help implement things we need...) and then link objects on the page to corresponding MusicXML elements. However, now I have a brace on the page and nothing in the exported XML to link to.
The solution I have in mind would be to export the <part-symbol> element in <attributes>. Also, it addresses #17661: [MusicXML] Curly bracket covering one, or three staves is missing and discourages misusing <part-group> for the purpose of adding brackets to single parts. The top-staff and bottom-staff attributes address the organ situation (and possibly other weirdness like Ravel's Valée des Cloches or Rachmaninov's C# minor prelude).
Thoughts?
Jan
Comments
Sounds good. If you do work on this, also consider the import part and a read/write test.
In reply to Sounds good. If you do work by [DELETED] 5
OK, submitted a feature request ticket for myself: #91041: [MusicXML export] Support <part-symbol> export/import for flexible and explicit multi-staff part bracketing
It won't be overnight, though, I need to familiarize myself with the codebase and dev process.
In reply to OK, submitted a feature by jan.hajic.jr
No problem, if you need help with that, feel free to join IRC #musescore on freenode.net for a chat. Also see https://musescore.org/en/developers-handbook/git-workflow and https://musescore.org/en/developers-handbook/compilation