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