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