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