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