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