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