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

Add free-form notation options #282

Closed craigsapp closed 4 months ago

craigsapp commented 4 months ago

Add a free-form field in the configuration panel to pass options to verovio.

Example:

Screenshot 2024-02-12 at 02 09 24

The verovio options field should behave similar to the Filter option.

Use the !!!verovio: syntax, each field separated by a semicolon (;) when multiple settings need to be given.

Such as for this work:

!!!veriovio: condense auto
!!!verovio: condenseFirstPage

Which in the notation parameters field would be:

condense auto; condenseFirstPage

These options will display the scores as in the original scan. In this case the ideal sollution would be to add the !!!verovio: options given above into the digital score for proper notation display in condensed score format. But when this is not the case, the free-form verovio options field can be used to add it to the POPC2 interface.

craigsapp commented 4 months ago

Implemented in issue https://github.com/craigsapp/website-polish-scores/commit/593bb8590631e7237d53995067304e15d83b4478

Example:

https://polishscores.org?id=pl-wn--mus-iii-65-947-cim--001-024&con=Ob

Screenshot 2024-02-12 at 03 43 56

Compare to the original source:

https://zas.bn.org.pl/iiif/19382537/19723335.tif/full/,900/0/default.jpg

Screenshot 2024-02-12 at 03 44 32

where the SATB choir are not present at the start of the score.

verovio parameter meaning
condense Remote staves on a system when all rests.
condenseFirstPage Do the same to the first page, which is typically not condensed so that all of the instruments are listed on the first page.

There is a new "Notation options" entry in the configuration menu:

Screenshot 2024-02-12 at 03 48 42

In this case the contents are:

condense; condenseFirstPage

And notice there are only piano and one voice at the start of the music.

Screenshot 2024-02-12 at 03 51 16

The URL is updated when the notation options are checked:

polishscores.org/?id=pl-wn--mus-iii-65-947-cim--001-024&con=ObVv{condense;condenseFirstPage}

Vv is the URL configuration code for verovio options, and they follow within curly brackets.

Note that "Original system breaks" is needed to handle the notation case when the instrumentation changes, since the cases need to happen at a system break.

The full choir comes in in measure 47:

Screenshot 2024-02-12 at 03 53 25

In this case there is an encoding error, and the LB/PB markers are not directly attached to the barline, but instead to the *Xtremolo, the *Xtremolo should be placed above the LB/PB lines.

Screenshot 2024-02-12 at 03 55 51

Corrected:

Screenshot 2024-02-12 at 03 57 40

And both PB and LB are not needed at the same time (PB includes an implicit LB):

Screenshot 2024-02-12 at 03 58 22

Further corrected (but not in repository) to remove undesired exclamation marks (originally this was a local comment, but incompletely converted to a global comment):

Screenshot 2024-02-12 at 04 05 21

Viewing in VHV with the same verovio options (configuration options not transferred automatically to VHV from polishscores.org:

Screenshot 2024-02-12 at 04 03 23

Added the options by hand for now:

!!!verovio: condense
!!!verovio: condenseFirstPage
!!!verovio: breaks line
craigsapp commented 4 months ago

List of verovio options (the purple ones):

https://plugin.humdrum.org/options/#list

More have been added since the list was last revised, so needs to be updated.

Example of adding beamFrenchStyle to the notation options:

https://polishscores.org/?id=pl-wn--mus-iii-65-947-cim--001-024&con=ObVv{beamFrenchStyle;condense;condenseFirstPage}

Screenshot 2024-02-12 at 04 10 48

This causes the stems to stop at the closest beamlet instead of the furthest:

Screenshot 2024-02-12 at 04 11 48

Compare to standard beaming style:

Screenshot 2024-02-12 at 04 13 00