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