]> git.donarmstrong.com Git - lilypond.git/blob - input/regression/musicxml/00-Introduction.itexi
Add newlines at EOF where appropriate.
[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 License of the test suite
22
23 This collection of MusicXML test files is distributed under the
24 @uref{http://www.opensource.org/licenses/mit-license.php,MIT license}, which
25 means that you can use the files for any purpose, as long as you leave the
26 copyright notice (or the LICENSE file) intact.
27
28 @heading Connection with @uref{http://www.lilypond.org/,LilyPond}
29
30 At the same time as providing a generic test suite for MusicXML document,
31 this test suite also serves as proofs for the musicxml2ly script provided with
32 LilyPond @lilypondversion. The images shown in the @ref{Test cases} chapter
33 were generated by running @command{musicxml2ly} and @command{lilypond} on
34 the MusicXML files. As @command{musicxml2ly} does not yet perfectly support
35 every single aspect of MusicXML, the output is not supposed to be used as 
36 a definitive reference rendering, but rather as an indication how one 
37 particular application supports and interprets each of the test files.
38
39 If something does not seem right in the output, it might either be that this
40 feature has not been implemented yet, has been wrongly implemented, or a 
41 regression has crept in recently...
42
43 In the web version of this document, you can click on the file name 
44 or figure for each example to see the corresponding .ly intermediary file.
45
46 @heading Structure of this test suite 
47
48 Each test file (typically hand-crafted from the MusicXML "specification")
49 checks one particular aspect of MusicXML. A short description of the 
50 particular feature for a file is given element inside the file in a comment 
51 element of the form:
52 @example
53   <identification><miscellaneous>
54     <miscellaneous-field name="description"> .... </miscellaneous-field>
55   </miscellaneous></identification>
56 @end example
57
58
59 The files are categorized by their first two digits with the following meaning:
60 @itemize
61 @item 01-03 ... Basics: Pitches, Rests, Rhythm
62 @item 11-13 ... Staff attributes: Time signatures, Clefs, Key signatures
63 @item 21-24 ... Note settings: Chorded notes, note heads, tuplets, grace notes
64 @item 31-33 ... Notations and articulations: Dynamics (staff-attached), Notations (note-attached), Spanners
65 @item 41-44 ... Parts: Multiple parts, multi-voice parts, multi-staff parts
66 @item 45-46 ... Measure issues and repeats
67 @item 51-52 ... Page issues: Header fields, page layout
68 @item 55-59 ... Exact positioning of items, offsets, etc.
69 @item 61-69 ... Vocal music
70 @item 71-75 ... Instrument-specific: Guitar (Chord, fretboards), Transposing instruments, Percussion, Figured Bass, Others
71 @item 81-89 ... MIDI generation (all sound-related issues)
72 @item 90-99 ... Various Other: Compressed MusicXML files, compatibility with broken MusicXML files exported by other applications
73 @end itemize
74
75 Some of the catetories (in particular the exact item positioning and the
76 MIDI generation don'thave any test cases yet.
77
78 @node Test cases
79 @chapter Test cases
80
81 @menu
82   * 01 ... Pitches
83   * 02 ... Rests
84   * 03 ... Rhythm
85   * 11 ... Time signatures
86   * 12 ... Clefs
87   * 13 ... Key signatures
88   * 21 ... Chorded notes
89   * 22 ... Note settings heads etc.
90   * 23 ... Triplets Tuplets
91   * 24 ... Grace notes
92   * 31 ... Dynamics and other single symbols
93   * 32 ... Notations and Articulations
94   * 33 ... Spanners
95   * 41 ... Multiple parts (staves)
96   * 42 ... Multiple voices per staff
97   * 43 ... One part on multiple staves
98   * 45 ... Repeats
99   * 46 ... Barlines Measures
100   * 51 ... Header information
101   * 52 ... Page layout
102   * 61 ... Lyrics
103   * 71 ... Guitar notation
104   * 72 ... Transposing instruments
105   * 73 ... Percussion
106   * 74 ... Figured bass
107   * 75 ... Other instrumental notation
108   * 90 ... Compressed MusicXML files
109   * 99 ... Compatibility with broken MusicXML
110 @end menu