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