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