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