verovio icon indicating copy to clipboard operation
verovio copied to clipboard

Stem length + beam(lets) interaction

Open craigsapp opened this issue 2 years ago • 0 comments

In the following example, the stem length of the 32nd-note chord at the end of beat three is too short:

Screen Shot 2022-06-09 at 12 15 14 AM
Click to view MEI data for above example
<?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="2022-06-08T23:46:57" version="3.11.0-dev-248199e-dirty">
     <name>Verovio</name>
     <p>Transcoded from Humdrum</p>
    </application>
   </appInfo>
  </encodingDesc>
  <workList>
   <work>
    <title />
   </work>
  </workList>
 </meiHead>
 <music>
  <body>
   <mdiv xml:id="mali1wv">
    <score xml:id="sifv5ln">
     <scoreDef xml:id="sbc098w" midi.bpm="60.000000">
      <staffGrp xml:id="svi5w0y">
       <staffDef xml:id="staffdef-L1F1" n="1" lines="5">
        <clef xml:id="clef-L2F1" shape="G" line="2" />
        <keySig xml:id="keysig-L3F1" pname="c" mode="minor" sig="3f" />
        <meterSig xml:id="metersig-L5F1" count="4" unit="4" />
       </staffDef>
      </staffGrp>
     </scoreDef>
     <section xml:id="section-L1F1">
      <measure xml:id="measure-L1" n="1">
       <staff xml:id="staff-L1F1" n="1">
        <layer xml:id="layer-L1F1N1" n="1">
         <rest xml:id="rest-L8F1" dots="2" dur="8" />
         <chord xml:id="chord-L9F1" dur="32">
          <note xml:id="note-L9F1S1" oct="4" pname="e" accid.ges="f" />
          <note xml:id="note-L9F1S2" oct="4" pname="a" accid="n" />
          <note xml:id="note-L9F1S3" oct="5" pname="c" accid.ges="n" />
          <note xml:id="note-L9F1S4" oct="5" pname="e" accid.ges="f" />
         </chord>
         <chord xml:id="chord-L10F1" dur="4">
          <note xml:id="note-L10F1S1" oct="4" pname="e" accid.ges="f" />
          <note xml:id="note-L10F1S2" oct="4" pname="a" accid.ges="n" />
          <note xml:id="note-L10F1S3" oct="5" pname="c" accid.ges="n" />
          <note xml:id="note-L10F1S4" oct="5" pname="e" accid.ges="f" />
         </chord>
         <beam xml:id="beam-L11F1-L12F1">
          <chord xml:id="chord-L11F1" dots="2" dur="8">
           <note xml:id="note-L11F1S1" oct="4" pname="e" accid.ges="f" />
           <note xml:id="note-L11F1S2" oct="4" pname="a" accid.ges="n" />
           <note xml:id="note-L11F1S3" oct="5" pname="c" accid.ges="n" />
           <note xml:id="note-L11F1S4" oct="5" pname="e" accid.ges="f" />
          </chord>
          <chord xml:id="chord-L12F1" dur="32">
           <note xml:id="note-L12F1S1" oct="4" pname="a" accid.ges="n" />
           <note xml:id="note-L12F1S2" oct="5" pname="c" accid.ges="n" />
          </chord>
         </beam>
         <beam xml:id="beam-L14F1-L16F1">
          <note xml:id="note-L14F1" dots="1" dur="8" oct="5" pname="c" accid.ges="n" />
          <note xml:id="note-L15F1" dur="32" oct="4" pname="b" accid="n" />
          <note xml:id="note-L16F1" dur="32" oct="5" pname="c" accid.ges="n" />
         </beam>
        </layer>
        <layer xml:id="layer-L1F1N2" n="2">
         <space xml:id="spxybfv" type="straddle" dots="1" dur="2" />
         <note xml:id="note-L14F2" dur="4" oct="4" pname="a" accid.ges="n" />
        </layer>
       </staff>
       <tie xml:id="tie-L10F1S1-L11F1S1" startid="#note-L10F1S1" endid="#note-L11F1S1" />
       <tie xml:id="tie-L10F1S2-L11F1S2" startid="#note-L10F1S2" endid="#note-L11F1S2" />
       <tie xml:id="tie-L10F1S3-L11F1S3" startid="#note-L10F1S3" endid="#note-L11F1S3" />
       <tie xml:id="tie-L10F1S4-L11F1S4" startid="#note-L10F1S4" endid="#note-L11F1S4" />
       <trill xml:id="trill-L14F1" staff="1" startid="#note-L14F1" />
      </measure>
     </section>
    </score>
   </mdiv>
  </body>
 </music>
</mei>

This is a regression, but there is quite a complex history, particularly recently (and related to several issues in the past month or two):

In 3.10 it is the same as 3.11:

Screen Shot 2022-06-09 at 12 16 49 AM

In 3.9, the stem is too long (in my opinion, but if correct, then the end of the 4th beat is too short):

Screen Shot 2022-06-09 at 12 17 18 AM

I like 3.7:

Screen Shot 2022-06-09 at 12 19 11 AM

craigsapp avatar Jun 09 '22 07:06 craigsapp