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