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