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

Allow for reversed half notes #134

Open
jacekiwaszko1 opened this issue Jul 18, 2018 · 6 comments
Open

Allow for reversed half notes #134

jacekiwaszko1 opened this issue Jul 18, 2018 · 6 comments

Comments

@jacekiwaszko1
Copy link
Collaborator

In older editions of music, half notes and half-note chords have the stem always on he right side of the note/chord regardless of whether the stem is pointing up or down:

half-stem-right

In Humdrum this should be represented by a tandem interpretation such as *2\right on the staves that are affected by this style. To cancel this style and revert to the default style, use *2\left.

craigsapp added a commit to rism-digital/verovio that referenced this issue Jul 18, 2018
@craigsapp
Copy link
Member

Implemented with commit rism-digital/verovio@df021a1

Example encoding in Humdrum:

**kern
=1
2dd
=2
*2\right
2ee
=3
*2\left
2ff
==
*-

Currently verovio ignores[email protected] and [email protected], so the rendering of above example is:

screen shot 2018-07-18 at 11 49 23 pm

Once implemented in verovio, the notation should render as:

reversed

Notice that the MEI conversion of the above example includes a stem.pos="right" attribute on the middle note:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="http://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="http://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="2018-07-19T00:18:54" version="2.0.0-dev-9b4f756">
                    <name>Verovio</name>
                    <p>Transcoded from Humdrum</p>
                </application>
            </appInfo>
        </encodingDesc>
        <workDesc>
            <work>
                <titleStmt>
                    <title />
                </titleStmt>
            </work>
        </workDesc>
    </meiHead>
    <music>
        <body>
            <mdiv xml:id="mdiv-0000001787360856">
                <score xml:id="score-0000001172652556">
                    <scoreDef xml:id="scoredef-0000000192277192" midi.bpm="400">
                        <staffGrp xml:id="staffgrp-0000001258246286">
                            <staffDef xml:id="staffdef-0000001023641863" clef.shape="G" clef.line="2" n="1" lines="5">
                                <label xml:id="label-0000000966273581" />
                            </staffDef>
                        </staffGrp>
                    </scoreDef>
                    <section xml:id="section-L1F1">
                        <measure xml:id="measure-L2" n="1">
                            <staff xml:id="staff-L2F1N1" n="1">
                                <layer xml:id="layer-L2F1N1" n="1">
                                    <note xml:id="note-L3F1" dur="2" oct="5" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L4" n="2">
                            <staff xml:id="staff-L4F1N1" n="1">
                                <layer xml:id="layer-L4F1N1" n="1">
                                    <note xml:id="note-L6F1" dur="2" oct="5" pname="e" stem.pos="right" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L7" right="end" n="3">
                            <staff xml:id="staff-L7F1N1" n="1">
                                <layer xml:id="layer-L7F1N1" n="1">
                                    <note xml:id="note-L9F1" dur="2" oct="5" pname="f" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                    </section>
                </score>
            </mdiv>
        </body>
    </music>
</mei>

@craigsapp
Copy link
Member

Implemented in verovio with pull rism-digital/verovio#918 by @rettinghaus

New rendering from verovio:

screen shot 2018-07-21 at 9 26 44 am

Not exactly the same as the original edition example yet, since the notehead would also need to be mirrored:

screen shot 2018-07-21 at 9 29 43 am

But it is good that the stem is lengthened to touch the notehead. Is there a need for both orientations of notheads? And if so, is there a way to represent that in MEI?

@rettinghaus
Copy link

rettinghaus commented Jul 22, 2018 via email

@craigsapp
Copy link
Member

@head.rotation currently does not seem to be implemented in verovio. But head mirroring is more desirable than rotation. For example, rotation of 180 degrees will result in the same shape as currently. Some rotation would be correct, although every note font can theoretically have a different rotation value (so mirroring is more desirable). And I don't see a mirroring option in the note attribute list:

http://music-encoding.org/guidelines/v3/elements/note.html

