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