Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

notes with colored="true" and dur="2" get rendered in without the note head color inversion (CMN) #3605

Open
fernandoherreradelasheras opened this issue Feb 24, 2024 · 14 comments

Comments

@fernandoherreradelasheras
Copy link
Contributor

fernandoherreradelasheras commented Feb 24, 2024

in CMN colored="true" is reflected by inverting the note head fill / void. This works fine for all note durations but for dur="2" that remains as a normal half note (and it should look like a quarter note).

See the following MEI:

<?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:https://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/5.0/mei-all.rng" type="application/xml" schematypens="http:https://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http:https://www.music-encoding.org/ns/mei" meiversion="5.0">
   <meiHead>
   </meiHead>
   <music>
      <body>
         <mdiv>
            <score>
               <scoreDef>
                  <staffGrp symbol="bracket">
                     <staffDef n="1" lines="5">
                        <clef shape="G" line="2" />
                        <meterSig count="2" unit="8" />
                     </staffDef>
                     <staffDef n="2" lines="5">
                        <clef shape="G" line="2" />
                        <meterSig count="2" unit="8" />
                     </staffDef>
                  </staffGrp>
               </scoreDef>
               <section>
                  <measure n="1">
                     <staff n="1">
                        <layer n="1">
                           <note oct="5" pname="e" dur="1" />
                           <note oct="5" pname="e" dur="2" />
                           <note oct="5" pname="e" dur="4" />
                           <note oct="5" pname="e" dur="8" />
                           <note oct="5" pname="e" dur="16" />
                        </layer>
                     </staff>
                     <staff n="2">
                        <layer n="1">
                           <note oct="5" pname="e" dur="1" colored="true" />
                           <note oct="5" pname="e" dur="2" colored="true" />
                           <note oct="5" pname="e" dur="4" colored="true" />
                           <note oct="5" pname="e" dur="8" colored="true" />
                           <note oct="5" pname="e" dur="16" colored="true" />
                        </layer>
                     </staff>
                  </measure>
               </section>
            </score>
         </mdiv>
      </body>
   </music>
</mei>

currently renders to:

note-012

and it should be:

note-012

fernandoherreradelasheras added a commit to fernandoherreradelasheras/verovio that referenced this issue Feb 24, 2024
@craigsapp
Copy link
Contributor

craigsapp commented Feb 24, 2024

note@colored is intended for mensural music, is that related to why you are using it in CMN?

In white mensural notation, the minim is being colored properly:

Screenshot 2024-02-24 at 06 55 20
Click to view MEI data for above example.
<?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:https://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/5.0/mei-all.rng" type="application/xml" schematypens="http:https://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http:https://www.music-encoding.org/ns/mei" meiversion="5.0">
 <meiHead>
  <fileDesc>
   <titleStmt>
    <title />
   </titleStmt>
   <pubStmt>
    <unpub>This MEI file was created by Verovio's Humdrum converter. When published, this unpub element should be removed, and the enclosing pubStmt element should be properly filled out.</unpub>
   </pubStmt>
  </fileDesc>
  <encodingDesc>
   <appInfo>
    <application isodate="2024-02-24T06:54:23" version="4.2.0-dev-84f99b0-dirty">
     <name>Verovio</name>
     <p>Transcoded from Humdrum</p>
    </application>
   </appInfo>
  </encodingDesc>
 </meiHead>
 <music decls="#work0_encoded">
  <body>
   <mdiv xml:id="m1ta91bw">
    <score xml:id="spbotb2">
     <scoreDef xml:id="sdhq29z" midi.bpm="280.000000">
      <staffGrp xml:id="swq6pga" symbol="bracket">
       <staffDef xml:id="staffdef-L1F2" n="1" notationtype="mensural.white" lines="5">
        <clef xml:id="clef-L2F2" shape="C" line="3" />
       </staffDef>
       <staffDef xml:id="staffdef-L1F1" n="2" notationtype="mensural.white" lines="5">
        <clef xml:id="clef-L2F1" 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">
        <note xml:id="note-L4F2" dur="brevis" oct="4" pname="c" />
        <note xml:id="note-L5F2" dur="semibrevis" oct="4" pname="c" />
        <note xml:id="note-L6F2" dur="minima" oct="4" pname="c" />
        <note xml:id="note-L7F2" dur="semiminima" oct="4" pname="c" />
       </layer>
      </staff>
      <staff xml:id="staff-L1F1" n="2">
       <layer xml:id="layer-L1F1N1" n="1">
        <note xml:id="note-L4F1" dur="brevis" colored="true" oct="4" pname="c" />
        <note xml:id="note-L5F1" dur="semibrevis" colored="true" oct="4" pname="c" />
        <note xml:id="note-L6F1" dur="minima" colored="true" oct="4" pname="c" />
        <note xml:id="note-L7F1" dur="semiminima" colored="true" oct="4" pname="c" />
        <barLine xml:id="barline-L8F1" form="single" />
       </layer>
      </staff>
     </section>
    </score>
   </mdiv>
  </body>
 </music>