So @head.mirror may need to be added to note elements.

Test rendering:

screen shot 2018-07-23 at 12 19 18 am

Here is the test data. I rotated the first note by 180 degrees (which theoretically should not make any visual change). But I rotated the notes in the chord by 90 degrees, so they should appear tall and skinny, which they don't.

<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="http://music-encoding.org/schema/4.0.0/mei-all.rng" type="application/xml" schematypens="http://relaxng.org/ns/structure/1.0"?>
<?xml-model href="http://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="2018-07-23T00:16:32" version="2.0.0-dev-d3c9630">
                    <name>Verovio</name>
                    <p>Transcoded from Humdrum</p>
                </application>
            </appInfo>
        </encodingDesc>
        <workDesc>
            <work>
                <titleStmt>
                    <title />
                </titleStmt>
            </work>
        </workDesc>
    </meiHead>
    <music>
        <body>
            <mdiv xml:id="mdiv-0000002117707217">
                <score xml:id="score-0000001664702050">
                    <scoreDef xml:id="scoredef-0000001903582908" midi.bpm="400">
                        <staffGrp xml:id="staffgrp-0000000966129940">
                            <staffDef xml:id="staffdef-0000001167651943" clef.shape="G" clef.line="2" n="1" lines="5">
                                <label xml:id="label-0000001932711835" />
                            </staffDef>
                        </staffGrp>
                    </scoreDef>
                    <section xml:id="section-L1F1">
                        <measure xml:id="measure-L2" n="1">
                            <staff xml:id="staff-L2F1N1" n="1">
                                <layer xml:id="layer-L2F1N1" n="1">
                                    <note xml:id="note-L3F1" dur="2" oct="5" pname="d" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L4" n="2">
                            <staff xml:id="staff-L4F1N1" n="1">
                                <layer xml:id="layer-L4F1N1" n="1">
                                    <note xml:id="note-L6F1" dur="2" oct="5" pname="e" stem.pos="right" head.rotation="180" accid.ges="n" />
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L7" right="end" n="3">
                            <staff xml:id="staff-L7F1N1" n="1">
                                <layer xml:id="layer-L7F1N1" n="1">
                                    <chord xml:id="chord-L8F1" dur="2" stem.pos="right">
                                        <note xml:id="note-L8F1S1" oct="5" pname="f" head.rotation="90" accid.ges="n" />
                                        <note xml:id="note-L8F1S2" oct="4" pname="f" head.rotation="90" accid.ges="n" />
                                    </chord>
                                </layer>
                            </staff>
                        </measure>
                    </section>
                </score>
            </mdiv>
        </body>
    </music>
</mei>

@jacekiwaszko1
Copy link
Collaborator Author

I was wandering if it would be possible to use !!!RDF**kern system instead of interprerations for encoding right-side stem-down. We encountered some manuscripts were there's a lot of right stems notated. (We would like to encode them, because that could help us to identify the same copyist's hand in different manuscripts in case you wonder :) )

Example:
right-stem-down-0

Encoding proposal:

