grochat / verovio

🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)
http://www.verovio.org
Other
0 stars 0 forks source link

<space> MEI element: make sure this is properly handled in mensural/neume context #23

Closed grochat closed 1 year ago

grochat commented 4 years ago

https://music-encoding.org/guidelines/dev/elements/space.html

In particular, <space> without children should work.

0108Hugo-CABarsSepTriplum.mei.txt

tabourot commented 4 years ago

<space> without children works perfectly, producing a blank space of the specified duration. The problem arise when one tries to transcribe a damaged manuscript, where one note is unreadable, but the corresponding syllable of the lyrics is decryptable. In that case, the best solution would be to add a <verse> element as child of <space>; but it's not officially authorized by the MEI standard, in which <space> admits no child. Thus, the only remaining solution is a dirty workaround consisting in generating a quasi-invislble note with the @color=#ffffff (white) attribute. In that case, the subsequent notes keep unexpectedly the white rendering, even though, the default color (#000000 = blak) should be restored. That last issue didn't occur in the preceding versions of verovio.

On polenord , I corrected that last issue in quirks mode.

grochat commented 4 years ago

Ah yes! I got it wrong, the other way around! We need to check how deeply Verovio is bound to MEI (that's a question to Laurent...)

grochat commented 1 year ago

Alas we are in a deadend with <space>, as it doesn't want any children (a typical XXIst cent. element indeed!!) Another way, though, would be to use a dummy <note> with visible="false" but with visible="true" to the <verse> child, with verovio <verse> interpreting gracefully the overload... What say you, @tabourot and @lpugin?

tabourot commented 1 year ago

@visible is not defined in element, but, pragmatically, we could nevertheless use it.

Attached, a MEI example file, with an explicitly "visible" in an invisible . Currently, verovio expectedly displays neither the note nor the verse.

verseSansNote.xml.gz

lpugin commented 1 year ago

Maybe you can try <note head.visible="false"/>? Note necessarily more meaningful but maybe it does the trick?

tabourot commented 1 year ago

<note head.visible="false"/> has currently no effect on svg output. And if it were implemented, the note stem would remain visible, isn't it ?

grochat commented 1 year ago

I fixed head.visible to work in mensural context. Even before this fix, the trick would have been to overload the color attribute in <verse> (example attached). MEItest#23.mei.txt

tabourot commented 1 year ago

When several notes with head.visible="false" follow each other, the syllables of the corresponding <verse> elements appear superimposed. MEItest.23.mei.txt

tabourot commented 1 year ago

This issue is now out of date.