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