!!!!SEGMENT: pl-cz-iii-190_elsner-missa-E-op-62-04-sanctus.krn
!!!id: 18xx:42
!!!COM: Elsner, Józef
!!!OTL: Missa in E op. 62 - Sanctus
!!!PDT: 1838
!!!SMS-siglum: PL-CZ
!!!SMS-shelfmark: III-190
!!!NIFC-rismID:
!!!URL-scan: http://repozytorium.nifc.pl/skany/pl-cz-nut--iii-190
!!!ONB-nifc:
**kern
*clefG2
*k[f#c#g#d#]
*c#:
*M4/4
*met(c)
=62
2eeep
4gg#p
8.ccc#L
16ccc#Jk
=63
4ff#p
8.bbLp
16bbJkp
4gg#p
[4bbp
=64
4bb]p
8aa#XL
8gg#Jp
2aa#p
=65
8bbLp
8ccc#
8ddd#p
8eeeJ
[2fff#p
=66
4fff#]p
2eeep
4ddd#p
=67
2eeep
4r
8.fff#Lp
16fff#Jkp
=68
4eee
8.eeeL
16eeeJk
4ddd#p
8.ddd#Lp
16ddd#Jkp
=69
4ccc#
8.ccc#L
16ccc#Jk
4bbp
8.bbLp
16bbJkp
=70
4aa
8.aaL
16aaJk
4aa
8.aaL
16aaJk
=71
4gg#p
8.eeeL
16eeeJk
4ff#p
8.ddd#Lp
16ddd#Jkp
=72
4gg#p
8.eeeL
16eeeJk
4ff#p
8.ddd#Lp
16ddd#Jkp
=
*-
!!!RDF**kern: p = stem position right

MEI encoding:

<?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>Missa in E op. 62 - Sanctus</title>
            </titleStmt>
            <pubStmt />
        </fileDesc>
        <encodingDesc>
            <appInfo>
                <application isodate="2020-03-17T11:42:02" version="2.6.0-dev-45b2acb-dirty">
                    <name>Verovio</name>
                    <p>Transcoded from Humdrum</p>
                </application>
            </appInfo>
        </encodingDesc>
        <workList>
            <work>
                <title xml:id="title-L4" analog="humdrum:OTL" type="main">Missa in E op. 62 - Sanctus</title>
                <composer analog="humdrum:COM" xml:id="person-L3">Elsner, Józef</composer>
            </work>
        </workList>
        <extMeta>
            <frames xmlns="http://www.humdrum.org/ns/humxml">
                <metaFrame n="0" token="!!!!SEGMENT: pl-cz-iii-190_elsner-missa-E-op-62-04-sanctus.krn" xml:id="L1">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>SEGMENT</referenceKey>
                        <referenceValue />
                    </frameInfo>
                </metaFrame>
                <metaFrame n="1" token="!!!id: 18xx:42" xml:id="L2">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>id</referenceKey>
                        <referenceValue>18xx:42</referenceValue>
                    </frameInfo>
                </metaFrame>
                <metaFrame n="2" token="!!!COM: Elsner, Józef" xml:id="L3">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>COM</referenceKey>
                        <referenceValue>Elsner, Józef</referenceValue>
                    </frameInfo>
                </metaFrame>
                <metaFrame n="3" token="!!!OTL: Missa in E op. 62 - Sanctus" xml:id="L4">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>OTL</referenceKey>
                        <referenceValue>Missa in E op. 62 - Sanctus</referenceValue>
                    </frameInfo>
                </metaFrame>
                <metaFrame n="4" token="!!!PDT: 1838" xml:id="L5">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>PDT</referenceKey>
                        <referenceValue>1838</referenceValue>
                    </frameInfo>
                </metaFrame>
                <metaFrame n="5" token="!!!SMS-siglum: PL-CZ" xml:id="L6">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>SMS-siglum</referenceKey>
                        <referenceValue>PL-CZ</referenceValue>
                    </frameInfo>
                </metaFrame>
                <metaFrame n="6" token="!!!SMS-shelfmark: III-190" xml:id="L7">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>SMS-shelfmark</referenceKey>
                        <referenceValue>III-190</referenceValue>
                    </frameInfo>
                </metaFrame>
                <metaFrame n="7" token="!!!NIFC-rismID:" xml:id="L8">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>NIFC-rismID</referenceKey>
                        <referenceValue />
                    </frameInfo>
                </metaFrame>
                <metaFrame n="8" token="!!!URL-scan: http://repozytorium.nifc.pl/skany/pl-cz-nut--iii-190" xml:id="L9">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>URL-scan</referenceKey>
                        <referenceValue>http://repozytorium.nifc.pl/skany/pl-cz-nut--iii-190</referenceValue>
                    </frameInfo>
                </metaFrame>
                <metaFrame n="9" token="!!!ONB-nifc:" xml:id="L10">
                    <frameInfo>
                        <startTime float="0" />
                        <frameType>reference</frameType>
                        <referenceKey>ONB-nifc</referenceKey>
                        <referenceValue />
                    </frameInfo>
                </metaFrame>
                <metaFrame n="84" token="!!!RDF**kern: p = stem position right" xml:id="L85">
                    <frameInfo>
                        <startTime float="44" />
                        <frameType>reference</frameType>
                        <referenceKey>RDF**kern</referenceKey>
                        <referenceValue>p = stem position right</referenceValue>
                    </frameInfo>
                </metaFrame>
            </frames>
        </extMeta>
    </meiHead>
    <music>
        <body>
            <mdiv xml:id="mdiv-0000000473456862">
                <score xml:id="score-0000000805457369">
                    <scoreDef xml:id="scoredef-0000001092582323">
                        <staffGrp xml:id="staffgrp-0000001300227697">
                            <staffDef xml:id="staffdef-0000001930142392" n="1" lines="5">
                                <clef xml:id="clef-L12F1" shape="G" line="2" />
                                <keySig xml:id="keysig-L13F1" accid="s" pname="c" mode="minor" sig="4s" />
                                <meterSig xml:id="metersig-L15F1" count="4" sym="common" unit="4" />
                            </staffDef>
                        </staffGrp>
                        <pgHead xml:id="pghead-0000001541042674">
                            <rend xml:id="rend-0000000675922223" halign="center" valign="middle">
                                <rend xml:id="rend-0000000643584064" fontsize="large">Missa in E op. 62 - Sanctus</rend>
                                <lb xml:id="lb-0000000143060747" /> 
<lb xml:id="lb-0000001000646721" /> </rend>
                            <rend xml:id="rend-0000001165833163" halign="right" valign="bottom" fontsize="small">Józef Elsner</rend>
                        </pgHead>
                    </scoreDef>
                    <section xml:id="section-L11F1">
                        <measure xml:id="measure-L1" n="62">
                            <staff xml:id="staff-0000000488827655" n="1">
                                <layer xml:id="layer-L11F1N1" n="1">
                                    <note xml:id="note-L18F1" dur="2" oct="6" pname="e" accid.ges="n" stem.pos="right" />
                                    <note xml:id="note-L19F1" dur="4" oct="5" pname="g" accid.ges="s" stem.pos="right" />
                                    <beam xml:id="beam-L20F1-L21F1">
                                        <note xml:id="note-L20F1" dots="1" dur="8" oct="6" pname="c" accid.ges="s" />
                                        <note xml:id="note-L21F1" dur="16" oct="6" pname="c" accid.ges="s" />
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L22" n="63">
                            <staff xml:id="staff-L22F1N1" n="1">
                                <layer xml:id="layer-L22F1N1" n="1">
                                    <note xml:id="note-L23F1" dur="4" oct="5" pname="f" accid.ges="s" stem.pos="right"/>
                                    <beam xml:id="beam-L24F1-L25F1" >
                                        <note xml:id="note-L24F1" dots="1" dur="8" oct="5" pname="b" accid.ges="n" stem.pos="right" />
                                        <note xml:id="note-L25F1" dur="16" oct="5" pname="b" accid.ges="n" stem.pos="right" />
                                    </beam>
                                    <note xml:id="note-L26F1" dur="4" oct="5" pname="g" accid.ges="s" stem.pos="right"/>
                                    <note xml:id="note-L27F1" dur="4" oct="5" pname="b" accid.ges="n" stem.pos="right"/>
                                </layer>
                            </staff>
                            <tie xml:id="tie-L27F1-L29F1" startid="#note-L27F1" endid="#note-L29F1" />
                        </measure>
                        <measure xml:id="measure-L28" n="64">
                            <staff xml:id="staff-L28F1N1" n="1">
                                <layer xml:id="layer-L28F1N1" n="1">
                                    <note xml:id="note-L29F1" dur="4" oct="5" pname="b" accid.ges="n" stem.pos="right"/>
                                    <beam xml:id="beam-L30F1-L31F1">
                                        <note xml:id="note-L30F1" dur="8" oct="5" pname="a" accid="s" />
                                        <note xml:id="note-L31F1" dur="8" oct="5" pname="g" accid.ges="s" stem.pos="right"/>
                                    </beam>
                                    <note xml:id="note-L32F1" dur="2" oct="5" pname="a" accid.ges="s" stem.pos="right"/>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L33" n="65">
                            <staff xml:id="staff-L33F1N1" n="1">
                                <layer xml:id="layer-L33F1N1" n="1">
                                    <beam xml:id="beam-L34F1-L37F1">
                                        <note xml:id="note-L34F1" dur="8" oct="5" pname="b" accid.ges="n" stem.pos="right"/>
                                        <note xml:id="note-L35F1" dur="8" oct="6" pname="c" accid.ges="s" />
                                        <note xml:id="note-L36F1" dur="8" oct="6" pname="d" accid.ges="s" stem.pos="right"/>
                                        <note xml:id="note-L37F1" dur="8" oct="6" pname="e" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-L38F1" dur="2" oct="6" pname="f" accid.ges="s" stem.pos="right"/>
                                </layer>
                            </staff>
                            <tie xml:id="tie-L38F1-L40F1" startid="#note-L38F1" endid="#note-L40F1" />
                        </measure>
                        <measure xml:id="measure-L39" n="66">
                            <staff xml:id="staff-L39F1N1" n="1">
                                <layer xml:id="layer-L39F1N1" n="1">
                                    <note xml:id="note-L40F1" dur="4" oct="6" pname="f" accid.ges="s" stem.pos="right"/>
                                    <note xml:id="note-L41F1" dur="2" oct="6" pname="e" accid.ges="n" stem.pos="right"/>
                                    <note xml:id="note-L42F1" dur="4" oct="6" pname="d" accid.ges="s" stem.pos="right"/>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L43" n="67">
                            <staff xml:id="staff-L43F1N1" n="1">
                                <layer xml:id="layer-L43F1N1" n="1">
                                    <note xml:id="note-L44F1" dur="2" oct="6" pname="e" accid.ges="n" stem.pos="right"/>
                                    <rest xml:id="rest-L45F1" dur="4" />
                                    <beam xml:id="beam-L46F1-L47F1">
                                        <note xml:id="note-L46F1" dots="1" dur="8" oct="6" pname="f" accid.ges="s" stem.pos="right"/>
                                        <note xml:id="note-L47F1" dur="16" oct="6" pname="f" accid.ges="s" stem.pos="right"/>
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L48" n="68">
                            <staff xml:id="staff-L48F1N1" n="1">
                                <layer xml:id="layer-L48F1N1" n="1">
                                    <note xml:id="note-L49F1" dur="4" oct="6" pname="e" accid.ges="n" />
                                    <beam xml:id="beam-L50F1-L51F1">
                                        <note xml:id="note-L50F1" dots="1" dur="8" oct="6" pname="e" accid.ges="n" />
                                        <note xml:id="note-L51F1" dur="16" oct="6" pname="e" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-L52F1" dur="4" oct="6" pname="d" accid.ges="s" stem.pos="right"/>
                                    <beam xml:id="beam-L53F1-L54F1">
                                        <note xml:id="note-L53F1" dots="1" dur="8" oct="6" pname="d" accid.ges="s" stem.pos="right"/>
                                        <note xml:id="note-L54F1" dur="16" oct="6" pname="d" accid.ges="s" stem.pos="right"/>
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L55" n="69">
                            <staff xml:id="staff-L55F1N1" n="1">
                                <layer xml:id="layer-L55F1N1" n="1">
                                    <note xml:id="note-L56F1" dur="4" oct="6" pname="c" accid.ges="s" />
                                    <beam xml:id="beam-L57F1-L58F1">
                                        <note xml:id="note-L57F1" dots="1" dur="8" oct="6" pname="c" accid.ges="s" />
                                        <note xml:id="note-L58F1" dur="16" oct="6" pname="c" accid.ges="s" />
                                    </beam>
                                    <note xml:id="note-L59F1" dur="4" oct="5" pname="b" accid.ges="n" stem.pos="right"/>
                                    <beam xml:id="beam-L60F1-L61F1">
                                        <note xml:id="note-L60F1" dots="1" dur="8" oct="5" pname="b" accid.ges="n" stem.pos="right"/>
                                        <note xml:id="note-L61F1" dur="16" oct="5" pname="b" accid.ges="n" stem.pos="right"/>
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L62" n="70">
                            <staff xml:id="staff-L62F1N1" n="1">
                                <layer xml:id="layer-L62F1N1" n="1">
                                    <note xml:id="note-L63F1" dur="4" oct="5" pname="a" accid.ges="n" />
                                    <beam xml:id="beam-L64F1-L65F1">
                                        <note xml:id="note-L64F1" dots="1" dur="8" oct="5" pname="a" accid.ges="n" />
                                        <note xml:id="note-L65F1" dur="16" oct="5" pname="a" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-L66F1" dur="4" oct="5" pname="a" accid.ges="n" />
                                    <beam xml:id="beam-L67F1-L68F1">
                                        <note xml:id="note-L67F1" dots="1" dur="8" oct="5" pname="a" accid.ges="n" />
                                        <note xml:id="note-L68F1" dur="16" oct="5" pname="a" accid.ges="n" />
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L69" n="71">
                            <staff xml:id="staff-L69F1N1" n="1">
                                <layer xml:id="layer-L69F1N1" n="1">
                                    <note xml:id="note-L70F1" dur="4" oct="5" pname="g" accid.ges="s" stem.pos="right"/>
                                    <beam xml:id="beam-L71F1-L72F1">
                                        <note xml:id="note-L71F1" dots="1" dur="8" oct="6" pname="e" accid.ges="n" />
                                        <note xml:id="note-L72F1" dur="16" oct="6" pname="e" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-L73F1" dur="4" oct="5" pname="f" accid.ges="s" stem.pos="right"/>
                                    <beam xml:id="beam-L74F1-L75F1">
                                        <note xml:id="note-L74F1" dots="1" dur="8" oct="6" pname="d" accid.ges="s" stem.pos="right"/>
                                        <note xml:id="note-L75F1" dur="16" oct="6" pname="d" accid.ges="s" stem.pos="right"/>
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                        <measure xml:id="measure-L76" n="72">
                            <staff xml:id="staff-L76F1N1" n="1">
                                <layer xml:id="layer-L76F1N1" n="1">
                                    <note xml:id="note-L77F1" dur="4" oct="5" pname="g" accid.ges="s" stem.pos="right"/>
                                    <beam xml:id="beam-L78F1-L79F1">
                                        <note xml:id="note-L78F1" dots="1" dur="8" oct="6" pname="e" accid.ges="n" />
                                        <note xml:id="note-L79F1" dur="16" oct="6" pname="e" accid.ges="n" />
                                    </beam>
                                    <note xml:id="note-L80F1" dur="4" oct="5" pname="f" accid.ges="s" stem.pos="right"/>
                                    <beam xml:id="beam-L81F1-L82F1"  >
                                        <note xml:id="note-L81F1" dots="1" dur="8" oct="6" pname="d" accid.ges="s" stem.pos="right"/>
                                        <note xml:id="note-L82F1" dur="16" oct="6" pname="d" accid.ges="s" stem.pos="right"/>
                                    </beam>
                                </layer>
                            </staff>
                        </measure>
                    </section>
                </score>
            </mdiv>
        </body>
    </music>
</mei>

Current rendering based on modified MEI encoding:

right-stems2

Apparently @stem.pos isn't working for notes within a beam, unfortunately.

@craigsapp
Copy link
Member

See music-encoding/music-encoding#687 for reference to @stem.pos="center".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants