<score-partwise>
<movement-title>Pitches and accidentals</movement-title>
<identification>
- <creator type="composer">Reinhold Kainhofer</creator>
+ <miscellaneous>
+ <miscellaneous-field name="description">All pitches from G to c'''' in
+ ascending steps; First without accidentals, then with a sharp and then
+ with a flat accidental. Double alterations and cautionary accidentals
+ are tested at the end.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise>
<movement-title>Various piches and interval sizes</movement-title>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">All pitch intervals in ascending
+ jump size.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P1">
<part-name>MusicXML Part</part-name>
<score-partwise>
<movement-title>Note durations</movement-title>
<identification>
- <creator type="composer">Reinhold Kainhofer</creator>
+ <miscellaneous>
+ <miscellaneous-field name="description">All note durations, from long,
+ brevis, whole until 128th; First with their plain values, then dotted
+ and finally doubly-dotted.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<score-partwise>\r
<movement-title>Rest unit test</movement-title>\r
<identification>\r
- <creator type="composer">Reinhold Kainhofer</creator>\r
<rights>Public Domain</rights>\r
<encoding>\r
<software>Finale 2007 for Windows</software>\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-26</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">All different rest lengths: A \r
+ two-bar multi-measure rest, a whole rest, a half, etc. until a \r
+ 128th-rest; Then the same with dotted durations.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>/usr/bin/vi</software>
<encoding-date>2007-02-02</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Rests can have
+ explicit pitches, where they are displayed. The
+ first rest uses no explicit position and should use
+ the default position, all others are explicitly
+ positioned somewhere else.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1"><part-name>MIDI Track 1</part-name></score-part>
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-09-01</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Various clefs: G, C, F, percussion, \r
+ TAB and none; some are also possible with octavation and on other \r
+ staff lines than their default (e.g. soprano/alto/tenor/bariton C \r
+ clefs); Each measure shows a different clef (measure 17 has the "none" \r
+ clef), only measure 18 has the same treble clef as measure \r
+ 1.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
</measure>\r
<!--=======================================================-->\r
<measure number="17">\r
- <attributes>\r
- <clef>\r
- <sign>TAB</sign>\r
- <line>5</line>\r
- </clef>\r
- </attributes>\r
- <note>\r
- <pitch>\r
- <step>C</step>\r
- <octave>4</octave>\r
- </pitch>\r
- <duration>4</duration>\r
- <voice>1</voice>\r
- <type>whole</type>\r
- </note>\r
- </measure>\r
- <!--=======================================================-->\r
- <measure number="18">\r
<print new-system="yes"/>\r
<attributes>\r
<clef>\r
</note>\r
</measure>\r
<!--=======================================================-->\r
- <measure number="19">\r
+ <measure number="18">\r
<attributes>\r
<clef>\r
<sign>G</sign>\r
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise>
<movement-title>Different Key signatures</movement-title>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Various key signature: from 11 flats to 11 sharps (each one first one measure in major, then one measure in minor)</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P1">
<part-name>MusicXML Part</part-name>
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise>
<movement-title>Different time signatures</movement-title>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Various time signatures: 2/2 (alla breve), 4/4 (C), 2/2, 3/2, 2/4, 3/4, 4/4, 5/4, 3/8, 6/8, 12/8</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P1">
<part-name>MusicXML Part</part-name>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 2.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
<work><work-title>No key or clef given</work-title></work>
- <identification/>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">A score without
+ any key or clef defined. The default (4/4 in treble
+ clef) should be used.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P0">
<part-name></part-name>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 2.0 Partwise//EN"
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
- <work><work-title>No time signature given</work-title></work>
- <identification/>
+ <work><work-title>No time signature given</work-title></work>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">A score without
+ a time signature (but with a key and clefs)</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P1">
<part-name></part-name>
<score-partwise version="1.1">
<movement-title>Backup not to 0 in second voice</movement-title>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Two voices with a backup, that
+ does not jump to the beginning for the measure for voice 2, but
+ somewhere in the middle. Voice 2 thus won't have any notes or rests
+ for the first beat of the measures.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P1">
<part-name></part-name>
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-11-26</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Four multi-measure rests: 3 \r
+ measures, 15 measures, 1 measure, and 12 measures.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise>
<work><work-title>A tie</work-title></work>
- <identification/>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Two simple tied whole notes</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P1"><part-name></part-name></score-part>
</part-list>
<software>Dolet Light for Finale 2008</software>\r
<encoding-date>2008-11-11</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Multi-Measure rests should always \r
+ be converted into durations that are a multiple of the time \r
+ signature.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<encoding>
<software>Rosegarden-4</software>
</encoding>
- </identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">One simple chord
+ consisting of two notes.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P0">
<part-name>Chord test</part-name>
<encoding>
<software>Rosegarden-4</software>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Some subsequent
+ (identical) two-note chords.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P0">
<encoding>
<software>Rosegarden-4</software>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Some three-note
+ chords, with various durations.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P0">
<encoding>
<software>Rosegarden-4</software>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Chords in the
+ second measure, after several ornaments in the first
+ measure and a p at the beginning of the second
+ measure.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P0">
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 2.0 Partwise//EN"
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
- <work>
- <work-title>Chord detection messed up</work-title>
- </work>
+ <work>
+ <work-title>Chord detection messed up</work-title>
+ </work>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Check for proper chord detection
+ after a pickup measure (i.e. the first beat of the measure is not
+ aligned with multiples of the time signature!</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P2">
<part-name>Piano</part-name>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 0.6 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise>
<work> <work-title>Elements between notes of a chord</work-title></work>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Between the individual notes of
+ a chord there can be direction or harmony elements, which should be
+ properly assigned to the chord (or the position of the
+ chord).</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P0">
<part-name>Chord test</part-name>
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
<movement-title>MusicXML notations (attached to note)</movement-title>
- <identification/>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">All <notation> elements
+ defined in MusicXML. The lyrics show the notation assigned to each
+ note.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P1">
<part-name></part-name>
<software>/usr/bin/vi</software>
<encoding-date>2007-02-01</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Text markup:
+ different font sizes, weights and colors.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1"><part-name></part-name></score-part>
<software>Hand-crafted MusicXML</software>
</encoding>
<miscellaneous>
- <miscellaneous-field name="comment">
+ <miscellaneous-field name="description">
It should not make any difference whether two articulations are given
- inside to different notation elements, inside two different articulations
+ inside two different notation elements, inside two different articulations
children of the same notation element or inside the same articulations
element. Thus, all three notes should have a staccato and an accent.
</miscellaneous-field>
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
<movement-title>Arpeggios in MusicXML</movement-title>
- <identification/>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Different Arpeggio directions
+ (normal, up, down, non-arpeggiate)</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<defaults/>
<part-list>
<score-part id="P1">
"http://www.musicxml.org/dtds/partwise.dtd">\r
<score-partwise version="2.0">\r
<movement-title>MusicXML directions (attached to staff)</movement-title>\r
- <identification/>\r
+ <identification>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">All <direction> elements \r
+ defined in MusicXML. The lyrics for each note describes the direction\r
+ element assigned to that note.</miscellaneous-field>\r
+ </miscellaneous>\r
+ </identification>\r
<defaults/>\r
<part-list>\r
<score-part id="P1">\r
"http://www.musicxml.org/dtds/partwise.dtd">\r
<score-partwise version="2.0">\r
<movement-title>Accordion registrations</movement-title>\r
- <identification/>\r
+ <identification>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">All possible accordion \r
+ registrations.</miscellaneous-field>\r
+ </miscellaneous>\r
+ </identification>\r
<defaults/>\r
<part-list>\r
<score-part id="P1">\r
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="1.1">
<movement-title>Tempo markings</movement-title>
- <identification/>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Tempo Markings: note=bpm,
+ text (note=bpm), note=note, (note=note), (note=bpm)</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<defaults/>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-08-31</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Several spanners defined in MusicXML</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
<movement-title>Glissando and Slide in MusicXML</movement-title>
- <identification/>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">All different types of
+ glissando defined in MusicXML</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<defaults/>
<part-list>
<score-part id="P1">
<encoding>
<software>NoteEdit</software>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Some spanners, exported by NoteEdit</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<encoding>
<software>JMSL's MusicXMLWriter by Nick Didkovsky. Java Music Specification Language by Nick Didkovsky and Phil Burk, (c) 2003 Nick Didkovsky, Phil Burk. Available from: http://www.algomusic.com</software>
</encoding>
+<miscellaneous>
+<miscellaneous-field name="description">Some spanners, exported by JMSL's MusicXMLWriter</miscellaneous-field>
+</miscellaneous>
</identification>
<part-list>
<score-part id="P1" >
<software>Dolet Light for Finale 2007</software>
<encoding-date>2007-09-14</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">All types of octave shifts (15ma, 15mb, 8va, 8vb)</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2008</software>\r
<encoding-date>2008-11-11</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A note can be the end of one \r
+ slur and the start of a new slur. Also, in MusicXML, nested slurs \r
+ are possible.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2008-08-20</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A trill spanner that ends on an \r
+ after-grace note.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>"Hand-crafted" MusicXML file</software>\r
<encoding-date>2008-02-06</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Several header fields and part \r
+ names can contain quotes ("). This test checks whether they are \r
+ converted/imported without problems (i.e. whether they are correctly\r
+ escaped when converting).</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-08-29</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Some notes with simple lyrics: Syllables, notes without a syllable, syllable spanners.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>
<encoding-date>2007-08-31</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Multiple (simple) lyrics. The
+ order of the exported stanzas is relevant (identified by the number
+ attribute in this test case)</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-08-29</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Lyrics assigned to the voices of \r
+ a piano staff containing two simple staves. Each staff is assigned \r
+ exactly one lyrics line.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-23</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">How to treat lyrics and slurred \r
+ notes. Normally, a slurred group of notes is assigned only one lyrics \r
+ syllable.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-23</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Assigning lyrics to chorded notes.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-27</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Grace notes shall not mess up the \r
+ lyrics, and they shall not be assigned a syllable.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<movement-title>Lyrics attributes: name and number</movement-title>
<identification>
<creator type="composer">Reinhold Kainhofer</creator>
+ <miscellaneous>
+ <miscellaneous-field name="description">A lyrics syllable can have both
+ a number and a name attribute. The question is: What should be used
+ to put syllables of the same voice together. This example uses
+ different number/name combinations to check how different
+ applications handle this unspecified case (The advice on the
+ MusicXML mailing list was "there is no correct way, each
+ application can do what it thinks is best").</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="1.1">
<movement-title>Lyrics and melismata</movement-title>
- <identification/>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Beaming or slurs can indicate
+ melismata for lyrics. Also make sure that notes without an explicit
+ syllable are treated as if they were part of a melisma.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<defaults/>
<part-list>
<score-part id="P1">
<encoding>
<software>Rosegarden-4</software>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">A piece with
+ four parts. Are they converted in the correct order?</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P0">
<software>Dolet Light for Finale 2006</software>
<encoding-date>2007-08-25</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">A huge orchestra score with 28
+ parts and different kinds of nested bracketed groups. Each part/group
+ is assigned a name and an abbreviation to be shown before the staff.
+ Also, most of the groups show unbroken barlines, while the barlines
+ are broken between the groups.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<part-group number="2" type="start">
<encoding>
<software>Rosegarden-4</software>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">A piece with
+ more than 10 parts to check whether the parts are
+ correctly sorted.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P0">
<score-partwise>
<movement-title>Part test</movement-title>
<identification>
- <creator type="composer">Reinhold Kainhofer</creator>
<rights>Public Domain</rights>
<encoding>
<software>Finale 2007 for Windows</software>
<software>Dolet Light for Finale 2007</software>
<encoding-date>2007-09-18</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Two properly nested part groups:
+ One group (with a square bracket) goes from staff 2 to 4) and another
+ group (with a curly bracket) goes from staff 3 to 4.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2007</software>
<encoding-date>2007-09-23</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Part names and abbreviations can
+ contain line breaks.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>/usr/bin/vi</software>
<encoding-date>2007-01-22</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">A simple piano staff</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<score-partwise>\r
<movement-title>Overlapping part groups</movement-title>\r
<identification>\r
- <creator type="composer">In MusicXML groups can overlap (Grp1: #1-4, Grp2: #3-5)</creator>\r
- <creator type="arranger">In Lilypond, overlaps are not possible: Grp2 ends at #4</creator>\r
<encoding>\r
<software>Finale 2007 for Windows</software>\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-28</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">MusicXML allows for overlapping \r
+ part-groups, while many applications do not allow overlapping groups, \r
+ but require them to be properly nested. In this case, one group \r
+ (with a square bracket) goes from staff 2 to 4) and another group \r
+ (with a curly bracket) goes from staff 3 to 5.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<part-group number="1" type="start">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-17</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A simple, repeated measure \r
+ (repeated 5 times)</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-17</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A simple repeat with two \r
+ alternative endings (volta brackets).</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-09-21</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Different types of (non-repeat) \r
+ barlines.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-19</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Repeats can also be nested.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-15</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Nested repeats, each with \r
+ alternative endings.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-08-31</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Some more nested repeats with \r
+ alternatives. The barline between measure 7 and 8 will probably be \r
+ messed up! (Should be a repeat on both sides!)</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-13</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Some more nested repeats with \r
+ alternatives, where the MusicXML file does not make sense in the \r
+ first place. How well are applications able to cope with improper \r
+ repeats and alternatives?</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-23</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A forward-repeating bar line \r
+ without an ending repeat bar.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
</work>
<identification>
<creator type="composer"></creator>
+ <miscellaneous>
+ <miscellaneous-field name="description">Barlines can appear at
+ mid-measure positions!</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2007</software>
<encoding-date>2007-09-22</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">A clef change in the middle of a measure</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-09</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A 3/8 pickup measure, a measure \r
+ that is split into one (incomplete, only 2/4) measure and an implicit \r
+ measure, and an incomplete measure (containg 3/4).</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="2.0">
<work>
- <work-title>Begin of second voice messed up with pickup measure</work-title>
+ <work-title>Pickup measure with two voices</work-title>
</work>
<identification>
- <creator type="composer">Voice 2 should start at 2nd beat of first full measure</creator>
+ <miscellaneous>
+ <miscellaneous-field name="description">Voice 2 should start at 2nd
+ beat of first full measure.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2008-08-20</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A multi-voice / multi-staff part \r
+ with a clef change in the middle of a measure and a <backward> \r
+ for voice 2 jumping back beyond that clef change.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-09-06</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Two voices share one staff. Each voice is assigned some lyrics.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>/usr/bin/vi</software>
<encoding-date>2007-02-02</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Some "triplets"
+ on the end of the first and in the second staff, using only
+ <time-modification>, but not explicit tuplet
+ bracket. Thus, the duration of the notes in the
+ second staff should be scaled properly in comparison
+ to staff 1, but no visual indication about the
+ tuplets is given.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1"><part-name>MIDI Track 1</part-name></score-part>
<software>Dolet Light for Finale 2007</software>
<encoding-date>2007-09-14</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Some tuplets (3:2, 3:2, 3:2, 4:2,
+ 4:1, 7:3, 6:2) with the default tuplet bracket displaying the number
+ of actual notes played.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2007</software>
<encoding-date>2007-09-16</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Different kinds of grace notes:
+ acciaccatura, appoggiatura; beamed grace notes; grace notes with
+ accidentals; different durations of the grace notes.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2007</software>
<encoding-date>2007-09-16</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Chords as grace notes.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2008-08-20</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A grace note that appears at the \r
+ measure end (without any steal-from-* attribute set). Some \r
+ applications need to convert this into an after-grace.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2008-08-20</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Some grace notes and after-graces (indicated by steal-time-previous and steal-time-next).</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<score-partwise>
<movement-title>Piano staff with dynamics and one-staff clef changes</movement-title>
<identification>
- <creator type="composer">Reinhold Kainhofer</creator>
<rights>Public Domain</rights>
<encoding>
<software>Finale 2007 for Windows</software>
<software>Dolet Light for Finale 2007</software>
<encoding-date>2007-09-18</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">A piano staff with dynamics and
+ clef changes, that apply only to one voice or one staff,
+ respectively.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<software>/usr/bin/vi</software>
<encoding-date>2007-01-22</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">A piano staff
+ with different keys and clefs for each of its
+ staves. The keys and clefs for both staves are given
+ at the very beginning of the measure.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<attributes>
<divisions>96</divisions>
<key number="1"><fifths>0</fifths></key>
+ <key number="2"><fifths>2</fifths></key>
<time><beats>4</beats><beat-type>4</beat-type></time>
<staves>2</staves>
<clef number="1"><sign>G</sign><line>2</line></clef>
<staff>1</staff>
</note>
<backup><duration>384</duration></backup>
- <attributes>
- <key number="2"><fifths>2</fifths></key>
- </attributes>
<note>
<pitch><step>B</step><octave>2</octave></pitch>
<duration>384</duration>
<software>/usr/bin/vi</software>
<encoding-date>2007-01-22</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">A piano staff
+ with different keys and clefs for each of its
+ staves. The key and clef for the second staff is
+ given only after a backward, just before the first
+ note of the second staff is given, but after the
+ whole measure for staff 1 has been given.</miscellaneous-field>
+ </miscellaneous>
</identification>
<part-list>
<score-part id="P1">
<score-partwise>\r
<movement-title>Staff change in piano staff</movement-title>\r
<identification>\r
- <creator type="composer">The voice from the second staff has some notes/chords on the first staff</creator>\r
- <creator type="arranger">The final two chords have some notes on the first, some on the second staff</creator>\r
<encoding>\r
<software>Finale 2007 for Windows</software>\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-27</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Staff changes in a piano staff. \r
+ The voice from the second staff has some notes/chords on the first \r
+ staff. The final two chords have some notes on the first, some on \r
+ the second staff.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="1.1">
<movement-title>Percussion Staves</movement-title>
- <identification/>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Three types of percussion staves:
+ A five-line staff with bass clef for Timpani, a five-line staff with
+ percussion clef, and a one-line percussion staff with only unpitched
+ notes.</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P1">
<part-name>Timpani</part-name>
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-25</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A normal staff with several \r
+ (complex) chord names displayed.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-25</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A staff with chord names and some \r
+ fretboards shown. (In Finaly, only the fretboards were shown!!!)</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-26</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">A staff with chord names and some \r
+ fretboards shown. The fretboards can have an arbitrary number of \r
+ frets/strings, can start at an arbitrary fret and can even contain \r
+ fingering information.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-26</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Chords and fretboards assigned to \r
+ the voices in a multi-voice, multi-staff part. There should be fret \r
+ diagrams above each of the two staves.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<score-part id="P1">\r
<software>Dolet Light for Finale 2007</software>\r
<encoding-date>2007-10-30</encoding-date>\r
</encoding>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">Some tablature staves, with \r
+ explicit fingering information and different string tunings given \r
+ in the MusicXML file.</miscellaneous-field>\r
+ </miscellaneous>\r
</identification>\r
<part-list>\r
<part-group number="1" type="start">\r
"http://www.musicxml.org/dtds/partwise.dtd">\r
<score-partwise>\r
<movement-title>All MusicXML chord names/types with <root></movement-title>\r
- <identification/>\r
+ <identification>\r
+ <miscellaneous>\r
+ <miscellaneous-field name="description">All chord types defined in \r
+ MusicXML. The staff will only contain one c' note (NO chord) for \r
+ all of them, but the chord names should be properly \r
+ printed.</miscellaneous-field>\r
+ </miscellaneous>\r
+ </identification>\r
<part-list>\r
<score-part id="P1">\r
<part-name>MusicXML Part</part-name>\r
"http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="1.1">
<movement-title>Figured Bass</movement-title>
- <identification/>
+ <identification>
+ <miscellaneous>
+ <miscellaneous-field name="description">Some figured bass containing
+ alterated figures, bracketed figures and slashed figures. The last
+ note contains an empty <figured-bass> element, which is
+ invalid MusicXML, to check how well applications cope with malformed
+ files.
+
+ Note that this file does not contain any extenders!</miscellaneous-field>
+ </miscellaneous>
+ </identification>
<part-list>
<score-part id="P1">
<part-name>MusicXML Part</part-name>
<software>Dolet Light for PrintMusic 2008</software>
<encoding-date>2007-11-04</encoding-date>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Several page layout settings:
+ paper size, margins, system margins and distances, different fonts,
+ etc.</miscellaneous-field>
+ </miscellaneous>
</identification>
<defaults>
<scaling>
<supports element='accidental' type='no'/>
<supports element='transpose' type='no'/>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">Dolet 3 for
+ Sibelius (5.1) did not print out any closing beam
+ tags, only starting and continuing beam tags. For
+ such files, one either needs to ignore all beaming
+ information or close all beams </miscellaneous-field>
+ </miscellaneous>
</identification>
<defaults/>
<part-list>
<beam number='2'>continue</beam>
<beam number='3'>continue</beam>
</note>
+ <note dynamics='31'>
+ <pitch>
+ <step>F</step>
+ <alter>1</alter>
+ <octave>6</octave>
+ </pitch>
+ <duration>96</duration>
+ <voice>1</voice>
+ <type>32nd</type>
+ <beam number='1'>continue</beam>
+ </note>
+ <note dynamics='31'>
+ <pitch>
+ <step>F</step>
+ <alter>1</alter>
+ <octave>6</octave>
+ </pitch>
+ <duration>384</duration>
+ <voice>1</voice>
+ <type>eighth</type>
+ </note>
<note dynamics='47'>
<pitch>
<step>G</step>
<duration>96</duration>
<voice>1</voice>
<type>32nd</type>
- <beam number='1'>continue</beam>
- <beam number='2'>continue</beam>
- <beam number='3'>continue</beam>
+ <beam number='2'>begin</beam>
+ <beam number='3'>begin</beam>
</note>
<note dynamics='47'>
<pitch>
<software>Sibelius 5.1</software>
<software>Dolet 3.4 for Sibelius</software>
</encoding>
+ <miscellaneous>
+ <miscellaneous-field name="description">If we properly ignore all beaming
+ information from the Dolet 3 for Sibelius export file, make sure that
+ the lyrics syllables are still assigned to the correct
+ notes.</miscellaneous-field>
+ </miscellaneous>
</identification>
<defaults/>
<part-list>
software.append (s.get_text ())
return software
+ def get_file_description (self):
+ misc = self.get_named_children ('miscellaneous')
+ for m in misc:
+ misc_fields = m.get_named_children ('miscellaneous-field')
+ for mf in misc_fields:
+ if hasattr (mf, 'name') and mf.name == 'description':
+ return mf.get_text ()
+ return None
+
class Duration (Music_xml_node):
set_if_exists ('encodingdate', ids.get_encoding_date ())
set_if_exists ('encoder', ids.get_encoding_person ())
set_if_exists ('encodingdescription', ids.get_encoding_description ())
+
+ set_if_exists ('texidoc', ids.get_file_description ());
# Finally, apply the required compatibility modes
# Some applications created wrong MusicXML files, so we need to