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