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