]> git.donarmstrong.com Git - lilypond.git/blob - input/regression/musicxml/00-Introduction.itexi
7be82e7f0645aa32a8e7dbe7e14826ea198dcbee
[lilypond.git] / input / regression / musicxml / 00-Introduction.itexi
1 @menu
2 * Introduction ::
3 * Test cases ::
4 @end menu
5
6 @node Introduction
7 @chapter Introduction
8
9 @heading Why a MusicXML test suite?
10
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.
15
16 @heading Downloading the test suite
17
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.
20
21 @heading Connection with @uref{http://www.lilypond.org/,LilyPond}
22
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.
31
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...
35
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.
38
39 @heading Structure of this test suite 
40
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 
44 element of the form:
45 @example
46   <identification><miscellaneous>
47     <miscellaneous-field name="description"> .... </miscellaneous-field>
48   </miscellaneous></identification>
49 @end example
50
51
52 The files are categorized by their first two digits with the following meaning:
53 @itemize
54 @item 01-03 ... Basics: Pitches, Rests, Rhythm
55 @item 11-13 ... Staff attributes: Time signatures, Clefs, Key signatures
56 @item 21-24 ... Note settings: Chorded notes, note heads, tuplets, grace notes
57 @item 31-33 ... Notations and articulations: Dynamics (staff-attached), Notations (note-attached), Spanners
58 @item 41-44 ... Parts: Multiple parts, multi-voice parts, multi-staff parts
59 @item 45-46 ... Measure issues and repeats
60 @item 51-52 ... Page issues: Header fields, page layout
61 @item 55-59 ... Exact positioning of items, offsets, etc.
62 @item 61-69 ... Vocal music
63 @item 71-75 ... Instrument-specific: Guitar (Chord, fretboards), Transposing instruments, Percussion, Figured Bass, Others
64 @item 81-89 ... MIDI generation (all sound-related issues)
65 @item 90-99 ... Various Other: Compressed MusicXML files, compatibility with broken MusicXML files exported by other applications
66 @end itemize
67
68 Some of the catetories (in particular the exact item positioning and the
69 MIDI generation don'thave any test cases yet.
70
71 @node Test cases
72 @chapter Test cases
73
74 @menu
75   * 01 ... Pitches
76   * 02 ... Rests
77   * 03 ... Rhythm
78   * 11 ... Time signatures
79   * 12 ... Clefs
80   * 13 ... Key signatures
81   * 21 ... Chorded notes
82   * 22 ... Note settings heads etc.
83   * 23 ... Triplets Tuplets
84   * 24 ... Grace notes
85   * 31 ... Dynamics and other single symbols
86   * 32 ... Notations and Articulations
87   * 33 ... Spanners
88   * 41 ... Multiple parts (staves)
89   * 42 ... Multiple voices per staff
90   * 43 ... One part on multiple staves
91   * 45 ... Repeats
92   * 46 ... Barlines Measures
93   * 51 ... Header information
94   * 52 ... Page layout
95   * 61 ... Lyrics
96   * 71 ... Guitar notation
97   * 72 ... Transposing instruments
98   * 73 ... Percussion
99   * 74 ... Figured bass
100   * 75 ... Other instrumental notation
101   * 90 ... Compressed MusicXML files
102   * 99 ... Compatibility with broken MusicXML
103 @end menu