</mei>

The top staff is normal, and the bottom notes have @filled="true".

There is also [email protected]="void" and [email protected]="solid" which should behave similar to @colored but which do not seem to be implemented in verovio.

@craigsapp
Copy link
Contributor

I notice in black mensural notation, note@colored is not working properly:

Screenshot 2024-02-24 at 07 09 46
Click to view MEI data for above example.
<?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:https://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/5.0/mei-all.rng" type="application/xml" schematypens="http:https://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http:https://www.music-encoding.org/ns/mei" meiversion="5.0">
 <meiHead>
  <fileDesc>
   <titleStmt>
    <title />
   </titleStmt>
   <pubStmt>
   </pubStmt>
  </fileDesc>
  <encodingDesc>
   <appInfo>
    <application isodate="2024-02-24T06:54:23" version="4.2.0-dev-84f99b0-dirty">
     <name>Verovio</name>
     <p>Transcoded from Humdrum</p>
    </application>
   </appInfo>
  </encodingDesc>
 </meiHead>
 <music decls="#work0_encoded">
  <body>
   <mdiv xml:id="m1ta91bw">
    <score xml:id="spbotb2">
     <scoreDef xml:id="sdhq29z" midi.bpm="280.000000">
      <staffGrp xml:id="swq6pga" symbol="bracket">
       <staffDef xml:id="staffdef-L1F2" n="1" notationtype="mensural.black" lines="5">
        <clef xml:id="clef-L2F2" shape="C" line="3" />
       </staffDef>
       <staffDef xml:id="staffdef-L1F1" n="2" notationtype="mensural.black" lines="5">
        <clef xml:id="clef-L2F1" 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">
        <note xml:id="note-L4F2" dur="brevis" oct="4" pname="c" />
        <note xml:id="note-L5F2" dur="semibrevis" oct="4" pname="c" />
        <note xml:id="note-L6F2" dur="minima" oct="4" pname="c" />
        <note xml:id="note-L7F2" dur="semiminima" oct="4" pname="c" />
       </layer>
      </staff>
      <staff xml:id="staff-L1F1" n="2">
       <layer xml:id="layer-L1F1N1" n="1">
        <note xml:id="note-L4F1" dur="brevis" colored="true" oct="4" pname="c" />
        <note xml:id="note-L5F1" dur="semibrevis" colored="true" oct="4" pname="c" />
        <note xml:id="note-L6F1" dur="minima" colored="true" oct="4" pname="c" />
        <note xml:id="note-L7F1" dur="semiminima" colored="true" oct="4" pname="c" />
       </layer>
      </staff>
     </section>
    </score>
   </mdiv>
  </body>
 </music>
</mei>

The notes on the bottom staff should be red when note@colored="true" is used.

@rettinghaus
Copy link
Contributor

colored attribute is explicitly also meant for CMN as stated in the guidelines.

@craigsapp
Copy link
Contributor

craigsapp commented Feb 24, 2024

colored attribute is explicitly also meant for CMN as stated in the guidelines.

How should it be rendered in CMN? Visual display of coloration is different in white and black notation, so the visual rendering in CMN should reflect the mensural source.

When citing the guidelines, it would be helpful to provide a link to the relevant section.

@fernandoherreradelasheras
Copy link
Contributor Author

fernandoherreradelasheras commented Feb 24, 2024

note@colored is intended for mensural music, is that related to why you are using it in CMN?

Colored should be also available on CMN according the the spec:

