Open karend27 opened 4 years ago
There are corner case problems with dots in CMN which may be related to the above issue in mensural music.
Example of dots that are correctly placed:
These dots are well placed; however, the violet dot in the last measure could have its position improved. Note that all of the other dots are placed in the middle of the space between each note. Ideally the violet dot would be placed half-way between the last note and the barline, but it is instead attached to the note.
MEI data:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="4.0.0">
<meiHead>
<fileDesc>
<titleStmt>
<title />
</titleStmt>
<pubStmt />
</fileDesc>
<encodingDesc>
<appInfo>
<application isodate="2020-10-01T10:48:39" version="3.0.0-dev-e2cca71">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
</encodingDesc>
<workList>
<work>
<title />
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="mdiv-0000001531323414">
<score xml:id="score-0000001476256969">
<scoreDef xml:id="scoredef-0000000801789500">
<staffGrp xml:id="staffgrp-0000000688038978">
<staffDef xml:id="staffdef-0000000408925318" n="1" lines="5">
<clef xml:id="clef-0000001756244148" shape="G" line="2" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L1F1">
<measure xml:id="measure-L1">
<staff xml:id="staff-0000000348330451" n="1">
<layer xml:id="layer-L1F1N1" n="1">
<dot color="red" />
<note xml:id="note-L3F1" dur="4" oct="4" pname="c" accid.ges="n" />
<dot color="orange" loc="2" />
<note xml:id="note-L4F1" dur="4" oct="4" pname="d" accid.ges="n" />
<dot color="limegreen"/>
<note xml:id="note-L5F1" dur="4" oct="4" pname="e" accid.ges="n" />
<dot color="dodgerblue"/>
<note xml:id="note-L6F1" dur="4" oct="4" pname="f" accid.ges="n" />
<xdot color="violet"/>
</layer>
</staff>
</measure>
<measure xml:id="measure-L7">
<staff xml:id="staff-L7F1N1" n="1">
<layer xml:id="layer-L7F1N1" n="1">
<xdot color="red" />
<note xml:id="note-L8F1" dur="4" oct="4" pname="c" accid.ges="n" />
<dot color="orange" />
<note xml:id="note-L9F1" dur="4" oct="4" pname="d" accid.ges="n" />
<dot color="limegreen"/>
<note xml:id="note-L10F1" dur="4" oct="4" pname="e" accid.ges="n" />
<dot color="skyblue"/>
<note xml:id="note-L11F1" dur="4" oct="4" pname="f" accid.ges="n" />
<dot color="violet"/>
</layer>
</staff>
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei>
Other placements of dots at the start/ending of the measure are causing problems. A funny one is placing a dot at the start of the second measure:
This moves the red dot that should go before the first note off into the middle of nowhere after the measure. Also the spacing of the notes in the previous measure change for some reason (third beat is wider).
MEI data:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="4.0.0">
<meiHead>
<fileDesc>
<titleStmt>
<title />
</titleStmt>
<pubStmt />
</fileDesc>
<encodingDesc>
<appInfo>
<application isodate="2020-10-01T10:48:39" version="3.0.0-dev-e2cca71">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
</encodingDesc>
<workList>
<work>
<title />
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="mdiv-0000001531323414">
<score xml:id="score-0000001476256969">
<scoreDef xml:id="scoredef-0000000801789500">
<staffGrp xml:id="staffgrp-0000000688038978">
<staffDef xml:id="staffdef-0000000408925318" n="1" lines="5">
<clef xml:id="clef-0000001756244148" shape="G" line="2" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L1F1">
<measure xml:id="measure-L1">
<staff xml:id="staff-0000000348330451" n="1">
<layer xml:id="layer-L1F1N1" n="1">
<dot color="red" />
<note xml:id="note-L3F1" dur="4" oct="4" pname="c" accid.ges="n" />
<dot color="orange" loc="2" />
<note xml:id="note-L4F1" dur="4" oct="4" pname="d" accid.ges="n" />
<dot color="limegreen"/>
<note xml:id="note-L5F1" dur="4" oct="4" pname="e" accid.ges="n" />
<dot color="dodgerblue"/>
<note xml:id="note-L6F1" dur="4" oct="4" pname="f" accid.ges="n" />
<xdot color="violet"/>
</layer>
</staff>
</measure>
<measure xml:id="measure-L7">
<staff xml:id="staff-L7F1N1" n="1">
<layer xml:id="layer-L7F1N1" n="1">
<dot color="red" />
<note xml:id="note-L8F1" dur="4" oct="4" pname="c" accid.ges="n" />
<dot color="orange" />
<note xml:id="note-L9F1" dur="4" oct="4" pname="d" accid.ges="n" />
<dot color="limegreen"/>
<note xml:id="note-L10F1" dur="4" oct="4" pname="e" accid.ges="n" />
<dot color="skyblue"/>
<note xml:id="note-L11F1" dur="4" oct="4" pname="f" accid.ges="n" />
<dot color="violet"/>
</layer>
</staff>
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei>
Another strange behavior is adding a dot at the end of the first measure:
Extrac spacing is added. before the preceding note for no reason in a manner similar to the previous example of the dot added to the start of the next measure. In addition, the spacing of the purple dot at the end of the first measure is unusual, moving towards the barline instead of the note as in the first example. Ideally it would be centered in the space between the last note and the barline.
MEI data:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="4.0.0">
<meiHead>
<fileDesc>
<titleStmt>
<title />
</titleStmt>
<pubStmt />
</fileDesc>
<encodingDesc>
<appInfo>
<application isodate="2020-10-01T10:48:39" version="3.0.0-dev-e2cca71">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
</encodingDesc>
<workList>
<work>
<title />
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="mdiv-0000001531323414">
<score xml:id="score-0000001476256969">
<scoreDef xml:id="scoredef-0000000801789500">
<staffGrp xml:id="staffgrp-0000000688038978">
<staffDef xml:id="staffdef-0000000408925318" n="1" lines="5">
<clef xml:id="clef-0000001756244148" shape="G" line="2" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L1F1">
<measure xml:id="measure-L1">
<staff xml:id="staff-0000000348330451" n="1">
<layer xml:id="layer-L1F1N1" n="1">
<dot color="red" />
<note xml:id="note-L3F1" dur="4" oct="4" pname="c" accid.ges="n" />
<dot color="orange" loc="2" />
<note xml:id="note-L4F1" dur="4" oct="4" pname="d" accid.ges="n" />
<dot color="limegreen"/>
<note xml:id="note-L5F1" dur="4" oct="4" pname="e" accid.ges="n" />
<dot color="dodgerblue"/>
<note xml:id="note-L6F1" dur="4" oct="4" pname="f" accid.ges="n" />
<dot color="violet"/>
</layer>
</staff>
</measure>
<measure xml:id="measure-L7">
<staff xml:id="staff-L7F1N1" n="1">
<layer xml:id="layer-L7F1N1" n="1">
<xdot color="red" />
<note xml:id="note-L8F1" dur="4" oct="4" pname="c" accid.ges="n" />
<dot color="orange" />
<note xml:id="note-L9F1" dur="4" oct="4" pname="d" accid.ges="n" />
<dot color="limegreen"/>
<note xml:id="note-L10F1" dur="4" oct="4" pname="e" accid.ges="n" />
<dot color="skyblue"/>
<note xml:id="note-L11F1" dur="4" oct="4" pname="f" accid.ges="n" />
<dot color="violet"/>
</layer>
</staff>
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei>
The violet dot at the end of the music and the red dot at the start of the music do not cause problems.
The strange placement of dots at the start/end of a measure does not happen with rests, which is similar to the mensural placement of dots illustrated in the top post:
However, the dots are poorly placed towards the next element in the layer rather than the expected middle of the space between the two rests.
MEI data:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="4.0.0">
<meiHead>
<fileDesc>
<titleStmt>
<title />
</titleStmt>
<pubStmt />
</fileDesc>
<encodingDesc>
<appInfo>
<application isodate="2020-10-01T10:48:39" version="3.0.0-dev-e2cca71">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
</encodingDesc>
<workList>
<work>
<title />
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="mdiv-0000001531323414">
<score xml:id="score-0000001476256969">
<scoreDef xml:id="scoredef-0000000801789500">
<staffGrp xml:id="staffgrp-0000000688038978">
<staffDef xml:id="staffdef-0000000408925318" n="1" lines="5">
<clef xml:id="clef-0000001756244148" shape="G" line="2" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L1F1">
<measure xml:id="measure-L1">
<staff xml:id="staff-0000000348330451" n="1">
<layer xml:id="layer-L1F1N1" n="1">
<dot color="red" />
<rest xml:id="rest-L3F1" dur="4" />
<dot color="orange" />
<rest xml:id="rest-L4F1" dur="4" />
<dot color="limegreen"/>
<rest xml:id="rest-L5F1" dur="4" />
<dot color="dodgerblue" />
<rest xml:id="rest-L6F1" dur="4" />
<dot color="violet"/>
</layer>
</staff>
</measure>
<measure xml:id="measure-L7">
<staff xml:id="staff-L7F1N1" n="1">
<layer xml:id="layer-L7F1N1" n="1">
<dot color="red" />
<rest xml:id="rest-L8F1" dur="4" />
<dot color="orange" />
<rest xml:id="rest-L9F1" dur="4" />
<dot color="limegreen"/>
<rest xml:id="rest-L10F1" dur="4" />
<dot color="skyblue"/>
<rest xml:id="rest-L11F1" dur="4" />
<dot color="violet"/>
</layer>
</staff>
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei>
Related to issue https://github.com/humdrum-tools/verovio-humdrum-viewer/issues/432:
It would be useful to place a dot on a line (if the above example is to be interpreted as a <dot>
).
Currently dots avoid lines automatically because they become nearly invisible on lines:
For <rest>
and <space>
, dot@loc
is used (first measure), but for <note>
, dot@loc
is ignored (second measure). Ideally dot@loc
would also be used when the dot follows a note.
MEI data
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="https://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://purl.oclc.org/dsdl/schematron"?>
<mei xmlns="http://www.music-encoding.org/ns/mei" meiversion="4.0.0">
<meiHead>
<fileDesc>
<titleStmt>
<title />
</titleStmt>
<pubStmt />
</fileDesc>
<encodingDesc>
<appInfo>
<application isodate="2020-10-01T10:48:39" version="3.0.0-dev-e2cca71">
<name>Verovio</name>
<p>Transcoded from Humdrum</p>
</application>
</appInfo>
</encodingDesc>
<workList>
<work>
<title />
</work>
</workList>
</meiHead>
<music>
<body>
<mdiv xml:id="mdiv-0000001531323414">
<score xml:id="score-0000001476256969">
<scoreDef xml:id="scoredef-0000000801789500">
<staffGrp xml:id="staffgrp-0000000688038978">
<staffDef xml:id="staffdef-0000000408925318" n="1" lines="5">
<clef xml:id="clef-0000001756244148" shape="G" line="2" />
</staffDef>
</staffGrp>
</scoreDef>
<section xml:id="section-L1F1">
<measure n="1">
<staff n="1">
<layer xml:id="layer-L1F1N1" n="1">
<space dur="4"/>
<dot color="red" loc="-1" />
<space dur="4"/>
<dot color="orange" loc="0" />
<space dur="4"/>
<dot color="gold" loc="1" />
<space dur="4"/>
<dot color="chartreuse" loc="2" />
<space dur="4"/>
<dot color="limegreen" loc="3" />
<space dur="4"/>
<dot color="skyblue" loc="4" />
<space dur="4"/>
<dot color="dodgerblue" loc="5" />
<space dur="4"/>
<dot color="violet" loc="6" />
<space dur="4"/>
<dot color="purple" loc="7" />
</layer>
</staff>
</measure>
<measure n="2">
<staff n="1">
<layer xml:id="layer-L1F1N1" n="1">
<note dur="4"/>
<dot color="red" loc="-1" />
<note dur="4"/>
<dot color="orange" loc="0" />
<note dur="4"/>
<dot color="gold" loc="1" />
<note dur="4"/>
<dot color="chartreuse" loc="2" />
<note dur="4"/>
<dot color="limegreen" loc="3" />
<note dur="4"/>
<dot color="skyblue" loc="4" />
<note dur="4"/>
<dot color="dodgerblue" loc="5" />
<note dur="4"/>
<dot color="violet" loc="6" />
<note dur="4"/>
<dot color="purple" loc="7" />
</layer>
</staff>
</measure>
</section>
</score>
</mdiv>
</body>
</music>
</mei>
If <dots>
are allowed on lines, then also the diameter of the dot would be useful to control to make it bigger and more visible if on a line. There is dot@fontsize
, but this does not seem exactly appropirate.
When a dot is added after a rest in mensural notation in most cases the dot is placed incorrectly before the rest instead of after. With the semibreve, minim, and semiminim rest the dot seems to be placed very slightly after, however for the long, breve rests the dot is incorrectly placed before the rest.
The issue is described more fully here: https://github.com/MeasuringPolyphony/mp_editor/issues/52
MEI data: