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