Mercurial > dottes
comparison abc2xml/Changes.txt @ 484:4fab69a1027d build-default-207
Add MusicXML conversion to tune pages.
Might help someone.
author | Jim Hague <jim.hague@acm.org> |
---|---|
date | Tue, 17 Jun 2014 09:11:38 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
483:681274f40615 | 484:4fab69a1027d |
---|---|
1 Version 58 | |
2 - grammer for I:score instruction replaces ad hoc parsing. | |
3 - voice merging, part grouping and grand staffs are derived by transformation of the parse tree of I:score. | |
4 - also move clef redefinitions after [I:staff +/-n]. | |
5 - avoid a false beam break when [I:staff +/-n] is used within a beamed note group. | |
6 - absolute ABC staff numbers in [I:staff n] are mapped to MusicXML grand staff numbers (when possible). | |
7 - added translation of the [+-^_]15 octave clefs. | |
8 - no default channel/panning/volume in <midi-instrument> elements. | |
9 | |
10 Version 57 | |
11 - grand staff implemented. | |
12 - in an [I:score] instruction recognize a braced voice group as a grand staff when the opening brace is followed by an asterix ('{*' no space allowed). | |
13 - also recognize a normal braced voice group as a grand staff when precisely one of the braced voices has a name. | |
14 - the name of a staff or part is taken from the first of its voices (in ABC source order) for which a name is defined. | |
15 - within a grand staff notes and directions preceded by [I:staff +/-n] are moved n staffs upwards or downwards. | |
16 - accept voice ids with a leading asterix in I:score instructions (for the time being the asterix is discarded, however) | |
17 | |
18 Version 56 | |
19 - the <grace/> element should come before the <chord/> element in a note. (previously caused syntax warning with FinaleNotepad) | |
20 - translates the _8, ^8 variants of the clefs in addition to the +8, -8. Also translates octave= argument of V: and K: | |
21 - part names are left empty when not explicitly given using V:id name="<part name>" (previously id was used in that case) | |
22 - transpose= was only honoured when a typed clef= definition was present, now is works in any V: or K: field. | |
23 - a tempo definition in the ABC header (Q:) is treated as an inline tempo ([Q:]) for the first voice. | |
24 - repeated occurrences of [I:MIDI] in a voice are translated into a MusicXML instrument changes for that voice. | |
25 Neither Finale nor Musescore recognize the relevant MusicXML elements (<sound/midi-instrument> and <note/instrument> yet. | |
26 - new cue=on/off attribute for K: and V: definitions, to mark sections of cue notes in a voice. | |
27 Neither Finale nor Musescore handle cue size for directions, yet (<level size="cue">). | |
28 - normally whole measure rests are discarded when merging staffs. Use option -r to keep these rests in the merged results. | |
29 | |
30 Version 55 | |
31 - replaced info message text: "leeg" with "empty voice", when skipping an empty voice. | |
32 - avoided exception when ABC voice has only one measure containing only a volta number | |
33 - do not output an xml-backup element when it has zero duration | |
34 | |
35 Version 54 | |
36 - allow gracenotes within chords | |
37 - discard unbalanced chord brackets (caused a syntax error previously) | |
38 - chords containing only rests caused an exception | |
39 - ABC-code like: B2 1 caused an exception, now interpreted as: B2/1 | |
40 | |
41 Version 53 | |
42 - tie to a chord with a single note caused an exception. | |
43 - a first line with a single measure and only a left bar line caused a syntax error. | |
44 - a first line with a single measure with only chords and no bar lines caused a syntax error. | |
45 - option -z or --mxl writes an additional compressed xml file with extention .mxl | |
46 - better treatment of barlines with spaces interspersed. | |
47 - dot after note right before barline caused syntax error (now only warning and skip) | |
48 | |
49 Version 52 | |
50 - accept and translate chords in a grace sequence (caused an exception previously) | |
51 - corrected bug when parsing %%score without space between voice number and left bracket, like %%staves 1(2 3) | |
52 | |
53 Version 51 | |
54 - treat abc file without any X: as a single tune and prepend X:1 | |
55 - recognize alto4 as alternative notation for tenor clef | |
56 | |
57 Version 50 | |
58 - corrected translation of the clef octave change notation (i.e. +8, -8 suffix) | |
59 | |
60 Version 49 | |
61 - ties between different pitches are converted to slurs (previously the tie in 'A-B A' would extend | |
62 to the second A, now there will be a slur between A and B). | |
63 - do not add accidentals to tied notes even when present in ABC code. | |
64 - use consistent voice numbering in XML when merging ABC-voices with overlays. | |
65 | |
66 Version 48 | |
67 - M: field with more than one slash caused an exception. | |
68 - limit shortest note durations to 1/64 | |
69 - skip redundant closing slurs (caused exception previously) | |
70 - check instrument id when generating MIDI elements (caused exception when errors in %%score) | |
71 - issue warning message when illegal user defined characters are used (X,Y,Z,x,y,z) | |
72 - use correct xml-syntax for credit elements (was wrong in version 47) | |
73 - translate explicit alterations for non traditional keys | |
74 (non traditional key signatures not supported by MuseScore, but note alterations are correct) | |
75 - skip more illegal symbols in stead of issuing parse error | |
76 | |
77 Version 47 | |
78 - translate middle=<pitch> in clefs | |
79 - translate transpose=<semitones> in clefs (also %%MIDI transpose is recognised) | |
80 - translate subname= in V: fields (name= was already translated) | |
81 - translate "%%MIDI program" and "%%MIDI channel" (multiple instruments per staff supported) | |
82 - an abc file with multiple tunes can be converted to a set of musicxml files. | |
83 - new command line option "-m SKIP NUM" to set the range of tunes to be converted for large abc files. | |
84 - leading dot was skipped when parsing a float in page format settings (.5in -> 5in) | |
85 - accept [r:] syntax for remarks (caused syntax error previously) | |
86 - relax syntax for user defined symbols (allowed character set was needlessly restricted) | |
87 - all abc meta-info fields are translated to credit tags (with type) | |
88 | |
89 Version 46 | |
90 - warn when unit length is a single integer and assume L:1/8 (caused exception previously) | |
91 - translate tune with only header fields (caused exception previously) | |
92 - translate tunes where first voice definition appears in the middle of the body (caused exception previously) | |
93 - skip illegal characters in chords and issue warning (caused syntax error previously) | |
94 - skip illegal U: field in body and issue warning (caused syntax error previously) | |
95 - more illegal characters between elements are skipped but with less specific warnings. | |
96 - line endings with only <cr> were not handled properly | |
97 - add check for text without any abc code in it (caused exception previously) | |
98 - conversion of pObj to string caused exception when it contained non latin-1 characters (e.g. in warning messages) | |
99 | |
100 Version 45 | |
101 - ignore old style continuation when next line is w: | |
102 - replace illegal durations by the nearest smaller legal one (caused exception previously) | |
103 - when multiple stave mappings keep only first one and issue warning | |
104 - accept start of next tune (X:) when not preceeded by an empty line (caused syntax error previously) | |
105 - warn when unit length is no fraction of integers and assume L:1/8 (caused exception previously) | |
106 - raise meaningful exception when the tune is empty (e.g. empty line after K:) | |
107 - broken rhythm involving a rest was not translated | |
108 | |
109 Version 44 | |
110 - translate volta brackets with quoted text (in addition to numbers and number ranges) | |
111 - when error in M: field assume 4/4. (caused exception previously) | |
112 - allow voice names with underscore | |
113 - bug in parsing %%score when no space between two stave groups, like: (v1 v2)(v3 v4) | |
114 - corrected merging of voices of unequal length (caused exception previously) | |
115 - user defined symbols with '()<>.' chars were not accepted | |
116 - when p was a user defined symbol also !p! was erroneously seen as used defined | |
117 - skip random text before tune starts (caused syntax error previously) | |
118 | |
119 Version 43 | |
120 - more non standard bar lines recognized (e.g. :]) | |
121 - accept X: fields when the tune number is followed by non-numeric chars. | |
122 - allow complex meter (M:2+2+3/8) | |
123 - warn for illegal L: fields (like L:1/6) and use 1/8 instead | |
124 - accept and skip E: field | |
125 - wedge close was not recognized when written with old '+' notation (bug was in fixSlurs) | |
126 - remove * and ** at end of line (probably old notation for right adjustment) | |
127 - accept and ignore a Q:-field with only text | |
128 - replace "Expected end of text at .." message from parser by "Syntax error at .." | |
129 | |
130 Version 42 | |
131 - translate tempo from Q: field | |
132 - translate -8 in key or voice field (temporary fix) | |
133 - accept empty text annotations | |
134 - in addition to !<(! also accept !crescendo(! and the same for diminuendo | |
135 - ignore line continuation after information field | |
136 - in lyrics treat isolated tildes as note skips | |
137 - encode parse error message in utf-8 and when that fails in latin-1 | |
138 - limit length of misplaced symbol message to 80 chars | |
139 - put text between K: and first V: into the header (was skipped previously) | |
140 - bug in %%score when no spaces around '|'-character | |
141 - added "o" as alternative for dim ("Edim7" = "Eo7") | |
142 - in chord symbols "+" and "-" were not always translated correctly | |
143 - tuple abbreviation (n:: and (n::m were not translated correctly | |
144 - dotted barlines translated (: .|) | |
145 | |
146 Version 41 | |
147 - translate (multi-)measure rests: Z, X | |
148 - discard misplaced broken symbols (no more exceptions) | |
149 - discard misplaced octave suffices (warning, no parse error) | |
150 - discard misplaced header fields (warning, no parse error after K:) | |
151 - show location of misplaced symbols | |
152 - only parse header if it is not empty (-> better error messages) | |
153 - accept score/stave-directives and page formatting also in body | |
154 | |
155 Version 40 | |
156 - when reading a file with multiple tunes only translate the first one | |
157 - command line option added for scale, page size and margins | |
158 - all %% directives are changed into I: fields | |
159 - translate scale, page size and margins from ABC directives, but command line overrides | |
160 | |
161 Version 39 | |
162 - accept and discard rests in chords | |
163 - accept and discard accidentals before rests | |
164 - spacer is treated as a normal note but discarded | |
165 - accept chords with only one note | |
166 - invisible rests (x) are translated as invisible in xml too. | |
167 | |
168 Version 38 | |
169 - also recognise ma and mi in chord symbols (e.g. Cma7, Cmi7) | |
170 - replace tildes in lyrics by spaces | |
171 - accept syllabi starting with a tilde | |
172 - accept space after V: 1 | |
173 | |
174 Version 37 | |
175 - accidental elements are written whenever an explicit accidentals are present in ABC (for finale, mscore does not need them) | |
176 - tuplet notation elements are written to mark begin and end of tuplet (for finale, mscore doet not need them) | |
177 - normal-type elements are written when tuplets are irregular | |
178 - issue understandable message when metre is not recognized | |
179 - take (compound) metre into account when translating tuplet shorthands (as described in ABC 2.1) | |
180 - do not add beaming-elements into rest-elements (still break beam when long rest in beamgroup). | |
181 | |
182 Version 36 | |
183 - volta-stop elements were somtimes (recognised at and) put into a left-bar element, which | |
184 is not valid MusicXML. These elements are now put into the right-bar of the previous measure. | |
185 - accept volta's without barline: "abc [1 def" is read as: "abc |[1 def" | |
186 - accept volta's after redundant left barline: "abc |\n|[1 def" is read as "abc |\n[1 def" | |
187 - changed document order of repeat and ending elements (MusicXML order requirement) | |
188 - xml output to stdout is also encoded in utf-8 (was erroneously done in latin-1) | |
189 - prevent finale detecting the string "xml" in the <software>-tag (finale quirk) | |
190 - only issue a <supports>-tag when abc code really uses explicit linebreaks | |
191 | |
192 Version 35 | |
193 - recognise and translate (nested) braces and brackets in both %%staves and %%score | |
194 - translate more keys (maj, min, mix, dor, phr, lyd, loc and none) | |
195 - recognise and skip [I:...] in body | |
196 - invisible bar lines translated | |
197 - silently skip slur end when there is no corresponding slur begin | |
198 - also accept user defined symbols delimited by + | |
199 - limit length of syntax error message (in a way compatible with pyparsing internal administration) | |
200 - add <identification/encoding/supports> tag, because Finale seems to expect it. | |
201 | |
202 Version 34 | |
203 - removed copy() from 2 parse expressions because it did not appear to work on Linux | |
204 - recognize, warn and skip misplaced accidentals and ties | |
205 - bug in old style continuation when there was nothing left to continue with. | |
206 - limit syntax error output to 80 chars, with error in the middle. | |
207 | |
208 Version 33 | |
209 - added !coda!, !segno!, !fine!, !dacoda!, !dalsegno! etc. | |
210 - move coda and segno when just before a barline to next measure | |
211 - added several ornaments and articulations. | |
212 - recognize (and skip) '<' and '>' position markers for text expressions | |
213 - fall back to text expression for unrecognized chord symbols. | |
214 - recognize (and skip) alternative chord symbols between brackets | |
215 - interpret expressions like "ABC" as text expression and not as misspelled chord symbol. | |
216 - beam detection improved (grammar) | |
217 | |
218 Version 32 | |
219 - grammar for both linebreaks ! and $ without ambiguities! | |
220 - remove commandline option for linebreak (also I:linebreak not needed anymore) | |
221 - accept both + and ! for deco's | |
222 - accept (and skip) empty fields | |
223 - accept ']' in all header fields | |
224 - strip leading and trailing spaces from header fields (T: title -> T:title) | |
225 - also translate inline fields before a left barline | |
226 - recognise volta after forward repeat | |
227 - translate dashes to comma's in volta ([1-3 -> [1,3) | |
228 - recognise slurs after broken rhythm symbols i.e. replace (ab>>)c -> (ab)>>c | |
229 - skip P: fields | |
230 - allow lines with a single measure without barline | |
231 - combine ~-syllabi (multiple syllabi under one note) | |
232 - skip W: lyrics because no musicXML equivalent | |
233 - translate longa and breve | |
234 | |
235 Version 31 | |
236 - bug in treatment of double-repeat when it is at the end of a voice-lyrics block | |
237 - added <DOCTYPE> declaration because Finale seems to need it. | |
238 - added identification/encoding element so people can see what software made the file | |
239 | |
240 Version 30 | |
241 - voice overlays | |
242 - merging voices rewritten: lyrics renumbering, measurewise merging | |
243 - linebreak after left-bar is output directly (i.e. not postponed to the next measure) | |
244 | |
245 Version 29 | |
246 - implementation of beaming | |
247 - insert line breaks at start of next measure | |
248 - keep only one line break per measure when mapping multiple voices | |
249 - renumber slurs when clash occurs during voice mapping | |
250 - syntax error message is encoded in latin-1 | |
251 - bug in recognition of presence of open tie | |
252 | |
253 Version 28 | |
254 - all chord symbols were erroneously recognized as text annotations (wrong syntax priority) | |
255 - Recognize (and skip) redundant left side bars | |
256 - don't stumble on a double repeat (::) when it occurs at the and of a voice/lyrics block | |
257 - better error message when header fields appear after the first K: | |
258 - output of non latin-1 strings on stderr uses repr() | |
259 | |
260 Version 27 | |
261 - Initial release |