diff --git a/.gitignore b/.gitignore index b0e47ca..50b1d71 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ ## Ignore test file outputs *.log *.ly +*.midi *.pdf diff --git a/mei2ly.xsl b/mei2ly.xsl index 5454965..2b3cbdc 100644 --- a/mei2ly.xsl +++ b/mei2ly.xsl @@ -2,7 +2,7 @@ - + @@ -130,6 +130,7 @@ + @@ -151,7 +152,7 @@ - + @@ -162,7 +163,7 @@ - + @@ -173,7 +174,7 @@ - + @@ -182,7 +183,7 @@ - + @@ -421,6 +422,7 @@ + \set tieWaitForNote = ##t @@ -603,6 +605,9 @@ + + + @@ -684,6 +689,9 @@ ! + + ? + @@ -734,6 +742,9 @@ \( + + \laissezVibrer + \! @@ -831,6 +842,9 @@ \( + + \laissezVibrer + \arpeggio @@ -1602,7 +1616,9 @@ -\tweak Fingering.extra-offset #' - + + + @@ -2123,10 +2139,8 @@ - - - - + + \stemUp @@ -2628,10 +2642,10 @@ - + - + @@ -2643,13 +2657,12 @@ - + - + diff --git a/supported.md b/supported.md index 01ac127..3645a85 100644 --- a/supported.md +++ b/supported.md @@ -6,6 +6,8 @@ List of supported MEI elements and attributes * `` * `@color` + * `@edit` (for value 'paren') + * `@func` * `@ho` * `@place` (for value 'above') * `@vo` @@ -47,6 +49,7 @@ List of supported MEI elements and attributes * `@dur` * `@fermata` * `@grace` + * `@lv` * `@oct` * `@ornam` * `@slur` @@ -204,6 +207,7 @@ List of supported MEI elements and attributes * `@grace` * `@head.color` * `@head.shape` + * `@lv` * `@oct` * `@ornam` * `@pname` diff --git a/tests/README.md b/tests/README.md index 4193a84..7b41d32 100644 --- a/tests/README.md +++ b/tests/README.md @@ -4,6 +4,8 @@ This is an autogenerated overview of the testfiles. ![articulation.mei](articulation.preview.png) ### [multirest-and-reh.mei](multirest-and-reh.mei) ![multirest-and-reh.mei](multirest-and-reh.preview.png) +### [unmetered-and-glyphs.mei](unmetered-and-glyphs.mei) +![unmetered-and-glyphs.mei](unmetered-and-glyphs.preview.png) ### [namespace-prefixes.mei](namespace-prefixes.mei) ![namespace-prefixes.mei](namespace-prefixes.preview.png) ### [color.mei](color.mei) diff --git a/tests/general-functions.mei b/tests/general-functions.mei index 3402b08..90e9008 100644 --- a/tests/general-functions.mei +++ b/tests/general-functions.mei @@ -93,7 +93,9 @@ - + + + diff --git a/tests/general-functions.preview.png b/tests/general-functions.preview.png index 0f12eb5..941dc8f 100644 Binary files a/tests/general-functions.preview.png and b/tests/general-functions.preview.png differ diff --git a/tests/unmetered-and-glyphs.mei b/tests/unmetered-and-glyphs.mei new file mode 100644 index 0000000..68f5e03 --- /dev/null +++ b/tests/unmetered-and-glyphs.mei @@ -0,0 +1,180 @@ + + + + + + + + + </titleStmt> + <pubStmt/> + </fileDesc> + </meiHead> + <music> + <body> + <mdiv> + <score> + <scoreDef> + <staffGrp> + <staffDef n="1" clef.line="1" clef.shape="C" lines="5"/> + </staffGrp> + </scoreDef> + <section n="34" label="Fig. XXXIV."> + <measure right="single"> + <staff n="1"> + <layer n="1"> + <note xml:id="f34n1" dur="4" oct="4" pname="g"/> + </layer> + </staff> + <trill glyphname="ornamentPrecompSlideTrillDAnglebert" place="above" startid="#f34n1"/> + </measure> + <measure right="dbl"> + <staff n="1"> + <layer n="1"> + <beam> + <note dur="32" oct="4" pname="f"/> + <note dur="32" oct="4" pname="g"/> + <note dur="32" oct="4" pname="a"/> + <note dur="32" oct="4" pname="g"/> + <note dur="32" oct="4" pname="a"/> + <note dur="32" oct="4" pname="g"/> + <note dur="32" oct="4" pname="a"/> + <note dur="32" oct="4" pname="g"/> + <note dur="32" oct="4" pname="a"/> + <note dur="32" oct="4" pname="g"/> + </beam> + </layer> + </staff> + </measure> + <measure right="single"> + <staff n="1"> + <layer n="1"> + <note grace="unknown" dur="8" oct="4" pname="f"/> + <note xml:id="f34n2" dur="4" oct="4" pname="g"/> + </layer> + </staff> + <trill place="above" startid="#f34n2"/> + <reh place="above">(✴)</reh> + </measure> + <measure right="dbl"> + <staff n="1"> + <layer n="1"> + <beam> + <note grace="unknown" dur="16" oct="4" pname="f"/> + <note grace="unknown" dur="16" oct="4" pname="g"/> + </beam> + <note xml:id="f34n3" dur="4" oct="4" pname="g"/> + </layer> + </staff> + <trill place="above" startid="#f34n3"/> + <reh place="above">(✴)</reh> + </measure> + </section> + <section n="41" label="Fig. XLI."> + <scoreDef> + <staffGrp> + <staffDef n="1" clef.line="1" clef.shape="C" lines="5"/> + </staffGrp> + </scoreDef> + <measure right="single"> + <staff n="1"> + <layer n="1"> + <note xml:id="f41n1" dur="4" oct="4" pname="g"/> + </layer> + </staff> + <trill glyphname="ornamentPrecompMordentUpperPrefix" place="above" startid="#f41n1"/> + </measure> + <measure right="dbl"> + <staff n="1"> + <layer n="1"> + <beam> + <note dur="32" oct="4" pname="a"/> + <note dur="32" oct="4" pname="g"/> + <note dur="32" oct="4" pname="f"/> + <note dur="32" oct="4" pname="g"/> + <note dur="32" oct="4" pname="a"/> + <note dur="32" oct="4" pname="g"/> + <note dur="32" oct="4" pname="a"/> + <note dur="32" oct="4" pname="g"/> + <note dur="32" oct="4" pname="a"/> + <note dur="32" oct="4" pname="g"/> + <note dur="32" oct="4" pname="a"/> + <note dur="32" oct="4" pname="g"/> + </beam> + </layer> + </staff> + </measure> + <measure right="single"> + <staff n="1"> + <layer n="1"> + <note xml:id="f41n2" dur="4" oct="5" pname="c"/> + </layer> + <layer n="2"> + <note xml:id="f41n2a" dur="4" oct="4" pname="c"/> + </layer> + </staff> + <reh place="above">(✴)</reh> + </measure> + <measure right="dbl"> + <staff n="1"> + <layer n="1"> + <note xml:id="f41n3" dur="2" oct="5" pname="c"/> + <beam> + <note grace="unknown" dur="16" oct="4" pname="b"/> + <note grace="unknown" dur="16" oct="4" pname="a"/> + <note grace="unknown" dur="16" oct="4" pname="g"/> + </beam> + <note xml:id="f41n4" dur="4" oct="4" pname="a"/> + </layer> + <layer n="2"> + <note dur="4" oct="4" pname="d"/> + <note dur="4" oct="4" pname="d"/> + <note dur="4" oct="4" pname="d"/> + <note dur="4" oct="4" pname="d"/> + </layer> + </staff> + <trill place="above" startid="#f41n4"/> + </measure> + </section> + <section n="77" label="Fig. LXXVII."> + <scoreDef> + <staffGrp> + <staffDef n="1" clef.line="1" clef.shape="C" lines="5"/> + </staffGrp> + </scoreDef> + <measure right="single"> + <staff n="1"> + <layer n="1"> + <note xml:id="f77n1" dur="4" oct="4" pname="e" accid="f"/> + </layer> + </staff> + <dir startid="#f77n1"><rend fontstyle="italic">ad:</rend></dir> + </measure> + <measure right="dbl"> + <staff n="1"> + <layer n="1"> + <note xml:id="f77n2" dur="4" oct="4" pname="e"> + </note> + <note xml:id="f77n3" dur="2" oct="4" pname="d" lv="true"/> + </layer> + </staff> + <trill glyphname="ornamentPrecompSlideTrillDAnglebert" place="above" startid="#f77n2"/> + </measure> + <measure right="dbl"> + <staff n="1"> + <layer n="1"> + <note xml:id="f77n4" dur="4" oct="4" pname="e"> + </note> + <note xml:id="f77n5" dur="4" oct="4" pname="d"/> + <note xml:id="f77n6" dur="2" oct="4" pname="d" lv="true"/> + </layer> + </staff> + <trill glyphname="ornamentPrecompSlideTrillDAnglebert" place="above" startid="#f77n4"/> + <trill glyphname="ornamentPrecompTrillWithMordent" place="above" startid="#f77n6"/> + </measure> + </section> + </score> + </mdiv> + </body> + </music> +</mei> diff --git a/tests/unmetered-and-glyphs.preview.png b/tests/unmetered-and-glyphs.preview.png new file mode 100644 index 0000000..69950f4 Binary files /dev/null and b/tests/unmetered-and-glyphs.preview.png differ