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