2 - mudela version bumped to 0.1
4 - doco updates, now some stuff in LaTeX
5 - junked book.{ly,tex} example
8 - removed mf sources from distribution due to (c) stuff
9 - allowal of breaks handled cleanly
10 - junked Subtle_reqs, junked Request_iterator. Request
11 iteration now by Voice_element_iterator
12 - Piano_bar, Piano_bar_engraver, Span_score_bar_engraver,
15 - removed Staff_engravers, grouping into Line_group_engraver
16 - Head_column as base for Rest_column,Note_column
17 - Score_column derived from PCol
18 - regurgled Line spacing: interface and implementation
19 separate. Idealspacing moved into Spring_spacer
20 - Gourlay style linespacing
23 - {lyric,meter,key}-performer
24 - span-brace-* (Removed again. Such is life)
26 - midi output, notes only
27 - working midi output -- hacked
28 - doze compile, mingw32 configure (still triggers gcc int. comp err)
31 - mi2mu fixes after scott snyder <snyder@d0sgif.fnal.gov> [sss]
32 - mi2mu update for mudela 0.0.61
39 - inbook.ly & book.tex example.
40 - natural width: linewidth = -1.0\cm
43 - oversimplified midi output thru performer hierarchy
44 - bf: Spanner::doprint
47 - naming fixes; some iter*() explicitations
49 - *performer*: second draft of midi (audio/...)
55 - Input_engraver -> Input_translator
56 - bf: span start/stop is now a "used" col.
57 - Rest_column/Rest_collisions bugfixes
65 - move Input_engraver into Paper_def
67 - naming: Request_engraver -> Engraver,
68 - Music_iterator::next() -> process_and_next()
69 - junk Voice_engravers
70 - Span_bar, Span_bar_engraver
71 - Vertical_align_engraver
76 - \paper{} syntax: var = 1.0\pt;, with an Assoc array
77 - sketch of MIDI Performer classes.
78 - bf: memleak in parser
79 - naming: Acceptor -> Translator
80 - input: bf collisions.ly, scales.ly
82 - naming: Register -> Engraver
83 - force \\ on identifiers
88 - bf: find syntax in Variables.make
92 - nested \melodic and \lyric constructs
93 - init id's, Input_register aliases.
97 - junked \init_end; construct
98 - Preparatory work for MIDI output:
99 * Acceptor as baseclass for Register_group_register
100 * Global_acceptor as interface of Register to Score
102 - Lyrics: partially working
103 - some doco updates (junks, mostly)
112 - bf: Script::dir_i_ checks.
113 - bf: script stacking
114 - bf: Text_spanner::do_subst.
115 - bf: Text_spanner::Text_spanner(Text_spanner&)
116 - bf: script priority read from script.ini
117 - bf: Script_def::do_equal_b
119 - mudela: ; obligatory for \paper {}.
120 - some cosmetic changes involving RTTI macros
125 - bf: whole rest position, whole/half rest dots.
129 - bf: init of Tie::dir_i_
130 - bf: Staff_side depends on staff_sym_
131 - bf: Script::do_substitute_dependency() now implemented
132 - more print info (also in output)
133 - bf: Vertical_align_element
134 - stemless beams now allowed (with warning)
135 - bf: Rest_column::stem_l_ init
136 - merge rests.ly with collisions.ly
139 - rests under beam [c8 r c]
142 - first attempt at rest collisions
146 - beam stem length: beams.ly
147 - bf: mingw configure
153 - doco: other-packages.pod, lots of lilyliterature.pod
154 - last duration mode now is default.
155 - some OpusTeX stuff.
156 - bf Y2K in convert-mudela
157 - Grand rewrite of Music/Register stuff:
158 * separation of Y and X-elt-groups
159 * Registers: info up: broadcasts, info down: get_xxx_info()
160 * Registers: try_request works from bottom to top of tree.
161 * Score_elem empty_b_ and transparent_b_ flag
162 * Junk Staff_column, and find the requests while walking the
165 * Staff_group, Score_request_register.
166 * align key/Meters/bar across staffs
167 * junked Staff, Staff_column, Staff_walker, Complex_walker,
168 Request_column Pulk_voice, Pulk_voices, Walker_registers,
170 Input_score, Input_staff, Input_music and a lot of
172 * mudela: lots of structure changes : now much simpler
173 * generation of pre/postbreak items now in Score_elem with deps.
175 - bf: make_patch explanation
176 - bf: make install TeX stuff
177 - mudela: . mandatory for REALs
181 - damped beamslope after wanske
186 - sketch of Music classes
187 - General_script_def as baseclass for Text_def and Script_def
188 - bf: clean lib/out/liblily.a
189 - bf: rests shorter than 1/4
195 - plet hack removed :-( [ c c c ]2/3 -> [2/3 c c c ]1/1
198 - bf: bar, Hilfslinie
199 - bf: configure for mingw32
202 - WIN32 -> WINDOWS32, more win32->windows32
203 - some GNU/Linux changes
204 - cygnus b18 / mingw update
205 - doze compile; bf: p-score.cc compares
206 - reincluded toccata fixes
207 - small stuff: vi tags, typos, bibl
212 - make_website --jpeg, --png and --gif
214 - bf: Score_elem::TeXstring assert fail
215 - bf: headswap with stemdown
218 - bf: accidental dims
219 - bf: measure bar width
226 - bf pathfind /root/file
227 - massive Score_elem rewrite:
228 * group_element_i_ count
229 * support for removing an individual Score_elem cleanly.
230 * moved dep stuff into class Directed_graph_node
231 * Score_elems can be copied and deleted freely.
234 * Line_of_{score,staff} now are Score_elems
235 * clean dep handling upon deletion
236 * delete unbroken spanners
237 * added a break_processing round.
239 - junk Complex_staff,
240 - clean {lily}?proto.hh
242 - Score_elem now as virtual base class everywhere
243 - naming: Staff_elem -> Score_elem
244 - bf: make in toplevel dir
245 - bf: broken tie y-pos
246 - bf: sharing 4th, 8th and 16th noteheads
247 - bf: overlapping chords. <\multivoice c d >
250 - new stem direction code
251 - bfs: wohltemperirt.ly (thanks, Werner)
258 - bf: mi2mu mudela commands
260 - mi2mu quantify tuning
266 - exe's now built in out/
267 - toplevel Makefile dep from make/Toplevel.make.in
268 - make_website: add version footer
269 - make_website: bf dist *.txt
270 - bf: fix loose bars : \meter 4/4; c1.
271 - Staff_elem -> Score_elem
280 - bf: segfault during MIDI output with mi2mu output.
281 - kludge: parse error beyond eof
282 - don't read ini if toplevel file not found
283 - accumulate \kern in TeX output.
284 - bf: try to prevent long lines; TeX breaks on them.
285 - naming: Pointer->Link, IPointer->Pointer
286 - bf: \plet didn't work (MB)
290 - mi2mu -p -s16 fugua2.midi getting better!
291 plus factor 2 mi2mu speedup (fugue2.midi 5.50user)
292 - bf: Duration_convert quantify threshold down
293 - bf: (on quantify): tcols quantified; no silly voices
296 - lily parsing speedup: backup rules for lexer.l
297 - bf: mi2mu, using midi_voice list...
300 - all in all mi2mu speedup of about factor 8 since pl61
301 (fugue.midi 82.72user to 10.30user on a 586.133)
303 - binary search on track-columns
304 - mi2mu IP*list to Array (implications?!) conversion
305 - mi2mu parsing speedup: backup rules for midi-lexer.l
306 - bf: zero denominator
311 - make clean bf: remove lex & yacc files too
312 - added kludge in case measure too long
313 - added kludge in case of unconnected columns.
314 - kludged columns get error marker
315 - kludged lines get error marker
319 - smarter + faster duration-convert using Array
320 - bf: mi2mu compilation/duration-conversions
321 - lots faster mi2mu, hopefully does type 1 too...
323 - mi2mu handles non-quantified rests, try mi2mu -b wtk-i/fugue2.midi
329 - scales.ly bugfix: dimensions default to ((0,0), (0,0))
330 - naming: PointerList->Pointer_list
331 - tied notes don't get accidental
334 - bf: _"text" direction
335 - mailing list into lilypond.pod
338 - set_flower_debug: Warning if -d is used when NPRINT is defined.
339 - Fixed several TeX details. vcenter renamed since it interfered
340 with LaTeX. Position of accents changed.
341 - New example; scripts.ly
342 - table_sixteen: added scriptdefinition (Lilypond breaks if a
343 script is defined without dimensions).
344 - bf: ifndef typos in p-score.cc, choleski.cc
345 - bf: Slur::do_post_processing(), whole notes caused SIGSEGV.
350 - mi2mu handles rests (quantified only)
351 - fixed configure buglet
352 - "!date" Fri May 2 02:18:12 MET DST 1997
355 - Request_register::get_feature(), tie direction, Slur direction
356 - lilypond output is now directly texable.
357 - make_website checks return status
362 - Slur now into voicegroups, and take stems into account.
363 - bf: rest size in table.
364 - split Slur in baseclass Bow
365 - Tie, Tie_req, Tie_register
370 - bf: toccata-fuga-E.ly
373 - mi2mu handles rests (quantified only)
374 - fixed configure buglet
375 - "!date" Fri May 2 02:18:12 MET DST 1997
379 - national chars in lyrics
381 - long comments: %{ %}
383 - bf: partial may be everywhere
384 - bf: meterchange not at start of measure
386 - bf: stem too long if stem is down.
389 - dank je schat, voor wtk-i
390 - mi2mu tries to handle rests
391 - "!date" Thu May 1 02:34:04 MET DST 1997
392 - maak je het niet te laat schat?
396 - small toccata-fuga-E.ly fixes
397 - \bar "||"; is now doublebar, "|." is finishbar
398 - collision hshift fix, with on-line assistance
402 - text alignment bugfix
403 - bugfix Voice_group_regs::get_register_p() now is actually called too
404 - bugfix init of Text_item::pos_i_
407 - toccata-fuga-in-E.ly, excerpts with real-life collisions
408 - \{l,r}{b,f}{toe,heel} --- using cmsy fonts...
414 - \[lr]heel \[lr]toe scripts (happy pedal studies, pa)
416 - removal of some example files
422 - swedish note name update
426 - Massive Rest/Stem/Collision/Note_column rewrite: resolve
427 notehead/rest ambiguities and bugs. eg, [c8 r8 c8]
430 - standchen.ly: repeats; lyricii to end
431 - convert-mudela: help + usage
432 - fixed midi key/meter-change (triggered by martien.ly) bug
437 - staff-side robustification
443 - bugfix Colhpos.cc::OK assert fail.
444 - Inclusion of MusixTeX MF files,
445 - detection of MF dir
448 - configure/make buglets.
451 - spurious accidental bug.
452 - simultaneity check.
454 - convert-mudela auto from guess
455 - include -> \include
456 - change order of opening parse/init file
457 - Pulk_voice, Pulk_voices
459 - revised request-from-voice extraction. Now much faster
465 - tex-prefix and tex-dir sep'd (here you are jan)
466 - convert-mudela framework
467 - Collision_register, Collision
471 - LILYINCLUDE dir searched before DIR_DATADIR(?)
472 - lily reads from stdin again (but does not now when to stop)
475 - transposition bugfix + doco
476 - LilyPond -> GNU LilyPond
477 - bugfixes for Staff_side and Note_column*
478 - wohltemperirt: complete
484 - merge rest / notehead.
485 - Staff_side as a base class for most "staff-side" symbols.
487 - Note_column_register, Note_column
494 - configure[.in], make/Configure_variables.make.in c++ (=doze fix)
495 - "configure; make" ok for doze, win32 target may be removed now
496 - win32/gcc 2.7.2 compile fixes -- why does this all compile
497 (without warnings, why can-t i even trigger warnings) under
498 linux/gcc-2.7.2.1? it's quite a tedious job fixing this
499 shit _on doze_ all the time.
500 * fixed #includes global-regs.cc, staff-info.cc, staff.cc
501 * key.hh:Key() -> Octave_key()
502 * added missing lily/include/input.hh: Input( Input const& )
506 - clef in cadenza mode.
508 - \command bla; for \meter, \clef, \octave etc.
512 - Duration order -> grouping
520 - Input mods: now use Source_file iso Sources
521 - makefile lib deps restructured
522 - make_website now produces in out/
526 - LILYINCLUDE env var.
532 - user settable register config
533 - struct Input now used iso defined_ch_C_
534 - Walker_registers and Staff_registers separated
535 - dynamic-reg -> hairpins
538 - doze configure/compile fixes
541 - install mudela manpage too
542 - RedHat spec lilypond.spec fixed
543 - target: rpm (make RedHat packages)
548 - Removing unused Voice_regs & Voice_groups
552 - merged 42.3 42.jcn4 code trees (see stuff below)
553 - moving towards Mudela 0.1 (again)
554 * keyword "music" dropped for horizontal music
555 * keywords "\lyric" "\melodic" introduced, e.g.:
556 melody = \melodic { c c | g g }
557 * removed level of indirection:
558 - staff initialisable with music identifier list:
559 \staff{ global melody }
560 - \score and staffs alike
561 - gnu standard(?) help texts
562 - configure "creates" toplevel Makefile from make/Toplevel.make
566 - write meter to track0 too...
568 - new Sources in My_midi_lexer: sourcefile_p_ = get_file_l(): oeps.
569 (ain-t hungarian grand?)
572 - updated for mudela 0.1
577 - pure parser, My_lily_parser
581 - Duration in parser, Duration restructuring
582 - grandiose lexer hax. Flex should be fixed, really.
583 Lexer much faster now.
590 - warnings if incorrect mode
591 - missing scsii measure
592 - declaration used check.
596 - lily writes midi meter/key changes from requests
599 + write bar change requests
600 + more tunable quantisation
603 - half-new-menuetto.ly converted to mudela -almost- 0.1
604 - new mi2mu of bach's wtk pre1/fugue1
606 pl 42.3 (jcn version)
607 - oeps, branched source tree
610 - const naming change (T const <-> const T)
611 - Mudela 0.1 (roughly the same as below..)
614 - moving towards Mudela 0.1:
615 * all keywords must be preceded by backslash '\'
616 * explicit lexer switches '$' and '@' dropped
617 * keyword "music" dropped for horizontal music
618 * keywords "\lyric" " introduced, e.g.:
619 melody = \melodic { c c | g g }
620 * staff initialisable with music identifier:
626 - configure sets CXX (to c++, commonly)
628 - renamed lexer.hh, mylexer.cc My_flex_lexer to my.lily.lexer.*
631 - new lilyinput (Mudela 0.1) doc.
633 - new-twinkle.ly (in Mudela 0.1, hopefully)
636 - further Makefile revamping.
652 - detect TeX directory
673 - notename now as identifier. Parser/lexer cleanup
676 - mi2mu --blonde-durations, --no-silly options.
677 - mi2mu starts to look promising, see examples
679 - pre1.midi.ly, fugue.midi.ly
681 - Duration handles blonde midi-durations
682 - More settings for Duration_convert
683 - lily writes meter too (ugh, howto?)
685 - mi2mu auto track number fix
686 - mi2mu / lily Midi_tempo fixed/added
690 - lily midi output track 0 name
692 - make out/make and out/make/Site.make in configure script!
693 - mi2mu double newline fix
702 - own versioning for mi2mu: 0.0.10
703 - some file renaming mi2mu
711 - experimental RPM spec.
716 - m2m renamed to mi2mu
717 - better line breaking in mi2mu
718 - (somewhat broken) progress indicator for mi2mu
719 - mi2mu output === lily input (in names and durations,
720 always assuming voices > 1 though)
723 - midi: note on/off only once per pitch per track
724 (sending all note-on events introduces cool mi2mu feature)
725 - make clean removes deps too
726 - mi2mu notename/accidental/octave, and key fixed
729 - auto create of out-dirs, config headers, using tag file .GENERATE
732 - stanchen.ly debugged
735 - configure script help and in topdir again, duh.
736 - auto configure upon virgin make
737 - configured makefile stuff in make/out/
742 - doze target (for 16 bit dos xcompiler: gcc-go32)
744 - make/User.make; C..FLAGS sorted out
749 - new make structure, featuring:
750 * top-level/sub-level build
751 * auto custom-library dependencies/build
752 * top-level/sub-level dist
753 * minimal(? can even smaller) specific Makefiles
754 * which makes for simple lib/exe module split (make/Template.make)
755 * integrated flowerlib
756 * all stuff into subbirs (make/Stuff.make)
757 * all headers into <module>/include dirs (make/Include.make)
758 * all output into <module>/out (executables into bin/)
759 * more make features, like make config, make help
761 * lilypond-x.x.x/.version for toplevel lily version
762 * lilypond-x.x.x/<module>/.version for <module> version (eg: flower)
763 * versioning using additional optional MY_PATCH_LEVEL
769 - generic m2m header: m2m.hh
772 - small fixes, make, dist, configure
775 - all of the below, e.g. new filenames and new makefile
776 structure patches merged
781 - great filename renaming operation with - convention.
782 - printing methods for paper_def/lookup/symtab(s)
783 - untied all registers from complexwalker. Now registers are
784 intrinsically hierarchical. All walker communication is done via a
785 "top level" register.
789 - instrument, track_name, copyright/left stuff for m2m/ly
795 - text, key, tempo event in midi output/ly input
798 - simple makefile structure, allows for multiple projects
805 - language.pod as starting point for mudela devel.
809 - m2m patchy --no-triplet option;
810 lilypond accepts m2m's real midi output (hand-add red tape)
811 - m2m output only valid durations, resync option wip
812 - m2m produces .ly output
814 - simpler and better naming for Duration*
815 - the great String renaming / index to base=0 change
816 - Track_column, Lily_stream
817 - Duration, Plet, Duration_convert taking load off duration calc.
826 - do MIDI rests cleanly.
827 - lily/m2m: time and tempo fixed for metric timing
830 - m2m parses more midi stuff (all of bach-wtc); timing??
831 - m2m recognises some commandline options
840 - alignment of breakable items.
844 - better midi syntax.
846 - preliminary midi2mudela (/mudela2midi) converter: m2m (JCN)
848 - m2m sources: midi-*; (JCN)
849 - new Midi_walker, fixes several MIDI bugs.
850 - junked Midi_staff, Staff_column children, Midi_walker
857 - Source_file::error_str simplified
861 - Swedish notenames (MB)
869 - Jan's patches, see below
871 - some midi bugfixes.
876 - midi output using pitches iso notename
878 - added midi output (some midi output files broken?)
879 - all melodic fixed (except for error.ly:-)
882 - midiwalker line break
883 - empty/nonexistent include at top of ly
886 - midi poor man-s staff dynamics
888 - Midi_column, Midi_staff, Midi_walker
891 - Jan's patches, see below
894 - simple plet notation (JCN)
895 - lyrics centred, but no fully suppored? (JCN)
899 - Midi_item, Midi_pitch, Midi_duration
900 - Midi_chunk, Midi_header, Midi_track
901 - preparations for midi output
902 - no exit upon context error (JCN)
903 - converted some "warnings" to errors; no output (JCN)
907 - updated standchen, menuetto (JCN)
908 - new plet notation (JCN)
909 - plet.ly (parse and spacing tests) (JCN)
914 - multiple meters, see rhythm.ly
915 - skip syntax/Skip_req
916 - score_wide_music: commands in staff now override commands in score.
922 - meters now kept in baseclass Staff_walker
923 - Score_walker (to ease MIDI output)
925 - Hungarian doco added to CodingStyle
928 - music processing speedup
929 - website added to doco
930 - clef must *inside* music
931 - fixed spurious "beam too narrow" messages.
933 - merge musical / non-musical staff_column
934 - musical/ non-musical requests
936 - split up request.hh, Musical_req vs. Nonmusical_req
941 - Coriolan example (JN)
944 - calcideal assertion bugfix
950 - better multivoice spacing
951 - move rest in multivoice staff
952 - errors in TeX output now warnings
954 - music processing speedup.
956 - make spanner for staffsym; scrap Line_pstaff
957 - scrap simplestaff (Rhythmic_staff temporarily disabled)
958 - docxx 3.0 format comments
959 - split register source files
960 - hardcoded dimensions compile time
961 - Lookup::tex_hairpin
964 - script junking (2x)
966 - beam::center (plet position!)
969 - multiplatform Makefile (JN)
970 - context errors: bugfixes (JN)
975 - idealspacing slightly better for multivoice.
979 - Script.cc : float exception (MB)
980 - Request::Request(Request) copying of definition pointer (JN)
981 - cleaned dependencies for broken spanners
982 - stupid typo in Staff_elem::post_processing()
983 - init of hpos in PCol::PCol
984 - Word_wrap::solve() bug
987 - preliminary WIN32 support (JN)
989 - errors converted to warnings (JN)
990 - context errors (JN)
991 - As vs. as notename.
992 - WARNING: "melodic" stafftype will create the new Complex_staff!
994 - Lohman's Viola Quartet (JN)
995 - JS Bach Solo Cello suite II menuet (JN)
1002 - last_duration_mode: default_duration is last duration entered
1004 - syntax: grouping 2*4 3*8
1005 - preliminary multivoice support
1007 - JS Bach's WTK example added.
1010 - Text_reg and Script_reg
1013 - Documentation/lelie_logo.png
1014 - 8-bit chars for input (see ltest.tex) (MB)
1015 - quotes around string now optional
1019 - print/name methods of Staff_elem
1020 - added Request_register
1021 - Voice_group_registers, Voice_registers, *_register
1026 - other clefs added, keys typeset properly (MB)
1031 - Commands in music-mode (an input feature) (there you are, Mats)
1037 - default extension, search path.
1041 - inputfile name in output.
1044 - Make dependencies per .o
1045 - Split Input_* parsing steps to enable marking
1047 - unconnected columns
1054 - | checks for bar in a voice (Barcheck_req)
1056 - naming (Hungarian notation, svec vs. Array)
1057 - cleanup PScore, Score
1058 - removed Staff_commands, plugging commands into Staff_column directly
1061 - huge memleak fixed; unearthed lots of bugs
1067 - nplets (triplets!)
1069 - Move breaking stuff into a separate class Break_algorithm
1070 - dependencies for Staff_elem's
1075 - updated doco to .pod
1076 - include files from .ly
1078 - Rational for time measurement
1079 - directionalspanner/textspanner
1083 - grouping code: LilyPond can set advanced multibeams.
1090 - robust Staff_commands
1094 - robust Input_commands
1095 - merged Vertical_/Horizontal music
1096 - PARTIALs with duration
1097 - modularized lexer: multiple runs
1101 - notenames configurable
1106 - multibeams (simple)
1110 - symtables from .ly
1112 - Input_{score/staff}
1117 - Horizontal/Vertical music