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