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