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