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