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