humdrum-tools / verovio-humdrum-viewer

Verovio Humdrum Viewer
http://verovio.humdrum.org
37 stars 9 forks source link

Visual change of long rests doesn't work properly #814

Open jacekiwaszko1 opened 1 year ago

jacekiwaszko1 commented 1 year ago

In general, it is possible to change the visual display of the rest using !LO:N:vis=.... But it does not always work for longer rests.

Here's an example from Fantasia op. 20 by Wieniawski [last line, third measure] (https://polona2.pl/item/fantasia-op-20,MTA3NTY4MDg0/80/#item = https://polishscores.org/?id=18xx:3808, mm. 164-170):

image

The proper encoding of the fragment should probably look like this:

**kern
=
!LO:N:vis=00
0.r
=
.
=
.
=
.
=
!LO:N:vis=0
1.r
=
.
=
!LO:N:vis=1
2.r
==
*-

but in the rendering only the last rest is being displayed properly:

image

Thats probably because in MEI encoding rest@dur values are wrong (breve for the first rest, 1 for the second one).

Click to see MEI encoding ```xml </titleStmt> <pubStmt /> </fileDesc> <encodingDesc> <appInfo> <application isodate="2023-05-16T15:36:23" version="3.16.0-dev-d3567f3"> <name>Verovio</name> <p>Transcoded from Humdrum</p> </application> </appInfo> </encodingDesc> <workList> <work> <title /> </work> </workList> </meiHead> <music> <body> <mdiv xml:id="m1w7149t"> <score xml:id="s5fhodo"> <scoreDef xml:id="s1k4da0v" midi.bpm="400.000000"> <staffGrp xml:id="s1ukiyxe"> <staffDef xml:id="staffdef-L1F1" n="1" lines="5"> <clef xml:id="cruz3e4" /> </staffDef> </staffGrp> </scoreDef> <section xml:id="section-L1F1"> <measure xml:id="measure-L1"> <staff xml:id="staff-L1F1" n="1"> <layer xml:id="layer-L1F1N1" n="1"> <rest xml:id="rest-L4F1" type="straddle" dots="1" dur.ges="2" dur="breve" /> </layer> </staff> </measure> <measure xml:id="measure-L5"> <staff xml:id="staff-L5F1N1" n="1"> <layer xml:id="layer-L5F1N1" n="1"> <space xml:id="som3iru" type="straddle" dots="1" dur="2" /> </layer> </staff> </measure> <measure xml:id="measure-L7"> <staff xml:id="staff-L7F1N1" n="1"> <layer xml:id="layer-L7F1N1" n="1"> <space xml:id="spqei5d" type="straddle" dots="1" dur="2" /> </layer> </staff> </measure> <measure xml:id="measure-L9"> <staff xml:id="staff-L9F1N1" n="1"> <layer xml:id="layer-L9F1N1" n="1"> <space xml:id="swyqjpu" type="straddle" dots="1" dur="2" /> </layer> </staff> </measure> <measure xml:id="measure-L11"> <staff xml:id="staff-L11F1N1" n="1"> <layer xml:id="layer-L11F1N1" n="1"> <rest xml:id="rest-L13F1" type="straddle" dots="1" dur.ges="2" dur="1" /> </layer> </staff> </measure> <measure xml:id="measure-L14"> <staff xml:id="staff-L14F1N1" n="1"> <layer xml:id="layer-L14F1N1" n="1"> <space xml:id="s1kit9n6" type="straddle" dots="1" dur="2" /> </layer> </staff> </measure> <measure xml:id="measure-L16" right="end"> <staff xml:id="staff-L16F1N1" n="1"> <layer xml:id="layer-L16F1N1" n="1"> <rest xml:id="rest-L18F1" dots="0" dur.ges="2" dots.ges="1" dur="1" /> </layer> </staff> </measure> </section> </score> </mdiv> </body> </music> </mei> ``` </details> <p>after the change of <code>rest@dur</code> values to <code>long</code> and <code>breve</code> respectively the rendering looks as expected:</p> <p><img referrerpolicy="no-referrer" src="https://github.com/humdrum-tools/verovio-humdrum-viewer/assets/29225574/bd7c38b0-cb66-4ac1-ba1f-dd6480bbe2e7" alt="image" /></p> <details><summary>Click to see MEI encoding</summary> ```xml <?xml version="1.0" encoding="UTF-8"?> <?xml-model href="https://music-encoding.org/schema/dev/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?> <?xml-model href="https://music-encoding.org/schema/dev/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?> <mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="5.0.0-dev"> <meiHead> <fileDesc> <titleStmt> <title /> </titleStmt> <pubStmt /> </fileDesc> <encodingDesc> <appInfo> <application isodate="2023-05-16T15:36:23" version="3.16.0-dev-d3567f3"> <name>Verovio</name> <p>Transcoded from Humdrum</p> </application> </appInfo> </encodingDesc> <workList> <work> <title /> </work> </workList> </meiHead> <music> <body> <mdiv xml:id="m1w7149t"> <score xml:id="s5fhodo"> <scoreDef xml:id="s1k4da0v" midi.bpm="400.000000"> <staffGrp xml:id="s1ukiyxe"> <staffDef xml:id="staffdef-L1F1" n="1" lines="5"> <clef xml:id="cruz3e4" /> </staffDef> </staffGrp> </scoreDef> <section xml:id="section-L1F1"> <measure xml:id="measure-L1"> <staff xml:id="staff-L1F1" n="1"> <layer xml:id="layer-L1F1N1" n="1"> <rest xml:id="rest-L4F1" type="straddle" dots="1" dur.ges="2" dur="long" /> </layer> </staff> </measure> <measure xml:id="measure-L5"> <staff xml:id="staff-L5F1N1" n="1"> <layer xml:id="layer-L5F1N1" n="1"> <space xml:id="som3iru" type="straddle" dots="1" dur="2" /> </layer> </staff> </measure> <measure xml:id="measure-L7"> <staff xml:id="staff-L7F1N1" n="1"> <layer xml:id="layer-L7F1N1" n="1"> <space xml:id="spqei5d" type="straddle" dots="1" dur="2" /> </layer> </staff> </measure> <measure xml:id="measure-L9"> <staff xml:id="staff-L9F1N1" n="1"> <layer xml:id="layer-L9F1N1" n="1"> <space xml:id="swyqjpu" type="straddle" dots="1" dur="2" /> </layer> </staff> </measure> <measure xml:id="measure-L11"> <staff xml:id="staff-L11F1N1" n="1"> <layer xml:id="layer-L11F1N1" n="1"> <rest xml:id="rest-L13F1" type="straddle" dots="1" dur.ges="2" dur="breve" /> </layer> </staff> </measure> <measure xml:id="measure-L14"> <staff xml:id="staff-L14F1N1" n="1"> <layer xml:id="layer-L14F1N1" n="1"> <space xml:id="s1kit9n6" type="straddle" dots="1" dur="2" /> </layer> </staff> </measure> <measure xml:id="measure-L16" right="end"> <staff xml:id="staff-L16F1N1" n="1"> <layer xml:id="layer-L16F1N1" n="1"> <rest xml:id="rest-L18F1" dots="0" dur.ges="2" dots.ges="1" dur="1" /> </layer> </staff> </measure> </section> </score> </mdiv> </body> </music> </mei>``` </div> </div> <div class="page-bar-simple"> </div> <div class="footer"> <ul class="body"> <li>© <script> document.write(new Date().getFullYear()) </script> Githubissues.</li> <li>Githubissues is a development platform for aggregating issues.</li> </ul> </div> <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script> <script src="/githubissues/assets/js.js"></script> <script src="/githubissues/assets/markdown.js"></script> <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/highlight.min.js"></script> <script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.4.0/build/languages/go.min.js"></script> <script> hljs.highlightAll(); </script> </body> </html>