2 - rests under beam [c8 r c]
5 - first attempt at rest collisions
9 - beam stem length: beams.ly
14 - doco: other-packages.pod, lots of lilyliterature.pod
15 - last duration mode now is default.
17 - bf Y2K in convert-mudela
18 - Grand rewrite of Music/Register stuff:
19 * separation of Y and X-elt-groups
20 * Registers: info up: broadcasts, info down: get_xxx_info()
21 * Registers: try_request works from bottom to top of tree.
22 * Score_elem invisible_b_ flag
23 * Junk Staff_column, and find the requests while walking the
26 * Staff_group, Score_request_register.
27 * align key/Meters/bar across staffs
28 * junked Staff, Staff_column, Staff_walker, Complex_walker,
29 Request_column Pulk_voice, Pulk_voices, Walker_registers,
31 Input_score, Input_staff, Input_music and a lot of
33 * mudela: lots of structure changes : now much simpler
34 * generation of pre/postbreak items now in Score_elem with deps.
36 - bf: make_patch explanation
37 - bf: make install TeX stuff
38 - new Beam/Stem code (WL)
39 - mudela: . mandatory for REALs
45 - damped beamslope after wanske
48 - sketch of Music classes
49 - General_script_def as baseclass for Text_def and Script_def
50 - bf: clean lib/out/liblily.a
51 - bf: rests shorter than 1/4
57 - plet hack removed :-( [ c c c ]2/3 -> [2/3 c c c ]1/1
61 - bf: configure for mingw32
64 - WIN32 -> WINDOWS32, more win32->windows32
65 - some GNU/Linux changes
66 - cygnus b18 / mingw update
67 - doze compile; bf: p-score.cc compares
68 - reincluded toccata fixes
69 - small stuff: vi tags, typos, bibl
74 - make_website --jpeg, --png and --gif
76 - bf: Score_elem::TeXstring assert fail
77 - bf: headswap with stemdown
81 - bf: measure bar width
88 - bf pathfind /root/file
89 - massive Score_elem rewrite:
90 * group_element_i_ count
91 * support for removing an individual Score_elem cleanly.
92 * moved dep stuff into class Directed_graph_node
93 * Score_elems can be copied and deleted freely.
96 * Line_of_{score,staff} now are Score_elems
97 * clean dep handling upon deletion
98 * delete unbroken spanners
99 * added a break_processing round.
101 - junk Complex_staff,
102 - clean {lily}?proto.hh
104 - Score_elem now as virtual base class everywhere
105 - naming: Staff_elem -> Score_elem
106 - bf: make in toplevel dir
107 - bf: broken tie y-pos
108 - bf: sharing 4th, 8th and 16th noteheads
109 - bf: overlapping chords. <\multivoice c d >
112 - new stem direction code
113 - bfs: wohltemperirt.ly (thanks, Werner)
120 - bf: mi2mu mudela commands
122 - mi2mu quantify tuning
128 - exe's now built in out/
129 - toplevel Makefile dep from make/Toplevel.make.in
130 - make_website: add version footer
131 - make_website: bf dist *.txt
132 - bf: fix loose bars : \meter 4/4; c1.
133 - Staff_elem -> Score_elem
142 - bf: segfault during MIDI output with mi2mu output.
143 - kludge: parse error beyond eof
144 - don't read ini if toplevel file not found
145 - accumulate \kern in TeX output.
146 - bf: try to prevent long lines; TeX breaks on them.
147 - naming: Pointer->Link, IPointer->Pointer
152 - mi2mu -p -s16 fugua2.midi getting better!
153 plus factor 2 mi2mu speedup (fugue2.midi 5.50user)
154 - bf: Duration_convert quantify threshold down
155 - bf: (on quantify): tcols quantified; no silly voices
158 - lily parsing speedup: backup rules for lexer.l
159 - bf: mi2mu, using midi_voice list...
162 - all in all mi2mu speedup of about factor 8 since pl61
163 (fugue.midi 82.72user to 10.30user on a 586.133)
165 - binary search on track-columns
166 - mi2mu IP*list to Array (implications?!) conversion
167 - mi2mu parsing speedup: backup rules for midi-lexer.l
168 - bf: zero denominator
172 - make clean bf: remove lex & yacc files too
173 - added kludge in case measure too long
174 - added kludge in case of unconnected columns.
175 - kludged columns get error marker
176 - kludged lines get error marker
180 - smarter + faster duration-convert using Array
181 - bf: mi2mu compilation/duration-conversions
182 - lots faster mi2mu, hopefully does type 1 too...
184 - mi2mu handles non-quantified rests, try mi2mu -b wtk-i/fugue2.midi
190 - scales.ly bugfix: dimensions default to ((0,0), (0,0))
191 - naming: PointerList->Pointer_list
192 - tied notes don't get accidental
195 - bf: _"text" direction
196 - mailing list into lilypond.pod
199 - set_flower_debug: Warning if -d is used when NPRINT is defined.
200 - Fixed several TeX details. vcenter renamed since it interfered
201 with LaTeX. Position of accents changed.
202 - New example; scripts.ly
203 - table_sixteen: added scriptdefinition (Lilypond breaks if a
204 script is defined without dimensions).
205 - bf: ifndef typos in p-score.cc, choleski.cc
206 - bf: Slur::do_post_processing(), whole notes caused SIGSEGV.
211 - mi2mu handles rests (quantified only)
212 - fixed configure buglet
213 - "!date" Fri May 2 02:18:12 MET DST 1997
216 - Request_register::get_feature(), tie direction, Slur direction
217 - lilypond output is now directly texable.
218 - make_website checks return status
223 - Slur now into voicegroups, and take stems into account.
224 - bf: rest size in table.
225 - split Slur in baseclass Bow
226 - Tie, Tie_req, Tie_register
231 - bf: toccata-fuga-E.ly
234 - mi2mu handles rests (quantified only)
235 - fixed configure buglet
236 - "!date" Fri May 2 02:18:12 MET DST 1997
240 - national chars in lyrics
242 - long comments: %{ %}
244 - bf: partial may be everywhere
245 - bf: meterchange not at start of measure
247 - bf: stem too long if stem is down.
250 - dank je schat, voor wtk-i
251 - mi2mu tries to handle rests
252 - "!date" Thu May 1 02:34:04 MET DST 1997
253 - maak je het niet te laat schat?
257 - small toccata-fuga-E.ly fixes
258 - \bar "||"; is now doublebar, "|." is finishbar
259 - collision hshift fix, with on-line assistance
263 - text alignment bugfix
264 - bugfix Voice_group_regs::get_register_p() now is actually called too
265 - bugfix init of Text_item::pos_i_
268 - toccata-fuga-in-E.ly, excerpts with real-life collisions
269 - \{l,r}{b,f}{toe,heel} --- using cmsy fonts...
275 - \[lr]heel \[lr]toe scripts (happy pedal studies, pa)
277 - removal of some example files
283 - swedish note name update
287 - Massive Rest/Stem/Collision/Note_column rewrite: resolve
288 notehead/rest ambiguities and bugs. eg, [c8 r8 c8]
291 - standchen.ly: repeats; lyricii to end
292 - convert-mudela: help + usage
293 - fixed midi key/meter-change (triggered by martien.ly) bug
298 - staff-side robustification
304 - bugfix Colhpos.cc::OK assert fail.
305 - Inclusion of MusixTeX MF files,
306 - detection of MF dir
309 - configure/make buglets.
312 - spurious accidental bug.
313 - simultaneity check.
315 - convert-mudela auto from guess
316 - include -> \include
317 - change order of opening parse/init file
318 - Pulk_voice, Pulk_voices
320 - revised request-from-voice extraction. Now much faster
326 - tex-prefix and tex-dir sep'd (here you are jan)
327 - convert-mudela framework
328 - Collision_register, Collision
332 - LILYINCLUDE dir searched before DIR_DATADIR(?)
333 - lily reads from stdin again (but does not now when to stop)
336 - transposition bugfix + doco
337 - LilyPond -> GNU LilyPond
338 - bugfixes for Staff_side and Note_column*
339 - wohltemperirt: complete
345 - merge rest / notehead.
346 - Staff_side as a base class for most "staff-side" symbols.
348 - Note_column_register, Note_column
355 - configure[.in], make/Configure_variables.make.in c++ (=doze fix)
356 - "configure; make" ok for doze, win32 target may be removed now
357 - win32/gcc 2.7.2 compile fixes -- why does this all compile
358 (without warnings, why can-t i even trigger warnings) under
359 linux/gcc-2.7.2.1? it's quite a tedious job fixing this
360 shit _on doze_ all the time.
361 * fixed #includes global-regs.cc, staff-info.cc, staff.cc
362 * key.hh:Key() -> Octave_key()
363 * added missing lily/include/input.hh: Input( Input const& )
367 - clef in cadenza mode.
369 - \command bla; for \meter, \clef, \octave etc.
373 - Duration order -> grouping
381 - Input mods: now use Source_file iso Sources
382 - makefile lib deps restructured
383 - make_website now produces in out/
387 - LILYINCLUDE env var.
393 - user settable register config
394 - struct Input now used iso defined_ch_C_
395 - Walker_registers and Staff_registers separated
396 - dynamic-reg -> hairpins
399 - doze configure/compile fixes
402 - install mudela manpage too
403 - RedHat spec lilypond.spec fixed
404 - target: rpm (make RedHat packages)
409 - Removing unused Voice_regs & Voice_groups
413 - merged 42.3 42.jcn4 code trees (see stuff below)
414 - moving towards Mudela 0.1 (again)
415 * keyword "music" dropped for horizontal music
416 * keywords "\lyric" "\melodic" introduced, e.g.:
417 melody = \melodic { c c | g g }
418 * removed level of indirection:
419 - staff initialisable with music identifier list:
420 \staff{ global melody }
421 - \score and staffs alike
422 - gnu standard(?) help texts
423 - configure "creates" toplevel Makefile from make/Toplevel.make
427 - write meter to track0 too...
429 - new Sources in My_midi_lexer: sourcefile_p_ = get_file_l(): oeps.
430 (ain-t hungarian grand?)
433 - updated for mudela 0.1
438 - pure parser, My_lily_parser
442 - Duration in parser, Duration restructuring
443 - grandiose lexer hax. Flex should be fixed, really.
444 Lexer much faster now.
451 - warnings if incorrect mode
452 - missing scsii measure
453 - declaration used check.
457 - lily writes midi meter/key changes from requests
460 + write bar change requests
461 + more tunable quantisation
464 - half-new-menuetto.ly converted to mudela -almost- 0.1
465 - new mi2mu of bach's wtk pre1/fugue1
467 pl 42.3 (jcn version)
468 - oeps, branched source tree
471 - const naming change (T const <-> const T)
472 - Mudela 0.1 (roughly the same as below..)
475 - moving towards Mudela 0.1:
476 * all keywords must be preceded by backslash '\'
477 * explicit lexer switches '$' and '@' dropped
478 * keyword "music" dropped for horizontal music
479 * keywords "\lyric" " introduced, e.g.:
480 melody = \melodic { c c | g g }
481 * staff initialisable with music identifier:
487 - configure sets CXX (to c++, commonly)
489 - renamed lexer.hh, mylexer.cc My_flex_lexer to my.lily.lexer.*
492 - new lilyinput (Mudela 0.1) doc.
494 - new-twinkle.ly (in Mudela 0.1, hopefully)
497 - further Makefile revamping.
513 - detect TeX directory
533 - notename now as identifier. Parser/lexer cleanup
536 - mi2mu --blonde-durations, --no-silly options.
537 - mi2mu starts to look promising, see examples
539 - pre1.midi.ly, fugue.midi.ly
541 - Duration handles blonde midi-durations
542 - More settings for Duration_convert
543 - lily writes meter too (ugh, howto?)
545 - mi2mu auto track number fix
546 - mi2mu / lily Midi_tempo fixed/added
550 - lily midi output track 0 name
552 - make out/make and out/make/Site.make in configure script!
553 - mi2mu double newline fix
562 - own versioning for mi2mu: 0.0.10
563 - some file renaming mi2mu
571 - experimental RPM spec.
576 - m2m renamed to mi2mu
577 - better line breaking in mi2mu
578 - (somewhat broken) progress indicator for mi2mu
579 - mi2mu output === lily input (in names and durations,
580 always assuming voices > 1 though)
583 - midi: note on/off only once per pitch per track
584 (sending all note-on events introduces cool mi2mu feature)
585 - make clean removes deps too
586 - mi2mu notename/accidental/octave, and key fixed
589 - auto create of out-dirs, config headers, using tag file .GENERATE
592 - stanchen.ly debugged
595 - configure script help and in topdir again, duh.
596 - auto configure upon virgin make
597 - configured makefile stuff in make/out/
602 - doze target (for 16 bit dos xcompiler: gcc-go32)
604 - make/User.make; C..FLAGS sorted out
609 - new make structure, featuring:
610 * top-level/sub-level build
611 * auto custom-library dependencies/build
612 * top-level/sub-level dist
613 * minimal(? can even smaller) specific Makefiles
614 * which makes for simple lib/exe module split (make/Template.make)
615 * integrated flowerlib
616 * all stuff into subbirs (make/Stuff.make)
617 * all headers into <module>/include dirs (make/Include.make)
618 * all output into <module>/out (executables into bin/)
619 * more make features, like make config, make help
621 * lilypond-x.x.x/.version for toplevel lily version
622 * lilypond-x.x.x/<module>/.version for <module> version (eg: flower)
623 * versioning using additional optional MY_PATCH_LEVEL
629 - generic m2m header: m2m.hh
632 - small fixes, make, dist, configure
635 - all of the below, e.g. new filenames and new makefile
636 structure patches merged
641 - great filename renaming operation with - convention.
642 - printing methods for paper_def/lookup/symtab(s)
643 - untied all registers from complexwalker. Now registers are
644 intrinsically hierarchical. All walker communication is done via a
645 "top level" register.
649 - instrument, track_name, copyright/left stuff for m2m/ly
655 - text, key, tempo event in midi output/ly input
658 - simple makefile structure, allows for multiple projects
665 - language.pod as starting point for mudela devel.
669 - m2m patchy --no-triplet option;
670 lilypond accepts m2m's real midi output (hand-add red tape)
671 - m2m output only valid durations, resync option wip
672 - m2m produces .ly output
674 - simpler and better naming for Duration*
675 - the great String renaming / index to base=0 change
676 - Track_column, Lily_stream
677 - Duration, Plet, Duration_convert taking load off duration calc.
686 - do MIDI rests cleanly.
687 - lily/m2m: time and tempo fixed for metric timing
690 - m2m parses more midi stuff (all of bach-wtc); timing??
691 - m2m recognises some commandline options
700 - alignment of breakable items.
704 - better midi syntax.
706 - preliminary midi2mudela (/mudela2midi) converter: m2m (JCN)
708 - m2m sources: midi-*; (JCN)
709 - new Midi_walker, fixes several MIDI bugs.
710 - junked Midi_staff, Staff_column children, Midi_walker
717 - Source_file::error_str simplified
721 - Swedish notenames (MB)
729 - Jan's patches, see below
731 - some midi bugfixes.
736 - midi output using pitches iso notename
738 - added midi output (some midi output files broken?)
739 - all melodic fixed (except for error.ly:-)
742 - midiwalker line break
743 - empty/nonexistent include at top of ly
746 - midi poor man-s staff dynamics
748 - Midi_column, Midi_staff, Midi_walker
751 - Jan's patches, see below
754 - simple plet notation (JCN)
755 - lyrics centred, but no fully suppored? (JCN)
759 - Midi_item, Midi_pitch, Midi_duration
760 - Midi_chunk, Midi_header, Midi_track
761 - preparations for midi output
762 - no exit upon context error (JCN)
763 - converted some "warnings" to errors; no output (JCN)
767 - updated standchen, menuetto (JCN)
768 - new plet notation (JCN)
769 - plet.ly (parse and spacing tests) (JCN)
774 - multiple meters, see rhythm.ly
775 - skip syntax/Skip_req
776 - score_wide_music: commands in staff now override commands in score.
782 - meters now kept in baseclass Staff_walker
783 - Score_walker (to ease MIDI output)
785 - Hungarian doco added to CodingStyle
788 - music processing speedup
789 - website added to doco
790 - clef must *inside* music
791 - fixed spurious "beam too narrow" messages.
793 - merge musical / non-musical staff_column
794 - musical/ non-musical requests
796 - split up request.hh, Musical_req vs. Nonmusical_req
801 - Coriolan example (JN)
804 - calcideal assertion bugfix
810 - better multivoice spacing
811 - move rest in multivoice staff
812 - errors in TeX output now warnings
814 - music processing speedup.
816 - make spanner for staffsym; scrap Line_pstaff
817 - scrap simplestaff (Rhythmic_staff temporarily disabled)
818 - docxx 3.0 format comments
819 - split register source files
820 - hardcoded dimensions compile time
821 - Lookup::tex_hairpin
824 - script junking (2x)
826 - beam::center (plet position!)
829 - multiplatform Makefile (JN)
830 - context errors: bugfixes (JN)
835 - idealspacing slightly better for multivoice.
839 - Script.cc : float exception (MB)
840 - Request::Request(Request) copying of definition pointer (JN)
841 - cleaned dependencies for broken spanners
842 - stupid typo in Staff_elem::post_processing()
843 - init of hpos in PCol::PCol
844 - Word_wrap::solve() bug
847 - preliminary WIN32 support (JN)
849 - errors converted to warnings (JN)
850 - context errors (JN)
851 - As vs. as notename.
852 - WARNING: "melodic" stafftype will create the new Complex_staff!
854 - Lohman's Viola Quartet (JN)
855 - JS Bach Solo Cello suite II menuet (JN)
862 - last_duration_mode: default_duration is last duration entered
864 - syntax: grouping 2*4 3*8
865 - preliminary multivoice support
867 - JS Bach's WTK example added.
870 - Text_reg and Script_reg
873 - Documentation/lelie_logo.png
874 - 8-bit chars for input (see ltest.tex) (MB)
875 - quotes around string now optional
879 - print/name methods of Staff_elem
880 - added Request_register
881 - Voice_group_registers, Voice_registers, *_register
886 - other clefs added, keys typeset properly (MB)
891 - Commands in music-mode (an input feature) (there you are, Mats)
897 - default extension, search path.
901 - inputfile name in output.
904 - Make dependencies per .o
905 - Split Input_* parsing steps to enable marking
907 - unconnected columns
914 - | checks for bar in a voice (Barcheck_req)
916 - naming (Hungarian notation, svec vs. Array)
917 - cleanup PScore, Score
918 - removed Staff_commands, plugging commands into Staff_column directly
921 - huge memleak fixed; unearthed lots of bugs
929 - Move breaking stuff into a separate class Break_algorithm
930 - dependencies for Staff_elem's
935 - updated doco to .pod
936 - include files from .ly
938 - Rational for time measurement
939 - directionalspanner/textspanner
943 - grouping code: LilyPond can set advanced multibeams.
950 - robust Staff_commands
954 - robust Input_commands
955 - merged Vertical_/Horizontal music
956 - PARTIALs with duration
957 - modularized lexer: multiple runs
961 - notenames configurable
966 - multibeams (simple)
972 - Input_{score/staff}
977 - Horizontal/Vertical music