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