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