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