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