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