]> git.donarmstrong.com Git - lilypond.git/blob - CHANGES
d3c1eb664438afcb0ec1b55131d0b1116523fd67
[lilypond.git] / CHANGES
1 --- ../lilypond-1.3.149.jcn2/CHANGES    Fri Apr 20 15:44:19 2001
2 ++ b/CHANGES    Sun Apr 22 15:11:37 2001
3 @@ -1,3 +1,10 @@
4 1.3.149.jcn3
5 ============
6
7 * Bugfix: markup text: lines with markup.
8
9 * Fixed line height in postscript output.
10
11  1.3.149.jcn2
12  ============
13  1.3.149.jcn2
14 ============
15
16 * Fixed one more shift/reduce rule in parser: c1/e  NOT
17
18 1.3.149.jcn1
19 ============
20
21 * Windows installer stuff: the ``It shouldn't be hard -- but do need
22   some sleep'' release.
23
24   Think of it: /shouldn't/ is *exactly* why GNU/Linux exists, and
25   why we advise to run LilyPond on Linux -- UMSDOS if you must.
26
27   You may consider our part of the job done.  Any more of this
28   sad and sorry stuff will drive me to drink.  It makes you realise
29   again how much fun using Linux actually is.
30
31   We'll take patches from now on, from people that have a stronger
32   stomach.  Good night.
33
34   - Ly2dvi: run commands from sh (so that tex wrappers be used).
35
36   - Added cygwin man,less and windows gs, gsview, miktex, python to
37     lilypond installer repository.  Moved profile.d setup functionality to
38     postinstall.
39   - Added tex and latex wrappers.
40   - Wrappers for all python scripts.
41
42 * Removed RMAIL header from german-chords.ly + fixes (Rune).
43
44 1.3.149
45 =======
46
47 1.3.148.jcn3
48 ============
49
50 * Added titling and page wrapping to direct PostScript output.
51 Determining the line height still doesn't work, but you can set
52 lineheight in paper block.
53
54 * Bugfix: lilypond -o - foo.ly.
55
56 * Took a stab at jazz-style chord name additions.
57
58 * Compile fixes: gcc-3.0 snapshots hit Debian unstable.  Note that
59 flex-2.5.4a-11 still breaks with g++-3.0pre.
60
61 * Chord-name cleanups.
62
63 * Markup text:
64 - added (extent . (min . max))
65 - overstrike, as alias for (extent . (0 . 0))
66 - added overstrike property to super and sub
67 - allow text to be in too deep list, ie: #'((("text"))) still works
68 - allow HEAD to be in too deep list, ie: #'(((bold)) "foo")
69 - fixes to raise
70 - renamed (rows to (columns (Thanks Mats; I must have been asleep
71 when I wrote that code)
72 - renamed align to axis
73
74 * Fixes for german-chords.ly (Rune).
75
76 * update-lily: use ftplib, notify upon failure, not success.
77
78 * Oops, I did it again (Han-Wen).
79
80 1.3.148.hwn2
81 ============
82
83 * Documentation updates.
84
85 * Bugfix: header/footer for ly2dvi.
86
87 * Fixed: ly2dvi file1.ly file2.ly
88
89 * lilypond-bug bugfix: remove .png file if output fails.
90
91 1.3.148
92 =======
93
94 1.3.147.jcn2
95 ============
96
97 * Fixed windows documentation.
98
99 * Filled in tutorial section on windows.
100
101 * Ly2dvi: don't use posix file utilities if we have python >= 1.5.2.
102
103 * Included additional cygwin login and wrapper scripts.
104
105 * Added cygwin path conversion to file-path.cc, to get output in cwd.
106 After upgrading cross compilation environment to cygwin-1.1.8-2, it
107 seems that these are no longer necessary; disabled by default.
108
109 1.3.147.mb1
110 ============
111
112 * Glossary and refman fixes
113
114 1.3.147.lec1
115 ============
116 * abc2ly fixes:
117
118         - Remove $ from voice names.
119
120         - Fix problem with full names of modes
121
122 * added documentation of major limitations of abc2ly to converters.itely.
123
124 * added documentation of %%LY to converters.itely.
125
126 1.3.147.hwn1
127 ============
128
129 * refman fixes.
130
131 * Spelling fixes in .scm files: change equaliser to equalizer
132
133 * Add music properties to generated documentation.
134
135
136 1.3.147
137 =======
138
139 * Updated doco to reflect Windows installer.
140
141 * Ripped Cygnus' installer/updater for Windows.
142
143 * Cleanups: chord-name.scm.
144
145 * Added 'trunc' target for ports, and run at local-dist: in
146 ports/mutopia topdir.
147
148 * Bugfixes: update-lily.py
149
150 * Bugfix: synchronised german-chords.ly with chord-name.scm.
151
152 * --srcdir build fix: really included dummy-interfaces.itexi now.
153
154 * Added warning message, rather than encouragement, against configuring
155 without kpathsea support.
156
157 * Moved convert-ly targets from ports to ly make, added ly templates
158 to mutopia and input directories.  Bugfix to convert-ly.  Ran
159 convert-ly in mutopia dir.
160
161 * Recommented some scheme comments in .lys, checked that convert-ly
162 doesn't destroy them.
163
164 * Bugfixes to convert-ly: don't try to open unexistent file (eg,
165 unexpanded wildcard).  Don't remove one semicolon of ';;' scheme
166 comments, don't remove semicolon after hash: #;
167
168 * Fixed some errors from ; conversion.
169
170 1.3.146.hwn3
171 ============
172
173 * ly2dvi bugfixes and latexoptions  support (Mark Hindley)
174
175 * Reference manual fixes.
176
177 * Added lilypond-book tutorial section
178
179 * Hairy bugfix for Align_interface::align_to_fixed_distance (). This
180 fixes gaps that appear sometimes when you put things on top of a piano
181 staff.
182
183 * Added Rune's apply example of wtk1-prelude1.
184
185 * Bugfixes for wtk1-fugue1
186
187 * Add a check for regular identifiers to parser.
188
189 1.3.145
190 =======
191
192 * Make and ly2dvi fixes.
193  
194 * Made feta-timesig C a bit rounder. 
195
196 * Included flat autogenerated list of grob interfaces into refman.
197
198 * Moved Rest_engraver to ThreadContext.
199
200 * Documentation updates.
201
202 * Bugfix: package-diff: remove all out-?.* dirs.
203
204 * Preliminary tutorial fixes.
205
206 * Ly2dvi:
207    - keep .dvi output when making .ps.
208    - name latex wrapper for foo.ly: foo.latex
209    - keep .tex and .latex output if latex fails
210    - keep .dvi output if dvips fails
211    - replaced --outdir option with --output=FILE option, where FILE
212      may include directories
213    - enhancements and fixes
214
215 * Typo fix: clean-fonts
216
217 * Bugfixes: lilypond-login.sh
218
219 * Tutorial and refman fixes (Mats)
220
221 1.3.145.hwn1
222 ============
223
224 * Bugfix: LyricsVoice.stz property now works.
225
226 * Remove semi-colons from lilypond syntax. 
227
228 * Removed a grammar ambiguity: '-' DIGIT (fingering, only possible in \notes)
229 now can not be interpreted as a negative number.
230
231
232 1.3.145.rz1
233 ===========
234
235 * Stem/notehead attach bug fixed (still probs with mensural head and
236   other head on same stem)
237
238 * Minor font changes
239
240
241 1.3.145
242 =======
243
244 * Build fixes for icon, this fixes 'rpm' target.  Tried to reinclude
245 in rpm using (.png and) .xpm, but latest LinuxPPC release's rpm
246 (3.0.6) Icon: tag handling is broken.
247
248 * Fixes for update-lily script.
249
250 * Bugfixes: refman, changed Ascii to ASCII.
251
252 * Fixed ascii art output.  Started some doco on different output formats.
253
254 * Fixed scheme font lookup to handle new font lists with wildcards.
255
256 * Fixes to point-and-click doco (Thanks, Laura Conrad).
257
258 * Bugfixes: changed several (eval to (ly-eval for guile 1.4/1.4.x
259 compatibility.
260
261 * Fixes to buildscripts/clean-fonts.sh.
262
263 1.3.144.hwn1
264 ============
265
266 * Tutorial updates
267
268 * Change interaction between clef-engraver and positioned items: do
269 not use acknowledge/announce () to get position relative to c0, but
270 use centralCPosition directly after grob creation.
271
272 Side-effect: Pitch_squash_engraver now puts notes on position in
273 staff, not on specific pitch.
274
275 * Bugfixes: yet more create_grobs () -> process_music() reverts.
276
277 * Tutorial updates
278
279 * Don't give unbound spanner warnings for isolated dynamics on space
280 rests.
281
282 * cleaned up debug stuff.
283
284 * cleaned up INSTALL document.
285
286 * Key_change_req::do_equal_b(), keychange merge.
287
288 * per octave key signatures. See
289 input/regression/key-signature-scordatura.ly
290
291 * moved tricks/ directory into test/.
292
293 * Rename {Staff,Lyrics,etc}VerticalExtent and friends into
294 VerticalExtent. Use predefined props to prevent inheritance.
295
296 * Multi_measure_rest_engraver now uses whichBar property to detect
297 barlines.  Hence, no need to keep Bar_engraver and
298 Multi_measure_rest_engraver together.
299
300 * Revised syntax for multiplied durations. Multiplied durations must
301 now directly follow the number +dots. example:
302
303         c4*3/4 -\f (                    % valid
304         c4-\f ( *3/4                    % invalid
305
306 * Halt configure if kpathsea not found. 
307
308 * Small refman fixes.
309
310 * Prevent tie - dot collisions.
311
312 * Bugfix: don't crash if hyphen spanner bounds are empty.
313
314 * Spanish glossary, courtesy David Gonzalez.
315
316 * Bugfix: all-font-metrics.cc: only lookup .tfm and check checksum if
317 the AFM file has a CheckSum field.
318
319
320 1.3.144.mb1
321 ============
322
323 * Fix ps specials to work together with \usepackage[french]{babel}
324
325 1.3.144
326 =======
327
328 * LilyPond-mode: show what's going on (font building) in *view* buffer.
329
330 * Added environment settings to ly2dvi and lilypond-book.
331
332 * Bugfix: make diff links diff into patch-dir, like make release.
333
334 * Bugfix: make diff/release for different configs.
335
336 * Bugfix: convert-ly: don't change item name ChordName to ChordNames.
337
338 * Added flag (LilyPond-kick-xdvi) to LilyPond emacs mode to allow
339 simultaneous view processes.
340
341 * Small doco fixes.
342
343 * Cosmetic bugfixes to chord names.
344
345 * Fixed order of piano pedal strings (Amelie).
346
347 * Changed embarrassing 'chorda' to corda (Thanks, Amelie).
348
349 * Bugfixes: ly2dvi: empty tagline, don't fail if gettext.py can't be
350 imported, check for linewidth before indexing, copy midi output.
351
352 1.3.142.rz1
353 ===========
354
355 * Added "hacky" drum notation/midi. See input/tricks/drums.ly and
356   ly/drumpitch.ly. Moved midi-instruments to scm.
357
358 * Added temporary nested staffgroups/choirstaffs support
359   use Context InnerStaffGroup / InnerChoirStaff.
360
361 1.3.143.uu1
362 ===========
363
364 * Bugfix: hairpin that hangs on otherwise empty column should not
365 collapse into flat line. Inserted sanity check in Interval::center().
366
367 * Programmable stem-attachments for note heads.
368
369 * Set default empty instrument name for Staff, to avoid weird effects for
370 named grand staffs.
371
372 * remove various entries from mutopia/
373
374 1.3.143
375 =======
376
377 * Glossary bugfixes for lilypond code.
378
379 * Bugfix: don't crash if dy or y not set in Beam.
380
381 * Doco updates: moved contents of tricks chapter to input/tricks,
382 inserted lilypond-book tutorial, added polyphony section.
383
384 * Score.skipTypesetting skips over already or not yet corrected music, thus
385 speeding up running times and score debugging. (Includes bugfix relative to
386 patch submitted to list.)
387
388 1.3.142.jcn1
389 ============
390
391 * Mup2ly preprocesses and extracts all plain notes.
392
393 * Bugfix: patch in $(outdir)
394
395
396 1.3.142
397 =======
398
399 * some mup2ly progress.
400
401 * Bugfix: ly2dvi: don't include empty set fo latexheaders, don't use
402 python-1.5.2 abspath func.
403
404 * Setup for new mup converter, based on pmx2ly.
405
406 * Bugfix: lilypond-book: accept \documentclass{article}.
407
408 * scripts/update-lily.py: fancy source rebuild update tool that we're
409 probably not going to use on www.lilypond.org.  Check it out!
410
411 * Bugfix: building of topdocs.
412
413 1.3.141.hwn2
414 ============
415
416 * Fix: instrument names on piano staffs.
417
418 * Bugfix: don't left-align absolute dynamics.
419
420 * Bugfix: don't make spacing rods for absolute dynamics.
421
422 * Various bugfixes for examples (thanks Laura!).
423
424 * Bugfix: clean up of hairpin ending logic. Crescendi start under
425 notes now.
426
427 * Don't substitute  '\ ' for  '\_' in lyrics. (Suggestion by Roy Rankin)
428
429 * In computing text lengths handle the following cases \['`"^_]. (the same)
430
431 * Made directories input/no-notation, input/ascii-art
432
433 * Doco fixes.
434
435 * Beat repeats, double measure repeats; removed repeat sign character
436 from the font (WARNING: FONT CHANGED).
437
438 * Cleanups in (de)crescendo code, fixed continued (de)crescendi.
439
440 * German chords (Rune Zedeler)
441
442 1.3.141
443 =======
444
445 * po update.
446
447 * Renamed remaining mudela -> lilypond (except for old change logs).
448
449 * Dropped Solo-Cello-Suite II and gnossienne-4 from ./mutopia, as
450 they're now accessible throug the ports.
451
452 * Fixed compilation of lots of examples.
453
454 * Convert-ly: added and fixed some conversions.
455
456 * Doco updates.
457
458 * Ly2dvi: don't hang compilation process: run latex in batchmode.
459
460 * Some ly2dvi updates.
461
462 * Junked cruft from makefiles.
463
464 * Added message about make help at end of configure.
465
466 * Some documentation updates.
467
468 * Convert-ly: added some missing rules.
469
470 * Ly2dvi: changed footer (and header) macros to match mutopia headers again.
471
472 * Convert-ly: always insert or update version number.  New option:
473 --assume-old will apply all conversions if version cannot be
474 determined.
475
476 * Small documentation fixes.
477
478 * Removed default (font-shape . italic) settings from TextScript and
479 TextSpanner.
480
481 * Moved ports section of mutopia to mutopia/ports.  Fixed make
482 bootstrapping.  Added sync target, synced with www.mutopiaproject.org.
483
484 * Bugfix: ly2dvi sets footers, headers, tagline.  Pagenumbering on by default.
485
486 1.3.140.hwn1
487 ============
488
489 * input/trick/boxed-molecule.ly : show how to draw boxes around grobs.
490
491 * added font-shape caps, input/test/caps.
492
493 * Added minimum-length for hairpin. Unified Tie::set_spacing_rods and
494 Slur::set_spacing_rods into Spanner::set_spacing_rods
495
496 * Small doco fixes.
497
498 1.3.140.mb1
499 ===========
500
501 * Bugfix: Some more examples in input/test/ work again.
502
503 * bugfix: cautionary accidentals
504
505
506 1.3.140
507 =======
508
509 * Coriolan gets mutopia-id 57.
510
511 * Experimental start of ports to mutopia archive.
512
513 * Bugfix: ly2dvi: added letter support, catch indexing with unknown
514 papersize names.
515
516 * ly2dvi: removed warning message and changed --set=papersizename= to
517 --set=papersize=.  This fixes mutopia letter-targets.
518
519 * Small fixes to Coriolan.
520
521 * Bugfix: don't typeset suicided multi-measure-rests, don't set
522 multi-measure-rests spanning less than one measure.
523
524 * Bugfix: line-column-location.
525
526 * Allow markup text for crecscendoText and decrescendoText.
527
528 * Changed part combiner's a due text: `a2 to a2.
529
530 * Bugfix: info direntries.
531
532 * Automated fixing of info structure.  Build now stops on info errors.
533 This should robustify documentation and website builds.  To undo this,
534 remove the target `info: check-info' from Documentation/user/GNUmakefile.
535
536 1.3.139.hwn1
537 =============
538
539 * Move Multi_measure_rest up/down in combined parts.
540
541 * Renamed FollowThread into VoiceFollower, followThread into
542 followVoice.
543
544 * lilypond-book: changed nonfragment into nofragment 
545
546 * Cleanups for ledgered rests.  
547
548 * Bugfix; don't create RhythmicStaff if asking for Staff.
549
550 * Bugfix: sparseTies. 
551
552 * Reference manual: hara kiri, font selection
553
554 * changed font-point-size into font-design-size
555
556  
557 1.3.139
558 =======
559
560 * Documentation build fixes.
561
562 1.3.138.hwn1
563 ============
564
565 * Documentation updates
566
567 * Added -e,--evaluate=CODE, to evaluate scheme from the command
568 line. Practical application:
569
570         -e "(set-lily-option 'midi-debug #t)'
571
572 Removed command-line options -T, -t, -Q, -x.
573
574 * Changed point-and-click. Now it should be set to a procedure, e.g.
575
576         (set! point-and-click line-column-location)
577
578 Added convert-ly rule.  
579
580 * Bugfix: use aliases not only for creating contexts, but also for
581 referring to them. This fixes \clef "percussion" in rhythmic staffs.
582
583 * removed \textscript.  
584
585 1.3.137.jcn4
586 ============
587
588 * Bugfix: ly2dvi: handle input files with multiple extensions.
589
590 * Minor doco updates.
591
592 * Bugfix: ly2dvi: can't remove cwd on Solaris.
593
594 * Better --enable-conf=CONF message, better INSTALL.tely documentation.
595
596 * Bugfix: built of Documentation/user for different conf=CONF.
597
598 * Don't append "." to version string without my_patch_level.
599
600 * Faked titling for tutorial example.
601
602 * Bugfix: don't override GUILE environment settings.
603
604 * Small refman fixes.
605
606 * Better tutorial orchestral score example.
607
608 * Bugfix: input/test/hshift.ly
609
610 * Fixed looks of configure options.
611
612 * Bugfix: ly2dvi: linewidth < 0.
613
614 * Bugfix: documentation build: fixed two macros in refman that
615 makeinfo groks, but make texi2dvi barf.
616
617 * Bugfix: listing of engraver contexts in autogenerated documentation.
618
619 1.3.137.uu1
620 ===========
621
622 * changed name of ly-[sg]et-elt-property into ly-[sg]et-grob-property
623
624 * Added  function (ly-music-name ), returns the name of a music objects as a
625 string. 
626
627 * Bugfix: \relative on \chords is no-op. (Added Un_relativable_music)
628
629 * Refman documentation fixes.
630
631 * Property undefine:
632
633         \property X.Y \unset
634
635 undoes \property X.Y = Z. \unset is confusingly asymetric with \set.
636
637 * removed ChordNamesVoice
638
639 * added \alias STRING ; to translator definition, so \name
640 RhythmicStaff, \alias Staff is found for \property Staff.XXX
641
642 1.3.136.hwn2
643 ============
644
645 * Documentation updates
646
647 * Check whether  property definitions are duplicate.
648
649 * Percent style repeats. 
650
651 * Named music creation: (ly-make-music "Note_req")
652
653 * Added noteheadtypes: "slash","triangle","xcircle" ; completed
654 noteheadtype "cross" ; added (ugly) tab-clef ; changed percussion
655 clef, fixed "repeat dots on even number of stafflines"-bug. (Rune
656 Zedeler)
657
658 * Use complete version number for /var/lib/texmf/ paths.
659
660 1.3.136.jcn3
661 ============
662
663 * Finished () beautification.
664
665 * Bugfix: in grob-description.scm, change Script::after_line_breaking into
666 before_line_breaking.
667
668 * Bugfix and small addition to convert-ly.
669
670 * Bugfix: ly2dvi: create --outdir before copying there.
671
672 * Bugfix: mutopia letter target.
673
674 * Some bugfixes and checks for killed spanners, reducing warnings in
675 Coriolan from 1143 to 283.  Part combiner still gives rise to many
676 foreseeable warnings.
677
678 * Bugfix: install gettext.py into @datadir@/python and use that path
679 from ly2dvi.  Debian or RedHat installs could/should move gettext.py
680 into /usr/share/lib/python/1.x/site-packages or so.
681
682 * Bugfix: move the making of \makelilypondpiecetitle to actually
683 included part of lilyponddefs.tex.
684
685 * Bugfix: ly2dvi, tex.scm: set empty tex definitions to \relax.  This
686 fixes ly2dvi'ing of scsii.
687
688 * Bugfix: completed renaming of `cautionary' to `reminder' for broken
689 tie accidental feature.  (`Cautionary' is reserved for parenthised
690 accidentals.).  This fixes all tie and accidentals bugs.
691
692 * Bugfix: added dynamic-interface to DynamicText grob.  This fixes
693 loose dynamics.
694
695 * Bugfix: enable Voice_devnull_engraver.  This fixes loose scripts and
696 double dynamics.
697
698 * Bugfix: don't dump core on some programming errors (2x).
699
700 * Grand Coriolan revision after copyright free reprint of a 1862-1865
701 original edition.  This revision also revealed fair amount of bugs.
702 Previous versions arguably might have worn some small stains of
703 editorial decisions dated 1936.  Arguably, because most of these small
704 changes can be found in other editions, some of which even are
705 commonplace modernisations.
706
707 1.3.136
708 =======
709
710 * Bugfix: set dependency for direction-source in script-engraver. This
711 fixes core-dump problem when stacking multiple scripts containing
712 staccato dots.
713
714 * Put TFM files under $VARTEXFONTS (/var/lib/texmf,
715 typically). PK files are put in the right spot
716 automatically, and dirs are also created automatically.
717
718 A change to mktexnam is still required -- add  
719
720         MT_DESTROOT=foobar
721  
722 before line 161.
723
724 1.3.135.jcn3
725 ============
726
727 * Internationalised ly2dvi.py (thanks to GNU Solfege), and nl.po update.
728
729 * Coriolan fixes.
730
731 * Bugfix: (first and also) write global header fields; this fixes
732 `latexpackages' and ly2dvi.
733
734 * Bugfix: website build.
735
736 * Fixed titling: cleaned out titledefs.tex for use by ly2dvi.
737
738 1.3.134.mb1
739 ===========
740
741 * minor documentation fix.
742
743 1.3.134.jcn2
744 ============
745
746 * Bugfix: Pitch::transpose ().
747
748 * Small doco update.
749
750 * Silly build and website-build fixes.
751
752 * convert-ly: added conversions, converted glossary, refman and examples.
753
754 1.3.134.hwn1
755 ============
756
757 * Rewrote ly2dvi, moved the old one to buildscripts/. The result is
758 490 lines code in stead of 1230.
759
760 * Modified kpathsea lookup so it will find system-installed feta TFMs first.
761 Now lily doesn't clutter the CWD with .TFM files.  Kpathsea is fun if you like
762 pasta.
763
764 1.3.133.jcn5
765 ============
766
767 * Bugfix: fixed point-and-click broken in jcn2.
768
769 * convert-ly: Added and fixed various entries (our strings with optional "" re\ally suck).
770
771 * Small ez play tweaks.  Guess I'm a sucker too.
772
773 * Easy-play bugfixes: don't do showpage for each notehead, output
774 staff-symbol first, moved to lily.ps.
775
776 * Bugfix: don't print so many decimals in ps output.
777
778 * Bugfix for refman example.
779
780 * Added some part combiner doco.
781
782 * Bugfix: a broken tie only generates an accidental if it would differ
783 from an untied note.
784
785 1.3.133.hwn1
786 ============
787
788 * Center instrument name on staffs.  Use
789 Side_position_interface::align_elements_to_refpoints.
790
791 * staff-symbol-referencer-interface, general cleanup of
792 interface-description.scm
793
794 1.3.133.mb3
795 ===========
796
797 * Bugfix: Time and key signatures in MIDI.
798
799 * Bugfix: Tempo changes in MIDI work again.
800
801 * Bugfix: ly2dvi file.tex works again.
802
803 * Bugfix: don't stretch the space after the last score line.
804
805 1.3.132.jcn3
806 ============
807
808 * Tied notes at a linebreak repeat their accidental.
809 F
810 * Removed some cruft from lily/include/.
811
812 * Bugfix: tied notes in chords sometimes got stuck in MIDI output
813 (thanks Mats).
814
815 * Added some example bug files, taken from Coriolan
816
817 * a2-engraver: \property noDirection: don't force direction when part-combining (for StaffCombining).
818
819 * text-spanner: don't repeat edge text for broken edge.
820
821 * Coriolan fixes, titling, font setting, header info, cello octave
822 (yes, notated different from bass; all agree) at end.
823
824 1.3.132.hwn1
825 ============
826
827 * Allow declared repeat variant string
828
829 * Bugfix: break alignment at right edge.
830
831 * Easy-notation: letters in circular note heads.  
832
833 * Debian patch by Anthony Fok.
834
835 1.3.131.jcn2
836 ============
837
838 * Fixes for ascii-script output.  Stylesheet needs some work, just as
839 PostScript output.
840
841 * Bugfix: convert-ly --to accepts argument.
842
843 * Prepared Petites Preludes for (first?) submission to mutopia.
844
845 * Bugfix: out-letter/%.ps generation for mutopia.
846
847 * Bugfix: don't use $(message ) in makefiles; some versions of make
848 choke on this.
849
850 * Bugfix: ly2dvi.py: don't add magic `//' to TEXINPUTS,MFINPUTS; this
851 chokes kpsewhich 3.3.1 (bug report filed).
852
853 * Bugfix: file-path.cc: don't interpret relative path as system root.
854
855 * Bugfix: --srcdir install.
856
857 1.3.131.hwn1
858 ============
859
860 * Documentation: piano pedals, breath marks, tutorial fixes,
861 convertors, autochange, \override/\set/\revert, multi-stanza lyrics,
862 \outputproperty
863
864 * Bugfix: another fix for collapsing dynamics with partcombine.
865
866 * Bugfix: add functionality of
867 Side_position_interface::self_align_callback() into
868 Align_interface::align_elements_to_extents(). Otherwise, combining
869 both (such as in a break alignment) leads to weird behavior: the
870 spacing information is written halfway during a callback sequence,
871 leading to weird results.
872
873 This fixes input/test/orchestscore.ly
874
875 * Bugfix: x-offset of stem was off by 0.5 stem thickness.
876
877 * Add grob-property attachment-angle: angle for stem to attach to note head. 
878
879 1.3.130.hwn2
880 ============
881
882 * Documentation: notation contexts.
883
884 * 2001 (c) search-replace patch.
885
886 * Center rehearsal marks by default.
887
888 * Fixing collapsed dynamics with part-combine
889
890 * \property tupletNumberFormatFunction selects formatting function for
891 tuplet brackets.
892
893 1.3.130.jcn5
894 ============
895
896 * Added some handy targets to example makefile: make/ly.make.
897
898 * Bugfix: file-path.cc; absolute directories start with directory separator.
899
900 * Makefile template using dependencies: make/ly.make.  Needs some
901 simple examples.
902
903 * Depencies fixes for lilypond, ly2dvi (still kludged) and lilypond-book.
904
905 * nl.po update.
906
907 * Bugfixes and cleanups of mainly main.cc.
908
909 * Enabled changing default tex output extension to ".lytex".
910
911 * Bugfix: use init file extension .ly for extensionless input.
912
913 * Ignore outname = ; settings in output blocks.
914
915 * Revised input and output naming, now it's possible to include a
916 directory in the output name.  This should fix some input/init name
917 related bugs.
918
919 * Fixed dependencies for outdir in lilypond-book and ly2dvi.
920
921 * Uniformised tags to read: Generated automatically by: <program>.
922
923 * Install make/* and stepmake/stepmake/* to enable making use of
924 stepmake templates.
925
926 * Added example mutopia makefile: make/ly.make.
927
928 * Lilypond-book now writes lily-<HASH>.ly files.
929
930 * Bugfix: don't display repeat colons for zero height bar lines; fixes
931 repeat barlines in lyrics.
932
933 * Fixed markup definition and implementation, added baseline-skip
934 property; this makes multi-line markup text a lot easier.
935
936 * Bugfix: chordChanges works with other rhythm of accompaniment, and
937 silly chord name typo fixes.
938
939 1.3.130
940 =======
941
942 1.3.129.jcn2
943 ============
944
945 * Implemented Phrasing slurs, copied from slur.
946
947 * More hooks for chord pitch name overrides, see
948 input/tricks/german-chords.ly.
949
950 1.3.129.hwn1
951 ============
952
953 * Bugfix: bar lines in lyrics.
954
955 * Bugfix: vertical positioning of isolated dynamics: absolute dynamics
956 are only supported by the note they are on, in absence of crescendi.
957
958 * Documentation of ancient clefs, custodes (Jurgen Reuter)
959
960 * Small documentation fixes: rehearsal marks, -f option, markup, instrument names
961
962 * Bugfix: rounding errors caused errouneous ledger lines for
963 #'staff-space = 1.3
964
965 * Subsubtitles, \bar "";  (Rune Zedeler)
966
967 1.3.129
968 =======
969
970 * Small doco fixes.
971
972 * Removed duplicated engraver hierarchies from coriolan and orchestral
973 examples.
974
975 * Added user control for devnull engravers. Default: switched off 
976
977 * Small doco fixes.
978
979 1.3.128.hwn1
980 ============
981
982 * Doco fixes
983
984 * Glissando fix (Rune Zedeler)
985
986 1.3.128.mb2
987 ===========
988
989 * Made the percussion clef somewhat fatter, thanks to Rune Zedeler. 
990 Note: font updated! Added this clef to input/regression/clefs.ly.
991
992 * updated \endincipit macro and the examples input/test/incipit.ly and
993 input/regression/clefs.ly
994
995 1.3.127.jcn3
996 ============
997
998 * Mutopia preparations and Coriolan fixes.
999
1000 * Small beam cleanup, changed y-position-hs,height-hs user overrides to
1001   staff-position,height (height:name suggestions?), now in staff-spaces.
1002
1003 * Beam (y, dy) calculations now as list of scm functions.
1004
1005 * Added cleaned-up excerpt from Coriolan for tutorial.
1006
1007 * Bugfix: beam looks at smallest gap for auto knees.
1008
1009 * Property-description-fix: allow auto-knee-gap to be set to false.
1010
1011 * Small doco fixes.
1012
1013 * Bugfix: repeats without alternatives.
1014
1015 1.3.127.uu3
1016 ============
1017
1018 * Bugfix: staccato dot on outer staff lines.
1019
1020 * Documentation: lots of updates and revisions.
1021
1022 * \repeat tremolo for single notes, \repeat tremolo 4 c16
1023 produces the same effect as c4:16
1024
1025 1.3.126.mb1
1026 ===========
1027
1028 * ly2dvi: bugfix --number.
1029 Added header field latexpackages, see input/test/orchestscore.ly
1030
1031 * \mark: add possibility to use font selection markup, see input/test/mark.ly
1032
1033 1.3.127
1034 =======
1035
1036 * Grand Refman restructuring, featuring outline mode.
1037
1038 * Fixed missing menus and cross references.
1039
1040 * Coriolan fixes and updates.
1041
1042 * Bugfix: a2-engraver and *devnull_engraver recognise alternative
1043 'oneXXX' 'twoXXX' naming convention.
1044
1045 * Enabled markup text to be used for instrument names.
1046
1047 * Bugfix: interface description of System_start_delimiter
1048
1049 * Slur attachment fix (thanks, Han-Wen)
1050
1051 1.3.126.hwn1
1052 ============
1053
1054 * Bugfix in Global_translator::run_iterator_on_me (): only run
1055 iterator::process if iterator::ok() is true.
1056
1057 * Bugfix: when iterating empty sequential-music, start out with an
1058 invalid iterator.
1059
1060 * Bugfix: length calculation for volta repeat music with too few
1061 alternatives.
1062
1063 * Bugfix: print different string for first printed alternative in
1064 volta repeat music with too few alternatives, eg. 1.-4.
1065
1066 * Cleaned up bugs/ directory
1067
1068 * Be less intelligent about default font backup, just load cmr10
1069
1070 * Generated documentation: sort and uniq Grob lists of contexts.
1071
1072 1.3.126
1073 =======
1074 * Doco:
1075   - fixes,
1076   - updates,
1077   - rewrites.
1078   - Changed license to FDL.
1079   - added index entries
1080   - tutorial: 0-th tune
1081   - literature overview.
1082   - removed development stuff.
1083
1084
1085 1.3.125.jcn3
1086 ============
1087
1088 * Clef workarounds for Coriolan.
1089
1090 * Moved feature and regression-test input to input/feature, input/regression.
1091
1092 * Added some regtests.
1093
1094 * Bugfix: auto-knee for beam over rest.
1095
1096 * Fixes for Coriolan and viola Solo Cello Suites.
1097
1098 * Replaced generic 'collapse-height' for System_start_delimiter with
1099 brace-collapse-height, bracket-collapse-height, bar-line-collapse-height.
1100
1101 * Bugfix: measure System_start_delimiter's *-collapse-height in staff-space.
1102
1103 * Fixed some info and html links.
1104
1105 * Automatic knees now on by default for vertical distances >= 7 staff-space.
1106
1107 1.3.125
1108 =======
1109
1110 * Updated Coriolan.
1111
1112 * Bugfix: beams with no stems.
1113
1114 * Cleanup automatic knees, junked calc_interstaff_dist.
1115
1116 * Automatic knees now on by default for vertical distances >= 7 staff-space.
1117
1118 * Bugfix: automatic interstaff knees.
1119
1120 1.3.124.hwn1
1121 ============
1122
1123 * Auto change music bugfix; removed Auto_change_music type
1124
1125 * Bugfix: add copy ctors to all relevant iterators, this fixes various
1126 combinations with auto-change and part-combine.
1127
1128 * Bugfix: glissandi with smaller rhythms parallel.
1129
1130 * Add printfilename option to @lilypondfile 
1131
1132 * Include Grobs in Context self-documentation; remove "Grob " from
1133 node name for grob documentation.
1134
1135 1.3.124
1136 =======
1137
1138 * Tutorial fragment on ly2dvi.
1139
1140 * Bugfix: also print path of mismatched .TFM file.
1141
1142 * Some callbacks to allow manipulation of fonts and molecules from
1143 Scheme.  See input/test/molecule-hacking.ly ; allows for a kludged
1144 "parenthesize notehead" command.
1145
1146
1147 1.3.123.mb1
1148 ===========
1149
1150 * Added percussion clef. Note: font updated!
1151
1152 * Bugfix: font style Large works regardless of font-shape.
1153
1154
1155
1156 1.3.123
1157 =======
1158
1159 * Added macro \turnOff to remove volta brackets or any other 
1160   graphical objects, see input/test/volta.ly or mutopia/J.S.Bach/pa.ly
1161
1162 * Removed the "none" clef, use Clef \override #'transparent = ##t instead.
1163
1164 * Bugfix ly2dvi: paper variable orientation = "landscape" works.
1165
1166 * Allow for wildcards in the font style alist to give more robust font
1167 selection handling. Ignore shape and series for the font families:
1168 braces, dynamic and music.
1169
1170 * Bugfix: stem and dstem font symbol.
1171
1172 1.3.122.jcn3
1173 ============
1174
1175 * More website link fixes, split and nonsplit.
1176
1177 * Non-splitting makeinfo website fix.
1178
1179 * Doco fixes, included feature document into main documentation.
1180
1181 * lily/chord.cc (member_notename, lower_pitch): gh_member returns a list of
1182 which car is the member!
1183
1184 * Bugfix: added equal_p to list of smob functions.  This fixes
1185 behaviour of property chordChanges.
1186
1187 * More guile-1.4.1 snapshot fixes, generated doco.
1188
1189 * Doco fixes.
1190
1191 * Small fixes for guile-1.4.1 snapshot which is more strict on symbols
1192 vs strings.
1193
1194 1.3.122
1195 =======
1196
1197 * Small lilypond-book cleanups.
1198
1199 * Bugfix: fix lyric extenders.
1200
1201 1.3.121.mb2
1202 ===========
1203
1204 * Bugfix: svenska.ly and norsk.ly
1205
1206 * Bugfix: tied-over accidentals handled more correctly.
1207
1208 1.3.121.jcn2
1209 ============
1210
1211 * Renamed last instances of musical_*pitch to pitch.
1212
1213 * Bugfix: actually read pitch value in \pitch #(make-pitch ...)
1214
1215 * Bugfix(?): always allow explicit duration entry.
1216
1217 * Fixed .po charsets for upcoming msgfmt release (Bruno Haible).
1218
1219 * Some doco updates and fixes.
1220
1221 * Bugfix Ly2dvi: reset LC_ALL and LC_LANG too.
1222
1223 * Commented out dubious undocumented $(PATHSEP) from lilypond-vars.make
1224
1225 * Replaced some instances of [$(outdir)/].. with $(pwd), these may
1226 break --srcdir builds and texi2dvi.
1227
1228 * Several fixes for --srcdir build, allowing build from read only media.
1229
1230 * Moved make/toplevel.make.in to less unusual GNUmakefile.in
1231
1232 * Bugfix: changed beam thickness to .48 staff-space.
1233
1234
1235 1.3.120.uu1
1236 ===========
1237
1238 * Ancient font update (Juergen Reuter)
1239
1240 * Syntax change: paper_xxxx -> paperXxxx
1241
1242 * Some documentation updates.
1243
1244 * Doc-string cleanups, and completization.
1245
1246 * Changed Pedal string properties: unify stop/start/stopStart
1247 properties.  Changed pedal identifier syntax.
1248
1249 * bugfix: do change clefs if full-size-change is *not* set.
1250
1251 1.3.120
1252 =======
1253
1254 * Removed texi->dvi cancellation and removed --clean option from texi2dvi
1255 command line; this fixes generation of dvi files in Documentation/user.
1256 Strange bug in texi2dvi.
1257
1258 * Fixed bibtex url (reported David Raleigh Arnold), added support for
1259 bibtex2html, which is in Debian.
1260
1261 * Added direntries to toplevel texi documents, for info files
1262 (reported Thomas Klausner).
1263
1264 * Removed some empty files.
1265
1266 * Make a Stem::height callback, to prevent early brew_molecule
1267 call. This fixes input/bugs/triplet.ly.
1268
1269 * Manual fix for generated -interfaces documentation.
1270
1271 * Small changes for texinfo-4.0a prerelease.
1272
1273 * Added a --force option for makeinfo .txt generation.
1274
1275 * Changed debian ftp urls according to new package pools layout.
1276
1277 * Debian update, including menu/node fixes to development.texi (Anthony Fok).
1278
1279 * Bugfix: lilypond-book (Tom Cato Amundsen).
1280
1281 * Increase the size of dynamics, adding new sizes of feta-din (Mats Bengtsson).
1282
1283 * \clef "none"; no clef, but whitespace (Mark Hindley).
1284
1285 * Website fix: don't mv but cp .pngs do deep-html dirs.
1286
1287 * Bugfix: chords examples (James Hammons).
1288
1289 * Warning fix.
1290
1291 1.3.119
1292 =======
1293
1294 * Added some feature examples.
1295
1296 * Bugfix for \partial and auto-beamer.
1297
1298 * Bugfixes: warnings.
1299
1300 * More feature examples.
1301  
1302 * Renamed some scm files.
1303
1304 * Some more documentation fixes (move hacking.texi into normal
1305 documentation.)
1306
1307 * Bugfix: header protection in parser.yy
1308
1309 1.3.117.mb1
1310 ===========
1311
1312 * Bugfix: fetdefs.tex: don't redefine the standard TeX macros 
1313   \sharp,\natural or \flat.
1314
1315 * Bugfix: ly2dvi: handle the --landscape option. Leave the textheight
1316   calculation to the geometry package. Remove some dead code.
1317
1318 * Bugfix: correct font-family for TextSpanner.
1319
1320 * Bugfix: script-engraver.cc: forced script directions work again.
1321
1322 1.3.117.jcn2
1323 ============
1324
1325 * Resurrected direct scheme output, ie. lilypond -fscm
1326
1327 * Warning message fixes and po update.
1328
1329 * Bugfix: debian package.
1330
1331 * Resurrected direct postscript output, ie. lilypond --output-format=ps.
1332
1333 1.3.117.hwn1
1334 ============
1335
1336 * Broken left-edge of volta, Again. Now the Final Fix.
1337
1338 * Smobified Score, smobified Music_output_def, removed Identifier.
1339 Reorganised Scope and Scheme_hash_table to this end.
1340
1341 * Small cleanups in relations between
1342 Paper_def/Paper_outputter/Paper_stream.
1343
1344 * lilypond syntax update: deprecate $ syntax for identifiers; Provide
1345 convert-ly method.
1346
1347 * Rename: don't use grobs in performer methods.
1348
1349 1.3.116.jcn4
1350 ============
1351
1352 * Bugfix: don't set beaming for outer half beams.  This fixes some
1353 slurs attached to stem end.
1354
1355 * Bugfixes for (de)crescendo spanners and generic text spanners
1356
1357 * Bugfix: Slur::set_interface (): don't overwrite, but copy attachment
1358 property.
1359
1360 * Started documenting some new or not too wel documented features.
1361
1362 * Bugfix: only assume making deep split html documentation when
1363 makeinfo --version 4.0.jcn2 is available.  Although the documentation
1364 should now build with plain makeinfo 4.0, some links will be broken.
1365
1366 * Bugfix: lilypond-book: check for .texidoc files *after* running lilypond.
1367
1368 1.3.116.mb1
1369 ===========
1370
1371 * Bugfix: convert-ly.py: Correct syntax for inserted \version, 
1372   \push -> override happened in 1.3.111
1373
1374 * Bugfix: corrected documentation of timeSignatureStyle, removed all
1375   `unknown type' in the property documentation.
1376
1377 * Added font family typewriter (cmtt).
1378
1379 * Bugfix: some examples updated
1380
1381 * Bugfix: beamed grace notes (reinstate process_music () call in
1382 Grace_engraver_group::process() )
1383
1384 * Rename: Global_translator::process -> Global_translator::one_time_step (). 
1385
1386 1.3.115.jcn2
1387 ============
1388
1389 * Bugfix: lilypond-book.py: only include exisisting .texidoc files.
1390
1391 * Lilypond: don't write empty header field file if header field does
1392 not exist (ie, empty .texidoc files).
1393
1394 * Turn on info generation.
1395
1396 * Fixes to dynamic placement and crescendo spanners.  Incomprehensible
1397 ``width-correct'' hack remains.
1398
1399 * Bugfix: auto-beamer beaming over bar lines.
1400
1401 * Bugfix: consecutive and non-consecutive glissandi.
1402
1403 1.3.115.hwn1
1404 ============
1405
1406 * Bugfix: multi-measure rest ends, chords. 
1407
1408 * Some back end documentation
1409
1410 * Rename element to grob in .scm files.
1411
1412 1.3.114.mb1
1413 ===========
1414
1415 * Bugfix: convert-ly
1416
1417 * Bugfix: Included FAQ.txt in the top directory
1418
1419 * Allow for instrument names with multiple lines and font selection,
1420   see input/test/coriolan-margin.ly
1421
1422 * Added example for figured bass: input/test/figured-bass.ly
1423
1424 1.3.114.lec1
1425 ============
1426
1427 * abc2ly fixes
1428
1429         * allow a g_8 clef to be specified by treble8
1430
1431         * allow full mode names, as well as 3 character abbreviations
1432
1433         * support breves and longas (no abc program that I know of has
1434           longas, but a couple of them have breves, and one can always hope.)
1435
1436         * translate text annotations beginning with _ and ^ for above and 
1437           below the staff.
1438
1439         * quote lyrics syllables with (
1440
1441         * handle real repeat syntax, for appropriately written ABC.
1442
1443         * %%LY slyrics now works for longer than one character lyric strings.
1444
1445         * N: fields are now in header.
1446
1447 1.3.114.uu1
1448 ===========
1449
1450 * Prepare for Music type-unification: remove all args from Music
1451 constructor, and set everything in the parser.
1452
1453 * Moved writing of \header strings feature from lilypond-book to lilypond. (1.3.114.jcn1)
1454
1455 * Bugfix: tied chords.
1456
1457 * Turn off .info creation by default.
1458
1459 1.3.114
1460 =======
1461
1462 * Moved all documentation from regtest to individual example files.
1463
1464 * Added feature to lilypond-book to write out \header texidoc string.
1465
1466 * Reincluded simple FAQ in tarball.
1467
1468 * Fixed lyrics with bar-enrgaver example.
1469
1470 * Renamed LyricVoice to LyricsVoice.
1471
1472 1.3.113.uu1
1473 ===========
1474
1475 * Checksums for AFM fonts: make sure that TFM and AFM files match.
1476 One FAQ less to be asked.
1477
1478 * Made point-and-click switchable, default: off 
1479
1480 * Bugfix: don't make multimeasure rests from failed span-requests.
1481
1482 * Bugfix: mark with string arguments, eg. letters..
1483
1484 * Bugfix: direction of staccato dots. 
1485
1486 1.3.113
1487 =======
1488
1489 * Added stems to font for use in markup text.
1490
1491 * Fixed markup text kerning, see input/test/metronome.ly.
1492   (Ugh, only feasible if kerning is first markup -- markup text should be revised.)
1493
1494 * Fixed molecule caching problem with stem-tremolo: fixes vertical
1495 positioning of stem-tremolo.
1496
1497 * Added forced slur direction (stemUp no longer implies slurUp) in
1498 cross-staff slur example.
1499
1500 * Fixes to Glissando and line-spanner.  Behaves reasonably across line
1501 breaks.
1502
1503 * Added: Align_interface::fixed_distance_alignment_callback that does
1504 not compute the extents of the to-be-aligned objects. This delays many
1505 brew_molecule() calls, because staff-height is no longer needed for
1506 aligning.
1507
1508 * Bugfix: allows linebreaks for some types of beam.
1509
1510 * Bugfix: add braces in larger size range; prevents "Unknown character
1511 127" messages, hopefully.
1512
1513 1.3.112
1514 =======
1515
1516 * Allow two consecutive glissandi.
1517
1518 * Note_head_line_engraver now also listenes to \property
1519 "followThread": Automagically connect note-heads when thread switches
1520 staff.
1521
1522 * Fixed american-chords example (except for o/, that waits for kerning fix).
1523
1524 * Added simple glissando line.
1525
1526 * Bugfix: broken text spanner (ie. crescendo)
1527
1528 * Bugfix: chord tremolos
1529
1530 * Bugfix: staff group brace
1531
1532 * Bugfix: volta repeats
1533
1534 * Resurrected clef _8 and ^8 syntax.  (This should be deprecated?)
1535
1536 1.3.111
1537 =======
1538
1539 * Fixed non-empty-text feature.
1540
1541 * Bugfix for Grob::has_extent_callback_b ()
1542
1543 * Added infrastructure for music property documentation strings.
1544
1545 * Syntax change: \notenames -> \pitchnames
1546
1547 * Changed syntax \push -> \override, \pop -> \revert. Add:
1548
1549         \property Context.Element \set #'foo = #bar
1550
1551 which  does a \revert followed by a \override.
1552
1553 * Documentation updates.
1554
1555 * Fixed typechecks for \push, \pop and \property
1556
1557 * Bugfix: Local_key_engraver.
1558
1559 * Fixes for lilypond-mode.el (patch by Mark Hindley)
1560
1561 1.3.110
1562 =======
1563
1564 * Fixed a mysterious typo in toplevel index.
1565
1566 * Enabled property-engraver.
1567
1568 * Cleanup in Auto-beam-engraver (still broken, because timings are off?)
1569
1570 * Collapsed all ``void Foo::create_grobs () { deprecated_process_music
1571 (); }'' occurences, and reactivated some disabled code (note-name,
1572 chord-name, custos, lyrics).  Reactivated Timing_translator using
1573 process_music ().
1574
1575 1.3.109.hwn1
1576 ============
1577
1578 * unsmob_element -> unsmob_grob
1579
1580 * Make a Slur::height callback, to prevent early brew_molecule
1581 call. This fixes cross-staff slurs.
1582
1583 * Bugfix: custodes style must be symbol, not string.
1584
1585 * do_creation_processing () -> initialize (), do_removal_processing ()
1586 -> finalize ().  Remove (do_)add_processing.
1587
1588 * Move Relative_octave_music::last_pitch_ into SCM, junk
1589 Transposed_music::to_pitch_, junked Time_scaled_music::{den_i_,
1590 num_i_}, Rhythmic_req::duration_, Melodic_req::pitch_
1591
1592 1.3.109
1593 =======
1594
1595 * Bugfix: resurrected point-and-click. 
1596
1597 * Use scheme object props for storing type predicates and doc-strings
1598 Dump global lists of properties into auto-documentation.
1599
1600 * Bugfix: extent callback for Rest, so  ledger lines don't disappear for
1601 rest-collisions.
1602
1603 * Removed some hair from chord code
1604
1605 * Rewrite of engraver pass scheme: try to make graphical objects in
1606 acknowledge_element()/process_acknowledged(), not in process_music()
1607
1608 * Remove Translator::status_ and associated code. Removes the need for
1609 various XXXX functions as wrapper for do_XXX functions.
1610
1611 * Search replace: Score_element -> Grob (Graphical object),
1612 {pre,post}_move_processing -> {stop,start}_translation_timestep,
1613 do_try_music -> try_music.
1614
1615 1.3.108
1616 =======
1617
1618 * Dropped ly_lists_equal for gh_equal_
1619
1620 * Removed Array from chord.
1621
1622 * Small bugfix to lilypond-mode.
1623
1624 * lily/part-combine-music-iterator.cc: fixed (switch `combineParts'
1625 property on), and removed Array.
1626
1627 1.3.107.uu1
1628 ===========
1629
1630 * Bugfix: don't call Crescendo::brew_molecule () too early if there is
1631 an absolute dynamic.
1632
1633 * Rename class Crescendo to Hairpin.
1634
1635 * Search/replace: Musical_pitch -> Pitch 
1636
1637 * More links in the backend documentation.
1638
1639 1.3.106.jcn2
1640 ============
1641
1642 * Cross compilation and info build fixes, really cancel all builtin
1643 rules, sigh.
1644
1645 * Generated documentation fixes: Generate all interface descriptions,
1646 separately, don't list non-set interface properties with element
1647 descriptions.
1648
1649 1.3.106.hwn1
1650 ============
1651
1652 * Deprecate `mudela' name: rename mudela to lilypond globally.
1653
1654 * construct Music_iterators decentrally.
1655
1656 * Make smob of Duration 
1657
1658 * Make smob of Musical_pitch.
1659
1660 * Move Repeated_music members into SCM. Length is computed via a SCM
1661 function. (todo: write SCM function to unfold all repeats. \apply for
1662 \midi)
1663
1664 * Remove Time_signature_change_req, \time is disguise for \property
1665 Score.timeSignatureFraction = ...
1666
1667 * \property barCheckNoSynchronize: don't reset measurePosition when
1668 finding a bbarcheck. This makes bar-checks for polyphonic music
1669 easier.
1670
1671 * elt property full-size-change for clefs.
1672
1673 * Bugfix: use Stem::dim_callback (), so brew_molecule () is not called
1674 too early.
1675
1676 * Bugfix: use extent of Note_head (iso. Note_column) for rest
1677 collisions, so Stem::brew_molecule() is not called too early.
1678
1679 1.3.105.jcn1
1680 ============
1681
1682 * Makeinfo html documentation generation fixes.
1683
1684 1.3.105.uu1
1685 ===========
1686
1687 * Remove Bar_req, \bar is now a frontend to setting Score.whichBar
1688
1689 * Move Context_specced_music::translator_{type,id}_str_ into music
1690 properties.
1691
1692 * Don't make line breaks during note playing.
1693
1694 * Clef engraver rewrite. Clef-engraver is now controlled through
1695 properties clefPosition, clefGlyph, clefOctavation. The \clef command
1696 is just a front-end to these, see scm/lily.scm, function
1697 clef-name-to-properties.  See also input/test/manual-clef.ly
1698
1699 1.3.105
1700 =======
1701
1702 * Bit of temporary makefile hacking to stay in sync with makeinfo patch.
1703
1704 * Separate interface description (test phase).
1705
1706 * Makeinfo --html split fix: http://appel.lilypond.org/fred/software/texinfo-4.0.jcn2.diff
1707
1708 * Use headers for makeinfo html output.
1709
1710 * Made some --scrdir build fixes.
1711
1712 1.3.104.uu1
1713 ===========
1714
1715 * Smobified molecule, and cache molecule (ie. generate each molecule
1716 only once).  Lily should be faster now. (approx. 6 % ?)
1717
1718 * Coded properties-to-font-name in C++. Measured speedup: 14% (wtk1-fugue2)
1719
1720 * Use music properties for Request data.
1721
1722 1.3.104
1723 =======
1724
1725 * Documentation build fix: don't run LilyPond when generating plain info doc.
1726
1727 * Resurrected info documentation and made cross links between manual
1728 and generated doco, some small fixes.
1729
1730 * Made small time signature style fix.
1731
1732 * Generate texinfo iso html documentation.
1733
1734 * Added x-references for elements->engravers and engravers->contexts.
1735
1736 * Fixed number font listing in style sheet.
1737
1738 * Fixed default font settings for text items, text-item now uses
1739 font-interface's alist-chain.
1740
1741 * Renamed property AutoBeam to autoBeamSettings to avoid confusion
1742 about non-existing AutoBeam element.
1743
1744 * Mensural clefs (courtesy Juergen Reuter)
1745
1746 1.3.103.lec1
1747 ============
1748
1749 * abc2ly enhancements
1750
1751         * %%LY comments
1752
1753         * explanation of rationale for %%MIDI nobarlines
1754
1755         * supports -8va as a syntax for tenor clef
1756
1757         * pushing the Staff.timeSignatureStyle property
1758
1759         * parses space between key letter and mode in K: statement
1760
1761         * default for guitar chords is above the staff
1762
1763         * fix for translation of :: repeat
1764
1765 1.3.103
1766 =======
1767
1768 * Translated auto-beam properties to alist.
1769
1770 * Rewrite of tfmtoafm in scm.
1771
1772 * Rewrite of emacs LilyPond mode, based upon auctex interface.
1773
1774 * Chord name fixes and additions (Atte Andr'e Jensen)
1775
1776 * ly-get-mus-property, ly-set-mus-property: set properties of Music
1777
1778 * Move Span_req::span_dir_ into Scheme
1779
1780 * removed numberOfStaffLines, staffSpace. Use StaffSymbol \push
1781 staff-space, line-count
1782
1783 * removed minVerticalAlign, maxVerticalAlign; use VerticalAlignment
1784 \push #'threshold = #(MIN . MAX)
1785
1786 * \property tremoloFlags can be set anywhere now
1787
1788 * \apply #function music 
1789
1790 * Bugfix: padding of dots.
1791
1792 * Generate documentation for separate engravers as well as for contexts.
1793
1794 * Move some reference manual into the  SCM documentation system.
1795
1796 * Bugfix: fixed hyphen spanners.
1797
1798 1.3.102
1799 =======
1800
1801 * Fixed bracket, and made some other PostScript code fixes.
1802
1803 * Silly font initialisation fix for paper19 non-feature.
1804
1805 * Automatic engraver/property documentation infrastructure. 
1806
1807 * Fixed system-start braces
1808
1809 * Fix for forgetAccidentals: do print accidentals, just don't remember
1810 them.
1811
1812 * Bugfix: forced script directions for scripts that have relative stem-direction.
1813
1814 * Bugfix: Tie_column doesn't force Tie directions ties that already
1815 have a direction.
1816
1817 * Bugfix: multimeasure rest 
1818
1819 1.3.101
1820 =======
1821
1822 * Custodes (patch by Juergen Reuter), mods by hwn.
1823
1824 * Font initialisation and markup translation fixes. (99.jcn2)
1825
1826 * Remove staffspace calls. Removed markScriptPadding. Fixes some
1827 problems with tuplet, brace and volta spanners.
1828
1829 * make Font_interface::font_alist_chain (), and use default font
1830 settings. Fixes too large time sigs.
1831
1832 1.3.100
1833 =======
1834
1835 * Tweaks of .scm font-selection. 
1836
1837 * Rewrote font management of Score_element and Paper_def.
1838
1839 * Introduced outputscale: internally do computation in terms of
1840 outputscale.  Prepare to deprecate staffspace internally.  Rewrote
1841 .scm side of font selectioning. 
1842
1843 1.3.99.jcn1
1844 ===========
1845
1846 * Made several font size and initialisation fixes.
1847
1848 * Renamed all occurrences of font-size to font-relative-size
1849
1850 * Renamed all occurrences of font-point to font-point-size
1851
1852 * Fixed interface.scm descriptions to use symbols iso strings
1853
1854 * Fixes for chord names, and added jazz style (James Hammons)
1855
1856 * Some font-size fixes.
1857
1858 * Added dynamics font in all staff-sizes.
1859
1860 * Quick fix for regtest.
1861
1862 1.3.98.hwn2
1863 ===========
1864
1865 * Removed all paper vars except linewidth, indent, staffspace and
1866 stafflinethickness.
1867
1868 * Rewrote Scheme side of font-selection.
1869
1870 * Bugfix: deprecate group-center-element thoroughly.
1871
1872 * Bugfix: LeftEdge must also have Break_align_item::alignment_callback
1873 X-offset-callback.
1874
1875 * Add use music property "direction" for storing direction in
1876 Script_req, use music property "text-type" for storing 'dynamic,
1877 'finger, etc. Remove Dynamic_script_req. Resurrect fingerings.
1878
1879 1.3.98.lec1
1880 ===========
1881
1882 * fixed scale-definition.ly for greek mode names.
1883
1884 1.3.98
1885 ======
1886
1887 * Backend documentation updates and related cleanups
1888
1889 * Removed \property bracketCollapseHeight, systemStartDelimiterGlyph
1890
1891 * Bugfix: instrument-name on grandstaffs, see
1892 input/test/instrument-name-grandstaff.ly
1893
1894 * Bugfix for tie/staffline collision.
1895
1896 * Bugfix: also send out end-repeat if there are no alternatives.
1897
1898 * Small solo cello suite fixes.
1899
1900 1.3.97.jcn1
1901 ===========
1902
1903 * Added some interface documentation.
1904
1905 * Added raise and kern to markup.  This should make Chord names usable.
1906
1907 1.3.97
1908 ======
1909
1910 * Made small fixes to basic properties: regression-test compiles.
1911
1912 * Moved Text_script_req's text_ member into mus-property.
1913
1914 * Renamed ChordName to ChordNames, for consistency.
1915
1916 * Resurrected most of chord names, superscripting and kerning
1917   is currently broken, though.
1918
1919 * Junked all old style text lookups, except for feta definitions.
1920
1921 * Added support for name-based character lookups.
1922
1923 * Added support for font styles and papersize style sheets.
1924
1925 * Added new code for font selection and scm text markup.  Only used
1926   for testing in \textscript SCM. See input/test/markup.ly.
1927
1928 * Fixed (added actually, it got lost?) word-space for chords.
1929
1930 * Added slope-limit and attachment-offset properties to slur.
1931
1932 * Slur's broken trend now weighs in the number of note-columns.
1933
1934 * Spacing tweaks
1935
1936 1.3.96.hwn1
1937 ===========
1938
1939 * Mudela-book fixes (Tom Cato Amundsen)
1940
1941 * Put marks above chords.
1942
1943 * Solaris fix.
1944
1945 * Type checking for \push and \pop; elt property description (docs
1946 inclusive) is now in Scheme.
1947
1948 * Self-documenting backend using ly/generate-documentation.ly
1949
1950 1.3.96
1951 ======
1952
1953 * Added friendly message for the clueless dvips user.
1954
1955 * Clef-engraver: changed c0-position, clef-position and glyph into properties,
1956   enabling ottava spanners: input/test/ottava.ly.
1957
1958 * Added option for edge lines to Text spanner.
1959
1960 * Bugfix for early initialisation of invalid (grace->voice) slur.
1961
1962 * Dropped text support and padding of crescendo symbol.  Horizontal
1963   alignment of dynamics is handled by side-support, Text crescendos
1964   use the generic Text spanner.
1965
1966 * Added a generic Text spanner.
1967
1968 1.3.95.hwn1
1969 ===========
1970
1971 * Bugfix: octavate eight.
1972
1973 * Rewrote arpeggio.
1974
1975 * mudela-book fixes (Tom Cato)
1976
1977 * Cleaned up Group_interface and Pointer_group_interface
1978
1979 * Add accidentals to arpeggio support.
1980
1981 * Stemup + barline combination gets extra space.
1982
1983 * Score_element::extent () now takes a reference point argument.
1984
1985 1.3.95
1986 ======
1987
1988 * Use music property for setting type. This prevents accidental
1989 forgotten copies.
1990
1991 1.3.94.jcn3
1992 ===========
1993
1994 * Added Arpeggio and Trill elements to feta font.
1995
1996 * Yet another bugfix for output-property (Han-Wen)
1997
1998 * Made some fixes to les-nereides.
1999
2000 * Fixed output-property (Dankje).
2001
2002 * Added backend framework for arpeggios.
2003
2004 * Fixes for les-nereides.  Should we do asymmetric slurs...?
2005
2006 * Don't print repeat bars at start of line.
2007
2008 1.3.94
2009 ======
2010
2011 1.3.93.uu1
2012 ==========
2013
2014 * Bugfix: don't crash if there is no volta bracket to end.
2015
2016 * Move offset, dimension callbacks into Scheme.  They can be initialized from basicXXXX properties using
2017
2018         (X-offset-callbacks . (callback1 callback2 .. .))
2019         (Y-offset-callbacks . (callback1 callback2 .. .))
2020         (X-extent-callback . callback1) 
2021         (Y-extent-callback . callback1)
2022
2023 * naming: basicXXXProperties -> XXX, some other changes in naming;
2024 convert-mudela rules added.
2025
2026 * naming: \voiceone -> \voiceOne and related changes. convert-mudela
2027 rules added
2028
2029 * syntax: \property XXX \pop #'bla -> \property Context.XXX \pop #'bla
2030
2031 * changed aclocal.m4 to have better check for guile version. (Laura Conrad)
2032
2033 * updates for mudela-book (Tom Cato Amundsen)
2034
2035 1.3.93.jcn1
2036 ===========
2037
2038 * Try at nastiest competition piece: input/les-nereides.ly.
2039
2040 * Moved Pedal_engraver to Staff context.
2041
2042 1.3.93
2043 ======
2044
2045 * Added some error messages for toplevel and stray string parse errors.
2046
2047 * Don't start more than one slur at a time.
2048
2049 * Set direction of Slur too in a2-engraver.
2050
2051 1.3.92.hwn1
2052 ===========
2053 * Removed calls to global GUILE namespace.
2054
2055 * Added \property: scriptDefinitions, explicitClefVisibility,
2056 explicitKeySignatureVisibility, instrumentEqualizer,
2057 dynamicAbsoluteVolumeFunction
2058
2059 * Added element properties Bar::break-glyph-function,
2060 Break_align_item::space-alist, Chord_name::chord-name-function
2061
2062 * Added \property combineParts: part combiner switched off by default.
2063
2064 * Remove all print methods.
2065
2066 * Use Scope::try_retrieve if possible.
2067
2068 * Remove FAQ in favor of URL.
2069
2070 * etf2ly.py robustness fixes.
2071
2072 * Don't compensate for left edge in broken volta spanner.
2073
2074 1.3.92
2075 ======
2076
2077 * RPM .spec fixes.
2078
2079 * italiano.ly
2080
2081 * mudela-book updates by Tom Cato Amundsen.
2082
2083 * Allow lyric hara kiri as well.
2084
2085 * Bugfix: left/right mixup  in Side_position_interface::aligned_on_self ()
2086
2087 * rest collision of differing rests.
2088
2089 * Cleanup of Sequential_music_iterator, Simple_music_iterator.
2090
2091 * Unfolded_repeat_iterator now signals repeats using \property
2092   repeatCommands. You could override this, eg.
2093
2094         \property Score.repeatCommands = #'((volta "X") start-repeat)
2095
2096   will print a |: and a volta bracket saying X. See also
2097   input/test/manual-volta.ly
2098   
2099 * Volta_engraver, Repeat_acknowledge_engraver: new engravers that are
2100 controlled by repeatCommands; much cleaner than the Repeat_engraver.
2101
2102 * Junked Repeat_engraver.
2103
2104 1.3.91.jcn1
2105 ===========
2106 * Abort all running spanners when part-combiner combines voices.
2107
2108 1.3.91
2109 ======
2110
2111 * Use S_ISDIR () and check for stat.h.
2112
2113 * Various fixes for RedHat 7.0 / gcc 2.96.54
2114
2115 * separate basic propertylist for fingerings, center them on
2116 noteheads.
2117
2118 * Side_position_interface::aligned_on_self() now can take a real
2119 number for self-alignment-{X,Y}.
2120
2121 * etf2ly: single line GF field.
2122
2123 1.3.90.mb1
2124 ===========
2125
2126 * Added an interscorelinefill paper variable. Set to a positive number 
2127   in order to stretch the inter-line spacing to fill the full pages,
2128   except for the last page (where it would look really ugly).
2129
2130 1.3.89.jcn1
2131 ===========
2132
2133 * Changed lilypond to LilyPond in ly2dvi, Mudela to LilyPond source.
2134
2135 * Website fixes: Changed \interline to \staffspace in manual, removed offending
2136   braces from mudela-book.tely.
2137
2138 * Fixed slur attachment correction bug.
2139
2140 * Made some fixes to Coriolan.
2141
2142 1.3.89.hwn1
2143 ===========
2144
2145 * Only open files, not directories 
2146
2147 * bugfix: textNonEmpty.
2148
2149 * Look ahead in auto-change iterator for rests. This means rests
2150 before the note leading to an automatic staff switch are switched as
2151 well (improves the looks of scarlatti-test).  Associated fixes and
2152 additions for  Music_iterator::skip () and friends.
2153
2154 * Bugfix: only quantise staccato inside the staff. 
2155
2156 * cleanups for beam and stem. Removed global GUILE namespace calls
2157 from Beam and Stem.
2158
2159 1.3.89
2160 ======
2161
2162 * Some fixes to Coriolan.
2163
2164 * Fixed some stupid core dumps processing Coriolan.
2165
2166 * Fixed several problems with part-combiner's part-switching.
2167
2168 * Fixes for ASCII output.
2169
2170 * Added feature to part combiner that should allow part-switching only
2171   for entire measures.  Currently, it is controlled by a new 
2172   property changeMoments (A . B):
2173     - only switch when !(A mod now),
2174     - decide whether to switch based on music during time period B.
2175
2176 * Made bugfix: Sequential_iterator::get_music (M): mustn't return music 
2177   later than M.
2178
2179 * Added skip (M) to some iterators.
2180
2181 * maintain minimum-length by shifting for hyphens at start of
2182 line. (patch courtesy Christophe Rhodes)
2183
2184 * mudela-book fixes (courtesy Tom Cato Amundsen): documentation
2185 update, LaTeX example, landscape support.
2186
2187 1.3.88.hwn2
2188 ===========
2189
2190 * Added elt properties for Tie:
2191   - details
2192   - x-gap
2193   - staffline-clearance
2194
2195 * Added elt properties for Slur
2196   - y-free
2197   - details
2198
2199 * Removed C++ support for barNumberScriptPadding, now in
2200 generic-property.scm (but they're deprecated anyway)
2201
2202 * Changed threshold in Align_interface to be in staffspace 
2203
2204 * changed minVerticalAlign and maxVerticalAlign to be in staffspace.
2205 A better way: do \push #'threshold = #(cons A B ).  (WARNING:
2206 INCOMPATIBLE CHANGE)
2207
2208 * moved translator definitions out of \paper { }, only instantiate in
2209 \paper.
2210
2211 1.3.88
2212 ======
2213
2214 * Sequential_iterator::get_music (), part combiner now works.
2215
2216 * Changed paper variables into elt properties:
2217   Beam:
2218   - beam-space-function, Removed Paper_def::interbeam_f(), Smaller
2219   beams for grace notes.
2220   - beam-flag-width-function to Beam.
2221
2222   Grace_align_item:
2223   -  horizontal-space: spacing of grace notes is configurable
2224
2225   Volta_spanner: 
2226   - height
2227   - thickness 
2228
2229   Multi_measure_rest:
2230   - expand-limit
2231   - minimum-width
2232   - padding
2233
2234   Lyric_extender:
2235   - height
2236
2237   Stem
2238   - thickness 
2239
2240   Collision
2241   -  note-width to Collision
2242
2243 * removed various obsolete variables from params.ly
2244
2245 * added input/test/bagpipe.ly
2246
2247 1.3.87
2248 ======
2249
2250 * Made fixes to part-combine examples and Coriolan.
2251
2252 * Bugfix: don't dump core on unterminated (de)crescendo.
2253
2254 * Rolled next (M) also into get_music (M), similar to process (M), so that
2255   sequential-music-iterator::get_music (M) returns something useful.
2256
2257 * Bugfix: part-combiner still expected Music_sequence, where get_music ()
2258   now returns plain list of events.
2259
2260 1.3.86.hwn3
2261 ===========
2262
2263 * Fixed problem with disappearing crescendi across line break.
2264
2265 * Bugfix: dynamic texts should not be set by text-engraver. 
2266
2267 * Rewrote and cleaned up music-iterator.
2268
2269 * etf2ly robustness fixes.
2270
2271 1.3.85.hwn2
2272 ===========
2273
2274 * Added side-position-interface as an interface identifier, in stead
2275 of checking side-support-elements. This fixes a problem with stacked
2276 text scripts.
2277
2278 * Removed spurious set_elt_property ("XX", SCM_EOL) calls.
2279
2280 * Added \property squashedPosition for Pitch_squash_engraver: the
2281 staff-position number to squash noteheads to.
2282
2283 * Added FAQ entry for script on bar, updated description of mailing
2284 lists.
2285
2286 * Fixed bug with \translator { basicXXXProperties \push ... }
2287
2288 * Updated and revised call for help in hacking.texi.
2289
2290 * Bugfix: don't remember accidental if it is tied from the previous note.
2291
2292 1.3.85
2293 ======
2294
2295 * Separated definition and implementation of contexts (moved
2296 definition out of Translator_group into Translator_def)
2297
2298 * pmx2ly.py fixes: now handles text at beginning of block correctly.
2299
2300 * update .spec to include scripts. 
2301
2302 * Changed syntax of \pushproperty:
2303
2304         \property Voice.basicXXXProperties \push #'foo = #bar
2305         \property basicXXXProperties \pop #'foo
2306
2307         \translator {
2308                 basicXXXProperties \push #'foo = #bar
2309                 basicXXXProperties \pop #'foo
2310         }
2311
2312 1.3.84.jcn1
2313 ===========
2314
2315 * Updated INSTALL.texi
2316
2317 1.3.80.tca1
2318 ===========
2319 * Added Documentation/user/mb-latex.tex, mudela-book+latex example
2320   file and test case. Some work on Documentation/user/mudela-book.tely
2321
2322 * mudela-book.py: any combination of \verb, \begin{verbatim}
2323   @code and @example and mudela should work as expected. 
2324
2325 * dropped [].extend that depend on python 1.5.2
2326
2327 1.3.84
2328 ======
2329
2330 * pmx2ly, PMX to LilyPond conversion. Succesfully converts barsant.pmx.
2331
2332 * musedata2ly, a Musedata to LilyPond convertor. Succesfully converts
2333 wtk1-fugue2
2334
2335 * bugfixes for dynamics: make sure that dynamic alignments encompass
2336 the dynamics they support, and that any columns they attach to aren't
2337 prematurely killed.
2338
2339 * bugfix: make sure \time gets noticed early enough.
2340
2341 1.3.83
2342 ======
2343
2344 * small doc updates.
2345
2346 * Cleanups related to barline handling:
2347
2348   - Removed Translator_group::get_simple_translator (), and -
2349
2350   - use properties to communicate about barlines and time sigs. (NOTE:
2351     by default a time-signature of 4/4 is printed.)
2352
2353   - fix repeat bar behavior.
2354
2355 1.3.115.hwn1
2356 ============
2357
2358 * documentation
2359
2360
2361
2362 * cleaned up Directional_element_interface
2363
2364 * add name field to score-elements.
2365
2366 * comment in some unprotects for Music in parser. Should bring down
2367   cpu time and plug some leaks.
2368
2369 * robustness fixes for etf2ly, tuplets, grace notes. 
2370
2371 1.3.82
2372 ======
2373
2374 * engraver.ly: cleanups.
2375
2376 * etf2ly: robustness fixes, handle mac files as well.
2377
2378 * Smobified Translator and Translator_group, junked
2379 Translator_group_identifier.
2380
2381 * \pushproperty and \popproperty withing \translator, similar to
2382 predefining \property, ie.
2383
2384         \translator { [...] \pushproperty [..] }
2385         \translator { [...] \popproperty [..] }
2386
2387 (these \pushes and \pops are delayed until instantiation, so if you do
2388
2389
2390         \score {
2391                 \pushproperty #'basicFooProperties #'bla #VALUE1
2392                 \context Voice { \pushproperty #'basicFooProperties #'bar #VALUE2
2393                         [..]
2394                 }
2395         }
2396
2397 then the setting for basicFooProperties contains both (bla . VALUE1)
2398 and (bar . VALUE2).
2399
2400 * allow \pushproperty #'symbol [..] as well as \pushproperty #'(symbol1 symbol2 ... )
2401
2402 1.3.81.jcn1
2403 ===========
2404
2405 * Activated regex for windows.
2406
2407 * New guile-1.4 patch for cross windows build.
2408
2409 * Added configure messages for metapost checking.
2410
2411 1.3.81
2412 ======
2413 1.3.80.gp1
2414 ==========
2415
2416 * Added property LyricVoice.associatedVoice to enable switching associated
2417   voice mid-stream. Association still defaults to context name.
2418
2419 1.3.80.hwn1
2420 ===========
2421
2422 * \pushproperty, \popproperty: property settings with less memory
2423 cost. See input/test/pushproperty.ly and Documentation/hacking. Note:
2424 syntax is most likely only temporary.
2425
2426 1.3.80.jcn1
2427 ===========
2428
2429 * (Line-)broken slurs now have vertical trend.
2430
2431 * Better length for broken ties: no invisibly short ties.  Now ties may
2432   collide with time signatures, though.
2433
2434 * Don't typeset unfinished spanners, but kill them.
2435
2436 * Added two FAQs (Mats)
2437
2438 * Made workaround guile-1.4.1 backward incompatible (scm_)eval change.
2439   Note that we must use (scm_)eval2 to remain backwards compatible with
2440   guile < 1.4.1 snapshot.
2441
2442 * Reincluded 79.jcn2 fix
2443
2444 1.3.80
2445 ======
2446
2447 1.3.79.jcn5
2448 ===========
2449
2450 * Created Thread_devnull_engraver and Voice_devnull_engraver iso
2451   single A2_devnull_engraver in Thread context.  It seems however
2452   that the hack in A2_devnull_engraver works better.
2453
2454 * Coriolan fixes.
2455
2456 * Slur attachment fix for chords where case slurdir != stemdir.
2457
2458 * Made various fixes for (line-)broken slurs.
2459
2460 * Fixed slur_height (), which fixes most ugly slurs (Yeah!).
2461
2462 * Fixed some silly url reversals in FAQ.
2463
2464 * Finished Coriolan music entry (again); entered second viola part.
2465
2466 * Updated Coriolan to use part combiner on Voice level for wind parts
2467   and on Staff level for violi and bassi.
2468
2469 * Part-combiner now uses duration inquiry, which fixes rhythm-related
2470   bugs in determining solo/a2.  Also, rests are taken into account.
2471
2472 * Another crude fix for almost unexplainable (with a gdb that dumps
2473   core on ly_display_scm) all-zero control points slurs.
2474
2475 * Fixed slurs that crossed through stems and note heads.  Note
2476   that beautifying of ugly slurs is still broken.
2477
2478 * Made crude fixes slurs don't crash, bezier still crashes on
2479   infinitely steep slurs (eg flauti-part *with* slur_engraver).
2480
2481 1.3.79.gp1
2482 ==========
2483
2484 * Replaced empty melisma score element with a property
2485
2486 * Renamed Voice_alist_entry -> Syllable_group in lyric-phrasing-engraver
2487
2488 1.3.79.uu1
2489 ==========
2490
2491 * fixed y-position of whole rest
2492
2493 * fixed sustainPedalPadding
2494
2495 * etf2ly: articulation, lyrics.
2496
2497 1.3.79
2498 ======
2499
2500 * etf2ly.py: Finale to LilyPond conversion.
2501
2502 1.3.78.jcn4
2503 ===========
2504
2505 * Made simple fix to get part-combiner to recognise different rhythms
2506
2507 * Unhardcoded part combiner and a2-engraver; introduced properties
2508   splitInterval, soloADue, soloText, soloIIText, aDueText.
2509
2510 * Fixed part combiner's too-late problem (Dankje!)
2511
2512 * Fixed a2-devnull-engraver, a2-engraver.
2513
2514 * Renamed part combiner music names to "one", "two".
2515
2516 * Cleaned up decision making in part combiner, renamed to "solo"/"unison"
2517
2518 1.3.77.mb1
2519 ==========
2520
2521 * Minor documentation updates
2522
2523 * Mark_engraver: has been broken since .73, fixed!
2524
2525 1.3.78
2526 ======
2527
2528 * Added a devnull engraver, that junks (notehead) requests of the second
2529   stem when combined parts are in unison (a2).
2530
2531 * Part-combine iterator identifies Soli and A2 parts in threads by 
2532   looking at rhythm and pitches.  It switches Voice context automagically,
2533   and communicates current state using a2/solo/solo2 properties.
2534
2535 * Simple A2_engraver (`a due) prints `a2/Solo/Solo II.  Soli seem to
2536   arrive one request late.
2537
2538 * First try at combining parts: part-combine*
2539
2540 * fixed problem with HaraKiri
2541
2542 * fixed problem with dynamicDirection
2543
2544 * fixed problem with nonEmptyText 
2545
2546 * `Fixed' chord notation, as per request of David Arnold, ie, 
2547    Added a chord-name-mode, that only displays chord names
2548    when there's a change in the chord-name-scheme, Also, a chord
2549    name should always be displayed after a line break.  See
2550
2551        input/test/chord-changes.ly
2552
2553 * Reverted duration-iter change in midi2ly, moved printing of options.
2554
2555 * warning bugfix in lexer.ll (Mats Bengtsson)
2556
2557 1.3.77
2558 ======
2559
2560 * Midi2ly bugfix: handle durations longer than longa.  These can occur
2561   because of lengthened notes when using --no-rests.
2562
2563 * Midi2ly: output `new' \key syntax, and updated version number.
2564
2565 * Midi2ly bugfix: don't correct quantised durations, don't use tuplets, 
2566   double dots etc. when user doesn't want them.  It probably used to
2567   work like this, a long time ago.  For some unknown reason, all
2568   corrections made by Duration_convert were junked if the corrected
2569   duration != exact duration.  Duh.
2570
2571 * Midi2ly: added a new option: --no-rests.
2572
2573 * Update of mudela-book (Tom Cato Amundsen)
2574  - --read-lys option, now you can do:
2575         mudela-book file.texi
2576         convert-mudela
2577         mudela-book --read-lys
2578  - --outdir=DIR will put ALL output into DIR
2579  - @mudela[filename="myfilename"]{c d e f g}
2580  - --force-mudela-fontsize
2581  - ignore mudela inside @ignore @end ignore
2582
2583 1.3.76.gp1
2584 ==========
2585
2586 * Lyric_phrasing_engraver now catches lyric extenders and correctly
2587   terminates them under the last note of a melisma.
2588
2589 * Lyric word spacing code changed to fix hyphen alignment.
2590
2591 * Other minor tidying up of Lyric_phrasing_engraver and related code.
2592
2593 1.3.76
2594 ======
2595
2596 * Lyric_phrasing_engraver now adjusts for melisma.  (Glen Prideaux).
2597
2598 * Mudela-book fix for Windows95 (Mark Hindley)
2599
2600 * Debian update (Anthony Fok)
2601
2602 * Added beam melisma for when automaticMelismata and noAutoBeaming are both
2603   #t (primarily for hymns).  Courtesy Glen Prideaux.
2604
2605 * Bugfix: .pfa dependency on $(outdir)/mfplain.mem
2606
2607 1.3.75.mb1
2608 ==========
2609
2610 * stepmake/stepmake/metapost-rules.make: Put all generated files
2611   in mf/out/.
2612
2613 * Added paper variable interscoreline to determine the score line
2614   spacing, see input/test/vertical-extent.ly.
2615   Cleaned up the lilyponddefs.tex inclusion scheme.
2616
2617 1.3.75
2618 ======
2619
2620 1.3.74.gp1
2621 ==========
2622
2623 * Improved default handling of Lyric_phrasing_engraver and made it on by 
2624 default.
2625
2626 * Beginnings of a stanza number engraver (\property LyricVoice.stanza = 
2627 #"1:" etc.)
2628
2629 * fixed bug in script.cc so fermata (and other scripts) get flipped 
2630 correctly when they are above the staff.
2631
2632 1.3.74.jcn2
2633 ===========
2634
2635 * Reincluded simple code for including tfm.[1-5] into search path.
2636   Configure with --disable-kpathsea to enable this kludge.
2637
2638 1.3.74.jcn1
2639 ===========
2640
2641 * Updated input/test/banter-chords.ly German H/B example.
2642
2643 * Updated nl.po.
2644
2645 * Have configure check for kpathsea library and functions.  Made kpathsea
2646   support optional for now.
2647
2648 * Bugfix: halved width of tremolo-beams.
2649  
2650 * Included compilation fix for guile-1.3.4 (Anthony).
2651
2652 * Added: chord inversion and base to regtest.
2653
2654 * Fixed: Chord names that were broken by pl73.
2655
2656 * Fixed: Chord inversions that were broken by pl72.
2657
2658 * Resurrected ascii-script output, for debugging purposes.
2659
2660 * Included compilation fix for scm-hash.cc (Han-Wen).
2661
2662
2663 1.3.74
2664 ======
2665
2666 * Small bugfix: also do a deep copy on  submusices
2667
2668 * Fixed:  \autochange doesn't crash anymore.
2669
2670 * Cleanup, documentation and enforcement of smob interfaces in
2671 LilyPond.  We distinguish between SIMPLE_SMOBS and SMOBS (objects that
2672 have self_scm_)
2673
2674 * Glen Prideaux lyric phrasing engraver. See
2675 input/test/lyric-phrasing.ly
2676
2677 1.3.73
2678 ======
2679 * Removed \interscoreline after the last line, prevents some
2680 empty pages. (patch by Mats Bengtsson)
2681
2682 * Smobified Music, junked associated identifiers. Use Scheme list to
2683 store Music_sequence.  Removed const declarations from
2684 Music_iterators.  Added a mutable and immutable property list to
2685 Music.  Use music property for all Scheme values in Music.  Created
2686 and fixed a load of Garbage Collection bugs.
2687
2688 * Changed number font to allow automatic .mf creation.
2689
2690 * Output place of definition as \special{src:LOCATION}. See FAQ for
2691 explanation how to use.
2692
2693 * Schemified Local_key_item and fixed minor bug with accidentals.
2694
2695 * new Japanese .po file.
2696
2697 * Bugfix for broken tie direction
2698
2699 * Bugfix for bar at beginning of line break
2700
2701 1.3.72
2702 ======
2703
2704 * Robustness fix for minimise_least_squares ()
2705
2706 * cleanups of Slur_bezier_bow, removed Bezier_bow.
2707
2708 * cleanup of Tie. Changed Tie into interface. Made ties flatter by default.
2709
2710 * changed SCM_UNDEFINED to SCM_UNSPECIFIED for return values that go
2711 back into Scheme.
2712
2713 * changed SCM_UNSPECIFIED to SCM_EOL for undefined element
2714 properties. This makes initializing list properties redundant.
2715
2716 * removed idiotic code for including tfm.[1-5] into search path.
2717
2718 * fixed problem with tuplet placement for cross staff tuplets.
2719
2720 1.3.71
2721 ======
2722 * Small cleanups to bring down  compile time and binary ensmallment.
2723
2724 * Made Lookup into a smob, and use guile alist iso. an STL map.
2725
2726 * Changed repeated music semantics for relative octave: each
2727 alternative takes its inital octave from the body.
2728
2729 * Fixed: parser accepts booleans for property values as well.
2730
2731 * Added Scarlatti sonata test file to input/
2732
2733 * kpathsea support, courtesy Carsten Block <carsten.block@gmx.de> 
2734
2735 1.3.70
2736 ======
2737 * Fixed: long standing problem in optical-illusion code.
2738
2739 * Fixed: stop beam if stem *has* a beam in auto-beam-engraver. 
2740
2741 * Made interface of Multi_measure_rest, System_start_delimiter,
2742 Spacing_spanner, Separating_group_spanner, Beam, Slur and
2743 Rhythmic_head.
2744
2745 * Use properties for minimum distances and spring parameters.  Move
2746 spacing related functions from Paper_column into Spaceable_element.
2747
2748 * Removed most Paper_column typecasts.
2749
2750 1.3.69
2751 ======
2752
2753 * Cleanup auto-beam-engraver: use properties for retrieving timing
2754 information.
2755
2756 * Fixed: Multi measure rests don't cause crashes.
2757
2758 * Fixed: don't invoke Hara_kiri::consider_suicide too early.
2759
2760 * Fixed: property engraver.  
2761
2762 * Fixed: don't crash on multiple ties.
2763
2764 * Cleanups of Beam, should also be a little faster.  
2765
2766 * Reunite properties and pointers. In implementation we make a
2767 distinction between mutable and immutable properties
2768
2769 * Add {has|set}_interface () static methods to interface classes.
2770
2771 * Made Side_position_interface and Staff_symbol_interface an all
2772 statics class, and stripped _interface suffix.
2773
2774 * Make Align_interface and Axis_group_interface an all-statics class 
2775
2776 * Rhythmic_head, Staff_symbol, Grace_align_item, Break_align_item,
2777 Bar, Span_bar are now interfaces, Staff_bar was removed. Use a
2778 callback for determining barsize.
2779
2780 * Removed all GLUE_SCORE_ELEMENT callbacks. 
2781
2782 * Added test for repeats to trip.ly
2783
2784 1.3.68
2785 ======
2786
2787 * ly2dvi: changed back to original semantics of latexheaders.
2788
2789 * Stem_tremolo, Crescendo, Hara_kiri_group_spanner, Tuplet_spanner,
2790 Volta_spanner changed into interface.
2791
2792 * Related cleanups for Tie, Tie_column cleanups.
2793
2794 * Made Time_signature, Single_malt_grouping_item, Script_column,
2795 Chord_name, Dot_column, Breathing_sign, Key_item type into interface.
2796
2797 * Removed const declaration from callback arguments.
2798
2799 * Pagebreak support. See input/test/between-systems.ly
2800
2801 * Fixed a problem with accidentals in combination with
2802 non-nil key signatures.
2803
2804 1.3.67
2805 ======
2806
2807 * Use callbacks for augmentation dot positioning.
2808
2809 * Removed types Note_head and Rest
2810
2811 * Cleanup of slur.cc: use common reference points in a sane manner.
2812
2813 1.3.66
2814 ======
2815
2816 * Corrected text sizes in paper*.ly (Mats Bengtsson)
2817
2818 1.3.65.uu1
2819 ==========
2820
2821 * Dots, Collision, Rest_collision removed as separate Score_element type.
2822
2823 * Stem and Note_column accept only one rest.
2824
2825 * Use offset callback in Stem to resolve rest/beam collisions.
2826
2827 * Put the value of new  local key signature (accidentals) back into a property.
2828
2829 * Set molecule-callback for notename item.
2830
2831 1.3.65.jcn2
2832 ===========
2833
2834 * Added some comments to new slur code.
2835
2836 * Removed some ugly interstaff slur code, interstaff slurs at line-break
2837   are still broken.
2838
2839 * Slur bugfix: 16th beams are also beams.
2840
2841
2842 1.3.65
2843 ======
2844
2845 * Bugfix: translate volta spanner at start of line.
2846
2847 * Changed directional_element() calls to instantiations
2848 of Directional_element_interface.
2849
2850 * Removed Dynamic_line_spanner, and cleaned up Dynamic_engraver.
2851
2852 * Removed Staff_info type. Information about columns is now transferred
2853 via currentMusicalColumn and currentCommandColumn.
2854
2855
2856 1.3.64.jcn2
2857 ============
2858
2859 * Made slur attachment position user settable; properties:
2860 slurBeginAttachment slurEndAttachment, values: 'head 'stem
2861 'along-side-stem.  See input/test/slur-attachment.ly and ophee-slurs.ly.
2862
2863 * Fixed slur attachment positions, added missing rule and use simple
2864 default starting positions for attachments.
2865
2866 * Started rewrite of slur ending code, interstaff slurs are broken for
2867 now.
2868
2869 * Fixed download URL of the webpage.
2870
2871 * Moved direction.cc to flower/.
2872
2873 1.3.64
2874 ======
2875
2876 * Lyrics centered on notehead.
2877
2878 * Various bugfixes hyphen-spanner.
2879
2880 * Bugfix: set appropriate callbacks for Note_head. This fixes 
2881 problems with dots.
2882
2883 * Removed Clef_item as score-element derived type.
2884
2885 * Updated config.sub and config.guess
2886
2887 * Bugfix: allow linebreaks on beamed grace notes.
2888
2889 1.3.61.jcn2
2890 ===========
2891
2892 * Included dutch po-update based on submitted 1.3.57 nl.po
2893
2894 * Added "Development" link to website, now that "Home" is a relative link.
2895
2896 * Bugfix: use deep copies for resetting keys.
2897
2898 * Assorted typing erors in procedure names in ly/engraver.ly
2899
2900 1.3.62
2901 ======
2902
2903 * Made callbacks from Score_element::before_line_breaking() and
2904 Score_element::after_line_breaking()
2905
2906 * Fixed website; backlinks should work again.
2907
2908 * Removed --ignore-version option. Added --verbose option.
2909
2910 1.3.61
2911 ======
2912
2913 * Webpage hacking
2914
2915 1.3.60.hwn1
2916 ===========
2917
2918 * Junk int_identifier, real_identifier. Merged Midi_def_identifier and
2919 Paper_def_identifier.
2920
2921 * Fixed bug with spanning barlines in combination with Hara-Kiri staffs.
2922
2923 * Cleaned up Text_item, Hyphen_spanner, Lyric_extender and
2924 Sustain_pedal and reduced them to an Score_element interface (they are
2925 no longer Score_element derived types).
2926
2927 * Some instances of brew_molecule routines have moved out of
2928 Score_element, and are now called scheme_molecule.
2929
2930 * Moved lots of parameters from ly/params.ly to ly/engraver.ly
2931
2932 1.3.59.hwn1
2933 ===========
2934
2935 * Removed String_identifier, and use the type system of GUILE instead.
2936
2937 * Fixed \key PITCH MODALITY syntax. The modality argument is now
2938 mandatory, a rule in convert-mudela has been added.
2939
2940 * Cleaned up  buildscripts/ directory: removed obsolete scripts.
2941
2942 * Use Scheme_hash_table for identifier Scopes.  Scheme_hash_table is
2943 based on STL and should be faster than hash_table.
2944
2945
2946 1.3.59.jcn1
2947 ===========
2948
2949 * Fixed scm_un/protect_object for guile-1.3.4 and 1.3.5 snapshots,
2950   in the process reduced number of protect/unprotect calls.  With
2951   guile-1.3.5 snapshot, memory usage has decreased by 1/5th, now
2952   just 10% above the 1.2 level.  Also, Lily's a bit faster.
2953
2954 * Fixed make diff bug in stepmake to be able to make this diff :-)
2955
2956 1.3.58.hwn1
2957 ===========
2958
2959 * Rewrote key sig support.  Now key signature can also be controlled
2960 by setting keySignature and localKeySignature properties, eg.
2961
2962         \property keySignature = #'((2 . -1) ( 4 . -1) (6 . -1))
2963
2964 sets a key signature of `es ges bes' (an unusual key signature).
2965
2966 Keys are internally represented as transpositions of the c-major
2967 scale. Printing the key signature for a scale is done by filtering out
2968 all non-natural accidentals.
2969
2970 * Removed support for \keysignature, and \key something \minor; Newkey
2971 is now obsolete.
2972
2973 1.3.58.jcn3
2974 ===========
2975
2976 * Fixed pedal items (hw)
2977
2978 * Changed configure option tex-tmfdir to tmf-path now accepting multiple
2979   tfm directories.  Automated links to cmr and amstex tfm font directories.
2980
2981 * Replaced one scm_assoc () u-turn slipped through jcn1
2982
2983 * various GUILE 1.3.5 compile fixes
2984
2985 * Added `Ped' as a compound symbol font and removed silly scheme kerning.
2986
2987 * Replaced some scheme assoc u-turns with scm_assoc ()
2988
2989 * Ran po-update (mostly because of new ja contribution).
2990
2991 1.3.57.jcn2
2992 ===========
2993
2994 * Cleaned-up scheme list to text conversion for Chord_name and 
2995 fixed horizontal kerning.
2996
2997 * Added examples for american (slashed o) and jazz (black triangle),
2998   see input/test/{american-chords.ly,jazz-chords.ly}
2999
3000 * Made guile-1.3.5 compile fixes
3001
3002 1.3.57.uu1
3003 ==========
3004
3005 * Fixed typo in Dots::do_brew_molecule (); this fixes the disappearing
3006 dots problem.
3007
3008 * Rewrote key signature administration; now Scheme is used; Octave and
3009 Key have been junked in favor of Newkey.
3010
3011 * japanese .po file included (thanks, Japanese team!)
3012
3013 1.3.57
3014 ======
3015
3016 * Fixed several forgotten molecule-callbacks 
3017
3018 * Fixed first clef in score; now F clefs are also possible.
3019
3020 1.3.56.mb1
3021 =========
3022  
3023 * Updated FAQ with two useful GDB macros.
3024
3025 * Several fixes in the documentation.
3026
3027 1.3.55.jcn1
3028 ===========
3029
3030 * Made (dutch) po-update
3031
3032 1.3.56
3033 ===========
3034
3035 * Molecules are now generated via callbacks exclusively; most calls to
3036 set_elt_property ("transparent", SCM_BOOL_T) have been replaced by suicide().
3037
3038 1.3.55
3039 ======
3040
3041 * Experimental property collapse for most score-elements.  (notable
3042 exceptions: Scripts, pedals). Change all Score_element constructors to
3043 take a basic-property list. The suffix of a property list may be
3044 shared by several score-elements, for instance all default G-clefs in
3045 a score share the following settings
3046   
3047            (breakable . #t)
3048            (break-align-symbol . Clef_item)
3049            (visibility-lambda . ,begin-of-line-visible) 
3050
3051 This should reduce memory usage further. 
3052
3053 * Magically fixed the disappearing Lyrics problem.
3054
3055 * Removed used_b_ field from Score_element.  
3056
3057 * Massive search-replace patch: store pointers and properties
3058 separately, in preparation of property collapse.
3059
3060
3061 1.3.54
3062 ======
3063
3064 * Bugfix: don't crash on tuplet spanners that don't contain any notes.
3065
3066 * Cleanup of Dimension_cache: removed a few redundant
3067 fields. Slightly lower memory usage (32 bytes per
3068 score-element). Dimension_cache is now a `dumb' struct again.
3069
3070 * Add array index to priority field of text scripts to ensure that
3071 order is unique, and sensible.
3072
3073 * Added an element count statistic.
3074
3075 1.3.53
3076 ======
3077
3078 * russian.po (thank you, August.)
3079
3080 * Small cleanups in Molecule interface 
3081
3082 * Spacing related elements perform suicide after calculating
3083 distances.  This saves a some memory, approximately 2 to 5 % ?
3084
3085 * Small cleanups in line breaking: Paper_column stores springs and
3086 rods in only one place now.  All fields relating to energy have been
3087 removed
3088
3089 * Don't generate all output Scheme in memory, but evaluate to output
3090 file immediately.  This will reduce memory usage a little.
3091
3092 * Use STL's map  for Dictionary template
3093
3094 * Substitute pointers on element properties of the root Line_of_score
3095 as well.
3096
3097 * Added toplevel doc target, to support building doc with --srcdir
3098
3099 * Removed cygwin build stuff; updated versions at:
3100
3101      http://appel.dyndns.org/lilypond/gnu-windows/cross
3102
3103 * Fixed lily.scm to handle incipits (thanks, Mats)
3104
3105
3106 1.3.52
3107 ======
3108
3109 * Made bugfix in smob handling: delete the C-part of freed smobs and
3110 be honest about amount of allocation and deletion, so that GUILE
3111 doesn't overestimate the amount of memory available.
3112
3113 * Faq update: nicer blank note paper, courtesy Mats Bengtsson.
3114
3115 * Bugfix: don't crash on durations that are not a power of 2.
3116
3117 * Build manpages during `make all' 
3118  
3119 * Bugfix: don't do absolute comparisons in Polynomial::clean ().
3120
3121 * Bugfix: set visibility-lambda for key signature created by
3122 createKeyOnClefChange. Fixes disappearing key signatures. 
3123
3124 * Bugfix: make System_start_delimiter of bar-line type invisible when
3125 it spans only one staff.
3126
3127 1.3.51
3128 ======
3129
3130 * Item cleanups.  Copying items and rearranging pointers are done in
3131 separate passes, which makes the code cleaner. This fixes a problem
3132 with some items not disappearing from hara-kiri staffs.
3133
3134 * Use Scheme for Key_item data members. 
3135
3136 * Don't use regex in chord-names.scm under windows; hybrid chordnames
3137 user+calculated will be partly broken.
3138
3139 1.3.50
3140 ======
3141
3142 * Junked Shift_tuple from collision; Now it uses SCM.
3143
3144 * Bugfix of documentation and test-file of tuplet.
3145
3146 * Bugfix type string of repeated music is copied. This fixes declared
3147 tremolos.
3148
3149 * Junked various cruft from lily.scm
3150
3151 * Use interfaces symbols instead of C++ class-name for assigning generic
3152 element properties.
3153
3154 * Junked Dictionary from Piano_pedal_engraver and
3155 Piano_pedal_performer.
3156
3157 * Introduced boolean element property no-spacing-rods: ignore this
3158 item for hard constraints.
3159
3160 * Bugfix: added sanitised TeX fragment in faq.texi
3161
3162 * Bugfix: merge equal Bar_reqs
3163
3164 1.3.48.uu1
3165 ==========
3166
3167 * Small fixes for \cresc and \endcresc
3168
3169 * Release properties of unbroken spanners & items after doing
3170 handle_broken_smobs (); should conserve a little memory.
3171
3172 * Fixed handling of orphaned score-elements. Any element that does
3173 not have its Line_of_score as a ancestor in both directions, is silently
3174 removed from the output.  This guarantees that programming errors
3175 don't result in coredumps from Dimension_cache::common_refpoint ():
3176 element->line_l () is always a common reference point.
3177
3178 * Bugfix: set visibility-lambda of clef and octavation-8 explicitly
3179 for default case.  Now the octavation 8 is not printed at every
3180 barline.
3181
3182 1.3.48.mb1
3183 ===========
3184
3185 * Changed noteHeadStyle properties to symbols, for example
3186   \property Voice.noteHeadStyle = #'cross
3187
3188 1.3.47.jcn3
3189 ===========
3190
3191 * Rewrite of chord-name production in scheme.  There are two major styles
3192   now, banter and american.  To get american style, use
3193
3194       \property ChordNames.chordNameStyle = "american"
3195  
3196   Most anything should be possible now.  See input/test/american-chords.ly
3197
3198 * Added isinf check to configure.in, and isinf macro from guile to
3199   bezier.cc; solaris has no isinf ().
3200
3201 * Fixed star-spangled-banner with not-so-nice \bar "|." fix.  Almost
3202   perfect now.
3203
3204 * Added output property to regression test.
3205
3206 * Fixed warning of creating existing outdir.
3207
3208 * Added `Mark' interface to text-items that are marks (thanks, HW).
3209
3210 1.3.48
3211 ======
3212 1.3.47.mb2
3213 ===========
3214
3215 * Corrected glossary.tely
3216
3217 * Corrected \mark font handling. feta-nummer font only of the 
3218   string is all numeric.
3219
3220 * Implemented noteHeadStyle lookup in Guile. Reintroduced the style
3221   "harmonic" and added "baroque" (normal note shapes except for 
3222   brevis and longa which are square).
3223
3224 * Simplified ly2dvi using the power of the geometry package.
3225
3226 * Improved heuristic size calculation of TeX macros. Handles e.g.
3227   "\\u{a}", "\\"{o}" and "\\^{u}" correctly.
3228
3229 1.3.47.hwn1
3230 ===========
3231
3232 * Bugfix: don't hang on zero-duration.
3233
3234 * Various glossary updates (thanks, Christian)
3235
3236 1.3.47
3237 ======
3238
3239 1.3.46.jcn2
3240 ===========
3241
3242 * Drastically reduced vertical space used by headers/footers, when using
3243   ly2dvi.  See input/test/fill-a4.ly.
3244
3245 * Fixed bug with colons appearing on repeat span-bars.
3246
3247 * Added Bar_number_engraver to standard Score context
3248
3249 * Construct octavation scripts in the clef-engraver; this fixes the
3250 hara-kiri + clef8 problem
3251
3252 1.3.46
3253 ======
3254
3255 1.3.45.jcn2
3256 ===========
3257
3258 * Fixed chord-name customisation and made small chord-name build fixes.
3259
3260 * Accidentals with chord-names smaller and as superscript.
3261
3262 * Do some extra footify (works only once) while making html docs.  
3263
3264 1.3.45.hwn1
3265 ===========
3266
3267 * Debian patch (Thanks Anthony)
3268
3269 * Rewrote Bar_number_engraver and Mark_engraver and removed
3270 Bar_script_engraver as baseclass. Both Bar_number_engraver and
3271 Mark_engraver are simpler and more robust.
3272
3273 * Fixed precedence of \property verticalDirection and dynamicDirection
3274
3275 * Fixed keys without barlines 
3276
3277 * Fixed StaffGroups: removing `\consistsend "Axis_group_engraver"'
3278 puts alignment in function again
3279
3280 * Fixed StaffGroup + GrandStaff combination.
3281
3282 * Music is now mandatory as the first thing in a \score{} block
3283
3284 1.3.45
3285 ======
3286 1.3.44.jcn2
3287 ===========
3288
3289 * Implemented una-chorda and sostenuto piano pedals in performer and engraver.
3290
3291 * Added Properties textScriptWordSpace and chordNameWordSpace.
3292
3293 * Junked old lyrics in star-spangled-banner.
3294
3295 * Added a Piano_pedal_engraver.
3296
3297 * Removed some empty files.
3298
3299 * Created piano pedal symbols: * - . P e d.
3300
3301 * Fixed ps-to-pfa.py to handle multiple unfills.
3302
3303 * Moved accordion symbols out of feta-script to end of font.
3304
3305 * Bugfix: don't create tfm's, pfa's etc of feta-test fonts.
3306
3307 * Fixed blot_diameter for small resolutions.
3308
3309 1.3.43
3310 ======
3311
3312 * Put global element list into Line_of_score, instead of
3313 Paper_score. post processing (the stage after line breaking) is now
3314 truly done per-system, and we got rid of an ugly hack to get font
3315 handling OK.
3316
3317 * Bugfix: set the group-interface of System_start_delimiter.
3318
3319 * Cleanups of Break_algorithm and derived classes, Move
3320 broken_col_range () to Line_of_score, remove Paper_score::col_l_arr_
3321
3322 * Bugfix for accordion symbols.
3323
3324 * Various patches to prevent crashing when do_brew_molecule gets
3325 called before after_line_breaking (). This was a problem in Spanner
3326 classes mostly.
3327
3328 1.3.43
3329 ======
3330
3331 1.3.42.jcn3
3332 ===========
3333
3334 * Made a quick try at piano pedal performer, damper pedal only.
3335
3336 * mf/feta-accordion.mf: Fixed strange turning paths.
3337
3338 * mf/feta-beugel.mf: Fixed infinity errors.
3339
3340 * Use a more discriptive name for windows setup.zip.
3341
3342 * mf/GNUmakefile: Have logs as last target, so that normally, they're 
3343 not made twice.
3344
3345 * stepmake/stepmake/metafont-rules.make: Don't remove the .log files.
3346 The logs are a target, removing them retriggers make.
3347
3348 * stepmake/stepmake/metapost-rules.make: Remove the correct log and tfm
3349 files, ie the ones that clutter the source directory, not the target logs.
3350
3351 * Windows distribution: faked symlink for cmtfm.  Setup.zip should now be
3352 standalone; ie, no need for Cygnus' usertools anymore.
3353
3354 1.3.42.jbr1
3355 ===========
3356   
3357 * Documentation/ntweb: Updated angels.ly to match current syntax.
3358 Also updated index.texi.
3359
3360 1.3.42.uu1
3361 ==========
3362
3363 * Change all occurances of Staff_margin_engraver to
3364 Instrument_name_engraver, add a convert-mudela rule
3365
3366 * Change status == busy assert into programming error
3367
3368 1.3.42
3369 ======
3370
3371 1.3.41.jcn3
3372 ===========
3373
3374 * Lots of fixes to windows distribution scripts.
3375
3376 * Added configuration features --program-prefix, --program suffix.
3377
3378 * lily/my-lily-parser.cc (get_chord): Bugfix, don't use deleted pitch.
3379 This fixes inversions c/g and bass additions d/+c on chords.
3380
3381 1.3.41.mb1
3382 ==========
3383
3384 * Avoid that xxxXXXVerticalExtent is used for empty HaraKiriStaff
3385   lines.
3386
3387 1.3.41.hwn1
3388 ===========
3389
3390 * Debian patches (thanks Anthony!)
3391
3392 * Use symbols for prefatory matter spacing. Do not use the typename
3393 for looking up item pairs in the table, but read element property
3394 break-align-symbol
3395
3396 * Instrument_name_engraver, uses break alignment instead of
3397 side-position.
3398
3399 * System_start_delimiter_engraver, System_start_delimiter, uses a
3400 spanner for the braces/brackets at the left of the system. Remove all
3401 old Span_score_bar engravers.
3402
3403 * Removed Base_span_bar_engraver::use_prority_b_, and moved
3404 Base_span_bar_engraver into Span_bar_engraver.
3405
3406 1.3.40.jcn3
3407 ===========
3408
3409 * mutopia/Coriolan/violino-2.ly: Bugfix: wrong pitch.
3410
3411 * input/test: Removed stale AutoStaffSwitch examples.
3412
3413 * mutopia/E.Satie: Fixed gnossiene-4, doing \autochange.  Removed
3414 stale copy of gnossiene-4.
3415
3416 * buildscripts/make-cygwin-cross.sh: Made some small .zip package fixes.
3417
3418 * make/lilypond.spec.in: Made some bugfixes for _prefix, preparations
3419 for cross-building to Cygwin.
3420
3421 * buildscripts/make-cygwin-cross.sh: Now using rpm packages.
3422
3423 1.3.40.hwn2
3424 ===========
3425
3426 * added \property XXXMinimumVerticalExtent, \property XXXExtraVerticalExtent
3427
3428 * New_chord_tremolo_engraver: make tremolo beams from
3429
3430         \repeat "tremolo" NUMBER <Music-expression>
3431
3432 Removed support for "old-style" tremolos.
3433
3434 * Add a convert-mudela function for the conversion "\key A;" to "\key a; 
3435
3436 * Read \property measurePosition within the engraver code, instead of
3437 looking up the Timing_translator.
3438
3439 * star-spangled-banner.ly: add Bar_engraver to LyricsVoice 
3440
3441 * Changed all .fly and .sly files to .ly files.  Propose to dump .fly
3442 and .sly.
3443
3444 1.3.40
3445 ======
3446
3447 1.3.39.jbr1
3448 ===========
3449
3450 * buildscripts/mf-to-table.py: feta dep files are now opened with write
3451   binary option.  This avoids carriage return linefeed problems and
3452   windows while not affecting unix.
3453
3454 * Documentation/hacking.texi: Fixed a texinfo syntax error
3455
3456 * stepmake/bin/package-zip32.sh: Fixed or Removed some legacy, 1.2.x,
3457   directory paths.
3458
3459 * Documentation/ntweb/index.texi: Fixed broken links, added 1.3.39 links.
3460
3461 1.3.39.hwn1
3462 ===========
3463
3464 * Glossary updates by Christian Mondrup.
3465
3466 * Bugfix: use generic properties in lyrics too. This fixes the
3467 \property textStyle for lyrics.
3468
3469 * Score_element::preset_extent(), used by \property
3470 XXXVerticalExtent, so hard code the size of a vertical group. 
3471
3472 * Don't fix up reference points for originals of broken
3473 spanners. Fixes spurious "orphaned score-element" warnings.
3474
3475 * buildscripts/make-cygwin-cross.sh: Use rx-1.5 instead of regex (Jeffrey).
3476
3477 * scm/lily.scm: Fixed check for Windows: by default don't use scm regex.
3478
3479 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: Significantly smaller
3480 patch for guile.
3481
3482 * buildscripts/make-cygwin-cross.sh: Compile native package GNU regex,
3483 which should fix Windows problems with guile.  Also added input directory
3484 to zip file.
3485
3486 * stepmake/aclocal.m4: Added decent checking for version of guile, and 
3487 fixed warning message.
3488
3489 * lily/lexer.ll (My_lily_lexer): Bugfix: lookup chordmodifiers in the
3490 chord-modifier table (not in the pitch list).
3491
3492 1.3.39
3493 ======
3494
3495 1.3.38.hwn2
3496 ===========
3497
3498 * General cleanups of My_lily_parser. 
3499
3500 * Start of a Chord_tremolo_iterator for the `\repeat 4 "tremolo"'
3501 syntax.
3502
3503 * Moved Score_element::do_space_processing out of the dependency
3504 mechanism.
3505
3506 * Use Scheme for notename tables.  Removed uppercase letters for low
3507 octave notes. Removed Notename_table.
3508
3509 * Fixed core dump with declared "\key  ; "
3510
3511 * Extra robustness warning for Side_position_interface::aligned_on_self ()
3512
3513 * Extra robustness: make sure that first and last columns are breakable.
3514         
3515 1.3.38.jcn4
3516 ===========
3517
3518 * stepmake/aclocal.m4: Added support for cross-compiling with guile.
3519
3520 * buildscripts/make-cygwin-cross.sh: A try at dropping cygwin1.dll
3521  dependency by using mingw.  Compiling guile is too much to ask
3522  for mingw, though.  Also:
3523  - rename python scripts .py (request from Alain)
3524  - install native packages under their own, separate root. (Alain)
3525
3526 * lily.scm: Don't use regex module when running on
3527 Windows. (Shamus)
3528
3529 * lily/staff-margin-engraver.cc (acknowledge_element): If
3530 possible, hang y-axis of margin script to span-bar.  This fixes
3531 vertical placement of margin scripts attached to staff groups.
3532
3533 * help2man-rules.make: Fixes for generating manpages by copying
3534 and for building using --scrdir.
3535
3536 * stepmake/stepmake/generic-targets.make: Preserve date stamp of
3537 config.h, version.hh files file when copying.
3538
3539 * buildscripts/make-cygwin-cross.sh: made number of fixes:
3540         - add `Cygnus/' prefix to directories in .zip-file too.
3541         - package guile too.
3542         - don't link to cygwin1.dll
3543
3544 * stepmake/stepmake/install-targets.make: bugfix, don't fail if directory
3545   is not emty when uninstalling.
3546         
3547 * stepmake/stepmake/generic-targets.make: added man target.
3548
3549 * buildscripts/make-cygwin-cross.sh: new script for cross-building cygwin
3550   development tools and lilypond executable.
3551
3552 * Documentation/ntweb/lilypond-manpages.patch: provide pre-built
3553   manpages, so that make doesn't fail on help2man trying to execute
3554   a GNU/windows executable.     
3555
3556 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: new patch for
3557   guile-1.3.4.  
3558
3559 * flower/libc-extension.cc (memmem): cygwin compile fix.
3560
3561 1.3.38
3562 ======
3563
3564 1.3.37.hwn1
3565 ===========
3566
3567 * (generic-property.scm) added \property tieDash to set dashing on
3568 ties.
3569
3570 * Removed  ly_eval_str(), we should use scm_eval (Scm_object).
3571
3572 * Removed scm_to_array (), array_to_scm (), associated junk. Reverted
3573 undocumented .29 patch that made Bezier::control_ into an
3574 Array<Offset>.  Added some comments documenting the reasons for the
3575 changes.
3576
3577 * Revert generic-property.scm of .37 fix, fix the real problem in
3578 property-engraver.cc: use the right symbol to check if element
3579 property is already set.
3580
3581 1.3.37.jcn2
3582 ===========
3583
3584 * Fixed srcdir build, so that you can do:
3585
3586       tar xzf releases/lilypond-x.y.z
3587       mkdir <build>
3588       cd <build>
3589       ../lilypond-x.y.z/configure
3590       make
3591
3592   as with any other gnu package.  All build output goes to <build>/out.
3593
3594 * Changed and fixed use of different configurations, and different output
3595   directories.  Finally, you can use different configurations alongside
3596   eachother.  From make/stepmake.make:
3597
3598       # Use alternate configurations alongside eachother:
3599       #
3600       #     ./configure --enable-config=debug
3601       #     make conf=debug
3602       #
3603       # uses config-debug.make and config-debug.h; output goes to out-debug.
3604       #
3605
3606       # Use same configuration, but different output directory:
3607       #
3608       #     make out=www
3609       #
3610       # uses config.make and config.h; output goes to out-www.
3611       #
3612
3613
3614 * Fixed performance of (de)crescendi.
3615
3616 * Better documentation for arithmetic_multiplier and arithmetic_basicspace
3617   in params.ly.
3618
3619 * Added instrument-equaliser for MIDI output, see scm/midi.scm, and
3620   properties midiMinimumVolume, midiMaximumVolume, ranges [0,1].
3621
3622 * Changed absolute midi volume settings into factor of full scale.
3623
3624 * Fixed another dynamic-line-spanner bug, it gets hairy.
3625
3626 * Added warning for spanners that are not fully contained in parent spanner.
3627
3628
3629 1.3.37
3630 ======
3631 1.3.36.hwn1
3632 ===========
3633
3634 * Abstract Align_element into Align_interface. Removed
3635 Axis_align_{item,spanner}, Align_element, Super_element, all multiple
3636 inheritance in the backend.
3637
3638 * new Gade score, INSTALL.texi fixes (thanks, Mats)
3639
3640 * Removed Item::hpos_f (), Score_element::{get,set}_real ()
3641
3642 * comments detailing properties for Axis_group_interface,
3643 Side_position_interface, Score_element, Item and Spanner
3644
3645 1.3.36.jcn3
3646 ===========
3647
3648 * Fixed vertical dimensions of elements in dynamic line spanner by adding
3649   axis-group to dynamic line spanner.
3650
3651 * Bugfix: line-spanner lasts always full duration of (de)crescendi.
3652
3653 * Bugfix: broken (de)crescendi on a dynamic-line-spanner.
3654
3655 * Bugfix: compilation dynamic-engraver.
3656
3657 * Added and updated a faq about postscript and ghostscript.
3658
3659 * Fixed order of slurVerticalDirection verticalDirection in
3660   generic-property.scm.  Similar fixes for Stem, Tie, etc.
3661
3662 * Added a Text_engraver to GraceContext.  Maybe it was removed on
3663   purpose: scripts on grace notes seem broken, they appear on the
3664   main note.
3665
3666 * Bugfix: volume effect of (de)crescendi was sometimes wrong way round.
3667
3668 1.3.36
3669 ======
3670 1.3.35.hwn1
3671 ===========
3672
3673 * textEmptyDimension changed into textNonEmpty, default: off,
3674 ie. texts don't occupy space.
3675
3676 * Use STL map for Lookup::lookup_p_tab_p_
3677
3678 * Abstracted Axis_group_element into Axis_group_interface, and removed
3679 Axis_group_element. This eliminates some multiple inheritance in the
3680 backend
3681
3682 1.3.35.jcn1
3683 ===========
3684
3685 * Added minimum-space property to Side_position_interface.  Used in
3686   positioning of Volta_spanner: voltaMinimumSpace.
3687
3688 * Fixed and cleaned-up volta-spanner.
3689
3690 * Moved directional-element.cc -> directional-element-interface.cc
3691
3692 * Renamed all `process_requests' to `process_music', which fixes
3693   midi performance.
3694
3695 * Fixed dimensions (more x-y interchanges) of brace, bracket and
3696   volta-spanner.
3697
3698 * Half-assed fix to get similar vertical placement of orphaned vs.
3699   line-spanned dynamic elements.
3700
3701 * Added property bracketCollapseHeight: the minimal size of a staff bracket
3702   that will be typeset.  Smaller brackets will not be displayed.  This
3703   fixes the (in 1.3.x reintroduced) funny duck-beak-bracket-bug (sorry).
3704
3705 * Removed some dissonant chords from Coriolan
3706
3707 1.3.35
3708 ======
3709
3710 * Removed Documentation/programmer directory 
3711
3712 1.3.34.jcn3
3713 ===========
3714
3715 * Small enhancements to Staff_margin_engraver:
3716    - by default, the marginScript left aligns the text
3717    - to set the text style, use property marginScriptTextStyle
3718    - to change the alignment, use property marginScriptHorizontalAlignment
3719      (centred and right alignment require manual padding settings).
3720
3721 * Print a friendly message if the manual pages failed to build.
3722
3723 * Bugfix: dynamicDirection now overrides verticalDirection setting.
3724
3725 * Warning messages and nl.po
3726
3727 * Fixed vertical alignment for all dynamic items and (reluctantly)
3728   reinstated old directional behaviour for orphaned dynamics.
3729
3730 * Finished maximumRestCount property.
3731
3732 1.3.34
3733 ======
3734 1.3.33.hwn2
3735 ===========
3736
3737 * Print key without setting key, syntax "\key ;". General cleanups of
3738 key-item.
3739
3740 * Add paragraph tags in HTML output of mudela-book.  Music fragment
3741 don't run into the text anymore.
3742
3743 * Bugfix: don't align the first line of text. (Lookup::text ()).
3744
3745 * Abstract away data members of Axis_group_element, Align_element
3746
3747
3748 1.3.33.jcn3
3749 ===========
3750
3751 * Added helpful properties instrumentScriptPadding/instrScriptPadding for
3752   Staff_margin_engraver.
3753
3754 * Removed some empty files, substituted (c) 1999 occurrences.
3755
3756 * Added \property maximumRestCount.  It will prevent showing (or actually:
3757   moving in case of a collision) more than maximumRestCount similar rests.
3758   WIP!
3759
3760 * Rewrote Staff_margin_engraver.  Staff margin texts now hang on a new
3761   breakable item: Left_edge_item.
3762
3763 * Fixed vertical alignment for dynamic elements.  Orphaned dynamic items
3764   (not supported by a Dynamic_line_spanner) still collide with Staff,
3765   although they now have staff support, which was supposed to fix this.
3766
3767 * Fixed Staff_margin_engraver for "instrument", "instr" is still broken.
3768
3769 * Dynamic elements are only put in a Dynamic_line_spanner if there
3770   actually is more than one adjacent note-column with a dynamic.
3771   This breaks the fine looks of all dynamics, again :-)
3772
3773
3774
3775
3776 1.3.33
3777 ======
3778
3779 1.3.32.hwn3
3780 ===========
3781
3782 * Experiment: use STL map for Scheme_hash_table; Is there a speedup?
3783
3784 * Bugfix: print brace iso. bracket for Piano / GrandStaff
3785
3786 * Change naming: change do_post_processsing into after_line_breaking,
3787 do_pre_processsing into before_line_breaking and do_process_requests
3788 into do_process_music.
3789
3790 * Bugfix in hash-table.hh: do quadratic probing, and not cubic probing.
3791
3792 * Display property name for type error.
3793
3794 * Cleanups for Dynamic_engraver and Dynamic_line_spanner.
3795
3796 * Warn if last column in score is musical. Helps catch programming errors.
3797
3798 * Spanner::spanned_drul_ now is private. 
3799
3800 * Rewrote some bar code: moved molecule functions out of Lookup.
3801
3802 1.3.32.jcn3
3803 ===========
3804
3805 * Embedded newlines in text items are now allowed.  This helps avoiding
3806   TeX-hacking in some cases.  See input/test/coriolan-margin.ly
3807
3808 * Fixed stupid x-y interchange bug for staff-bracket.  This fixes
3809   placement of staff-brackets.
3810
3811 * Fixed bracket/arch-thickness interchange bug, and made bracket a bit
3812   thinner.
3813
3814 * Fixed slur/bezier-beautiful name mismatch.  This should fix the steep
3815   slurs that were apparently reintroduced in 1.3.29.
3816
3817 * Made some small fixes to Coriolan.
3818
3819 * Removed duplicate lily/output-property-engraver.hh.
3820
3821 * Removed optional use of vanilla spanner in Dynamic_engraver.
3822
3823 * Fixed (measured) tremolo for Stem and Beam. Merged declarations
3824   stem-engraver.hh and chord-tremolo-engraver.hh into their .cc
3825   implementation file.  Also fixed looks of Chord tremolo, input and
3826   implementation is still ugly.
3827
3828 * Added *.yy and *.ll to TAGS, to that tags-find-replace doesn't omit
3829   parser and lexer.
3830
3831 1.3.31.mb1
3832 =========
3833
3834 * Fixed \specialkey and \normalkey. Updated documentation.
3835
3836 1.3.32
3837 ======
3838 1.3.31.jcn5
3839 ===========
3840
3841 * Fixed and cleaned-up Dynamic_engraver.  Optionionally uses vanilla
3842   spanner instead of Dynamic_line_spanner.
3843
3844 * Made gcc-2.95 compile fix in libc-extension.
3845
3846 * Various fixes to Coriolan, score starts to look acceptable.
3847
3848 * Moved optional text of crescendo into Crescendo spanner.  Fixed horizontal
3849   and vertical alignment of dynamics.
3850
3851 * Added new text crescendo spanners to Coriolan and made some fixes.
3852   If you're using timidity, use the -EO option to prevent notes get
3853   stuck.  I'm not sure whose fault this is, Lily's MIDI output may be
3854   stretching the standard a bit.
3855
3856 * Adjacent dynamic markings are now grouped on a horizontal line, but it's
3857   not perfect yet: they're always below the staff and no horizontal spacing
3858   is done.  Also, character metrics of dynamics are still not used.
3859   See: input/test/crescendi.ly and input/test/dyn-line.ly
3860
3861 * Cleaned up Span_dynamic_performer.
3862
3863 1.3.31
3864 ======
3865 1.3.30.mb1
3866 =========
3867
3868 * Fixed the page layout, reintroducing space for the header and
3869   trying to keep piece titles on the same page as the piece.
3870   The header and footer can now contain several lines.
3871
3872 1.3.30.jcn3
3873 ===========
3874
3875 * Lily now also performs crescendi and decrescendi in MIDI output:
3876   Span_dynamic_performer in a slightly crappy way.
3877
3878 * Added preliminary support for crescendi/decrescendi other than `hairpins',
3879   eg: `cresc. poco `a poco -- -- --'
3880
3881 * Made MIDI tie performance fix.
3882
3883 1.3.30.jcn2
3884 ===========
3885
3886 * Lily now performs absolute dynamics in MIDI output.
3887
3888 * Included David's comments on opus47 in TODO.
3889
3890 1.3.30.jcn1
3891 ===========
3892
3893 * More Coriolan: flute-1,2; oboe-1,2; clarinet-1,2; 
3894   fixes and remainder french horn-1,2; trombone-1,2;
3895   fagotto-1,2; timpani; and several fixes.
3896   
3897 1.3.30.uu1
3898 ==========
3899
3900 * Remove some old doco from programmer/ and put on personal homepage.
3901
3902 * Removed union-find from flower library.
3903
3904 * Only quantise tie horizontal part inside the staff.
3905
3906 1.3.30
3907 ======
3908 1.3.29.hwn1
3909 ===========
3910
3911 * Report type errors for \property. Helps with converting 1.2 input
3912
3913 * Use Scheme for Align_element; fixed graceAlignPosition 
3914 and removed \property alignmentReference in the process.
3915
3916 * Use generic properties for lyrics too.  This fixes \property
3917 Lyrics.textStyle
3918
3919
3920 * Add relative distance for constraints between non-column items.
3921
3922 * Automatic \marks: use "\mark ; ". The mark numbers or letters are
3923 increased automatically.
3924
3925 * Translators now only change properties of their own context. This
3926 removes the 2nd argument to Translator::get_property()
3927
3928 * Bugfix for Metapost mode
3929
3930 1.3.29.uu1
3931 ==========
3932
3933 * Updates of glossary  (Christian Mondrup)
3934
3935 * Bugfix with bar number placement
3936
3937 * Moved links to bibliography/ and misc/ to main index.
3938
3939 1.3.29
3940 ======
3941
3942 * Moved Slur-specific code from Bezier_bow to Slur and Slur_bezier_bow.
3943   Slurs are now calculated just once.
3944
3945 * Bezier_bow gets constants from paper.  Still no sensible solution for
3946   magic asymmetry gradient step constants.
3947
3948 * Reinstantiated tangent-controls, more flexible than ever.  You can choose
3949   between area asymmetry and tangent-controls.  My guess is, tangent controls
3950   will be junked in 1.3.30.
3951
3952 * Slur area: only look at x-gradient.
3953
3954 * Added credits for some symbols of as5/9 fonts.
3955
3956 * Bugfix: don't make almost flat slurs, change in de-uglyfy slur.  
3957
3958 * Bugfix: midi2ly put out recent version (ugh).
3959
3960 1.3.28.hwn2
3961 ===========
3962
3963 * Bugfix: don't forget to process staffSpace and numberOfStaffLines
3964 properties.
3965
3966 * Removed Gade score. To appear (shortly?) on Mutopia. 
3967
3968 * Make Bar_script_engraver look for typeVisibilityFunction (eg
3969 property barNumberVisibilityFunction). Changed the names of the Scheme
3970 functions to be understandable. See input/test/bar-script-visibility.ly
3971
3972 * rewrite of class Molecule. It has now reached the ultimate quality
3973 plateau. All molecule data is now shared.
3974
3975 1.3.28
3976 ======
3977
3978 * Update of the glossary by Christian Mondrup 
3979
3980 * Moved horn-concerto-3 out of tarball to private website, removed
3981 W.A.Mozart subdirectory.
3982
3983 1.3.27.hwn1
3984 ===========
3985
3986 * Bugfix: don't make giant ties if the horizontal part of tie is near
3987 the center.
3988
3989 * Small optimizations to be a little more careful with mem usage. 
3990
3991 * Website change: put all examples in one directory.
3992
3993 * Removed Atom as a separate type.  Now use SCM, and since we use
3994 function composition, Atoms are immutable, so they don't have to be
3995 copied. This makes life easier, hopefully this is quicker and uses
3996 less memory.
3997
3998 1.3.27.jcn1
3999 ===========
4000
4001 * Bezier_bow: minimise_enclosed_area
4002
4003 1.3.27
4004 ======
4005
4006 1.3.26.hwn4
4007 ===========
4008
4009 * Tuplet-spanner slope calculation now looks better on tupletted rests
4010 (patch courtesy Laurent Martelli)
4011
4012 * Bugfix (Staff_performer::new_instrument_str ()) check type of
4013 \property "instrument"
4014
4015 * New mechanism for breaking lines: do not copy & prune the element
4016 property list separately, but combine these steps. Dramatically
4017 reduces memory usage for large scores.
4018
4019 1.3.27
4020 ======
4021 1.3.26.jcn2
4022 ===========
4023
4024 * Bugfix: font used in volta-spanner calculation.
4025
4026 * Added simple selection list to webpage, inspired by sawmill.
4027  
4028 * Devised kludge for ascii 5 character font pitches.
4029  
4030 * Substitutions: interline, 1997,1998, @stack.nl and small typo fixes.
4031
4032 1.3.26.hwn1
4033 ===========
4034
4035 * Plug memory leaks related to Moment:
4036   - Spacing_engraver::do_pre_move_processing ()
4037   - make_rational ()/make-rational
4038   - Paper_column::Paper_column ()
4039
4040 * Plug memory leak in Paper_outputter::output_{String,Real,int}_def()
4041
4042 * Plug memory leak in Score_engraver::set_columns ()
4043
4044 * Plug memory leak in Scheme_hash_table::set()
4045
4046 * Plug memory leak in Score_element::molecule_extent ()
4047
4048 * Bugfix: don't crash if a slur doesn't span anything.
4049
4050 * Bugfix: don't crash if doing beams without a staff symbol.
4051
4052 * Generic element property setting:
4053
4054         \outputproperty #predicate #'symbol = #value
4055
4056 Will set the element property symbol to value, for any elements that
4057 return true for PREDICATE.  This allows you to virtually tweak *ANY*
4058 property of the output. Example in input/test/generic-output-property.ly
4059
4060 1.3.26
4061 ======
4062
4063 * lilypond as as2ly: --help and --version to stdout.  Regular identify 
4064   to stderr.  This fixes help2man's manpage generation.
4065
4066 * configure: substitute full path for perl and guile in scripts.
4067
4068 * Added ascii slur and volta.  There seems to be a Lily bug in volta placement.
4069
4070 * Bugfix: default font now user settable
4071
4072 * as2text: handle plain ascii font, read from stdin, you can now do:
4073
4074   echo "\time 4/4; g''1 g2 g4. g8" | lilypond -f as -i init-as.fly - | as2text
4075
4076 1.3.25.hwn1
4077 ===========
4078
4079 * Bugfix: second half of broken ties now are displayed again.
4080
4081 * Bugfix: add clef to the support of 8 text in the G_8 clefs. Center
4082 it horizontally on the clef.
4083
4084 * Added Tie_column spanner. Ties in tied chords now get proper directionsa.
4085
4086 * Bugfix: unbroken repeat barlines now work, eg. |:
4087
4088 * Added Request_iterator to make more flexible constructions possible.
4089
4090 1.3.25
4091 ======
4092 * as2text: catch missing font/character errors, added default font, set text.
4093
4094 * New ascii fonts and glyphs: as5 as-numeral4 as-braces9
4095
4096 * Ascii output, minimal support:
4097   - AsciiScript Fonts: mf/*.af
4098   - Init files: ly/*-as.*ly 
4099   - AsciiScript translation to text: scripts/as2text.scm
4100   - input/test/as.fly input/test/as1.fly
4101   - Output support: lily/lily.scm
4102   - Try:
4103       lilypond -f as -i init-as.fly input/test/as.fly
4104       as2text as.as
4105
4106 1.3.24.hwn1
4107 ===========
4108
4109 * The horizontal part of ties will avoid collision with staff lines.
4110
4111 * Plugged memory leak: don't protect Atom function.
4112
4113 * Lookup cleanups. Made lots of functions static. Moved some code out
4114 of Lookup.
4115
4116
4117
4118 1.3.24.hwn1
4119 ===========
4120
4121 * Bugfix: ly2dvi.py exits succesfully when encountering --help and
4122 does not delete any of the file_ly*.tex.
4123
4124 * Added header and footer support in ly2dvi.py
4125
4126 1.3.24
4127 ======
4128
4129 * Added a ROADMAP file explaining the source directory layout.
4130
4131 * Minor tweak in the feta 6 and 9 numeral
4132  
4133 * Moved files from lib/ to flower/
4134
4135 * Removed Note_head_side class.
4136
4137 * Updated the webpage to be a little more chatty. 
4138
4139 * Small Local_key_engraver optimization: only lookup timing engraver once.
4140
4141 * Fixed dashed slurs
4142
4143 * Rewrite of Slur code.  Be much more picky about slur shapes. We try
4144 to offset the slur instead of bending it too much
4145
4146 * Look at stem directions for tie direction.
4147
4148 * Compound multimeasure rests. Put measures_i_ variable in an element
4149 property.  Made the symbol a lot wider.
4150
4151 * Time signature small cleanups.
4152
4153 1.3.22.hwn2
4154 ===========
4155
4156 * Symbols opposite to stem (eg marcato) now get the proper glyph in up
4157 version.
4158
4159 * Breathing marks now have a direction by default.
4160
4161 * Do set generic script properties.
4162
4163 * Also put tuplet brackets under notes.
4164
4165 * Score_element_info: only store origin of element, but not the path
4166 to parent translators. Saves a little memory, and removes some complexity.
4167
4168
4169 1.3.22.hwn1
4170 ===========
4171
4172 * Autobeaming in time sigs that don't have 1/4 beats fixed.
4173
4174 * (De)crescendi should now work. (Thanks Michael)
4175
4176 * Better error reporting for conflicting time signatures.
4177
4178 * Line_number_engraver: output locations of note head
4179 definitions. Very handy when entering complicated scores.
4180
4181 * Rewrote multi measure rest support: now they are entered as spanners
4182 (\commandspanrequest \start "rest"). RXXXX is an abbreviation for
4183
4184   { \commandspanrequest \start "rest"
4185     SXXXX
4186     \commandspanrequest \stop "rest"
4187   }
4188
4189 * Removed support of percent style repetitions. 
4190
4191 * Put texts outside the staff.
4192
4193 1.3.21.mb1
4194 ==========
4195 * Getopt bugfix: don't assert on certain errors.
4196
4197 * ly2dvi: Remove unnecessary space for the page headers.
4198
4199 * Bugfix convert-mudela
4200
4201 1.3.21.hwn1
4202 ===========
4203
4204 * Bugfix in lilypond-mode.el: eval-buffering now uses file name and
4205 not buffer name.
4206
4207 * Scrapped tupletVisibility property. Now use tupletNumberVisibility,
4208 tupletBracketVisibility, with Scheme value #t, #f or 'if-no-beam.
4209 \property tupletInvisible will stop all tuplet spanner creation.
4210
4211 * Don't go berserk if tuplet spanner is on only one column.
4212
4213 * Use SCMs & Smobs for Molecules & atoms.  This uses less
4214 scm_(un)protect_object () calls, so the output stage should be faster.
4215
4216 * Added \property tupletSpannerDuration, to make multiple tuplet signs
4217 with one \times.
4218
4219 * Some programming Errors in spacing are now caught. Lily does not
4220 hang when encountering degenerate springs.
4221
4222 * Allow beams to start and end over rests
4223
4224 1.3.19.hwn2
4225 ===========
4226 * Fix disappearing clefs when clefs are not printed with a barline.
4227
4228 1.3.20.jcn2
4229 ==========
4230
4231 * SCM properties beamHeight and beamVerticalposition now use half-spaces:
4232   input/test/beam-control.fly
4233 * Added \context Voice to .fly and .sly; the default \context Staff is almost
4234   never what you expect
4235 * Fixed decision for .sly/.fly in lilypond-mode.
4236
4237 1.3.19.hwn1
4238 ==========
4239
4240 * Clean up font-metric hierarchy, use Adobe AFM code to parse AFM files.
4241 Cleanup mf-to-table.py
4242
4243 * Fixed embarassing slur bug.
4244
4245 1.3.19.jcn1
4246 ==========
4247
4248 * lilypond-mode.el: guess init file for lily-*-region, lily-mode-map bindings
4249
4250 1.3.18.uu2
4251 ==========
4252
4253 * lilypond-mode.el for emacs supersedes mudela-mode.el 
4254
4255 * Tuplet spanners don't collide with encompassing notes. 
4256
4257 * Gobbled Adobe parseAFM* code, for future use.
4258
4259 * Big 1999 to 2000 search/replace.
4260
4261 * Big interline to staff_space search/replace for mf files.
4262
4263 * Removed Bow class, and split code into Tie and Slur
4264
4265 * Don't put scripts on grace notes.
4266
4267 * Font_metric uses SCM for name field.
4268
4269 * Various compilation fixes.
4270
4271 1.3.17.jcn2
4272 ===========
4273
4274 * Bugfix: beams with less than one (visible) stem
4275
4276 * small fixes to pa.ly
4277
4278 1.3.17.jcn1
4279 ===========
4280
4281 * Fixed bug that made multi-measure rest barnumber counts go wild.
4282 (even more scm2int/int2scm mixups!)
4283
4284 * mutopia/J.S.Bach/pa.ly: organ score (for my father)
4285
4286 * small fix to mutopia/J.S.Bach/Duette/violino-ii.ly
4287
4288 1.3.17.hwn2
4289 ===========
4290
4291 * Remove Paper_def calls in bezier-bow.cc
4292
4293 * Remove data members of Tuplet_spanner,  Volta_spanner
4294
4295 * hang_on_clef, property hangOnClef removed
4296
4297 * Bar::type_str_ mode into element property `glyph'. Use a Scheme
4298 function to determine breaking behavior.
4299
4300 * More Scheme typechecking.
4301
4302 * Be strict about the difference between strings and symbols for conversion.
4303
4304 * Fixed bug that made 1st line offset to right fixed. Bugfix courtesy
4305 Laurent Martelli.
4306
4307 * Partial French translation, courtesy Laurent Martelli.
4308
4309 * Small corrections in NL translation. 
4310
4311 1.3.17.hwn1
4312 ===========
4313
4314 * Added mensural note heads (noteHeadStyle = "mensural") Additionally,
4315 we have a longa note head.  noteHeadStyle = "harmonic" is not
4316 supported anymore. (for now, that is)  
4317
4318 * Reference manual update. Document \properties with examples
4319
4320 * fix mudela-book --help
4321
4322 * Use element properties for Text_item::text_str_, Clef_item::symbol_,
4323 Key_item::c0_position_
4324
4325 * Clef_engraver general cleanup. Use alists (\property
4326 supportedClefTypes, clefPitches) for clef types.
4327
4328 * Use progress_indication () for progress. Don't include <iostream.h> directly 
4329 Don't include <string.h>, <math.h> from headers.
4330
4331
4332 1.3.16.hwn1
4333 ===========
4334
4335 * \property stemCentered (boolean): centers stem on note head. See
4336 input/test/stem-centered.ly
4337
4338 * input/trip.ly, small test of lots of features.
4339
4340 * \property Staff.collisionMergeDotted: merge equal noteheads
4341 with different dot count. See input/test/collision-merge-dotted.fly
4342
4343 * Dotted rest bugfix 
4344
4345 * Don't crash if a slur does not span any notes.
4346
4347 * Volta repeats fixed.
4348
4349 * cleanup of Note_heads_engraver
4350
4351 * removed dots_i_ member of Dots
4352
4353 1.3.16.jcn1
4354 ===========
4355 * Fixed cross staff slurs.  It seems that cross-staff sign
4356   was swapped.
4357
4358 1.3.15.hwn1
4359 ===========
4360
4361 * Fixed bug in stem code.  Stem in chords works again.  Small
4362 stem cleanups.
4363
4364 * Use element properties for Staff_symbol.
4365
4366 * \property sparseTies (boolean).  Only make one tie in the
4367 middle for tied chords.
4368
4369 * Junked Directional_spanner, Column_info.
4370 Directional_element now is element interface `Directional_element_interface'
4371
4372 * cleanup: use to_boolean () iso. gh_boolean_p && gh_bool2scm
4373
4374 pl 15.jcn4
4375         - removed old notename2scm conversion
4376         - beam-dir-algorithm through scm
4377         - bfs paper-scm
4378 gv      - bf: knee-stemlengths
4379
4380 pl 15.jcn3
4381         - moved poor man's stem arrays to scm
4382         
4383 pl 15.jcn2
4384         - beam quanting using scm lists
4385
4386 pl 14.hwn1jcn1
4387         - chord-name uses scm members
4388         - bfs: knee with different mults, interstaff knee, auto-knee
4389
4390 **********
4391 pl 14.hwn1
4392         - specialize duration.cc for lily, move out of lib/
4393         - stem cleanup
4394         - more SCM typechecking
4395         - stafflineleading -> staff_space
4396         - bf: rod distances.
4397         - junk some unused code.
4398         
4399 pl 13.hwn2
4400         - paper/score column cleanups. Junk Score_column type
4401
4402 pl 13.hwn1
4403         - Bezier_bow/Bezier cleanups
4404         - bf: rest under beam.
4405         
4406 pl 13.jcn2
4407         - untangled Chord_name (item) and Chord (list-of-pitches)
4408         
4409 pl 13.jcn1
4410         - bezier-bow fix
4411
4412 **********
4413 pl 12.hwn1
4414         - polynomial.hh
4415         - bf: generic properties
4416         - quantise_iv () fix.
4417         - bezier cleanup
4418         - class Polynomial 
4419         - use smobs for font metric tables/hashes.
4420         - nl.po bf
4421
4422 **********
4423 pl 11.jcn3
4424         - small beam fixes (interstaff knees still broken)
4425
4426 pl 11.hwn1
4427         - bf: dots
4428         - bf: harmonic note heads
4429         - revise stem, notehead, rest
4430
4431 pl 11.jcn2
4432         - included missing scm,ly updates
4433         - bf: urg to_dir () takes scm..
4434         - bf's: if (Foo b = bar != 1)
4435         - beam cleanup
4436
4437 *********
4438 pl 10.uu1
4439         - various small bfs
4440         - bf: alignment reversed
4441         - Staff_symbol_referencer -> Staff_symbol_referencer_interface
4442         - bf: staccato pos
4443         - Knee fixes (thanks, Jan)
4444
4445 pl 10.jcn2
4446         - fixes for invisible beamed stems
4447         - removed steminfo from properties, don't cache Stem_info
4448
4449 pl 10.jcn1
4450         - steminfo to properties
4451         - dropped internote dim for stem-beams
4452
4453 *********
4454 pl 9.hwn1
4455         - abstracting Staff_symbol_referencer to an interface.
4456         - quantised_position for staccato dots.
4457         - standchen fixes
4458         - junk Score_element::do_{width,height}: set callbacks directly.
4459         - merge Score_element, Graphical_element
4460         - merge Axis_group_element, Graphical_axis_group
4461         - junk pointer fields from Score_element derived classes
4462         - junk obsolete do_substitute_dependency code.
4463
4464 **********
4465
4466 pl 8.hwn2
4467         - staff-support for Crescendi.
4468         - padding for accidentals.
4469         - cascading offset callbacks
4470
4471 pl 8.hwn1
4472         - note-head-side 
4473         - naming Staff_sidify -> Side_position_interface
4474
4475 ***********
4476
4477 pl 7.mb1
4478         - bf: timeSignatureStyle works again
4479
4480 pl 7.hwn1
4481         - Dirk Latterman key/mmrest patches
4482         - Offset callbacks in Dimension_cache
4483         - Junked Staff_side_*
4484         - Staff_sidify: interface class.
4485         - prelude-{1,2} fixes.
4486
4487 ***********
4488 pl 6.uu2
4489         - bf: PS font selecting.
4490
4491 pl 6.uu1
4492         - bf: ls-latex
4493         - mudela-book --no-pictures
4494         - bf: ly2dvi
4495         - convert-mudela: beamAuto moment syntax. 
4496
4497 pl 6.jcn3
4498         - fixed scm output
4499
4500 pl 6.jcn2
4501         - half-baken ly-gulp-file in scm
4502         - resurrected scm output through guile
4503
4504 pl 5.mb1
4505         - bf: version of init.sly, init.fly
4506         - Clarify necessary version of texinfo
4507         - bf: texi files, minor errors and syntax compatible with 
4508           older makeinfo
4509
4510 pl 6.jcn1
4511         - bf: scm output
4512
4513 *******
4514
4515 pl 5.hwn2
4516         - Bach preludes: mutopification
4517         - dots are Directional_element too; use \property dotDirection
4518         - moved some stuff out of Lookup
4519         - bf: dots
4520         - font selection mechanics changed.
4521
4522 pl 5.uu1
4523         - bf: smob allocation (thanks David!)
4524
4525 pl 5.hwn1
4526         - junked \shape. Now use #'margin-shape 
4527         - timing: one_beat -> \property beatLength
4528         - bf convert-mudela
4529
4530 ************
4531
4532 pl 4.uu1
4533         - input/test/ \property fixes.
4534         - gcc 2.95 fix
4535
4536 pl 4.hwn1
4537         - Break_align_engraver,
4538         break align order from  \property breakAlignOrder
4539         - junked Score_priority_engraver
4540         - moved Time_description into Timing_translator
4541         - use properties for timing, see input/test/timing.fly
4542         * removed \cadenza ; now use \property Score.timing
4543         * \property measurePosition
4544         * \property measureLength
4545         * \property currentBarNumber
4546         - Note_name_engraver , \context NoteNames
4547
4548
4549 pl 4.jcn1
4550         - junked some chord guessing code
4551         - bf: lookup size (-1) for chord-name accidentals
4552         - bf: ly2dvi's MFINPUTS setting
4553
4554 *************
4555 pl 2.jcn3
4556         - chords:
4557           * Chord is item
4558           * junked TeX hacking
4559           * configurable with styled strings from scm
4560           * fixes: dim, /no X, tonic != C
4561
4562 pl 2.jcn2
4563         - chords from  scm 
4564
4565
4566 pl 3.hwn2
4567         - visibility-lambdas into default elt properties SCM.
4568         - clef types in SCM
4569         - verticalDirection properties now in SCM.
4570
4571 pl 3.hwn1
4572         - move position_i_ into Staff_symbol_referencer
4573         - move dir_ into Directional_element baseclass
4574
4575 ****************
4576
4577 pl 2.hwn1
4578         - bf: dynamic style.
4579         - prepare to move dir_ into SCM. 
4580
4581 pl 2.jcn2
4582         - chord fixes: 
4583            * inversion request: no inversion guessing for chord entry
4584            * bass request: c/+b to add bass note not part of chord
4585            * -dim modifier works on all thirds
4586            * colon iso dash as tonic/modifier-additions separator
4587            * C:m5- displays as "Cdim"
4588            * C:m5-7- displays as "Co"
4589
4590 pl 2.jcn1
4591         - moved bracket vars to params
4592         - reverted broken lilypond-devel
4593
4594 *************
4595 pl 1.uu1
4596         - David's patches:
4597         * mfplain.mp detection
4598         * Graphical_element::common_refpoint() robuster.
4599         * fixes for mudela-mode.el
4600         - Dirk's patches:
4601         * key signature placement,
4602         * tied accidentals.
4603
4604 pl 1.hwn2
4605         - extra-offset elt property.
4606         - junked Chord_tremolo
4607
4608 pl 1.hwn1
4609         - changed calling convention for {get,set,remove}_elt_property()
4610         - rm'd some mutopia examples.
4611
4612 *******
4613 pl 0.hwn2,1
4614       - Generic properties and Property_engraver. Moved most of the
4615 properties.
4616
4617 0.lu1
4618         - resurrected midi2ly
4619
4620 0.jcn1
4621         - bf: lyrics lexer
4622         - reverted mup2ly revert
4623
4624 pl 3.uu1:
4625         - frontport of 1.2.17 patches.
4626
4627 **********
4628
4629 1.3.0:
4630
4631 pl 15.hwn2
4632         - loads of bfs.
4633
4634 pl x.jcn3
4635         - another workaround: reset buffer state for scm_ftell ()
4636         - workaround for broken scm_ftell ()
4637
4638 pl 15.hwn1
4639         - \properties are now SCM s, junk Scalar type
4640         - use SCM for strings in parser.
4641         - Moment derived from Rational. Moment may be smobified.
4642
4643 pl 15.jcn4
4644         - direct #... to scm parser  (Thanks to Gary Houston)
4645
4646