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