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