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