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