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