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