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