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