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