]> git.donarmstrong.com Git - lilypond.git/blob - CHANGES
patch::: 1.3.133.jcn3
[lilypond.git] / CHANGES
1 1.3.133.jcn3
2 ============
3
4 * Small ez play tweaks.  Guess I'm a sucker too.
5
6
7
8 1.3.133.jcn2
9 ============
10
11 * Easy-play bugfixes: don't do showpage for each notehead, output
12 staff-symbol first, moved to lily.ps.
13
14 * Bugfix: don't print so many decimals in ps output.
15
16 * Bugfix for refman example.
17
18 1.3.133.jcn1
19 ============
20
21 * Added some part combiner doco.
22
23 * Bugfix: a broken tie only generates an accidental if it would differ
24 from an untied note.
25
26 1.3.133
27 =======
28
29 1.3.132.jcn3
30 ============
31
32 * Tied notes at a linebreak repeat their accidental.
33
34 * Removed some cruft from lily/include/.
35
36 * Bugfix: tied notes in chords sometimes got stuck in MIDI output
37 (thanks Mats).
38
39 * Added some example bug files, taken from Coriolan
40
41 * a2-engraver: \property noDirection: don't force direction when part-combining (for StaffCombining).
42
43 * text-spanner: don't repeat edge text for broken edge.
44
45 * Coriolan fixes, titling, font setting, header info, cello octave
46 (yes, notated different from bass; all agree) at end.
47
48 1.3.132.hwn1
49 ============
50
51 * Allow declared repeat variant string
52
53 * Bugfix: break alignment at right edge.
54
55 * Easy-notation: letters in circular note heads.  
56
57 * Debian patch by Anthony Fok.
58
59 1.3.131.jcn2
60 ============
61
62 * Fixes for ascii-script output.  Stylesheet needs some work, just as
63 PostScript output.
64
65 * Bugfix: convert-ly --to accepts argument.
66
67 * Prepared Petites Preludes for (first?) submission to mutopia.
68
69 * Bugfix: out-letter/%.ps generation for mutopia.
70
71 * Bugfix: don't use $(message ) in makefiles; some versions of make
72 choke on this.
73
74 * Bugfix: ly2dvi.py: don't add magic `//' to TEXINPUTS,MFINPUTS; this
75 chokes kpsewhich 3.3.1 (bug report filed).
76
77 * Bugfix: file-path.cc: don't interpret relative path as system root.
78
79 * Bugfix: --srcdir install.
80
81 1.3.131.hwn1
82 ============
83
84 * Documentation: piano pedals, breath marks, tutorial fixes,
85 convertors, autochange, \override/\set/\revert, multi-stanza lyrics,
86 \outputproperty
87
88 * Bugfix: another fix for collapsing dynamics with partcombine.
89
90 * Bugfix: add functionality of
91 Side_position_interface::self_align_callback() into
92 Align_interface::align_elements_to_extents(). Otherwise, combining
93 both (such as in a break alignment) leads to weird behavior: the
94 spacing information is written halfway during a callback sequence,
95 leading to weird results.
96
97 This fixes input/test/orchestscore.ly
98
99 * Bugfix: x-offset of stem was off by 0.5 stem thickness.
100
101 * Add grob-property attachment-angle: angle for stem to attach to note head. 
102
103 1.3.130.hwn2
104 ============
105
106 * Documentation: notation contexts.
107
108 * 2001 (c) search-replace patch.
109
110 * Center rehearsal marks by default.
111
112 * Fixing collapsed dynamics with part-combine
113
114 * \property tupletNumberFormatFunction selects formatting function for
115 tuplet brackets.
116
117 1.3.130.jcn5
118 ============
119
120 * Added some handy targets to example makefile: make/ly.make.
121
122 * Bugfix: file-path.cc; absolute directories start with directory separator.
123
124 * Makefile template using dependencies: make/ly.make.  Needs some
125 simple examples.
126
127 * Depencies fixes for lilypond, ly2dvi (still kludged) and lilypond-book.
128
129 * nl.po update.
130
131 * Bugfixes and cleanups of mainly main.cc.
132
133 * Enabled changing default tex output extension to ".lytex".
134
135 * Bugfix: use init file extension .ly for extensionless input.
136
137 * Ignore outname = ; settings in output blocks.
138
139 * Revised input and output naming, now it's possible to include a
140 directory in the output name.  This should fix some input/init name
141 related bugs.
142
143 * Fixed dependencies for outdir in lilypond-book and ly2dvi.
144
145 * Uniformised tags to read: Generated automatically by: <program>.
146
147 * Install make/* and stepmake/stepmake/* to enable making use of
148 stepmake templates.
149
150 * Added example mutopia makefile: make/ly.make.
151
152 * Lilypond-book now writes lily-<HASH>.ly files.
153
154 * Bugfix: don't display repeat colons for zero height bar lines; fixes
155 repeat barlines in lyrics.
156
157 * Fixed markup definition and implementation, added baseline-skip
158 property; this makes multi-line markup text a lot easier.
159
160 * Bugfix: chordChanges works with other rhythm of accompaniment, and
161 silly chord name typo fixes.
162
163 1.3.130
164 =======
165
166 1.3.129.jcn2
167 ============
168
169 * Implemented Phrasing slurs, copied from slur.
170
171 * More hooks for chord pitch name overrides, see
172 input/tricks/german-chords.ly.
173
174 1.3.129.hwn1
175 ============
176
177 * Bugfix: bar lines in lyrics.
178
179 * Bugfix: vertical positioning of isolated dynamics: absolute dynamics
180 are only supported by the note they are on, in absence of crescendi.
181
182 * Documentation of ancient clefs, custodes (Jurgen Reuter)
183
184 * Small documentation fixes: rehearsal marks, -f option, markup, instrument names
185
186 * Bugfix: rounding errors caused errouneous ledger lines for
187 #'staff-space = 1.3
188
189 * Subsubtitles, \bar "";  (Rune Zedeler)
190
191 1.3.129
192 =======
193
194 * Small doco fixes.
195
196 * Removed duplicated engraver hierarchies from coriolan and orchestral
197 examples.
198
199 * Added user control for devnull engravers. Default: switched off 
200
201 * Small doco fixes.
202
203 1.3.128.hwn1
204 ============
205
206 * Doco fixes
207
208 * Glissando fix (Rune Zedeler)
209
210 1.3.128.mb2
211 ===========
212
213 * Made the percussion clef somewhat fatter, thanks to Rune Zedeler. 
214 Note: font updated! Added this clef to input/regression/clefs.ly.
215
216 * updated \endincipit macro and the examples input/test/incipit.ly and
217 input/regression/clefs.ly
218
219 1.3.127.jcn3
220 ============
221
222 * Mutopia preparations and Coriolan fixes.
223
224 * Small beam cleanup, changed y-position-hs,height-hs user overrides to
225   staff-position,height (height:name suggestions?), now in staff-spaces.
226
227 * Beam (y, dy) calculations now as list of scm functions.
228
229 * Added cleaned-up excerpt from Coriolan for tutorial.
230
231 * Bugfix: beam looks at smallest gap for auto knees.
232
233 * Property-description-fix: allow auto-knee-gap to be set to false.
234
235 * Small doco fixes.
236
237 * Bugfix: repeats without alternatives.
238
239 1.3.127.uu3
240 ============
241
242 * Bugfix: staccato dot on outer staff lines.
243
244 * Documentation: lots of updates and revisions.
245
246 * \repeat tremolo for single notes, \repeat tremolo 4 c16
247 produces the same effect as c4:16
248
249 1.3.126.mb1
250 ===========
251
252 * ly2dvi: bugfix --number.
253 Added header field latexpackages, see input/test/orchestscore.ly
254
255 * \mark: add possibility to use font selection markup, see input/test/mark.ly
256
257 1.3.127
258 =======
259
260 * Grand Refman restructuring, featuring outline mode.
261
262 * Fixed missing menus and cross references.
263
264 * Coriolan fixes and updates.
265
266 * Bugfix: a2-engraver and *devnull_engraver recognise alternative
267 'oneXXX' 'twoXXX' naming convention.
268
269 * Enabled markup text to be used for instrument names.
270
271 * Bugfix: interface description of System_start_delimiter
272
273 * Slur attachment fix (thanks, Han-Wen)
274
275 1.3.126.hwn1
276 ============
277
278 * Bugfix in Global_translator::run_iterator_on_me (): only run
279 iterator::process if iterator::ok() is true.
280
281 * Bugfix: when iterating empty sequential-music, start out with an
282 invalid iterator.
283
284 * Bugfix: length calculation for volta repeat music with too few
285 alternatives.
286
287 * Bugfix: print different string for first printed alternative in
288 volta repeat music with too few alternatives, eg. 1.-4.
289
290 * Cleaned up bugs/ directory
291
292 * Be less intelligent about default font backup, just load cmr10
293
294 * Generated documentation: sort and uniq Grob lists of contexts.
295
296 1.3.126
297 =======
298 * Doco:
299   - fixes,
300   - updates,
301   - rewrites.
302   - Changed license to FDL.
303   - added index entries
304   - tutorial: 0-th tune
305   - literature overview.
306   - removed development stuff.
307
308
309 1.3.125.jcn3
310 ============
311
312 * Clef workarounds for Coriolan.
313
314 * Moved feature and regression-test input to input/feature, input/regression.
315
316 * Added some regtests.
317
318 * Bugfix: auto-knee for beam over rest.
319
320 * Fixes for Coriolan and viola Solo Cello Suites.
321
322 * Replaced generic 'collapse-height' for System_start_delimiter with
323 brace-collapse-height, bracket-collapse-height, bar-line-collapse-height.
324
325 * Bugfix: measure System_start_delimiter's *-collapse-height in staff-space.
326
327 * Fixed some info and html links.
328
329 * Automatic knees now on by default for vertical distances >= 7 staff-space.
330
331 1.3.125
332 =======
333
334 * Updated Coriolan.
335
336 * Bugfix: beams with no stems.
337
338 * Cleanup automatic knees, junked calc_interstaff_dist.
339
340 * Automatic knees now on by default for vertical distances >= 7 staff-space.
341
342 * Bugfix: automatic interstaff knees.
343
344 1.3.124.hwn1
345 ============
346
347 * Auto change music bugfix; removed Auto_change_music type
348
349 * Bugfix: add copy ctors to all relevant iterators, this fixes various
350 combinations with auto-change and part-combine.
351
352 * Bugfix: glissandi with smaller rhythms parallel.
353
354 * Add printfilename option to @lilypondfile 
355
356 * Include Grobs in Context self-documentation; remove "Grob " from
357 node name for grob documentation.
358
359 1.3.124
360 =======
361
362 * Tutorial fragment on ly2dvi.
363
364 * Bugfix: also print path of mismatched .TFM file.
365
366 * Some callbacks to allow manipulation of fonts and molecules from
367 Scheme.  See input/test/molecule-hacking.ly ; allows for a kludged
368 "parenthesize notehead" command.
369
370
371 1.3.123.mb1
372 ===========
373
374 * Added percussion clef. Note: font updated!
375
376 * Bugfix: font style Large works regardless of font-shape.
377
378
379
380 1.3.123
381 =======
382
383 * Added macro \turnOff to remove volta brackets or any other 
384   graphical objects, see input/test/volta.ly or mutopia/J.S.Bach/pa.ly
385
386 * Removed the "none" clef, use Clef \override #'transparent = ##t instead.
387
388 * Bugfix ly2dvi: paper variable orientation = "landscape" works.
389
390 * Allow for wildcards in the font style alist to give more robust font
391 selection handling. Ignore shape and series for the font families:
392 braces, dynamic and music.
393
394 * Bugfix: stem and dstem font symbol.
395
396 1.3.122.jcn3
397 ============
398
399 * More website link fixes, split and nonsplit.
400
401 * Non-splitting makeinfo website fix.
402
403 * Doco fixes, included feature document into main documentation.
404
405 * lily/chord.cc (member_notename, lower_pitch): gh_member returns a list of
406 which car is the member!
407
408 * Bugfix: added equal_p to list of smob functions.  This fixes
409 behaviour of property chordChanges.
410
411 * More guile-1.4.1 snapshot fixes, generated doco.
412
413 * Doco fixes.
414
415 * Small fixes for guile-1.4.1 snapshot which is more strict on symbols
416 vs strings.
417
418 1.3.122
419 =======
420
421 * Small lilypond-book cleanups.
422
423 * Bugfix: fix lyric extenders.
424
425 1.3.121.mb2
426 ===========
427
428 * Bugfix: svenska.ly and norsk.ly
429
430 * Bugfix: tied-over accidentals handled more correctly.
431
432 1.3.121.jcn2
433 ============
434
435 * Renamed last instances of musical_*pitch to pitch.
436
437 * Bugfix: actually read pitch value in \pitch #(make-pitch ...)
438
439 * Bugfix(?): always allow explicit duration entry.
440
441 * Fixed .po charsets for upcoming msgfmt release (Bruno Haible).
442
443 * Some doco updates and fixes.
444
445 * Bugfix Ly2dvi: reset LC_ALL and LC_LANG too.
446
447 * Commented out dubious undocumented $(PATHSEP) from lilypond-vars.make
448
449 * Replaced some instances of [$(outdir)/].. with $(pwd), these may
450 break --srcdir builds and texi2dvi.
451
452 * Several fixes for --srcdir build, allowing build from read only media.
453
454 * Moved make/toplevel.make.in to less unusual GNUmakefile.in
455
456 * Bugfix: changed beam thickness to .48 staff-space.
457
458
459 1.3.120.uu1
460 ===========
461
462 * Ancient font update (Juergen Reuter)
463
464 * Syntax change: paper_xxxx -> paperXxxx
465
466 * Some documentation updates.
467
468 * Doc-string cleanups, and completization.
469
470 * Changed Pedal string properties: unify stop/start/stopStart
471 properties.  Changed pedal identifier syntax.
472
473 * bugfix: do change clefs if full-size-change is *not* set.
474
475 1.3.120
476 =======
477
478 * Removed texi->dvi cancellation and removed --clean option from texi2dvi
479 command line; this fixes generation of dvi files in Documentation/user.
480 Strange bug in texi2dvi.
481
482 * Fixed bibtex url (reported David Raleigh Arnold), added support for
483 bibtex2html, which is in Debian.
484
485 * Added direntries to toplevel texi documents, for info files
486 (reported Thomas Klausner).
487
488 * Removed some empty files.
489
490 * Make a Stem::height callback, to prevent early brew_molecule
491 call. This fixes input/bugs/triplet.ly.
492
493 * Manual fix for generated -interfaces documentation.
494
495 * Small changes for texinfo-4.0a prerelease.
496
497 * Added a --force option for makeinfo .txt generation.
498
499 * Changed debian ftp urls according to new package pools layout.
500
501 * Debian update, including menu/node fixes to development.texi (Anthony Fok).
502
503 * Bugfix: lilypond-book (Tom Cato Amundsen).
504
505 * Increase the size of dynamics, adding new sizes of feta-din (Mats Bengtsson).
506
507 * \clef "none"; no clef, but whitespace (Mark Hindley).
508
509 * Website fix: don't mv but cp .pngs do deep-html dirs.
510
511 * Bugfix: chords examples (James Hammons).
512
513 * Warning fix.
514
515 1.3.119
516 =======
517
518 * Added some feature examples.
519
520 * Bugfix for \partial and auto-beamer.
521
522 * Bugfixes: warnings.
523
524 * More feature examples.
525  
526 * Renamed some scm files.
527
528 * Some more documentation fixes (move hacking.texi into normal
529 documentation.)
530
531 * Bugfix: header protection in parser.yy
532
533 1.3.117.mb1
534 ===========
535
536 * Bugfix: fetdefs.tex: don't redefine the standard TeX macros 
537   \sharp,\natural or \flat.
538
539 * Bugfix: ly2dvi: handle the --landscape option. Leave the textheight
540   calculation to the geometry package. Remove some dead code.
541
542 * Bugfix: correct font-family for TextSpanner.
543
544 * Bugfix: script-engraver.cc: forced script directions work again.
545
546 1.3.117.jcn2
547 ============
548
549 * Resurrected direct scheme output, ie. lilypond -fscm
550
551 * Warning message fixes and po update.
552
553 * Bugfix: debian package.
554
555 * Resurrected direct postscript output, ie. lilypond --output-format=ps.
556
557 1.3.117.hwn1
558 ============
559
560 * Broken left-edge of volta, Again. Now the Final Fix.
561
562 * Smobified Score, smobified Music_output_def, removed Identifier.
563 Reorganised Scope and Scheme_hash_table to this end.
564
565 * Small cleanups in relations between
566 Paper_def/Paper_outputter/Paper_stream.
567
568 * lilypond syntax update: deprecate $ syntax for identifiers; Provide
569 convert-ly method.
570
571 * Rename: don't use grobs in performer methods.
572
573 1.3.116.jcn4
574 ============
575
576 * Bugfix: don't set beaming for outer half beams.  This fixes some
577 slurs attached to stem end.
578
579 * Bugfixes for (de)crescendo spanners and generic text spanners
580
581 * Bugfix: Slur::set_interface (): don't overwrite, but copy attachment
582 property.
583
584 * Started documenting some new or not too wel documented features.
585
586 * Bugfix: only assume making deep split html documentation when
587 makeinfo --version 4.0.jcn2 is available.  Although the documentation
588 should now build with plain makeinfo 4.0, some links will be broken.
589
590 * Bugfix: lilypond-book: check for .texidoc files *after* running lilypond.
591
592 1.3.116.mb1
593 ===========
594
595 * Bugfix: convert-ly.py: Correct syntax for inserted \version, 
596   \push -> override happened in 1.3.111
597
598 * Bugfix: corrected documentation of timeSignatureStyle, removed all
599   `unknown type' in the property documentation.
600
601 * Added font family typewriter (cmtt).
602
603 * Bugfix: some examples updated
604
605 * Bugfix: beamed grace notes (reinstate process_music () call in
606 Grace_engraver_group::process() )
607
608 * Rename: Global_translator::process -> Global_translator::one_time_step (). 
609
610 1.3.115.jcn2
611 ============
612
613 * Bugfix: lilypond-book.py: only include exisisting .texidoc files.
614
615 * Lilypond: don't write empty header field file if header field does
616 not exist (ie, empty .texidoc files).
617
618 * Turn on info generation.
619
620 * Fixes to dynamic placement and crescendo spanners.  Incomprehensible
621 ``width-correct'' hack remains.
622
623 * Bugfix: auto-beamer beaming over bar lines.
624
625 * Bugfix: consecutive and non-consecutive glissandi.
626
627 1.3.115.hwn1
628 ============
629
630 * Bugfix: multi-measure rest ends, chords. 
631
632 * Some back end documentation
633
634 * Rename element to grob in .scm files.
635
636 1.3.114.mb1
637 ===========
638
639 * Bugfix: convert-ly
640
641 * Bugfix: Included FAQ.txt in the top directory
642
643 * Allow for instrument names with multiple lines and font selection,
644   see input/test/coriolan-margin.ly
645
646 * Added example for figured bass: input/test/figured-bass.ly
647
648 1.3.114.lec1
649 ============
650
651 * abc2ly fixes
652
653         * allow a g_8 clef to be specified by treble8
654
655         * allow full mode names, as well as 3 character abbreviations
656
657         * support breves and longas (no abc program that I know of has
658           longas, but a couple of them have breves, and one can always hope.)
659
660         * translate text annotations beginning with _ and ^ for above and 
661           below the staff.
662
663         * quote lyrics syllables with (
664
665         * handle real repeat syntax, for appropriately written ABC.
666
667         * %%LY slyrics now works for longer than one character lyric strings.
668
669         * N: fields are now in header.
670
671 1.3.114.uu1
672 ===========
673
674 * Prepare for Music type-unification: remove all args from Music
675 constructor, and set everything in the parser.
676
677 * Moved writing of \header strings feature from lilypond-book to lilypond. (1.3.114.jcn1)
678
679 * Bugfix: tied chords.
680
681 * Turn off .info creation by default.
682
683 1.3.114
684 =======
685
686 * Moved all documentation from regtest to individual example files.
687
688 * Added feature to lilypond-book to write out \header texidoc string.
689
690 * Reincluded simple FAQ in tarball.
691
692 * Fixed lyrics with bar-enrgaver example.
693
694 * Renamed LyricVoice to LyricsVoice.
695
696 1.3.113.uu1
697 ===========
698
699 * Checksums for AFM fonts: make sure that TFM and AFM files match.
700 One FAQ less to be asked.
701
702 * Made point-and-click switchable, default: off 
703
704 * Bugfix: don't make multimeasure rests from failed span-requests.
705
706 * Bugfix: mark with string arguments, eg. letters..
707
708 * Bugfix: direction of staccato dots. 
709
710 1.3.113
711 =======
712
713 * Added stems to font for use in markup text.
714
715 * Fixed markup text kerning, see input/test/metronome.ly.
716   (Ugh, only feasible if kerning is first markup -- markup text should be revised.)
717
718 * Fixed molecule caching problem with stem-tremolo: fixes vertical
719 positioning of stem-tremolo.
720
721 * Added forced slur direction (stemUp no longer implies slurUp) in
722 cross-staff slur example.
723
724 * Fixes to Glissando and line-spanner.  Behaves reasonably across line
725 breaks.
726
727 * Added: Align_interface::fixed_distance_alignment_callback that does
728 not compute the extents of the to-be-aligned objects. This delays many
729 brew_molecule() calls, because staff-height is no longer needed for
730 aligning.
731
732 * Bugfix: allows linebreaks for some types of beam.
733
734 * Bugfix: add braces in larger size range; prevents "Unknown character
735 127" messages, hopefully.
736
737 1.3.112
738 =======
739
740 * Allow two consecutive glissandi.
741
742 * Note_head_line_engraver now also listenes to \property
743 "followThread": Automagically connect note-heads when thread switches
744 staff.
745
746 * Fixed american-chords example (except for o/, that waits for kerning fix).
747
748 * Added simple glissando line.
749
750 * Bugfix: broken text spanner (ie. crescendo)
751
752 * Bugfix: chord tremolos
753
754 * Bugfix: staff group brace
755
756 * Bugfix: volta repeats
757
758 * Resurrected clef _8 and ^8 syntax.  (This should be deprecated?)
759
760 1.3.111
761 =======
762
763 * Fixed non-empty-text feature.
764
765 * Bugfix for Grob::has_extent_callback_b ()
766
767 * Added infrastructure for music property documentation strings.
768
769 * Syntax change: \notenames -> \pitchnames
770
771 * Changed syntax \push -> \override, \pop -> \revert. Add:
772
773         \property Context.Element \set #'foo = #bar
774
775 which  does a \revert followed by a \override.
776
777 * Documentation updates.
778
779 * Fixed typechecks for \push, \pop and \property
780
781 * Bugfix: Local_key_engraver.
782
783 * Fixes for lilypond-mode.el (patch by Mark Hindley)
784
785 1.3.110
786 =======
787
788 * Fixed a mysterious typo in toplevel index.
789
790 * Enabled property-engraver.
791
792 * Cleanup in Auto-beam-engraver (still broken, because timings are off?)
793
794 * Collapsed all ``void Foo::create_grobs () { deprecated_process_music
795 (); }'' occurences, and reactivated some disabled code (note-name,
796 chord-name, custos, lyrics).  Reactivated Timing_translator using
797 process_music ().
798
799 1.3.109.hwn1
800 ============
801
802 * unsmob_element -> unsmob_grob
803
804 * Make a Slur::height callback, to prevent early brew_molecule
805 call. This fixes cross-staff slurs.
806
807 * Bugfix: custodes style must be symbol, not string.
808
809 * do_creation_processing () -> initialize (), do_removal_processing ()
810 -> finalize ().  Remove (do_)add_processing.
811
812 * Move Relative_octave_music::last_pitch_ into SCM, junk
813 Transposed_music::to_pitch_, junked Time_scaled_music::{den_i_,
814 num_i_}, Rhythmic_req::duration_, Melodic_req::pitch_
815
816 1.3.109
817 =======
818
819 * Bugfix: resurrected point-and-click. 
820
821 * Use scheme object props for storing type predicates and doc-strings
822 Dump global lists of properties into auto-documentation.
823
824 * Bugfix: extent callback for Rest, so  ledger lines don't disappear for
825 rest-collisions.
826
827 * Removed some hair from chord code
828
829 * Rewrite of engraver pass scheme: try to make graphical objects in
830 acknowledge_element()/process_acknowledged(), not in process_music()
831
832 * Remove Translator::status_ and associated code. Removes the need for
833 various XXXX functions as wrapper for do_XXX functions.
834
835 * Search replace: Score_element -> Grob (Graphical object),
836 {pre,post}_move_processing -> {stop,start}_translation_timestep,
837 do_try_music -> try_music.
838
839 1.3.108
840 =======
841
842 * Dropped ly_lists_equal for gh_equal_
843
844 * Removed Array from chord.
845
846 * Small bugfix to lilypond-mode.
847
848 * lily/part-combine-music-iterator.cc: fixed (switch `combineParts'
849 property on), and removed Array.
850
851 1.3.107.uu1
852 ===========
853
854 * Bugfix: don't call Crescendo::brew_molecule () too early if there is
855 an absolute dynamic.
856
857 * Rename class Crescendo to Hairpin.
858
859 * Search/replace: Musical_pitch -> Pitch 
860
861 * More links in the backend documentation.
862
863 1.3.106.jcn2
864 ============
865
866 * Cross compilation and info build fixes, really cancel all builtin
867 rules, sigh.
868
869 * Generated documentation fixes: Generate all interface descriptions,
870 separately, don't list non-set interface properties with element
871 descriptions.
872
873 1.3.106.hwn1
874 ============
875
876 * Deprecate `mudela' name: rename mudela to lilypond globally.
877
878 * construct Music_iterators decentrally.
879
880 * Make smob of Duration 
881
882 * Make smob of Musical_pitch.
883
884 * Move Repeated_music members into SCM. Length is computed via a SCM
885 function. (todo: write SCM function to unfold all repeats. \apply for
886 \midi)
887
888 * Remove Time_signature_change_req, \time is disguise for \property
889 Score.timeSignatureFraction = ...
890
891 * \property barCheckNoSynchronize: don't reset measurePosition when
892 finding a bbarcheck. This makes bar-checks for polyphonic music
893 easier.
894
895 * elt property full-size-change for clefs.
896
897 * Bugfix: use Stem::dim_callback (), so brew_molecule () is not called
898 too early.
899
900 * Bugfix: use extent of Note_head (iso. Note_column) for rest
901 collisions, so Stem::brew_molecule() is not called too early.
902
903 1.3.105.jcn1
904 ============
905
906 * Makeinfo html documentation generation fixes.
907
908 1.3.105.uu1
909 ===========
910
911 * Remove Bar_req, \bar is now a frontend to setting Score.whichBar
912
913 * Move Context_specced_music::translator_{type,id}_str_ into music
914 properties.
915
916 * Don't make line breaks during note playing.
917
918 * Clef engraver rewrite. Clef-engraver is now controlled through
919 properties clefPosition, clefGlyph, clefOctavation. The \clef command
920 is just a front-end to these, see scm/lily.scm, function
921 clef-name-to-properties.  See also input/test/manual-clef.ly
922
923 1.3.105
924 =======
925
926 * Bit of temporary makefile hacking to stay in sync with makeinfo patch.
927
928 * Separate interface description (test phase).
929
930 * Makeinfo --html split fix: http://appel.lilypond.org/fred/software/texinfo-4.0.jcn2.diff
931
932 * Use headers for makeinfo html output.
933
934 * Made some --scrdir build fixes.
935
936 1.3.104.uu1
937 ===========
938
939 * Smobified molecule, and cache molecule (ie. generate each molecule
940 only once).  Lily should be faster now. (approx. 6 % ?)
941
942 * Coded properties-to-font-name in C++. Measured speedup: 14% (wtk1-fugue2)
943
944 * Use music properties for Request data.
945
946 1.3.104
947 =======
948
949 * Documentation build fix: don't run LilyPond when generating plain info doc.
950
951 * Resurrected info documentation and made cross links between manual
952 and generated doco, some small fixes.
953
954 * Made small time signature style fix.
955
956 * Generate texinfo iso html documentation.
957
958 * Added x-references for elements->engravers and engravers->contexts.
959
960 * Fixed number font listing in style sheet.
961
962 * Fixed default font settings for text items, text-item now uses
963 font-interface's alist-chain.
964
965 * Renamed property AutoBeam to autoBeamSettings to avoid confusion
966 about non-existing AutoBeam element.
967
968 * Mensural clefs (courtesy Juergen Reuter)
969
970 1.3.103.lec1
971 ============
972
973 * abc2ly enhancements
974
975         * %%LY comments
976
977         * explanation of rationale for %%MIDI nobarlines
978
979         * supports -8va as a syntax for tenor clef
980
981         * pushing the Staff.timeSignatureStyle property
982
983         * parses space between key letter and mode in K: statement
984
985         * default for guitar chords is above the staff
986
987         * fix for translation of :: repeat
988
989 1.3.103
990 =======
991
992 * Translated auto-beam properties to alist.
993
994 * Rewrite of tfmtoafm in scm.
995
996 * Rewrite of emacs LilyPond mode, based upon auctex interface.
997
998 * Chord name fixes and additions (Atte Andr'e Jensen)
999
1000 * ly-get-mus-property, ly-set-mus-property: set properties of Music
1001
1002 * Move Span_req::span_dir_ into Scheme
1003
1004 * removed numberOfStaffLines, staffSpace. Use StaffSymbol \push
1005 staff-space, line-count
1006
1007 * removed minVerticalAlign, maxVerticalAlign; use VerticalAlignment
1008 \push #'threshold = #(MIN . MAX)
1009
1010 * \property tremoloFlags can be set anywhere now
1011
1012 * \apply #function music 
1013
1014 * Bugfix: padding of dots.
1015
1016 * Generate documentation for separate engravers as well as for contexts.
1017
1018 * Move some reference manual into the  SCM documentation system.
1019
1020 * Bugfix: fixed hyphen spanners.
1021
1022 1.3.102
1023 =======
1024
1025 * Fixed bracket, and made some other PostScript code fixes.
1026
1027 * Silly font initialisation fix for paper19 non-feature.
1028
1029 * Automatic engraver/property documentation infrastructure. 
1030
1031 * Fixed system-start braces
1032
1033 * Fix for forgetAccidentals: do print accidentals, just don't remember
1034 them.
1035
1036 * Bugfix: forced script directions for scripts that have relative stem-direction.
1037
1038 * Bugfix: Tie_column doesn't force Tie directions ties that already
1039 have a direction.
1040
1041 * Bugfix: multimeasure rest 
1042
1043 1.3.101
1044 =======
1045
1046 * Custodes (patch by Juergen Reuter), mods by hwn.
1047
1048 * Font initialisation and markup translation fixes. (99.jcn2)
1049
1050 * Remove staffspace calls. Removed markScriptPadding. Fixes some
1051 problems with tuplet, brace and volta spanners.
1052
1053 * make Font_interface::font_alist_chain (), and use default font
1054 settings. Fixes too large time sigs.
1055
1056 1.3.100
1057 =======
1058
1059 * Tweaks of .scm font-selection. 
1060
1061 * Rewrote font management of Score_element and Paper_def.
1062
1063 * Introduced outputscale: internally do computation in terms of
1064 outputscale.  Prepare to deprecate staffspace internally.  Rewrote
1065 .scm side of font selectioning. 
1066
1067 1.3.99.jcn1
1068 ===========
1069
1070 * Made several font size and initialisation fixes.
1071
1072 * Renamed all occurrences of font-size to font-relative-size
1073
1074 * Renamed all occurrences of font-point to font-point-size
1075
1076 * Fixed interface.scm descriptions to use symbols iso strings
1077
1078 * Fixes for chord names, and added jazz style (James Hammons)
1079
1080 * Some font-size fixes.
1081
1082 * Added dynamics font in all staff-sizes.
1083
1084 * Quick fix for regtest.
1085
1086 1.3.98.hwn2
1087 ===========
1088
1089 * Removed all paper vars except linewidth, indent, staffspace and
1090 stafflinethickness.
1091
1092 * Rewrote Scheme side of font-selection.
1093
1094 * Bugfix: deprecate group-center-element thoroughly.
1095
1096 * Bugfix: LeftEdge must also have Break_align_item::alignment_callback
1097 X-offset-callback.
1098
1099 * Add use music property "direction" for storing direction in
1100 Script_req, use music property "text-type" for storing 'dynamic,
1101 'finger, etc. Remove Dynamic_script_req. Resurrect fingerings.
1102
1103 1.3.98.lec1
1104 ===========
1105
1106 * fixed scale-definition.ly for greek mode names.
1107
1108 1.3.98
1109 ======
1110
1111 * Backend documentation updates and related cleanups
1112
1113 * Removed \property bracketCollapseHeight, systemStartDelimiterGlyph
1114
1115 * Bugfix: instrument-name on grandstaffs, see
1116 input/test/instrument-name-grandstaff.ly
1117
1118 * Bugfix for tie/staffline collision.
1119
1120 * Bugfix: also send out end-repeat if there are no alternatives.
1121
1122 * Small solo cello suite fixes.
1123
1124 1.3.97.jcn1
1125 ===========
1126
1127 * Added some interface documentation.
1128
1129 * Added raise and kern to markup.  This should make Chord names usable.
1130
1131 1.3.97
1132 ======
1133
1134 * Made small fixes to basic properties: regression-test compiles.
1135
1136 * Moved Text_script_req's text_ member into mus-property.
1137
1138 * Renamed ChordName to ChordNames, for consistency.
1139
1140 * Resurrected most of chord names, superscripting and kerning
1141   is currently broken, though.
1142
1143 * Junked all old style text lookups, except for feta definitions.
1144
1145 * Added support for name-based character lookups.
1146
1147 * Added support for font styles and papersize style sheets.
1148
1149 * Added new code for font selection and scm text markup.  Only used
1150   for testing in \textscript SCM. See input/test/markup.ly.
1151
1152 * Fixed (added actually, it got lost?) word-space for chords.
1153
1154 * Added slope-limit and attachment-offset properties to slur.
1155
1156 * Slur's broken trend now weighs in the number of note-columns.
1157
1158 * Spacing tweaks
1159
1160 1.3.96.hwn1
1161 ===========
1162
1163 * Mudela-book fixes (Tom Cato Amundsen)
1164
1165 * Put marks above chords.
1166
1167 * Solaris fix.
1168
1169 * Type checking for \push and \pop; elt property description (docs
1170 inclusive) is now in Scheme.
1171
1172 * Self-documenting backend using ly/generate-documentation.ly
1173
1174 1.3.96
1175 ======
1176
1177 * Added friendly message for the clueless dvips user.
1178
1179 * Clef-engraver: changed c0-position, clef-position and glyph into properties,
1180   enabling ottava spanners: input/test/ottava.ly.
1181
1182 * Added option for edge lines to Text spanner.
1183
1184 * Bugfix for early initialisation of invalid (grace->voice) slur.
1185
1186 * Dropped text support and padding of crescendo symbol.  Horizontal
1187   alignment of dynamics is handled by side-support, Text crescendos
1188   use the generic Text spanner.
1189
1190 * Added a generic Text spanner.
1191
1192 1.3.95.hwn1
1193 ===========
1194
1195 * Bugfix: octavate eight.
1196
1197 * Rewrote arpeggio.
1198
1199 * mudela-book fixes (Tom Cato)
1200
1201 * Cleaned up Group_interface and Pointer_group_interface
1202
1203 * Add accidentals to arpeggio support.
1204
1205 * Stemup + barline combination gets extra space.
1206
1207 * Score_element::extent () now takes a reference point argument.
1208
1209 1.3.95
1210 ======
1211
1212 * Use music property for setting type. This prevents accidental
1213 forgotten copies.
1214
1215 1.3.94.jcn3
1216 ===========
1217
1218 * Added Arpeggio and Trill elements to feta font.
1219
1220 * Yet another bugfix for output-property (Han-Wen)
1221
1222 * Made some fixes to les-nereides.
1223
1224 * Fixed output-property (Dankje).
1225
1226 * Added backend framework for arpeggios.
1227
1228 * Fixes for les-nereides.  Should we do asymmetric slurs...?
1229
1230 * Don't print repeat bars at start of line.
1231
1232 1.3.94
1233 ======
1234
1235 1.3.93.uu1
1236 ==========
1237
1238 * Bugfix: don't crash if there is no volta bracket to end.
1239
1240 * Move offset, dimension callbacks into Scheme.  They can be initialized from basicXXXX properties using
1241
1242         (X-offset-callbacks . (callback1 callback2 .. .))
1243         (Y-offset-callbacks . (callback1 callback2 .. .))
1244         (X-extent-callback . callback1) 
1245         (Y-extent-callback . callback1)
1246
1247 * naming: basicXXXProperties -> XXX, some other changes in naming;
1248 convert-mudela rules added.
1249
1250 * naming: \voiceone -> \voiceOne and related changes. convert-mudela
1251 rules added
1252
1253 * syntax: \property XXX \pop #'bla -> \property Context.XXX \pop #'bla
1254
1255 * changed aclocal.m4 to have better check for guile version. (Laura Conrad)
1256
1257 * updates for mudela-book (Tom Cato Amundsen)
1258
1259 1.3.93.jcn1
1260 ===========
1261
1262 * Try at nastiest competition piece: input/les-nereides.ly.
1263
1264 * Moved Pedal_engraver to Staff context.
1265
1266 1.3.93
1267 ======
1268
1269 * Added some error messages for toplevel and stray string parse errors.
1270
1271 * Don't start more than one slur at a time.
1272
1273 * Set direction of Slur too in a2-engraver.
1274
1275 1.3.92.hwn1
1276 ===========
1277 * Removed calls to global GUILE namespace.
1278
1279 * Added \property: scriptDefinitions, explicitClefVisibility,
1280 explicitKeySignatureVisibility, instrumentEqualizer,
1281 dynamicAbsoluteVolumeFunction
1282
1283 * Added element properties Bar::break-glyph-function,
1284 Break_align_item::space-alist, Chord_name::chord-name-function
1285
1286 * Added \property combineParts: part combiner switched off by default.
1287
1288 * Remove all print methods.
1289
1290 * Use Scope::try_retrieve if possible.
1291
1292 * Remove FAQ in favor of URL.
1293
1294 * etf2ly.py robustness fixes.
1295
1296 * Don't compensate for left edge in broken volta spanner.
1297
1298 1.3.92
1299 ======
1300
1301 * RPM .spec fixes.
1302
1303 * italiano.ly
1304
1305 * mudela-book updates by Tom Cato Amundsen.
1306
1307 * Allow lyric hara kiri as well.
1308
1309 * Bugfix: left/right mixup  in Side_position_interface::aligned_on_self ()
1310
1311 * rest collision of differing rests.
1312
1313 * Cleanup of Sequential_music_iterator, Simple_music_iterator.
1314
1315 * Unfolded_repeat_iterator now signals repeats using \property
1316   repeatCommands. You could override this, eg.
1317
1318         \property Score.repeatCommands = #'((volta "X") start-repeat)
1319
1320   will print a |: and a volta bracket saying X. See also
1321   input/test/manual-volta.ly
1322   
1323 * Volta_engraver, Repeat_acknowledge_engraver: new engravers that are
1324 controlled by repeatCommands; much cleaner than the Repeat_engraver.
1325
1326 * Junked Repeat_engraver.
1327
1328 1.3.91.jcn1
1329 ===========
1330 * Abort all running spanners when part-combiner combines voices.
1331
1332 1.3.91
1333 ======
1334
1335 * Use S_ISDIR () and check for stat.h.
1336
1337 * Various fixes for RedHat 7.0 / gcc 2.96.54
1338
1339 * separate basic propertylist for fingerings, center them on
1340 noteheads.
1341
1342 * Side_position_interface::aligned_on_self() now can take a real
1343 number for self-alignment-{X,Y}.
1344
1345 * etf2ly: single line GF field.
1346
1347 1.3.90.mb1
1348 ===========
1349
1350 * Added an interscorelinefill paper variable. Set to a positive number 
1351   in order to stretch the inter-line spacing to fill the full pages,
1352   except for the last page (where it would look really ugly).
1353
1354 1.3.89.jcn1
1355 ===========
1356
1357 * Changed lilypond to LilyPond in ly2dvi, Mudela to LilyPond source.
1358
1359 * Website fixes: Changed \interline to \staffspace in manual, removed offending
1360   braces from mudela-book.tely.
1361
1362 * Fixed slur attachment correction bug.
1363
1364 * Made some fixes to Coriolan.
1365
1366 1.3.89.hwn1
1367 ===========
1368
1369 * Only open files, not directories 
1370
1371 * bugfix: textNonEmpty.
1372
1373 * Look ahead in auto-change iterator for rests. This means rests
1374 before the note leading to an automatic staff switch are switched as
1375 well (improves the looks of scarlatti-test).  Associated fixes and
1376 additions for  Music_iterator::skip () and friends.
1377
1378 * Bugfix: only quantise staccato inside the staff. 
1379
1380 * cleanups for beam and stem. Removed global GUILE namespace calls
1381 from Beam and Stem.
1382
1383 1.3.89
1384 ======
1385
1386 * Some fixes to Coriolan.
1387
1388 * Fixed some stupid core dumps processing Coriolan.
1389
1390 * Fixed several problems with part-combiner's part-switching.
1391
1392 * Fixes for ASCII output.
1393
1394 * Added feature to part combiner that should allow part-switching only
1395   for entire measures.  Currently, it is controlled by a new 
1396   property changeMoments (A . B):
1397     - only switch when !(A mod now),
1398     - decide whether to switch based on music during time period B.
1399
1400 * Made bugfix: Sequential_iterator::get_music (M): mustn't return music 
1401   later than M.
1402
1403 * Added skip (M) to some iterators.
1404
1405 * maintain minimum-length by shifting for hyphens at start of
1406 line. (patch courtesy Christophe Rhodes)
1407
1408 * mudela-book fixes (courtesy Tom Cato Amundsen): documentation
1409 update, LaTeX example, landscape support.
1410
1411 1.3.88.hwn2
1412 ===========
1413
1414 * Added elt properties for Tie:
1415   - details
1416   - x-gap
1417   - staffline-clearance
1418
1419 * Added elt properties for Slur
1420   - y-free
1421   - details
1422
1423 * Removed C++ support for barNumberScriptPadding, now in
1424 generic-property.scm (but they're deprecated anyway)
1425
1426 * Changed threshold in Align_interface to be in staffspace 
1427
1428 * changed minVerticalAlign and maxVerticalAlign to be in staffspace.
1429 A better way: do \push #'threshold = #(cons A B ).  (WARNING:
1430 INCOMPATIBLE CHANGE)
1431
1432 * moved translator definitions out of \paper { }, only instantiate in
1433 \paper.
1434
1435 1.3.88
1436 ======
1437
1438 * Sequential_iterator::get_music (), part combiner now works.
1439
1440 * Changed paper variables into elt properties:
1441   Beam:
1442   - beam-space-function, Removed Paper_def::interbeam_f(), Smaller
1443   beams for grace notes.
1444   - beam-flag-width-function to Beam.
1445
1446   Grace_align_item:
1447   -  horizontal-space: spacing of grace notes is configurable
1448
1449   Volta_spanner: 
1450   - height
1451   - thickness 
1452
1453   Multi_measure_rest:
1454   - expand-limit
1455   - minimum-width
1456   - padding
1457
1458   Lyric_extender:
1459   - height
1460
1461   Stem
1462   - thickness 
1463
1464   Collision
1465   -  note-width to Collision
1466
1467 * removed various obsolete variables from params.ly
1468
1469 * added input/test/bagpipe.ly
1470
1471 1.3.87
1472 ======
1473
1474 * Made fixes to part-combine examples and Coriolan.
1475
1476 * Bugfix: don't dump core on unterminated (de)crescendo.
1477
1478 * Rolled next (M) also into get_music (M), similar to process (M), so that
1479   sequential-music-iterator::get_music (M) returns something useful.
1480
1481 * Bugfix: part-combiner still expected Music_sequence, where get_music ()
1482   now returns plain list of events.
1483
1484 1.3.86.hwn3
1485 ===========
1486
1487 * Fixed problem with disappearing crescendi across line break.
1488
1489 * Bugfix: dynamic texts should not be set by text-engraver. 
1490
1491 * Rewrote and cleaned up music-iterator.
1492
1493 * etf2ly robustness fixes.
1494
1495 1.3.85.hwn2
1496 ===========
1497
1498 * Added side-position-interface as an interface identifier, in stead
1499 of checking side-support-elements. This fixes a problem with stacked
1500 text scripts.
1501
1502 * Removed spurious set_elt_property ("XX", SCM_EOL) calls.
1503
1504 * Added \property squashedPosition for Pitch_squash_engraver: the
1505 staff-position number to squash noteheads to.
1506
1507 * Added FAQ entry for script on bar, updated description of mailing
1508 lists.
1509
1510 * Fixed bug with \translator { basicXXXProperties \push ... }
1511
1512 * Updated and revised call for help in hacking.texi.
1513
1514 * Bugfix: don't remember accidental if it is tied from the previous note.
1515
1516 1.3.85
1517 ======
1518
1519 * Separated definition and implementation of contexts (moved
1520 definition out of Translator_group into Translator_def)
1521
1522 * pmx2ly.py fixes: now handles text at beginning of block correctly.
1523
1524 * update .spec to include scripts. 
1525
1526 * Changed syntax of \pushproperty:
1527
1528         \property Voice.basicXXXProperties \push #'foo = #bar
1529         \property basicXXXProperties \pop #'foo
1530
1531         \translator {
1532                 basicXXXProperties \push #'foo = #bar
1533                 basicXXXProperties \pop #'foo
1534         }
1535
1536 1.3.84.jcn1
1537 ===========
1538
1539 * Updated INSTALL.texi
1540
1541 1.3.80.tca1
1542 ===========
1543 * Added Documentation/user/mb-latex.tex, mudela-book+latex example
1544   file and test case. Some work on Documentation/user/mudela-book.tely
1545
1546 * mudela-book.py: any combination of \verb, \begin{verbatim}
1547   @code and @example and mudela should work as expected. 
1548
1549 * dropped [].extend that depend on python 1.5.2
1550
1551 1.3.84
1552 ======
1553
1554 * pmx2ly, PMX to LilyPond conversion. Succesfully converts barsant.pmx.
1555
1556 * musedata2ly, a Musedata to LilyPond convertor. Succesfully converts
1557 wtk1-fugue2
1558
1559 * bugfixes for dynamics: make sure that dynamic alignments encompass
1560 the dynamics they support, and that any columns they attach to aren't
1561 prematurely killed.
1562
1563 * bugfix: make sure \time gets noticed early enough.
1564
1565 1.3.83
1566 ======
1567
1568 * small doc updates.
1569
1570 * Cleanups related to barline handling:
1571
1572   - Removed Translator_group::get_simple_translator (), and -
1573
1574   - use properties to communicate about barlines and time sigs. (NOTE:
1575     by default a time-signature of 4/4 is printed.)
1576
1577   - fix repeat bar behavior.
1578
1579 1.3.115.hwn1
1580 ============
1581
1582 * documentation
1583
1584
1585
1586 * cleaned up Directional_element_interface
1587
1588 * add name field to score-elements.
1589
1590 * comment in some unprotects for Music in parser. Should bring down
1591   cpu time and plug some leaks.
1592
1593 * robustness fixes for etf2ly, tuplets, grace notes. 
1594
1595 1.3.82
1596 ======
1597
1598 * engraver.ly: cleanups.
1599
1600 * etf2ly: robustness fixes, handle mac files as well.
1601
1602 * Smobified Translator and Translator_group, junked
1603 Translator_group_identifier.
1604
1605 * \pushproperty and \popproperty withing \translator, similar to
1606 predefining \property, ie.
1607
1608         \translator { [...] \pushproperty [..] }
1609         \translator { [...] \popproperty [..] }
1610
1611 (these \pushes and \pops are delayed until instantiation, so if you do
1612
1613
1614         \score {
1615                 \pushproperty #'basicFooProperties #'bla #VALUE1
1616                 \context Voice { \pushproperty #'basicFooProperties #'bar #VALUE2
1617                         [..]
1618                 }
1619         }
1620
1621 then the setting for basicFooProperties contains both (bla . VALUE1)
1622 and (bar . VALUE2).
1623
1624 * allow \pushproperty #'symbol [..] as well as \pushproperty #'(symbol1 symbol2 ... )
1625
1626 1.3.81.jcn1
1627 ===========
1628
1629 * Activated regex for windows.
1630
1631 * New guile-1.4 patch for cross windows build.
1632
1633 * Added configure messages for metapost checking.
1634
1635 1.3.81
1636 ======
1637 1.3.80.gp1
1638 ==========
1639
1640 * Added property LyricVoice.associatedVoice to enable switching associated
1641   voice mid-stream. Association still defaults to context name.
1642
1643 1.3.80.hwn1
1644 ===========
1645
1646 * \pushproperty, \popproperty: property settings with less memory
1647 cost. See input/test/pushproperty.ly and Documentation/hacking. Note:
1648 syntax is most likely only temporary.
1649
1650 1.3.80.jcn1
1651 ===========
1652
1653 * (Line-)broken slurs now have vertical trend.
1654
1655 * Better length for broken ties: no invisibly short ties.  Now ties may
1656   collide with time signatures, though.
1657
1658 * Don't typeset unfinished spanners, but kill them.
1659
1660 * Added two FAQs (Mats)
1661
1662 * Made workaround guile-1.4.1 backward incompatible (scm_)eval change.
1663   Note that we must use (scm_)eval2 to remain backwards compatible with
1664   guile < 1.4.1 snapshot.
1665
1666 * Reincluded 79.jcn2 fix
1667
1668 1.3.80
1669 ======
1670
1671 1.3.79.jcn5
1672 ===========
1673
1674 * Created Thread_devnull_engraver and Voice_devnull_engraver iso
1675   single A2_devnull_engraver in Thread context.  It seems however
1676   that the hack in A2_devnull_engraver works better.
1677
1678 * Coriolan fixes.
1679
1680 * Slur attachment fix for chords where case slurdir != stemdir.
1681
1682 * Made various fixes for (line-)broken slurs.
1683
1684 * Fixed slur_height (), which fixes most ugly slurs (Yeah!).
1685
1686 * Fixed some silly url reversals in FAQ.
1687
1688 * Finished Coriolan music entry (again); entered second viola part.
1689
1690 * Updated Coriolan to use part combiner on Voice level for wind parts
1691   and on Staff level for violi and bassi.
1692
1693 * Part-combiner now uses duration inquiry, which fixes rhythm-related
1694   bugs in determining solo/a2.  Also, rests are taken into account.
1695
1696 * Another crude fix for almost unexplainable (with a gdb that dumps
1697   core on ly_display_scm) all-zero control points slurs.
1698
1699 * Fixed slurs that crossed through stems and note heads.  Note
1700   that beautifying of ugly slurs is still broken.
1701
1702 * Made crude fixes slurs don't crash, bezier still crashes on
1703   infinitely steep slurs (eg flauti-part *with* slur_engraver).
1704
1705 1.3.79.gp1
1706 ==========
1707
1708 * Replaced empty melisma score element with a property
1709
1710 * Renamed Voice_alist_entry -> Syllable_group in lyric-phrasing-engraver
1711
1712 1.3.79.uu1
1713 ==========
1714
1715 * fixed y-position of whole rest
1716
1717 * fixed sustainPedalPadding
1718
1719 * etf2ly: articulation, lyrics.
1720
1721 1.3.79
1722 ======
1723
1724 * etf2ly.py: Finale to LilyPond conversion.
1725
1726 1.3.78.jcn4
1727 ===========
1728
1729 * Made simple fix to get part-combiner to recognise different rhythms
1730
1731 * Unhardcoded part combiner and a2-engraver; introduced properties
1732   splitInterval, soloADue, soloText, soloIIText, aDueText.
1733
1734 * Fixed part combiner's too-late problem (Dankje!)
1735
1736 * Fixed a2-devnull-engraver, a2-engraver.
1737
1738 * Renamed part combiner music names to "one", "two".
1739
1740 * Cleaned up decision making in part combiner, renamed to "solo"/"unison"
1741
1742 1.3.77.mb1
1743 ==========
1744
1745 * Minor documentation updates
1746
1747 * Mark_engraver: has been broken since .73, fixed!
1748
1749 1.3.78
1750 ======
1751
1752 * Added a devnull engraver, that junks (notehead) requests of the second
1753   stem when combined parts are in unison (a2).
1754
1755 * Part-combine iterator identifies Soli and A2 parts in threads by 
1756   looking at rhythm and pitches.  It switches Voice context automagically,
1757   and communicates current state using a2/solo/solo2 properties.
1758
1759 * Simple A2_engraver (`a due) prints `a2/Solo/Solo II.  Soli seem to
1760   arrive one request late.
1761
1762 * First try at combining parts: part-combine*
1763
1764 * fixed problem with HaraKiri
1765
1766 * fixed problem with dynamicDirection
1767
1768 * fixed problem with nonEmptyText 
1769
1770 * `Fixed' chord notation, as per request of David Arnold, ie, 
1771    Added a chord-name-mode, that only displays chord names
1772    when there's a change in the chord-name-scheme, Also, a chord
1773    name should always be displayed after a line break.  See
1774
1775        input/test/chord-changes.ly
1776
1777 * Reverted duration-iter change in midi2ly, moved printing of options.
1778
1779 * warning bugfix in lexer.ll (Mats Bengtsson)
1780
1781 1.3.77
1782 ======
1783
1784 * Midi2ly bugfix: handle durations longer than longa.  These can occur
1785   because of lengthened notes when using --no-rests.
1786
1787 * Midi2ly: output `new' \key syntax, and updated version number.
1788
1789 * Midi2ly bugfix: don't correct quantised durations, don't use tuplets, 
1790   double dots etc. when user doesn't want them.  It probably used to
1791   work like this, a long time ago.  For some unknown reason, all
1792   corrections made by Duration_convert were junked if the corrected
1793   duration != exact duration.  Duh.
1794
1795 * Midi2ly: added a new option: --no-rests.
1796
1797 * Update of mudela-book (Tom Cato Amundsen)
1798  - --read-lys option, now you can do:
1799         mudela-book file.texi
1800         convert-mudela
1801         mudela-book --read-lys
1802  - --outdir=DIR will put ALL output into DIR
1803  - @mudela[filename="myfilename"]{c d e f g}
1804  - --force-mudela-fontsize
1805  - ignore mudela inside @ignore @end ignore
1806
1807 1.3.76.gp1
1808 ==========
1809
1810 * Lyric_phrasing_engraver now catches lyric extenders and correctly
1811   terminates them under the last note of a melisma.
1812
1813 * Lyric word spacing code changed to fix hyphen alignment.
1814
1815 * Other minor tidying up of Lyric_phrasing_engraver and related code.
1816
1817 1.3.76
1818 ======
1819
1820 * Lyric_phrasing_engraver now adjusts for melisma.  (Glen Prideaux).
1821
1822 * Mudela-book fix for Windows95 (Mark Hindley)
1823
1824 * Debian update (Anthony Fok)
1825
1826 * Added beam melisma for when automaticMelismata and noAutoBeaming are both
1827   #t (primarily for hymns).  Courtesy Glen Prideaux.
1828
1829 * Bugfix: .pfa dependency on $(outdir)/mfplain.mem
1830
1831 1.3.75.mb1
1832 ==========
1833
1834 * stepmake/stepmake/metapost-rules.make: Put all generated files
1835   in mf/out/.
1836
1837 * Added paper variable interscoreline to determine the score line
1838   spacing, see input/test/vertical-extent.ly.
1839   Cleaned up the lilyponddefs.tex inclusion scheme.
1840
1841 1.3.75
1842 ======
1843
1844 1.3.74.gp1
1845 ==========
1846
1847 * Improved default handling of Lyric_phrasing_engraver and made it on by 
1848 default.
1849
1850 * Beginnings of a stanza number engraver (\property LyricVoice.stanza = 
1851 #"1:" etc.)
1852
1853 * fixed bug in script.cc so fermata (and other scripts) get flipped 
1854 correctly when they are above the staff.
1855
1856 1.3.74.jcn2
1857 ===========
1858
1859 * Reincluded simple code for including tfm.[1-5] into search path.
1860   Configure with --disable-kpathsea to enable this kludge.
1861
1862 1.3.74.jcn1
1863 ===========
1864
1865 * Updated input/test/banter-chords.ly German H/B example.
1866
1867 * Updated nl.po.
1868
1869 * Have configure check for kpathsea library and functions.  Made kpathsea
1870   support optional for now.
1871
1872 * Bugfix: halved width of tremolo-beams.
1873  
1874 * Included compilation fix for guile-1.3.4 (Anthony).
1875
1876 * Added: chord inversion and base to regtest.
1877
1878 * Fixed: Chord names that were broken by pl73.
1879
1880 * Fixed: Chord inversions that were broken by pl72.
1881
1882 * Resurrected ascii-script output, for debugging purposes.
1883
1884 * Included compilation fix for scm-hash.cc (Han-Wen).
1885
1886
1887 1.3.74
1888 ======
1889
1890 * Small bugfix: also do a deep copy on  submusices
1891
1892 * Fixed:  \autochange doesn't crash anymore.
1893
1894 * Cleanup, documentation and enforcement of smob interfaces in
1895 LilyPond.  We distinguish between SIMPLE_SMOBS and SMOBS (objects that
1896 have self_scm_)
1897
1898 * Glen Prideaux lyric phrasing engraver. See
1899 input/test/lyric-phrasing.ly
1900
1901 1.3.73
1902 ======
1903 * Removed \interscoreline after the last line, prevents some
1904 empty pages. (patch by Mats Bengtsson)
1905
1906 * Smobified Music, junked associated identifiers. Use Scheme list to
1907 store Music_sequence.  Removed const declarations from
1908 Music_iterators.  Added a mutable and immutable property list to
1909 Music.  Use music property for all Scheme values in Music.  Created
1910 and fixed a load of Garbage Collection bugs.
1911
1912 * Changed number font to allow automatic .mf creation.
1913
1914 * Output place of definition as \special{src:LOCATION}. See FAQ for
1915 explanation how to use.
1916
1917 * Schemified Local_key_item and fixed minor bug with accidentals.
1918
1919 * new Japanese .po file.
1920
1921 * Bugfix for broken tie direction
1922
1923 * Bugfix for bar at beginning of line break
1924
1925 1.3.72
1926 ======
1927
1928 * Robustness fix for minimise_least_squares ()
1929
1930 * cleanups of Slur_bezier_bow, removed Bezier_bow.
1931
1932 * cleanup of Tie. Changed Tie into interface. Made ties flatter by default.
1933
1934 * changed SCM_UNDEFINED to SCM_UNSPECIFIED for return values that go
1935 back into Scheme.
1936
1937 * changed SCM_UNSPECIFIED to SCM_EOL for undefined element
1938 properties. This makes initializing list properties redundant.
1939
1940 * removed idiotic code for including tfm.[1-5] into search path.
1941
1942 * fixed problem with tuplet placement for cross staff tuplets.
1943
1944 1.3.71
1945 ======
1946 * Small cleanups to bring down  compile time and binary ensmallment.
1947
1948 * Made Lookup into a smob, and use guile alist iso. an STL map.
1949
1950 * Changed repeated music semantics for relative octave: each
1951 alternative takes its inital octave from the body.
1952
1953 * Fixed: parser accepts booleans for property values as well.
1954
1955 * Added Scarlatti sonata test file to input/
1956
1957 * kpathsea support, courtesy Carsten Block <carsten.block@gmx.de> 
1958
1959 1.3.70
1960 ======
1961 * Fixed: long standing problem in optical-illusion code.
1962
1963 * Fixed: stop beam if stem *has* a beam in auto-beam-engraver. 
1964
1965 * Made interface of Multi_measure_rest, System_start_delimiter,
1966 Spacing_spanner, Separating_group_spanner, Beam, Slur and
1967 Rhythmic_head.
1968
1969 * Use properties for minimum distances and spring parameters.  Move
1970 spacing related functions from Paper_column into Spaceable_element.
1971
1972 * Removed most Paper_column typecasts.
1973
1974 1.3.69
1975 ======
1976
1977 * Cleanup auto-beam-engraver: use properties for retrieving timing
1978 information.
1979
1980 * Fixed: Multi measure rests don't cause crashes.
1981
1982 * Fixed: don't invoke Hara_kiri::consider_suicide too early.
1983
1984 * Fixed: property engraver.  
1985
1986 * Fixed: don't crash on multiple ties.
1987
1988 * Cleanups of Beam, should also be a little faster.  
1989
1990 * Reunite properties and pointers. In implementation we make a
1991 distinction between mutable and immutable properties
1992
1993 * Add {has|set}_interface () static methods to interface classes.
1994
1995 * Made Side_position_interface and Staff_symbol_interface an all
1996 statics class, and stripped _interface suffix.
1997
1998 * Make Align_interface and Axis_group_interface an all-statics class 
1999
2000 * Rhythmic_head, Staff_symbol, Grace_align_item, Break_align_item,
2001 Bar, Span_bar are now interfaces, Staff_bar was removed. Use a
2002 callback for determining barsize.
2003
2004 * Removed all GLUE_SCORE_ELEMENT callbacks. 
2005
2006 * Added test for repeats to trip.ly
2007
2008 1.3.68
2009 ======
2010
2011 * ly2dvi: changed back to original semantics of latexheaders.
2012
2013 * Stem_tremolo, Crescendo, Hara_kiri_group_spanner, Tuplet_spanner,
2014 Volta_spanner changed into interface.
2015
2016 * Related cleanups for Tie, Tie_column cleanups.
2017
2018 * Made Time_signature, Single_malt_grouping_item, Script_column,
2019 Chord_name, Dot_column, Breathing_sign, Key_item type into interface.
2020
2021 * Removed const declaration from callback arguments.
2022
2023 * Pagebreak support. See input/test/between-systems.ly
2024
2025 * Fixed a problem with accidentals in combination with
2026 non-nil key signatures.
2027
2028 1.3.67
2029 ======
2030
2031 * Use callbacks for augmentation dot positioning.
2032
2033 * Removed types Note_head and Rest
2034
2035 * Cleanup of slur.cc: use common reference points in a sane manner.
2036
2037 1.3.66
2038 ======
2039
2040 * Corrected text sizes in paper*.ly (Mats Bengtsson)
2041
2042 1.3.65.uu1
2043 ==========
2044
2045 * Dots, Collision, Rest_collision removed as separate Score_element type.
2046
2047 * Stem and Note_column accept only one rest.
2048
2049 * Use offset callback in Stem to resolve rest/beam collisions.
2050
2051 * Put the value of new  local key signature (accidentals) back into a property.
2052
2053 * Set molecule-callback for notename item.
2054
2055 1.3.65.jcn2
2056 ===========
2057
2058 * Added some comments to new slur code.
2059
2060 * Removed some ugly interstaff slur code, interstaff slurs at line-break
2061   are still broken.
2062
2063 * Slur bugfix: 16th beams are also beams.
2064
2065
2066 1.3.65
2067 ======
2068
2069 * Bugfix: translate volta spanner at start of line.
2070
2071 * Changed directional_element() calls to instantiations
2072 of Directional_element_interface.
2073
2074 * Removed Dynamic_line_spanner, and cleaned up Dynamic_engraver.
2075
2076 * Removed Staff_info type. Information about columns is now transferred
2077 via currentMusicalColumn and currentCommandColumn.
2078
2079
2080 1.3.64.jcn2
2081 ============
2082
2083 * Made slur attachment position user settable; properties:
2084 slurBeginAttachment slurEndAttachment, values: 'head 'stem
2085 'along-side-stem.  See input/test/slur-attachment.ly and ophee-slurs.ly.
2086
2087 * Fixed slur attachment positions, added missing rule and use simple
2088 default starting positions for attachments.
2089
2090 * Started rewrite of slur ending code, interstaff slurs are broken for
2091 now.
2092
2093 * Fixed download URL of the webpage.
2094
2095 * Moved direction.cc to flower/.
2096
2097 1.3.64
2098 ======
2099
2100 * Lyrics centered on notehead.
2101
2102 * Various bugfixes hyphen-spanner.
2103
2104 * Bugfix: set appropriate callbacks for Note_head. This fixes 
2105 problems with dots.
2106
2107 * Removed Clef_item as score-element derived type.
2108
2109 * Updated config.sub and config.guess
2110
2111 * Bugfix: allow linebreaks on beamed grace notes.
2112
2113 1.3.61.jcn2
2114 ===========
2115
2116 * Included dutch po-update based on submitted 1.3.57 nl.po
2117
2118 * Added "Development" link to website, now that "Home" is a relative link.
2119
2120 * Bugfix: use deep copies for resetting keys.
2121
2122 * Assorted typing erors in procedure names in ly/engraver.ly
2123
2124 1.3.62
2125 ======
2126
2127 * Made callbacks from Score_element::before_line_breaking() and
2128 Score_element::after_line_breaking()
2129
2130 * Fixed website; backlinks should work again.
2131
2132 * Removed --ignore-version option. Added --verbose option.
2133
2134 1.3.61
2135 ======
2136
2137 * Webpage hacking
2138
2139 1.3.60.hwn1
2140 ===========
2141
2142 * Junk int_identifier, real_identifier. Merged Midi_def_identifier and
2143 Paper_def_identifier.
2144
2145 * Fixed bug with spanning barlines in combination with Hara-Kiri staffs.
2146
2147 * Cleaned up Text_item, Hyphen_spanner, Lyric_extender and
2148 Sustain_pedal and reduced them to an Score_element interface (they are
2149 no longer Score_element derived types).
2150
2151 * Some instances of brew_molecule routines have moved out of
2152 Score_element, and are now called scheme_molecule.
2153
2154 * Moved lots of parameters from ly/params.ly to ly/engraver.ly
2155
2156 1.3.59.hwn1
2157 ===========
2158
2159 * Removed String_identifier, and use the type system of GUILE instead.
2160
2161 * Fixed \key PITCH MODALITY syntax. The modality argument is now
2162 mandatory, a rule in convert-mudela has been added.
2163
2164 * Cleaned up  buildscripts/ directory: removed obsolete scripts.
2165
2166 * Use Scheme_hash_table for identifier Scopes.  Scheme_hash_table is
2167 based on STL and should be faster than hash_table.
2168
2169
2170 1.3.59.jcn1
2171 ===========
2172
2173 * Fixed scm_un/protect_object for guile-1.3.4 and 1.3.5 snapshots,
2174   in the process reduced number of protect/unprotect calls.  With
2175   guile-1.3.5 snapshot, memory usage has decreased by 1/5th, now
2176   just 10% above the 1.2 level.  Also, Lily's a bit faster.
2177
2178 * Fixed make diff bug in stepmake to be able to make this diff :-)
2179
2180 1.3.58.hwn1
2181 ===========
2182
2183 * Rewrote key sig support.  Now key signature can also be controlled
2184 by setting keySignature and localKeySignature properties, eg.
2185
2186         \property keySignature = #'((2 . -1) ( 4 . -1) (6 . -1))
2187
2188 sets a key signature of `es ges bes' (an unusual key signature).
2189
2190 Keys are internally represented as transpositions of the c-major
2191 scale. Printing the key signature for a scale is done by filtering out
2192 all non-natural accidentals.
2193
2194 * Removed support for \keysignature, and \key something \minor; Newkey
2195 is now obsolete.
2196
2197 1.3.58.jcn3
2198 ===========
2199
2200 * Fixed pedal items (hw)
2201
2202 * Changed configure option tex-tmfdir to tmf-path now accepting multiple
2203   tfm directories.  Automated links to cmr and amstex tfm font directories.
2204
2205 * Replaced one scm_assoc () u-turn slipped through jcn1
2206
2207 * various GUILE 1.3.5 compile fixes
2208
2209 * Added `Ped' as a compound symbol font and removed silly scheme kerning.
2210
2211 * Replaced some scheme assoc u-turns with scm_assoc ()
2212
2213 * Ran po-update (mostly because of new ja contribution).
2214
2215 1.3.57.jcn2
2216 ===========
2217
2218 * Cleaned-up scheme list to text conversion for Chord_name and 
2219 fixed horizontal kerning.
2220
2221 * Added examples for american (slashed o) and jazz (black triangle),
2222   see input/test/{american-chords.ly,jazz-chords.ly}
2223
2224 * Made guile-1.3.5 compile fixes
2225
2226 1.3.57.uu1
2227 ==========
2228
2229 * Fixed typo in Dots::do_brew_molecule (); this fixes the disappearing
2230 dots problem.
2231
2232 * Rewrote key signature administration; now Scheme is used; Octave and
2233 Key have been junked in favor of Newkey.
2234
2235 * japanese .po file included (thanks, Japanese team!)
2236
2237 1.3.57
2238 ======
2239
2240 * Fixed several forgotten molecule-callbacks 
2241
2242 * Fixed first clef in score; now F clefs are also possible.
2243
2244 1.3.56.mb1
2245 =========
2246  
2247 * Updated FAQ with two useful GDB macros.
2248
2249 * Several fixes in the documentation.
2250
2251 1.3.55.jcn1
2252 ===========
2253
2254 * Made (dutch) po-update
2255
2256 1.3.56
2257 ===========
2258
2259 * Molecules are now generated via callbacks exclusively; most calls to
2260 set_elt_property ("transparent", SCM_BOOL_T) have been replaced by suicide().
2261
2262 1.3.55
2263 ======
2264
2265 * Experimental property collapse for most score-elements.  (notable
2266 exceptions: Scripts, pedals). Change all Score_element constructors to
2267 take a basic-property list. The suffix of a property list may be
2268 shared by several score-elements, for instance all default G-clefs in
2269 a score share the following settings
2270   
2271            (breakable . #t)
2272            (break-align-symbol . Clef_item)
2273            (visibility-lambda . ,begin-of-line-visible) 
2274
2275 This should reduce memory usage further. 
2276
2277 * Magically fixed the disappearing Lyrics problem.
2278
2279 * Removed used_b_ field from Score_element.  
2280
2281 * Massive search-replace patch: store pointers and properties
2282 separately, in preparation of property collapse.
2283
2284
2285 1.3.54
2286 ======
2287
2288 * Bugfix: don't crash on tuplet spanners that don't contain any notes.
2289
2290 * Cleanup of Dimension_cache: removed a few redundant
2291 fields. Slightly lower memory usage (32 bytes per
2292 score-element). Dimension_cache is now a `dumb' struct again.
2293
2294 * Add array index to priority field of text scripts to ensure that
2295 order is unique, and sensible.
2296
2297 * Added an element count statistic.
2298
2299 1.3.53
2300 ======
2301
2302 * russian.po (thank you, August.)
2303
2304 * Small cleanups in Molecule interface 
2305
2306 * Spacing related elements perform suicide after calculating
2307 distances.  This saves a some memory, approximately 2 to 5 % ?
2308
2309 * Small cleanups in line breaking: Paper_column stores springs and
2310 rods in only one place now.  All fields relating to energy have been
2311 removed
2312
2313 * Don't generate all output Scheme in memory, but evaluate to output
2314 file immediately.  This will reduce memory usage a little.
2315
2316 * Use STL's map  for Dictionary template
2317
2318 * Substitute pointers on element properties of the root Line_of_score
2319 as well.
2320
2321 * Added toplevel doc target, to support building doc with --srcdir
2322
2323 * Removed cygwin build stuff; updated versions at:
2324
2325      http://appel.dyndns.org/lilypond/gnu-windows/cross
2326
2327 * Fixed lily.scm to handle incipits (thanks, Mats)
2328
2329
2330 1.3.52
2331 ======
2332
2333 * Made bugfix in smob handling: delete the C-part of freed smobs and
2334 be honest about amount of allocation and deletion, so that GUILE
2335 doesn't overestimate the amount of memory available.
2336
2337 * Faq update: nicer blank note paper, courtesy Mats Bengtsson.
2338
2339 * Bugfix: don't crash on durations that are not a power of 2.
2340
2341 * Build manpages during `make all' 
2342  
2343 * Bugfix: don't do absolute comparisons in Polynomial::clean ().
2344
2345 * Bugfix: set visibility-lambda for key signature created by
2346 createKeyOnClefChange. Fixes disappearing key signatures. 
2347
2348 * Bugfix: make System_start_delimiter of bar-line type invisible when
2349 it spans only one staff.
2350
2351 1.3.51
2352 ======
2353
2354 * Item cleanups.  Copying items and rearranging pointers are done in
2355 separate passes, which makes the code cleaner. This fixes a problem
2356 with some items not disappearing from hara-kiri staffs.
2357
2358 * Use Scheme for Key_item data members. 
2359
2360 * Don't use regex in chord-names.scm under windows; hybrid chordnames
2361 user+calculated will be partly broken.
2362
2363 1.3.50
2364 ======
2365
2366 * Junked Shift_tuple from collision; Now it uses SCM.
2367
2368 * Bugfix of documentation and test-file of tuplet.
2369
2370 * Bugfix type string of repeated music is copied. This fixes declared
2371 tremolos.
2372
2373 * Junked various cruft from lily.scm
2374
2375 * Use interfaces symbols instead of C++ class-name for assigning generic
2376 element properties.
2377
2378 * Junked Dictionary from Piano_pedal_engraver and
2379 Piano_pedal_performer.
2380
2381 * Introduced boolean element property no-spacing-rods: ignore this
2382 item for hard constraints.
2383
2384 * Bugfix: added sanitised TeX fragment in faq.texi
2385
2386 * Bugfix: merge equal Bar_reqs
2387
2388 1.3.48.uu1
2389 ==========
2390
2391 * Small fixes for \cresc and \endcresc
2392
2393 * Release properties of unbroken spanners & items after doing
2394 handle_broken_smobs (); should conserve a little memory.
2395
2396 * Fixed handling of orphaned score-elements. Any element that does
2397 not have its Line_of_score as a ancestor in both directions, is silently
2398 removed from the output.  This guarantees that programming errors
2399 don't result in coredumps from Dimension_cache::common_refpoint ():
2400 element->line_l () is always a common reference point.
2401
2402 * Bugfix: set visibility-lambda of clef and octavation-8 explicitly
2403 for default case.  Now the octavation 8 is not printed at every
2404 barline.
2405
2406 1.3.48.mb1
2407 ===========
2408
2409 * Changed noteHeadStyle properties to symbols, for example
2410   \property Voice.noteHeadStyle = #'cross
2411
2412 1.3.47.jcn3
2413 ===========
2414
2415 * Rewrite of chord-name production in scheme.  There are two major styles
2416   now, banter and american.  To get american style, use
2417
2418       \property ChordNames.chordNameStyle = "american"
2419  
2420   Most anything should be possible now.  See input/test/american-chords.ly
2421
2422 * Added isinf check to configure.in, and isinf macro from guile to
2423   bezier.cc; solaris has no isinf ().
2424
2425 * Fixed star-spangled-banner with not-so-nice \bar "|." fix.  Almost
2426   perfect now.
2427
2428 * Added output property to regression test.
2429
2430 * Fixed warning of creating existing outdir.
2431
2432 * Added `Mark' interface to text-items that are marks (thanks, HW).
2433
2434 1.3.48
2435 ======
2436 1.3.47.mb2
2437 ===========
2438
2439 * Corrected glossary.tely
2440
2441 * Corrected \mark font handling. feta-nummer font only of the 
2442   string is all numeric.
2443
2444 * Implemented noteHeadStyle lookup in Guile. Reintroduced the style
2445   "harmonic" and added "baroque" (normal note shapes except for 
2446   brevis and longa which are square).
2447
2448 * Simplified ly2dvi using the power of the geometry package.
2449
2450 * Improved heuristic size calculation of TeX macros. Handles e.g.
2451   "\\u{a}", "\\"{o}" and "\\^{u}" correctly.
2452
2453 1.3.47.hwn1
2454 ===========
2455
2456 * Bugfix: don't hang on zero-duration.
2457
2458 * Various glossary updates (thanks, Christian)
2459
2460 1.3.47
2461 ======
2462
2463 1.3.46.jcn2
2464 ===========
2465
2466 * Drastically reduced vertical space used by headers/footers, when using
2467   ly2dvi.  See input/test/fill-a4.ly.
2468
2469 * Fixed bug with colons appearing on repeat span-bars.
2470
2471 * Added Bar_number_engraver to standard Score context
2472
2473 * Construct octavation scripts in the clef-engraver; this fixes the
2474 hara-kiri + clef8 problem
2475
2476 1.3.46
2477 ======
2478
2479 1.3.45.jcn2
2480 ===========
2481
2482 * Fixed chord-name customisation and made small chord-name build fixes.
2483
2484 * Accidentals with chord-names smaller and as superscript.
2485
2486 * Do some extra footify (works only once) while making html docs.  
2487
2488 1.3.45.hwn1
2489 ===========
2490
2491 * Debian patch (Thanks Anthony)
2492
2493 * Rewrote Bar_number_engraver and Mark_engraver and removed
2494 Bar_script_engraver as baseclass. Both Bar_number_engraver and
2495 Mark_engraver are simpler and more robust.
2496
2497 * Fixed precedence of \property verticalDirection and dynamicDirection
2498
2499 * Fixed keys without barlines 
2500
2501 * Fixed StaffGroups: removing `\consistsend "Axis_group_engraver"'
2502 puts alignment in function again
2503
2504 * Fixed StaffGroup + GrandStaff combination.
2505
2506 * Music is now mandatory as the first thing in a \score{} block
2507
2508 1.3.45
2509 ======
2510 1.3.44.jcn2
2511 ===========
2512
2513 * Implemented una-chorda and sostenuto piano pedals in performer and engraver.
2514
2515 * Added Properties textScriptWordSpace and chordNameWordSpace.
2516
2517 * Junked old lyrics in star-spangled-banner.
2518
2519 * Added a Piano_pedal_engraver.
2520
2521 * Removed some empty files.
2522
2523 * Created piano pedal symbols: * - . P e d.
2524
2525 * Fixed ps-to-pfa.py to handle multiple unfills.
2526
2527 * Moved accordion symbols out of feta-script to end of font.
2528
2529 * Bugfix: don't create tfm's, pfa's etc of feta-test fonts.
2530
2531 * Fixed blot_diameter for small resolutions.
2532
2533 1.3.43
2534 ======
2535
2536 * Put global element list into Line_of_score, instead of
2537 Paper_score. post processing (the stage after line breaking) is now
2538 truly done per-system, and we got rid of an ugly hack to get font
2539 handling OK.
2540
2541 * Bugfix: set the group-interface of System_start_delimiter.
2542
2543 * Cleanups of Break_algorithm and derived classes, Move
2544 broken_col_range () to Line_of_score, remove Paper_score::col_l_arr_
2545
2546 * Bugfix for accordion symbols.
2547
2548 * Various patches to prevent crashing when do_brew_molecule gets
2549 called before after_line_breaking (). This was a problem in Spanner
2550 classes mostly.
2551
2552 1.3.43
2553 ======
2554
2555 1.3.42.jcn3
2556 ===========
2557
2558 * Made a quick try at piano pedal performer, damper pedal only.
2559
2560 * mf/feta-accordion.mf: Fixed strange turning paths.
2561
2562 * mf/feta-beugel.mf: Fixed infinity errors.
2563
2564 * Use a more discriptive name for windows setup.zip.
2565
2566 * mf/GNUmakefile: Have logs as last target, so that normally, they're 
2567 not made twice.
2568
2569 * stepmake/stepmake/metafont-rules.make: Don't remove the .log files.
2570 The logs are a target, removing them retriggers make.
2571
2572 * stepmake/stepmake/metapost-rules.make: Remove the correct log and tfm
2573 files, ie the ones that clutter the source directory, not the target logs.
2574
2575 * Windows distribution: faked symlink for cmtfm.  Setup.zip should now be
2576 standalone; ie, no need for Cygnus' usertools anymore.
2577
2578 1.3.42.jbr1
2579 ===========
2580   
2581 * Documentation/ntweb: Updated angels.ly to match current syntax.
2582 Also updated index.texi.
2583
2584 1.3.42.uu1
2585 ==========
2586
2587 * Change all occurances of Staff_margin_engraver to
2588 Instrument_name_engraver, add a convert-mudela rule
2589
2590 * Change status == busy assert into programming error
2591
2592 1.3.42
2593 ======
2594
2595 1.3.41.jcn3
2596 ===========
2597
2598 * Lots of fixes to windows distribution scripts.
2599
2600 * Added configuration features --program-prefix, --program suffix.
2601
2602 * lily/my-lily-parser.cc (get_chord): Bugfix, don't use deleted pitch.
2603 This fixes inversions c/g and bass additions d/+c on chords.
2604
2605 1.3.41.mb1
2606 ==========
2607
2608 * Avoid that xxxXXXVerticalExtent is used for empty HaraKiriStaff
2609   lines.
2610
2611 1.3.41.hwn1
2612 ===========
2613
2614 * Debian patches (thanks Anthony!)
2615
2616 * Use symbols for prefatory matter spacing. Do not use the typename
2617 for looking up item pairs in the table, but read element property
2618 break-align-symbol
2619
2620 * Instrument_name_engraver, uses break alignment instead of
2621 side-position.
2622
2623 * System_start_delimiter_engraver, System_start_delimiter, uses a
2624 spanner for the braces/brackets at the left of the system. Remove all
2625 old Span_score_bar engravers.
2626
2627 * Removed Base_span_bar_engraver::use_prority_b_, and moved
2628 Base_span_bar_engraver into Span_bar_engraver.
2629
2630 1.3.40.jcn3
2631 ===========
2632
2633 * mutopia/Coriolan/violino-2.ly: Bugfix: wrong pitch.
2634
2635 * input/test: Removed stale AutoStaffSwitch examples.
2636
2637 * mutopia/E.Satie: Fixed gnossiene-4, doing \autochange.  Removed
2638 stale copy of gnossiene-4.
2639
2640 * buildscripts/make-cygwin-cross.sh: Made some small .zip package fixes.
2641
2642 * make/lilypond.spec.in: Made some bugfixes for _prefix, preparations
2643 for cross-building to Cygwin.
2644
2645 * buildscripts/make-cygwin-cross.sh: Now using rpm packages.
2646
2647 1.3.40.hwn2
2648 ===========
2649
2650 * added \property XXXMinimumVerticalExtent, \property XXXExtraVerticalExtent
2651
2652 * New_chord_tremolo_engraver: make tremolo beams from
2653
2654         \repeat "tremolo" NUMBER <Music-expression>
2655
2656 Removed support for "old-style" tremolos.
2657
2658 * Add a convert-mudela function for the conversion "\key A;" to "\key a; 
2659
2660 * Read \property measurePosition within the engraver code, instead of
2661 looking up the Timing_translator.
2662
2663 * star-spangled-banner.ly: add Bar_engraver to LyricsVoice 
2664
2665 * Changed all .fly and .sly files to .ly files.  Propose to dump .fly
2666 and .sly.
2667
2668 1.3.40
2669 ======
2670
2671 1.3.39.jbr1
2672 ===========
2673
2674 * buildscripts/mf-to-table.py: feta dep files are now opened with write
2675   binary option.  This avoids carriage return linefeed problems and
2676   windows while not affecting unix.
2677
2678 * Documentation/hacking.texi: Fixed a texinfo syntax error
2679
2680 * stepmake/bin/package-zip32.sh: Fixed or Removed some legacy, 1.2.x,
2681   directory paths.
2682
2683 * Documentation/ntweb/index.texi: Fixed broken links, added 1.3.39 links.
2684
2685 1.3.39.hwn1
2686 ===========
2687
2688 * Glossary updates by Christian Mondrup.
2689
2690 * Bugfix: use generic properties in lyrics too. This fixes the
2691 \property textStyle for lyrics.
2692
2693 * Score_element::preset_extent(), used by \property
2694 XXXVerticalExtent, so hard code the size of a vertical group. 
2695
2696 * Don't fix up reference points for originals of broken
2697 spanners. Fixes spurious "orphaned score-element" warnings.
2698
2699 * buildscripts/make-cygwin-cross.sh: Use rx-1.5 instead of regex (Jeffrey).
2700
2701 * scm/lily.scm: Fixed check for Windows: by default don't use scm regex.
2702
2703 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: Significantly smaller
2704 patch for guile.
2705
2706 * buildscripts/make-cygwin-cross.sh: Compile native package GNU regex,
2707 which should fix Windows problems with guile.  Also added input directory
2708 to zip file.
2709
2710 * stepmake/aclocal.m4: Added decent checking for version of guile, and 
2711 fixed warning message.
2712
2713 * lily/lexer.ll (My_lily_lexer): Bugfix: lookup chordmodifiers in the
2714 chord-modifier table (not in the pitch list).
2715
2716 1.3.39
2717 ======
2718
2719 1.3.38.hwn2
2720 ===========
2721
2722 * General cleanups of My_lily_parser. 
2723
2724 * Start of a Chord_tremolo_iterator for the `\repeat 4 "tremolo"'
2725 syntax.
2726
2727 * Moved Score_element::do_space_processing out of the dependency
2728 mechanism.
2729
2730 * Use Scheme for notename tables.  Removed uppercase letters for low
2731 octave notes. Removed Notename_table.
2732
2733 * Fixed core dump with declared "\key  ; "
2734
2735 * Extra robustness warning for Side_position_interface::aligned_on_self ()
2736
2737 * Extra robustness: make sure that first and last columns are breakable.
2738         
2739 1.3.38.jcn4
2740 ===========
2741
2742 * stepmake/aclocal.m4: Added support for cross-compiling with guile.
2743
2744 * buildscripts/make-cygwin-cross.sh: A try at dropping cygwin1.dll
2745  dependency by using mingw.  Compiling guile is too much to ask
2746  for mingw, though.  Also:
2747  - rename python scripts .py (request from Alain)
2748  - install native packages under their own, separate root. (Alain)
2749
2750 * lily.scm: Don't use regex module when running on
2751 Windows. (Shamus)
2752
2753 * lily/staff-margin-engraver.cc (acknowledge_element): If
2754 possible, hang y-axis of margin script to span-bar.  This fixes
2755 vertical placement of margin scripts attached to staff groups.
2756
2757 * help2man-rules.make: Fixes for generating manpages by copying
2758 and for building using --scrdir.
2759
2760 * stepmake/stepmake/generic-targets.make: Preserve date stamp of
2761 config.h, version.hh files file when copying.
2762
2763 * buildscripts/make-cygwin-cross.sh: made number of fixes:
2764         - add `Cygnus/' prefix to directories in .zip-file too.
2765         - package guile too.
2766         - don't link to cygwin1.dll
2767
2768 * stepmake/stepmake/install-targets.make: bugfix, don't fail if directory
2769   is not emty when uninstalling.
2770         
2771 * stepmake/stepmake/generic-targets.make: added man target.
2772
2773 * buildscripts/make-cygwin-cross.sh: new script for cross-building cygwin
2774   development tools and lilypond executable.
2775
2776 * Documentation/ntweb/lilypond-manpages.patch: provide pre-built
2777   manpages, so that make doesn't fail on help2man trying to execute
2778   a GNU/windows executable.     
2779
2780 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: new patch for
2781   guile-1.3.4.  
2782
2783 * flower/libc-extension.cc (memmem): cygwin compile fix.
2784
2785 1.3.38
2786 ======
2787
2788 1.3.37.hwn1
2789 ===========
2790
2791 * (generic-property.scm) added \property tieDash to set dashing on
2792 ties.
2793
2794 * Removed  ly_eval_str(), we should use scm_eval (Scm_object).
2795
2796 * Removed scm_to_array (), array_to_scm (), associated junk. Reverted
2797 undocumented .29 patch that made Bezier::control_ into an
2798 Array<Offset>.  Added some comments documenting the reasons for the
2799 changes.
2800
2801 * Revert generic-property.scm of .37 fix, fix the real problem in
2802 property-engraver.cc: use the right symbol to check if element
2803 property is already set.
2804
2805 1.3.37.jcn2
2806 ===========
2807
2808 * Fixed srcdir build, so that you can do:
2809
2810       tar xzf releases/lilypond-x.y.z
2811       mkdir <build>
2812       cd <build>
2813       ../lilypond-x.y.z/configure
2814       make
2815
2816   as with any other gnu package.  All build output goes to <build>/out.
2817
2818 * Changed and fixed use of different configurations, and different output
2819   directories.  Finally, you can use different configurations alongside
2820   eachother.  From make/stepmake.make:
2821
2822       # Use alternate configurations alongside eachother:
2823       #
2824       #     ./configure --enable-config=debug
2825       #     make conf=debug
2826       #
2827       # uses config-debug.make and config-debug.h; output goes to out-debug.
2828       #
2829
2830       # Use same configuration, but different output directory:
2831       #
2832       #     make out=www
2833       #
2834       # uses config.make and config.h; output goes to out-www.
2835       #
2836
2837
2838 * Fixed performance of (de)crescendi.
2839
2840 * Better documentation for arithmetic_multiplier and arithmetic_basicspace
2841   in params.ly.
2842
2843 * Added instrument-equaliser for MIDI output, see scm/midi.scm, and
2844   properties midiMinimumVolume, midiMaximumVolume, ranges [0,1].
2845
2846 * Changed absolute midi volume settings into factor of full scale.
2847
2848 * Fixed another dynamic-line-spanner bug, it gets hairy.
2849
2850 * Added warning for spanners that are not fully contained in parent spanner.
2851
2852
2853 1.3.37
2854 ======
2855 1.3.36.hwn1
2856 ===========
2857
2858 * Abstract Align_element into Align_interface. Removed
2859 Axis_align_{item,spanner}, Align_element, Super_element, all multiple
2860 inheritance in the backend.
2861
2862 * new Gade score, INSTALL.texi fixes (thanks, Mats)
2863
2864 * Removed Item::hpos_f (), Score_element::{get,set}_real ()
2865
2866 * comments detailing properties for Axis_group_interface,
2867 Side_position_interface, Score_element, Item and Spanner
2868
2869 1.3.36.jcn3
2870 ===========
2871
2872 * Fixed vertical dimensions of elements in dynamic line spanner by adding
2873   axis-group to dynamic line spanner.
2874
2875 * Bugfix: line-spanner lasts always full duration of (de)crescendi.
2876
2877 * Bugfix: broken (de)crescendi on a dynamic-line-spanner.
2878
2879 * Bugfix: compilation dynamic-engraver.
2880
2881 * Added and updated a faq about postscript and ghostscript.
2882
2883 * Fixed order of slurVerticalDirection verticalDirection in
2884   generic-property.scm.  Similar fixes for Stem, Tie, etc.
2885
2886 * Added a Text_engraver to GraceContext.  Maybe it was removed on
2887   purpose: scripts on grace notes seem broken, they appear on the
2888   main note.
2889
2890 * Bugfix: volume effect of (de)crescendi was sometimes wrong way round.
2891
2892 1.3.36
2893 ======
2894 1.3.35.hwn1
2895 ===========
2896
2897 * textEmptyDimension changed into textNonEmpty, default: off,
2898 ie. texts don't occupy space.
2899
2900 * Use STL map for Lookup::lookup_p_tab_p_
2901
2902 * Abstracted Axis_group_element into Axis_group_interface, and removed
2903 Axis_group_element. This eliminates some multiple inheritance in the
2904 backend
2905
2906 1.3.35.jcn1
2907 ===========
2908
2909 * Added minimum-space property to Side_position_interface.  Used in
2910   positioning of Volta_spanner: voltaMinimumSpace.
2911
2912 * Fixed and cleaned-up volta-spanner.
2913
2914 * Moved directional-element.cc -> directional-element-interface.cc
2915
2916 * Renamed all `process_requests' to `process_music', which fixes
2917   midi performance.
2918
2919 * Fixed dimensions (more x-y interchanges) of brace, bracket and
2920   volta-spanner.
2921
2922 * Half-assed fix to get similar vertical placement of orphaned vs.
2923   line-spanned dynamic elements.
2924
2925 * Added property bracketCollapseHeight: the minimal size of a staff bracket
2926   that will be typeset.  Smaller brackets will not be displayed.  This
2927   fixes the (in 1.3.x reintroduced) funny duck-beak-bracket-bug (sorry).
2928
2929 * Removed some dissonant chords from Coriolan
2930
2931 1.3.35
2932 ======
2933
2934 * Removed Documentation/programmer directory 
2935
2936 1.3.34.jcn3
2937 ===========
2938
2939 * Small enhancements to Staff_margin_engraver:
2940    - by default, the marginScript left aligns the text
2941    - to set the text style, use property marginScriptTextStyle
2942    - to change the alignment, use property marginScriptHorizontalAlignment
2943      (centred and right alignment require manual padding settings).
2944
2945 * Print a friendly message if the manual pages failed to build.
2946
2947 * Bugfix: dynamicDirection now overrides verticalDirection setting.
2948
2949 * Warning messages and nl.po
2950
2951 * Fixed vertical alignment for all dynamic items and (reluctantly)
2952   reinstated old directional behaviour for orphaned dynamics.
2953
2954 * Finished maximumRestCount property.
2955
2956 1.3.34
2957 ======
2958 1.3.33.hwn2
2959 ===========
2960
2961 * Print key without setting key, syntax "\key ;". General cleanups of
2962 key-item.
2963
2964 * Add paragraph tags in HTML output of mudela-book.  Music fragment
2965 don't run into the text anymore.
2966
2967 * Bugfix: don't align the first line of text. (Lookup::text ()).
2968
2969 * Abstract away data members of Axis_group_element, Align_element
2970
2971
2972 1.3.33.jcn3
2973 ===========
2974
2975 * Added helpful properties instrumentScriptPadding/instrScriptPadding for
2976   Staff_margin_engraver.
2977
2978 * Removed some empty files, substituted (c) 1999 occurrences.
2979
2980 * Added \property maximumRestCount.  It will prevent showing (or actually:
2981   moving in case of a collision) more than maximumRestCount similar rests.
2982   WIP!
2983
2984 * Rewrote Staff_margin_engraver.  Staff margin texts now hang on a new
2985   breakable item: Left_edge_item.
2986
2987 * Fixed vertical alignment for dynamic elements.  Orphaned dynamic items
2988   (not supported by a Dynamic_line_spanner) still collide with Staff,
2989   although they now have staff support, which was supposed to fix this.
2990
2991 * Fixed Staff_margin_engraver for "instrument", "instr" is still broken.
2992
2993 * Dynamic elements are only put in a Dynamic_line_spanner if there
2994   actually is more than one adjacent note-column with a dynamic.
2995   This breaks the fine looks of all dynamics, again :-)
2996
2997
2998
2999
3000 1.3.33
3001 ======
3002
3003 1.3.32.hwn3
3004 ===========
3005
3006 * Experiment: use STL map for Scheme_hash_table; Is there a speedup?
3007
3008 * Bugfix: print brace iso. bracket for Piano / GrandStaff
3009
3010 * Change naming: change do_post_processsing into after_line_breaking,
3011 do_pre_processsing into before_line_breaking and do_process_requests
3012 into do_process_music.
3013
3014 * Bugfix in hash-table.hh: do quadratic probing, and not cubic probing.
3015
3016 * Display property name for type error.
3017
3018 * Cleanups for Dynamic_engraver and Dynamic_line_spanner.
3019
3020 * Warn if last column in score is musical. Helps catch programming errors.
3021
3022 * Spanner::spanned_drul_ now is private. 
3023
3024 * Rewrote some bar code: moved molecule functions out of Lookup.
3025
3026 1.3.32.jcn3
3027 ===========
3028
3029 * Embedded newlines in text items are now allowed.  This helps avoiding
3030   TeX-hacking in some cases.  See input/test/coriolan-margin.ly
3031
3032 * Fixed stupid x-y interchange bug for staff-bracket.  This fixes
3033   placement of staff-brackets.
3034
3035 * Fixed bracket/arch-thickness interchange bug, and made bracket a bit
3036   thinner.
3037
3038 * Fixed slur/bezier-beautiful name mismatch.  This should fix the steep
3039   slurs that were apparently reintroduced in 1.3.29.
3040
3041 * Made some small fixes to Coriolan.
3042
3043 * Removed duplicate lily/output-property-engraver.hh.
3044
3045 * Removed optional use of vanilla spanner in Dynamic_engraver.
3046
3047 * Fixed (measured) tremolo for Stem and Beam. Merged declarations
3048   stem-engraver.hh and chord-tremolo-engraver.hh into their .cc
3049   implementation file.  Also fixed looks of Chord tremolo, input and
3050   implementation is still ugly.
3051
3052 * Added *.yy and *.ll to TAGS, to that tags-find-replace doesn't omit
3053   parser and lexer.
3054
3055 1.3.31.mb1
3056 =========
3057
3058 * Fixed \specialkey and \normalkey. Updated documentation.
3059
3060 1.3.32
3061 ======
3062 1.3.31.jcn5
3063 ===========
3064
3065 * Fixed and cleaned-up Dynamic_engraver.  Optionionally uses vanilla
3066   spanner instead of Dynamic_line_spanner.
3067
3068 * Made gcc-2.95 compile fix in libc-extension.
3069
3070 * Various fixes to Coriolan, score starts to look acceptable.
3071
3072 * Moved optional text of crescendo into Crescendo spanner.  Fixed horizontal
3073   and vertical alignment of dynamics.
3074
3075 * Added new text crescendo spanners to Coriolan and made some fixes.
3076   If you're using timidity, use the -EO option to prevent notes get
3077   stuck.  I'm not sure whose fault this is, Lily's MIDI output may be
3078   stretching the standard a bit.
3079
3080 * Adjacent dynamic markings are now grouped on a horizontal line, but it's
3081   not perfect yet: they're always below the staff and no horizontal spacing
3082   is done.  Also, character metrics of dynamics are still not used.
3083   See: input/test/crescendi.ly and input/test/dyn-line.ly
3084
3085 * Cleaned up Span_dynamic_performer.
3086
3087 1.3.31
3088 ======
3089 1.3.30.mb1
3090 =========
3091
3092 * Fixed the page layout, reintroducing space for the header and
3093   trying to keep piece titles on the same page as the piece.
3094   The header and footer can now contain several lines.
3095
3096 1.3.30.jcn3
3097 ===========
3098
3099 * Lily now also performs crescendi and decrescendi in MIDI output:
3100   Span_dynamic_performer in a slightly crappy way.
3101
3102 * Added preliminary support for crescendi/decrescendi other than `hairpins',
3103   eg: `cresc. poco `a poco -- -- --'
3104
3105 * Made MIDI tie performance fix.
3106
3107 1.3.30.jcn2
3108 ===========
3109
3110 * Lily now performs absolute dynamics in MIDI output.
3111
3112 * Included David's comments on opus47 in TODO.
3113
3114 1.3.30.jcn1
3115 ===========
3116
3117 * More Coriolan: flute-1,2; oboe-1,2; clarinet-1,2; 
3118   fixes and remainder french horn-1,2; trombone-1,2;
3119   fagotto-1,2; timpani; and several fixes.
3120   
3121 1.3.30.uu1
3122 ==========
3123
3124 * Remove some old doco from programmer/ and put on personal homepage.
3125
3126 * Removed union-find from flower library.
3127
3128 * Only quantise tie horizontal part inside the staff.
3129
3130 1.3.30
3131 ======
3132 1.3.29.hwn1
3133 ===========
3134
3135 * Report type errors for \property. Helps with converting 1.2 input
3136
3137 * Use Scheme for Align_element; fixed graceAlignPosition 
3138 and removed \property alignmentReference in the process.
3139
3140 * Use generic properties for lyrics too.  This fixes \property
3141 Lyrics.textStyle
3142
3143
3144 * Add relative distance for constraints between non-column items.
3145
3146 * Automatic \marks: use "\mark ; ". The mark numbers or letters are
3147 increased automatically.
3148
3149 * Translators now only change properties of their own context. This
3150 removes the 2nd argument to Translator::get_property()
3151
3152 * Bugfix for Metapost mode
3153
3154 1.3.29.uu1
3155 ==========
3156
3157 * Updates of glossary  (Christian Mondrup)
3158
3159 * Bugfix with bar number placement
3160
3161 * Moved links to bibliography/ and misc/ to main index.
3162
3163 1.3.29
3164 ======
3165
3166 * Moved Slur-specific code from Bezier_bow to Slur and Slur_bezier_bow.
3167   Slurs are now calculated just once.
3168
3169 * Bezier_bow gets constants from paper.  Still no sensible solution for
3170   magic asymmetry gradient step constants.
3171
3172 * Reinstantiated tangent-controls, more flexible than ever.  You can choose
3173   between area asymmetry and tangent-controls.  My guess is, tangent controls
3174   will be junked in 1.3.30.
3175
3176 * Slur area: only look at x-gradient.
3177
3178 * Added credits for some symbols of as5/9 fonts.
3179
3180 * Bugfix: don't make almost flat slurs, change in de-uglyfy slur.  
3181
3182 * Bugfix: midi2ly put out recent version (ugh).
3183
3184 1.3.28.hwn2
3185 ===========
3186
3187 * Bugfix: don't forget to process staffSpace and numberOfStaffLines
3188 properties.
3189
3190 * Removed Gade score. To appear (shortly?) on Mutopia. 
3191
3192 * Make Bar_script_engraver look for typeVisibilityFunction (eg
3193 property barNumberVisibilityFunction). Changed the names of the Scheme
3194 functions to be understandable. See input/test/bar-script-visibility.ly
3195
3196 * rewrite of class Molecule. It has now reached the ultimate quality
3197 plateau. All molecule data is now shared.
3198
3199 1.3.28
3200 ======
3201
3202 * Update of the glossary by Christian Mondrup 
3203
3204 * Moved horn-concerto-3 out of tarball to private website, removed
3205 W.A.Mozart subdirectory.
3206
3207 1.3.27.hwn1
3208 ===========
3209
3210 * Bugfix: don't make giant ties if the horizontal part of tie is near
3211 the center.
3212
3213 * Small optimizations to be a little more careful with mem usage. 
3214
3215 * Website change: put all examples in one directory.
3216
3217 * Removed Atom as a separate type.  Now use SCM, and since we use
3218 function composition, Atoms are immutable, so they don't have to be
3219 copied. This makes life easier, hopefully this is quicker and uses
3220 less memory.
3221
3222 1.3.27.jcn1
3223 ===========
3224
3225 * Bezier_bow: minimise_enclosed_area
3226
3227 1.3.27
3228 ======
3229
3230 1.3.26.hwn4
3231 ===========
3232
3233 * Tuplet-spanner slope calculation now looks better on tupletted rests
3234 (patch courtesy Laurent Martelli)
3235
3236 * Bugfix (Staff_performer::new_instrument_str ()) check type of
3237 \property "instrument"
3238
3239 * New mechanism for breaking lines: do not copy & prune the element
3240 property list separately, but combine these steps. Dramatically
3241 reduces memory usage for large scores.
3242
3243 1.3.27
3244 ======
3245 1.3.26.jcn2
3246 ===========
3247
3248 * Bugfix: font used in volta-spanner calculation.
3249
3250 * Added simple selection list to webpage, inspired by sawmill.
3251  
3252 * Devised kludge for ascii 5 character font pitches.
3253  
3254 * Substitutions: interline, 1997,1998, @stack.nl and small typo fixes.
3255
3256 1.3.26.hwn1
3257 ===========
3258
3259 * Plug memory leaks related to Moment:
3260   - Spacing_engraver::do_pre_move_processing ()
3261   - make_rational ()/make-rational
3262   - Paper_column::Paper_column ()
3263
3264 * Plug memory leak in Paper_outputter::output_{String,Real,int}_def()
3265
3266 * Plug memory leak in Score_engraver::set_columns ()
3267
3268 * Plug memory leak in Scheme_hash_table::set()
3269
3270 * Plug memory leak in Score_element::molecule_extent ()
3271
3272 * Bugfix: don't crash if a slur doesn't span anything.
3273
3274 * Bugfix: don't crash if doing beams without a staff symbol.
3275
3276 * Generic element property setting:
3277
3278         \outputproperty #predicate #'symbol = #value
3279
3280 Will set the element property symbol to value, for any elements that
3281 return true for PREDICATE.  This allows you to virtually tweak *ANY*
3282 property of the output. Example in input/test/generic-output-property.ly
3283
3284 1.3.26
3285 ======
3286
3287 * lilypond as as2ly: --help and --version to stdout.  Regular identify 
3288   to stderr.  This fixes help2man's manpage generation.
3289
3290 * configure: substitute full path for perl and guile in scripts.
3291
3292 * Added ascii slur and volta.  There seems to be a Lily bug in volta placement.
3293
3294 * Bugfix: default font now user settable
3295
3296 * as2text: handle plain ascii font, read from stdin, you can now do:
3297
3298   echo "\time 4/4; g''1 g2 g4. g8" | lilypond -f as -i init-as.fly - | as2text
3299
3300 1.3.25.hwn1
3301 ===========
3302
3303 * Bugfix: second half of broken ties now are displayed again.
3304
3305 * Bugfix: add clef to the support of 8 text in the G_8 clefs. Center
3306 it horizontally on the clef.
3307
3308 * Added Tie_column spanner. Ties in tied chords now get proper directionsa.
3309
3310 * Bugfix: unbroken repeat barlines now work, eg. |:
3311
3312 * Added Request_iterator to make more flexible constructions possible.
3313
3314 1.3.25
3315 ======
3316 * as2text: catch missing font/character errors, added default font, set text.
3317
3318 * New ascii fonts and glyphs: as5 as-numeral4 as-braces9
3319
3320 * Ascii output, minimal support:
3321   - AsciiScript Fonts: mf/*.af
3322   - Init files: ly/*-as.*ly 
3323   - AsciiScript translation to text: scripts/as2text.scm
3324   - input/test/as.fly input/test/as1.fly
3325   - Output support: lily/lily.scm
3326   - Try:
3327       lilypond -f as -i init-as.fly input/test/as.fly
3328       as2text as.as
3329
3330 1.3.24.hwn1
3331 ===========
3332
3333 * The horizontal part of ties will avoid collision with staff lines.
3334
3335 * Plugged memory leak: don't protect Atom function.
3336
3337 * Lookup cleanups. Made lots of functions static. Moved some code out
3338 of Lookup.
3339
3340
3341
3342 1.3.24.hwn1
3343 ===========
3344
3345 * Bugfix: ly2dvi.py exits succesfully when encountering --help and
3346 does not delete any of the file_ly*.tex.
3347
3348 * Added header and footer support in ly2dvi.py
3349
3350 1.3.24
3351 ======
3352
3353 * Added a ROADMAP file explaining the source directory layout.
3354
3355 * Minor tweak in the feta 6 and 9 numeral
3356  
3357 * Moved files from lib/ to flower/
3358
3359 * Removed Note_head_side class.
3360
3361 * Updated the webpage to be a little more chatty. 
3362
3363 * Small Local_key_engraver optimization: only lookup timing engraver once.
3364
3365 * Fixed dashed slurs
3366
3367 * Rewrite of Slur code.  Be much more picky about slur shapes. We try
3368 to offset the slur instead of bending it too much
3369
3370 * Look at stem directions for tie direction.
3371
3372 * Compound multimeasure rests. Put measures_i_ variable in an element
3373 property.  Made the symbol a lot wider.
3374
3375 * Time signature small cleanups.
3376
3377 1.3.22.hwn2
3378 ===========
3379
3380 * Symbols opposite to stem (eg marcato) now get the proper glyph in up
3381 version.
3382
3383 * Breathing marks now have a direction by default.
3384
3385 * Do set generic script properties.
3386
3387 * Also put tuplet brackets under notes.
3388
3389 * Score_element_info: only store origin of element, but not the path
3390 to parent translators. Saves a little memory, and removes some complexity.
3391
3392
3393 1.3.22.hwn1
3394 ===========
3395
3396 * Autobeaming in time sigs that don't have 1/4 beats fixed.
3397
3398 * (De)crescendi should now work. (Thanks Michael)
3399
3400 * Better error reporting for conflicting time signatures.
3401
3402 * Line_number_engraver: output locations of note head
3403 definitions. Very handy when entering complicated scores.
3404
3405 * Rewrote multi measure rest support: now they are entered as spanners
3406 (\commandspanrequest \start "rest"). RXXXX is an abbreviation for
3407
3408   { \commandspanrequest \start "rest"
3409     SXXXX
3410     \commandspanrequest \stop "rest"
3411   }
3412
3413 * Removed support of percent style repetitions. 
3414
3415 * Put texts outside the staff.
3416
3417 1.3.21.mb1
3418 ==========
3419 * Getopt bugfix: don't assert on certain errors.
3420
3421 * ly2dvi: Remove unnecessary space for the page headers.
3422
3423 * Bugfix convert-mudela
3424
3425 1.3.21.hwn1
3426 ===========
3427
3428 * Bugfix in lilypond-mode.el: eval-buffering now uses file name and
3429 not buffer name.
3430
3431 * Scrapped tupletVisibility property. Now use tupletNumberVisibility,
3432 tupletBracketVisibility, with Scheme value #t, #f or 'if-no-beam.
3433 \property tupletInvisible will stop all tuplet spanner creation.
3434
3435 * Don't go berserk if tuplet spanner is on only one column.
3436
3437 * Use SCMs & Smobs for Molecules & atoms.  This uses less
3438 scm_(un)protect_object () calls, so the output stage should be faster.
3439
3440 * Added \property tupletSpannerDuration, to make multiple tuplet signs
3441 with one \times.
3442
3443 * Some programming Errors in spacing are now caught. Lily does not
3444 hang when encountering degenerate springs.
3445
3446 * Allow beams to start and end over rests
3447
3448 1.3.19.hwn2
3449 ===========
3450 * Fix disappearing clefs when clefs are not printed with a barline.
3451
3452 1.3.20.jcn2
3453 ==========
3454
3455 * SCM properties beamHeight and beamVerticalposition now use half-spaces:
3456   input/test/beam-control.fly
3457 * Added \context Voice to .fly and .sly; the default \context Staff is almost
3458   never what you expect
3459 * Fixed decision for .sly/.fly in lilypond-mode.
3460
3461 1.3.19.hwn1
3462 ==========
3463
3464 * Clean up font-metric hierarchy, use Adobe AFM code to parse AFM files.
3465 Cleanup mf-to-table.py
3466
3467 * Fixed embarassing slur bug.
3468
3469 1.3.19.jcn1
3470 ==========
3471
3472 * lilypond-mode.el: guess init file for lily-*-region, lily-mode-map bindings
3473
3474 1.3.18.uu2
3475 ==========
3476
3477 * lilypond-mode.el for emacs supersedes mudela-mode.el 
3478
3479 * Tuplet spanners don't collide with encompassing notes. 
3480
3481 * Gobbled Adobe parseAFM* code, for future use.
3482
3483 * Big 1999 to 2000 search/replace.
3484
3485 * Big interline to staff_space search/replace for mf files.
3486
3487 * Removed Bow class, and split code into Tie and Slur
3488
3489 * Don't put scripts on grace notes.
3490
3491 * Font_metric uses SCM for name field.
3492
3493 * Various compilation fixes.
3494
3495 1.3.17.jcn2
3496 ===========
3497
3498 * Bugfix: beams with less than one (visible) stem
3499
3500 * small fixes to pa.ly
3501
3502 1.3.17.jcn1
3503 ===========
3504
3505 * Fixed bug that made multi-measure rest barnumber counts go wild.
3506 (even more scm2int/int2scm mixups!)
3507
3508 * mutopia/J.S.Bach/pa.ly: organ score (for my father)
3509
3510 * small fix to mutopia/J.S.Bach/Duette/violino-ii.ly
3511
3512 1.3.17.hwn2
3513 ===========
3514
3515 * Remove Paper_def calls in bezier-bow.cc
3516
3517 * Remove data members of Tuplet_spanner,  Volta_spanner
3518
3519 * hang_on_clef, property hangOnClef removed
3520
3521 * Bar::type_str_ mode into element property `glyph'. Use a Scheme
3522 function to determine breaking behavior.
3523
3524 * More Scheme typechecking.
3525
3526 * Be strict about the difference between strings and symbols for conversion.
3527
3528 * Fixed bug that made 1st line offset to right fixed. Bugfix courtesy
3529 Laurent Martelli.
3530
3531 * Partial French translation, courtesy Laurent Martelli.
3532
3533 * Small corrections in NL translation. 
3534
3535 1.3.17.hwn1
3536 ===========
3537
3538 * Added mensural note heads (noteHeadStyle = "mensural") Additionally,
3539 we have a longa note head.  noteHeadStyle = "harmonic" is not
3540 supported anymore. (for now, that is)  
3541
3542 * Reference manual update. Document \properties with examples
3543
3544 * fix mudela-book --help
3545
3546 * Use element properties for Text_item::text_str_, Clef_item::symbol_,
3547 Key_item::c0_position_
3548
3549 * Clef_engraver general cleanup. Use alists (\property
3550 supportedClefTypes, clefPitches) for clef types.
3551
3552 * Use progress_indication () for progress. Don't include <iostream.h> directly 
3553 Don't include <string.h>, <math.h> from headers.
3554
3555
3556 1.3.16.hwn1
3557 ===========
3558
3559 * \property stemCentered (boolean): centers stem on note head. See
3560 input/test/stem-centered.ly
3561
3562 * input/trip.ly, small test of lots of features.
3563
3564 * \property Staff.collisionMergeDotted: merge equal noteheads
3565 with different dot count. See input/test/collision-merge-dotted.fly
3566
3567 * Dotted rest bugfix 
3568
3569 * Don't crash if a slur does not span any notes.
3570
3571 * Volta repeats fixed.
3572
3573 * cleanup of Note_heads_engraver
3574
3575 * removed dots_i_ member of Dots
3576
3577 1.3.16.jcn1
3578 ===========
3579 * Fixed cross staff slurs.  It seems that cross-staff sign
3580   was swapped.
3581
3582 1.3.15.hwn1
3583 ===========
3584
3585 * Fixed bug in stem code.  Stem in chords works again.  Small
3586 stem cleanups.
3587
3588 * Use element properties for Staff_symbol.
3589
3590 * \property sparseTies (boolean).  Only make one tie in the
3591 middle for tied chords.
3592
3593 * Junked Directional_spanner, Column_info.
3594 Directional_element now is element interface `Directional_element_interface'
3595
3596 * cleanup: use to_boolean () iso. gh_boolean_p && gh_bool2scm
3597
3598 pl 15.jcn4
3599         - removed old notename2scm conversion
3600         - beam-dir-algorithm through scm
3601         - bfs paper-scm
3602 gv      - bf: knee-stemlengths
3603
3604 pl 15.jcn3
3605         - moved poor man's stem arrays to scm
3606         
3607 pl 15.jcn2
3608         - beam quanting using scm lists
3609
3610 pl 14.hwn1jcn1
3611         - chord-name uses scm members
3612         - bfs: knee with different mults, interstaff knee, auto-knee
3613
3614 **********
3615 pl 14.hwn1
3616         - specialize duration.cc for lily, move out of lib/
3617         - stem cleanup
3618         - more SCM typechecking
3619         - stafflineleading -> staff_space
3620         - bf: rod distances.
3621         - junk some unused code.
3622         
3623 pl 13.hwn2
3624         - paper/score column cleanups. Junk Score_column type
3625
3626 pl 13.hwn1
3627         - Bezier_bow/Bezier cleanups
3628         - bf: rest under beam.
3629         
3630 pl 13.jcn2
3631         - untangled Chord_name (item) and Chord (list-of-pitches)
3632         
3633 pl 13.jcn1
3634         - bezier-bow fix
3635
3636 **********
3637 pl 12.hwn1
3638         - polynomial.hh
3639         - bf: generic properties
3640         - quantise_iv () fix.
3641         - bezier cleanup
3642         - class Polynomial 
3643         - use smobs for font metric tables/hashes.
3644         - nl.po bf
3645
3646 **********
3647 pl 11.jcn3
3648         - small beam fixes (interstaff knees still broken)
3649
3650 pl 11.hwn1
3651         - bf: dots
3652         - bf: harmonic note heads
3653         - revise stem, notehead, rest
3654
3655 pl 11.jcn2
3656         - included missing scm,ly updates
3657         - bf: urg to_dir () takes scm..
3658         - bf's: if (Foo b = bar != 1)
3659         - beam cleanup
3660
3661 *********
3662 pl 10.uu1
3663         - various small bfs
3664         - bf: alignment reversed
3665         - Staff_symbol_referencer -> Staff_symbol_referencer_interface
3666         - bf: staccato pos
3667         - Knee fixes (thanks, Jan)
3668
3669 pl 10.jcn2
3670         - fixes for invisible beamed stems
3671         - removed steminfo from properties, don't cache Stem_info
3672
3673 pl 10.jcn1
3674         - steminfo to properties
3675         - dropped internote dim for stem-beams
3676
3677 *********
3678 pl 9.hwn1
3679         - abstracting Staff_symbol_referencer to an interface.
3680         - quantised_position for staccato dots.
3681         - standchen fixes
3682         - junk Score_element::do_{width,height}: set callbacks directly.
3683         - merge Score_element, Graphical_element
3684         - merge Axis_group_element, Graphical_axis_group
3685         - junk pointer fields from Score_element derived classes
3686         - junk obsolete do_substitute_dependency code.
3687
3688 **********
3689
3690 pl 8.hwn2
3691         - staff-support for Crescendi.
3692         - padding for accidentals.
3693         - cascading offset callbacks
3694
3695 pl 8.hwn1
3696         - note-head-side 
3697         - naming Staff_sidify -> Side_position_interface
3698
3699 ***********
3700
3701 pl 7.mb1
3702         - bf: timeSignatureStyle works again
3703
3704 pl 7.hwn1
3705         - Dirk Latterman key/mmrest patches
3706         - Offset callbacks in Dimension_cache
3707         - Junked Staff_side_*
3708         - Staff_sidify: interface class.
3709         - prelude-{1,2} fixes.
3710
3711 ***********
3712 pl 6.uu2
3713         - bf: PS font selecting.
3714
3715 pl 6.uu1
3716         - bf: ls-latex
3717         - mudela-book --no-pictures
3718         - bf: ly2dvi
3719         - convert-mudela: beamAuto moment syntax. 
3720
3721 pl 6.jcn3
3722         - fixed scm output
3723
3724 pl 6.jcn2
3725         - half-baken ly-gulp-file in scm
3726         - resurrected scm output through guile
3727
3728 pl 5.mb1
3729         - bf: version of init.sly, init.fly
3730         - Clarify necessary version of texinfo
3731         - bf: texi files, minor errors and syntax compatible with 
3732           older makeinfo
3733
3734 pl 6.jcn1
3735         - bf: scm output
3736
3737 *******
3738
3739 pl 5.hwn2
3740         - Bach preludes: mutopification
3741         - dots are Directional_element too; use \property dotDirection
3742         - moved some stuff out of Lookup
3743         - bf: dots
3744         - font selection mechanics changed.
3745
3746 pl 5.uu1
3747         - bf: smob allocation (thanks David!)
3748
3749 pl 5.hwn1
3750         - junked \shape. Now use #'margin-shape 
3751         - timing: one_beat -> \property beatLength
3752         - bf convert-mudela
3753
3754 ************
3755
3756 pl 4.uu1
3757         - input/test/ \property fixes.
3758         - gcc 2.95 fix
3759
3760 pl 4.hwn1
3761         - Break_align_engraver,
3762         break align order from  \property breakAlignOrder
3763         - junked Score_priority_engraver
3764         - moved Time_description into Timing_translator
3765         - use properties for timing, see input/test/timing.fly
3766         * removed \cadenza ; now use \property Score.timing
3767         * \property measurePosition
3768         * \property measureLength
3769         * \property currentBarNumber
3770         - Note_name_engraver , \context NoteNames
3771
3772
3773 pl 4.jcn1
3774         - junked some chord guessing code
3775         - bf: lookup size (-1) for chord-name accidentals
3776         - bf: ly2dvi's MFINPUTS setting
3777
3778 *************
3779 pl 2.jcn3
3780         - chords:
3781           * Chord is item
3782           * junked TeX hacking
3783           * configurable with styled strings from scm
3784           * fixes: dim, /no X, tonic != C
3785
3786 pl 2.jcn2
3787         - chords from  scm 
3788
3789
3790 pl 3.hwn2
3791         - visibility-lambdas into default elt properties SCM.
3792         - clef types in SCM
3793         - verticalDirection properties now in SCM.
3794
3795 pl 3.hwn1
3796         - move position_i_ into Staff_symbol_referencer
3797         - move dir_ into Directional_element baseclass
3798
3799 ****************
3800
3801 pl 2.hwn1
3802         - bf: dynamic style.
3803         - prepare to move dir_ into SCM. 
3804
3805 pl 2.jcn2
3806         - chord fixes: 
3807            * inversion request: no inversion guessing for chord entry
3808            * bass request: c/+b to add bass note not part of chord
3809            * -dim modifier works on all thirds
3810            * colon iso dash as tonic/modifier-additions separator
3811            * C:m5- displays as "Cdim"
3812            * C:m5-7- displays as "Co"
3813
3814 pl 2.jcn1
3815         - moved bracket vars to params
3816         - reverted broken lilypond-devel
3817
3818 *************
3819 pl 1.uu1
3820         - David's patches:
3821         * mfplain.mp detection
3822         * Graphical_element::common_refpoint() robuster.
3823         * fixes for mudela-mode.el
3824         - Dirk's patches:
3825         * key signature placement,
3826         * tied accidentals.
3827
3828 pl 1.hwn2
3829         - extra-offset elt property.
3830         - junked Chord_tremolo
3831
3832 pl 1.hwn1
3833         - changed calling convention for {get,set,remove}_elt_property()
3834         - rm'd some mutopia examples.
3835
3836 *******
3837 pl 0.hwn2,1
3838       - Generic properties and Property_engraver. Moved most of the
3839 properties.
3840
3841 0.lu1
3842         - resurrected midi2ly
3843
3844 0.jcn1
3845         - bf: lyrics lexer
3846         - reverted mup2ly revert
3847
3848 pl 3.uu1:
3849         - frontport of 1.2.17 patches.
3850
3851 **********
3852
3853 1.3.0:
3854
3855 pl 15.hwn2
3856         - loads of bfs.
3857
3858 pl x.jcn3
3859         - another workaround: reset buffer state for scm_ftell ()
3860         - workaround for broken scm_ftell ()
3861
3862 pl 15.hwn1
3863         - \properties are now SCM s, junk Scalar type
3864         - use SCM for strings in parser.
3865         - Moment derived from Rational. Moment may be smobified.
3866
3867 pl 15.jcn4
3868         - direct #... to scm parser  (Thanks to Gary Houston)
3869
3870