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