colored (optional) Indicates this feature is 'colored'; that is, it is a participant in a change in rhythmic values. In mensural notation, coloration is indicated by colored notes (red, black, etc.) where void notes would otherwise occur. In CMN, coloration is indicated by an inverse color; that is, the note head is void when it would otherwise be filled and vice versa. Value conforms to [data.BOOLEAN]`

https://music-encoding.org/guidelines/v5/elements/note.html

@craigsapp
Copy link
Contributor

craigsapp commented Feb 24, 2024

Thanks!

So in CMN, the coloration should be treated as if it were white notation, regardless of if the source were in black notation. I am wondering what you do with CMN rhythm if you are representing mensural music. Specifically a case like this:

Screenshot 2024-02-24 at 07 43 20
Click to view MEI data for above example
<?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:https://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/5.0/mei-all.rng" type="application/xml" schematypens="http:https://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http:https://www.music-encoding.org/ns/mei" meiversion="5.0">
 <meiHead>
  <fileDesc>
   <titleStmt>
    <title />
   </titleStmt>
   <pubStmt>
   </pubStmt>
  </fileDesc>
  <encodingDesc>
   <appInfo>
    <application isodate="2024-02-24T07:44:12" version="4.2.0-dev-84f99b0-dirty">
     <name>Verovio</name>
     <p>Transcoded from Humdrum</p>
    </application>
   </appInfo>
  </encodingDesc>
 </meiHead>
 <music decls="#work0_encoded">
  <body>
   <mdiv xml:id="mrhgtc8">
    <score xml:id="slihnj4">
     <scoreDef xml:id="s1lg5a9a" midi.bpm="280.000000">
      <staffGrp xml:id="s1u4ngx8">
       <staffDef xml:id="staffdef-L1F1" n="1" notationtype="mensural.white" lines="5">
        <clef xml:id="clef-L2F1" shape="C" line="3" />
       </staffDef>
      </staffGrp>
     </scoreDef>
     <section xml:id="section-L1F1">
      <staff xml:id="staff-L1F1" n="1">
       <layer xml:id="layer-L1F1N1" n="1">
        <mensur xml:id="mensur-L4F1" modusmaior="2" modusminor="2" prolatio="2" tempus="3" sign="O" />
        <note xml:id="note-L5F1" dur="brevis" oct="4" pname="c" />
        <note xml:id="note-L6F1" dur="semibrevis" oct="4" pname="c" />
        <note xml:id="note-L7F1" dur="semibrevis" oct="4" pname="c" />
        <note xml:id="note-L8F1" dur="semibrevis" oct="4" pname="c" />
        <note xml:id="note-L9F1" dur="brevis" oct="4" pname="c" />
       </layer>
      </staff>
     </section>
    </score>
   </mdiv>
  </body>
 </music>
</mei>

I would transcribe in CMN as:

Screenshot 2024-02-24 at 07 45 56
Click to view the MEI data for the above example
<?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:https://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/5.0/mei-all.rng" type="application/xml" schematypens="http:https://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http:https://www.music-encoding.org/ns/mei" meiversion="5.0">
 <meiHead>
  <fileDesc>
   <titleStmt>
    <title />
   </titleStmt>
   <pubStmt>
    <unpub>This MEI file was created by Verovio's Humdrum converter. When published, this unpub element should be removed, and the enclosing pubStmt element should be properly filled out.</unpub>
   </pubStmt>
  </fileDesc>
  <encodingDesc>
   <appInfo>
    <application isodate="2024-02-24T07:44:12" version="4.2.0-dev-84f99b0-dirty">
     <name>Verovio</name>
     <p>Transcoded from Humdrum</p>
    </application>
   </appInfo>
  </encodingDesc>
 </meiHead>
 <music decls="#work0_encoded">
  <body>
   <mdiv xml:id="mrhgtc8">
    <score xml:id="slihnj4">
     <scoreDef xml:id="s1lg5a9a" midi.bpm="280.000000">
      <staffGrp xml:id="s1u4ngx8">
       <staffDef xml:id="staffdef-L1F1" n="1" notationtype="mensural.white" lines="5">
        <clef xml:id="clef-L2F1" shape="C" line="3" />
       </staffDef>
      </staffGrp>
     </scoreDef>
     <section xml:id="section-L1F1">
      <staff xml:id="staff-L1F1" n="1">
       <layer xml:id="layer-L1F1N1" n="1">
        <mensur xml:id="mensur-L4F1" modusmaior="2" modusminor="2" prolatio="2" tempus="3" sign="O" />
        <note xml:id="note-L5F1" dur="brevis" oct="4" pname="c" />
        <note xml:id="note-L6F1" dur="semibrevis" oct="4" pname="c" />
        <note xml:id="note-L7F1" dur="semibrevis" oct="4" pname="c" />
        <note xml:id="note-L8F1" dur="semibrevis" oct="4" pname="c" />
        <note xml:id="note-L9F1" dur="brevis" oct="4" pname="c" />
       </layer>
      </staff>
     </section>
    </score>
   </mdiv>
  </body>
 </music>
</mei>

Where I add the augmentation dots for the perfection of the breves.

Or would you do this:

Screenshot 2024-02-24 at 07 51 09
Click to view MEI data for above example.
<?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:https://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/5.0/mei-all.rng" type="application/xml" schematypens="http:https://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http:https://www.music-encoding.org/ns/mei" meiversion="5.0">
 <meiHead>
  <fileDesc>
   <titleStmt>
    <title />
   </titleStmt>
   <pubStmt>
    <unpub>This MEI file was created by Verovio's Humdrum converter. When published, this unpub element should be removed, and the enclosing pubStmt element should be properly filled out.</unpub>
   </pubStmt>
  </fileDesc>
  <encodingDesc>
   <appInfo>
    <application isodate="2024-02-24T07:52:01" version="4.2.0-dev-84f99b0-dirty">
     <name>Verovio</name>
     <p>Transcoded from Humdrum</p>
    </application>
   </appInfo>
  </encodingDesc>
  <extMeta>
   <frames xmlns="http:https://www.humdrum.org/ns/humxml">
    <metaFrame n="15" token="!!!verovio: spacingLinear 0.1" xml:id="L16">
     <frameInfo>
      <startTime float="36" />
      <frameType>reference</frameType>
      <referenceKey>verovio</referenceKey>
      <referenceValue>spacingLinear 0.1</referenceValue>
     </frameInfo>
    </metaFrame>
   </frames>
  </extMeta>
 </meiHead>
 <music decls="#work0_encoded">
  <body>
   <mdiv xml:id="m1d20qli">
    <score xml:id="s6w9du6">
     <scoreDef xml:id="swa7f13" midi.bpm="400.000000">
      <staffGrp xml:id="s1ewco6o">
       <staffDef xml:id="staffdef-L1F1" n="1" lines="5">
        <clef xml:id="clef-L2F1" shape="C" line="3" />
        <meterSig xml:id="metersig-L3F1" count="3" unit="1" visible="false" />
        <mensur xml:id="mensur-L4F1" sign="O" />
       </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">
         <note xml:id="note-L6F1" dur.ges="breve" dots.ges="1" dur="breve" oct="4" pname="c" accid.ges="n" />
        </layer>
       </staff>
      </measure>
      <measure xml:id="measure-L7">
       <staff xml:id="staff-L7F1N1" n="1">
        <layer xml:id="layer-L7F1N1" n="1">
         <note xml:id="note-L8F1" dur="1" oct="4" pname="c" accid.ges="n" />
         <note xml:id="note-L9F1" dur="1" oct="4" pname="c" accid.ges="n" />
         <note xml:id="note-L10F1" dur="1" oct="4" pname="c" accid.ges="n" />
        </layer>
       </staff>
      </measure>
      <measure xml:id="measure-L11">
       <staff xml:id="staff-L11F1N1" n="1">
        <layer xml:id="layer-L11F1N1" n="1">
         <note xml:id="note-L13F1" dur.ges="breve" dots.ges="1" dur="breve" oct="4" pname="c" accid.ges="n" />
        </layer>
       </staff>
      </measure>
     </section>
    </score>
   </mdiv>
  </body>
 </music>
</mei>

Here, I add @dur.ges="breve" and @dots.ges="1" to the CMN double whole notes to indicate the performance as a dotted double whole note, leaving the visual display as in the mensural source.

(In any case note@colored for half notes should be filled in).

@fernandoherreradelasheras
Copy link
Contributor Author

Actually I am using the coloration during the first step of a transcription workflow to match the source. The result of this first step is a diplomatic/facsimilar transcription of the source with surfaces/zones mapped to the manuscript. The next step applies semi-automatically some rules to assign proper duration to semibreves and do the measures division.

The source is in "iberian white notation" (used during early baroque in Spain and Portugal) that unfortunately doesn't fit on any of the MEI mensural cases. This notation/coloration is used only in the ternary meter known as "compasillo" (and represented with a CZ more or less). By coloring a semibreve that should be perfect (according to some rules) it is forced to be imperfect and last 2 minimas instead of 3.

Screenshot from 2024-02-24 17-12-58

Notice in the example above that when forcing a semibreve to be imperfect you not only color the semibreve itself but also the surrounding notes. On those, the coloring has no effect at all in terms of duration changes and was intended only as a visual clue for performers about the rythm "alteration"

@craigsapp
Copy link
Contributor

craigsapp commented Feb 24, 2024

Thanks, so you are encoding in an intermediate format with performance durations interpreted later, and you use note@colored for analytic information are part of this process. (Good luck telling the difference between a colored minim and a regular semiminim :-)

unfortunately doesn't fit on any of the MEI mensural cases.

Yes, that makes it difficult to encode diplomatic versions of 17th century music when there was a gradual switch from mensuration to CMN.

At the Chopin Institute, we encode such music in CMN:

https://polishscores.org/?id=16xx:1489&con=TsTp{80}

Screenshot 2024-02-24 at 08 52 17

where It is the human encoders job to figure that out, or they don't get paid :-)

Original for this example from 1615:

https://cyfrowe.mnk.pl/dlibra/publication/24235/edition/23926/content?ref=desc
(page 12)

Screenshot 2024-02-24 at 09 08 25

This example is uses mensural rhythms (imperfect cut-c is the same as modern notaiton, but 3/2 is a perfect mensuration that needs work converting to CMN), with colored notation with 3/2 being a notation for sesquialtera as well as barlines, ligatures, and ties across barlines (bottom of page 12). Here is a funny deperfecting:

Screenshot 2024-02-24 at 09 17 46

The MIDI playback for this example needs fixing since the 3/2 music needs to be sped up (I will have to fix that :-)

And I see that @rettinghaus has already fix the coloring of half notes in PR #3606 (which will be merged into the develop branch sometime soon).

@ahankinson
Copy link
Contributor

Since your encoding doesn’t need the “semantic” meaning of colored, it would be better to use the filled /void encoding.

This is definitely a bug, though, since the note head should be inverted.

@fernandoherreradelasheras
Copy link
Contributor Author

Thanks, so you are encoding in an intermediate format with performance durations interpreted later, and you use note@colored for analytic information are part of this process.

Exactly. Usually this diplomatic transcription has no real interest for anyone other than the 3 or 4 musicologists working around that music.

However on a couple of projects I am working on some parts of the manuscripts are in bad conditions with ink bleed-through, corroded paper and all the usual suspects. So every time I have to go back to the original implies a lot of time spent "deciphering" again the obscure parts. This is why I want to keep around this diplomatic transcription: a clean version of the manuscript to use during the later during the editing process.

(Good luck telling the difference between a colored minim and a regular semiminim :-)

Oh, no problem with that. Only white notes on CZ, so semiminim are like white quavers :). It's kind of funny when the same piece has a 4/4 or 4/2 section where suddenly black is black :)

Thanks for the info and the links. Very nice ui and features!

The MIDI playback for this example needs fixing since the 3/2 music needs to be sped up (I will have to fix that :-)

Oh yeah, I also have some MIDI work pending... I have a local branch of verovio-app using js-synthesizer + libfluidsynth instead of wildwebmidi that I think it might be interesting for someone else. Let's see if I can find some time this weekend to clean and share it.

@fernandoherreradelasheras
Copy link
Contributor Author

Since your encoding doesn’t need the “semantic” meaning of colored, it would be better to use the filled /void encoding.

but filled/void is not implemented, is it?

@craigsapp
Copy link
Contributor

I have a local branch of verovio-app using js-synthesizer + libfluidsynth

That will be interesting to study as I have been too lazy to look for an alternate method to wildwestmidi since it works well enough.

@fernandoherreradelasheras
Copy link
Contributor Author

I have a local branch of verovio-app using js-synthesizer + libfluidsynth

That will be interesting to study as I have been too lazy to look for an alternate method to wildwestmidi since it works well enough.

I started it with the hope of getting nicer vocal playbacks. You can listen to it in action here:

https://humanoydivino.com/otros/livrodomingosmartins/

under folios 66 - 67 click on the button Mostrar borrador de partitura interactiva [EN PRUEBAS] to get the modified verovio-editor using fluidsynth. It is using the sound font KBH_Real_and_Swell_Choir.sf2 (12Mb download!). Anyway not the best musical piece to test a voice bank.

@craigsapp
Copy link
Contributor

craigsapp commented Feb 24, 2024

Since your encoding doesn’t need the “semantic” meaning of colored, it would be better to use the filled /void encoding.

I think in this specific case, using @colored is good. It is used more as an analytic feature rather than a visual feature. And the final CMN notation would remove the coloration, and the mensural view could keep it.

Hopefully it will not be shown with coloration in the final CMN, as that would be confusing (which is what I was wondering)...

In CMN, coloration is typically show/ecnoded with open brackets:

Screenshot 2024-02-24 at 11 55 22
Click to view MEI data for above example.
<?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:https://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/5.0/mei-all.rng" type="application/xml" schematypens="http:https://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http:https://www.music-encoding.org/ns/mei" meiversion="5.0">
 <meiHead>
  <fileDesc>
   <titleStmt>
    <title />
   </titleStmt>
   <pubStmt>
   </pubStmt>
  </fileDesc>
  <encodingDesc>
   <appInfo>
    <application isodate="2024-02-24T11:56:13" version="4.2.0-dev-84f99b0-dirty">
     <name>Verovio</name>
     <p>Transcoded from Humdrum</p>
    </application>
   </appInfo>
  </encodingDesc>
  <extMeta>
   <frames xmlns="http:https://www.humdrum.org/ns/humxml" />
  </extMeta>
 </meiHead>
 <music decls="#work0_encoded">
  <body>
   <mdiv xml:id="mlzq5sx">
    <score xml:id="so2byn3">
     <scoreDef xml:id="s24uz5b" midi.bpm="400.000000">
      <staffGrp xml:id="s1nc8f43">
       <staffDef xml:id="staffdef-L1F1" n="1" lines="5">
        <clef xml:id="c1mmg4xt" shape="G" line="2" />
        <meterSig xml:id="metersig-L2F1" count="2" unit="1" />
       </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">
         <note xml:id="note-L4F1" dur="1" oct="4" pname="c" accid.ges="n" />
         <tuplet xml:id="tuplet-L6F1-L8F1" num="3" numbase="2" num.format="count">
          <note xml:id="note-L6F1" dur="2" oct="3" pname="b" accid.ges="n" />
          <note xml:id="note-L7F1" dur="2" oct="4" pname="c" accid.ges="n" />
          <note xml:id="note-L8F1" dur="2" oct="4" pname="d" accid.ges="n" />
         </tuplet>
        </layer>
       </staff>
       <bracketSpan xml:id="coloration-L5F1-L9F1" startid="#note-L6F1" endid="#note-L8F1" func="coloration" />
      </measure>
      <measure xml:id="measure-L10">
       <staff xml:id="staff-L10F1N1" n="1">
        <layer xml:id="layer-L10F1N1" n="1">
         <note xml:id="note-L11F1" dur="breve" oct="4" pname="c" accid.ges="n" />
        </layer>
       </staff>
      </measure>
     </section>
    </score>
   </mdiv>
  </body>
 </music>
</mei>

In this case for major coloration where it is not that interestiong, but also for minor coloration which are not related to triplets.

Where the coloration bracket is:

 <bracketSpan xml:id="coloration-L5F1-L9F1" startid="#note-L6F1" endid="#note-L8F1" func="coloration" />

fernandoherreradelasheras added a commit to fernandoherreradelasheras/verovio that referenced this issue Mar 6, 2024
lpugin added a commit that referenced this issue Mar 7, 2024
…otes_with_dur_2

Fix issue #3605: draw colored notes and dur="2" with empty note head
ahankinson added a commit that referenced this issue May 7, 2024
commit 2f0fed8
Merge: d7e0d9c a6355f4
Author: Andrew Hankinson <[email protected]>
Date:   Tue May 7 14:44:31 2024 +0200

    Merge pull request #3668 from musicEnfanthen/develop

    ci(gh-actions): include macos-14 in python wheel workflow (rebased)

commit a6355f4
Author: musicEnfanthen <[email protected]>
Date:   Tue May 7 14:41:37 2024 +0200

    ci(gh-actions): include macos-14 in python wheel workflow (rebased)

commit d7e0d9c
Author: Andrew Hankinson <[email protected]>
Date:   Tue May 7 11:01:43 2024 +0200

    Tested GH actions

    This configuration has been tested and should work.

commit a83cf81
Author: Laurent Pugin <[email protected]>
Date:   Wed May 1 12:34:16 2024 +0200

    Update xcode versions

commit 6aa2e96
Merge: ed140f4 8598527
Author: Laurent Pugin <[email protected]>
Date:   Wed May 1 11:33:47 2024 +0200

    Merge pull request #3654 from rettinghaus/update-midi

    Update Midifile library

commit ed140f4
Author: Laurent Pugin <[email protected]>
Date:   Wed May 1 08:28:11 2024 +0200

    Rename io.h/cpp to iobase to avoid conflicts. Closes #3662

commit 8598527
Author: Klaus Rettinghaus <[email protected]>
Date:   Tue Apr 23 09:18:31 2024 +0200

    update midifile

commit da4bac4
Merge: 23b4e2d f6d5828
Author: Laurent Pugin <[email protected]>
Date:   Fri Apr 19 10:48:53 2024 +0200

    Merge pull request #3648 from rettinghaus/fix-dynam-extender

    only draw extender if set explicitly

commit f6d5828
Author: Klaus Rettinghaus <[email protected]>
Date:   Mon Apr 15 09:45:15 2024 +0200

    only draw extender if set explicitly

commit 23b4e2d
Merge: fa32d17 ff4649d
Author: Laurent Pugin <[email protected]>
Date:   Tue Apr 9 10:45:59 2024 +0200

    Merge pull request #3644 from DavidBauer1984/fix/zip-file-reader

    Improve ZipFileReader

commit ff4649d
Author: David Bauer <[email protected]>
Date:   Mon Apr 8 21:15:06 2024 +0200

    Fix HasFile implementation

commit fa32d17
Merge: 24c3b85 b541da8
Author: Laurent Pugin <[email protected]>
Date:   Sat Mar 23 13:47:49 2024 +0100

    Merge pull request #3636 from rettinghaus/update-clang-action

    Update clang-format-action

commit 24c3b85
Merge: c0e4854 0f834f1
Author: Laurent Pugin <[email protected]>
Date:   Sat Mar 23 10:45:58 2024 +0100

    Merge pull request #3628 from rettinghaus/fix/xmltied [skip-ci]

    fix ties from Dorico

commit c0e4854
Merge: baeeaef 478a7c7
Author: Laurent Pugin <[email protected]>
Date:   Sat Mar 23 10:42:52 2024 +0100

    Merge pull request #3630 from DavidBauer1984/setlocale

    Set locale once in toolkit

commit b541da8
Author: Klaus Rettinghaus <[email protected]>
Date:   Fri Mar 22 10:34:33 2024 +0100

    formatting

commit 2473700
Author: Klaus Rettinghaus <[email protected]>
Date:   Fri Mar 22 10:30:37 2024 +0100

    Update clang-format-check.yml

commit 478a7c7
Author: David Bauer <[email protected]>
Date:   Thu Mar 21 18:24:35 2024 +0100

    Add proper methods and apply option in CLI

commit ce8273d
Author: David Bauer <[email protected]>
Date:   Thu Mar 21 16:30:44 2024 +0100

    Add option --set-locale

commit 2a8f0b0
Author: David Bauer <[email protected]>
Date:   Thu Mar 21 14:51:17 2024 +0100

    Set locale in toolkit

commit baeeaef
Merge: 6a790ff f55d7bd
Author: Andrew Hankinson <[email protected]>
Date:   Thu Mar 21 14:01:01 2024 +0100

    Merge pull request #3629 from rism-digital/dependabot/pip/fonts/black-24.3.0

    Bump black from 22.12.0 to 24.3.0 in /fonts

commit f55d7bd
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Wed Mar 20 16:45:18 2024 +0000

    Bump black from 22.12.0 to 24.3.0 in /fonts

    Bumps [black](https://github.com/psf/black) from 22.12.0 to 24.3.0.
    - [Release notes](https://github.com/psf/black/releases)
    - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
    - [Commits](psf/black@22.12.0...24.3.0)

    ---
    updated-dependencies:
    - dependency-name: black
      dependency-type: direct:development
    ...

    Signed-off-by: dependabot[bot] <[email protected]>

commit 0f834f1
Author: Klaus Rettinghaus <[email protected]>
Date:   Wed Mar 20 10:32:01 2024 +0100

    iterate over node set

commit 057ce1c
Author: Klaus Rettinghaus <[email protected]>
Date:   Tue Mar 19 18:23:52 2024 +0100

    fix ties from Dorico

commit 6a790ff
Author: Laurent Pugin <[email protected]>
Date:   Sun Mar 17 18:29:36 2024 +0100

    Update Verovio.podspec to c++20 [skip-ci]

commit 9f5d68f
Merge: 3a14994 267c023
Author: Laurent Pugin <[email protected]>
Date:   Tue Mar 12 13:46:16 2024 +0100

    Merge pull request #3621 from rism-digital/generic-pae-duration

    Refactor PAE Duration handling

commit 267c023
Author: Andrew Hankinson <[email protected]>
Date:   Tue Mar 12 12:00:13 2024 +0100

    Update src/iopae.cpp

    Co-authored-by: Laurent Pugin <[email protected]>

commit 3a14994
Merge: 24dd9de 38747a8
Author: Laurent Pugin <[email protected]>
Date:   Tue Mar 12 09:07:15 2024 +0100

    Merge pull request #3617 from Matthew-w56/fix-delete-editing

    Added ClearCoords call when editing a beam

commit 24dd9de
Merge: 36a50ed b0092bf
Author: Laurent Pugin <[email protected]>
Date:   Tue Mar 12 08:47:07 2024 +0100

    Merge pull request #3623 from fernandoherreradelasheras/fix_midi_lyrics_on_quarter_notes

    Fix issue #3622: wrong lyrics position in midi output for <syl> in notes <= quarter

commit b0092bf
Author: Fernando Herrera <[email protected]>
Date:   Mon Mar 11 22:59:11 2024 +0100

    Fix lyrics position in midi output for <syl> in notes <= quarter

commit 67da74a
Author: Andrew Hankinson <[email protected]>
Date:   Mon Mar 11 17:43:30 2024 +0100

    Formatting

commit 8f2e4ec
Author: Andrew Hankinson <[email protected]>
Date:   Mon Mar 11 17:36:34 2024 +0100

    Refactor PAE Duration handling

    This change extracts the PAE duration handling into a static method that
    can be used to convert durations to their PAE representations.

    It also adds a new feature to the feature extractor that includes the note duration
    on the PAE note.

commit 38747a8
Merge: f5c2e3e 633158f
Author: Matthew Williams <[email protected]>
Date:   Thu Mar 7 09:19:38 2024 -0700

    Merge branch 'fix-delete-editing' of https://github.com/Matthew-w56/verovio into fix-delete-editing

commit f5c2e3e
Author: Matthew Williams <[email protected]>
Date:   Thu Mar 7 09:19:27 2024 -0700

    Reset interface variable name

commit 36a50ed
Merge: b7d4d7b 653fab8
Author: Laurent Pugin <[email protected]>
Date:   Thu Mar 7 07:27:40 2024 +0100

    Merge pull request #3606 from fernandoherreradelasheras/fix_colored_notes_with_dur_2

    Fix issue #3605: draw colored notes and dur="2" with empty note head

commit 633158f
Author: Matthew Williams <[email protected]>
Date:   Wed Mar 6 16:32:38 2024 -0700

    final clang push

commit 31178e0
Author: Matthew Williams <[email protected]>
Date:   Wed Mar 6 16:08:08 2024 -0700

    Fixed clang problem

commit a5e4e80
Author: Matthew Williams <[email protected]>
Date:   Wed Mar 6 15:59:23 2024 -0700

    fixed known clang issues

commit 2c669be
Author: Matthew Williams <[email protected]>
Date:   Wed Mar 6 15:53:35 2024 -0700

    fixed indentation

commit bd1e3c7
Author: Matthew Williams <[email protected]>
Date:   Wed Mar 6 15:47:57 2024 -0700

    Adjusted to meet some existing comments

commit e1415cb
Author: Matthew Williams <[email protected]>
Date:   Wed Mar 6 13:09:05 2024 -0700

    Added ClearCoords call when editing a beam

commit 653fab8
Author: Fernando Herrera <[email protected]>
Date:   Wed Mar 6 18:15:29 2024 +0100

    Fix issue #3605: draw colored notes and dur="2" with empty note head

commit b7d4d7b
Merge: 05b1072 b2f9dc7
Author: Laurent Pugin <[email protected]>
Date:   Mon Mar 4 07:41:41 2024 +0100

    Merge pull request #3615 from andre2007/c_functions

    Add toolkit functions to c_wrapper

commit b2f9dc7
Author: Andre Pany <[email protected]>
Date:   Sun Mar 3 21:11:08 2024 +0100

    Add toolkit functions to c_wrapper

commit 05b1072
Author: Laurent Pugin <[email protected]>
Date:   Thu Feb 29 09:51:45 2024 +0100

    Remove the C binding directory [skip-ci]

    * Now documented in https://book.verovio.org/installing-or-building-from-sources/library.html

commit 6f72343
Author: Laurent Pugin <[email protected]>
Date:   Thu Feb 29 09:50:06 2024 +0100

    Update README.md for Qt [skip-ci]

commit 4055bc7
Author: Laurent Pugin <[email protected]>
Date:   Thu Feb 29 09:48:44 2024 +0100

    Update README.md for Android [skip-ci]

commit c708a89
Author: Laurent Pugin <[email protected]>
Date:   Thu Feb 29 09:01:02 2024 +0100

    Add c_wrapper.h to the library headers [skip-ci]

commit 34eeaf6
Merge: 46bc577 10c6ef3
Author: Laurent Pugin <[email protected]>
Date:   Thu Feb 29 07:35:16 2024 +0100

    Merge pull request #3611 from ammatwain/develop

    Update vrv.cpp

commit 10c6ef3
Author: Amedeo Sorpreso <[email protected]>
Date:   Wed Feb 28 16:59:39 2024 +0100

    Update vrv.cpp

    To ensure correct code formatting for floating-point values, two lines of code have been added to the "StringFormat" method, temporarily resetting the compiler's std::locale configurations. This prevents formatting issues stemming from specific OS or development environment settings, ensuring consistent and accurate numerical representation in the C++ source code during program execution. (At least, they do on my machine; I hope it's the same on yours... :) )

commit 46bc577
Merge: f8f4c11 38c4429
Author: Laurent Pugin <[email protected]>
Date:   Wed Feb 28 14:28:10 2024 +0100

    Merge branch 'develop' of https://github.com/rism-digital/verovio into develop

commit f8f4c11
Author: Laurent Pugin <[email protected]>
Date:   Wed Feb 28 14:27:59 2024 +0100

    Add cmake instruction for copying header files

commit 38c4429
Merge: 43e44f8 3260a7c
Author: Laurent Pugin <[email protected]>
Date:   Wed Feb 28 13:33:53 2024 +0100

    Merge pull request #3609 from andre2007/develop [skip-ci]

    Include info how to build verovio.dll on Windows using MS Build Tools

commit 3260a7c
Author: andre2007 <[email protected]>
Date:   Tue Feb 27 20:41:16 2024 +0100

    Include info how to build verovio.dll on Windows using MS Build Tools

commit 43e44f8
Author: Laurent Pugin <[email protected]>
Date:   Tue Feb 27 18:38:18 2024 +0100

    add CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS [skip-ci]

commit cdd3b0d
Author: Laurent Pugin <[email protected]>
Date:   Mon Feb 26 14:37:59 2024 +0100

    Add library installation paths [skip-ci]

commit 4b90478
Merge: 383dcaf 00a53e5
Author: Laurent Pugin <[email protected]>
Date:   Mon Feb 26 10:38:29 2024 +0100

    Merge pull request #3607 from rettinghaus/fonts

    fonts update with filled half note

commit 00a53e5
Author: Klaus Rettinghaus <[email protected]>
Date:   Sat Feb 24 22:54:52 2024 +0100

    add filled half note

commit 383dcaf
Author: Laurent Pugin <[email protected]>
Date:   Tue Feb 20 15:56:36 2024 +0100

    Write fermata for rest and mRest in PAE output

commit 7ce8b6d
Author: Laurent Pugin <[email protected]>
Date:   Tue Feb 20 15:54:07 2024 +0100

    Add PAEOutput::HasFermata helper

commit 7e54f75
Author: Laurent Pugin <[email protected]>
Date:   Tue Feb 20 15:51:01 2024 +0100

    Fix missing parameter in JS proxy

commit 75efb61
Merge: ae00a34 e1f3a07
Author: Laurent Pugin <[email protected]>
Date:   Mon Feb 19 09:21:12 2024 +0100

    Merge pull request #3599 from rettinghaus/devlop/restbeam

    Import breaksec on rests from MusicXML [skip-ci]

commit ae00a34
Merge: 105641f 5757ff9
Author: Laurent Pugin <[email protected]>
Date:   Mon Feb 19 09:18:26 2024 +0100

    Merge pull request #3601 from rettinghaus/fix-tabNote

    fix doubled g in SVG

commit 5757ff9
Author: Klaus Rettinghaus <[email protected]>
Date:   Fri Feb 16 12:54:01 2024 +0100

    fix doubled graphic

commit e1f3a07
Author: Klaus Rettinghaus <[email protected]>
Date:   Fri Feb 16 10:25:30 2024 +0100

    import breaksec

commit 105641f
Author: Laurent Pugin <[email protected]>
Date:   Fri Feb 9 13:03:14 2024 +0100

    Set macos deployment target [skip-ci]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants