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