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