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