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