This file documents changes in version 0.0 august 1 VERSION 0.1.0 - bf: output tempo to track 0 too - bf: don't forget to copy id_str_, so moved into Music pl 78.jcn2 - INFTY doze fixes pl 78.jcn1 - fix for multi-staff midi: wohltemperirt.ly, standchen.ly - doze fixes - bf: conflily, configure (text) ***** july 31 pl 78 - bf: Midi_instrument - added enable/disable defaults to help. - incredibly ugly NAME_MEMBERS(); bug. Immediately changed to DECLARE_MY_RUNTIME_TYPEINFO; - \stem -1 -> \stem \down in input - bf: slurchar index - configure warnings - preliminary stuff for multiarch building - #!/usr/bin/perl fixes (AO) - some Makefile cleanups: now faster. pl 77.jcn2 - Midi_instrument ****** july 29 pl 77 - some fixes for internal compiler errors derive from Pointer_list with default dtor gives error with -O2 - .ini -> .ly - lyrics fix - Performer beautification: got rid of set_track(), midi_output() - pseudo RTTI for midi-items - bf: Performer*::print() - links.pod - Voice_element -> Request_chord - fixed flex problems: stdin input works again - Documentation/Rules.make, make-website via make - spacing: now add basicspace ******* july 28 pl 76 - mudela version bumped to 0.1 - mudela-book - doco updates, now some stuff in LaTeX - junked book.{ly,tex} example - progress indicator - rhythm.ly updated - removed mf sources from distribution due to (c) stuff - allowal of breaks handled cleanly - junked Subtle_reqs, junked Request_iterator. Request iteration now by Voice_element_iterator - Piano_bar, Piano_bar_engraver, Span_score_bar_engraver, Span_score_bar - Swallow_performer - removed Staff_engravers, grouping into Line_group_engraver - Head_column as base for Rest_column,Note_column - Score_column derived from PCol - regurgled Line spacing: interface and implementation separate. Idealspacing moved into Spring_spacer - Gourlay style linespacing pl 75.jcn6 - {lyric,meter,key}-performer - span-brace-* (Removed again. Such is life) - doze compile - midi output, notes only - working midi output -- hacked - doze compile, mingw32 configure (still triggers gcc int. comp err) pl 74pre.jcn2 - mi2mu fixes after scott snyder [sss] - mi2mu update for mudela 0.0.61 - conflily fixes ******* july 21 pl 75 - inbook.ly & book.tex example. - natural width: linewidth = -1.0\cm pl 74pre.jcn1 - oversimplified midi output thru performer hierarchy - bf: Spanner::doprint pl 72pre.jcn1 - naming fixes; some iter*() explicitations - removed acceptor.hh - *performer*: second draft of midi (audio/...) ******* july 9 pl 74pre - Input_engraver -> Input_translator - bf: span start/stop is now a "used" col. - Rest_column/Rest_collisions bugfixes - bf: crescendi. - Spanner do_print() ****** july 7 pl 73pre - some refs doco. - move Input_engraver into Paper_def - junk Interpreter - naming: Request_engraver -> Engraver, - Music_iterator::next() -> process_and_next() - junk Voice_engravers - Span_bar, Span_bar_engraver - Vertical_align_engraver ******* july 2 pl 72pre - \paper{} syntax: var = 1.0\pt;, with an Assoc array - sketch of MIDI Performer classes. - bf: memleak in parser - naming: Acceptor -> Translator - input: bf collisions.ly, scales.ly - bf: [r8 c8] - naming: Register -> Engraver - force \\ on identifiers - doco updates - musixtex T73 fonts pl 70.mb - bf: find syntax in Variables.make ***** july 1 pl 71pre - nested \melodic and \lyric constructs - init id's, Input_register aliases. - bf: notehead x-swap - bf: auto-keys. - bf: first clef - junked \init_end; construct - Preparatory work for MIDI output: * Acceptor as baseclass for Register_group_register * Global_acceptor as interface of Register to Score - bf: empty voice - Lyrics: partially working - some doco updates (junks, mostly) ****** june 30 pl 70pre - bf: text Script - bf: Script::dir_i_ checks. - bf: script stacking - bf: Text_spanner::do_subst. - bf: Text_spanner::Text_spanner(Text_spanner&) - bf: script priority read from script.ini - bf: Script_def::do_equal_b - bf: script dims. - mudela: ; obligatory for \paper {}. - some cosmetic changes involving RTTI macros ******* june 29 pl 69pre - bf: whole rest position, whole/half rest dots. - bf: scripts - reg termination - centered bars - bf: init of Tie::dir_i_ - bf: Staff_side depends on staff_sym_ - bf: Script::do_substitute_dependency() now implemented - more print info (also in output) - bf: Vertical_align_element - stemless beams now allowed (with warning) - bf: Rest_column::stem_l_ init - merge rests.ly with collisions.ly pl 67.jcn3 - rests under beam [c8 r c] pl 67.jcn2 - first attempt at rest collisions - rests.ly pl 67.jcn1 - beam stem length: beams.ly - bf: mingw configure - re: conflily ****** june 26 pl 68pre - doco: other-packages.pod, lots of lilyliterature.pod - last duration mode now is default. - some OpusTeX stuff. - bf Y2K in convert-mudela - Grand rewrite of Music/Register stuff: * separation of Y and X-elt-groups * Registers: info up: broadcasts, info down: get_xxx_info() * Registers: try_request works from bottom to top of tree. * Score_elem empty_b_ and transparent_b_ flag * Junk Staff_column, and find the requests while walking the Voices. * Score_register * Staff_group, Score_request_register. * align key/Meters/bar across staffs * junked Staff, Staff_column, Staff_walker, Complex_walker, Request_column Pulk_voice, Pulk_voices, Walker_registers, Voice_element, Input_score, Input_staff, Input_music and a lot of parserjunk. * mudela: lots of structure changes : now much simpler * generation of pre/postbreak items now in Score_elem with deps. - bf: make_patch explanation - bf: make install TeX stuff - mudela: . mandatory for REALs pl 67 - damped beamslope after wanske ****** june 3 pl 67 - sketch of Music classes - General_script_def as baseclass for Text_def and Script_def - bf: clean lib/out/liblily.a - bf: rests shorter than 1/4 pl 66.jcn3 - bf: make uninstall - conflily - f: some pedaling - plet hack removed :-( [ c c c ]2/3 -> [2/3 c c c ]1/1 pl 66.jcn2 - bf: bar, Hilfslinie - bf: configure for mingw32 pl 66.jcn1 - WIN32 -> WINDOWS32, more win32->windows32 - some GNU/Linux changes - cygnus b18 / mingw update - doze compile; bf: p-score.cc compares - reincluded toccata fixes - small stuff: vi tags, typos, bibl ****** may 27 pl 66 - make_website --jpeg, --png and --gif - win32 -> windows32 - bf: Score_elem::TeXstring assert fail - bf: headswap with stemdown - bf: broken tie - bf: broken slur - bf: accidental dims - bf: measure bar width ****** may 26 pl 65 - bf pathfind /root/file - massive Score_elem rewrite: * group_element_i_ count * support for removing an individual Score_elem cleanly. * moved dep stuff into class Directed_graph_node * Score_elems can be copied and deleted freely. * junk PStaff * Spanner_elem_group * Line_of_{score,staff} now are Score_elems * clean dep handling upon deletion * delete unbroken spanners * added a break_processing round. * Super_elem - junk Complex_staff, - clean {lily}?proto.hh - Element_group - Score_elem now as virtual base class everywhere - naming: Staff_elem -> Score_elem - bf: make in toplevel dir - bf: broken tie y-pos - bf: sharing 4th, 8th and 16th noteheads - bf: overlapping chords. <\multivoice c d > pl 64.wl - new stem direction code - bfs: wohltemperirt.ly (thanks, Werner) - bf: stem direction pl 63.jcn2 - doze compile pl 63.jcn1 - bf: mi2mu mudela commands - bf: mi2mu tracks - mi2mu quantify tuning - mi2mu TODO ********* may 16 pl 64 - exe's now built in out/ - toplevel Makefile dep from make/Toplevel.make.in - make_website: add version footer - make_website: bf dist *.txt - bf: fix loose bars : \meter 4/4; c1. - Staff_elem -> Score_elem - bf - vbrace lookup - resync barcheck ******* may 15 pl 63 - bf: segfault during MIDI output with mi2mu output. - kludge: parse error beyond eof - don't read ini if toplevel file not found - accumulate \kern in TeX output. - bf: try to prevent long lines; TeX breaks on them. - naming: Pointer->Link, IPointer->Pointer - bf: \plet didn't work (MB) - GMP manifesto. pl 61.jcn4 - mi2mu -p -s16 fugua2.midi getting better! plus factor 2 mi2mu speedup (fugue2.midi 5.50user) - bf: Duration_convert quantify threshold down - bf: (on quantify): tcols quantified; no silly voices pl 61.jcn3 - lily parsing speedup: backup rules for lexer.l - bf: mi2mu, using midi_voice list... pl 61.jcn2 - all in all mi2mu speedup of about factor 8 since pl61 (fugue.midi 82.72user to 10.30user on a 586.133) what about lily? - binary search on track-columns - mi2mu IP*list to Array (implications?!) conversion - mi2mu parsing speedup: backup rules for midi-lexer.l - bf: zero denominator ********** may 14 pl 62 - make clean bf: remove lex & yacc files too - added kludge in case measure too long - added kludge in case of unconnected columns. - kludged columns get error marker - kludged lines get error marker pl 61.jcn1 - smarter + faster duration-convert using Array - bf: mi2mu compilation/duration-conversions - lots faster mi2mu, hopefully does type 1 too... pl 60.jcn1 - mi2mu handles non-quantified rests, try mi2mu -b wtk-i/fugue2.midi ********** pl 61 - scales.ly bugfix: dimensions default to ((0,0), (0,0)) - naming: PointerList->Pointer_list - tied notes don't get accidental - bf: crescendo size - fixes: make_patch, - bf: _"text" direction - mailing list into lilypond.pod pl 60.mb - set_flower_debug: Warning if -d is used when NPRINT is defined. - Fixed several TeX details. vcenter renamed since it interfered with LaTeX. Position of accents changed. - New example; scripts.ly - table_sixteen: added scriptdefinition (Lilypond breaks if a script is defined without dimensions). - bf: ifndef typos in p-score.cc, choleski.cc - bf: Slur::do_post_processing(), whole notes caused SIGSEGV. (ascension break :-) ******* pl 57.jcn4 - mi2mu handles rests (quantified only) - fixed configure buglet - "!date" Fri May 2 02:18:12 MET DST 1997 pl 60 - Request_register::get_feature(), tie direction, Slur direction - lilypond output is now directly texable. - make_website checks return status ******* may 5 pl 59 - Slur now into voicegroups, and take stems into account. - bf: rest size in table. - split Slur in baseclass Bow - Tie, Tie_req, Tie_register ****** may 2 pl 58.jcn1 - bf: toccata-fuga-E.ly pl 57.jcn4 - mi2mu handles rests (quantified only) - fixed configure buglet - "!date" Fri May 2 02:18:12 MET DST 1997 pl 58 - lexer cleanup - national chars in lyrics - \stem 2; bf - long comments: %{ %} - *.ini mode bf - bf: partial may be everywhere - bf: meterchange not at start of measure - some doc updates - bf: stem too long if stem is down. pl 57.jcn3 - dank je schat, voor wtk-i - mi2mu tries to handle rests - "!date" Thu May 1 02:34:04 MET DST 1997 - maak je het niet te laat schat? XXXX HWN pl 57.jcn2 - small toccata-fuga-E.ly fixes - \bar "||"; is now doublebar, "|." is finishbar - collision hshift fix, with on-line assistance ****** pl 57 - lots of TODO doco - text alignment bugfix - bugfix Voice_group_regs::get_register_p() now is actually called too - bugfix init of Text_item::pos_i_ pl 56.jcn1 - toccata-fuga-in-E.ly, excerpts with real-life collisions - \{l,r}{b,f}{toe,heel} --- using cmsy fonts... - pedal.ly pl 55.jcn1 - mi2mu man page - make doc fixlet - \[lr]heel \[lr]toe scripts (happy pedal studies, pa) - lyric with width - removal of some example files pl 56.mb: - last duration fix - makefile fixes - space rest - swedish note name update ****** pl 56 - Massive Rest/Stem/Collision/Note_column rewrite: resolve notehead/rest ambiguities and bugs. eg, [c8 r8 c8] pl 54.jcn1 - standchen.ly: repeats; lyricii to end - convert-mudela: help + usage - fixed midi key/meter-change (triggered by martien.ly) bug ****** April 23 pl 55 - staff-side robustification - script-on-rest bug - doc update - transpose syntax ****** pl 54 - bugfix Colhpos.cc::OK assert fail. - Inclusion of MusixTeX MF files, - detection of MF dir pl 53.hwn - stacked lyrics - configure/make buglets. ****** pl 53 - spurious accidental bug. - simultaneity check. - added AUTHORS.pod - convert-mudela auto from guess - include -> \include - change order of opening parse/init file - Pulk_voice, Pulk_voices - Request_column - revised request-from-voice extraction. Now much faster ****** april 17 pl 52 - Buildroot RPM - tex-prefix and tex-dir sep'd (here you are jan) - convert-mudela framework - Collision_register, Collision - \hshift 1; input - Features changed pl 50.jcn1 - LILYINCLUDE dir searched before DIR_DATADIR(?) - lily reads from stdin again (but does not now when to stop) ****** pl 51 - transposition bugfix + doco - LilyPond -> GNU LilyPond - bugfixes for Staff_side and Note_column* - wohltemperirt: complete ****** april 11 pl 50 - merge rest / notehead. - Staff_side as a base class for most "staff-side" symbols. - version check - Note_column_register, Note_column - multiple scripts ******** april 8 pl 49.jcn1 Bugfix - configure[.in], make/Configure_variables.make.in c++ (=doze fix) - "configure; make" ok for doze, win32 target may be removed now - win32/gcc 2.7.2 compile fixes -- why does this all compile (without warnings, why can-t i even trigger warnings) under linux/gcc-2.7.2.1? it's quite a tedious job fixing this shit _on doze_ all the time. * fixed #includes global-regs.cc, staff-info.cc, staff.cc * key.hh:Key() -> Octave_key() * added missing lily/include/input.hh: Input( Input const& ) pl 49 - lsm template - clef in cadenza mode. - notename clear - \command bla; for \meter, \clef, \octave etc. ******* pl 48 - notenames init - Duration order -> grouping - broken key s - default octave ****** april 3 pl 47 - dynamic flowerlib - Input mods: now use Source_file iso Sources - makefile lib deps restructured - make_website now produces in out/ pl 46 - examples.pod - LILYINCLUDE env var. - push/popgroup - website updated - Swallow_register - Lyric_register. - Staff_sym_register - user settable register config - struct Input now used iso defined_ch_C_ - Walker_registers and Staff_registers separated - dynamic-reg -> hairpins pl 44.jcn2 - doze configure/compile fixes - doze make refixed - faq - install mudela manpage too - RedHat spec lilypond.spec fixed - target: rpm (make RedHat packages) ****** Mar 26 pl 45 - Removing unused Voice_regs & Voice_groups - -O2 bugfix pl 44.jcn1 - merged 42.3 42.jcn4 code trees (see stuff below) - moving towards Mudela 0.1 (again) * keyword "music" dropped for horizontal music * keywords "\lyric" "\melodic" introduced, e.g.: melody = \melodic { c c | g g } * removed level of indirection: - staff initialisable with music identifier list: \staff{ global melody } - \score and staffs alike - gnu standard(?) help texts - configure "creates" toplevel Makefile from make/Toplevel.make Bugfix - fixed mi2mu - write meter to track0 too... - default octave - new Sources in My_midi_lexer: sourcefile_p_ = get_file_l(): oeps. (ain-t hungarian grand?) Examples - updated for mudela 0.1 ****** pl 44 - naming: _c_l -> _C - pure parser, My_lily_parser - ''a iso ``a - Includable_lexer - junk Input_file - Duration in parser, Duration restructuring - grandiose lexer hax. Flex should be fixed, really. Lexer much faster now. - opps. mi2mu broken ****** pl 43 - transposition. - $variable&@name - warnings if incorrect mode - missing scsii measure - declaration used check. - pl 42.jcn4 - lily writes midi meter/key changes from requests - mi2mu: + write mudela 0.1 + write bar change requests + more tunable quantisation Examples - half-new-menuetto.ly converted to mudela -almost- 0.1 - new mi2mu of bach's wtk pre1/fugue1 pl 42.3 (jcn version) - oeps, branched source tree pl 42.hwn3 - const naming change (T const <-> const T) - Mudela 0.1 (roughly the same as below..) pl 42.3 - moving towards Mudela 0.1: * all keywords must be preceded by backslash '\' * explicit lexer switches '$' and '@' dropped * keyword "music" dropped for horizontal music * keywords "\lyric" " introduced, e.g.: melody = \melodic { c c | g g } * staff initialisable with music identifier: \staff{ melody } * chords: < c e > * octavate ''c`` * \meter{ 2/4 } * \octave{ ''`` } - configure sets CXX (to c++, commonly) Internal - renamed lexer.hh, mylexer.cc My_flex_lexer to my.lily.lexer.* pl 42.2 - new lilyinput (Mudela 0.1) doc. Examples - new-twinkle.ly (in Mudela 0.1, hopefully) pl 42.1 - further Makefile revamping. - moved flowerlib ******* pl 42 pl 41.hwn3 - struct Lexer_prefs - parser bug - make uninstall pl 41.hwn2 - make file rehack - spec update - make install - detect TeX directory pl 41.hwn1 - cygnus configure, - updated versioning - install.pod pl 41.jn1 Bugfix - doze compile ******* pl 41 - release pl 40.3 - all of the above - hw's configure.in - p-name.xx fixes pl 40.hwn1 - hairpin dynamics - notename now as identifier. Parser/lexer cleanup pl 40.2 - mi2mu --blonde-durations, --no-silly options. - mi2mu starts to look promising, see examples Examples - pre1.midi.ly, fugue.midi.ly Internal - Duration handles blonde midi-durations - More settings for Duration_convert - lily writes meter too (ugh, howto?) Bugfix - mi2mu auto track number fix - mi2mu / lily Midi_tempo fixed/added pl 40.1 Bugfix - lily midi output track 0 name - mi2mu tempo fixed - make out/make and out/make/Site.make in configure script! - mi2mu double newline fix ****** Mar 11 pl 40 - release pl 39-5 - own versioning for mi2mu: 0.0.10 - some file renaming mi2mu pl 39-4 - all of the above pl 39-hwn2 - last bar bugfix Internal - simple dynamics - experimental RPM spec. - doco update. pl 39-3 - all of the above - m2m renamed to mi2mu - better line breaking in mi2mu - (somewhat broken) progress indicator for mi2mu - mi2mu output === lily input (in names and durations, always assuming voices > 1 though) Bugfix - midi: note on/off only once per pitch per track (sending all note-on events introduces cool mi2mu feature) - make clean removes deps too - mi2mu notename/accidental/octave, and key fixed Internal - auto create of out-dirs, config headers, using tag file .GENERATE Examples - stanchen.ly debugged pl 39-2 - configure script help and in topdir again, duh. - auto configure upon virgin make - configured makefile stuff in make/out/ ******** pl 39-1 - doze target (for 16 bit dos xcompiler: gcc-go32) Internal - make/User.make; C..FLAGS sorted out Bugfix - make clean... pl 39 - new make structure, featuring: * top-level/sub-level build * auto custom-library dependencies/build * top-level/sub-level dist * minimal(? can even smaller) specific Makefiles * which makes for simple lib/exe module split (make/Template.make) * integrated flowerlib * all stuff into subbirs (make/Stuff.make) * all headers into /include dirs (make/Include.make) * all output into /out (executables into bin/) * more make features, like make config, make help * small lily lib * lilypond-x.x.x/.version for toplevel lily version * lilypond-x.x.x//.version for version (eg: flower) * versioning using additional optional MY_PATCH_LEVEL for easy make_patch - bin/cptogen Internal - generic m2m header: m2m.hh Bugfix - small fixes, make, dist, configure pl 38-5 - all of the below, e.g. new filenames and new makefile structure patches merged ****** pl 38 Internal - great filename renaming operation with - convention. - printing methods for paper_def/lookup/symtab(s) - untied all registers from complexwalker. Now registers are intrinsically hierarchical. All walker communication is done via a "top level" register. pl 37-3 - m2m handles voices - instrument, track_name, copyright/left stuff for m2m/ly Internal - Midi_voice pl 37-1 - text, key, tempo event in midi output/ly input Internal - simple makefile structure, allows for multiple projects ****** pl 37 Documentation - language.pod as starting point for mudela devel. - Jan's patches: Features - m2m patchy --no-triplet option; lilypond accepts m2m's real midi output (hand-add red tape) - m2m output only valid durations, resync option wip - m2m produces .ly output Internal - simpler and better naming for Duration* - the great String renaming / index to base=0 change - Track_column, Lily_stream - Duration, Plet, Duration_convert taking load off duration calc. Bugfix - m2m duration calc ****** pl 36 - Jan's patches: - do MIDI rests cleanly. - lily/m2m: time and tempo fixed for metric timing Internal - Midi_tempo - m2m parses more midi stuff (all of bach-wtc); timing?? - m2m recognises some commandline options Examples - fixed midi.ly ******* Feb 25 pl 35 - Register_group Bugfix - alignment of breakable items. ******* pl 34 - better midi syntax. - --midi,-M option. - preliminary midi2mudela (/mudela2midi) converter: m2m (JCN) Internal - m2m sources: midi-*; (JCN) - new Midi_walker, fixes several MIDI bugs. - junked Midi_staff, Staff_column children, Midi_walker - Midi_output pl 33-1 - m2m parses midi Internal - Binary_source_file - Source_file::error_str simplified ******* pl33 Examples - Swedish notenames (MB) pl pre33-2 Bugfix - midi pitch Features - Jan's patches, see below Bugfix - some midi bugfixes. pl pre33-1 (JCN) - midi output using pitches iso notename Examples - added midi output (some midi output files broken?) - all melodic fixed (except for error.ly:-) - midi.ly Bugfix - midiwalker line break - empty/nonexistent include at top of ly - midi #tracks - midi pitch c0 - midi poor man-s staff dynamics Internal - Midi_column, Midi_staff, Midi_walker pl pre33 (JCN) - Jan's patches, see below Features - simple plet notation (JCN) - lyrics centred, but no fully suppored? (JCN) Internal - Midi_stream - Mididef - Midi_item, Midi_pitch, Midi_duration - Midi_chunk, Midi_header, Midi_track - preparations for midi output - no exit upon context error (JCN) - converted some "warnings" to errors; no output (JCN) Bugfix: - simple plet bugfix Examples - updated standchen, menuetto (JCN) - new plet notation (JCN) - plet.ly (parse and spacing tests) (JCN) ******* pl 32 Features - multiple meters, see rhythm.ly - skip syntax/Skip_req - score_wide_music: commands in staff now override commands in score. Internal: - command carnage - Key_register - Bar_register - Meter_register - meters now kept in baseclass Staff_walker - Score_walker (to ease MIDI output) Doc: - Hungarian doco added to CodingStyle pl 32-1 - music processing speedup - website added to doco - clef must *inside* music - fixed spurious "beam too narrow" messages. Internal: - merge musical / non-musical staff_column - musical/ non-musical requests - Clef_register - split up request.hh, Musical_req vs. Nonmusical_req ******* pl 31 Examples - Coriolan example (JN) - standchen updated Bugfix - calcideal assertion bugfix ******* Feb 12 13:55 pl 30 Features - better multivoice spacing - move rest in multivoice staff - errors in TeX output now warnings - progress indicator - music processing speedup. Internal - make spanner for staffsym; scrap Line_pstaff - scrap simplestaff (Rhythmic_staff temporarily disabled) - docxx 3.0 format comments - split register source files - hardcoded dimensions compile time - Lookup::tex_hairpin Bugfix - non G-clef clefs - script junking (2x) - empty files - beam::center (plet position!) pl 29 - multiplatform Makefile (JN) - context errors: bugfixes (JN) ******* pl 28 Internal - idealspacing slightly better for multivoice. Doc - Request_register Bugfix - Script.cc : float exception (MB) - Request::Request(Request) copying of definition pointer (JN) - cleaned dependencies for broken spanners - stupid typo in Staff_elem::post_processing() - init of hpos in PCol::PCol - Word_wrap::solve() bug ******* pl 27 - preliminary WIN32 support (JN) Features - errors converted to warnings (JN) - context errors (JN) - As vs. as notename. - WARNING: "melodic" stafftype will create the new Complex_staff! Examples - Lohman's Viola Quartet (JN) - JS Bach Solo Cello suite II menuet (JN) pl pre27 Features - option --init - last_duration_mode: default_duration is last duration entered (\duration{\last}) - syntax: grouping 2*4 3*8 - preliminary multivoice support Examples - JS Bach's WTK example added. Internal: - Text_reg and Script_reg ******* pl 26 - Documentation/lelie_logo.png - 8-bit chars for input (see ltest.tex) (MB) - quotes around string now optional Bugfixes: - unmatched ] (MB) Internal: - print/name methods of Staff_elem - added Request_register - Voice_group_registers, Voice_registers, *_register - Complex_staff ******* Jan 27 '97 pl 25 - other clefs added, keys typeset properly (MB) ******* pl 24: - Lyrics (JCN) - Commands in music-mode (an input feature) (there you are, Mats) ******* pl 23: - TODO file inc'd - cadenza mode. - default extension, search path. - error.pod,faq.pod - Markers - configure script - inputfile name in output. Internal changes: - scrapped VPATH - Make dependencies per .o - Split Input_* parsing steps to enable marking Bugfixes: - unconnected columns ******* pl 22: - doco from mpp - repeat signs - | checks for bar in a voice (Barcheck_req) Internal changes: - naming (Hungarian notation, svec vs. Array) - cleanup PScore, Score - removed Staff_commands, plugging commands into Staff_column directly Bugfixes: - bug noteheadswap - huge memleak fixed; unearthed lots of bugs ******* pl 21: - scripts - texts - nplets (triplets!) Internal changes: - Move breaking stuff into a separate class Break_algorithm - dependencies for Staff_elem's ******* Dec 23 pl 20: - updated doco to .pod - include files from .ly Internal changes: - Rational for time measurement - directionalspanner/textspanner ******* pl 19: - grouping code: LilyPond can set advanced multibeams. Internal changes: - struct Moment ******* pl 18: - robust Staff_commands ******* pl 17: - robust Input_commands - merged Vertical_/Horizontal music - PARTIALs with duration - modularized lexer: multiple runs ******* pl 16 - notenames configurable ******* pl 15 - grouping code - multibeams (simple) ******* pl 14 - symtables from .ly - Input_command - Input_{score/staff} ******* Dec 2 pl 13 - Horizontal/Vertical music - Input_commands