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