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