rism-digital / verovio

🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)
https://www.verovio.org
GNU Lesser General Public License v3.0
678 stars 185 forks source link

French beaming option + beam + stem length + articulation/slur interactions #2804

Closed craigsapp closed 2 years ago

craigsapp commented 2 years ago

The new French-style beaming option is confusing layout code for other elements that are not aware of the style. Here is an example:

Screen Shot 2022-04-20 at 7 37 10 AM

Without French-style beaming, the placement of the slur ending and staccato on an internal note of a beam are correct:

Screen Shot 2022-04-20 at 7 37 55 AM

Some sort of "effective length" for the stem needs to be added for such situations so that placement of the articulations and slurs is not done inside of a beam.

Click to view MEI test data ```xml Piano Sonata no. 1 in F minor Craig Stuart Sapp Verovio

Transcoded from Humdrum

Encoded by: Craig Stuart Sapp

Version: 2022/04/20

Piano Sonata no. 1 in F minor Beethoven, Ludwig van
Piano Sonata no. 1 in F minor     Ludwig van Beethoven 1770–1827
```
rettinghaus commented 2 years ago

This not just a stem but a general beam problem. If you have a closer look, you'll see that in the same situation articulations over beams are closer to the note (while the end of a beam is even a bit further away from the notehead than the stem). staccato

craigsapp commented 2 years ago

Yes, although that seems to be caused by different code? (the beginning and ending notes of French beams have standard placements because the stems go all of the way to the top of the beams unlike the internal stems which stop at the bottom of the beam).