MSCX format: Don't duplicate elements for each part
MSCX files contain a main score with all measures for all instruments, followed by sub-scores for each of the extracted parts. In each part's sub-score, all staves, measures, frames, and elements for instruments in that part are duplicated from the main score. This is very inefficient in terms of space, and overly complicates the diff output when changes are made to a file under version control.
Instead of duplicating everything in the parts, we should write out the measures etc. in the main score only, along with any differences between the score and the parts. The separate sub-scores should only be used to store global differences, such as changes to styles and page layout.
The following things can differ between the score and the parts:
- Page Layout and Style
- Inspector properties for individual elements (size, position, colour, font, etc.)
- Part Name text in Vertical Frames
Comment below if I have missed anything.