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