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