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