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