9 @heading Why a MusicXML test suite?
11 This test suite of sample @uref{http://www.musicxml.org/,MusicXML} files
12 is supposed to fill a severe gap for all developers implementing MusicXML
13 support in their application: There is no complete test suite of MusicXML
14 files available for testing purposes.
16 @heading Downloading the test suite
18 The complete set of MusicXML test files contained in this suite can be downloaded
19 @uref{MusicXML-TestSuite-0.1.zip,here} as a ZIP archive.
21 @heading Connection with @uref{http://www.lilypond.org/,LilyPond}
23 At the same time as providing a generic test suite for MusicXML document,
24 this test suite also serves as proofs for the musicxml2ly script provided with
25 LilyPond @lilypondversion. The images shown in the @ref{Test cases} chapter
26 were generated by running @command{musicxml2ly} and @command{lilypond} on
27 the MusicXML files. As @command{musicxml2ly} does not yet perfectly support
28 every single aspect of MusicXML, the output is not supposed to be used as
29 a definitive reference rendering, but rather as an indication how one
30 particular application supports and interprets each of the test files.
32 If something does not seem right in the output, it might either be that this
33 feature has not been implemented yet, has been wrongly implemented, or a
34 regression has crept in recently...
36 In the web version of this document, you can click on the file name
37 or figure for each example to see the corresponding .ly intermediary file.
39 @heading Structure of this test suite
41 Each test file (typically hand-crafted from the MusicXML "specification")
42 checks one particular aspect of MusicXML. A short description of the
43 particular feature for a file is given element inside the file in a comment
46 <identification><miscellaneous>
47 <miscellaneous-field name="description"> .... </miscellaneous-field>
48 </miscellaneous></identification>
52 The files are categorized by their first two digits with the following meaning:
54 @item 00 ... Basics: Pitches, durations, rests, clefs, keys, time sigs, ties, etc.
56 @item 02 ... MusicXML notations and articulations (articulations, ornaments, technicals, text markup)
57 @item 03 ... MusicXML directions (dynamics; single symbols, not spanners like hairpins)
58 @item 04 ... Spanners (hairpin, octave shift, trill, glissando, etc.)
59 @item 05 ... Header information (title, composer, poet, etc.)
61 @item 08 ... Multiple parts (staves)
62 @item 09 ... Measure issues: Repeats, barlines, pickup measures, mid-measure barlines/repeats
63 @item 10 ... Multiple voices per staff
64 @item 12 ... Triplets, Tuplets
65 @item 13 ... Grace notes
66 @item 14 ... Multi-staff parts (one voice on multiple staves, e.g. PianoStaff)
67 @item 15 ... Percussion
68 @item 17 ... Guitar notation: Chord names, Fretboards, Tablature notation
69 @item 18 ... Figured bass
70 @item 19 ... Page layout: font/paper size, margins, spacing
71 @item 20 ... Compressed MusicXML files
72 @item 99 ... Compatibility modes with broken MusicXML exporters (i.e. ignore beams for Sibelius 5)