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