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