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