1This file documents changes in version 0.0
2
3august 1
4
5VERSION 0.1.0
6
7	- bf: output tempo to track 0 too
8	- bf: don't forget to copy id_str_, so moved  into Music
9
10pl 78.jcn2
11	- INFTY doze fixes
12
13pl 78.jcn1
14	- fix for multi-staff midi: wohltemperirt.ly, standchen.ly
15	- doze fixes
16	- bf: conflily, configure (text)
17*****
18july 31
19pl 78
20	- bf: Midi_instrument
21	- added  enable/disable defaults to help.
22	- incredibly ugly NAME_MEMBERS(); bug. Immediately changed to
23DECLARE_MY_RUNTIME_TYPEINFO;
24	- \stem -1 -> \stem \down in input
25	- bf: slurchar index
26	- configure warnings
27	- preliminary stuff for multiarch building
28	- #!/usr/bin/perl fixes (AO)
29	- some Makefile cleanups: now faster.
30
31pl 77.jcn2
32	- Midi_instrument
33
34******
35july 29
36pl 77
37	- some fixes for internal compiler errors
38derive from Pointer_list with default dtor gives error with -O2
39	- .ini -> .ly
40	- lyrics fix
41	- Performer beautification: got rid of set_track(), midi_output()
42	- pseudo RTTI for midi-items
43	- bf: Performer*::print()
44	- links.pod
45	- Voice_element -> Request_chord
46	- fixed flex problems: stdin input works again
47	- Documentation/Rules.make, make-website via make
48	- spacing: now add basicspace
49
50*******
51july 28
52pl 76
53	- mudela version bumped to 0.1
54	- mudela-book
55	- doco updates, now some stuff in LaTeX
56	- junked book.{ly,tex} example
57	- progress indicator
58	- rhythm.ly updated
59	- removed mf sources from distribution due to (c) stuff
60	- allowal of breaks handled cleanly
61	- junked Subtle_reqs, junked Request_iterator. Request
62	iteration now by Voice_element_iterator
63	- Piano_bar, Piano_bar_engraver, Span_score_bar_engraver,
64	Span_score_bar
65	- Swallow_performer
66	- removed  Staff_engravers, grouping into Line_group_engraver
67	- Head_column as base for Rest_column,Note_column
68	- Score_column derived from PCol
69	- regurgled Line spacing: interface and implementation
70	separate. Idealspacing moved into Spring_spacer
71	- Gourlay style linespacing
72
73pl 75.jcn6
74	- {lyric,meter,key}-performer
75	- span-brace-* (Removed again. Such is life)
76	- doze compile
77	- midi output, notes only
78	- working midi output -- hacked
79	- doze compile, mingw32 configure (still triggers gcc int. comp err)
80
81pl 74pre.jcn2
82	- mi2mu fixes after scott snyder <snyder@d0sgif.fnal.gov> [sss]
83	- mi2mu update for mudela 0.0.61
84	- conflily fixes
85
86*******
87july 21
88
89pl 75
90	- inbook.ly & book.tex example.
91	- natural width: linewidth = -1.0\cm
92
93pl 74pre.jcn1
94	- oversimplified midi output thru performer hierarchy
95	- bf: Spanner::doprint
96
97pl 72pre.jcn1
98	- naming fixes; some iter*() explicitations
99	- removed acceptor.hh
100	- *performer*: second draft of midi (audio/...)
101
102*******
103july 9
104
105pl 74pre
106	- Input_engraver -> Input_translator
107	- bf: span start/stop is now a "used" col.
108	- Rest_column/Rest_collisions bugfixes
109	- bf: crescendi.
110	- Spanner do_print()
111
112******
113july 7
114pl 73pre
115	- some refs doco.
116	- move Input_engraver into Paper_def
117	- junk Interpreter
118	- naming: Request_engraver -> Engraver,
119	- Music_iterator::next() -> process_and_next()
120	- junk Voice_engravers
121	- Span_bar, Span_bar_engraver
122	- Vertical_align_engraver
123
124*******
125july 2
126pl 72pre
127	- \paper{} syntax: var = 1.0\pt;, with an Assoc array
128	- sketch of MIDI Performer classes.
129	- bf: memleak in parser
130	- naming: Acceptor -> Translator
131	- input: bf collisions.ly, scales.ly
132	- bf: [r8 c8]
133	- naming: Register -> Engraver
134	- force \\ on identifiers
135	- doco updates
136	- musixtex T73 fonts
137
138pl 70.mb
139	- bf: find syntax in Variables.make
140*****
141july 1
142pl 71pre
143	- nested \melodic and \lyric constructs
144	- init id's, Input_register aliases.
145	- bf: notehead x-swap
146	- bf: auto-keys.
147	- bf: first clef
148	- junked \init_end; construct
149	- Preparatory work for MIDI output:
150		* Acceptor as baseclass for Register_group_register
151		* Global_acceptor as interface of Register to Score
152	- bf: empty voice
153	- Lyrics: partially working
154	- some doco updates (junks, mostly)
155
156
157******
158june 30
159
160
161pl 70pre
162	- bf: text Script
163	- bf: Script::dir_i_ checks.
164	- bf: script stacking
165	- bf: Text_spanner::do_subst.
166	- bf: Text_spanner::Text_spanner(Text_spanner&)
167	- bf: script priority read from script.ini
168	- bf: Script_def::do_equal_b
169	- bf: script dims.
170	- mudela: ; obligatory for \paper {}.
171	- some cosmetic changes involving RTTI macros
172
173*******
174june 29
175pl 69pre
176	- bf: whole rest position, whole/half rest dots.
177	- bf: scripts
178	- reg termination
179	- centered bars
180	- bf: init of Tie::dir_i_
181	- bf: Staff_side depends on staff_sym_
182	- bf: Script::do_substitute_dependency() now implemented
183	- more print info (also in output)
184	- bf: Vertical_align_element
185	- stemless beams now allowed (with warning)
186	- bf: Rest_column::stem_l_ init
187	- merge rests.ly with collisions.ly
188
189pl 67.jcn3
190	- rests under beam [c8 r c]
191
192pl 67.jcn2
193	- first attempt at rest collisions
194	- rests.ly
195
196pl 67.jcn1
197	- beam stem length: beams.ly
198	- bf: mingw configure
199	- re: conflily
200
201******
202june 26
203pl 68pre
204	- doco: other-packages.pod, lots of lilyliterature.pod
205	- last duration mode now is default.
206	- some OpusTeX stuff.
207	- bf Y2K in convert-mudela
208	- Grand rewrite of Music/Register stuff:
209	  * separation of Y and X-elt-groups
210	  * Registers: info up: broadcasts, info down: get_xxx_info()
211	  * Registers: try_request works from bottom to top of tree.
212	  * Score_elem empty_b_ and transparent_b_ flag
213	  * Junk Staff_column, and find the requests while walking the
214	  Voices.
215	  * Score_register
216	  * Staff_group, Score_request_register.
217	  * align key/Meters/bar across staffs
218	  * junked Staff, Staff_column, Staff_walker, Complex_walker,
219	    Request_column Pulk_voice, Pulk_voices, Walker_registers,
220	    Voice_element,
221	    Input_score, Input_staff, Input_music and a lot of
222	    parserjunk.
223	  * mudela: lots of structure changes : now much simpler
224	  * generation of pre/postbreak items now in Score_elem with deps.
225
226	- bf: make_patch explanation
227	- bf: make install TeX stuff
228	- mudela: . mandatory for REALs
229
230
231pl 67
232	- damped beamslope after wanske
233
234******
235june 3
236pl 67
237	- sketch of Music classes
238	- General_script_def as baseclass for Text_def and Script_def
239	- bf: clean lib/out/liblily.a
240	- bf: rests shorter than 1/4
241
242pl 66.jcn3
243	- bf: make uninstall
244	- conflily
245	- f: some pedaling
246	- plet hack removed :-( [ c c c ]2/3 -> [2/3 c c c ]1/1
247
248pl 66.jcn2
249	- bf: bar, Hilfslinie
250	- bf: configure for mingw32
251
252pl 66.jcn1
253	- WIN32 -> WINDOWS32, more win32->windows32
254	- some GNU/Linux changes
255	- cygnus b18 / mingw update
256	- doze compile; bf: p-score.cc compares
257	- reincluded toccata fixes
258	- small stuff: vi tags, typos, bibl
259
260******
261may 27
262pl 66
263	- make_website --jpeg, --png and --gif
264	- win32 -> windows32
265	- bf: Score_elem::TeXstring assert fail
266	- bf: headswap with stemdown
267	- bf: broken tie
268	- bf: broken slur
269	- bf: accidental dims
270	- bf: measure bar width
271
272
273******
274may 26
275
276pl 65
277	- bf pathfind /root/file
278	- massive Score_elem rewrite:
279	  * group_element_i_ count
280	  * support for removing an individual Score_elem cleanly.
281	  * moved dep stuff into class Directed_graph_node
282	  * Score_elems can be copied and deleted freely.
283	  * junk PStaff
284	  * Spanner_elem_group
285	  * Line_of_{score,staff} now are Score_elems
286	  * clean dep handling upon deletion
287	  * delete unbroken spanners
288	  * added a break_processing round.
289	  * Super_elem
290	- junk Complex_staff,
291	- clean {lily}?proto.hh
292	- Element_group
293	- Score_elem now as virtual base class everywhere
294	- naming: Staff_elem -> Score_elem
295	- bf: make in toplevel dir
296	- bf: broken tie y-pos
297	- bf: sharing 4th, 8th and 16th noteheads
298	- bf: overlapping chords. <\multivoice c d >
299
300pl 64.wl
301	- new stem direction code
302	- bfs: wohltemperirt.ly (thanks, Werner)
303	- bf: stem direction
304
305pl 63.jcn2
306	- doze compile
307
308pl 63.jcn1
309	- bf: mi2mu mudela commands
310	- bf: mi2mu tracks
311	- mi2mu quantify tuning
312	- mi2mu TODO
313
314*********
315may 16
316pl 64
317	- exe's now built in out/
318	- toplevel Makefile dep from make/Toplevel.make.in
319	- make_website: add version footer
320	- make_website: bf dist *.txt
321	- bf: fix loose bars: \meter 4/4; c1.
322	- Staff_elem -> Score_elem
323	- bf <cis cis>
324	- vbrace lookup
325	- resync barcheck
326
327*******
328
329may 15
330pl 63
331	- bf: segfault during MIDI output  with mi2mu output.
332	- kludge: parse error beyond eof
333	- don't read ini if toplevel file not found
334	- accumulate \kern in TeX output.
335	- bf: try to prevent long lines; TeX breaks on them.
336	- naming: Pointer->Link, IPointer->Pointer
337	- bf: \plet didn't work (MB)
338	- GMP manifesto.
339
340pl 61.jcn4
341	- mi2mu -p -s16 fugua2.midi getting better!
342	  plus factor 2 mi2mu speedup (fugue2.midi 5.50user)
343	- bf: Duration_convert quantify threshold down
344	- bf: (on quantify): tcols quantified; no silly voices
345
346pl 61.jcn3
347	- lily parsing speedup: backup rules for lexer.l
348	- bf: mi2mu, using midi_voice list...
349
350pl 61.jcn2
351	- all in all mi2mu speedup of about factor 8 since pl61
352	 (fugue.midi 82.72user to 10.30user on a 586.133)
353	 what about lily?
354	- binary search on track-columns
355	- mi2mu IP*list to Array (implications?!) conversion
356	- mi2mu parsing speedup: backup rules for midi-lexer.l
357	- bf: zero denominator
358
359**********
360may 14
361pl 62
362	- make clean bf: remove lex & yacc files too
363	- added kludge in case measure too long
364	- added kludge in case of unconnected columns.
365	- kludged columns get error marker
366	- kludged lines get error marker
367
368
369pl 61.jcn1
370	- smarter + faster duration-convert using Array
371	- bf: mi2mu compilation/duration-conversions
372	- lots faster mi2mu, hopefully does type 1 too...
373pl 60.jcn1
374	- mi2mu handles non-quantified rests, try mi2mu -b wtk-i/fugue2.midi
375
376
377
378**********
379pl 61
380	- scales.ly bugfix: dimensions default to ((0,0), (0,0))
381	- naming: PointerList->Pointer_list
382	- tied notes don't get accidental
383	- bf: crescendo size
384	- fixes: make_patch,
385	- bf: _"text" direction
386	- mailing list into lilypond.pod
387
388pl 60.mb
389	- set_flower_debug: Warning if -d is used when NPRINT is defined.
390	- Fixed several TeX details. vcenter renamed since it interfered
391	  with LaTeX. Position of accents changed.
392	- New example; scripts.ly
393	- table_sixteen: added scriptdefinition (Lilypond breaks if a
394	  script is defined without dimensions).
395	- bf: ifndef typos in p-score.cc, choleski.cc
396	- bf: Slur::do_post_processing(), whole notes caused SIGSEGV.
397
398(ascension break :-)
399*******
400pl 57.jcn4
401	- mi2mu handles rests (quantified only)
402	- fixed configure buglet
403	- "!date" Fri May  2 02:18:12 MET DST 1997
404
405pl 60
406	- Request_register::get_feature(), tie direction, Slur direction
407	- lilypond output is now directly texable.
408	- make_website checks return status
409
410*******
411may 5
412pl 59
413	- Slur now into voicegroups, and take stems into account.
414	- bf: rest size in table.
415	- split Slur in baseclass Bow
416	- Tie, Tie_req, Tie_register
417
418******
419may 2
420pl 58.jcn1
421	- bf: toccata-fuga-E.ly
422
423pl 57.jcn4
424	- mi2mu handles rests (quantified only)
425	- fixed configure buglet
426	- "!date" Fri May  2 02:18:12 MET DST 1997
427
428pl 58
429	- lexer cleanup
430	- national chars in lyrics
431	- \stem 2; bf
432	- long comments: %{ %}
433	- *.ini mode bf
434	- bf: partial may be everywhere
435	- bf: meterchange not at start of measure
436	- some doc updates
437	- bf: stem too long if stem is down.
438
439pl 57.jcn3
440	- dank je schat, voor wtk-i
441	- mi2mu tries to handle rests
442	- "!date" Thu May  1 02:34:04 MET DST 1997
443	- maak je het niet te laat schat?
444	  XXXX HWN
445
446pl 57.jcn2
447	- small toccata-fuga-E.ly fixes
448	- \bar "||"; is now doublebar, "|." is finishbar
449	- collision hshift fix, with on-line assistance
450******
451pl 57
452	- lots of TODO doco
453	- text alignment bugfix
454	- bugfix Voice_group_regs::get_register_p() now is actually called too
455	- bugfix init  of Text_item::pos_i_
456
457pl 56.jcn1
458	- toccata-fuga-in-E.ly, excerpts with real-life collisions
459	- \{l,r}{b,f}{toe,heel} --- using cmsy fonts...
460	- pedal.ly
461
462pl 55.jcn1
463	- mi2mu man page
464	- make doc fixlet
465	- \[lr]heel \[lr]toe scripts (happy pedal studies, pa)
466	- lyric with width
467	- removal of some example files
468
469pl 56.mb:
470	- last duration fix
471	- makefile fixes
472	- space rest
473	- swedish note name update
474
475******
476pl 56
477	- Massive Rest/Stem/Collision/Note_column rewrite: resolve
478notehead/rest ambiguities and bugs. eg, [c8 r8 c8]
479
480pl 54.jcn1
481	- standchen.ly: repeats; lyricii to end
482	- convert-mudela: help + usage
483	- fixed midi key/meter-change (triggered by martien.ly) bug
484
485******
486April 23
487pl 55
488	- staff-side robustification
489	- script-on-rest bug
490	- doc update
491	- transpose syntax
492******
493pl 54
494	- bugfix Colhpos.cc::OK assert fail.
495	- Inclusion of MusixTeX MF files,
496	- detection of MF dir
497pl 53.hwn
498	- stacked lyrics
499	- configure/make buglets.
500******
501pl 53
502	- spurious accidental bug.
503	- simultaneity check.
504	- added AUTHORS.pod
505	- convert-mudela auto from guess
506	- include -> \include
507	- change order of opening parse/init file
508	- Pulk_voice, Pulk_voices
509	- Request_column
510	- revised request-from-voice extraction. Now much faster
511
512******
513april 17
514pl 52
515	- Buildroot RPM
516	- tex-prefix and tex-dir sep'd (here you are jan)
517	- convert-mudela framework
518	- Collision_register, Collision
519	- \hshift 1; input
520	- Features changed
521pl 50.jcn1
522	- LILYINCLUDE dir searched before DIR_DATADIR(?)
523	- lily reads from stdin again (but does not now when to stop)
524******
525pl 51
526	- transposition bugfix + doco
527	- LilyPond -> GNU LilyPond
528	- bugfixes for Staff_side and Note_column*
529	- wohltemperirt: complete
530
531******
532april 11
533
534pl 50
535	- merge rest / notehead.
536	- Staff_side as a base class for most "staff-side" symbols.
537	- version check
538	- Note_column_register, Note_column
539	- multiple scripts
540
541********
542april 8
543pl 49.jcn1
544Bugfix
545	- configure[.in], make/Configure_variables.make.in c++ (=doze fix)
546	- "configure; make" ok for doze, win32 target may be removed now
547	- win32/gcc 2.7.2 compile fixes -- why does this all compile
548	    (without warnings, why can-t i even trigger warnings) under
549	    linux/gcc-2.7.2.1?  it's quite a tedious job fixing this
550	    shit _on doze_ all the time.
551	    * fixed #includes global-regs.cc, staff-info.cc, staff.cc
552	    * key.hh:Key() -> Octave_key()
553	    * added missing lily/include/input.hh: Input( Input const& )
554
555pl 49
556	- lsm template
557	- clef in cadenza mode.
558	- notename clear
559	- \command bla; for \meter, \clef, \octave etc.
560*******
561pl 48
562	- notenames init
563	- Duration order -> grouping
564	- broken key s
565	- default octave
566
567******
568april 3
569pl 47
570	- dynamic flowerlib
571	- Input mods: now use Source_file iso Sources
572	- makefile lib deps restructured
573	- make_website now produces in out/
574
575pl 46
576	- examples.pod
577	- LILYINCLUDE env var.
578	- push/popgroup
579	- website updated
580	- Swallow_register
581	- Lyric_register.
582	- Staff_sym_register
583	- user settable register config
584	- struct Input now used iso defined_ch_C_
585	- Walker_registers and Staff_registers separated
586	- dynamic-reg -> hairpins
587
588pl 44.jcn2
589	- doze configure/compile fixes
590	- doze make refixed
591	- faq
592	- install mudela manpage too
593	- RedHat spec lilypond.spec fixed
594	- target: rpm (make RedHat packages)
595
596******
597Mar 26
598pl 45
599	- Removing unused Voice_regs & Voice_groups
600	- -O2 bugfix
601
602pl 44.jcn1
603	- merged 42.3 42.jcn4 code trees (see stuff below)
604	- moving towards Mudela 0.1 (again)
605	    * keyword "music" dropped for horizontal music
606	    * keywords "\lyric" "\melodic" introduced, e.g.:
607		melody = \melodic { c c | g g }
608	    * removed level of indirection:
609	        - staff initialisable with music identifier list:
610	            \staff{ global melody }
611	        - \score and staffs alike
612	- gnu standard(?) help texts
613	- configure "creates" toplevel Makefile from make/Toplevel.make
614
615Bugfix
616	- fixed mi2mu
617	- write meter to track0 too...
618	- default octave
619	- new Sources in My_midi_lexer: sourcefile_p_ = get_file_l(): oeps.
620	  (ain-t hungarian grand?)
621
622Examples
623	- updated for mudela 0.1
624
625******
626pl 44
627	- naming: _c_l -> _C
628	- pure parser, My_lily_parser
629	- ''a iso ``a
630	- Includable_lexer
631	- junk Input_file
632	- Duration in parser, Duration restructuring
633	- grandiose lexer hax. Flex should be fixed, really.
634	Lexer much faster now.
635	- opps. mi2mu broken
636
637******
638pl 43
639	- transposition.
640	- $variable&@name
641	- warnings if incorrect mode
642	- missing scsii measure
643	- declaration used check.
644	-
645
646pl 42.jcn4
647	- lily writes midi meter/key changes from requests
648	- mi2mu:
649	  + write mudela 0.1
650	  + write bar change requests
651	  + more tunable quantisation
652
653Examples
654	- half-new-menuetto.ly converted to mudela -almost- 0.1
655	- new mi2mu of bach's wtk pre1/fugue1
656
657pl 42.3 (jcn version)
658	- oeps, branched source tree
659
660pl 42.hwn3
661	- const naming change (T const <-> const T)
662	- Mudela 0.1 (roughly the same as below..)
663
664pl 42.3
665	- moving towards Mudela 0.1:
666	    * all keywords must be preceded by backslash '\'
667	    * explicit lexer switches '$' and '@' dropped
668	    * keyword "music" dropped for horizontal music
669	    * keywords "\lyric" " introduced, e.g.:
670		melody = \melodic { c c | g g }
671	    * staff initialisable with music identifier:
672		\staff{ melody }
673	    * chords: < c e >
674	    * octavate ''c``
675	    * \meter{ 2/4 }
676	    * \octave{ ''`` }
677	 - configure sets CXX (to c++, commonly)
678Internal
679	- renamed lexer.hh, mylexer.cc My_flex_lexer to my.lily.lexer.*
680
681pl 42.2
682	- new lilyinput (Mudela 0.1) doc.
683Examples
684	- new-twinkle.ly (in Mudela 0.1, hopefully)
685
686pl 42.1
687	- further Makefile revamping.
688	- moved flowerlib
689
690*******
691pl 42
692
693
694pl 41.hwn3
695	- struct Lexer_prefs
696	- parser bug
697	- make uninstall
698
699pl 41.hwn2
700	- make file rehack
701	- spec update
702	- make install
703	- detect TeX directory
704
705pl 41.hwn1
706	- cygnus configure,
707	- updated versioning
708	- install.pod
709
710pl 41.jn1
711Bugfix
712	- doze compile
713*******
714pl 41
715	- release
716
717pl 40.3
718	- all of the above
719	- hw's configure.in
720	- p-name.xx fixes
721
722pl 40.hwn1
723	- hairpin dynamics
724	- notename now as identifier. Parser/lexer cleanup
725
726pl 40.2
727	- mi2mu --blonde-durations, --no-silly options.
728	- mi2mu starts to look promising, see examples
729Examples
730	- pre1.midi.ly, fugue.midi.ly
731Internal
732	- Duration handles blonde midi-durations
733	- More settings for Duration_convert
734	- lily writes meter too (ugh, howto?)
735Bugfix
736	- mi2mu auto track number fix
737	- mi2mu / lily Midi_tempo fixed/added
738
739pl 40.1
740Bugfix
741	- lily midi output track 0 name
742	- mi2mu tempo fixed
743	- make out/make and out/make/Site.make in configure script!
744	- mi2mu double newline fix
745
746
747******
748Mar 11
749pl 40
750	- release
751
752pl 39-5
753	- own versioning for mi2mu: 0.0.10
754	- some file renaming mi2mu
755pl 39-4
756	- all of the above
757
758pl 39-hwn2
759	- last bar bugfix
760Internal
761	- simple dynamics
762	- experimental RPM spec.
763	- doco update.
764
765pl 39-3
766	- all of the above
767	- m2m renamed to mi2mu
768	- better line breaking in mi2mu
769	- (somewhat broken) progress indicator for mi2mu
770	- mi2mu output === lily input (in names and durations,
771	  always assuming voices > 1 though)
772
773Bugfix
774	- midi: note on/off only once per pitch per track
775	  (sending all note-on events introduces cool mi2mu feature)
776	- make clean removes deps too
777	- mi2mu notename/accidental/octave, and key fixed
778
779Internal
780	- auto create of out-dirs, config headers, using tag file .GENERATE
781
782Examples
783	- stanchen.ly debugged
784
785pl 39-2
786	- configure script help and in topdir again, duh.
787	- auto configure upon virgin make
788	- configured makefile stuff in make/out/
789
790
791********
792pl 39-1
793	- doze target (for 16 bit dos xcompiler: gcc-go32)
794Internal
795	- make/User.make; C..FLAGS sorted out
796Bugfix
797	- make clean...
798
799pl 39
800	- new make structure, featuring:
801	    * top-level/sub-level build
802	    * auto custom-library dependencies/build
803	    * top-level/sub-level dist
804	    * minimal(? can even smaller) specific Makefiles
805	    * which makes for simple lib/exe module split (make/Template.make)
806	    * integrated flowerlib
807	    * all stuff into subbirs (make/Stuff.make)
808	    * all headers into <module>/include dirs (make/Include.make)
809	    * all output into <module>/out (executables into bin/)
810	    * more make features, like make config, make help
811	    * small lily lib
812	    * lilypond-x.x.x/.version for toplevel lily version
813	    * lilypond-x.x.x/<module>/.version for <module> version (eg: flower)
814	    * versioning using additional optional MY_PATCH_LEVEL
815		for easy make_patch
816
817	- bin/cptogen
818
819Internal
820	- generic m2m header: m2m.hh
821
822Bugfix
823	- small fixes, make, dist, configure
824
825pl 38-5
826	- all of the below, e.g. new filenames and new makefile
827	  structure patches merged
828******
829pl 38
830
831Internal
832	- great filename renaming operation with - convention.
833	- printing methods for paper_def/lookup/symtab(s)
834	- untied all registers from complexwalker. Now registers are
835intrinsically hierarchical. All walker communication is done via a
836"top level" register.
837
838pl 37-3
839	- m2m handles voices
840	- instrument, track_name, copyright/left stuff for m2m/ly
841
842Internal
843	- Midi_voice
844
845pl 37-1
846	- text, key, tempo event in midi output/ly input
847
848Internal
849	- simple makefile structure, allows for multiple projects
850
851******
852pl 37
853
854
855Documentation
856	- language.pod as starting point for mudela devel.
857
858	- Jan's patches:
859Features
860	- m2m patchy --no-triplet option;
861	  lilypond accepts m2m's real midi output (hand-add red tape)
862	- m2m output only valid durations, resync option wip
863	- m2m produces .ly output
864Internal
865	- simpler and better naming for Duration*
866	- the great String renaming / index to base=0 change
867	- Track_column, Lily_stream
868	- Duration, Plet, Duration_convert taking load off duration calc.
869Bugfix
870	- m2m duration calc
871
872
873
874******
875pl 36
876	- Jan's patches:
877	- do MIDI rests cleanly.
878	- lily/m2m: time and tempo fixed for metric timing
879Internal
880	- Midi_tempo
881	- m2m parses more midi stuff (all of bach-wtc); timing??
882	- m2m recognises some commandline options
883Examples
884	- fixed midi.ly
885
886*******
887Feb 25
888pl 35
889	- Register_group
890Bugfix
891	- alignment of breakable items.
892
893*******
894pl 34
895	- better midi syntax.
896	- --midi,-M option.
897	- preliminary midi2mudela (/mudela2midi) converter: m2m (JCN)
898Internal
899	- m2m sources: midi-*; (JCN)
900	- new Midi_walker, fixes several MIDI bugs.
901	- junked Midi_staff, Staff_column children, Midi_walker
902	- Midi_output
903
904pl 33-1
905	- m2m parses midi
906Internal
907	- Binary_source_file
908	- Source_file::error_str simplified
909*******
910pl33
911Examples
912	- Swedish notenames (MB)
913
914pl pre33-2
915
916Bugfix
917	- midi pitch
918
919Features
920	- Jan's patches, see below
921Bugfix
922	- some midi bugfixes.
923
924pl pre33-1 (JCN)
925
926
927	- midi output using pitches iso notename
928Examples
929	- added midi output (some midi output files broken?)
930	- all melodic fixed (except for error.ly:-)
931	- midi.ly
932Bugfix
933	- midiwalker line break
934	- empty/nonexistent include at top of ly
935	- midi #tracks
936	- midi pitch c0
937	- midi poor man-s staff dynamics
938Internal
939	- Midi_column, Midi_staff, Midi_walker
940
941pl pre33 (JCN)
942	- Jan's patches, see below
943
944Features
945	- simple plet notation (JCN)
946	- lyrics centred, but no fully suppored? (JCN)
947Internal
948	- Midi_stream
949	- Mididef
950	- Midi_item, Midi_pitch, Midi_duration
951	- Midi_chunk, Midi_header, Midi_track
952	- preparations for midi output
953	- no exit upon context error (JCN)
954	- converted some "warnings" to errors; no output (JCN)
955Bugfix:
956	- simple plet bugfix
957Examples
958	- updated standchen, menuetto (JCN)
959	- new plet notation (JCN)
960	- plet.ly (parse and spacing tests) (JCN)
961
962*******
963pl 32
964Features
965	- multiple meters, see rhythm.ly
966	- skip syntax/Skip_req
967	- score_wide_music: commands in staff now override commands in score.
968Internal:
969	- command carnage
970	- Key_register
971	- Bar_register
972	- Meter_register
973	- meters now kept in baseclass Staff_walker
974	- Score_walker (to ease MIDI output)
975Doc:
976	- Hungarian doco added to CodingStyle
977
978pl 32-1
979	- music processing speedup
980	- website added to doco
981	- clef must *inside* music
982	- fixed spurious "beam too narrow" messages.
983Internal:
984	- merge musical / non-musical staff_column
985	- musical/ non-musical requests
986	- Clef_register
987	- split up request.hh, Musical_req vs. Nonmusical_req
988*******
989pl 31
990
991Examples
992	- Coriolan example (JN)
993	- standchen updated
994Bugfix
995	- calcideal assertion bugfix
996*******
997Feb 12 13:55
998pl 30
999
1000Features
1001	- better multivoice spacing
1002	- move rest in multivoice staff
1003	- errors in TeX output now warnings
1004	- progress indicator
1005	- music processing speedup.
1006Internal
1007	- make spanner for staffsym; scrap Line_pstaff
1008	- scrap simplestaff (Rhythmic_staff temporarily disabled)
1009	- docxx 3.0 format comments
1010	- split register source files
1011	- hardcoded dimensions compile time
1012	- Lookup::tex_hairpin
1013Bugfix
1014	- non G-clef clefs
1015	- script junking (2x)
1016	- empty files
1017	- beam::center (plet position!)
1018
1019pl 29
1020	- multiplatform Makefile (JN)
1021	- context errors: bugfixes (JN)
1022*******
1023pl 28
1024
1025Internal
1026	- idealspacing slightly better for multivoice.
1027Doc
1028	- Request_register
1029Bugfix
1030	- Script.cc : float exception (MB)
1031	- Request::Request(Request) copying of definition pointer (JN)
1032	- cleaned dependencies for broken spanners
1033	- stupid typo in Staff_elem::post_processing()
1034	- init of hpos in PCol::PCol
1035	- Word_wrap::solve() bug
1036*******
1037pl 27
1038	- preliminary WIN32 support (JN)
1039Features
1040	- errors converted to warnings (JN)
1041	- context errors (JN)
1042	- As vs. as  notename.
1043	- WARNING: "melodic" stafftype will create the new Complex_staff!
1044Examples
1045	- Lohman's Viola Quartet (JN)
1046	- JS Bach Solo Cello suite II menuet (JN)
1047
1048
1049pl pre27
1050
1051Features
1052	- option --init
1053	- last_duration_mode: default_duration is last duration entered
1054	(\duration{\last})
1055	- syntax: grouping 2*4 3*8
1056	- preliminary multivoice support
1057Examples
1058	- JS Bach's WTK example added.
1059
1060Internal:
1061	- Text_reg and Script_reg
1062*******
1063pl 26
1064	- Documentation/lelie_logo.png
1065	- 8-bit chars for input (see ltest.tex) (MB)
1066	- quotes around string now optional
1067Bugfixes:
1068	- unmatched ] (MB)
1069Internal:
1070	- print/name methods of Staff_elem
1071	- added Request_register
1072	- Voice_group_registers, Voice_registers, *_register
1073	- Complex_staff
1074*******
1075Jan 27 '97
1076pl 25
1077	- other clefs added, keys typeset properly (MB)
1078
1079*******
1080pl 24:
1081	- Lyrics (JCN)
1082	- Commands in music-mode (an input feature) (there you are, Mats)
1083
1084*******
1085pl 23:
1086	- TODO file inc'd
1087	- cadenza mode.
1088	- default extension, search path.
1089	- error.pod,faq.pod
1090	- Markers
1091	- configure script
1092	- inputfile name in output.
1093Internal changes:
1094	- scrapped VPATH
1095	- Make dependencies per .o
1096	- Split Input_* parsing steps to enable marking
1097Bugfixes:
1098	- unconnected columns
1099
1100
1101*******
1102pl 22:
1103	- doco from mpp
1104	- repeat signs
1105	- | checks for bar in a voice (Barcheck_req)
1106Internal changes:
1107	- naming (Hungarian notation, svec vs. Array)
1108	- cleanup PScore, Score
1109	- removed Staff_commands, plugging commands into Staff_column directly
1110Bugfixes:
1111	- bug noteheadswap
1112	- huge memleak fixed; unearthed lots of bugs
1113
1114*******
1115pl 21:
1116	- scripts
1117	- texts
1118	- nplets (triplets!)
1119Internal changes:
1120	- Move breaking stuff into a separate class Break_algorithm
1121	- dependencies for Staff_elem's
1122
1123*******
1124Dec 23
1125pl 20:
1126	- updated doco to .pod
1127	- include files from .ly
1128Internal changes:
1129	- Rational for time measurement
1130	- directionalspanner/textspanner
1131
1132*******
1133pl 19:
1134	- grouping code: LilyPond can set advanced multibeams.
1135Internal changes:
1136	- struct Moment
1137
1138*******
1139
1140pl 18:
1141	- robust Staff_commands
1142
1143*******
1144pl 17:
1145	- robust Input_commands
1146	- merged Vertical_/Horizontal music
1147	- PARTIALs with duration
1148	- modularized lexer: multiple runs
1149
1150*******
1151pl 16
1152	- notenames configurable
1153
1154*******
1155pl 15
1156	- grouping code
1157	- multibeams (simple)
1158
1159*******
1160pl 14
1161	- symtables from .ly
1162	- Input_command
1163	- Input_{score/staff}
1164
1165*******
1166Dec  2
1167pl 13
1168	- Horizontal/Vertical music
1169	- Input_commands
1170