craigsapp / website-polish-scores

Front-end for digital transcriptions of the Polish Music Heritage in Open Access project
https://polishscores.org
3 stars 1 forks source link

Allow parts to share a staff #285

Open craigsapp opened 4 months ago

craigsapp commented 4 months ago

It would be useful to add a filtering option to merge parts on separate staves onto a single staff.

A good starting point would be to enhance the extract tool to allow the basics for this feature, such as extract -s 1+2,3 to merge the spine 1 and 2 parts into a single spine. extract -k 1+2,3 could merge the subspines as well such as **dynam and **text, but generalizing that would be complicated and might require a separate filter to manage merging of the non-musical spines.

Another possibility for a separate tool such as mergeparts would be for the tool to read the *staff# information for parts in a score, and meger parts that have the same staff number.

For brass instruments it is possible to have 3 or 4 parts to merge onto a single staff.

The *join interpretation can deal to some extent with styling merged parts:

Screenshot 2024-02-13 at 10 32 45

View in VHV

A merged part spine would be:

Screenshot 2024-02-13 at 10 34 16

View in VHV

The *join is ignored when the parts are on separate staves, but when combining parts, the *join becomes active. The join markers indicate that notes in the two parts on the same staff are to share stems, while the default would not be to share stems (measure 1 in the above example).

This would be good in particular when viewing a large score in VHV where vertical space for showing all parts on separate staves is not enough unless the zoom is too small to see the notes.