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