3 - naming fixes; some iter*() explicitations
5 - second draft of midi (audio/...) based on engraver hierarchy
9 - move Input_engraver into Paper_def
11 - naming: Request_engraver -> Engraver,
12 - Music_iterator::next() -> process_and_next()
13 - junk Voice_engravers
14 - Span_bar, Span_bar_engraver
15 - Vertical_align_engraver
20 - \paper{} syntax: var = 1.0\pt;, with an Assoc array
21 - sketch of MIDI Performer classes.
22 - bf: memleak in parser
23 - naming: Acceptor -> Translator
24 - input: bf collisions.ly, scales.ly
26 - naming: Register -> Engraver
27 - force \\ on identifiers
32 - bf: find syntax in Variables.make
36 - nested \melodic and \lyric constructs
37 - init id's, Input_register aliases.
41 - junked \init_end; construct
42 - Preparatory work for MIDI output:
43 * Acceptor as baseclass for Register_group_register
44 * Global_acceptor as interface of Register to Score
46 - Lyrics: partially working
47 - some doco updates (junks, mostly)
56 - bf: Script::dir_i_ checks.
58 - bf: Text_spanner::do_subst.
59 - bf: Text_spanner::Text_spanner(Text_spanner&)
60 - bf: script priority read from script.ini
61 - bf: Script_def::do_equal_b
63 - mudela: ; obligatory for \paper {}.
64 - some cosmetic changes involving RTTI macros
69 - bf: whole rest position, whole/half rest dots.
73 - bf: init of Tie::dir_i_
74 - bf: Staff_side depends on staff_sym_
75 - bf: Script::do_substitute_dependency() now implemented
76 - more print info (also in output)
77 - bf: Vertical_align_element
78 - stemless beams now allowed (with warning)
79 - bf: Rest_column::stem_l_ init
80 - merge rests.ly with collisions.ly
83 - rests under beam [c8 r c]
86 - first attempt at rest collisions
90 - beam stem length: beams.ly
97 - doco: other-packages.pod, lots of lilyliterature.pod
98 - last duration mode now is default.
100 - bf Y2K in convert-mudela
101 - Grand rewrite of Music/Register stuff:
102 * separation of Y and X-elt-groups
103 * Registers: info up: broadcasts, info down: get_xxx_info()
104 * Registers: try_request works from bottom to top of tree.
105 * Score_elem empty_b_ and transparent_b_ flag
106 * Junk Staff_column, and find the requests while walking the
109 * Staff_group, Score_request_register.
110 * align key/Meters/bar across staffs
111 * junked Staff, Staff_column, Staff_walker, Complex_walker,
112 Request_column Pulk_voice, Pulk_voices, Walker_registers,
114 Input_score, Input_staff, Input_music and a lot of
116 * mudela: lots of structure changes : now much simpler
117 * generation of pre/postbreak items now in Score_elem with deps.
119 - bf: make_patch explanation
120 - bf: make install TeX stuff
121 - mudela: . mandatory for REALs
125 - damped beamslope after wanske
130 - sketch of Music classes
131 - General_script_def as baseclass for Text_def and Script_def
132 - bf: clean lib/out/liblily.a
133 - bf: rests shorter than 1/4
139 - plet hack removed :-( [ c c c ]2/3 -> [2/3 c c c ]1/1
142 - bf: bar, Hilfslinie
143 - bf: configure for mingw32
146 - WIN32 -> WINDOWS32, more win32->windows32
147 - some GNU/Linux changes
148 - cygnus b18 / mingw update
149 - doze compile; bf: p-score.cc compares
150 - reincluded toccata fixes
151 - small stuff: vi tags, typos, bibl
156 - make_website --jpeg, --png and --gif
158 - bf: Score_elem::TeXstring assert fail
159 - bf: headswap with stemdown
162 - bf: accidental dims
163 - bf: measure bar width
170 - bf pathfind /root/file
171 - massive Score_elem rewrite:
172 * group_element_i_ count
173 * support for removing an individual Score_elem cleanly.
174 * moved dep stuff into class Directed_graph_node
175 * Score_elems can be copied and deleted freely.
178 * Line_of_{score,staff} now are Score_elems
179 * clean dep handling upon deletion
180 * delete unbroken spanners
181 * added a break_processing round.
183 - junk Complex_staff,
184 - clean {lily}?proto.hh
186 - Score_elem now as virtual base class everywhere
187 - naming: Staff_elem -> Score_elem
188 - bf: make in toplevel dir
189 - bf: broken tie y-pos
190 - bf: sharing 4th, 8th and 16th noteheads
191 - bf: overlapping chords. <\multivoice c d >
194 - new stem direction code
195 - bfs: wohltemperirt.ly (thanks, Werner)
202 - bf: mi2mu mudela commands
204 - mi2mu quantify tuning
210 - exe's now built in out/
211 - toplevel Makefile dep from make/Toplevel.make.in
212 - make_website: add version footer
213 - make_website: bf dist *.txt
214 - bf: fix loose bars : \meter 4/4; c1.
215 - Staff_elem -> Score_elem
224 - bf: segfault during MIDI output with mi2mu output.
225 - kludge: parse error beyond eof
226 - don't read ini if toplevel file not found
227 - accumulate \kern in TeX output.
228 - bf: try to prevent long lines; TeX breaks on them.
229 - naming: Pointer->Link, IPointer->Pointer
230 - bf: \plet didn't work (MB)
234 - mi2mu -p -s16 fugua2.midi getting better!
235 plus factor 2 mi2mu speedup (fugue2.midi 5.50user)
236 - bf: Duration_convert quantify threshold down
237 - bf: (on quantify): tcols quantified; no silly voices
240 - lily parsing speedup: backup rules for lexer.l
241 - bf: mi2mu, using midi_voice list...
244 - all in all mi2mu speedup of about factor 8 since pl61
245 (fugue.midi 82.72user to 10.30user on a 586.133)
247 - binary search on track-columns
248 - mi2mu IP*list to Array (implications?!) conversion
249 - mi2mu parsing speedup: backup rules for midi-lexer.l
250 - bf: zero denominator
255 - make clean bf: remove lex & yacc files too
256 - added kludge in case measure too long
257 - added kludge in case of unconnected columns.
258 - kludged columns get error marker
259 - kludged lines get error marker
263 - smarter + faster duration-convert using Array
264 - bf: mi2mu compilation/duration-conversions
265 - lots faster mi2mu, hopefully does type 1 too...
267 - mi2mu handles non-quantified rests, try mi2mu -b wtk-i/fugue2.midi
273 - scales.ly bugfix: dimensions default to ((0,0), (0,0))
274 - naming: PointerList->Pointer_list
275 - tied notes don't get accidental
278 - bf: _"text" direction
279 - mailing list into lilypond.pod
282 - set_flower_debug: Warning if -d is used when NPRINT is defined.
283 - Fixed several TeX details. vcenter renamed since it interfered
284 with LaTeX. Position of accents changed.
285 - New example; scripts.ly
286 - table_sixteen: added scriptdefinition (Lilypond breaks if a
287 script is defined without dimensions).
288 - bf: ifndef typos in p-score.cc, choleski.cc
289 - bf: Slur::do_post_processing(), whole notes caused SIGSEGV.
294 - mi2mu handles rests (quantified only)
295 - fixed configure buglet
296 - "!date" Fri May 2 02:18:12 MET DST 1997
299 - Request_register::get_feature(), tie direction, Slur direction
300 - lilypond output is now directly texable.
301 - make_website checks return status
306 - Slur now into voicegroups, and take stems into account.
307 - bf: rest size in table.
308 - split Slur in baseclass Bow
309 - Tie, Tie_req, Tie_register
314 - bf: toccata-fuga-E.ly
317 - mi2mu handles rests (quantified only)
318 - fixed configure buglet
319 - "!date" Fri May 2 02:18:12 MET DST 1997
323 - national chars in lyrics
325 - long comments: %{ %}
327 - bf: partial may be everywhere
328 - bf: meterchange not at start of measure
330 - bf: stem too long if stem is down.
333 - dank je schat, voor wtk-i
334 - mi2mu tries to handle rests
335 - "!date" Thu May 1 02:34:04 MET DST 1997
336 - maak je het niet te laat schat?
340 - small toccata-fuga-E.ly fixes
341 - \bar "||"; is now doublebar, "|." is finishbar
342 - collision hshift fix, with on-line assistance
346 - text alignment bugfix
347 - bugfix Voice_group_regs::get_register_p() now is actually called too
348 - bugfix init of Text_item::pos_i_
351 - toccata-fuga-in-E.ly, excerpts with real-life collisions
352 - \{l,r}{b,f}{toe,heel} --- using cmsy fonts...
358 - \[lr]heel \[lr]toe scripts (happy pedal studies, pa)
360 - removal of some example files
366 - swedish note name update
370 - Massive Rest/Stem/Collision/Note_column rewrite: resolve
371 notehead/rest ambiguities and bugs. eg, [c8 r8 c8]
374 - standchen.ly: repeats; lyricii to end
375 - convert-mudela: help + usage
376 - fixed midi key/meter-change (triggered by martien.ly) bug
381 - staff-side robustification
387 - bugfix Colhpos.cc::OK assert fail.
388 - Inclusion of MusixTeX MF files,
389 - detection of MF dir
392 - configure/make buglets.
395 - spurious accidental bug.
396 - simultaneity check.
398 - convert-mudela auto from guess
399 - include -> \include
400 - change order of opening parse/init file
401 - Pulk_voice, Pulk_voices
403 - revised request-from-voice extraction. Now much faster
409 - tex-prefix and tex-dir sep'd (here you are jan)
410 - convert-mudela framework
411 - Collision_register, Collision
415 - LILYINCLUDE dir searched before DIR_DATADIR(?)
416 - lily reads from stdin again (but does not now when to stop)
419 - transposition bugfix + doco
420 - LilyPond -> GNU LilyPond
421 - bugfixes for Staff_side and Note_column*
422 - wohltemperirt: complete
428 - merge rest / notehead.
429 - Staff_side as a base class for most "staff-side" symbols.
431 - Note_column_register, Note_column
438 - configure[.in], make/Configure_variables.make.in c++ (=doze fix)
439 - "configure; make" ok for doze, win32 target may be removed now
440 - win32/gcc 2.7.2 compile fixes -- why does this all compile
441 (without warnings, why can-t i even trigger warnings) under
442 linux/gcc-2.7.2.1? it's quite a tedious job fixing this
443 shit _on doze_ all the time.
444 * fixed #includes global-regs.cc, staff-info.cc, staff.cc
445 * key.hh:Key() -> Octave_key()
446 * added missing lily/include/input.hh: Input( Input const& )
450 - clef in cadenza mode.
452 - \command bla; for \meter, \clef, \octave etc.
456 - Duration order -> grouping
464 - Input mods: now use Source_file iso Sources
465 - makefile lib deps restructured
466 - make_website now produces in out/
470 - LILYINCLUDE env var.
476 - user settable register config
477 - struct Input now used iso defined_ch_C_
478 - Walker_registers and Staff_registers separated
479 - dynamic-reg -> hairpins
482 - doze configure/compile fixes
485 - install mudela manpage too
486 - RedHat spec lilypond.spec fixed
487 - target: rpm (make RedHat packages)
492 - Removing unused Voice_regs & Voice_groups
496 - merged 42.3 42.jcn4 code trees (see stuff below)
497 - moving towards Mudela 0.1 (again)
498 * keyword "music" dropped for horizontal music
499 * keywords "\lyric" "\melodic" introduced, e.g.:
500 melody = \melodic { c c | g g }
501 * removed level of indirection:
502 - staff initialisable with music identifier list:
503 \staff{ global melody }
504 - \score and staffs alike
505 - gnu standard(?) help texts
506 - configure "creates" toplevel Makefile from make/Toplevel.make
510 - write meter to track0 too...
512 - new Sources in My_midi_lexer: sourcefile_p_ = get_file_l(): oeps.
513 (ain-t hungarian grand?)
516 - updated for mudela 0.1
521 - pure parser, My_lily_parser
525 - Duration in parser, Duration restructuring
526 - grandiose lexer hax. Flex should be fixed, really.
527 Lexer much faster now.
534 - warnings if incorrect mode
535 - missing scsii measure
536 - declaration used check.
540 - lily writes midi meter/key changes from requests
543 + write bar change requests
544 + more tunable quantisation
547 - half-new-menuetto.ly converted to mudela -almost- 0.1
548 - new mi2mu of bach's wtk pre1/fugue1
550 pl 42.3 (jcn version)
551 - oeps, branched source tree
554 - const naming change (T const <-> const T)
555 - Mudela 0.1 (roughly the same as below..)
558 - moving towards Mudela 0.1:
559 * all keywords must be preceded by backslash '\'
560 * explicit lexer switches '$' and '@' dropped
561 * keyword "music" dropped for horizontal music
562 * keywords "\lyric" " introduced, e.g.:
563 melody = \melodic { c c | g g }
564 * staff initialisable with music identifier:
570 - configure sets CXX (to c++, commonly)
572 - renamed lexer.hh, mylexer.cc My_flex_lexer to my.lily.lexer.*
575 - new lilyinput (Mudela 0.1) doc.
577 - new-twinkle.ly (in Mudela 0.1, hopefully)
580 - further Makefile revamping.
596 - detect TeX directory
616 - notename now as identifier. Parser/lexer cleanup
619 - mi2mu --blonde-durations, --no-silly options.
620 - mi2mu starts to look promising, see examples
622 - pre1.midi.ly, fugue.midi.ly
624 - Duration handles blonde midi-durations
625 - More settings for Duration_convert
626 - lily writes meter too (ugh, howto?)
628 - mi2mu auto track number fix
629 - mi2mu / lily Midi_tempo fixed/added
633 - lily midi output track 0 name
635 - make out/make and out/make/Site.make in configure script!
636 - mi2mu double newline fix
645 - own versioning for mi2mu: 0.0.10
646 - some file renaming mi2mu
654 - experimental RPM spec.
659 - m2m renamed to mi2mu
660 - better line breaking in mi2mu
661 - (somewhat broken) progress indicator for mi2mu
662 - mi2mu output === lily input (in names and durations,
663 always assuming voices > 1 though)
666 - midi: note on/off only once per pitch per track
667 (sending all note-on events introduces cool mi2mu feature)
668 - make clean removes deps too
669 - mi2mu notename/accidental/octave, and key fixed
672 - auto create of out-dirs, config headers, using tag file .GENERATE
675 - stanchen.ly debugged
678 - configure script help and in topdir again, duh.
679 - auto configure upon virgin make
680 - configured makefile stuff in make/out/
685 - doze target (for 16 bit dos xcompiler: gcc-go32)
687 - make/User.make; C..FLAGS sorted out
692 - new make structure, featuring:
693 * top-level/sub-level build
694 * auto custom-library dependencies/build
695 * top-level/sub-level dist
696 * minimal(? can even smaller) specific Makefiles
697 * which makes for simple lib/exe module split (make/Template.make)
698 * integrated flowerlib
699 * all stuff into subbirs (make/Stuff.make)
700 * all headers into <module>/include dirs (make/Include.make)
701 * all output into <module>/out (executables into bin/)
702 * more make features, like make config, make help
704 * lilypond-x.x.x/.version for toplevel lily version
705 * lilypond-x.x.x/<module>/.version for <module> version (eg: flower)
706 * versioning using additional optional MY_PATCH_LEVEL
712 - generic m2m header: m2m.hh
715 - small fixes, make, dist, configure
718 - all of the below, e.g. new filenames and new makefile
719 structure patches merged
724 - great filename renaming operation with - convention.
725 - printing methods for paper_def/lookup/symtab(s)
726 - untied all registers from complexwalker. Now registers are
727 intrinsically hierarchical. All walker communication is done via a
728 "top level" register.
732 - instrument, track_name, copyright/left stuff for m2m/ly
738 - text, key, tempo event in midi output/ly input
741 - simple makefile structure, allows for multiple projects
748 - language.pod as starting point for mudela devel.
752 - m2m patchy --no-triplet option;
753 lilypond accepts m2m's real midi output (hand-add red tape)
754 - m2m output only valid durations, resync option wip
755 - m2m produces .ly output
757 - simpler and better naming for Duration*
758 - the great String renaming / index to base=0 change
759 - Track_column, Lily_stream
760 - Duration, Plet, Duration_convert taking load off duration calc.
769 - do MIDI rests cleanly.
770 - lily/m2m: time and tempo fixed for metric timing
773 - m2m parses more midi stuff (all of bach-wtc); timing??
774 - m2m recognises some commandline options
783 - alignment of breakable items.
787 - better midi syntax.
789 - preliminary midi2mudela (/mudela2midi) converter: m2m (JCN)
791 - m2m sources: midi-*; (JCN)
792 - new Midi_walker, fixes several MIDI bugs.
793 - junked Midi_staff, Staff_column children, Midi_walker
800 - Source_file::error_str simplified
804 - Swedish notenames (MB)
812 - Jan's patches, see below
814 - some midi bugfixes.
819 - midi output using pitches iso notename
821 - added midi output (some midi output files broken?)
822 - all melodic fixed (except for error.ly:-)
825 - midiwalker line break
826 - empty/nonexistent include at top of ly
829 - midi poor man-s staff dynamics
831 - Midi_column, Midi_staff, Midi_walker
834 - Jan's patches, see below
837 - simple plet notation (JCN)
838 - lyrics centred, but no fully suppored? (JCN)
842 - Midi_item, Midi_pitch, Midi_duration
843 - Midi_chunk, Midi_header, Midi_track
844 - preparations for midi output
845 - no exit upon context error (JCN)
846 - converted some "warnings" to errors; no output (JCN)
850 - updated standchen, menuetto (JCN)
851 - new plet notation (JCN)
852 - plet.ly (parse and spacing tests) (JCN)
857 - multiple meters, see rhythm.ly
858 - skip syntax/Skip_req
859 - score_wide_music: commands in staff now override commands in score.
865 - meters now kept in baseclass Staff_walker
866 - Score_walker (to ease MIDI output)
868 - Hungarian doco added to CodingStyle
871 - music processing speedup
872 - website added to doco
873 - clef must *inside* music
874 - fixed spurious "beam too narrow" messages.
876 - merge musical / non-musical staff_column
877 - musical/ non-musical requests
879 - split up request.hh, Musical_req vs. Nonmusical_req
884 - Coriolan example (JN)
887 - calcideal assertion bugfix
893 - better multivoice spacing
894 - move rest in multivoice staff
895 - errors in TeX output now warnings
897 - music processing speedup.
899 - make spanner for staffsym; scrap Line_pstaff
900 - scrap simplestaff (Rhythmic_staff temporarily disabled)
901 - docxx 3.0 format comments
902 - split register source files
903 - hardcoded dimensions compile time
904 - Lookup::tex_hairpin
907 - script junking (2x)
909 - beam::center (plet position!)
912 - multiplatform Makefile (JN)
913 - context errors: bugfixes (JN)
918 - idealspacing slightly better for multivoice.
922 - Script.cc : float exception (MB)
923 - Request::Request(Request) copying of definition pointer (JN)
924 - cleaned dependencies for broken spanners
925 - stupid typo in Staff_elem::post_processing()
926 - init of hpos in PCol::PCol
927 - Word_wrap::solve() bug
930 - preliminary WIN32 support (JN)
932 - errors converted to warnings (JN)
933 - context errors (JN)
934 - As vs. as notename.
935 - WARNING: "melodic" stafftype will create the new Complex_staff!
937 - Lohman's Viola Quartet (JN)
938 - JS Bach Solo Cello suite II menuet (JN)
945 - last_duration_mode: default_duration is last duration entered
947 - syntax: grouping 2*4 3*8
948 - preliminary multivoice support
950 - JS Bach's WTK example added.
953 - Text_reg and Script_reg
956 - Documentation/lelie_logo.png
957 - 8-bit chars for input (see ltest.tex) (MB)
958 - quotes around string now optional
962 - print/name methods of Staff_elem
963 - added Request_register
964 - Voice_group_registers, Voice_registers, *_register
969 - other clefs added, keys typeset properly (MB)
974 - Commands in music-mode (an input feature) (there you are, Mats)
980 - default extension, search path.
984 - inputfile name in output.
987 - Make dependencies per .o
988 - Split Input_* parsing steps to enable marking
990 - unconnected columns
997 - | checks for bar in a voice (Barcheck_req)
999 - naming (Hungarian notation, svec vs. Array)
1000 - cleanup PScore, Score
1001 - removed Staff_commands, plugging commands into Staff_column directly
1004 - huge memleak fixed; unearthed lots of bugs
1010 - nplets (triplets!)
1012 - Move breaking stuff into a separate class Break_algorithm
1013 - dependencies for Staff_elem's
1018 - updated doco to .pod
1019 - include files from .ly
1021 - Rational for time measurement
1022 - directionalspanner/textspanner
1026 - grouping code: LilyPond can set advanced multibeams.
1033 - robust Staff_commands
1037 - robust Input_commands
1038 - merged Vertical_/Horizontal music
1039 - PARTIALs with duration
1040 - modularized lexer: multiple runs
1044 - notenames configurable
1049 - multibeams (simple)
1053 - symtables from .ly
1055 - Input_{score/staff}
1060 - Horizontal/Vertical music