]> git.donarmstrong.com Git - lilypond.git/blob - CHANGES
release: 1.3.68
[lilypond.git] / CHANGES
1 1.3.68
2 ======
3
4 * ly2dvi: changed back to original semantics of latexheaders.
5
6 * Stem_tremolo, Crescendo, Hara_kiri_group_spanner, Tuplet_spanner,
7 Volta_spanner changed into interface.
8
9 * Related cleanups for Tie, Tie_column cleanups.
10
11 * Made Time_signature, Single_malt_grouping_item, Script_column,
12 Chord_name, Dot_column, Breathing_sign, Key_item type into interface.
13
14 * Removed const declaration from callback arguments.
15
16 * Pagebreak support. See input/test/between-systems.ly
17
18 * Fixed a problem with accidentals in combination with
19 non-nil key signatures.
20
21 1.3.67
22 ======
23
24 * Use callbacks for augmentation dot positioning.
25
26 * Removed types Note_head and Rest
27
28 * Cleanup of slur.cc: use common reference points in a sane manner.
29
30 1.3.66
31 ======
32
33 * Corrected text sizes in paper*.ly (Mats Bengtsson)
34
35 1.3.65.uu1
36 ==========
37
38 * Dots, Collision, Rest_collision removed as separate Score_element type.
39
40 * Stem and Note_column accept only one rest.
41
42 * Use offset callback in Stem to resolve rest/beam collisions.
43
44 * Put the value of new  local key signature (accidentals) back into a property.
45
46 * Set molecule-callback for notename item.
47
48 1.3.65.jcn2
49 ===========
50
51 * Added some comments to new slur code.
52
53 * Removed some ugly interstaff slur code, interstaff slurs at line-break
54   are still broken.
55
56 * Slur bugfix: 16th beams are also beams.
57
58
59 1.3.65
60 ======
61
62 * Bugfix: translate volta spanner at start of line.
63
64 * Changed directional_element() calls to instantiations
65 of Directional_element_interface.
66
67 * Removed Dynamic_line_spanner, and cleaned up Dynamic_engraver.
68
69 * Removed Staff_info type. Information about columns is now transferred
70 via currentMusicalColumn and currentCommandColumn.
71
72
73 1.3.64.jcn2
74 ============
75
76 * Made slur attachment position user settable; properties:
77 slurBeginAttachment slurEndAttachment, values: 'head 'stem
78 'along-side-stem.  See input/test/slur-attachment.ly and ophee-slurs.ly.
79
80 * Fixed slur attachment positions, added missing rule and use simple
81 default starting positions for attachments.
82
83 * Started rewrite of slur ending code, interstaff slurs are broken for
84 now.
85
86 * Fixed download URL of the webpage.
87
88 * Moved direction.cc to flower/.
89
90 1.3.64
91 ======
92
93 * Lyrics centered on notehead.
94
95 * Various bugfixes hyphen-spanner.
96
97 * Bugfix: set appropriate callbacks for Note_head. This fixes 
98 problems with dots.
99
100 * Removed Clef_item as score-element derived type.
101
102 * Updated config.sub and config.guess
103
104 * Bugfix: allow linebreaks on beamed grace notes.
105
106 1.3.61.jcn2
107 ===========
108
109 * Included dutch po-update based on submitted 1.3.57 nl.po
110
111 * Added "Development" link to website, now that "Home" is a relative link.
112
113 * Bugfix: use deep copies for resetting keys.
114
115 * Assorted typing erors in procedure names in ly/engraver.ly
116
117 1.3.62
118 ======
119
120 * Made callbacks from Score_element::before_line_breaking() and
121 Score_element::after_line_breaking()
122
123 * Fixed website; backlinks should work again.
124
125 * Removed --ignore-version option. Added --verbose option.
126
127 1.3.61
128 ======
129
130 * Webpage hacking
131
132 1.3.60.hwn1
133 ===========
134
135 * Junk int_identifier, real_identifier. Merged Midi_def_identifier and
136 Paper_def_identifier.
137
138 * Fixed bug with spanning barlines in combination with Hara-Kiri staffs.
139
140 * Cleaned up Text_item, Hyphen_spanner, Lyric_extender and
141 Sustain_pedal and reduced them to an Score_element interface (they are
142 no longer Score_element derived types).
143
144 * Some instances of brew_molecule routines have moved out of
145 Score_element, and are now called scheme_molecule.
146
147 * Moved lots of parameters from ly/params.ly to ly/engraver.ly
148
149 1.3.59.hwn1
150 ===========
151
152 * Removed String_identifier, and use the type system of GUILE instead.
153
154 * Fixed \key PITCH MODALITY syntax. The modality argument is now
155 mandatory, a rule in convert-mudela has been added.
156
157 * Cleaned up  buildscripts/ directory: removed obsolete scripts.
158
159 * Use Scheme_hash_table for identifier Scopes.  Scheme_hash_table is
160 based on STL and should be faster than hash_table.
161
162
163 1.3.59.jcn1
164 ===========
165
166 * Fixed scm_un/protect_object for guile-1.3.4 and 1.3.5 snapshots,
167   in the process reduced number of protect/unprotect calls.  With
168   guile-1.3.5 snapshot, memory usage has decreased by 1/5th, now
169   just 10% above the 1.2 level.  Also, Lily's a bit faster.
170
171 * Fixed make diff bug in stepmake to be able to make this diff :-)
172
173 1.3.58.hwn1
174 ===========
175
176 * Rewrote key sig support.  Now key signature can also be controlled
177 by setting keySignature and localKeySignature properties, eg.
178
179         \property keySignature = #'((2 . -1) ( 4 . -1) (6 . -1))
180
181 sets a key signature of `es ges bes' (an unusual key signature).
182
183 Keys are internally represented as transpositions of the c-major
184 scale. Printing the key signature for a scale is done by filtering out
185 all non-natural accidentals.
186
187 * Removed support for \keysignature, and \key something \minor; Newkey
188 is now obsolete.
189
190 1.3.58.jcn3
191 ===========
192
193 * Fixed pedal items (hw)
194
195 * Changed configure option tex-tmfdir to tmf-path now accepting multiple
196   tfm directories.  Automated links to cmr and amstex tfm font directories.
197
198 * Replaced one scm_assoc () u-turn slipped through jcn1
199
200 * various GUILE 1.3.5 compile fixes
201
202 * Added `Ped' as a compound symbol font and removed silly scheme kerning.
203
204 * Replaced some scheme assoc u-turns with scm_assoc ()
205
206 * Ran po-update (mostly because of new ja contribution).
207
208 1.3.57.jcn2
209 ===========
210
211 * Cleaned-up scheme list to text conversion for Chord_name and 
212 fixed horizontal kerning.
213
214 * Added examples for american (slashed o) and jazz (black triangle),
215   see input/test/{american-chords.ly,jazz-chords.ly}
216
217 * Made guile-1.3.5 compile fixes
218
219 1.3.57.uu1
220 ==========
221
222 * Fixed typo in Dots::do_brew_molecule (); this fixes the disappearing
223 dots problem.
224
225 * Rewrote key signature administration; now Scheme is used; Octave and
226 Key have been junked in favor of Newkey.
227
228 * japanese .po file included (thanks, Japanese team!)
229
230 1.3.57
231 ======
232
233 * Fixed several forgotten molecule-callbacks 
234
235 * Fixed first clef in score; now F clefs are also possible.
236
237 1.3.56.mb1
238 =========
239  
240 * Updated FAQ with two useful GDB macros.
241
242 * Several fixes in the documentation.
243
244 1.3.55.jcn1
245 ===========
246
247 * Made (dutch) po-update
248
249 1.3.56
250 ===========
251
252 * Molecules are now generated via callbacks exclusively; most calls to
253 set_elt_property ("transparent", SCM_BOOL_T) have been replaced by suicide().
254
255 1.3.55
256 ======
257
258 * Experimental property collapse for most score-elements.  (notable
259 exceptions: Scripts, pedals). Change all Score_element constructors to
260 take a basic-property list. The suffix of a property list may be
261 shared by several score-elements, for instance all default G-clefs in
262 a score share the following settings
263   
264            (breakable . #t)
265            (break-align-symbol . Clef_item)
266            (visibility-lambda . ,begin-of-line-visible) 
267
268 This should reduce memory usage further. 
269
270 * Magically fixed the disappearing Lyrics problem.
271
272 * Removed used_b_ field from Score_element.  
273
274 * Massive search-replace patch: store pointers and properties
275 separately, in preparation of property collapse.
276
277
278 1.3.54
279 ======
280
281 * Bugfix: don't crash on tuplet spanners that don't contain any notes.
282
283 * Cleanup of Dimension_cache: removed a few redundant
284 fields. Slightly lower memory usage (32 bytes per
285 score-element). Dimension_cache is now a `dumb' struct again.
286
287 * Add array index to priority field of text scripts to ensure that
288 order is unique, and sensible.
289
290 * Added an element count statistic.
291
292 1.3.53
293 ======
294
295 * russian.po (thank you, August.)
296
297 * Small cleanups in Molecule interface 
298
299 * Spacing related elements perform suicide after calculating
300 distances.  This saves a some memory, approximately 2 to 5 % ?
301
302 * Small cleanups in line breaking: Paper_column stores springs and
303 rods in only one place now.  All fields relating to energy have been
304 removed
305
306 * Don't generate all output Scheme in memory, but evaluate to output
307 file immediately.  This will reduce memory usage a little.
308
309 * Use STL's map  for Dictionary template
310
311 * Substitute pointers on element properties of the root Line_of_score
312 as well.
313
314 * Added toplevel doc target, to support building doc with --srcdir
315
316 * Removed cygwin build stuff; updated versions at:
317
318      http://appel.dyndns.org/lilypond/gnu-windows/cross
319
320 * Fixed lily.scm to handle incipits (thanks, Mats)
321
322
323 1.3.52
324 ======
325
326 * Made bugfix in smob handling: delete the C-part of freed smobs and
327 be honest about amount of allocation and deletion, so that GUILE
328 doesn't overestimate the amount of memory available.
329
330 * Faq update: nicer blank note paper, courtesy Mats Bengtsson.
331
332 * Bugfix: don't crash on durations that are not a power of 2.
333
334 * Build manpages during `make all' 
335  
336 * Bugfix: don't do absolute comparisons in Polynomial::clean ().
337
338 * Bugfix: set visibility-lambda for key signature created by
339 createKeyOnClefChange. Fixes disappearing key signatures. 
340
341 * Bugfix: make System_start_delimiter of bar-line type invisible when
342 it spans only one staff.
343
344 1.3.51
345 ======
346
347 * Item cleanups.  Copying items and rearranging pointers are done in
348 separate passes, which makes the code cleaner. This fixes a problem
349 with some items not disappearing from hara-kiri staffs.
350
351 * Use Scheme for Key_item data members. 
352
353 * Don't use regex in chord-names.scm under windows; hybrid chordnames
354 user+calculated will be partly broken.
355
356 1.3.50
357 ======
358
359 * Junked Shift_tuple from collision; Now it uses SCM.
360
361 * Bugfix of documentation and test-file of tuplet.
362
363 * Bugfix type string of repeated music is copied. This fixes declared
364 tremolos.
365
366 * Junked various cruft from lily.scm
367
368 * Use interfaces symbols instead of C++ class-name for assigning generic
369 element properties.
370
371 * Junked Dictionary from Piano_pedal_engraver and
372 Piano_pedal_performer.
373
374 * Introduced boolean element property no-spacing-rods: ignore this
375 item for hard constraints.
376
377 * Bugfix: added sanitised TeX fragment in faq.texi
378
379 * Bugfix: merge equal Bar_reqs
380
381 1.3.48.uu1
382 ==========
383
384 * Small fixes for \cresc and \endcresc
385
386 * Release properties of unbroken spanners & items after doing
387 handle_broken_smobs (); should conserve a little memory.
388
389 * Fixed handling of orphaned score-elements. Any element that does
390 not have its Line_of_score as a ancestor in both directions, is silently
391 removed from the output.  This guarantees that programming errors
392 don't result in coredumps from Dimension_cache::common_refpoint ():
393 element->line_l () is always a common reference point.
394
395 * Bugfix: set visibility-lambda of clef and octavation-8 explicitly
396 for default case.  Now the octavation 8 is not printed at every
397 barline.
398
399 1.3.48.mb1
400 ===========
401
402 * Changed noteHeadStyle properties to symbols, for example
403   \property Voice.noteHeadStyle = #'cross
404
405 1.3.47.jcn3
406 ===========
407
408 * Rewrite of chord-name production in scheme.  There are two major styles
409   now, banter and american.  To get american style, use
410
411       \property ChordNames.chordNameStyle = "american"
412  
413   Most anything should be possible now.  See input/test/american-chords.ly
414
415 * Added isinf check to configure.in, and isinf macro from guile to
416   bezier.cc; solaris has no isinf ().
417
418 * Fixed star-spangled-banner with not-so-nice \bar "|." fix.  Almost
419   perfect now.
420
421 * Added output property to regression test.
422
423 * Fixed warning of creating existing outdir.
424
425 * Added `Mark' interface to text-items that are marks (thanks, HW).
426
427 1.3.48
428 ======
429 1.3.47.mb2
430 ===========
431
432 * Corrected glossary.tely
433
434 * Corrected \mark font handling. feta-nummer font only of the 
435   string is all numeric.
436
437 * Implemented noteHeadStyle lookup in Guile. Reintroduced the style
438   "harmonic" and added "baroque" (normal note shapes except for 
439   brevis and longa which are square).
440
441 * Simplified ly2dvi using the power of the geometry package.
442
443 * Improved heuristic size calculation of TeX macros. Handles e.g.
444   "\\u{a}", "\\"{o}" and "\\^{u}" correctly.
445
446 1.3.47.hwn1
447 ===========
448
449 * Bugfix: don't hang on zero-duration.
450
451 * Various glossary updates (thanks, Christian)
452
453 1.3.47
454 ======
455
456 1.3.46.jcn2
457 ===========
458
459 * Drastically reduced vertical space used by headers/footers, when using
460   ly2dvi.  See input/test/fill-a4.ly.
461
462 * Fixed bug with colons appearing on repeat span-bars.
463
464 * Added Bar_number_engraver to standard Score context
465
466 * Construct octavation scripts in the clef-engraver; this fixes the
467 hara-kiri + clef8 problem
468
469 1.3.46
470 ======
471
472 1.3.45.jcn2
473 ===========
474
475 * Fixed chord-name customisation and made small chord-name build fixes.
476
477 * Accidentals with chord-names smaller and as superscript.
478
479 * Do some extra footify (works only once) while making html docs.  
480
481 1.3.45.hwn1
482 ===========
483
484 * Debian patch (Thanks Anthony)
485
486 * Rewrote Bar_number_engraver and Mark_engraver and removed
487 Bar_script_engraver as baseclass. Both Bar_number_engraver and
488 Mark_engraver are simpler and more robust.
489
490 * Fixed precedence of \property verticalDirection and dynamicDirection
491
492 * Fixed keys without barlines 
493
494 * Fixed StaffGroups: removing `\consistsend "Axis_group_engraver"'
495 puts alignment in function again
496
497 * Fixed StaffGroup + GrandStaff combination.
498
499 * Music is now mandatory as the first thing in a \score{} block
500
501 1.3.45
502 ======
503 1.3.44.jcn2
504 ===========
505
506 * Implemented una-chorda and sostenuto piano pedals in performer and engraver.
507
508 * Added Properties textScriptWordSpace and chordNameWordSpace.
509
510 * Junked old lyrics in star-spangled-banner.
511
512 * Added a Piano_pedal_engraver.
513
514 * Removed some empty files.
515
516 * Created piano pedal symbols: * - . P e d.
517
518 * Fixed ps-to-pfa.py to handle multiple unfills.
519
520 * Moved accordion symbols out of feta-script to end of font.
521
522 * Bugfix: don't create tfm's, pfa's etc of feta-test fonts.
523
524 * Fixed blot_diameter for small resolutions.
525
526 1.3.43
527 ======
528
529 * Put global element list into Line_of_score, instead of
530 Paper_score. post processing (the stage after line breaking) is now
531 truly done per-system, and we got rid of an ugly hack to get font
532 handling OK.
533
534 * Bugfix: set the group-interface of System_start_delimiter.
535
536 * Cleanups of Break_algorithm and derived classes, Move
537 broken_col_range () to Line_of_score, remove Paper_score::col_l_arr_
538
539 * Bugfix for accordion symbols.
540
541 * Various patches to prevent crashing when do_brew_molecule gets
542 called before after_line_breaking (). This was a problem in Spanner
543 classes mostly.
544
545 1.3.43
546 ======
547
548 1.3.42.jcn3
549 ===========
550
551 * Made a quick try at piano pedal performer, damper pedal only.
552
553 * mf/feta-accordion.mf: Fixed strange turning paths.
554
555 * mf/feta-beugel.mf: Fixed infinity errors.
556
557 * Use a more discriptive name for windows setup.zip.
558
559 * mf/GNUmakefile: Have logs as last target, so that normally, they're 
560 not made twice.
561
562 * stepmake/stepmake/metafont-rules.make: Don't remove the .log files.
563 The logs are a target, removing them retriggers make.
564
565 * stepmake/stepmake/metapost-rules.make: Remove the correct log and tfm
566 files, ie the ones that clutter the source directory, not the target logs.
567
568 * Windows distribution: faked symlink for cmtfm.  Setup.zip should now be
569 standalone; ie, no need for Cygnus' usertools anymore.
570
571 1.3.42.jbr1
572 ===========
573   
574 * Documentation/ntweb: Updated angels.ly to match current syntax.
575 Also updated index.texi.
576
577 1.3.42.uu1
578 ==========
579
580 * Change all occurances of Staff_margin_engraver to
581 Instrument_name_engraver, add a convert-mudela rule
582
583 * Change status == busy assert into programming error
584
585 1.3.42
586 ======
587
588 1.3.41.jcn3
589 ===========
590
591 * Lots of fixes to windows distribution scripts.
592
593 * Added configuration features --program-prefix, --program suffix.
594
595 * lily/my-lily-parser.cc (get_chord): Bugfix, don't use deleted pitch.
596 This fixes inversions c/g and bass additions d/+c on chords.
597
598 1.3.41.mb1
599 ==========
600
601 * Avoid that xxxXXXVerticalExtent is used for empty HaraKiriStaff
602   lines.
603
604 1.3.41.hwn1
605 ===========
606
607 * Debian patches (thanks Anthony!)
608
609 * Use symbols for prefatory matter spacing. Do not use the typename
610 for looking up item pairs in the table, but read element property
611 break-align-symbol
612
613 * Instrument_name_engraver, uses break alignment instead of
614 side-position.
615
616 * System_start_delimiter_engraver, System_start_delimiter, uses a
617 spanner for the braces/brackets at the left of the system. Remove all
618 old Span_score_bar engravers.
619
620 * Removed Base_span_bar_engraver::use_prority_b_, and moved
621 Base_span_bar_engraver into Span_bar_engraver.
622
623 1.3.40.jcn3
624 ===========
625
626 * mutopia/Coriolan/violino-2.ly: Bugfix: wrong pitch.
627
628 * input/test: Removed stale AutoStaffSwitch examples.
629
630 * mutopia/E.Satie: Fixed gnossiene-4, doing \autochange.  Removed
631 stale copy of gnossiene-4.
632
633 * buildscripts/make-cygwin-cross.sh: Made some small .zip package fixes.
634
635 * make/lilypond.spec.in: Made some bugfixes for _prefix, preparations
636 for cross-building to Cygwin.
637
638 * buildscripts/make-cygwin-cross.sh: Now using rpm packages.
639
640 1.3.40.hwn2
641 ===========
642
643 * added \property XXXMinimumVerticalExtent, \property XXXExtraVerticalExtent
644
645 * New_chord_tremolo_engraver: make tremolo beams from
646
647         \repeat "tremolo" NUMBER <Music-expression>
648
649 Removed support for "old-style" tremolos.
650
651 * Add a convert-mudela function for the conversion "\key A;" to "\key a; 
652
653 * Read \property measurePosition within the engraver code, instead of
654 looking up the Timing_translator.
655
656 * star-spangled-banner.ly: add Bar_engraver to LyricsVoice 
657
658 * Changed all .fly and .sly files to .ly files.  Propose to dump .fly
659 and .sly.
660
661 1.3.40
662 ======
663
664 1.3.39.jbr1
665 ===========
666
667 * buildscripts/mf-to-table.py: feta dep files are now opened with write
668   binary option.  This avoids carriage return linefeed problems and
669   windows while not affecting unix.
670
671 * Documentation/hacking.texi: Fixed a texinfo syntax error
672
673 * stepmake/bin/package-zip32.sh: Fixed or Removed some legacy, 1.2.x,
674   directory paths.
675
676 * Documentation/ntweb/index.texi: Fixed broken links, added 1.3.39 links.
677
678 1.3.39.hwn1
679 ===========
680
681 * Glossary updates by Christian Mondrup.
682
683 * Bugfix: use generic properties in lyrics too. This fixes the
684 \property textStyle for lyrics.
685
686 * Score_element::preset_extent(), used by \property
687 XXXVerticalExtent, so hard code the size of a vertical group. 
688
689 * Don't fix up reference points for originals of broken
690 spanners. Fixes spurious "orphaned score-element" warnings.
691
692 * buildscripts/make-cygwin-cross.sh: Use rx-1.5 instead of regex (Jeffrey).
693
694 * scm/lily.scm: Fixed check for Windows: by default don't use scm regex.
695
696 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: Significantly smaller
697 patch for guile.
698
699 * buildscripts/make-cygwin-cross.sh: Compile native package GNU regex,
700 which should fix Windows problems with guile.  Also added input directory
701 to zip file.
702
703 * stepmake/aclocal.m4: Added decent checking for version of guile, and 
704 fixed warning message.
705
706 * lily/lexer.ll (My_lily_lexer): Bugfix: lookup chordmodifiers in the
707 chord-modifier table (not in the pitch list).
708
709 1.3.39
710 ======
711
712 1.3.38.hwn2
713 ===========
714
715 * General cleanups of My_lily_parser. 
716
717 * Start of a Chord_tremolo_iterator for the `\repeat 4 "tremolo"'
718 syntax.
719
720 * Moved Score_element::do_space_processing out of the dependency
721 mechanism.
722
723 * Use Scheme for notename tables.  Removed uppercase letters for low
724 octave notes. Removed Notename_table.
725
726 * Fixed core dump with declared "\key  ; "
727
728 * Extra robustness warning for Side_position_interface::aligned_on_self ()
729
730 * Extra robustness: make sure that first and last columns are breakable.
731         
732 1.3.38.jcn4
733 ===========
734
735 * stepmake/aclocal.m4: Added support for cross-compiling with guile.
736
737 * buildscripts/make-cygwin-cross.sh: A try at dropping cygwin1.dll
738  dependency by using mingw.  Compiling guile is too much to ask
739  for mingw, though.  Also:
740  - rename python scripts .py (request from Alain)
741  - install native packages under their own, separate root. (Alain)
742
743 * lily.scm: Don't use regex module when running on
744 Windows. (Shamus)
745
746 * lily/staff-margin-engraver.cc (acknowledge_element): If
747 possible, hang y-axis of margin script to span-bar.  This fixes
748 vertical placement of margin scripts attached to staff groups.
749
750 * help2man-rules.make: Fixes for generating manpages by copying
751 and for building using --scrdir.
752
753 * stepmake/stepmake/generic-targets.make: Preserve date stamp of
754 config.h, version.hh files file when copying.
755
756 * buildscripts/make-cygwin-cross.sh: made number of fixes:
757         - add `Cygnus/' prefix to directories in .zip-file too.
758         - package guile too.
759         - don't link to cygwin1.dll
760
761 * stepmake/stepmake/install-targets.make: bugfix, don't fail if directory
762   is not emty when uninstalling.
763         
764 * stepmake/stepmake/generic-targets.make: added man target.
765
766 * buildscripts/make-cygwin-cross.sh: new script for cross-building cygwin
767   development tools and lilypond executable.
768
769 * Documentation/ntweb/lilypond-manpages.patch: provide pre-built
770   manpages, so that make doesn't fail on help2man trying to execute
771   a GNU/windows executable.     
772
773 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: new patch for
774   guile-1.3.4.  
775
776 * flower/libc-extension.cc (memmem): cygwin compile fix.
777
778 1.3.38
779 ======
780
781 1.3.37.hwn1
782 ===========
783
784 * (generic-property.scm) added \property tieDash to set dashing on
785 ties.
786
787 * Removed  ly_eval_str(), we should use scm_eval (Scm_object).
788
789 * Removed scm_to_array (), array_to_scm (), associated junk. Reverted
790 undocumented .29 patch that made Bezier::control_ into an
791 Array<Offset>.  Added some comments documenting the reasons for the
792 changes.
793
794 * Revert generic-property.scm of .37 fix, fix the real problem in
795 property-engraver.cc: use the right symbol to check if element
796 property is already set.
797
798 1.3.37.jcn2
799 ===========
800
801 * Fixed srcdir build, so that you can do:
802
803       tar xzf releases/lilypond-x.y.z
804       mkdir <build>
805       cd <build>
806       ../lilypond-x.y.z/configure
807       make
808
809   as with any other gnu package.  All build output goes to <build>/out.
810
811 * Changed and fixed use of different configurations, and different output
812   directories.  Finally, you can use different configurations alongside
813   eachother.  From make/stepmake.make:
814
815       # Use alternate configurations alongside eachother:
816       #
817       #     ./configure --enable-configsuffix=debug
818       #     make conf=debug
819       #
820       # uses config-debug.make and config-debug.h; output goes to out-debug.
821       #
822
823       # Use same configuration, but different output directory:
824       #
825       #     make out=www
826       #
827       # uses config.make and config.h; output goes to out-www.
828       #
829
830
831 * Fixed performance of (de)crescendi.
832
833 * Better documentation for arithmetic_multiplier and arithmetic_basicspace
834   in params.ly.
835
836 * Added instrument-equaliser for MIDI output, see scm/midi.scm, and
837   properties midiMinimumVolume, midiMaximumVolume, ranges [0,1].
838
839 * Changed absolute midi volume settings into factor of full scale.
840
841 * Fixed another dynamic-line-spanner bug, it gets hairy.
842
843 * Added warning for spanners that are not fully contained in parent spanner.
844
845
846 1.3.37
847 ======
848 1.3.36.hwn1
849 ===========
850
851 * Abstract Align_element into Align_interface. Removed
852 Axis_align_{item,spanner}, Align_element, Super_element, all multiple
853 inheritance in the backend.
854
855 * new Gade score, INSTALL.texi fixes (thanks, Mats)
856
857 * Removed Item::hpos_f (), Score_element::{get,set}_real ()
858
859 * comments detailing properties for Axis_group_interface,
860 Side_position_interface, Score_element, Item and Spanner
861
862 1.3.36.jcn3
863 ===========
864
865 * Fixed vertical dimensions of elements in dynamic line spanner by adding
866   axis-group to dynamic line spanner.
867
868 * Bugfix: line-spanner lasts always full duration of (de)crescendi.
869
870 * Bugfix: broken (de)crescendi on a dynamic-line-spanner.
871
872 * Bugfix: compilation dynamic-engraver.
873
874 * Added and updated a faq about postscript and ghostscript.
875
876 * Fixed order of slurVerticalDirection verticalDirection in
877   generic-property.scm.  Similar fixes for Stem, Tie, etc.
878
879 * Added a Text_engraver to GraceContext.  Maybe it was removed on
880   purpose: scripts on grace notes seem broken, they appear on the
881   main note.
882
883 * Bugfix: volume effect of (de)crescendi was sometimes wrong way round.
884
885 1.3.36
886 ======
887 1.3.35.hwn1
888 ===========
889
890 * textEmptyDimension changed into textNonEmpty, default: off,
891 ie. texts don't occupy space.
892
893 * Use STL map for Lookup::lookup_p_tab_p_
894
895 * Abstracted Axis_group_element into Axis_group_interface, and removed
896 Axis_group_element. This eliminates some multiple inheritance in the
897 backend
898
899 1.3.35.jcn1
900 ===========
901
902 * Added minimum-space property to Side_position_interface.  Used in
903   positioning of Volta_spanner: voltaMinimumSpace.
904
905 * Fixed and cleaned-up volta-spanner.
906
907 * Moved directional-element.cc -> directional-element-interface.cc
908
909 * Renamed all `process_requests' to `process_music', which fixes
910   midi performance.
911
912 * Fixed dimensions (more x-y interchanges) of brace, bracket and
913   volta-spanner.
914
915 * Half-assed fix to get similar vertical placement of orphaned vs.
916   line-spanned dynamic elements.
917
918 * Added property bracketCollapseHeight: the minimal size of a staff bracket
919   that will be typeset.  Smaller brackets will not be displayed.  This
920   fixes the (in 1.3.x reintroduced) funny duck-beak-bracket-bug (sorry).
921
922 * Removed some dissonant chords from Coriolan
923
924 1.3.35
925 ======
926
927 * Removed Documentation/programmer directory 
928
929 1.3.34.jcn3
930 ===========
931
932 * Small enhancements to Staff_margin_engraver:
933    - by default, the marginScript left aligns the text
934    - to set the text style, use property marginScriptTextStyle
935    - to change the alignment, use property marginScriptHorizontalAlignment
936      (centred and right alignment require manual padding settings).
937
938 * Print a friendly message if the manual pages failed to build.
939
940 * Bugfix: dynamicDirection now overrides verticalDirection setting.
941
942 * Warning messages and nl.po
943
944 * Fixed vertical alignment for all dynamic items and (reluctantly)
945   reinstated old directional behaviour for orphaned dynamics.
946
947 * Finished maximumRestCount property.
948
949 1.3.34
950 ======
951 1.3.33.hwn2
952 ===========
953
954 * Print key without setting key, syntax "\key ;". General cleanups of
955 key-item.
956
957 * Add paragraph tags in HTML output of mudela-book.  Music fragment
958 don't run into the text anymore.
959
960 * Bugfix: don't align the first line of text. (Lookup::text ()).
961
962 * Abstract away data members of Axis_group_element, Align_element
963
964
965 1.3.33.jcn3
966 ===========
967
968 * Added helpful properties instrumentScriptPadding/instrScriptPadding for
969   Staff_margin_engraver.
970
971 * Removed some empty files, substituted (c) 1999 occurrences.
972
973 * Added \property maximumRestCount.  It will prevent showing (or actually:
974   moving in case of a collision) more than maximumRestCount similar rests.
975   WIP!
976
977 * Rewrote Staff_margin_engraver.  Staff margin texts now hang on a new
978   breakable item: Left_edge_item.
979
980 * Fixed vertical alignment for dynamic elements.  Orphaned dynamic items
981   (not supported by a Dynamic_line_spanner) still collide with Staff,
982   although they now have staff support, which was supposed to fix this.
983
984 * Fixed Staff_margin_engraver for "instrument", "instr" is still broken.
985
986 * Dynamic elements are only put in a Dynamic_line_spanner if there
987   actually is more than one adjacent note-column with a dynamic.
988   This breaks the fine looks of all dynamics, again :-)
989
990
991
992
993 1.3.33
994 ======
995
996 1.3.32.hwn3
997 ===========
998
999 * Experiment: use STL map for Scheme_hash_table; Is there a speedup?
1000
1001 * Bugfix: print brace iso. bracket for Piano / GrandStaff
1002
1003 * Change naming: change do_post_processsing into after_line_breaking,
1004 do_pre_processsing into before_line_breaking and do_process_requests
1005 into do_process_music.
1006
1007 * Bugfix in hash-table.hh: do quadratic probing, and not cubic probing.
1008
1009 * Display property name for type error.
1010
1011 * Cleanups for Dynamic_engraver and Dynamic_line_spanner.
1012
1013 * Warn if last column in score is musical. Helps catch programming errors.
1014
1015 * Spanner::spanned_drul_ now is private. 
1016
1017 * Rewrote some bar code: moved molecule functions out of Lookup.
1018
1019 1.3.32.jcn3
1020 ===========
1021
1022 * Embedded newlines in text items are now allowed.  This helps avoiding
1023   TeX-hacking in some cases.  See input/test/coriolan-margin.ly
1024
1025 * Fixed stupid x-y interchange bug for staff-bracket.  This fixes
1026   placement of staff-brackets.
1027
1028 * Fixed bracket/arch-thickness interchange bug, and made bracket a bit
1029   thinner.
1030
1031 * Fixed slur/bezier-beautiful name mismatch.  This should fix the steep
1032   slurs that were apparently reintroduced in 1.3.29.
1033
1034 * Made some small fixes to Coriolan.
1035
1036 * Removed duplicate lily/output-property-engraver.hh.
1037
1038 * Removed optional use of vanilla spanner in Dynamic_engraver.
1039
1040 * Fixed (measured) tremolo for Stem and Beam. Merged declarations
1041   stem-engraver.hh and chord-tremolo-engraver.hh into their .cc
1042   implementation file.  Also fixed looks of Chord tremolo, input and
1043   implementation is still ugly.
1044
1045 * Added *.yy and *.ll to TAGS, to that tags-find-replace doesn't omit
1046   parser and lexer.
1047
1048 1.3.31.mb1
1049 =========
1050
1051 * Fixed \specialkey and \normalkey. Updated documentation.
1052
1053 1.3.32
1054 ======
1055 1.3.31.jcn5
1056 ===========
1057
1058 * Fixed and cleaned-up Dynamic_engraver.  Optionionally uses vanilla
1059   spanner instead of Dynamic_line_spanner.
1060
1061 * Made gcc-2.95 compile fix in libc-extension.
1062
1063 * Various fixes to Coriolan, score starts to look acceptable.
1064
1065 * Moved optional text of crescendo into Crescendo spanner.  Fixed horizontal
1066   and vertical alignment of dynamics.
1067
1068 * Added new text crescendo spanners to Coriolan and made some fixes.
1069   If you're using timidity, use the -EO option to prevent notes get
1070   stuck.  I'm not sure whose fault this is, Lily's MIDI output may be
1071   stretching the standard a bit.
1072
1073 * Adjacent dynamic markings are now grouped on a horizontal line, but it's
1074   not perfect yet: they're always below the staff and no horizontal spacing
1075   is done.  Also, character metrics of dynamics are still not used.
1076   See: input/test/crescendi.ly and input/test/dyn-line.ly
1077
1078 * Cleaned up Span_dynamic_performer.
1079
1080 1.3.31
1081 ======
1082 1.3.30.mb1
1083 =========
1084
1085 * Fixed the page layout, reintroducing space for the header and
1086   trying to keep piece titles on the same page as the piece.
1087   The header and footer can now contain several lines.
1088
1089 1.3.30.jcn3
1090 ===========
1091
1092 * Lily now also performs crescendi and decrescendi in MIDI output:
1093   Span_dynamic_performer in a slightly crappy way.
1094
1095 * Added preliminary support for crescendi/decrescendi other than `hairpins',
1096   eg: `cresc. poco `a poco -- -- --'
1097
1098 * Made MIDI tie performance fix.
1099
1100 1.3.30.jcn2
1101 ===========
1102
1103 * Lily now performs absolute dynamics in MIDI output.
1104
1105 * Included David's comments on opus47 in TODO.
1106
1107 1.3.30.jcn1
1108 ===========
1109
1110 * More Coriolan: flute-1,2; oboe-1,2; clarinet-1,2; 
1111   fixes and remainder french horn-1,2; trombone-1,2;
1112   fagotto-1,2; timpani; and several fixes.
1113   
1114 1.3.30.uu1
1115 ==========
1116
1117 * Remove some old doco from programmer/ and put on personal homepage.
1118
1119 * Removed union-find from flower library.
1120
1121 * Only quantise tie horizontal part inside the staff.
1122
1123 1.3.30
1124 ======
1125 1.3.29.hwn1
1126 ===========
1127
1128 * Report type errors for \property. Helps with converting 1.2 input
1129
1130 * Use Scheme for Align_element; fixed graceAlignPosition 
1131 and removed \property alignmentReference in the process.
1132
1133 * Use generic properties for lyrics too.  This fixes \property
1134 Lyrics.textStyle
1135
1136
1137 * Add relative distance for constraints between non-column items.
1138
1139 * Automatic \marks: use "\mark ; ". The mark numbers or letters are
1140 increased automatically.
1141
1142 * Translators now only change properties of their own context. This
1143 removes the 2nd argument to Translator::get_property()
1144
1145 * Bugfix for Metapost mode
1146
1147 1.3.29.uu1
1148 ==========
1149
1150 * Updates of glossary  (Christian Mondrup)
1151
1152 * Bugfix with bar number placement
1153
1154 * Moved links to bibliography/ and misc/ to main index.
1155
1156 1.3.29
1157 ======
1158
1159 * Moved Slur-specific code from Bezier_bow to Slur and Slur_bezier_bow.
1160   Slurs are now calculated just once.
1161
1162 * Bezier_bow gets constants from paper.  Still no sensible solution for
1163   magic asymmetry gradient step constants.
1164
1165 * Reinstantiated tangent-controls, more flexible than ever.  You can choose
1166   between area asymmetry and tangent-controls.  My guess is, tangent controls
1167   will be junked in 1.3.30.
1168
1169 * Slur area: only look at x-gradient.
1170
1171 * Added credits for some symbols of as5/9 fonts.
1172
1173 * Bugfix: don't make almost flat slurs, change in de-uglyfy slur.  
1174
1175 * Bugfix: midi2ly put out recent version (ugh).
1176
1177 1.3.28.hwn2
1178 ===========
1179
1180 * Bugfix: don't forget to process staffSpace and numberOfStaffLines
1181 properties.
1182
1183 * Removed Gade score. To appear (shortly?) on Mutopia. 
1184
1185 * Make Bar_script_engraver look for typeVisibilityFunction (eg
1186 property barNumberVisibilityFunction). Changed the names of the Scheme
1187 functions to be understandable. See input/test/bar-script-visibility.ly
1188
1189 * rewrite of class Molecule. It has now reached the ultimate quality
1190 plateau. All molecule data is now shared.
1191
1192 1.3.28
1193 ======
1194
1195 * Update of the glossary by Christian Mondrup 
1196
1197 * Moved horn-concerto-3 out of tarball to private website, removed
1198 W.A.Mozart subdirectory.
1199
1200 1.3.27.hwn1
1201 ===========
1202
1203 * Bugfix: don't make giant ties if the horizontal part of tie is near
1204 the center.
1205
1206 * Small optimizations to be a little more careful with mem usage. 
1207
1208 * Website change: put all examples in one directory.
1209
1210 * Removed Atom as a separate type.  Now use SCM, and since we use
1211 function composition, Atoms are immutable, so they don't have to be
1212 copied. This makes life easier, hopefully this is quicker and uses
1213 less memory.
1214
1215 1.3.27.jcn1
1216 ===========
1217
1218 * Bezier_bow: minimise_enclosed_area
1219
1220 1.3.27
1221 ======
1222
1223 1.3.26.hwn4
1224 ===========
1225
1226 * Tuplet-spanner slope calculation now looks better on tupletted rests
1227 (patch courtesy Laurent Martelli)
1228
1229 * Bugfix (Staff_performer::new_instrument_str ()) check type of
1230 \property "instrument"
1231
1232 * New mechanism for breaking lines: do not copy & prune the element
1233 property list separately, but combine these steps. Dramatically
1234 reduces memory usage for large scores.
1235
1236 1.3.27
1237 ======
1238 1.3.26.jcn2
1239 ===========
1240
1241 * Bugfix: font used in volta-spanner calculation.
1242
1243 * Added simple selection list to webpage, inspired by sawmill.
1244  
1245 * Devised kludge for ascii 5 character font pitches.
1246  
1247 * Substitutions: interline, 1997,1998, @stack.nl and small typo fixes.
1248
1249 1.3.26.hwn1
1250 ===========
1251
1252 * Plug memory leaks related to Moment:
1253   - Spacing_engraver::do_pre_move_processing ()
1254   - make_rational ()/make-rational
1255   - Paper_column::Paper_column ()
1256
1257 * Plug memory leak in Paper_outputter::output_{String,Real,int}_def()
1258
1259 * Plug memory leak in Score_engraver::set_columns ()
1260
1261 * Plug memory leak in Scheme_hash_table::set()
1262
1263 * Plug memory leak in Score_element::molecule_extent ()
1264
1265 * Bugfix: don't crash if a slur doesn't span anything.
1266
1267 * Bugfix: don't crash if doing beams without a staff symbol.
1268
1269 * Generic element property setting:
1270
1271         \outputproperty #predicate #'symbol = #value
1272
1273 Will set the element property symbol to value, for any elements that
1274 return true for PREDICATE.  This allows you to virtually tweak *ANY*
1275 property of the output. Example in input/test/generic-output-property.ly
1276
1277 1.3.26
1278 ======
1279
1280 * lilypond as as2ly: --help and --version to stdout.  Regular identify 
1281   to stderr.  This fixes help2man's manpage generation.
1282
1283 * configure: substitute full path for perl and guile in scripts.
1284
1285 * Added ascii slur and volta.  There seems to be a Lily bug in volta placement.
1286
1287 * Bugfix: default font now user settable
1288
1289 * as2text: handle plain ascii font, read from stdin, you can now do:
1290
1291   echo "\time 4/4; g''1 g2 g4. g8" | lilypond -f as -i init-as.fly - | as2text
1292
1293 1.3.25.hwn1
1294 ===========
1295
1296 * Bugfix: second half of broken ties now are displayed again.
1297
1298 * Bugfix: add clef to the support of 8 text in the G_8 clefs. Center
1299 it horizontally on the clef.
1300
1301 * Added Tie_column spanner. Ties in tied chords now get proper directionsa.
1302
1303 * Bugfix: unbroken repeat barlines now work, eg. |:
1304
1305 * Added Request_iterator to make more flexible constructions possible.
1306
1307 1.3.25
1308 ======
1309 * as2text: catch missing font/character errors, added default font, set text.
1310
1311 * New ascii fonts and glyphs: as5 as-numeral4 as-braces9
1312
1313 * Ascii output, minimal support:
1314   - AsciiScript Fonts: mf/*.af
1315   - Init files: ly/*-as.*ly 
1316   - AsciiScript translation to text: scripts/as2text.scm
1317   - input/test/as.fly input/test/as1.fly
1318   - Output support: lily/lily.scm
1319   - Try:
1320       lilypond -f as -i init-as.fly input/test/as.fly
1321       as2text as.as
1322
1323 1.3.24.hwn1
1324 ===========
1325
1326 * The horizontal part of ties will avoid collision with staff lines.
1327
1328 * Plugged memory leak: don't protect Atom function.
1329
1330 * Lookup cleanups. Made lots of functions static. Moved some code out
1331 of Lookup.
1332
1333
1334
1335 1.3.24.hwn1
1336 ===========
1337
1338 * Bugfix: ly2dvi.py exits succesfully when encountering --help and
1339 does not delete any of the file_ly*.tex.
1340
1341 * Added header and footer support in ly2dvi.py
1342
1343 1.3.24
1344 ======
1345
1346 * Added a ROADMAP file explaining the source directory layout.
1347
1348 * Minor tweak in the feta 6 and 9 numeral
1349  
1350 * Moved files from lib/ to flower/
1351
1352 * Removed Note_head_side class.
1353
1354 * Updated the webpage to be a little more chatty. 
1355
1356 * Small Local_key_engraver optimization: only lookup timing engraver once.
1357
1358 * Fixed dashed slurs
1359
1360 * Rewrite of Slur code.  Be much more picky about slur shapes. We try
1361 to offset the slur instead of bending it too much
1362
1363 * Look at stem directions for tie direction.
1364
1365 * Compound multimeasure rests. Put measures_i_ variable in an element
1366 property.  Made the symbol a lot wider.
1367
1368 * Time signature small cleanups.
1369
1370 1.3.22.hwn2
1371 ===========
1372
1373 * Symbols opposite to stem (eg marcato) now get the proper glyph in up
1374 version.
1375
1376 * Breathing marks now have a direction by default.
1377
1378 * Do set generic script properties.
1379
1380 * Also put tuplet brackets under notes.
1381
1382 * Score_element_info: only store origin of element, but not the path
1383 to parent translators. Saves a little memory, and removes some complexity.
1384
1385
1386 1.3.22.hwn1
1387 ===========
1388
1389 * Autobeaming in time sigs that don't have 1/4 beats fixed.
1390
1391 * (De)crescendi should now work. (Thanks Michael)
1392
1393 * Better error reporting for conflicting time signatures.
1394
1395 * Line_number_engraver: output locations of note head
1396 definitions. Very handy when entering complicated scores.
1397
1398 * Rewrote multi measure rest support: now they are entered as spanners
1399 (\commandspanrequest \start "rest"). RXXXX is an abbreviation for
1400
1401   { \commandspanrequest \start "rest"
1402     SXXXX
1403     \commandspanrequest \stop "rest"
1404   }
1405
1406 * Removed support of percent style repetitions. 
1407
1408 * Put texts outside the staff.
1409
1410 1.3.21.mb1
1411 ==========
1412 * Getopt bugfix: don't assert on certain errors.
1413
1414 * ly2dvi: Remove unnecessary space for the page headers.
1415
1416 * Bugfix convert-mudela
1417
1418 1.3.21.hwn1
1419 ===========
1420
1421 * Bugfix in lilypond-mode.el: eval-buffering now uses file name and
1422 not buffer name.
1423
1424 * Scrapped tupletVisibility property. Now use tupletNumberVisibility,
1425 tupletBracketVisibility, with Scheme value #t, #f or 'if-no-beam.
1426 \property tupletInvisible will stop all tuplet spanner creation.
1427
1428 * Don't go berserk if tuplet spanner is on only one column.
1429
1430 * Use SCMs & Smobs for Molecules & atoms.  This uses less
1431 scm_(un)protect_object () calls, so the output stage should be faster.
1432
1433 * Added \property tupletSpannerDuration, to make multiple tuplet signs
1434 with one \times.
1435
1436 * Some programming Errors in spacing are now caught. Lily does not
1437 hang when encountering degenerate springs.
1438
1439 * Allow beams to start and end over rests
1440
1441 1.3.19.hwn2
1442 ===========
1443 * Fix disappearing clefs when clefs are not printed with a barline.
1444
1445 1.3.20.jcn2
1446 ==========
1447
1448 * SCM properties beamHeight and beamVerticalposition now use half-spaces:
1449   input/test/beam-control.fly
1450 * Added \context Voice to .fly and .sly; the default \context Staff is almost
1451   never what you expect
1452 * Fixed decision for .sly/.fly in lilypond-mode.
1453
1454 1.3.19.hwn1
1455 ==========
1456
1457 * Clean up font-metric hierarchy, use Adobe AFM code to parse AFM files.
1458 Cleanup mf-to-table.py
1459
1460 * Fixed embarassing slur bug.
1461
1462 1.3.19.jcn1
1463 ==========
1464
1465 * lilypond-mode.el: guess init file for lily-*-region, lily-mode-map bindings
1466
1467 1.3.18.uu2
1468 ==========
1469
1470 * lilypond-mode.el for emacs supersedes mudela-mode.el 
1471
1472 * Tuplet spanners don't collide with encompassing notes. 
1473
1474 * Gobbled Adobe parseAFM* code, for future use.
1475
1476 * Big 1999 to 2000 search/replace.
1477
1478 * Big interline to staff_space search/replace for mf files.
1479
1480 * Removed Bow class, and split code into Tie and Slur
1481
1482 * Don't put scripts on grace notes.
1483
1484 * Font_metric uses SCM for name field.
1485
1486 * Various compilation fixes.
1487
1488 1.3.17.jcn2
1489 ===========
1490
1491 * Bugfix: beams with less than one (visible) stem
1492
1493 * small fixes to pa.ly
1494
1495 1.3.17.jcn1
1496 ===========
1497
1498 * Fixed bug that made multi-measure rest barnumber counts go wild.
1499 (even more scm2int/int2scm mixups!)
1500
1501 * mutopia/J.S.Bach/pa.ly: organ score (for my father)
1502
1503 * small fix to mutopia/J.S.Bach/Duette/violino-ii.ly
1504
1505 1.3.17.hwn2
1506 ===========
1507
1508 * Remove Paper_def calls in bezier-bow.cc
1509
1510 * Remove data members of Tuplet_spanner,  Volta_spanner
1511
1512 * hang_on_clef, property hangOnClef removed
1513
1514 * Bar::type_str_ mode into element property `glyph'. Use a Scheme
1515 function to determine breaking behavior.
1516
1517 * More Scheme typechecking.
1518
1519 * Be strict about the difference between strings and symbols for conversion.
1520
1521 * Fixed bug that made 1st line offset to right fixed. Bugfix courtesy
1522 Laurent Martelli.
1523
1524 * Partial French translation, courtesy Laurent Martelli.
1525
1526 * Small corrections in NL translation. 
1527
1528 1.3.17.hwn1
1529 ===========
1530
1531 * Added mensural note heads (noteHeadStyle = "mensural") Additionally,
1532 we have a longa note head.  noteHeadStyle = "harmonic" is not
1533 supported anymore. (for now, that is)  
1534
1535 * Reference manual update. Document \properties with examples
1536
1537 * fix mudela-book --help
1538
1539 * Use element properties for Text_item::text_str_, Clef_item::symbol_,
1540 Key_item::c0_position_
1541
1542 * Clef_engraver general cleanup. Use alists (\property
1543 supportedClefTypes, clefPitches) for clef types.
1544
1545 * Use progress_indication () for progress. Don't include <iostream.h> directly 
1546 Don't include <string.h>, <math.h> from headers.
1547
1548
1549 1.3.16.hwn1
1550 ===========
1551
1552 * \property stemCentered (boolean): centers stem on note head. See
1553 input/test/stem-centered.ly
1554
1555 * input/trip.ly, small test of lots of features.
1556
1557 * \property Staff.collisionMergeDotted: merge equal noteheads
1558 with different dot count. See input/test/collision-merge-dotted.fly
1559
1560 * Dotted rest bugfix 
1561
1562 * Don't crash if a slur does not span any notes.
1563
1564 * Volta repeats fixed.
1565
1566 * cleanup of Note_heads_engraver
1567
1568 * removed dots_i_ member of Dots
1569
1570 1.3.16.jcn1
1571 ===========
1572 * Fixed cross staff slurs.  It seems that cross-staff sign
1573   was swapped.
1574
1575 1.3.15.hwn1
1576 ===========
1577
1578 * Fixed bug in stem code.  Stem in chords works again.  Small
1579 stem cleanups.
1580
1581 * Use element properties for Staff_symbol.
1582
1583 * \property sparseTies (boolean).  Only make one tie in the
1584 middle for tied chords.
1585
1586 * Junked Directional_spanner, Column_info.
1587 Directional_element now is element interface `Directional_element_interface'
1588
1589 * cleanup: use to_boolean () iso. gh_boolean_p && gh_bool2scm
1590
1591 pl 15.jcn4
1592         - removed old notename2scm conversion
1593         - beam-dir-algorithm through scm
1594         - bfs paper-scm
1595         - bf: knee-stemlengths
1596
1597 pl 15.jcn3
1598         - moved poor man's stem arrays to scm
1599         
1600 pl 15.jcn2
1601         - beam quanting using scm lists
1602
1603 pl 14.hwn1jcn1
1604         - chord-name uses scm members
1605         - bfs: knee with different mults, interstaff knee, auto-knee
1606
1607 **********
1608 pl 14.hwn1
1609         - specialize duration.cc for lily, move out of lib/
1610         - stem cleanup
1611         - more SCM typechecking
1612         - stafflineleading -> staff_space
1613         - bf: rod distances.
1614         - junk some unused code.
1615         
1616 pl 13.hwn2
1617         - paper/score column cleanups. Junk Score_column type
1618
1619 pl 13.hwn1
1620         - Bezier_bow/Bezier cleanups
1621         - bf: rest under beam.
1622         
1623 pl 13.jcn2
1624         - untangled Chord_name (item) and Chord (list-of-pitches)
1625         
1626 pl 13.jcn1
1627         - bezier-bow fix
1628
1629 **********
1630 pl 12.hwn1
1631         - polynomial.hh
1632         - bf: generic properties
1633         - quantise_iv () fix.
1634         - bezier cleanup
1635         - class Polynomial 
1636         - use smobs for font metric tables/hashes.
1637         - nl.po bf
1638
1639 **********
1640 pl 11.jcn3
1641         - small beam fixes (interstaff knees still broken)
1642
1643 pl 11.hwn1
1644         - bf: dots
1645         - bf: harmonic note heads
1646         - revise stem, notehead, rest
1647
1648 pl 11.jcn2
1649         - included missing scm,ly updates
1650         - bf: urg to_dir () takes scm..
1651         - bf's: if (Foo b = bar != 1)
1652         - beam cleanup
1653
1654 *********
1655 pl 10.uu1
1656         - various small bfs
1657         - bf: alignment reversed
1658         - Staff_symbol_referencer -> Staff_symbol_referencer_interface
1659         - bf: staccato pos
1660         - Knee fixes (thanks, Jan)
1661
1662 pl 10.jcn2
1663         - fixes for invisible beamed stems
1664         - removed steminfo from properties, don't cache Stem_info
1665
1666 pl 10.jcn1
1667         - steminfo to properties
1668         - dropped internote dim for stem-beams
1669
1670 *********
1671 pl 9.hwn1
1672         - abstracting Staff_symbol_referencer to an interface.
1673         - quantised_position for staccato dots.
1674         - standchen fixes
1675         - junk Score_element::do_{width,height}: set callbacks directly.
1676         - merge Score_element, Graphical_element
1677         - merge Axis_group_element, Graphical_axis_group
1678         - junk pointer fields from Score_element derived classes
1679         - junk obsolete do_substitute_dependency code.
1680
1681 **********
1682
1683 pl 8.hwn2
1684         - staff-support for Crescendi.
1685         - padding for accidentals.
1686         - cascading offset callbacks
1687
1688 pl 8.hwn1
1689         - note-head-side 
1690         - naming Staff_sidify -> Side_position_interface
1691
1692 ***********
1693
1694 pl 7.mb1
1695         - bf: timeSignatureStyle works again
1696
1697 pl 7.hwn1
1698         - Dirk Latterman key/mmrest patches
1699         - Offset callbacks in Dimension_cache
1700         - Junked Staff_side_*
1701         - Staff_sidify: interface class.
1702         - prelude-{1,2} fixes.
1703
1704 ***********
1705 pl 6.uu2
1706         - bf: PS font selecting.
1707
1708 pl 6.uu1
1709         - bf: ls-latex
1710         - mudela-book --no-pictures
1711         - bf: ly2dvi
1712         - convert-mudela: beamAuto moment syntax. 
1713
1714 pl 6.jcn3
1715         - fixed scm output
1716
1717 pl 6.jcn2
1718         - half-baken ly-gulp-file in scm
1719         - resurrected scm output through guile
1720
1721 pl 5.mb1
1722         - bf: version of init.sly, init.fly
1723         - Clarify necessary version of texinfo
1724         - bf: texi files, minor errors and syntax compatible with 
1725           older makeinfo
1726
1727 pl 6.jcn1
1728         - bf: scm output
1729
1730 *******
1731
1732 pl 5.hwn2
1733         - Bach preludes: mutopification
1734         - dots are Directional_element too; use \property dotDirection
1735         - moved some stuff out of Lookup
1736         - bf: dots
1737         - font selection mechanics changed.
1738
1739 pl 5.uu1
1740         - bf: smob allocation (thanks David!)
1741
1742 pl 5.hwn1
1743         - junked \shape. Now use #'margin-shape 
1744         - timing: one_beat -> \property beatLength
1745         - bf convert-mudela
1746
1747 ************
1748
1749 pl 4.uu1
1750         - input/test/ \property fixes.
1751         - gcc 2.95 fix
1752
1753 pl 4.hwn1
1754         - Break_align_engraver,
1755         break align order from  \property breakAlignOrder
1756         - junked Score_priority_engraver
1757         - moved Time_description into Timing_translator
1758         - use properties for timing, see input/test/timing.fly
1759         * removed \cadenza ; now use \property Score.timing
1760         * \property measurePosition
1761         * \property measureLength
1762         * \property currentBarNumber
1763         - Note_name_engraver , \context NoteNames
1764
1765
1766 pl 4.jcn1
1767         - junked some chord guessing code
1768         - bf: lookup size (-1) for chord-name accidentals
1769         - bf: ly2dvi's MFINPUTS setting
1770
1771 *************
1772 pl 2.jcn3
1773         - chords:
1774           * Chord is item
1775           * junked TeX hacking
1776           * configurable with styled strings from scm
1777           * fixes: dim, /no X, tonic != C
1778
1779 pl 2.jcn2
1780         - chords from  scm 
1781
1782
1783 pl 3.hwn2
1784         - visibility-lambdas into default elt properties SCM.
1785         - clef types in SCM
1786         - verticalDirection properties now in SCM.
1787
1788 pl 3.hwn1
1789         - move position_i_ into Staff_symbol_referencer
1790         - move dir_ into Directional_element baseclass
1791
1792 ****************
1793
1794 pl 2.hwn1
1795         - bf: dynamic style.
1796         - prepare to move dir_ into SCM. 
1797
1798 pl 2.jcn2
1799         - chord fixes: 
1800            * inversion request: no inversion guessing for chord entry
1801            * bass request: c/+b to add bass note not part of chord
1802            * -dim modifier works on all thirds
1803            * colon iso dash as tonic/modifier-additions separator
1804            * C:m5- displays as "Cdim"
1805            * C:m5-7- displays as "Co"
1806
1807 pl 2.jcn1
1808         - moved bracket vars to params
1809         - reverted broken lilypond-devel
1810
1811 *************
1812 pl 1.uu1
1813         - David's patches:
1814         * mfplain.mp detection
1815         * Graphical_element::common_refpoint() robuster.
1816         * fixes for mudela-mode.el
1817         - Dirk's patches:
1818         * key signature placement,
1819         * tied accidentals.
1820
1821 pl 1.hwn2
1822         - extra-offset elt property.
1823         - junked Chord_tremolo
1824
1825 pl 1.hwn1
1826         - changed calling convention for {get,set,remove}_elt_property()
1827         - rm'd some mutopia examples.
1828
1829 *******
1830 pl 0.hwn2,1
1831       - Generic properties and Property_engraver. Moved most of the
1832 properties.
1833
1834 0.lu1
1835         - resurrected midi2ly
1836
1837 0.jcn1
1838         - bf: lyrics lexer
1839         - reverted mup2ly revert
1840
1841 pl 3.uu1:
1842         - frontport of 1.2.17 patches.
1843
1844 **********
1845
1846 1.3.0:
1847
1848 pl 15.hwn2
1849         - loads of bfs.
1850
1851 pl x.jcn3
1852         - another workaround: reset buffer state for scm_ftell ()
1853         - workaround for broken scm_ftell ()
1854
1855 pl 15.hwn1
1856         - \properties are now SCM s, junk Scalar type
1857         - use SCM for strings in parser.
1858         - Moment derived from Rational. Moment may be smobified.
1859
1860 pl 15.jcn4
1861         - direct #... to scm parser  (Thanks to Gary Houston)