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