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