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