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