humdrum-tools / verovio-humdrum-viewer

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

Add `@dur.quality="perfecta"` to dotted notes in **mens #846

Closed craigsapp closed 9 months ago

craigsapp commented 9 months ago

Example:

**mens  **mens
*omet(C|)   *omet(C|)
*clefC3 *clefC3
=   =
mc  Mp:c
mc  .
mc  .
mc  mc
sc  sc
=   =
*-  *-

Current conversion to MEI:

Screenshot 2023-09-26 at 11 01 53
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/5.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/5.0/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">
 <meiHead>
  <fileDesc>
   <titleStmt>
    <title />
   </titleStmt>
   <pubStmt />
  </fileDesc>
  <encodingDesc>
   <appInfo>
    <application isodate="2023-09-26T11:02:19" version="4.1.0-dev-7518ccb-dirty">
     <name>Verovio</name>
     <p>Transcoded from Humdrum</p>
    </application>
   </appInfo>
  </encodingDesc>
  <workList>
   <work>
    <title />
   </work>
  </workList>
 </meiHead>
 <music>
  <body>
   <mdiv xml:id="myky527">
    <score xml:id="s962stt">
     <scoreDef xml:id="s144ywqt" midi.bpm="400.000000">
      <staffGrp xml:id="szhdui" bar.thru="true" symbol="brace">
       <staffDef xml:id="staffdef-L1F2" n="1" notationtype="mensural.white" lines="5">
        <clef xml:id="clef-L3F2" shape="C" line="3" />
       </staffDef>
       <staffDef xml:id="staffdef-L1F1" n="2" notationtype="mensural.white" lines="5">
        <clef xml:id="clef-L3F1" shape="C" line="3" />
       </staffDef>
      </staffGrp>
     </scoreDef>
     <section xml:id="section-L1F1">
      <staff xml:id="staff-L1F2" n="1">
       <layer xml:id="layer-L1F2N1" n="1">
        <mensur xml:id="mensur-L2F2" prolatio="2" tempus="2" sign="C" slash="1" />
        <note xml:id="note-L5F2" dur="minima" oct="4" pname="c" />
        <dot xml:id="d1dl6xsh" />
        <note xml:id="note-L8F2" dur="semiminima" oct="4" pname="c" />
        <note xml:id="note-L9F2" dur="semibrevis" oct="4" pname="c" />
        <barLine xml:id="barline-L10F2" form="single" />
       </layer>
      </staff>
      <staff xml:id="staff-L1F1" n="2">
       <layer xml:id="layer-L1F1N1" n="1">
        <mensur xml:id="mensur-L2F1" prolatio="2" tempus="2" sign="C" slash="1" />
        <note xml:id="note-L5F1" dur="semiminima" oct="4" pname="c" />
        <note xml:id="note-L6F1" dur="semiminima" oct="4" pname="c" />
        <note xml:id="note-L7F1" dur="semiminima" oct="4" pname="c" />
        <note xml:id="note-L8F1" dur="semiminima" oct="4" pname="c" />
        <note xml:id="note-L9F1" dur="semibrevis" oct="4" pname="c" />
        <barLine xml:id="barline-L10F1" form="single" />
       </layer>
      </staff>
     </section>
    </score>
   </mdiv>
  </body>
 </music>
</mei>

Note:

        <note xml:id="note-L5F2" dur="minima" oct="4" pname="c" />

Needs to be

        <note xml:id="note-L5F2" dur="minima" dur.quality="perfecta" oct="4" pname="c" />

which will generate:

Screenshot 2023-09-26 at 11 03 52
craigsapp commented 9 months ago

Implemented in commit https://github.com/rism-digital/verovio/commit/26c8144939d12f931abb1b01c7270f790b1ddbc6

Now both *omet as well as *met can be used to set the mensuration (and explicit @tempus and @prolatio will be added to the MEI <mensur>.