]> git.donarmstrong.com Git - lilypond.git/blob - CHANGES
patch::: 1.3.103.jcn3
[lilypond.git] / CHANGES
1 --- ../lilypond-1.3.103.jcn2/CHANGES    Fri Nov  3 14:39:30 2000
2 ++ b/CHANGES    Sat Nov  4 15:09:38 2000
3 @@ -1,3 +1,12 @@
4 1.3.103.jcn3
5 ============
6
7 * Generate texinfo iso html documentation.
8
9 * Added x-references for elements->engravers and engravers->contexts.
10
11 * Fixed number font listing in style sheet.
12
13  1.3.103.jcn2
14  ============
15  --- ../lilypond-1.3.103/CHANGES        Thu Nov  2 15:25:16 2000
16 ++ b/CHANGES    Sat Nov  4 10:40:02 2000
17 @@ -1,3 +1,22 @@
18 1.3.103.lec1
19 ============
20
21 * abc2ly enhancements
22
23         * %%LY comments
24
25         * explanation of rationale for %%MIDI nobarlines
26
27         * supports -8va as a syntax for tenor clef
28
29         * pushing the Staff.timeSignatureStyle property
30
31         * parses space between key letter and mode in K: statement
32
33         * default for guitar chords is above the staff
34
35         * fix for translation of :: repeat
36
37  1.3.102.jcn1
38  ============
39  1.3.103.jcn2
40 ============
41
42 * Fixed default font settings for text items, text-item now uses
43 font-interface's alist-chain.
44
45 * Renamed property AutoBeam to autoBeamSettings to avoid confusion
46 about non-existing AutoBeam element.
47
48 1.3.103.jcn1
49 ============
50
51 * Added tex/dynamics.tex and tex/number.tex to ensure feta fonts are fine.
52
53 * Fulfilled long standing promise: fixed arpeggios in vicinity of collisions
54 (removed a ';' thus re-adding rhythmic-head support :-).
55
56 * Removed non-ascii characters from contributed Chord name code.
57
58 * Finished rewrite of auto-beam.
59
60 * Small bugfix for lilypond-mode.
61
62 1.3.102.jcn1
63 ============
64
65 * Translated auto-beam properties to alist.
66
67 * Rewrite of tfmtoafm in scm.
68
69 * Rewrite of emacs LilyPond mode, based upon auctex interface.
70
71 * Chord name fixes and additions (Atte Andr'e Jensen)
72
73 * ly-get-mus-property, ly-set-mus-property: set properties of Music
74
75 * Move Span_req::span_dir_ into Scheme
76
77 * removed numberOfStaffLines, staffSpace. Use StaffSymbol \push
78 staff-space, line-count
79
80 * removed minVerticalAlign, maxVerticalAlign; use VerticalAlignment
81 \push #'threshold = #(MIN . MAX)
82
83 * \property tremoloFlags can be set anywhere now
84
85 * \apply #function music 
86
87 * Bugfix: padding of dots.
88
89 * Generate documentation for separate engravers as well as for contexts.
90
91 * Move some reference manual into the  SCM documentation system.
92
93 * Bugfix: fixed hyphen spanners.
94
95 1.3.102
96 =======
97
98 * Fixed bracket, and made some other PostScript code fixes.
99
100 * Silly font initialisation fix for paper19 non-feature.
101
102 * Automatic engraver/property documentation infrastructure. 
103
104 * Fixed system-start braces
105
106 * Fix for forgetAccidentals: do print accidentals, just don't remember
107 them.
108
109 * Bugfix: forced script directions for scripts that have relative stem-direction.
110
111 * Bugfix: Tie_column doesn't force Tie directions ties that already
112 have a direction.
113
114 * Bugfix: multimeasure rest 
115
116 1.3.101
117 =======
118
119 * Custodes (patch by Juergen Reuter), mods by hwn.
120
121 * Font initialisation and markup translation fixes. (99.jcn2)
122
123 * Remove staffspace calls. Removed markScriptPadding. Fixes some
124 problems with tuplet, brace and volta spanners.
125
126 * make Font_interface::font_alist_chain (), and use default font
127 settings. Fixes too large time sigs.
128
129 1.3.100
130 =======
131
132 * Tweaks of .scm font-selection. 
133
134 * Rewrote font management of Score_element and Paper_def.
135
136 * Introduced outputscale: internally do computation in terms of
137 outputscale.  Prepare to deprecate staffspace internally.  Rewrote
138 .scm side of font selectioning. 
139
140 1.3.99.jcn1
141 ===========
142
143 * Made several font size and initialisation fixes.
144
145 * Renamed all occurrences of font-size to font-relative-size
146
147 * Renamed all occurrences of font-point to font-point-size
148
149 * Fixed interface.scm descriptions to use symbols iso strings
150
151 * Fixes for chord names, and added jazz style (James Hammons)
152
153 * Some font-size fixes.
154
155 * Added dynamics font in all staff-sizes.
156
157 * Quick fix for regtest.
158
159 1.3.98.hwn2
160 ===========
161
162 * Removed all paper vars except linewidth, indent, staffspace and
163 stafflinethickness.
164
165 * Rewrote Scheme side of font-selection.
166
167 * Bugfix: deprecate group-center-element thoroughly.
168
169 * Bugfix: LeftEdge must also have Break_align_item::alignment_callback
170 X-offset-callback.
171
172 * Add use music property "direction" for storing direction in
173 Script_req, use music property "text-type" for storing 'dynamic,
174 'finger, etc. Remove Dynamic_script_req. Resurrect fingerings.
175
176 1.3.98.lec1
177 ===========
178
179 * fixed scale-definition.ly for greek mode names.
180
181 1.3.98
182 ======
183
184 * Backend documentation updates and related cleanups
185
186 * Removed \property bracketCollapseHeight, systemStartDelimiterGlyph
187
188 * Bugfix: instrument-name on grandstaffs, see
189 input/test/instrument-name-grandstaff.ly
190
191 * Bugfix for tie/staffline collision.
192
193 * Bugfix: also send out end-repeat if there are no alternatives.
194
195 * Small solo cello suite fixes.
196
197 1.3.97.jcn1
198 ===========
199
200 * Added some interface documentation.
201
202 * Added raise and kern to markup.  This should make Chord names usable.
203
204 1.3.97
205 ======
206
207 * Made small fixes to basic properties: regression-test compiles.
208
209 * Moved Text_script_req's text_ member into mus-property.
210
211 * Renamed ChordName to ChordNames, for consistancy.
212
213 * Resurrected most of chord names, superscripting and kerning
214   is currently broken, though.
215
216 * Junked all old style text lookups, except for feta definitions.
217
218 * Added support for name-based character lookups.
219
220 * Added support for font styles and papersize style sheets.
221
222 * Added new code for font selection and scm text markup.  Only used
223   for testing in \textscript SCM. See input/test/markup.ly.
224
225 * Fixed (added actually, it got lost?) word-space for chords.
226
227 * Added slope-limit and attachment-offset properties to slur.
228
229 * Slur's broken trend now weighs in the number of note-columns.
230
231 * Spacing tweaks
232
233 1.3.96.hwn1
234 ===========
235
236 * Mudela-book fixes (Tom Cato Amundsen)
237
238 * Put marks above chords.
239
240 * Solaris fix.
241
242 * Type checking for \push and \pop; elt property description (docs
243 inclusive) is now in Scheme.
244
245 * Self-documenting backend using ly/generate-documentation.ly
246
247 1.3.96
248 ======
249
250 * Added friendly message for the clueless dvips user.
251
252 * Clef-engraver: changed c0-position, clef-position and glyph into properties,
253   enabling ottava spanners: input/test/ottava.ly.
254
255 * Added option for edge lines to Text spanner.
256
257 * Bugfix for early initialisation of invalid (grace->voice) slur.
258
259 * Dropped text support and padding of crescendo symbol.  Horizontal
260   alignment of dynamics is handled by side-support, Text crescendos
261   use the generic Text spanner.
262
263 * Added a generic Text spanner.
264
265 1.3.95.hwn1
266 ===========
267
268 * Bugfix: octavate eight.
269
270 * Rewrote arpeggio.
271
272 * mudela-book fixes (Tom Cato)
273
274 * Cleaned up Group_interface and Pointer_group_interface
275
276 * Add accidentals to arpeggio support.
277
278 * Stemup + barline combination gets extra space.
279
280 * Score_element::extent () now takes a reference point argument.
281
282 1.3.95
283 ======
284
285 * Use music property for setting type. This prevents accidental
286 forgotten copies.
287
288 1.3.94.jcn3
289 ===========
290
291 * Added Arpeggio and Trill elements to feta font.
292
293 * Yet another bugfix for output-property (Han-Wen)
294
295 * Made some fixes to les-nereides.
296
297 * Fixed output-property (Dankje).
298
299 * Added backend framework for arpeggios.
300
301 * Fixes for les-nereides.  Should we do asymmetric slurs...?
302
303 * Don't print repeat bars at start of line.
304
305 1.3.94
306 ======
307
308 1.3.93.uu1
309 ==========
310
311 * Bugfix: don't crash if there is no volta bracket to end.
312
313 * Move offset, dimension callbacks into Scheme.  They can be initialized from basicXXXX properties using
314
315         (X-offset-callbacks . (callback1 callback2 .. .))
316         (Y-offset-callbacks . (callback1 callback2 .. .))
317         (X-extent-callback . callback1) 
318         (Y-extent-callback . callback1)
319
320 * naming: basicXXXProperties -> XXX, some other changes in naming;
321 convert-mudela rules added.
322
323 * naming: \voiceone -> \voiceOne and related changes. convert-mudela
324 rules added
325
326 * syntax: \property XXX \pop #'bla -> \property Context.XXX \pop #'bla
327
328 * changed aclocal.m4 to have better check for guile version. (Laura Conrad)
329
330 * updates for mudela-book (Tom Cato Amundsen)
331
332 1.3.93.jcn1
333 ===========
334
335 * Try at nastiest competition piece: input/les-nereides.ly.
336
337 * Moved Pedal_engraver to Staff context.
338
339 1.3.93
340 ======
341
342 * Added some error messages for toplevel and stray string parse errors.
343
344 * Don't start more than one slur at a time.
345
346 * Set direction of Slur too in a2-engraver.
347
348 1.3.92.hwn1
349 ===========
350 * Removed calls to global GUILE namespace.
351
352 * Added \property: scriptDefinitions, explicitClefVisibility,
353 explicitKeySignatureVisibility, instrumentEqualizer,
354 dynamicAbsoluteVolumeFunction
355
356 * Added element properties Bar::break-glyph-function,
357 Break_align_item::space-alist, Chord_name::chord-name-function
358
359 * Added \property combineParts: part combiner switched off by default.
360
361
362 * Remove all print methods.
363
364 * Use Scope::try_retrieve if possible.
365
366 * Remove FAQ in favor of URL.
367
368 * etf2ly.py robustness fixes.
369
370 * Don't compensate for left edge in broken volta spanner.
371
372 1.3.92
373 ======
374
375 * RPM .spec fixes.
376
377 * italiano.ly
378
379 * mudela-book updates by Tom Cato Amundsen.
380
381 * Allow lyric hara kiri as well.
382
383 * Bugfix: left/right mixup  in Side_position_interface::aligned_on_self ()
384
385 * rest collision of differing rests.
386
387 * Cleanup of Sequential_music_iterator, Simple_music_iterator.
388
389 * Unfolded_repeat_iterator now signals repeats using \property
390   repeatCommands. You could override this, eg.
391
392         \property Score.repeatCommands = #'((volta "X") start-repeat)
393
394   will print a |: and a volta bracket saying X. See also
395   input/test/manual-volta.ly
396   
397 * Volta_engraver, Repeat_acknowledge_engraver: new engravers that are
398 controlled by repeatCommands; much cleaner than the Repeat_engraver.
399
400 * Junked Repeat_engraver.
401
402 1.3.91.jcn1
403 ===========
404 * Abort all running spanners when part-combiner combines voices.
405
406 1.3.91
407 ======
408
409 * Use S_ISDIR () and check for stat.h.
410
411 * Various fixes for RedHat 7.0 / gcc 2.96.54
412
413 * separate basic propertylist for fingerings, center them on
414 noteheads.
415
416 * Side_position_interface::aligned_on_self() now can take a real
417 number for self-alignment-{X,Y}.
418
419 * etf2ly: single line GF field.
420
421 1.3.90.mb1
422 ===========
423
424 * Added an interscorelinefill paper variable. Set to a positive number 
425   in order to stretch the inter-line spacing to fill the full pages,
426   except for the last page (where it would look really ugly).
427
428 1.3.89.jcn1
429 ===========
430
431 * Changed lilypond to LilyPond in ly2dvi, Mudela to LilyPond source.
432
433 * Website fixes: Changed \interline to \staffspace in manual, removed offending
434   braces from mudela-book.tely.
435
436 * Fixed slur attachment correction bug.
437
438 * Made some fixes to Coriolan.
439
440 1.3.89.hwn1
441 ===========
442
443 * Only open files, not directories 
444
445 * bugfix: textNonEmpty.
446
447 * Look ahead in auto-change iterator for rests. This means rests
448 before the note leading to an automatic staff switch are switched as
449 well (improves the looks of scarlatti-test).  Associated fixes and
450 additions for  Music_iterator::skip () and friends.
451
452 * Bugfix: only quantise staccato inside the staff. 
453
454 * cleanups for beam and stem. Removed global GUILE namespace calls
455 from Beam and Stem.
456
457 1.3.89
458 ======
459
460 * Some fixes to Coriolan.
461
462 * Fixed some stupid core dumps processing Coriolan.
463
464 * Fixed several problems with part-combiner's part-switching.
465
466 * Fixes for ASCII output.
467
468 * Added feature to part combiner that should allow part-switching only
469   for entire measures.  Currently, it is controlled by a new 
470   property changeMoments (A . B):
471     - only switch when !(A mod now),
472     - decide whether to switch based on music during time period B.
473
474 * Made bugfix: Sequential_iterator::get_music (M): mustn't return music 
475   later than M.
476
477 * Added skip (M) to some iterators.
478
479 * maintain minimum-length by shifting for hyphens at start of
480 line. (patch courtesy Christophe Rhodes)
481
482 * mudela-book fixes (courtesy Tom Cato Amundsen): documentation
483 update, LaTeX example, landscape support.
484
485 1.3.88.hwn2
486 ===========
487
488 * Added elt properties for Tie:
489   - details
490   - x-gap
491   - staffline-clearance
492
493 * Added elt properties for Slur
494   - y-free
495   - details
496
497 * Removed C++ support for barNumberScriptPadding, now in
498 generic-property.scm (but they're deprecated anyway)
499
500 * Changed threshold in Align_interface to be in staffspace 
501
502 * changed minVerticalAlign and maxVerticalAlign to be in staffspace.
503 A better way: do \push #'threshold = #(cons A B ).  (WARNING:
504 INCOMPATIBLE CHANGE)
505
506 * moved translator definitions out of \paper { }, only instantiate in
507 \paper.
508
509 1.3.88
510 ======
511
512 * Sequential_iterator::get_music (), part combiner now works.
513
514 * Changed paper variables into elt properties:
515   Beam:
516   - beam-space-function, Removed Paper_def::interbeam_f(), Smaller
517   beams for grace notes.
518   - beam-flag-width-function to Beam.
519
520   Grace_align_item:
521   -  horizontal-space: spacing of grace notes is configurable
522
523   Volta_spanner: 
524   - height
525   - thickness 
526
527   Multi_measure_rest:
528   - expand-limit
529   - minimum-width
530   - padding
531
532   Lyric_extender:
533   - height
534
535   Stem
536   - thickness 
537
538   Collision
539   -  note-width to Collision
540
541 * removed various obsolete variables from params.ly
542
543 * added input/test/bagpipe.ly
544
545 1.3.87
546 ======
547
548 * Made fixes to part-combine examples and Coriolan.
549
550 * Bugfix: don't dump core on unterminated (de)crescendo.
551
552 * Rolled next (M) also into get_music (M), similar to process (M), so that
553   sequential-music-iterator::get_music (M) returns something useful.
554
555 * Bugfix: part-combiner still expected Music_sequence, where get_music ()
556   now returns plain list of events.
557
558 1.3.86.hwn3
559 ===========
560
561 * Fixed problem with disappearing crescendi across line break.
562
563 * Bugfix: dynamic texts should not be set by text-engraver. 
564
565 * Rewrote and cleaned up music-iterator.
566
567 * etf2ly robustness fixes.
568
569 1.3.85.hwn2
570 ===========
571
572 * Added side-position-interface as an interface identifier, in stead
573 of checking side-support-elements. This fixes a problem with stacked
574 text scripts.
575
576 * Removed spurious set_elt_property ("XX", SCM_EOL) calls.
577
578 * Added \property squashedPosition for Pitch_squash_engraver: the
579 staff-position number to squash noteheads to.
580
581 * Added FAQ entry for script on bar, updated description of mailing
582 lists.
583
584 * Fixed bug with \translator { basicXXXProperties \push ... }
585
586 * Updated and revised call for help in hacking.texi.
587
588 * Bugfix: don't remember accidental if it is tied from the previous note.
589
590 1.3.85
591 ======
592
593 * Separated definition and implementation of contexts (moved
594 definition out of Translator_group into Translator_def)
595
596 * pmx2ly.py fixes: now handles text at beginning of block correctly.
597
598 * update .spec to include scripts. 
599
600 * Changed syntax of \pushproperty:
601
602         \property Voice.basicXXXProperties \push #'foo = #bar
603         \property basicXXXProperties \pop #'foo
604
605         \translator {
606                 basicXXXProperties \push #'foo = #bar
607                 basicXXXProperties \pop #'foo
608         }
609
610 1.3.84.jcn1
611 ===========
612
613 * Updated INSTALL.texi
614
615 1.3.80.tca1
616 ===========
617 * Added Documentation/user/mb-latex.tex, mudela-book+latex example
618   file and test case. Some work on Documentation/user/mudela-book.tely
619
620 * mudela-book.py: any combination of \verb, \begin{verbatim}
621   @code and @example and mudela should work as expected. 
622
623 * dropped [].extend that depend on python 1.5.2
624
625 1.3.84
626 ======
627
628 * pmx2ly, PMX to LilyPond conversion. Succesfully converts barsant.pmx.
629
630 * musedata2ly, a Musedata to LilyPond convertor. Succesfully converts
631 wtk1-fugue2
632
633 * bugfixes for dynamics: make sure that dynamic alignments encompass
634 the dynamics they support, and that any columns they attach to aren't
635 prematurely killed.
636
637 * bugfix: make sure \time gets noticed early enough.
638
639 1.3.83
640 ======
641
642 * small doc updates.
643
644 * Cleanups related to barline handling:
645
646   - Removed Translator_group::get_simple_translator (), and -
647
648   - use properties to communicate about barlines and time sigs. (NOTE:
649     by default a time-signature of 4/4 is printed.)
650
651   - fix repeat bar behavior.
652
653
654 * cleaned up Directional_element_interface
655
656 * add name field to score-elements.
657
658 * comment in some unprotects for Music in parser. Should bring down
659   cpu time and plug some leaks.
660
661 * robustness fixes for etf2ly, tuplets, grace notes. 
662
663 1.3.82
664 ======
665
666 * engraver.ly: cleanups.
667
668 * etf2ly: robustness fixes, handle mac files as well.
669
670 * Smobified Translator and Translator_group, junked
671 Translator_group_identifier.
672
673 * \pushproperty and \popproperty withing \translator, similar to
674 predefining \property, ie.
675
676         \translator { [...] \pushproperty [..] }
677         \translator { [...] \popproperty [..] }
678
679 (these \pushes and \pops are delayed until instantiation, so if you do
680
681
682         \score {
683                 \pushproperty #'basicFooProperties #'bla #VALUE1
684                 \context Voice { \pushproperty #'basicFooProperties #'bar #VALUE2
685                         [..]
686                 }
687         }
688
689 then the setting for basicFooProperties contains both (bla . VALUE1)
690 and (bar . VALUE2).
691
692 * allow \pushproperty #'symbol [..] as well as \pushproperty #'(symbol1 symbol2 ... )
693
694 1.3.81.jcn1
695 ===========
696
697 * Activated regex for windows.
698
699 * New guile-1.4 patch for cross windows build.
700
701 * Added configure messages for metapost checking.
702
703 1.3.81
704 ======
705 1.3.80.gp1
706 ==========
707
708 * Added property LyricVoice.associatedVoice to enable switching associated
709   voice mid-stream. Association still defaults to context name.
710
711 1.3.80.hwn1
712 ===========
713
714 * \pushproperty, \popproperty: property settings with less memory
715 cost. See input/test/pushproperty.ly and Documentation/hacking. Note:
716 syntax is most likely only temporary.
717
718 1.3.80.jcn1
719 ===========
720
721 * (Line-)broken slurs now have vertical trend.
722
723 * Better length for broken ties: no invisibly short ties.  Now ties may
724   collide with time signatures, though.
725
726 * Don't typeset unfinished spanners, but kill them.
727
728 * Added two FAQs (Mats)
729
730 * Made workaround guile-1.4.1 backward incompatible (scm_)eval change.
731   Note that we must use (scm_)eval2 to remain backwards compatible with
732   guile < 1.4.1 snapshot.
733
734 * Reincluded 79.jcn2 fix
735
736 1.3.80
737 ======
738
739 1.3.79.jcn5
740 ===========
741
742 * Created Thread_devnull_engraver and Voice_devnull_engraver iso
743   single A2_devnull_engraver in Thread context.  It seems however
744   that the hack in A2_devnull_engraver works better.
745
746 * Coriolan fixes.
747
748 * Slur attachment fix for chords where case slurdir != stemdir.
749
750 * Made various fixes for (line-)broken slurs.
751
752 * Fixed slur_height (), which fixes most ugly slurs (Yeah!).
753
754 * Fixed some silly url reversals in FAQ.
755
756 * Finished Coriolan music entry (again); entered second viola part.
757
758 * Updated Coriolan to use part combiner on Voice level for wind parts
759   and on Staff level for violi and bassi.
760
761 * Part-combiner now uses duration inquiry, which fixes rhythm-related
762   bugs in determining solo/a2.  Also, rests are taken into account.
763
764 * Another crude fix for almost unexplainable (with a gdb that dumps
765   core on ly_display_scm) all-zero control points slurs.
766
767 * Fixed slurs that crossed through stems and note heads.  Note
768   that beautifying of ugly slurs is still broken.
769
770 * Made crude fixes slurs don't crash, bezier still crashes on
771   infinitely steep slurs (eg flauti-part *with* slur_engraver).
772
773 1.3.79.gp1
774 ==========
775
776 * Replaced empty melisma score element with a property
777
778 * Renamed Voice_alist_entry -> Syllable_group in lyric-phrasing-engraver
779
780 1.3.79.uu1
781 ==========
782
783 * fixed y-position of whole rest
784
785 * fixed sustainPedalPadding
786
787 * etf2ly: articulation, lyrics.
788
789 1.3.79
790 ======
791
792 * etf2ly.py: Finale to LilyPond conversion.
793
794 1.3.78.jcn4
795 ===========
796
797 * Made simple fix to get part-combiner to recognise different rhythms
798
799 * Unhardcoded part combiner and a2-engraver; introduced properties
800   splitInterval, soloADue, soloText, soloIIText, aDueText.
801
802 * Fixed part combiner's too-late problem (Dankje!)
803
804 * Fixed a2-devnull-engraver, a2-engraver.
805
806 * Renamed part combiner music names to "one", "two".
807
808 * Cleaned up decision making in part combiner, renamed to "solo"/"unison"
809
810 1.3.77.mb1
811 ==========
812
813 * Minor documentation updates
814
815 * Mark_engraver: has been broken since .73, fixed!
816
817 1.3.78
818 ======
819
820 * Added a devnull engraver, that junks (notehead) requests of the second
821   stem when combined parts are in unison (a2).
822
823 * Part-combine iterator identifies Soli and A2 parts in threads by 
824   looking at rhythm and pitches.  It switches Voice context automagically,
825   and communicates current state using a2/solo/solo2 properties.
826
827 * Simple A2_engraver (`a due) prints `a2/Solo/Solo II.  Soli seem to
828   arrive one request late.
829
830 * First try at combining parts: part-combine*
831
832 * fixed problem with HaraKiri
833
834 * fixed problem with dynamicDirection
835
836 * fixed problem with nonEmptyText 
837
838 * `Fixed' chord notation, as per request of David Arnold, ie, 
839    Added a chord-name-mode, that only displays chord names
840    when there's a change in the chord-name-scheme, Also, a chord
841    name should always be displayed after a line break.  See
842
843        input/test/drarn-chords.ly
844
845 * Reverted duration-iter change in midi2ly, moved printing of options.
846
847 * warning bugfix in lexer.ll (Mats Bengtsson)
848
849 1.3.77
850 ======
851
852 * Midi2ly bugfix: handle durations longer than longa.  These can occur
853   because of lengthened notes when using --no-rests.
854
855 * Midi2ly: output `new' \key syntax, and updated version number.
856
857 * Midi2ly bugfix: don't correct quantised durations, don't use tuplets, 
858   double dots etc. when user doesn't want them.  It probably used to
859   work like this, a long time ago.  For some unknown reason, all
860   corrections made by Duration_convert were junked if the corrected
861   duration != exact duration.  Duh.
862
863 * Midi2ly: added a new option: --no-rests.
864
865 * Update of mudela-book (Tom Cato Amundsen)
866  - --read-lys option, now you can do:
867         mudela-book file.texi
868         convert-mudela
869         mudela-book --read-lys
870  - --outdir=DIR will put ALL output into DIR
871  - @mudela[filename="myfilename"]{c d e f g}
872  - --force-mudela-fontsize
873  - ignore mudela inside @ignore @end ignore
874
875 1.3.76.gp1
876 ==========
877
878 * Lyric_phrasing_engraver now catches lyric extenders and correctly
879   terminates them under the last note of a melisma.
880
881 * Lyric word spacing code changed to fix hyphen alignment.
882
883 * Other minor tidying up of Lyric_phrasing_engraver and related code.
884
885 1.3.76
886 ======
887
888 * Lyric_phrasing_engraver now adjusts for melisma.  (Glen Prideaux).
889
890 * Mudela-book fix for Windows95 (Mark Hindley)
891
892 * Debian update (Anthony Fok)
893
894 * Added beam melisma for when automaticMelismata and noAutoBeaming are both
895   #t (primarily for hymns).  Courtesy Glen Prideaux.
896
897 * Bugfix: .pfa dependency on $(outdir)/mfplain.mem
898
899 1.3.75.mb1
900 ==========
901
902 * stepmake/stepmake/metapost-rules.make: Put all generated files
903   in mf/out/.
904
905 * Added paper variable interscoreline to determine the score line
906   spacing, see input/test/vertical-extent.ly.
907   Cleaned up the lilyponddefs.tex inclusion scheme.
908
909 1.3.75
910 ======
911
912 1.3.74.gp1
913 ==========
914
915 * Improved default handling of Lyric_phrasing_engraver and made it on by 
916 default.
917
918 * Beginnings of a stanza number engraver (\property LyricVoice.stanza = 
919 #"1:" etc.)
920
921 * fixed bug in script.cc so fermata (and other scripts) get flipped 
922 correctly when they are above the staff.
923
924 1.3.74.jcn2
925 ===========
926
927 * Reincluded simple code for including tfm.[1-5] into search path.
928   Configure with --disable-kpathsea to enable this kludge.
929
930 1.3.74.jcn1
931 ===========
932
933 * Updated input/test/banter-chords.ly German H/B example.
934
935 * Updated nl.po.
936
937 * Have configure check for kpathsea library and functions.  Made kpathsea
938   support optional for now.
939
940 * Bugfix: halved width of tremolo-beams.
941  
942 * Included compilation fix for guile-1.3.4 (Anthony).
943
944 * Added: chord inversion and base to regtest.
945
946 * Fixed: Chord names that were broken by pl73.
947
948 * Fixed: Chord inversions that were broken by pl72.
949
950 * Resurrected ascii-script output, for debugging purposes.
951
952 * Included compilation fix for scm-hash.cc (Han-Wen).
953
954
955 1.3.74
956 ======
957
958 * Small bugfix: also do a deep copy on  submusices
959
960 * Fixed:  \autochange doesn't crash anymore.
961
962 * Cleanup, documentation and enforcement of smob interfaces in
963 LilyPond.  We distinguish between SIMPLE_SMOBS and SMOBS (objects that
964 have self_scm_)
965
966 * Glen Prideaux lyric phrasing engraver. See
967 input/test/lyric-phrasing.ly
968
969 1.3.73
970 ======
971 * Removed \interscoreline after the last line, prevents some
972 empty pages. (patch by Mats Bengtsson)
973
974 * Smobified Music, junked associated identifiers. Use Scheme list to
975 store Music_sequence.  Removed const declarations from
976 Music_iterators.  Added a mutable and immutable property list to
977 Music.  Use music property for all Scheme values in Music.  Created
978 and fixed a load of Garbage Collection bugs.
979
980 * Changed number font to allow automatic .mf creation.
981
982 * Output place of definition as \special{src:LOCATION}. See FAQ for
983 explanation how to use.
984
985 * Schemified Local_key_item and fixed minor bug with accidentals.
986
987 * new Japanese .po file.
988
989 * Bugfix for broken tie direction
990
991 * Bugfix for bar at beginning of line break
992
993 1.3.72
994 ======
995
996 * Robustness fix for minimise_least_squares ()
997
998 * cleanups of Slur_bezier_bow, removed Bezier_bow.
999
1000 * cleanup of Tie. Changed Tie into interface. Made ties flatter by default.
1001
1002 * changed SCM_UNDEFINED to SCM_UNSPECIFIED for return values that go
1003 back into Scheme.
1004
1005 * changed SCM_UNSPECIFIED to SCM_EOL for undefined element
1006 properties. This makes initializing list properties redundant.
1007
1008 * removed idiotic code for including tfm.[1-5] into search path.
1009
1010 * fixed problem with tuplet placement for cross staff tuplets.
1011
1012 1.3.71
1013 ======
1014 * Small cleanups to bring down  compile time and binary ensmallment.
1015
1016 * Made Lookup into a smob, and use guile alist iso. an STL map.
1017
1018 * Changed repeated music semantics for relative octave: each
1019 alternative takes its inital octave from the body.
1020
1021 * Fixed: parser accepts booleans for property values as well.
1022
1023 * Added Scarlatti sonata test file to input/
1024
1025 * kpathsea support, courtesy Carsten Block <carsten.block@gmx.de> 
1026
1027 1.3.70
1028 ======
1029 * Fixed: long standing problem in optical-illusion code.
1030
1031 * Fixed: stop beam if stem *has* a beam in auto-beam-engraver. 
1032
1033 * Made interface of Multi_measure_rest, System_start_delimiter,
1034 Spacing_spanner, Separating_group_spanner, Beam, Slur and
1035 Rhythmic_head.
1036
1037 * Use properties for minimum distances and spring parameters.  Move
1038 spacing related functions from Paper_column into Spaceable_element.
1039
1040 * Removed most Paper_column typecasts.
1041
1042 1.3.69
1043 ======
1044
1045 * Cleanup auto-beam-engraver: use properties for retrieving timing
1046 information.
1047
1048 * Fixed: Multi measure rests don't cause crashes.
1049
1050 * Fixed: don't invoke Hara_kiri::consider_suicide too early.
1051
1052 * Fixed: property engraver.  
1053
1054 * Fixed: don't crash on multiple ties.
1055
1056 * Cleanups of Beam, should also be a little faster.  
1057
1058 * Reunite properties and pointers. In implementation we make a
1059 distinction between mutable and immutable properties
1060
1061 * Add {has|set}_interface () static methods to interface classes.
1062
1063 * Made Side_position_interface and Staff_symbol_interface an all
1064 statics class, and stripped _interface suffix.
1065
1066 * Make Align_interface and Axis_group_interface an all-statics class 
1067
1068 * Rhythmic_head, Staff_symbol, Grace_align_item, Break_align_item,
1069 Bar, Span_bar are now interfaces, Staff_bar was removed. Use a
1070 callback for determining barsize.
1071
1072 * Removed all GLUE_SCORE_ELEMENT callbacks. 
1073
1074 * Added test for repeats to trip.ly
1075
1076 1.3.68
1077 ======
1078
1079 * ly2dvi: changed back to original semantics of latexheaders.
1080
1081 * Stem_tremolo, Crescendo, Hara_kiri_group_spanner, Tuplet_spanner,
1082 Volta_spanner changed into interface.
1083
1084 * Related cleanups for Tie, Tie_column cleanups.
1085
1086 * Made Time_signature, Single_malt_grouping_item, Script_column,
1087 Chord_name, Dot_column, Breathing_sign, Key_item type into interface.
1088
1089 * Removed const declaration from callback arguments.
1090
1091 * Pagebreak support. See input/test/between-systems.ly
1092
1093 * Fixed a problem with accidentals in combination with
1094 non-nil key signatures.
1095
1096 1.3.67
1097 ======
1098
1099 * Use callbacks for augmentation dot positioning.
1100
1101 * Removed types Note_head and Rest
1102
1103 * Cleanup of slur.cc: use common reference points in a sane manner.
1104
1105 1.3.66
1106 ======
1107
1108 * Corrected text sizes in paper*.ly (Mats Bengtsson)
1109
1110 1.3.65.uu1
1111 ==========
1112
1113 * Dots, Collision, Rest_collision removed as separate Score_element type.
1114
1115 * Stem and Note_column accept only one rest.
1116
1117 * Use offset callback in Stem to resolve rest/beam collisions.
1118
1119 * Put the value of new  local key signature (accidentals) back into a property.
1120
1121 * Set molecule-callback for notename item.
1122
1123 1.3.65.jcn2
1124 ===========
1125
1126 * Added some comments to new slur code.
1127
1128 * Removed some ugly interstaff slur code, interstaff slurs at line-break
1129   are still broken.
1130
1131 * Slur bugfix: 16th beams are also beams.
1132
1133
1134 1.3.65
1135 ======
1136
1137 * Bugfix: translate volta spanner at start of line.
1138
1139 * Changed directional_element() calls to instantiations
1140 of Directional_element_interface.
1141
1142 * Removed Dynamic_line_spanner, and cleaned up Dynamic_engraver.
1143
1144 * Removed Staff_info type. Information about columns is now transferred
1145 via currentMusicalColumn and currentCommandColumn.
1146
1147
1148 1.3.64.jcn2
1149 ============
1150
1151 * Made slur attachment position user settable; properties:
1152 slurBeginAttachment slurEndAttachment, values: 'head 'stem
1153 'along-side-stem.  See input/test/slur-attachment.ly and ophee-slurs.ly.
1154
1155 * Fixed slur attachment positions, added missing rule and use simple
1156 default starting positions for attachments.
1157
1158 * Started rewrite of slur ending code, interstaff slurs are broken for
1159 now.
1160
1161 * Fixed download URL of the webpage.
1162
1163 * Moved direction.cc to flower/.
1164
1165 1.3.64
1166 ======
1167
1168 * Lyrics centered on notehead.
1169
1170 * Various bugfixes hyphen-spanner.
1171
1172 * Bugfix: set appropriate callbacks for Note_head. This fixes 
1173 problems with dots.
1174
1175 * Removed Clef_item as score-element derived type.
1176
1177 * Updated config.sub and config.guess
1178
1179 * Bugfix: allow linebreaks on beamed grace notes.
1180
1181 1.3.61.jcn2
1182 ===========
1183
1184 * Included dutch po-update based on submitted 1.3.57 nl.po
1185
1186 * Added "Development" link to website, now that "Home" is a relative link.
1187
1188 * Bugfix: use deep copies for resetting keys.
1189
1190 * Assorted typing erors in procedure names in ly/engraver.ly
1191
1192 1.3.62
1193 ======
1194
1195 * Made callbacks from Score_element::before_line_breaking() and
1196 Score_element::after_line_breaking()
1197
1198 * Fixed website; backlinks should work again.
1199
1200 * Removed --ignore-version option. Added --verbose option.
1201
1202 1.3.61
1203 ======
1204
1205 * Webpage hacking
1206
1207 1.3.60.hwn1
1208 ===========
1209
1210 * Junk int_identifier, real_identifier. Merged Midi_def_identifier and
1211 Paper_def_identifier.
1212
1213 * Fixed bug with spanning barlines in combination with Hara-Kiri staffs.
1214
1215 * Cleaned up Text_item, Hyphen_spanner, Lyric_extender and
1216 Sustain_pedal and reduced them to an Score_element interface (they are
1217 no longer Score_element derived types).
1218
1219 * Some instances of brew_molecule routines have moved out of
1220 Score_element, and are now called scheme_molecule.
1221
1222 * Moved lots of parameters from ly/params.ly to ly/engraver.ly
1223
1224 1.3.59.hwn1
1225 ===========
1226
1227 * Removed String_identifier, and use the type system of GUILE instead.
1228
1229 * Fixed \key PITCH MODALITY syntax. The modality argument is now
1230 mandatory, a rule in convert-mudela has been added.
1231
1232 * Cleaned up  buildscripts/ directory: removed obsolete scripts.
1233
1234 * Use Scheme_hash_table for identifier Scopes.  Scheme_hash_table is
1235 based on STL and should be faster than hash_table.
1236
1237
1238 1.3.59.jcn1
1239 ===========
1240
1241 * Fixed scm_un/protect_object for guile-1.3.4 and 1.3.5 snapshots,
1242   in the process reduced number of protect/unprotect calls.  With
1243   guile-1.3.5 snapshot, memory usage has decreased by 1/5th, now
1244   just 10% above the 1.2 level.  Also, Lily's a bit faster.
1245
1246 * Fixed make diff bug in stepmake to be able to make this diff :-)
1247
1248 1.3.58.hwn1
1249 ===========
1250
1251 * Rewrote key sig support.  Now key signature can also be controlled
1252 by setting keySignature and localKeySignature properties, eg.
1253
1254         \property keySignature = #'((2 . -1) ( 4 . -1) (6 . -1))
1255
1256 sets a key signature of `es ges bes' (an unusual key signature).
1257
1258 Keys are internally represented as transpositions of the c-major
1259 scale. Printing the key signature for a scale is done by filtering out
1260 all non-natural accidentals.
1261
1262 * Removed support for \keysignature, and \key something \minor; Newkey
1263 is now obsolete.
1264
1265 1.3.58.jcn3
1266 ===========
1267
1268 * Fixed pedal items (hw)
1269
1270 * Changed configure option tex-tmfdir to tmf-path now accepting multiple
1271   tfm directories.  Automated links to cmr and amstex tfm font directories.
1272
1273 * Replaced one scm_assoc () u-turn slipped through jcn1
1274
1275 * various GUILE 1.3.5 compile fixes
1276
1277 * Added `Ped' as a compound symbol font and removed silly scheme kerning.
1278
1279 * Replaced some scheme assoc u-turns with scm_assoc ()
1280
1281 * Ran po-update (mostly because of new ja contribution).
1282
1283 1.3.57.jcn2
1284 ===========
1285
1286 * Cleaned-up scheme list to text conversion for Chord_name and 
1287 fixed horizontal kerning.
1288
1289 * Added examples for american (slashed o) and jazz (black triangle),
1290   see input/test/{american-chords.ly,jazz-chords.ly}
1291
1292 * Made guile-1.3.5 compile fixes
1293
1294 1.3.57.uu1
1295 ==========
1296
1297 * Fixed typo in Dots::do_brew_molecule (); this fixes the disappearing
1298 dots problem.
1299
1300 * Rewrote key signature administration; now Scheme is used; Octave and
1301 Key have been junked in favor of Newkey.
1302
1303 * japanese .po file included (thanks, Japanese team!)
1304
1305 1.3.57
1306 ======
1307
1308 * Fixed several forgotten molecule-callbacks 
1309
1310 * Fixed first clef in score; now F clefs are also possible.
1311
1312 1.3.56.mb1
1313 =========
1314  
1315 * Updated FAQ with two useful GDB macros.
1316
1317 * Several fixes in the documentation.
1318
1319 1.3.55.jcn1
1320 ===========
1321
1322 * Made (dutch) po-update
1323
1324 1.3.56
1325 ===========
1326
1327 * Molecules are now generated via callbacks exclusively; most calls to
1328 set_elt_property ("transparent", SCM_BOOL_T) have been replaced by suicide().
1329
1330 1.3.55
1331 ======
1332
1333 * Experimental property collapse for most score-elements.  (notable
1334 exceptions: Scripts, pedals). Change all Score_element constructors to
1335 take a basic-property list. The suffix of a property list may be
1336 shared by several score-elements, for instance all default G-clefs in
1337 a score share the following settings
1338   
1339            (breakable . #t)
1340            (break-align-symbol . Clef_item)
1341            (visibility-lambda . ,begin-of-line-visible) 
1342
1343 This should reduce memory usage further. 
1344
1345 * Magically fixed the disappearing Lyrics problem.
1346
1347 * Removed used_b_ field from Score_element.  
1348
1349 * Massive search-replace patch: store pointers and properties
1350 separately, in preparation of property collapse.
1351
1352
1353 1.3.54
1354 ======
1355
1356 * Bugfix: don't crash on tuplet spanners that don't contain any notes.
1357
1358 * Cleanup of Dimension_cache: removed a few redundant
1359 fields. Slightly lower memory usage (32 bytes per
1360 score-element). Dimension_cache is now a `dumb' struct again.
1361
1362 * Add array index to priority field of text scripts to ensure that
1363 order is unique, and sensible.
1364
1365 * Added an element count statistic.
1366
1367 1.3.53
1368 ======
1369
1370 * russian.po (thank you, August.)
1371
1372 * Small cleanups in Molecule interface 
1373
1374 * Spacing related elements perform suicide after calculating
1375 distances.  This saves a some memory, approximately 2 to 5 % ?
1376
1377 * Small cleanups in line breaking: Paper_column stores springs and
1378 rods in only one place now.  All fields relating to energy have been
1379 removed
1380
1381 * Don't generate all output Scheme in memory, but evaluate to output
1382 file immediately.  This will reduce memory usage a little.
1383
1384 * Use STL's map  for Dictionary template
1385
1386 * Substitute pointers on element properties of the root Line_of_score
1387 as well.
1388
1389 * Added toplevel doc target, to support building doc with --srcdir
1390
1391 * Removed cygwin build stuff; updated versions at:
1392
1393      http://appel.dyndns.org/lilypond/gnu-windows/cross
1394
1395 * Fixed lily.scm to handle incipits (thanks, Mats)
1396
1397
1398 1.3.52
1399 ======
1400
1401 * Made bugfix in smob handling: delete the C-part of freed smobs and
1402 be honest about amount of allocation and deletion, so that GUILE
1403 doesn't overestimate the amount of memory available.
1404
1405 * Faq update: nicer blank note paper, courtesy Mats Bengtsson.
1406
1407 * Bugfix: don't crash on durations that are not a power of 2.
1408
1409 * Build manpages during `make all' 
1410  
1411 * Bugfix: don't do absolute comparisons in Polynomial::clean ().
1412
1413 * Bugfix: set visibility-lambda for key signature created by
1414 createKeyOnClefChange. Fixes disappearing key signatures. 
1415
1416 * Bugfix: make System_start_delimiter of bar-line type invisible when
1417 it spans only one staff.
1418
1419 1.3.51
1420 ======
1421
1422 * Item cleanups.  Copying items and rearranging pointers are done in
1423 separate passes, which makes the code cleaner. This fixes a problem
1424 with some items not disappearing from hara-kiri staffs.
1425
1426 * Use Scheme for Key_item data members. 
1427
1428 * Don't use regex in chord-names.scm under windows; hybrid chordnames
1429 user+calculated will be partly broken.
1430
1431 1.3.50
1432 ======
1433
1434 * Junked Shift_tuple from collision; Now it uses SCM.
1435
1436 * Bugfix of documentation and test-file of tuplet.
1437
1438 * Bugfix type string of repeated music is copied. This fixes declared
1439 tremolos.
1440
1441 * Junked various cruft from lily.scm
1442
1443 * Use interfaces symbols instead of C++ class-name for assigning generic
1444 element properties.
1445
1446 * Junked Dictionary from Piano_pedal_engraver and
1447 Piano_pedal_performer.
1448
1449 * Introduced boolean element property no-spacing-rods: ignore this
1450 item for hard constraints.
1451
1452 * Bugfix: added sanitised TeX fragment in faq.texi
1453
1454 * Bugfix: merge equal Bar_reqs
1455
1456 1.3.48.uu1
1457 ==========
1458
1459 * Small fixes for \cresc and \endcresc
1460
1461 * Release properties of unbroken spanners & items after doing
1462 handle_broken_smobs (); should conserve a little memory.
1463
1464 * Fixed handling of orphaned score-elements. Any element that does
1465 not have its Line_of_score as a ancestor in both directions, is silently
1466 removed from the output.  This guarantees that programming errors
1467 don't result in coredumps from Dimension_cache::common_refpoint ():
1468 element->line_l () is always a common reference point.
1469
1470 * Bugfix: set visibility-lambda of clef and octavation-8 explicitly
1471 for default case.  Now the octavation 8 is not printed at every
1472 barline.
1473
1474 1.3.48.mb1
1475 ===========
1476
1477 * Changed noteHeadStyle properties to symbols, for example
1478   \property Voice.noteHeadStyle = #'cross
1479
1480 1.3.47.jcn3
1481 ===========
1482
1483 * Rewrite of chord-name production in scheme.  There are two major styles
1484   now, banter and american.  To get american style, use
1485
1486       \property ChordNames.chordNameStyle = "american"
1487  
1488   Most anything should be possible now.  See input/test/american-chords.ly
1489
1490 * Added isinf check to configure.in, and isinf macro from guile to
1491   bezier.cc; solaris has no isinf ().
1492
1493 * Fixed star-spangled-banner with not-so-nice \bar "|." fix.  Almost
1494   perfect now.
1495
1496 * Added output property to regression test.
1497
1498 * Fixed warning of creating existing outdir.
1499
1500 * Added `Mark' interface to text-items that are marks (thanks, HW).
1501
1502 1.3.48
1503 ======
1504 1.3.47.mb2
1505 ===========
1506
1507 * Corrected glossary.tely
1508
1509 * Corrected \mark font handling. feta-nummer font only of the 
1510   string is all numeric.
1511
1512 * Implemented noteHeadStyle lookup in Guile. Reintroduced the style
1513   "harmonic" and added "baroque" (normal note shapes except for 
1514   brevis and longa which are square).
1515
1516 * Simplified ly2dvi using the power of the geometry package.
1517
1518 * Improved heuristic size calculation of TeX macros. Handles e.g.
1519   "\\u{a}", "\\"{o}" and "\\^{u}" correctly.
1520
1521 1.3.47.hwn1
1522 ===========
1523
1524 * Bugfix: don't hang on zero-duration.
1525
1526 * Various glossary updates (thanks, Christian)
1527
1528 1.3.47
1529 ======
1530
1531 1.3.46.jcn2
1532 ===========
1533
1534 * Drastically reduced vertical space used by headers/footers, when using
1535   ly2dvi.  See input/test/fill-a4.ly.
1536
1537 * Fixed bug with colons appearing on repeat span-bars.
1538
1539 * Added Bar_number_engraver to standard Score context
1540
1541 * Construct octavation scripts in the clef-engraver; this fixes the
1542 hara-kiri + clef8 problem
1543
1544 1.3.46
1545 ======
1546
1547 1.3.45.jcn2
1548 ===========
1549
1550 * Fixed chord-name customisation and made small chord-name build fixes.
1551
1552 * Accidentals with chord-names smaller and as superscript.
1553
1554 * Do some extra footify (works only once) while making html docs.  
1555
1556 1.3.45.hwn1
1557 ===========
1558
1559 * Debian patch (Thanks Anthony)
1560
1561 * Rewrote Bar_number_engraver and Mark_engraver and removed
1562 Bar_script_engraver as baseclass. Both Bar_number_engraver and
1563 Mark_engraver are simpler and more robust.
1564
1565 * Fixed precedence of \property verticalDirection and dynamicDirection
1566
1567 * Fixed keys without barlines 
1568
1569 * Fixed StaffGroups: removing `\consistsend "Axis_group_engraver"'
1570 puts alignment in function again
1571
1572 * Fixed StaffGroup + GrandStaff combination.
1573
1574 * Music is now mandatory as the first thing in a \score{} block
1575
1576 1.3.45
1577 ======
1578 1.3.44.jcn2
1579 ===========
1580
1581 * Implemented una-chorda and sostenuto piano pedals in performer and engraver.
1582
1583 * Added Properties textScriptWordSpace and chordNameWordSpace.
1584
1585 * Junked old lyrics in star-spangled-banner.
1586
1587 * Added a Piano_pedal_engraver.
1588
1589 * Removed some empty files.
1590
1591 * Created piano pedal symbols: * - . P e d.
1592
1593 * Fixed ps-to-pfa.py to handle multiple unfills.
1594
1595 * Moved accordion symbols out of feta-script to end of font.
1596
1597 * Bugfix: don't create tfm's, pfa's etc of feta-test fonts.
1598
1599 * Fixed blot_diameter for small resolutions.
1600
1601 1.3.43
1602 ======
1603
1604 * Put global element list into Line_of_score, instead of
1605 Paper_score. post processing (the stage after line breaking) is now
1606 truly done per-system, and we got rid of an ugly hack to get font
1607 handling OK.
1608
1609 * Bugfix: set the group-interface of System_start_delimiter.
1610
1611 * Cleanups of Break_algorithm and derived classes, Move
1612 broken_col_range () to Line_of_score, remove Paper_score::col_l_arr_
1613
1614 * Bugfix for accordion symbols.
1615
1616 * Various patches to prevent crashing when do_brew_molecule gets
1617 called before after_line_breaking (). This was a problem in Spanner
1618 classes mostly.
1619
1620 1.3.43
1621 ======
1622
1623 1.3.42.jcn3
1624 ===========
1625
1626 * Made a quick try at piano pedal performer, damper pedal only.
1627
1628 * mf/feta-accordion.mf: Fixed strange turning paths.
1629
1630 * mf/feta-beugel.mf: Fixed infinity errors.
1631
1632 * Use a more discriptive name for windows setup.zip.
1633
1634 * mf/GNUmakefile: Have logs as last target, so that normally, they're 
1635 not made twice.
1636
1637 * stepmake/stepmake/metafont-rules.make: Don't remove the .log files.
1638 The logs are a target, removing them retriggers make.
1639
1640 * stepmake/stepmake/metapost-rules.make: Remove the correct log and tfm
1641 files, ie the ones that clutter the source directory, not the target logs.
1642
1643 * Windows distribution: faked symlink for cmtfm.  Setup.zip should now be
1644 standalone; ie, no need for Cygnus' usertools anymore.
1645
1646 1.3.42.jbr1
1647 ===========
1648   
1649 * Documentation/ntweb: Updated angels.ly to match current syntax.
1650 Also updated index.texi.
1651
1652 1.3.42.uu1
1653 ==========
1654
1655 * Change all occurances of Staff_margin_engraver to
1656 Instrument_name_engraver, add a convert-mudela rule
1657
1658 * Change status == busy assert into programming error
1659
1660 1.3.42
1661 ======
1662
1663 1.3.41.jcn3
1664 ===========
1665
1666 * Lots of fixes to windows distribution scripts.
1667
1668 * Added configuration features --program-prefix, --program suffix.
1669
1670 * lily/my-lily-parser.cc (get_chord): Bugfix, don't use deleted pitch.
1671 This fixes inversions c/g and bass additions d/+c on chords.
1672
1673 1.3.41.mb1
1674 ==========
1675
1676 * Avoid that xxxXXXVerticalExtent is used for empty HaraKiriStaff
1677   lines.
1678
1679 1.3.41.hwn1
1680 ===========
1681
1682 * Debian patches (thanks Anthony!)
1683
1684 * Use symbols for prefatory matter spacing. Do not use the typename
1685 for looking up item pairs in the table, but read element property
1686 break-align-symbol
1687
1688 * Instrument_name_engraver, uses break alignment instead of
1689 side-position.
1690
1691 * System_start_delimiter_engraver, System_start_delimiter, uses a
1692 spanner for the braces/brackets at the left of the system. Remove all
1693 old Span_score_bar engravers.
1694
1695 * Removed Base_span_bar_engraver::use_prority_b_, and moved
1696 Base_span_bar_engraver into Span_bar_engraver.
1697
1698 1.3.40.jcn3
1699 ===========
1700
1701 * mutopia/Coriolan/violino-2.ly: Bugfix: wrong pitch.
1702
1703 * input/test: Removed stale AutoStaffSwitch examples.
1704
1705 * mutopia/E.Satie: Fixed gnossiene-4, doing \autochange.  Removed
1706 stale copy of gnossiene-4.
1707
1708 * buildscripts/make-cygwin-cross.sh: Made some small .zip package fixes.
1709
1710 * make/lilypond.spec.in: Made some bugfixes for _prefix, preparations
1711 for cross-building to Cygwin.
1712
1713 * buildscripts/make-cygwin-cross.sh: Now using rpm packages.
1714
1715 1.3.40.hwn2
1716 ===========
1717
1718 * added \property XXXMinimumVerticalExtent, \property XXXExtraVerticalExtent
1719
1720 * New_chord_tremolo_engraver: make tremolo beams from
1721
1722         \repeat "tremolo" NUMBER <Music-expression>
1723
1724 Removed support for "old-style" tremolos.
1725
1726 * Add a convert-mudela function for the conversion "\key A;" to "\key a; 
1727
1728 * Read \property measurePosition within the engraver code, instead of
1729 looking up the Timing_translator.
1730
1731 * star-spangled-banner.ly: add Bar_engraver to LyricsVoice 
1732
1733 * Changed all .fly and .sly files to .ly files.  Propose to dump .fly
1734 and .sly.
1735
1736 1.3.40
1737 ======
1738
1739 1.3.39.jbr1
1740 ===========
1741
1742 * buildscripts/mf-to-table.py: feta dep files are now opened with write
1743   binary option.  This avoids carriage return linefeed problems and
1744   windows while not affecting unix.
1745
1746 * Documentation/hacking.texi: Fixed a texinfo syntax error
1747
1748 * stepmake/bin/package-zip32.sh: Fixed or Removed some legacy, 1.2.x,
1749   directory paths.
1750
1751 * Documentation/ntweb/index.texi: Fixed broken links, added 1.3.39 links.
1752
1753 1.3.39.hwn1
1754 ===========
1755
1756 * Glossary updates by Christian Mondrup.
1757
1758 * Bugfix: use generic properties in lyrics too. This fixes the
1759 \property textStyle for lyrics.
1760
1761 * Score_element::preset_extent(), used by \property
1762 XXXVerticalExtent, so hard code the size of a vertical group. 
1763
1764 * Don't fix up reference points for originals of broken
1765 spanners. Fixes spurious "orphaned score-element" warnings.
1766
1767 * buildscripts/make-cygwin-cross.sh: Use rx-1.5 instead of regex (Jeffrey).
1768
1769 * scm/lily.scm: Fixed check for Windows: by default don't use scm regex.
1770
1771 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: Significantly smaller
1772 patch for guile.
1773
1774 * buildscripts/make-cygwin-cross.sh: Compile native package GNU regex,
1775 which should fix Windows problems with guile.  Also added input directory
1776 to zip file.
1777
1778 * stepmake/aclocal.m4: Added decent checking for version of guile, and 
1779 fixed warning message.
1780
1781 * lily/lexer.ll (My_lily_lexer): Bugfix: lookup chordmodifiers in the
1782 chord-modifier table (not in the pitch list).
1783
1784 1.3.39
1785 ======
1786
1787 1.3.38.hwn2
1788 ===========
1789
1790 * General cleanups of My_lily_parser. 
1791
1792 * Start of a Chord_tremolo_iterator for the `\repeat 4 "tremolo"'
1793 syntax.
1794
1795 * Moved Score_element::do_space_processing out of the dependency
1796 mechanism.
1797
1798 * Use Scheme for notename tables.  Removed uppercase letters for low
1799 octave notes. Removed Notename_table.
1800
1801 * Fixed core dump with declared "\key  ; "
1802
1803 * Extra robustness warning for Side_position_interface::aligned_on_self ()
1804
1805 * Extra robustness: make sure that first and last columns are breakable.
1806         
1807 1.3.38.jcn4
1808 ===========
1809
1810 * stepmake/aclocal.m4: Added support for cross-compiling with guile.
1811
1812 * buildscripts/make-cygwin-cross.sh: A try at dropping cygwin1.dll
1813  dependency by using mingw.  Compiling guile is too much to ask
1814  for mingw, though.  Also:
1815  - rename python scripts .py (request from Alain)
1816  - install native packages under their own, separate root. (Alain)
1817
1818 * lily.scm: Don't use regex module when running on
1819 Windows. (Shamus)
1820
1821 * lily/staff-margin-engraver.cc (acknowledge_element): If
1822 possible, hang y-axis of margin script to span-bar.  This fixes
1823 vertical placement of margin scripts attached to staff groups.
1824
1825 * help2man-rules.make: Fixes for generating manpages by copying
1826 and for building using --scrdir.
1827
1828 * stepmake/stepmake/generic-targets.make: Preserve date stamp of
1829 config.h, version.hh files file when copying.
1830
1831 * buildscripts/make-cygwin-cross.sh: made number of fixes:
1832         - add `Cygnus/' prefix to directories in .zip-file too.
1833         - package guile too.
1834         - don't link to cygwin1.dll
1835
1836 * stepmake/stepmake/install-targets.make: bugfix, don't fail if directory
1837   is not emty when uninstalling.
1838         
1839 * stepmake/stepmake/generic-targets.make: added man target.
1840
1841 * buildscripts/make-cygwin-cross.sh: new script for cross-building cygwin
1842   development tools and lilypond executable.
1843
1844 * Documentation/ntweb/lilypond-manpages.patch: provide pre-built
1845   manpages, so that make doesn't fail on help2man trying to execute
1846   a GNU/windows executable.     
1847
1848 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: new patch for
1849   guile-1.3.4.  
1850
1851 * flower/libc-extension.cc (memmem): cygwin compile fix.
1852
1853 1.3.38
1854 ======
1855
1856 1.3.37.hwn1
1857 ===========
1858
1859 * (generic-property.scm) added \property tieDash to set dashing on
1860 ties.
1861
1862 * Removed  ly_eval_str(), we should use scm_eval (Scm_object).
1863
1864 * Removed scm_to_array (), array_to_scm (), associated junk. Reverted
1865 undocumented .29 patch that made Bezier::control_ into an
1866 Array<Offset>.  Added some comments documenting the reasons for the
1867 changes.
1868
1869 * Revert generic-property.scm of .37 fix, fix the real problem in
1870 property-engraver.cc: use the right symbol to check if element
1871 property is already set.
1872
1873 1.3.37.jcn2
1874 ===========
1875
1876 * Fixed srcdir build, so that you can do:
1877
1878       tar xzf releases/lilypond-x.y.z
1879       mkdir <build>
1880       cd <build>
1881       ../lilypond-x.y.z/configure
1882       make
1883
1884   as with any other gnu package.  All build output goes to <build>/out.
1885
1886 * Changed and fixed use of different configurations, and different output
1887   directories.  Finally, you can use different configurations alongside
1888   eachother.  From make/stepmake.make:
1889
1890       # Use alternate configurations alongside eachother:
1891       #
1892       #     ./configure --enable-config=debug
1893       #     make conf=debug
1894       #
1895       # uses config-debug.make and config-debug.h; output goes to out-debug.
1896       #
1897
1898       # Use same configuration, but different output directory:
1899       #
1900       #     make out=www
1901       #
1902       # uses config.make and config.h; output goes to out-www.
1903       #
1904
1905
1906 * Fixed performance of (de)crescendi.
1907
1908 * Better documentation for arithmetic_multiplier and arithmetic_basicspace
1909   in params.ly.
1910
1911 * Added instrument-equaliser for MIDI output, see scm/midi.scm, and
1912   properties midiMinimumVolume, midiMaximumVolume, ranges [0,1].
1913
1914 * Changed absolute midi volume settings into factor of full scale.
1915
1916 * Fixed another dynamic-line-spanner bug, it gets hairy.
1917
1918 * Added warning for spanners that are not fully contained in parent spanner.
1919
1920
1921 1.3.37
1922 ======
1923 1.3.36.hwn1
1924 ===========
1925
1926 * Abstract Align_element into Align_interface. Removed
1927 Axis_align_{item,spanner}, Align_element, Super_element, all multiple
1928 inheritance in the backend.
1929
1930 * new Gade score, INSTALL.texi fixes (thanks, Mats)
1931
1932 * Removed Item::hpos_f (), Score_element::{get,set}_real ()
1933
1934 * comments detailing properties for Axis_group_interface,
1935 Side_position_interface, Score_element, Item and Spanner
1936
1937 1.3.36.jcn3
1938 ===========
1939
1940 * Fixed vertical dimensions of elements in dynamic line spanner by adding
1941   axis-group to dynamic line spanner.
1942
1943 * Bugfix: line-spanner lasts always full duration of (de)crescendi.
1944
1945 * Bugfix: broken (de)crescendi on a dynamic-line-spanner.
1946
1947 * Bugfix: compilation dynamic-engraver.
1948
1949 * Added and updated a faq about postscript and ghostscript.
1950
1951 * Fixed order of slurVerticalDirection verticalDirection in
1952   generic-property.scm.  Similar fixes for Stem, Tie, etc.
1953
1954 * Added a Text_engraver to GraceContext.  Maybe it was removed on
1955   purpose: scripts on grace notes seem broken, they appear on the
1956   main note.
1957
1958 * Bugfix: volume effect of (de)crescendi was sometimes wrong way round.
1959
1960 1.3.36
1961 ======
1962 1.3.35.hwn1
1963 ===========
1964
1965 * textEmptyDimension changed into textNonEmpty, default: off,
1966 ie. texts don't occupy space.
1967
1968 * Use STL map for Lookup::lookup_p_tab_p_
1969
1970 * Abstracted Axis_group_element into Axis_group_interface, and removed
1971 Axis_group_element. This eliminates some multiple inheritance in the
1972 backend
1973
1974 1.3.35.jcn1
1975 ===========
1976
1977 * Added minimum-space property to Side_position_interface.  Used in
1978   positioning of Volta_spanner: voltaMinimumSpace.
1979
1980 * Fixed and cleaned-up volta-spanner.
1981
1982 * Moved directional-element.cc -> directional-element-interface.cc
1983
1984 * Renamed all `process_requests' to `process_music', which fixes
1985   midi performance.
1986
1987 * Fixed dimensions (more x-y interchanges) of brace, bracket and
1988   volta-spanner.
1989
1990 * Half-assed fix to get similar vertical placement of orphaned vs.
1991   line-spanned dynamic elements.
1992
1993 * Added property bracketCollapseHeight: the minimal size of a staff bracket
1994   that will be typeset.  Smaller brackets will not be displayed.  This
1995   fixes the (in 1.3.x reintroduced) funny duck-beak-bracket-bug (sorry).
1996
1997 * Removed some dissonant chords from Coriolan
1998
1999 1.3.35
2000 ======
2001
2002 * Removed Documentation/programmer directory 
2003
2004 1.3.34.jcn3
2005 ===========
2006
2007 * Small enhancements to Staff_margin_engraver:
2008    - by default, the marginScript left aligns the text
2009    - to set the text style, use property marginScriptTextStyle
2010    - to change the alignment, use property marginScriptHorizontalAlignment
2011      (centred and right alignment require manual padding settings).
2012
2013 * Print a friendly message if the manual pages failed to build.
2014
2015 * Bugfix: dynamicDirection now overrides verticalDirection setting.
2016
2017 * Warning messages and nl.po
2018
2019 * Fixed vertical alignment for all dynamic items and (reluctantly)
2020   reinstated old directional behaviour for orphaned dynamics.
2021
2022 * Finished maximumRestCount property.
2023
2024 1.3.34
2025 ======
2026 1.3.33.hwn2
2027 ===========
2028
2029 * Print key without setting key, syntax "\key ;". General cleanups of
2030 key-item.
2031
2032 * Add paragraph tags in HTML output of mudela-book.  Music fragment
2033 don't run into the text anymore.
2034
2035 * Bugfix: don't align the first line of text. (Lookup::text ()).
2036
2037 * Abstract away data members of Axis_group_element, Align_element
2038
2039
2040 1.3.33.jcn3
2041 ===========
2042
2043 * Added helpful properties instrumentScriptPadding/instrScriptPadding for
2044   Staff_margin_engraver.
2045
2046 * Removed some empty files, substituted (c) 1999 occurrences.
2047
2048 * Added \property maximumRestCount.  It will prevent showing (or actually:
2049   moving in case of a collision) more than maximumRestCount similar rests.
2050   WIP!
2051
2052 * Rewrote Staff_margin_engraver.  Staff margin texts now hang on a new
2053   breakable item: Left_edge_item.
2054
2055 * Fixed vertical alignment for dynamic elements.  Orphaned dynamic items
2056   (not supported by a Dynamic_line_spanner) still collide with Staff,
2057   although they now have staff support, which was supposed to fix this.
2058
2059 * Fixed Staff_margin_engraver for "instrument", "instr" is still broken.
2060
2061 * Dynamic elements are only put in a Dynamic_line_spanner if there
2062   actually is more than one adjacent note-column with a dynamic.
2063   This breaks the fine looks of all dynamics, again :-)
2064
2065
2066
2067
2068 1.3.33
2069 ======
2070
2071 1.3.32.hwn3
2072 ===========
2073
2074 * Experiment: use STL map for Scheme_hash_table; Is there a speedup?
2075
2076 * Bugfix: print brace iso. bracket for Piano / GrandStaff
2077
2078 * Change naming: change do_post_processsing into after_line_breaking,
2079 do_pre_processsing into before_line_breaking and do_process_requests
2080 into do_process_music.
2081
2082 * Bugfix in hash-table.hh: do quadratic probing, and not cubic probing.
2083
2084 * Display property name for type error.
2085
2086 * Cleanups for Dynamic_engraver and Dynamic_line_spanner.
2087
2088 * Warn if last column in score is musical. Helps catch programming errors.
2089
2090 * Spanner::spanned_drul_ now is private. 
2091
2092 * Rewrote some bar code: moved molecule functions out of Lookup.
2093
2094 1.3.32.jcn3
2095 ===========
2096
2097 * Embedded newlines in text items are now allowed.  This helps avoiding
2098   TeX-hacking in some cases.  See input/test/coriolan-margin.ly
2099
2100 * Fixed stupid x-y interchange bug for staff-bracket.  This fixes
2101   placement of staff-brackets.
2102
2103 * Fixed bracket/arch-thickness interchange bug, and made bracket a bit
2104   thinner.
2105
2106 * Fixed slur/bezier-beautiful name mismatch.  This should fix the steep
2107   slurs that were apparently reintroduced in 1.3.29.
2108
2109 * Made some small fixes to Coriolan.
2110
2111 * Removed duplicate lily/output-property-engraver.hh.
2112
2113 * Removed optional use of vanilla spanner in Dynamic_engraver.
2114
2115 * Fixed (measured) tremolo for Stem and Beam. Merged declarations
2116   stem-engraver.hh and chord-tremolo-engraver.hh into their .cc
2117   implementation file.  Also fixed looks of Chord tremolo, input and
2118   implementation is still ugly.
2119
2120 * Added *.yy and *.ll to TAGS, to that tags-find-replace doesn't omit
2121   parser and lexer.
2122
2123 1.3.31.mb1
2124 =========
2125
2126 * Fixed \specialkey and \normalkey. Updated documentation.
2127
2128 1.3.32
2129 ======
2130 1.3.31.jcn5
2131 ===========
2132
2133 * Fixed and cleaned-up Dynamic_engraver.  Optionionally uses vanilla
2134   spanner instead of Dynamic_line_spanner.
2135
2136 * Made gcc-2.95 compile fix in libc-extension.
2137
2138 * Various fixes to Coriolan, score starts to look acceptable.
2139
2140 * Moved optional text of crescendo into Crescendo spanner.  Fixed horizontal
2141   and vertical alignment of dynamics.
2142
2143 * Added new text crescendo spanners to Coriolan and made some fixes.
2144   If you're using timidity, use the -EO option to prevent notes get
2145   stuck.  I'm not sure whose fault this is, Lily's MIDI output may be
2146   stretching the standard a bit.
2147
2148 * Adjacent dynamic markings are now grouped on a horizontal line, but it's
2149   not perfect yet: they're always below the staff and no horizontal spacing
2150   is done.  Also, character metrics of dynamics are still not used.
2151   See: input/test/crescendi.ly and input/test/dyn-line.ly
2152
2153 * Cleaned up Span_dynamic_performer.
2154
2155 1.3.31
2156 ======
2157 1.3.30.mb1
2158 =========
2159
2160 * Fixed the page layout, reintroducing space for the header and
2161   trying to keep piece titles on the same page as the piece.
2162   The header and footer can now contain several lines.
2163
2164 1.3.30.jcn3
2165 ===========
2166
2167 * Lily now also performs crescendi and decrescendi in MIDI output:
2168   Span_dynamic_performer in a slightly crappy way.
2169
2170 * Added preliminary support for crescendi/decrescendi other than `hairpins',
2171   eg: `cresc. poco `a poco -- -- --'
2172
2173 * Made MIDI tie performance fix.
2174
2175 1.3.30.jcn2
2176 ===========
2177
2178 * Lily now performs absolute dynamics in MIDI output.
2179
2180 * Included David's comments on opus47 in TODO.
2181
2182 1.3.30.jcn1
2183 ===========
2184
2185 * More Coriolan: flute-1,2; oboe-1,2; clarinet-1,2; 
2186   fixes and remainder french horn-1,2; trombone-1,2;
2187   fagotto-1,2; timpani; and several fixes.
2188   
2189 1.3.30.uu1
2190 ==========
2191
2192 * Remove some old doco from programmer/ and put on personal homepage.
2193
2194 * Removed union-find from flower library.
2195
2196 * Only quantise tie horizontal part inside the staff.
2197
2198 1.3.30
2199 ======
2200 1.3.29.hwn1
2201 ===========
2202
2203 * Report type errors for \property. Helps with converting 1.2 input
2204
2205 * Use Scheme for Align_element; fixed graceAlignPosition 
2206 and removed \property alignmentReference in the process.
2207
2208 * Use generic properties for lyrics too.  This fixes \property
2209 Lyrics.textStyle
2210
2211
2212 * Add relative distance for constraints between non-column items.
2213
2214 * Automatic \marks: use "\mark ; ". The mark numbers or letters are
2215 increased automatically.
2216
2217 * Translators now only change properties of their own context. This
2218 removes the 2nd argument to Translator::get_property()
2219
2220 * Bugfix for Metapost mode
2221
2222 1.3.29.uu1
2223 ==========
2224
2225 * Updates of glossary  (Christian Mondrup)
2226
2227 * Bugfix with bar number placement
2228
2229 * Moved links to bibliography/ and misc/ to main index.
2230
2231 1.3.29
2232 ======
2233
2234 * Moved Slur-specific code from Bezier_bow to Slur and Slur_bezier_bow.
2235   Slurs are now calculated just once.
2236
2237 * Bezier_bow gets constants from paper.  Still no sensible solution for
2238   magic asymmetry gradient step constants.
2239
2240 * Reinstantiated tangent-controls, more flexible than ever.  You can choose
2241   between area asymmetry and tangent-controls.  My guess is, tangent controls
2242   will be junked in 1.3.30.
2243
2244 * Slur area: only look at x-gradient.
2245
2246 * Added credits for some symbols of as5/9 fonts.
2247
2248 * Bugfix: don't make almost flat slurs, change in de-uglyfy slur.  
2249
2250 * Bugfix: midi2ly put out recent version (ugh).
2251
2252 1.3.28.hwn2
2253 ===========
2254
2255 * Bugfix: don't forget to process staffSpace and numberOfStaffLines
2256 properties.
2257
2258 * Removed Gade score. To appear (shortly?) on Mutopia. 
2259
2260 * Make Bar_script_engraver look for typeVisibilityFunction (eg
2261 property barNumberVisibilityFunction). Changed the names of the Scheme
2262 functions to be understandable. See input/test/bar-script-visibility.ly
2263
2264 * rewrite of class Molecule. It has now reached the ultimate quality
2265 plateau. All molecule data is now shared.
2266
2267 1.3.28
2268 ======
2269
2270 * Update of the glossary by Christian Mondrup 
2271
2272 * Moved horn-concerto-3 out of tarball to private website, removed
2273 W.A.Mozart subdirectory.
2274
2275 1.3.27.hwn1
2276 ===========
2277
2278 * Bugfix: don't make giant ties if the horizontal part of tie is near
2279 the center.
2280
2281 * Small optimizations to be a little more careful with mem usage. 
2282
2283 * Website change: put all examples in one directory.
2284
2285 * Removed Atom as a separate type.  Now use SCM, and since we use
2286 function composition, Atoms are immutable, so they don't have to be
2287 copied. This makes life easier, hopefully this is quicker and uses
2288 less memory.
2289
2290 1.3.27.jcn1
2291 ===========
2292
2293 * Bezier_bow: minimise_enclosed_area
2294
2295 1.3.27
2296 ======
2297
2298 1.3.26.hwn4
2299 ===========
2300
2301 * Tuplet-spanner slope calculation now looks better on tupletted rests
2302 (patch courtesy Laurent Martelli)
2303
2304 * Bugfix (Staff_performer::new_instrument_str ()) check type of
2305 \property "instrument"
2306
2307 * New mechanism for breaking lines: do not copy & prune the element
2308 property list separately, but combine these steps. Dramatically
2309 reduces memory usage for large scores.
2310
2311 1.3.27
2312 ======
2313 1.3.26.jcn2
2314 ===========
2315
2316 * Bugfix: font used in volta-spanner calculation.
2317
2318 * Added simple selection list to webpage, inspired by sawmill.
2319  
2320 * Devised kludge for ascii 5 character font pitches.
2321  
2322 * Substitutions: interline, 1997,1998, @stack.nl and small typo fixes.
2323
2324 1.3.26.hwn1
2325 ===========
2326
2327 * Plug memory leaks related to Moment:
2328   - Spacing_engraver::do_pre_move_processing ()
2329   - make_rational ()/make-rational
2330   - Paper_column::Paper_column ()
2331
2332 * Plug memory leak in Paper_outputter::output_{String,Real,int}_def()
2333
2334 * Plug memory leak in Score_engraver::set_columns ()
2335
2336 * Plug memory leak in Scheme_hash_table::set()
2337
2338 * Plug memory leak in Score_element::molecule_extent ()
2339
2340 * Bugfix: don't crash if a slur doesn't span anything.
2341
2342 * Bugfix: don't crash if doing beams without a staff symbol.
2343
2344 * Generic element property setting:
2345
2346         \outputproperty #predicate #'symbol = #value
2347
2348 Will set the element property symbol to value, for any elements that
2349 return true for PREDICATE.  This allows you to virtually tweak *ANY*
2350 property of the output. Example in input/test/generic-output-property.ly
2351
2352 1.3.26
2353 ======
2354
2355 * lilypond as as2ly: --help and --version to stdout.  Regular identify 
2356   to stderr.  This fixes help2man's manpage generation.
2357
2358 * configure: substitute full path for perl and guile in scripts.
2359
2360 * Added ascii slur and volta.  There seems to be a Lily bug in volta placement.
2361
2362 * Bugfix: default font now user settable
2363
2364 * as2text: handle plain ascii font, read from stdin, you can now do:
2365
2366   echo "\time 4/4; g''1 g2 g4. g8" | lilypond -f as -i init-as.fly - | as2text
2367
2368 1.3.25.hwn1
2369 ===========
2370
2371 * Bugfix: second half of broken ties now are displayed again.
2372
2373 * Bugfix: add clef to the support of 8 text in the G_8 clefs. Center
2374 it horizontally on the clef.
2375
2376 * Added Tie_column spanner. Ties in tied chords now get proper directionsa.
2377
2378 * Bugfix: unbroken repeat barlines now work, eg. |:
2379
2380 * Added Request_iterator to make more flexible constructions possible.
2381
2382 1.3.25
2383 ======
2384 * as2text: catch missing font/character errors, added default font, set text.
2385
2386 * New ascii fonts and glyphs: as5 as-numeral4 as-braces9
2387
2388 * Ascii output, minimal support:
2389   - AsciiScript Fonts: mf/*.af
2390   - Init files: ly/*-as.*ly 
2391   - AsciiScript translation to text: scripts/as2text.scm
2392   - input/test/as.fly input/test/as1.fly
2393   - Output support: lily/lily.scm
2394   - Try:
2395       lilypond -f as -i init-as.fly input/test/as.fly
2396       as2text as.as
2397
2398 1.3.24.hwn1
2399 ===========
2400
2401 * The horizontal part of ties will avoid collision with staff lines.
2402
2403 * Plugged memory leak: don't protect Atom function.
2404
2405 * Lookup cleanups. Made lots of functions static. Moved some code out
2406 of Lookup.
2407
2408
2409
2410 1.3.24.hwn1
2411 ===========
2412
2413 * Bugfix: ly2dvi.py exits succesfully when encountering --help and
2414 does not delete any of the file_ly*.tex.
2415
2416 * Added header and footer support in ly2dvi.py
2417
2418 1.3.24
2419 ======
2420
2421 * Added a ROADMAP file explaining the source directory layout.
2422
2423 * Minor tweak in the feta 6 and 9 numeral
2424  
2425 * Moved files from lib/ to flower/
2426
2427 * Removed Note_head_side class.
2428
2429 * Updated the webpage to be a little more chatty. 
2430
2431 * Small Local_key_engraver optimization: only lookup timing engraver once.
2432
2433 * Fixed dashed slurs
2434
2435 * Rewrite of Slur code.  Be much more picky about slur shapes. We try
2436 to offset the slur instead of bending it too much
2437
2438 * Look at stem directions for tie direction.
2439
2440 * Compound multimeasure rests. Put measures_i_ variable in an element
2441 property.  Made the symbol a lot wider.
2442
2443 * Time signature small cleanups.
2444
2445 1.3.22.hwn2
2446 ===========
2447
2448 * Symbols opposite to stem (eg marcato) now get the proper glyph in up
2449 version.
2450
2451 * Breathing marks now have a direction by default.
2452
2453 * Do set generic script properties.
2454
2455 * Also put tuplet brackets under notes.
2456
2457 * Score_element_info: only store origin of element, but not the path
2458 to parent translators. Saves a little memory, and removes some complexity.
2459
2460
2461 1.3.22.hwn1
2462 ===========
2463
2464 * Autobeaming in time sigs that don't have 1/4 beats fixed.
2465
2466 * (De)crescendi should now work. (Thanks Michael)
2467
2468 * Better error reporting for conflicting time signatures.
2469
2470 * Line_number_engraver: output locations of note head
2471 definitions. Very handy when entering complicated scores.
2472
2473 * Rewrote multi measure rest support: now they are entered as spanners
2474 (\commandspanrequest \start "rest"). RXXXX is an abbreviation for
2475
2476   { \commandspanrequest \start "rest"
2477     SXXXX
2478     \commandspanrequest \stop "rest"
2479   }
2480
2481 * Removed support of percent style repetitions. 
2482
2483 * Put texts outside the staff.
2484
2485 1.3.21.mb1
2486 ==========
2487 * Getopt bugfix: don't assert on certain errors.
2488
2489 * ly2dvi: Remove unnecessary space for the page headers.
2490
2491 * Bugfix convert-mudela
2492
2493 1.3.21.hwn1
2494 ===========
2495
2496 * Bugfix in lilypond-mode.el: eval-buffering now uses file name and
2497 not buffer name.
2498
2499 * Scrapped tupletVisibility property. Now use tupletNumberVisibility,
2500 tupletBracketVisibility, with Scheme value #t, #f or 'if-no-beam.
2501 \property tupletInvisible will stop all tuplet spanner creation.
2502
2503 * Don't go berserk if tuplet spanner is on only one column.
2504
2505 * Use SCMs & Smobs for Molecules & atoms.  This uses less
2506 scm_(un)protect_object () calls, so the output stage should be faster.
2507
2508 * Added \property tupletSpannerDuration, to make multiple tuplet signs
2509 with one \times.
2510
2511 * Some programming Errors in spacing are now caught. Lily does not
2512 hang when encountering degenerate springs.
2513
2514 * Allow beams to start and end over rests
2515
2516 1.3.19.hwn2
2517 ===========
2518 * Fix disappearing clefs when clefs are not printed with a barline.
2519
2520 1.3.20.jcn2
2521 ==========
2522
2523 * SCM properties beamHeight and beamVerticalposition now use half-spaces:
2524   input/test/beam-control.fly
2525 * Added \context Voice to .fly and .sly; the default \context Staff is almost
2526   never what you expect
2527 * Fixed decision for .sly/.fly in lilypond-mode.
2528
2529 1.3.19.hwn1
2530 ==========
2531
2532 * Clean up font-metric hierarchy, use Adobe AFM code to parse AFM files.
2533 Cleanup mf-to-table.py
2534
2535 * Fixed embarassing slur bug.
2536
2537 1.3.19.jcn1
2538 ==========
2539
2540 * lilypond-mode.el: guess init file for lily-*-region, lily-mode-map bindings
2541
2542 1.3.18.uu2
2543 ==========
2544
2545 * lilypond-mode.el for emacs supersedes mudela-mode.el 
2546
2547 * Tuplet spanners don't collide with encompassing notes. 
2548
2549 * Gobbled Adobe parseAFM* code, for future use.
2550
2551 * Big 1999 to 2000 search/replace.
2552
2553 * Big interline to staff_space search/replace for mf files.
2554
2555 * Removed Bow class, and split code into Tie and Slur
2556
2557 * Don't put scripts on grace notes.
2558
2559 * Font_metric uses SCM for name field.
2560
2561 * Various compilation fixes.
2562
2563 1.3.17.jcn2
2564 ===========
2565
2566 * Bugfix: beams with less than one (visible) stem
2567
2568 * small fixes to pa.ly
2569
2570 1.3.17.jcn1
2571 ===========
2572
2573 * Fixed bug that made multi-measure rest barnumber counts go wild.
2574 (even more scm2int/int2scm mixups!)
2575
2576 * mutopia/J.S.Bach/pa.ly: organ score (for my father)
2577
2578 * small fix to mutopia/J.S.Bach/Duette/violino-ii.ly
2579
2580 1.3.17.hwn2
2581 ===========
2582
2583 * Remove Paper_def calls in bezier-bow.cc
2584
2585 * Remove data members of Tuplet_spanner,  Volta_spanner
2586
2587 * hang_on_clef, property hangOnClef removed
2588
2589 * Bar::type_str_ mode into element property `glyph'. Use a Scheme
2590 function to determine breaking behavior.
2591
2592 * More Scheme typechecking.
2593
2594 * Be strict about the difference between strings and symbols for conversion.
2595
2596 * Fixed bug that made 1st line offset to right fixed. Bugfix courtesy
2597 Laurent Martelli.
2598
2599 * Partial French translation, courtesy Laurent Martelli.
2600
2601 * Small corrections in NL translation. 
2602
2603 1.3.17.hwn1
2604 ===========
2605
2606 * Added mensural note heads (noteHeadStyle = "mensural") Additionally,
2607 we have a longa note head.  noteHeadStyle = "harmonic" is not
2608 supported anymore. (for now, that is)  
2609
2610 * Reference manual update. Document \properties with examples
2611
2612 * fix mudela-book --help
2613
2614 * Use element properties for Text_item::text_str_, Clef_item::symbol_,
2615 Key_item::c0_position_
2616
2617 * Clef_engraver general cleanup. Use alists (\property
2618 supportedClefTypes, clefPitches) for clef types.
2619
2620 * Use progress_indication () for progress. Don't include <iostream.h> directly 
2621 Don't include <string.h>, <math.h> from headers.
2622
2623
2624 1.3.16.hwn1
2625 ===========
2626
2627 * \property stemCentered (boolean): centers stem on note head. See
2628 input/test/stem-centered.ly
2629
2630 * input/trip.ly, small test of lots of features.
2631
2632 * \property Staff.collisionMergeDotted: merge equal noteheads
2633 with different dot count. See input/test/collision-merge-dotted.fly
2634
2635 * Dotted rest bugfix 
2636
2637 * Don't crash if a slur does not span any notes.
2638
2639 * Volta repeats fixed.
2640
2641 * cleanup of Note_heads_engraver
2642
2643 * removed dots_i_ member of Dots
2644
2645 1.3.16.jcn1
2646 ===========
2647 * Fixed cross staff slurs.  It seems that cross-staff sign
2648   was swapped.
2649
2650 1.3.15.hwn1
2651 ===========
2652
2653 * Fixed bug in stem code.  Stem in chords works again.  Small
2654 stem cleanups.
2655
2656 * Use element properties for Staff_symbol.
2657
2658 * \property sparseTies (boolean).  Only make one tie in the
2659 middle for tied chords.
2660
2661 * Junked Directional_spanner, Column_info.
2662 Directional_element now is element interface `Directional_element_interface'
2663
2664 * cleanup: use to_boolean () iso. gh_boolean_p && gh_bool2scm
2665
2666 pl 15.jcn4
2667         - removed old notename2scm conversion
2668         - beam-dir-algorithm through scm
2669         - bfs paper-scm
2670 gv      - bf: knee-stemlengths
2671
2672 pl 15.jcn3
2673         - moved poor man's stem arrays to scm
2674         
2675 pl 15.jcn2
2676         - beam quanting using scm lists
2677
2678 pl 14.hwn1jcn1
2679         - chord-name uses scm members
2680         - bfs: knee with different mults, interstaff knee, auto-knee
2681
2682 **********
2683 pl 14.hwn1
2684         - specialize duration.cc for lily, move out of lib/
2685         - stem cleanup
2686         - more SCM typechecking
2687         - stafflineleading -> staff_space
2688         - bf: rod distances.
2689         - junk some unused code.
2690         
2691 pl 13.hwn2
2692         - paper/score column cleanups. Junk Score_column type
2693
2694 pl 13.hwn1
2695         - Bezier_bow/Bezier cleanups
2696         - bf: rest under beam.
2697         
2698 pl 13.jcn2
2699         - untangled Chord_name (item) and Chord (list-of-pitches)
2700         
2701 pl 13.jcn1
2702         - bezier-bow fix
2703
2704 **********
2705 pl 12.hwn1
2706         - polynomial.hh
2707         - bf: generic properties
2708         - quantise_iv () fix.
2709         - bezier cleanup
2710         - class Polynomial 
2711         - use smobs for font metric tables/hashes.
2712         - nl.po bf
2713
2714 **********
2715 pl 11.jcn3
2716         - small beam fixes (interstaff knees still broken)
2717
2718 pl 11.hwn1
2719         - bf: dots
2720         - bf: harmonic note heads
2721         - revise stem, notehead, rest
2722
2723 pl 11.jcn2
2724         - included missing scm,ly updates
2725         - bf: urg to_dir () takes scm..
2726         - bf's: if (Foo b = bar != 1)
2727         - beam cleanup
2728
2729 *********
2730 pl 10.uu1
2731         - various small bfs
2732         - bf: alignment reversed
2733         - Staff_symbol_referencer -> Staff_symbol_referencer_interface
2734         - bf: staccato pos
2735         - Knee fixes (thanks, Jan)
2736
2737 pl 10.jcn2
2738         - fixes for invisible beamed stems
2739         - removed steminfo from properties, don't cache Stem_info
2740
2741 pl 10.jcn1
2742         - steminfo to properties
2743         - dropped internote dim for stem-beams
2744
2745 *********
2746 pl 9.hwn1
2747         - abstracting Staff_symbol_referencer to an interface.
2748         - quantised_position for staccato dots.
2749         - standchen fixes
2750         - junk Score_element::do_{width,height}: set callbacks directly.
2751         - merge Score_element, Graphical_element
2752         - merge Axis_group_element, Graphical_axis_group
2753         - junk pointer fields from Score_element derived classes
2754         - junk obsolete do_substitute_dependency code.
2755
2756 **********
2757
2758 pl 8.hwn2
2759         - staff-support for Crescendi.
2760         - padding for accidentals.
2761         - cascading offset callbacks
2762
2763 pl 8.hwn1
2764         - note-head-side 
2765         - naming Staff_sidify -> Side_position_interface
2766
2767 ***********
2768
2769 pl 7.mb1
2770         - bf: timeSignatureStyle works again
2771
2772 pl 7.hwn1
2773         - Dirk Latterman key/mmrest patches
2774         - Offset callbacks in Dimension_cache
2775         - Junked Staff_side_*
2776         - Staff_sidify: interface class.
2777         - prelude-{1,2} fixes.
2778
2779 ***********
2780 pl 6.uu2
2781         - bf: PS font selecting.
2782
2783 pl 6.uu1
2784         - bf: ls-latex
2785         - mudela-book --no-pictures
2786         - bf: ly2dvi
2787         - convert-mudela: beamAuto moment syntax. 
2788
2789 pl 6.jcn3
2790         - fixed scm output
2791
2792 pl 6.jcn2
2793         - half-baken ly-gulp-file in scm
2794         - resurrected scm output through guile
2795
2796 pl 5.mb1
2797         - bf: version of init.sly, init.fly
2798         - Clarify necessary version of texinfo
2799         - bf: texi files, minor errors and syntax compatible with 
2800           older makeinfo
2801
2802 pl 6.jcn1
2803         - bf: scm output
2804
2805 *******
2806
2807 pl 5.hwn2
2808         - Bach preludes: mutopification
2809         - dots are Directional_element too; use \property dotDirection
2810         - moved some stuff out of Lookup
2811         - bf: dots
2812         - font selection mechanics changed.
2813
2814 pl 5.uu1
2815         - bf: smob allocation (thanks David!)
2816
2817 pl 5.hwn1
2818         - junked \shape. Now use #'margin-shape 
2819         - timing: one_beat -> \property beatLength
2820         - bf convert-mudela
2821
2822 ************
2823
2824 pl 4.uu1
2825         - input/test/ \property fixes.
2826         - gcc 2.95 fix
2827
2828 pl 4.hwn1
2829         - Break_align_engraver,
2830         break align order from  \property breakAlignOrder
2831         - junked Score_priority_engraver
2832         - moved Time_description into Timing_translator
2833         - use properties for timing, see input/test/timing.fly
2834         * removed \cadenza ; now use \property Score.timing
2835         * \property measurePosition
2836         * \property measureLength
2837         * \property currentBarNumber
2838         - Note_name_engraver , \context NoteNames
2839
2840
2841 pl 4.jcn1
2842         - junked some chord guessing code
2843         - bf: lookup size (-1) for chord-name accidentals
2844         - bf: ly2dvi's MFINPUTS setting
2845
2846 *************
2847 pl 2.jcn3
2848         - chords:
2849           * Chord is item
2850           * junked TeX hacking
2851           * configurable with styled strings from scm
2852           * fixes: dim, /no X, tonic != C
2853
2854 pl 2.jcn2
2855         - chords from  scm 
2856
2857
2858 pl 3.hwn2
2859         - visibility-lambdas into default elt properties SCM.
2860         - clef types in SCM
2861         - verticalDirection properties now in SCM.
2862
2863 pl 3.hwn1
2864         - move position_i_ into Staff_symbol_referencer
2865         - move dir_ into Directional_element baseclass
2866
2867 ****************
2868
2869 pl 2.hwn1
2870         - bf: dynamic style.
2871         - prepare to move dir_ into SCM. 
2872
2873 pl 2.jcn2
2874         - chord fixes: 
2875            * inversion request: no inversion guessing for chord entry
2876            * bass request: c/+b to add bass note not part of chord
2877            * -dim modifier works on all thirds
2878            * colon iso dash as tonic/modifier-additions separator
2879            * C:m5- displays as "Cdim"
2880            * C:m5-7- displays as "Co"
2881
2882 pl 2.jcn1
2883         - moved bracket vars to params
2884         - reverted broken lilypond-devel
2885
2886 *************
2887 pl 1.uu1
2888         - David's patches:
2889         * mfplain.mp detection
2890         * Graphical_element::common_refpoint() robuster.
2891         * fixes for mudela-mode.el
2892         - Dirk's patches:
2893         * key signature placement,
2894         * tied accidentals.
2895
2896 pl 1.hwn2
2897         - extra-offset elt property.
2898         - junked Chord_tremolo
2899
2900 pl 1.hwn1
2901         - changed calling convention for {get,set,remove}_elt_property()
2902         - rm'd some mutopia examples.
2903
2904 *******
2905 pl 0.hwn2,1
2906       - Generic properties and Property_engraver. Moved most of the
2907 properties.
2908
2909 0.lu1
2910         - resurrected midi2ly
2911
2912 0.jcn1
2913         - bf: lyrics lexer
2914         - reverted mup2ly revert
2915
2916 pl 3.uu1:
2917         - frontport of 1.2.17 patches.
2918
2919 **********
2920
2921 1.3.0:
2922
2923 pl 15.hwn2
2924         - loads of bfs.
2925
2926 pl x.jcn3
2927         - another workaround: reset buffer state for scm_ftell ()
2928         - workaround for broken scm_ftell ()
2929
2930 pl 15.hwn1
2931         - \properties are now SCM s, junk Scalar type
2932         - use SCM for strings in parser.
2933         - Moment derived from Rational. Moment may be smobified.
2934
2935 pl 15.jcn4
2936         - direct #... to scm parser  (Thanks to Gary Houston)
2937