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