]> git.donarmstrong.com Git - lilypond.git/blob - CHANGES
release: 1.3.107
[lilypond.git] / CHANGES
1 1.3.106.jcn2
2 ============
3
4 * Cross compilation and info build fixes, really cancel all builtin
5 rules, sigh.
6
7 * Generated documentation fixes: Generate all interface descriptions,
8 separately, don't list non-set interface properties with element
9 descriptions.
10
11 1.3.106.hwn1
12 ============
13
14 * Deprecate `mudela' name: rename mudela to lilypond globally.
15
16 * construct Music_iterators decentrally.
17
18 * Make smob of Duration 
19
20 * Make smob of Musical_pitch.
21
22 * Move Repeated_music members into SCM. Length is computed via a SCM
23 function. (todo: write SCM function to unfold all repeats. \apply for
24 \midi)
25
26 * Remove Time_signature_change_req, \time is disguise for \property
27 Score.timeSignatureFraction = ...
28
29 * \property barCheckNoSynchronize: don't reset measurePosition when
30 finding a bbarcheck. This makes bar-checks for polyphonic music
31 easier.
32
33 * elt property full-size-change for clefs.
34
35 * Bugfix: use Stem::dim_callback (), so brew_molecule () is not called
36 too early.
37
38 * Bugfix: use extent of Note_head (iso. Note_column) for rest
39 collisions, so Stem::brew_molecule() is not called too early.
40
41 1.3.105.jcn1
42 ============
43
44 * Makeinfo html documentation generation fixes.
45
46 1.3.105.uu1
47 ===========
48
49 * Remove Bar_req, \bar is now a frontend to setting Score.whichBar
50
51 * Move Context_specced_music::translator_{type,id}_str_ into music
52 properties.
53
54 * Don't make line breaks during note playing.
55
56 * Clef engraver rewrite. Clef-engraver is now controlled through
57 properties clefPosition, clefGlyph, clefOctavation. The \clef command
58 is just a front-end to these, see scm/lily.scm, function
59 clef-name-to-properties.  See also input/test/manual-clef.ly
60
61 1.3.105
62 =======
63
64 * Bit of temporary makefile hacking to stay in sync with makeinfo patch.
65
66 * Separate interface description (test phase).
67
68 * Makeinfo --html split fix: http://appel.lilypond.org/fred/software/texinfo-4.0.jcn2.diff
69
70 * Use headers for makeinfo html output.
71
72 * Made some --scrdir build fixes.
73
74 1.3.104.uu1
75 ===========
76
77 * Smobified molecule, and cache molecule (ie. generate each molecule
78 only once).  Lily should be faster now. (approx. 6 % ?)
79
80 * Coded properties-to-font-name in C++. Measured speedup: 14% (wtk1-fugue2)
81
82 * Use music properties for Request data.
83
84 1.3.104
85 =======
86
87 * Documentation build fix: don't run LilyPond when generating plain info doc.
88
89 * Resurrected info documentation and made cross links between manual
90 and generated doco, some small fixes.
91
92 * Made small time signature style fix.
93
94 * Generate texinfo iso html documentation.
95
96 * Added x-references for elements->engravers and engravers->contexts.
97
98 * Fixed number font listing in style sheet.
99
100 * Fixed default font settings for text items, text-item now uses
101 font-interface's alist-chain.
102
103 * Renamed property AutoBeam to autoBeamSettings to avoid confusion
104 about non-existing AutoBeam element.
105
106 * Mensural clefs (courtesy Juergen Reuter)
107
108 1.3.103.lec1
109 ============
110
111 * abc2ly enhancements
112
113         * %%LY comments
114
115         * explanation of rationale for %%MIDI nobarlines
116
117         * supports -8va as a syntax for tenor clef
118
119         * pushing the Staff.timeSignatureStyle property
120
121         * parses space between key letter and mode in K: statement
122
123         * default for guitar chords is above the staff
124
125         * fix for translation of :: repeat
126
127 1.3.103
128 =======
129
130 * Translated auto-beam properties to alist.
131
132 * Rewrite of tfmtoafm in scm.
133
134 * Rewrite of emacs LilyPond mode, based upon auctex interface.
135
136 * Chord name fixes and additions (Atte Andr'e Jensen)
137
138 * ly-get-mus-property, ly-set-mus-property: set properties of Music
139
140 * Move Span_req::span_dir_ into Scheme
141
142 * removed numberOfStaffLines, staffSpace. Use StaffSymbol \push
143 staff-space, line-count
144
145 * removed minVerticalAlign, maxVerticalAlign; use VerticalAlignment
146 \push #'threshold = #(MIN . MAX)
147
148 * \property tremoloFlags can be set anywhere now
149
150 * \apply #function music 
151
152 * Bugfix: padding of dots.
153
154 * Generate documentation for separate engravers as well as for contexts.
155
156 * Move some reference manual into the  SCM documentation system.
157
158 * Bugfix: fixed hyphen spanners.
159
160 1.3.102
161 =======
162
163 * Fixed bracket, and made some other PostScript code fixes.
164
165 * Silly font initialisation fix for paper19 non-feature.
166
167 * Automatic engraver/property documentation infrastructure. 
168
169 * Fixed system-start braces
170
171 * Fix for forgetAccidentals: do print accidentals, just don't remember
172 them.
173
174 * Bugfix: forced script directions for scripts that have relative stem-direction.
175
176 * Bugfix: Tie_column doesn't force Tie directions ties that already
177 have a direction.
178
179 * Bugfix: multimeasure rest 
180
181 1.3.101
182 =======
183
184 * Custodes (patch by Juergen Reuter), mods by hwn.
185
186 * Font initialisation and markup translation fixes. (99.jcn2)
187
188 * Remove staffspace calls. Removed markScriptPadding. Fixes some
189 problems with tuplet, brace and volta spanners.
190
191 * make Font_interface::font_alist_chain (), and use default font
192 settings. Fixes too large time sigs.
193
194 1.3.100
195 =======
196
197 * Tweaks of .scm font-selection. 
198
199 * Rewrote font management of Score_element and Paper_def.
200
201 * Introduced outputscale: internally do computation in terms of
202 outputscale.  Prepare to deprecate staffspace internally.  Rewrote
203 .scm side of font selectioning. 
204
205 1.3.99.jcn1
206 ===========
207
208 * Made several font size and initialisation fixes.
209
210 * Renamed all occurrences of font-size to font-relative-size
211
212 * Renamed all occurrences of font-point to font-point-size
213
214 * Fixed interface.scm descriptions to use symbols iso strings
215
216 * Fixes for chord names, and added jazz style (James Hammons)
217
218 * Some font-size fixes.
219
220 * Added dynamics font in all staff-sizes.
221
222 * Quick fix for regtest.
223
224 1.3.98.hwn2
225 ===========
226
227 * Removed all paper vars except linewidth, indent, staffspace and
228 stafflinethickness.
229
230 * Rewrote Scheme side of font-selection.
231
232 * Bugfix: deprecate group-center-element thoroughly.
233
234 * Bugfix: LeftEdge must also have Break_align_item::alignment_callback
235 X-offset-callback.
236
237 * Add use music property "direction" for storing direction in
238 Script_req, use music property "text-type" for storing 'dynamic,
239 'finger, etc. Remove Dynamic_script_req. Resurrect fingerings.
240
241 1.3.98.lec1
242 ===========
243
244 * fixed scale-definition.ly for greek mode names.
245
246 1.3.98
247 ======
248
249 * Backend documentation updates and related cleanups
250
251 * Removed \property bracketCollapseHeight, systemStartDelimiterGlyph
252
253 * Bugfix: instrument-name on grandstaffs, see
254 input/test/instrument-name-grandstaff.ly
255
256 * Bugfix for tie/staffline collision.
257
258 * Bugfix: also send out end-repeat if there are no alternatives.
259
260 * Small solo cello suite fixes.
261
262 1.3.97.jcn1
263 ===========
264
265 * Added some interface documentation.
266
267 * Added raise and kern to markup.  This should make Chord names usable.
268
269 1.3.97
270 ======
271
272 * Made small fixes to basic properties: regression-test compiles.
273
274 * Moved Text_script_req's text_ member into mus-property.
275
276 * Renamed ChordName to ChordNames, for consistency.
277
278 * Resurrected most of chord names, superscripting and kerning
279   is currently broken, though.
280
281 * Junked all old style text lookups, except for feta definitions.
282
283 * Added support for name-based character lookups.
284
285 * Added support for font styles and papersize style sheets.
286
287 * Added new code for font selection and scm text markup.  Only used
288   for testing in \textscript SCM. See input/test/markup.ly.
289
290 * Fixed (added actually, it got lost?) word-space for chords.
291
292 * Added slope-limit and attachment-offset properties to slur.
293
294 * Slur's broken trend now weighs in the number of note-columns.
295
296 * Spacing tweaks
297
298 1.3.96.hwn1
299 ===========
300
301 * Mudela-book fixes (Tom Cato Amundsen)
302
303 * Put marks above chords.
304
305 * Solaris fix.
306
307 * Type checking for \push and \pop; elt property description (docs
308 inclusive) is now in Scheme.
309
310 * Self-documenting backend using ly/generate-documentation.ly
311
312 1.3.96
313 ======
314
315 * Added friendly message for the clueless dvips user.
316
317 * Clef-engraver: changed c0-position, clef-position and glyph into properties,
318   enabling ottava spanners: input/test/ottava.ly.
319
320 * Added option for edge lines to Text spanner.
321
322 * Bugfix for early initialisation of invalid (grace->voice) slur.
323
324 * Dropped text support and padding of crescendo symbol.  Horizontal
325   alignment of dynamics is handled by side-support, Text crescendos
326   use the generic Text spanner.
327
328 * Added a generic Text spanner.
329
330 1.3.95.hwn1
331 ===========
332
333 * Bugfix: octavate eight.
334
335 * Rewrote arpeggio.
336
337 * mudela-book fixes (Tom Cato)
338
339 * Cleaned up Group_interface and Pointer_group_interface
340
341 * Add accidentals to arpeggio support.
342
343 * Stemup + barline combination gets extra space.
344
345 * Score_element::extent () now takes a reference point argument.
346
347 1.3.95
348 ======
349
350 * Use music property for setting type. This prevents accidental
351 forgotten copies.
352
353 1.3.94.jcn3
354 ===========
355
356 * Added Arpeggio and Trill elements to feta font.
357
358 * Yet another bugfix for output-property (Han-Wen)
359
360 * Made some fixes to les-nereides.
361
362 * Fixed output-property (Dankje).
363
364 * Added backend framework for arpeggios.
365
366 * Fixes for les-nereides.  Should we do asymmetric slurs...?
367
368 * Don't print repeat bars at start of line.
369
370 1.3.94
371 ======
372
373 1.3.93.uu1
374 ==========
375
376 * Bugfix: don't crash if there is no volta bracket to end.
377
378 * Move offset, dimension callbacks into Scheme.  They can be initialized from basicXXXX properties using
379
380         (X-offset-callbacks . (callback1 callback2 .. .))
381         (Y-offset-callbacks . (callback1 callback2 .. .))
382         (X-extent-callback . callback1) 
383         (Y-extent-callback . callback1)
384
385 * naming: basicXXXProperties -> XXX, some other changes in naming;
386 convert-mudela rules added.
387
388 * naming: \voiceone -> \voiceOne and related changes. convert-mudela
389 rules added
390
391 * syntax: \property XXX \pop #'bla -> \property Context.XXX \pop #'bla
392
393 * changed aclocal.m4 to have better check for guile version. (Laura Conrad)
394
395 * updates for mudela-book (Tom Cato Amundsen)
396
397 1.3.93.jcn1
398 ===========
399
400 * Try at nastiest competition piece: input/les-nereides.ly.
401
402 * Moved Pedal_engraver to Staff context.
403
404 1.3.93
405 ======
406
407 * Added some error messages for toplevel and stray string parse errors.
408
409 * Don't start more than one slur at a time.
410
411 * Set direction of Slur too in a2-engraver.
412
413 1.3.92.hwn1
414 ===========
415 * Removed calls to global GUILE namespace.
416
417 * Added \property: scriptDefinitions, explicitClefVisibility,
418 explicitKeySignatureVisibility, instrumentEqualizer,
419 dynamicAbsoluteVolumeFunction
420
421 * Added element properties Bar::break-glyph-function,
422 Break_align_item::space-alist, Chord_name::chord-name-function
423
424 * Added \property combineParts: part combiner switched off by default.
425
426 * Remove all print methods.
427
428 * Use Scope::try_retrieve if possible.
429
430 * Remove FAQ in favor of URL.
431
432 * etf2ly.py robustness fixes.
433
434 * Don't compensate for left edge in broken volta spanner.
435
436 1.3.92
437 ======
438
439 * RPM .spec fixes.
440
441 * italiano.ly
442
443 * mudela-book updates by Tom Cato Amundsen.
444
445 * Allow lyric hara kiri as well.
446
447 * Bugfix: left/right mixup  in Side_position_interface::aligned_on_self ()
448
449 * rest collision of differing rests.
450
451 * Cleanup of Sequential_music_iterator, Simple_music_iterator.
452
453 * Unfolded_repeat_iterator now signals repeats using \property
454   repeatCommands. You could override this, eg.
455
456         \property Score.repeatCommands = #'((volta "X") start-repeat)
457
458   will print a |: and a volta bracket saying X. See also
459   input/test/manual-volta.ly
460   
461 * Volta_engraver, Repeat_acknowledge_engraver: new engravers that are
462 controlled by repeatCommands; much cleaner than the Repeat_engraver.
463
464 * Junked Repeat_engraver.
465
466 1.3.91.jcn1
467 ===========
468 * Abort all running spanners when part-combiner combines voices.
469
470 1.3.91
471 ======
472
473 * Use S_ISDIR () and check for stat.h.
474
475 * Various fixes for RedHat 7.0 / gcc 2.96.54
476
477 * separate basic propertylist for fingerings, center them on
478 noteheads.
479
480 * Side_position_interface::aligned_on_self() now can take a real
481 number for self-alignment-{X,Y}.
482
483 * etf2ly: single line GF field.
484
485 1.3.90.mb1
486 ===========
487
488 * Added an interscorelinefill paper variable. Set to a positive number 
489   in order to stretch the inter-line spacing to fill the full pages,
490   except for the last page (where it would look really ugly).
491
492 1.3.89.jcn1
493 ===========
494
495 * Changed lilypond to LilyPond in ly2dvi, Mudela to LilyPond source.
496
497 * Website fixes: Changed \interline to \staffspace in manual, removed offending
498   braces from mudela-book.tely.
499
500 * Fixed slur attachment correction bug.
501
502 * Made some fixes to Coriolan.
503
504 1.3.89.hwn1
505 ===========
506
507 * Only open files, not directories 
508
509 * bugfix: textNonEmpty.
510
511 * Look ahead in auto-change iterator for rests. This means rests
512 before the note leading to an automatic staff switch are switched as
513 well (improves the looks of scarlatti-test).  Associated fixes and
514 additions for  Music_iterator::skip () and friends.
515
516 * Bugfix: only quantise staccato inside the staff. 
517
518 * cleanups for beam and stem. Removed global GUILE namespace calls
519 from Beam and Stem.
520
521 1.3.89
522 ======
523
524 * Some fixes to Coriolan.
525
526 * Fixed some stupid core dumps processing Coriolan.
527
528 * Fixed several problems with part-combiner's part-switching.
529
530 * Fixes for ASCII output.
531
532 * Added feature to part combiner that should allow part-switching only
533   for entire measures.  Currently, it is controlled by a new 
534   property changeMoments (A . B):
535     - only switch when !(A mod now),
536     - decide whether to switch based on music during time period B.
537
538 * Made bugfix: Sequential_iterator::get_music (M): mustn't return music 
539   later than M.
540
541 * Added skip (M) to some iterators.
542
543 * maintain minimum-length by shifting for hyphens at start of
544 line. (patch courtesy Christophe Rhodes)
545
546 * mudela-book fixes (courtesy Tom Cato Amundsen): documentation
547 update, LaTeX example, landscape support.
548
549 1.3.88.hwn2
550 ===========
551
552 * Added elt properties for Tie:
553   - details
554   - x-gap
555   - staffline-clearance
556
557 * Added elt properties for Slur
558   - y-free
559   - details
560
561 * Removed C++ support for barNumberScriptPadding, now in
562 generic-property.scm (but they're deprecated anyway)
563
564 * Changed threshold in Align_interface to be in staffspace 
565
566 * changed minVerticalAlign and maxVerticalAlign to be in staffspace.
567 A better way: do \push #'threshold = #(cons A B ).  (WARNING:
568 INCOMPATIBLE CHANGE)
569
570 * moved translator definitions out of \paper { }, only instantiate in
571 \paper.
572
573 1.3.88
574 ======
575
576 * Sequential_iterator::get_music (), part combiner now works.
577
578 * Changed paper variables into elt properties:
579   Beam:
580   - beam-space-function, Removed Paper_def::interbeam_f(), Smaller
581   beams for grace notes.
582   - beam-flag-width-function to Beam.
583
584   Grace_align_item:
585   -  horizontal-space: spacing of grace notes is configurable
586
587   Volta_spanner: 
588   - height
589   - thickness 
590
591   Multi_measure_rest:
592   - expand-limit
593   - minimum-width
594   - padding
595
596   Lyric_extender:
597   - height
598
599   Stem
600   - thickness 
601
602   Collision
603   -  note-width to Collision
604
605 * removed various obsolete variables from params.ly
606
607 * added input/test/bagpipe.ly
608
609 1.3.87
610 ======
611
612 * Made fixes to part-combine examples and Coriolan.
613
614 * Bugfix: don't dump core on unterminated (de)crescendo.
615
616 * Rolled next (M) also into get_music (M), similar to process (M), so that
617   sequential-music-iterator::get_music (M) returns something useful.
618
619 * Bugfix: part-combiner still expected Music_sequence, where get_music ()
620   now returns plain list of events.
621
622 1.3.86.hwn3
623 ===========
624
625 * Fixed problem with disappearing crescendi across line break.
626
627 * Bugfix: dynamic texts should not be set by text-engraver. 
628
629 * Rewrote and cleaned up music-iterator.
630
631 * etf2ly robustness fixes.
632
633 1.3.85.hwn2
634 ===========
635
636 * Added side-position-interface as an interface identifier, in stead
637 of checking side-support-elements. This fixes a problem with stacked
638 text scripts.
639
640 * Removed spurious set_elt_property ("XX", SCM_EOL) calls.
641
642 * Added \property squashedPosition for Pitch_squash_engraver: the
643 staff-position number to squash noteheads to.
644
645 * Added FAQ entry for script on bar, updated description of mailing
646 lists.
647
648 * Fixed bug with \translator { basicXXXProperties \push ... }
649
650 * Updated and revised call for help in hacking.texi.
651
652 * Bugfix: don't remember accidental if it is tied from the previous note.
653
654 1.3.85
655 ======
656
657 * Separated definition and implementation of contexts (moved
658 definition out of Translator_group into Translator_def)
659
660 * pmx2ly.py fixes: now handles text at beginning of block correctly.
661
662 * update .spec to include scripts. 
663
664 * Changed syntax of \pushproperty:
665
666         \property Voice.basicXXXProperties \push #'foo = #bar
667         \property basicXXXProperties \pop #'foo
668
669         \translator {
670                 basicXXXProperties \push #'foo = #bar
671                 basicXXXProperties \pop #'foo
672         }
673
674 1.3.84.jcn1
675 ===========
676
677 * Updated INSTALL.texi
678
679 1.3.80.tca1
680 ===========
681 * Added Documentation/user/mb-latex.tex, mudela-book+latex example
682   file and test case. Some work on Documentation/user/mudela-book.tely
683
684 * mudela-book.py: any combination of \verb, \begin{verbatim}
685   @code and @example and mudela should work as expected. 
686
687 * dropped [].extend that depend on python 1.5.2
688
689 1.3.84
690 ======
691
692 * pmx2ly, PMX to LilyPond conversion. Succesfully converts barsant.pmx.
693
694 * musedata2ly, a Musedata to LilyPond convertor. Succesfully converts
695 wtk1-fugue2
696
697 * bugfixes for dynamics: make sure that dynamic alignments encompass
698 the dynamics they support, and that any columns they attach to aren't
699 prematurely killed.
700
701 * bugfix: make sure \time gets noticed early enough.
702
703 1.3.83
704 ======
705
706 * small doc updates.
707
708 * Cleanups related to barline handling:
709
710   - Removed Translator_group::get_simple_translator (), and -
711
712   - use properties to communicate about barlines and time sigs. (NOTE:
713     by default a time-signature of 4/4 is printed.)
714
715   - fix repeat bar behavior.
716
717
718 * cleaned up Directional_element_interface
719
720 * add name field to score-elements.
721
722 * comment in some unprotects for Music in parser. Should bring down
723   cpu time and plug some leaks.
724
725 * robustness fixes for etf2ly, tuplets, grace notes. 
726
727 1.3.82
728 ======
729
730 * engraver.ly: cleanups.
731
732 * etf2ly: robustness fixes, handle mac files as well.
733
734 * Smobified Translator and Translator_group, junked
735 Translator_group_identifier.
736
737 * \pushproperty and \popproperty withing \translator, similar to
738 predefining \property, ie.
739
740         \translator { [...] \pushproperty [..] }
741         \translator { [...] \popproperty [..] }
742
743 (these \pushes and \pops are delayed until instantiation, so if you do
744
745
746         \score {
747                 \pushproperty #'basicFooProperties #'bla #VALUE1
748                 \context Voice { \pushproperty #'basicFooProperties #'bar #VALUE2
749                         [..]
750                 }
751         }
752
753 then the setting for basicFooProperties contains both (bla . VALUE1)
754 and (bar . VALUE2).
755
756 * allow \pushproperty #'symbol [..] as well as \pushproperty #'(symbol1 symbol2 ... )
757
758 1.3.81.jcn1
759 ===========
760
761 * Activated regex for windows.
762
763 * New guile-1.4 patch for cross windows build.
764
765 * Added configure messages for metapost checking.
766
767 1.3.81
768 ======
769 1.3.80.gp1
770 ==========
771
772 * Added property LyricVoice.associatedVoice to enable switching associated
773   voice mid-stream. Association still defaults to context name.
774
775 1.3.80.hwn1
776 ===========
777
778 * \pushproperty, \popproperty: property settings with less memory
779 cost. See input/test/pushproperty.ly and Documentation/hacking. Note:
780 syntax is most likely only temporary.
781
782 1.3.80.jcn1
783 ===========
784
785 * (Line-)broken slurs now have vertical trend.
786
787 * Better length for broken ties: no invisibly short ties.  Now ties may
788   collide with time signatures, though.
789
790 * Don't typeset unfinished spanners, but kill them.
791
792 * Added two FAQs (Mats)
793
794 * Made workaround guile-1.4.1 backward incompatible (scm_)eval change.
795   Note that we must use (scm_)eval2 to remain backwards compatible with
796   guile < 1.4.1 snapshot.
797
798 * Reincluded 79.jcn2 fix
799
800 1.3.80
801 ======
802
803 1.3.79.jcn5
804 ===========
805
806 * Created Thread_devnull_engraver and Voice_devnull_engraver iso
807   single A2_devnull_engraver in Thread context.  It seems however
808   that the hack in A2_devnull_engraver works better.
809
810 * Coriolan fixes.
811
812 * Slur attachment fix for chords where case slurdir != stemdir.
813
814 * Made various fixes for (line-)broken slurs.
815
816 * Fixed slur_height (), which fixes most ugly slurs (Yeah!).
817
818 * Fixed some silly url reversals in FAQ.
819
820 * Finished Coriolan music entry (again); entered second viola part.
821
822 * Updated Coriolan to use part combiner on Voice level for wind parts
823   and on Staff level for violi and bassi.
824
825 * Part-combiner now uses duration inquiry, which fixes rhythm-related
826   bugs in determining solo/a2.  Also, rests are taken into account.
827
828 * Another crude fix for almost unexplainable (with a gdb that dumps
829   core on ly_display_scm) all-zero control points slurs.
830
831 * Fixed slurs that crossed through stems and note heads.  Note
832   that beautifying of ugly slurs is still broken.
833
834 * Made crude fixes slurs don't crash, bezier still crashes on
835   infinitely steep slurs (eg flauti-part *with* slur_engraver).
836
837 1.3.79.gp1
838 ==========
839
840 * Replaced empty melisma score element with a property
841
842 * Renamed Voice_alist_entry -> Syllable_group in lyric-phrasing-engraver
843
844 1.3.79.uu1
845 ==========
846
847 * fixed y-position of whole rest
848
849 * fixed sustainPedalPadding
850
851 * etf2ly: articulation, lyrics.
852
853 1.3.79
854 ======
855
856 * etf2ly.py: Finale to LilyPond conversion.
857
858 1.3.78.jcn4
859 ===========
860
861 * Made simple fix to get part-combiner to recognise different rhythms
862
863 * Unhardcoded part combiner and a2-engraver; introduced properties
864   splitInterval, soloADue, soloText, soloIIText, aDueText.
865
866 * Fixed part combiner's too-late problem (Dankje!)
867
868 * Fixed a2-devnull-engraver, a2-engraver.
869
870 * Renamed part combiner music names to "one", "two".
871
872 * Cleaned up decision making in part combiner, renamed to "solo"/"unison"
873
874 1.3.77.mb1
875 ==========
876
877 * Minor documentation updates
878
879 * Mark_engraver: has been broken since .73, fixed!
880
881 1.3.78
882 ======
883
884 * Added a devnull engraver, that junks (notehead) requests of the second
885   stem when combined parts are in unison (a2).
886
887 * Part-combine iterator identifies Soli and A2 parts in threads by 
888   looking at rhythm and pitches.  It switches Voice context automagically,
889   and communicates current state using a2/solo/solo2 properties.
890
891 * Simple A2_engraver (`a due) prints `a2/Solo/Solo II.  Soli seem to
892   arrive one request late.
893
894 * First try at combining parts: part-combine*
895
896 * fixed problem with HaraKiri
897
898 * fixed problem with dynamicDirection
899
900 * fixed problem with nonEmptyText 
901
902 * `Fixed' chord notation, as per request of David Arnold, ie, 
903    Added a chord-name-mode, that only displays chord names
904    when there's a change in the chord-name-scheme, Also, a chord
905    name should always be displayed after a line break.  See
906
907        input/test/drarn-chords.ly
908
909 * Reverted duration-iter change in midi2ly, moved printing of options.
910
911 * warning bugfix in lexer.ll (Mats Bengtsson)
912
913 1.3.77
914 ======
915
916 * Midi2ly bugfix: handle durations longer than longa.  These can occur
917   because of lengthened notes when using --no-rests.
918
919 * Midi2ly: output `new' \key syntax, and updated version number.
920
921 * Midi2ly bugfix: don't correct quantised durations, don't use tuplets, 
922   double dots etc. when user doesn't want them.  It probably used to
923   work like this, a long time ago.  For some unknown reason, all
924   corrections made by Duration_convert were junked if the corrected
925   duration != exact duration.  Duh.
926
927 * Midi2ly: added a new option: --no-rests.
928
929 * Update of mudela-book (Tom Cato Amundsen)
930  - --read-lys option, now you can do:
931         mudela-book file.texi
932         convert-mudela
933         mudela-book --read-lys
934  - --outdir=DIR will put ALL output into DIR
935  - @mudela[filename="myfilename"]{c d e f g}
936  - --force-mudela-fontsize
937  - ignore mudela inside @ignore @end ignore
938
939 1.3.76.gp1
940 ==========
941
942 * Lyric_phrasing_engraver now catches lyric extenders and correctly
943   terminates them under the last note of a melisma.
944
945 * Lyric word spacing code changed to fix hyphen alignment.
946
947 * Other minor tidying up of Lyric_phrasing_engraver and related code.
948
949 1.3.76
950 ======
951
952 * Lyric_phrasing_engraver now adjusts for melisma.  (Glen Prideaux).
953
954 * Mudela-book fix for Windows95 (Mark Hindley)
955
956 * Debian update (Anthony Fok)
957
958 * Added beam melisma for when automaticMelismata and noAutoBeaming are both
959   #t (primarily for hymns).  Courtesy Glen Prideaux.
960
961 * Bugfix: .pfa dependency on $(outdir)/mfplain.mem
962
963 1.3.75.mb1
964 ==========
965
966 * stepmake/stepmake/metapost-rules.make: Put all generated files
967   in mf/out/.
968
969 * Added paper variable interscoreline to determine the score line
970   spacing, see input/test/vertical-extent.ly.
971   Cleaned up the lilyponddefs.tex inclusion scheme.
972
973 1.3.75
974 ======
975
976 1.3.74.gp1
977 ==========
978
979 * Improved default handling of Lyric_phrasing_engraver and made it on by 
980 default.
981
982 * Beginnings of a stanza number engraver (\property LyricVoice.stanza = 
983 #"1:" etc.)
984
985 * fixed bug in script.cc so fermata (and other scripts) get flipped 
986 correctly when they are above the staff.
987
988 1.3.74.jcn2
989 ===========
990
991 * Reincluded simple code for including tfm.[1-5] into search path.
992   Configure with --disable-kpathsea to enable this kludge.
993
994 1.3.74.jcn1
995 ===========
996
997 * Updated input/test/banter-chords.ly German H/B example.
998
999 * Updated nl.po.
1000
1001 * Have configure check for kpathsea library and functions.  Made kpathsea
1002   support optional for now.
1003
1004 * Bugfix: halved width of tremolo-beams.
1005  
1006 * Included compilation fix for guile-1.3.4 (Anthony).
1007
1008 * Added: chord inversion and base to regtest.
1009
1010 * Fixed: Chord names that were broken by pl73.
1011
1012 * Fixed: Chord inversions that were broken by pl72.
1013
1014 * Resurrected ascii-script output, for debugging purposes.
1015
1016 * Included compilation fix for scm-hash.cc (Han-Wen).
1017
1018
1019 1.3.74
1020 ======
1021
1022 * Small bugfix: also do a deep copy on  submusices
1023
1024 * Fixed:  \autochange doesn't crash anymore.
1025
1026 * Cleanup, documentation and enforcement of smob interfaces in
1027 LilyPond.  We distinguish between SIMPLE_SMOBS and SMOBS (objects that
1028 have self_scm_)
1029
1030 * Glen Prideaux lyric phrasing engraver. See
1031 input/test/lyric-phrasing.ly
1032
1033 1.3.73
1034 ======
1035 * Removed \interscoreline after the last line, prevents some
1036 empty pages. (patch by Mats Bengtsson)
1037
1038 * Smobified Music, junked associated identifiers. Use Scheme list to
1039 store Music_sequence.  Removed const declarations from
1040 Music_iterators.  Added a mutable and immutable property list to
1041 Music.  Use music property for all Scheme values in Music.  Created
1042 and fixed a load of Garbage Collection bugs.
1043
1044 * Changed number font to allow automatic .mf creation.
1045
1046 * Output place of definition as \special{src:LOCATION}. See FAQ for
1047 explanation how to use.
1048
1049 * Schemified Local_key_item and fixed minor bug with accidentals.
1050
1051 * new Japanese .po file.
1052
1053 * Bugfix for broken tie direction
1054
1055 * Bugfix for bar at beginning of line break
1056
1057 1.3.72
1058 ======
1059
1060 * Robustness fix for minimise_least_squares ()
1061
1062 * cleanups of Slur_bezier_bow, removed Bezier_bow.
1063
1064 * cleanup of Tie. Changed Tie into interface. Made ties flatter by default.
1065
1066 * changed SCM_UNDEFINED to SCM_UNSPECIFIED for return values that go
1067 back into Scheme.
1068
1069 * changed SCM_UNSPECIFIED to SCM_EOL for undefined element
1070 properties. This makes initializing list properties redundant.
1071
1072 * removed idiotic code for including tfm.[1-5] into search path.
1073
1074 * fixed problem with tuplet placement for cross staff tuplets.
1075
1076 1.3.71
1077 ======
1078 * Small cleanups to bring down  compile time and binary ensmallment.
1079
1080 * Made Lookup into a smob, and use guile alist iso. an STL map.
1081
1082 * Changed repeated music semantics for relative octave: each
1083 alternative takes its inital octave from the body.
1084
1085 * Fixed: parser accepts booleans for property values as well.
1086
1087 * Added Scarlatti sonata test file to input/
1088
1089 * kpathsea support, courtesy Carsten Block <carsten.block@gmx.de> 
1090
1091 1.3.70
1092 ======
1093 * Fixed: long standing problem in optical-illusion code.
1094
1095 * Fixed: stop beam if stem *has* a beam in auto-beam-engraver. 
1096
1097 * Made interface of Multi_measure_rest, System_start_delimiter,
1098 Spacing_spanner, Separating_group_spanner, Beam, Slur and
1099 Rhythmic_head.
1100
1101 * Use properties for minimum distances and spring parameters.  Move
1102 spacing related functions from Paper_column into Spaceable_element.
1103
1104 * Removed most Paper_column typecasts.
1105
1106 1.3.69
1107 ======
1108
1109 * Cleanup auto-beam-engraver: use properties for retrieving timing
1110 information.
1111
1112 * Fixed: Multi measure rests don't cause crashes.
1113
1114 * Fixed: don't invoke Hara_kiri::consider_suicide too early.
1115
1116 * Fixed: property engraver.  
1117
1118 * Fixed: don't crash on multiple ties.
1119
1120 * Cleanups of Beam, should also be a little faster.  
1121
1122 * Reunite properties and pointers. In implementation we make a
1123 distinction between mutable and immutable properties
1124
1125 * Add {has|set}_interface () static methods to interface classes.
1126
1127 * Made Side_position_interface and Staff_symbol_interface an all
1128 statics class, and stripped _interface suffix.
1129
1130 * Make Align_interface and Axis_group_interface an all-statics class 
1131
1132 * Rhythmic_head, Staff_symbol, Grace_align_item, Break_align_item,
1133 Bar, Span_bar are now interfaces, Staff_bar was removed. Use a
1134 callback for determining barsize.
1135
1136 * Removed all GLUE_SCORE_ELEMENT callbacks. 
1137
1138 * Added test for repeats to trip.ly
1139
1140 1.3.68
1141 ======
1142
1143 * ly2dvi: changed back to original semantics of latexheaders.
1144
1145 * Stem_tremolo, Crescendo, Hara_kiri_group_spanner, Tuplet_spanner,
1146 Volta_spanner changed into interface.
1147
1148 * Related cleanups for Tie, Tie_column cleanups.
1149
1150 * Made Time_signature, Single_malt_grouping_item, Script_column,
1151 Chord_name, Dot_column, Breathing_sign, Key_item type into interface.
1152
1153 * Removed const declaration from callback arguments.
1154
1155 * Pagebreak support. See input/test/between-systems.ly
1156
1157 * Fixed a problem with accidentals in combination with
1158 non-nil key signatures.
1159
1160 1.3.67
1161 ======
1162
1163 * Use callbacks for augmentation dot positioning.
1164
1165 * Removed types Note_head and Rest
1166
1167 * Cleanup of slur.cc: use common reference points in a sane manner.
1168
1169 1.3.66
1170 ======
1171
1172 * Corrected text sizes in paper*.ly (Mats Bengtsson)
1173
1174 1.3.65.uu1
1175 ==========
1176
1177 * Dots, Collision, Rest_collision removed as separate Score_element type.
1178
1179 * Stem and Note_column accept only one rest.
1180
1181 * Use offset callback in Stem to resolve rest/beam collisions.
1182
1183 * Put the value of new  local key signature (accidentals) back into a property.
1184
1185 * Set molecule-callback for notename item.
1186
1187 1.3.65.jcn2
1188 ===========
1189
1190 * Added some comments to new slur code.
1191
1192 * Removed some ugly interstaff slur code, interstaff slurs at line-break
1193   are still broken.
1194
1195 * Slur bugfix: 16th beams are also beams.
1196
1197
1198 1.3.65
1199 ======
1200
1201 * Bugfix: translate volta spanner at start of line.
1202
1203 * Changed directional_element() calls to instantiations
1204 of Directional_element_interface.
1205
1206 * Removed Dynamic_line_spanner, and cleaned up Dynamic_engraver.
1207
1208 * Removed Staff_info type. Information about columns is now transferred
1209 via currentMusicalColumn and currentCommandColumn.
1210
1211
1212 1.3.64.jcn2
1213 ============
1214
1215 * Made slur attachment position user settable; properties:
1216 slurBeginAttachment slurEndAttachment, values: 'head 'stem
1217 'along-side-stem.  See input/test/slur-attachment.ly and ophee-slurs.ly.
1218
1219 * Fixed slur attachment positions, added missing rule and use simple
1220 default starting positions for attachments.
1221
1222 * Started rewrite of slur ending code, interstaff slurs are broken for
1223 now.
1224
1225 * Fixed download URL of the webpage.
1226
1227 * Moved direction.cc to flower/.
1228
1229 1.3.64
1230 ======
1231
1232 * Lyrics centered on notehead.
1233
1234 * Various bugfixes hyphen-spanner.
1235
1236 * Bugfix: set appropriate callbacks for Note_head. This fixes 
1237 problems with dots.
1238
1239 * Removed Clef_item as score-element derived type.
1240
1241 * Updated config.sub and config.guess
1242
1243 * Bugfix: allow linebreaks on beamed grace notes.
1244
1245 1.3.61.jcn2
1246 ===========
1247
1248 * Included dutch po-update based on submitted 1.3.57 nl.po
1249
1250 * Added "Development" link to website, now that "Home" is a relative link.
1251
1252 * Bugfix: use deep copies for resetting keys.
1253
1254 * Assorted typing erors in procedure names in ly/engraver.ly
1255
1256 1.3.62
1257 ======
1258
1259 * Made callbacks from Score_element::before_line_breaking() and
1260 Score_element::after_line_breaking()
1261
1262 * Fixed website; backlinks should work again.
1263
1264 * Removed --ignore-version option. Added --verbose option.
1265
1266 1.3.61
1267 ======
1268
1269 * Webpage hacking
1270
1271 1.3.60.hwn1
1272 ===========
1273
1274 * Junk int_identifier, real_identifier. Merged Midi_def_identifier and
1275 Paper_def_identifier.
1276
1277 * Fixed bug with spanning barlines in combination with Hara-Kiri staffs.
1278
1279 * Cleaned up Text_item, Hyphen_spanner, Lyric_extender and
1280 Sustain_pedal and reduced them to an Score_element interface (they are
1281 no longer Score_element derived types).
1282
1283 * Some instances of brew_molecule routines have moved out of
1284 Score_element, and are now called scheme_molecule.
1285
1286 * Moved lots of parameters from ly/params.ly to ly/engraver.ly
1287
1288 1.3.59.hwn1
1289 ===========
1290
1291 * Removed String_identifier, and use the type system of GUILE instead.
1292
1293 * Fixed \key PITCH MODALITY syntax. The modality argument is now
1294 mandatory, a rule in convert-mudela has been added.
1295
1296 * Cleaned up  buildscripts/ directory: removed obsolete scripts.
1297
1298 * Use Scheme_hash_table for identifier Scopes.  Scheme_hash_table is
1299 based on STL and should be faster than hash_table.
1300
1301
1302 1.3.59.jcn1
1303 ===========
1304
1305 * Fixed scm_un/protect_object for guile-1.3.4 and 1.3.5 snapshots,
1306   in the process reduced number of protect/unprotect calls.  With
1307   guile-1.3.5 snapshot, memory usage has decreased by 1/5th, now
1308   just 10% above the 1.2 level.  Also, Lily's a bit faster.
1309
1310 * Fixed make diff bug in stepmake to be able to make this diff :-)
1311
1312 1.3.58.hwn1
1313 ===========
1314
1315 * Rewrote key sig support.  Now key signature can also be controlled
1316 by setting keySignature and localKeySignature properties, eg.
1317
1318         \property keySignature = #'((2 . -1) ( 4 . -1) (6 . -1))
1319
1320 sets a key signature of `es ges bes' (an unusual key signature).
1321
1322 Keys are internally represented as transpositions of the c-major
1323 scale. Printing the key signature for a scale is done by filtering out
1324 all non-natural accidentals.
1325
1326 * Removed support for \keysignature, and \key something \minor; Newkey
1327 is now obsolete.
1328
1329 1.3.58.jcn3
1330 ===========
1331
1332 * Fixed pedal items (hw)
1333
1334 * Changed configure option tex-tmfdir to tmf-path now accepting multiple
1335   tfm directories.  Automated links to cmr and amstex tfm font directories.
1336
1337 * Replaced one scm_assoc () u-turn slipped through jcn1
1338
1339 * various GUILE 1.3.5 compile fixes
1340
1341 * Added `Ped' as a compound symbol font and removed silly scheme kerning.
1342
1343 * Replaced some scheme assoc u-turns with scm_assoc ()
1344
1345 * Ran po-update (mostly because of new ja contribution).
1346
1347 1.3.57.jcn2
1348 ===========
1349
1350 * Cleaned-up scheme list to text conversion for Chord_name and 
1351 fixed horizontal kerning.
1352
1353 * Added examples for american (slashed o) and jazz (black triangle),
1354   see input/test/{american-chords.ly,jazz-chords.ly}
1355
1356 * Made guile-1.3.5 compile fixes
1357
1358 1.3.57.uu1
1359 ==========
1360
1361 * Fixed typo in Dots::do_brew_molecule (); this fixes the disappearing
1362 dots problem.
1363
1364 * Rewrote key signature administration; now Scheme is used; Octave and
1365 Key have been junked in favor of Newkey.
1366
1367 * japanese .po file included (thanks, Japanese team!)
1368
1369 1.3.57
1370 ======
1371
1372 * Fixed several forgotten molecule-callbacks 
1373
1374 * Fixed first clef in score; now F clefs are also possible.
1375
1376 1.3.56.mb1
1377 =========
1378  
1379 * Updated FAQ with two useful GDB macros.
1380
1381 * Several fixes in the documentation.
1382
1383 1.3.55.jcn1
1384 ===========
1385
1386 * Made (dutch) po-update
1387
1388 1.3.56
1389 ===========
1390
1391 * Molecules are now generated via callbacks exclusively; most calls to
1392 set_elt_property ("transparent", SCM_BOOL_T) have been replaced by suicide().
1393
1394 1.3.55
1395 ======
1396
1397 * Experimental property collapse for most score-elements.  (notable
1398 exceptions: Scripts, pedals). Change all Score_element constructors to
1399 take a basic-property list. The suffix of a property list may be
1400 shared by several score-elements, for instance all default G-clefs in
1401 a score share the following settings
1402   
1403            (breakable . #t)
1404            (break-align-symbol . Clef_item)
1405            (visibility-lambda . ,begin-of-line-visible) 
1406
1407 This should reduce memory usage further. 
1408
1409 * Magically fixed the disappearing Lyrics problem.
1410
1411 * Removed used_b_ field from Score_element.  
1412
1413 * Massive search-replace patch: store pointers and properties
1414 separately, in preparation of property collapse.
1415
1416
1417 1.3.54
1418 ======
1419
1420 * Bugfix: don't crash on tuplet spanners that don't contain any notes.
1421
1422 * Cleanup of Dimension_cache: removed a few redundant
1423 fields. Slightly lower memory usage (32 bytes per
1424 score-element). Dimension_cache is now a `dumb' struct again.
1425
1426 * Add array index to priority field of text scripts to ensure that
1427 order is unique, and sensible.
1428
1429 * Added an element count statistic.
1430
1431 1.3.53
1432 ======
1433
1434 * russian.po (thank you, August.)
1435
1436 * Small cleanups in Molecule interface 
1437
1438 * Spacing related elements perform suicide after calculating
1439 distances.  This saves a some memory, approximately 2 to 5 % ?
1440
1441 * Small cleanups in line breaking: Paper_column stores springs and
1442 rods in only one place now.  All fields relating to energy have been
1443 removed
1444
1445 * Don't generate all output Scheme in memory, but evaluate to output
1446 file immediately.  This will reduce memory usage a little.
1447
1448 * Use STL's map  for Dictionary template
1449
1450 * Substitute pointers on element properties of the root Line_of_score
1451 as well.
1452
1453 * Added toplevel doc target, to support building doc with --srcdir
1454
1455 * Removed cygwin build stuff; updated versions at:
1456
1457      http://appel.dyndns.org/lilypond/gnu-windows/cross
1458
1459 * Fixed lily.scm to handle incipits (thanks, Mats)
1460
1461
1462 1.3.52
1463 ======
1464
1465 * Made bugfix in smob handling: delete the C-part of freed smobs and
1466 be honest about amount of allocation and deletion, so that GUILE
1467 doesn't overestimate the amount of memory available.
1468
1469 * Faq update: nicer blank note paper, courtesy Mats Bengtsson.
1470
1471 * Bugfix: don't crash on durations that are not a power of 2.
1472
1473 * Build manpages during `make all' 
1474  
1475 * Bugfix: don't do absolute comparisons in Polynomial::clean ().
1476
1477 * Bugfix: set visibility-lambda for key signature created by
1478 createKeyOnClefChange. Fixes disappearing key signatures. 
1479
1480 * Bugfix: make System_start_delimiter of bar-line type invisible when
1481 it spans only one staff.
1482
1483 1.3.51
1484 ======
1485
1486 * Item cleanups.  Copying items and rearranging pointers are done in
1487 separate passes, which makes the code cleaner. This fixes a problem
1488 with some items not disappearing from hara-kiri staffs.
1489
1490 * Use Scheme for Key_item data members. 
1491
1492 * Don't use regex in chord-names.scm under windows; hybrid chordnames
1493 user+calculated will be partly broken.
1494
1495 1.3.50
1496 ======
1497
1498 * Junked Shift_tuple from collision; Now it uses SCM.
1499
1500 * Bugfix of documentation and test-file of tuplet.
1501
1502 * Bugfix type string of repeated music is copied. This fixes declared
1503 tremolos.
1504
1505 * Junked various cruft from lily.scm
1506
1507 * Use interfaces symbols instead of C++ class-name for assigning generic
1508 element properties.
1509
1510 * Junked Dictionary from Piano_pedal_engraver and
1511 Piano_pedal_performer.
1512
1513 * Introduced boolean element property no-spacing-rods: ignore this
1514 item for hard constraints.
1515
1516 * Bugfix: added sanitised TeX fragment in faq.texi
1517
1518 * Bugfix: merge equal Bar_reqs
1519
1520 1.3.48.uu1
1521 ==========
1522
1523 * Small fixes for \cresc and \endcresc
1524
1525 * Release properties of unbroken spanners & items after doing
1526 handle_broken_smobs (); should conserve a little memory.
1527
1528 * Fixed handling of orphaned score-elements. Any element that does
1529 not have its Line_of_score as a ancestor in both directions, is silently
1530 removed from the output.  This guarantees that programming errors
1531 don't result in coredumps from Dimension_cache::common_refpoint ():
1532 element->line_l () is always a common reference point.
1533
1534 * Bugfix: set visibility-lambda of clef and octavation-8 explicitly
1535 for default case.  Now the octavation 8 is not printed at every
1536 barline.
1537
1538 1.3.48.mb1
1539 ===========
1540
1541 * Changed noteHeadStyle properties to symbols, for example
1542   \property Voice.noteHeadStyle = #'cross
1543
1544 1.3.47.jcn3
1545 ===========
1546
1547 * Rewrite of chord-name production in scheme.  There are two major styles
1548   now, banter and american.  To get american style, use
1549
1550       \property ChordNames.chordNameStyle = "american"
1551  
1552   Most anything should be possible now.  See input/test/american-chords.ly
1553
1554 * Added isinf check to configure.in, and isinf macro from guile to
1555   bezier.cc; solaris has no isinf ().
1556
1557 * Fixed star-spangled-banner with not-so-nice \bar "|." fix.  Almost
1558   perfect now.
1559
1560 * Added output property to regression test.
1561
1562 * Fixed warning of creating existing outdir.
1563
1564 * Added `Mark' interface to text-items that are marks (thanks, HW).
1565
1566 1.3.48
1567 ======
1568 1.3.47.mb2
1569 ===========
1570
1571 * Corrected glossary.tely
1572
1573 * Corrected \mark font handling. feta-nummer font only of the 
1574   string is all numeric.
1575
1576 * Implemented noteHeadStyle lookup in Guile. Reintroduced the style
1577   "harmonic" and added "baroque" (normal note shapes except for 
1578   brevis and longa which are square).
1579
1580 * Simplified ly2dvi using the power of the geometry package.
1581
1582 * Improved heuristic size calculation of TeX macros. Handles e.g.
1583   "\\u{a}", "\\"{o}" and "\\^{u}" correctly.
1584
1585 1.3.47.hwn1
1586 ===========
1587
1588 * Bugfix: don't hang on zero-duration.
1589
1590 * Various glossary updates (thanks, Christian)
1591
1592 1.3.47
1593 ======
1594
1595 1.3.46.jcn2
1596 ===========
1597
1598 * Drastically reduced vertical space used by headers/footers, when using
1599   ly2dvi.  See input/test/fill-a4.ly.
1600
1601 * Fixed bug with colons appearing on repeat span-bars.
1602
1603 * Added Bar_number_engraver to standard Score context
1604
1605 * Construct octavation scripts in the clef-engraver; this fixes the
1606 hara-kiri + clef8 problem
1607
1608 1.3.46
1609 ======
1610
1611 1.3.45.jcn2
1612 ===========
1613
1614 * Fixed chord-name customisation and made small chord-name build fixes.
1615
1616 * Accidentals with chord-names smaller and as superscript.
1617
1618 * Do some extra footify (works only once) while making html docs.  
1619
1620 1.3.45.hwn1
1621 ===========
1622
1623 * Debian patch (Thanks Anthony)
1624
1625 * Rewrote Bar_number_engraver and Mark_engraver and removed
1626 Bar_script_engraver as baseclass. Both Bar_number_engraver and
1627 Mark_engraver are simpler and more robust.
1628
1629 * Fixed precedence of \property verticalDirection and dynamicDirection
1630
1631 * Fixed keys without barlines 
1632
1633 * Fixed StaffGroups: removing `\consistsend "Axis_group_engraver"'
1634 puts alignment in function again
1635
1636 * Fixed StaffGroup + GrandStaff combination.
1637
1638 * Music is now mandatory as the first thing in a \score{} block
1639
1640 1.3.45
1641 ======
1642 1.3.44.jcn2
1643 ===========
1644
1645 * Implemented una-chorda and sostenuto piano pedals in performer and engraver.
1646
1647 * Added Properties textScriptWordSpace and chordNameWordSpace.
1648
1649 * Junked old lyrics in star-spangled-banner.
1650
1651 * Added a Piano_pedal_engraver.
1652
1653 * Removed some empty files.
1654
1655 * Created piano pedal symbols: * - . P e d.
1656
1657 * Fixed ps-to-pfa.py to handle multiple unfills.
1658
1659 * Moved accordion symbols out of feta-script to end of font.
1660
1661 * Bugfix: don't create tfm's, pfa's etc of feta-test fonts.
1662
1663 * Fixed blot_diameter for small resolutions.
1664
1665 1.3.43
1666 ======
1667
1668 * Put global element list into Line_of_score, instead of
1669 Paper_score. post processing (the stage after line breaking) is now
1670 truly done per-system, and we got rid of an ugly hack to get font
1671 handling OK.
1672
1673 * Bugfix: set the group-interface of System_start_delimiter.
1674
1675 * Cleanups of Break_algorithm and derived classes, Move
1676 broken_col_range () to Line_of_score, remove Paper_score::col_l_arr_
1677
1678 * Bugfix for accordion symbols.
1679
1680 * Various patches to prevent crashing when do_brew_molecule gets
1681 called before after_line_breaking (). This was a problem in Spanner
1682 classes mostly.
1683
1684 1.3.43
1685 ======
1686
1687 1.3.42.jcn3
1688 ===========
1689
1690 * Made a quick try at piano pedal performer, damper pedal only.
1691
1692 * mf/feta-accordion.mf: Fixed strange turning paths.
1693
1694 * mf/feta-beugel.mf: Fixed infinity errors.
1695
1696 * Use a more discriptive name for windows setup.zip.
1697
1698 * mf/GNUmakefile: Have logs as last target, so that normally, they're 
1699 not made twice.
1700
1701 * stepmake/stepmake/metafont-rules.make: Don't remove the .log files.
1702 The logs are a target, removing them retriggers make.
1703
1704 * stepmake/stepmake/metapost-rules.make: Remove the correct log and tfm
1705 files, ie the ones that clutter the source directory, not the target logs.
1706
1707 * Windows distribution: faked symlink for cmtfm.  Setup.zip should now be
1708 standalone; ie, no need for Cygnus' usertools anymore.
1709
1710 1.3.42.jbr1
1711 ===========
1712   
1713 * Documentation/ntweb: Updated angels.ly to match current syntax.
1714 Also updated index.texi.
1715
1716 1.3.42.uu1
1717 ==========
1718
1719 * Change all occurances of Staff_margin_engraver to
1720 Instrument_name_engraver, add a convert-mudela rule
1721
1722 * Change status == busy assert into programming error
1723
1724 1.3.42
1725 ======
1726
1727 1.3.41.jcn3
1728 ===========
1729
1730 * Lots of fixes to windows distribution scripts.
1731
1732 * Added configuration features --program-prefix, --program suffix.
1733
1734 * lily/my-lily-parser.cc (get_chord): Bugfix, don't use deleted pitch.
1735 This fixes inversions c/g and bass additions d/+c on chords.
1736
1737 1.3.41.mb1
1738 ==========
1739
1740 * Avoid that xxxXXXVerticalExtent is used for empty HaraKiriStaff
1741   lines.
1742
1743 1.3.41.hwn1
1744 ===========
1745
1746 * Debian patches (thanks Anthony!)
1747
1748 * Use symbols for prefatory matter spacing. Do not use the typename
1749 for looking up item pairs in the table, but read element property
1750 break-align-symbol
1751
1752 * Instrument_name_engraver, uses break alignment instead of
1753 side-position.
1754
1755 * System_start_delimiter_engraver, System_start_delimiter, uses a
1756 spanner for the braces/brackets at the left of the system. Remove all
1757 old Span_score_bar engravers.
1758
1759 * Removed Base_span_bar_engraver::use_prority_b_, and moved
1760 Base_span_bar_engraver into Span_bar_engraver.
1761
1762 1.3.40.jcn3
1763 ===========
1764
1765 * mutopia/Coriolan/violino-2.ly: Bugfix: wrong pitch.
1766
1767 * input/test: Removed stale AutoStaffSwitch examples.
1768
1769 * mutopia/E.Satie: Fixed gnossiene-4, doing \autochange.  Removed
1770 stale copy of gnossiene-4.
1771
1772 * buildscripts/make-cygwin-cross.sh: Made some small .zip package fixes.
1773
1774 * make/lilypond.spec.in: Made some bugfixes for _prefix, preparations
1775 for cross-building to Cygwin.
1776
1777 * buildscripts/make-cygwin-cross.sh: Now using rpm packages.
1778
1779 1.3.40.hwn2
1780 ===========
1781
1782 * added \property XXXMinimumVerticalExtent, \property XXXExtraVerticalExtent
1783
1784 * New_chord_tremolo_engraver: make tremolo beams from
1785
1786         \repeat "tremolo" NUMBER <Music-expression>
1787
1788 Removed support for "old-style" tremolos.
1789
1790 * Add a convert-mudela function for the conversion "\key A;" to "\key a; 
1791
1792 * Read \property measurePosition within the engraver code, instead of
1793 looking up the Timing_translator.
1794
1795 * star-spangled-banner.ly: add Bar_engraver to LyricsVoice 
1796
1797 * Changed all .fly and .sly files to .ly files.  Propose to dump .fly
1798 and .sly.
1799
1800 1.3.40
1801 ======
1802
1803 1.3.39.jbr1
1804 ===========
1805
1806 * buildscripts/mf-to-table.py: feta dep files are now opened with write
1807   binary option.  This avoids carriage return linefeed problems and
1808   windows while not affecting unix.
1809
1810 * Documentation/hacking.texi: Fixed a texinfo syntax error
1811
1812 * stepmake/bin/package-zip32.sh: Fixed or Removed some legacy, 1.2.x,
1813   directory paths.
1814
1815 * Documentation/ntweb/index.texi: Fixed broken links, added 1.3.39 links.
1816
1817 1.3.39.hwn1
1818 ===========
1819
1820 * Glossary updates by Christian Mondrup.
1821
1822 * Bugfix: use generic properties in lyrics too. This fixes the
1823 \property textStyle for lyrics.
1824
1825 * Score_element::preset_extent(), used by \property
1826 XXXVerticalExtent, so hard code the size of a vertical group. 
1827
1828 * Don't fix up reference points for originals of broken
1829 spanners. Fixes spurious "orphaned score-element" warnings.
1830
1831 * buildscripts/make-cygwin-cross.sh: Use rx-1.5 instead of regex (Jeffrey).
1832
1833 * scm/lily.scm: Fixed check for Windows: by default don't use scm regex.
1834
1835 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: Significantly smaller
1836 patch for guile.
1837
1838 * buildscripts/make-cygwin-cross.sh: Compile native package GNU regex,
1839 which should fix Windows problems with guile.  Also added input directory
1840 to zip file.
1841
1842 * stepmake/aclocal.m4: Added decent checking for version of guile, and 
1843 fixed warning message.
1844
1845 * lily/lexer.ll (My_lily_lexer): Bugfix: lookup chordmodifiers in the
1846 chord-modifier table (not in the pitch list).
1847
1848 1.3.39
1849 ======
1850
1851 1.3.38.hwn2
1852 ===========
1853
1854 * General cleanups of My_lily_parser. 
1855
1856 * Start of a Chord_tremolo_iterator for the `\repeat 4 "tremolo"'
1857 syntax.
1858
1859 * Moved Score_element::do_space_processing out of the dependency
1860 mechanism.
1861
1862 * Use Scheme for notename tables.  Removed uppercase letters for low
1863 octave notes. Removed Notename_table.
1864
1865 * Fixed core dump with declared "\key  ; "
1866
1867 * Extra robustness warning for Side_position_interface::aligned_on_self ()
1868
1869 * Extra robustness: make sure that first and last columns are breakable.
1870         
1871 1.3.38.jcn4
1872 ===========
1873
1874 * stepmake/aclocal.m4: Added support for cross-compiling with guile.
1875
1876 * buildscripts/make-cygwin-cross.sh: A try at dropping cygwin1.dll
1877  dependency by using mingw.  Compiling guile is too much to ask
1878  for mingw, though.  Also:
1879  - rename python scripts .py (request from Alain)
1880  - install native packages under their own, separate root. (Alain)
1881
1882 * lily.scm: Don't use regex module when running on
1883 Windows. (Shamus)
1884
1885 * lily/staff-margin-engraver.cc (acknowledge_element): If
1886 possible, hang y-axis of margin script to span-bar.  This fixes
1887 vertical placement of margin scripts attached to staff groups.
1888
1889 * help2man-rules.make: Fixes for generating manpages by copying
1890 and for building using --scrdir.
1891
1892 * stepmake/stepmake/generic-targets.make: Preserve date stamp of
1893 config.h, version.hh files file when copying.
1894
1895 * buildscripts/make-cygwin-cross.sh: made number of fixes:
1896         - add `Cygnus/' prefix to directories in .zip-file too.
1897         - package guile too.
1898         - don't link to cygwin1.dll
1899
1900 * stepmake/stepmake/install-targets.make: bugfix, don't fail if directory
1901   is not emty when uninstalling.
1902         
1903 * stepmake/stepmake/generic-targets.make: added man target.
1904
1905 * buildscripts/make-cygwin-cross.sh: new script for cross-building cygwin
1906   development tools and lilypond executable.
1907
1908 * Documentation/ntweb/lilypond-manpages.patch: provide pre-built
1909   manpages, so that make doesn't fail on help2man trying to execute
1910   a GNU/windows executable.     
1911
1912 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: new patch for
1913   guile-1.3.4.  
1914
1915 * flower/libc-extension.cc (memmem): cygwin compile fix.
1916
1917 1.3.38
1918 ======
1919
1920 1.3.37.hwn1
1921 ===========
1922
1923 * (generic-property.scm) added \property tieDash to set dashing on
1924 ties.
1925
1926 * Removed  ly_eval_str(), we should use scm_eval (Scm_object).
1927
1928 * Removed scm_to_array (), array_to_scm (), associated junk. Reverted
1929 undocumented .29 patch that made Bezier::control_ into an
1930 Array<Offset>.  Added some comments documenting the reasons for the
1931 changes.
1932
1933 * Revert generic-property.scm of .37 fix, fix the real problem in
1934 property-engraver.cc: use the right symbol to check if element
1935 property is already set.
1936
1937 1.3.37.jcn2
1938 ===========
1939
1940 * Fixed srcdir build, so that you can do:
1941
1942       tar xzf releases/lilypond-x.y.z
1943       mkdir <build>
1944       cd <build>
1945       ../lilypond-x.y.z/configure
1946       make
1947
1948   as with any other gnu package.  All build output goes to <build>/out.
1949
1950 * Changed and fixed use of different configurations, and different output
1951   directories.  Finally, you can use different configurations alongside
1952   eachother.  From make/stepmake.make:
1953
1954       # Use alternate configurations alongside eachother:
1955       #
1956       #     ./configure --enable-config=debug
1957       #     make conf=debug
1958       #
1959       # uses config-debug.make and config-debug.h; output goes to out-debug.
1960       #
1961
1962       # Use same configuration, but different output directory:
1963       #
1964       #     make out=www
1965       #
1966       # uses config.make and config.h; output goes to out-www.
1967       #
1968
1969
1970 * Fixed performance of (de)crescendi.
1971
1972 * Better documentation for arithmetic_multiplier and arithmetic_basicspace
1973   in params.ly.
1974
1975 * Added instrument-equaliser for MIDI output, see scm/midi.scm, and
1976   properties midiMinimumVolume, midiMaximumVolume, ranges [0,1].
1977
1978 * Changed absolute midi volume settings into factor of full scale.
1979
1980 * Fixed another dynamic-line-spanner bug, it gets hairy.
1981
1982 * Added warning for spanners that are not fully contained in parent spanner.
1983
1984
1985 1.3.37
1986 ======
1987 1.3.36.hwn1
1988 ===========
1989
1990 * Abstract Align_element into Align_interface. Removed
1991 Axis_align_{item,spanner}, Align_element, Super_element, all multiple
1992 inheritance in the backend.
1993
1994 * new Gade score, INSTALL.texi fixes (thanks, Mats)
1995
1996 * Removed Item::hpos_f (), Score_element::{get,set}_real ()
1997
1998 * comments detailing properties for Axis_group_interface,
1999 Side_position_interface, Score_element, Item and Spanner
2000
2001 1.3.36.jcn3
2002 ===========
2003
2004 * Fixed vertical dimensions of elements in dynamic line spanner by adding
2005   axis-group to dynamic line spanner.
2006
2007 * Bugfix: line-spanner lasts always full duration of (de)crescendi.
2008
2009 * Bugfix: broken (de)crescendi on a dynamic-line-spanner.
2010
2011 * Bugfix: compilation dynamic-engraver.
2012
2013 * Added and updated a faq about postscript and ghostscript.
2014
2015 * Fixed order of slurVerticalDirection verticalDirection in
2016   generic-property.scm.  Similar fixes for Stem, Tie, etc.
2017
2018 * Added a Text_engraver to GraceContext.  Maybe it was removed on
2019   purpose: scripts on grace notes seem broken, they appear on the
2020   main note.
2021
2022 * Bugfix: volume effect of (de)crescendi was sometimes wrong way round.
2023
2024 1.3.36
2025 ======
2026 1.3.35.hwn1
2027 ===========
2028
2029 * textEmptyDimension changed into textNonEmpty, default: off,
2030 ie. texts don't occupy space.
2031
2032 * Use STL map for Lookup::lookup_p_tab_p_
2033
2034 * Abstracted Axis_group_element into Axis_group_interface, and removed
2035 Axis_group_element. This eliminates some multiple inheritance in the
2036 backend
2037
2038 1.3.35.jcn1
2039 ===========
2040
2041 * Added minimum-space property to Side_position_interface.  Used in
2042   positioning of Volta_spanner: voltaMinimumSpace.
2043
2044 * Fixed and cleaned-up volta-spanner.
2045
2046 * Moved directional-element.cc -> directional-element-interface.cc
2047
2048 * Renamed all `process_requests' to `process_music', which fixes
2049   midi performance.
2050
2051 * Fixed dimensions (more x-y interchanges) of brace, bracket and
2052   volta-spanner.
2053
2054 * Half-assed fix to get similar vertical placement of orphaned vs.
2055   line-spanned dynamic elements.
2056
2057 * Added property bracketCollapseHeight: the minimal size of a staff bracket
2058   that will be typeset.  Smaller brackets will not be displayed.  This
2059   fixes the (in 1.3.x reintroduced) funny duck-beak-bracket-bug (sorry).
2060
2061 * Removed some dissonant chords from Coriolan
2062
2063 1.3.35
2064 ======
2065
2066 * Removed Documentation/programmer directory 
2067
2068 1.3.34.jcn3
2069 ===========
2070
2071 * Small enhancements to Staff_margin_engraver:
2072    - by default, the marginScript left aligns the text
2073    - to set the text style, use property marginScriptTextStyle
2074    - to change the alignment, use property marginScriptHorizontalAlignment
2075      (centred and right alignment require manual padding settings).
2076
2077 * Print a friendly message if the manual pages failed to build.
2078
2079 * Bugfix: dynamicDirection now overrides verticalDirection setting.
2080
2081 * Warning messages and nl.po
2082
2083 * Fixed vertical alignment for all dynamic items and (reluctantly)
2084   reinstated old directional behaviour for orphaned dynamics.
2085
2086 * Finished maximumRestCount property.
2087
2088 1.3.34
2089 ======
2090 1.3.33.hwn2
2091 ===========
2092
2093 * Print key without setting key, syntax "\key ;". General cleanups of
2094 key-item.
2095
2096 * Add paragraph tags in HTML output of mudela-book.  Music fragment
2097 don't run into the text anymore.
2098
2099 * Bugfix: don't align the first line of text. (Lookup::text ()).
2100
2101 * Abstract away data members of Axis_group_element, Align_element
2102
2103
2104 1.3.33.jcn3
2105 ===========
2106
2107 * Added helpful properties instrumentScriptPadding/instrScriptPadding for
2108   Staff_margin_engraver.
2109
2110 * Removed some empty files, substituted (c) 1999 occurrences.
2111
2112 * Added \property maximumRestCount.  It will prevent showing (or actually:
2113   moving in case of a collision) more than maximumRestCount similar rests.
2114   WIP!
2115
2116 * Rewrote Staff_margin_engraver.  Staff margin texts now hang on a new
2117   breakable item: Left_edge_item.
2118
2119 * Fixed vertical alignment for dynamic elements.  Orphaned dynamic items
2120   (not supported by a Dynamic_line_spanner) still collide with Staff,
2121   although they now have staff support, which was supposed to fix this.
2122
2123 * Fixed Staff_margin_engraver for "instrument", "instr" is still broken.
2124
2125 * Dynamic elements are only put in a Dynamic_line_spanner if there
2126   actually is more than one adjacent note-column with a dynamic.
2127   This breaks the fine looks of all dynamics, again :-)
2128
2129
2130
2131
2132 1.3.33
2133 ======
2134
2135 1.3.32.hwn3
2136 ===========
2137
2138 * Experiment: use STL map for Scheme_hash_table; Is there a speedup?
2139
2140 * Bugfix: print brace iso. bracket for Piano / GrandStaff
2141
2142 * Change naming: change do_post_processsing into after_line_breaking,
2143 do_pre_processsing into before_line_breaking and do_process_requests
2144 into do_process_music.
2145
2146 * Bugfix in hash-table.hh: do quadratic probing, and not cubic probing.
2147
2148 * Display property name for type error.
2149
2150 * Cleanups for Dynamic_engraver and Dynamic_line_spanner.
2151
2152 * Warn if last column in score is musical. Helps catch programming errors.
2153
2154 * Spanner::spanned_drul_ now is private. 
2155
2156 * Rewrote some bar code: moved molecule functions out of Lookup.
2157
2158 1.3.32.jcn3
2159 ===========
2160
2161 * Embedded newlines in text items are now allowed.  This helps avoiding
2162   TeX-hacking in some cases.  See input/test/coriolan-margin.ly
2163
2164 * Fixed stupid x-y interchange bug for staff-bracket.  This fixes
2165   placement of staff-brackets.
2166
2167 * Fixed bracket/arch-thickness interchange bug, and made bracket a bit
2168   thinner.
2169
2170 * Fixed slur/bezier-beautiful name mismatch.  This should fix the steep
2171   slurs that were apparently reintroduced in 1.3.29.
2172
2173 * Made some small fixes to Coriolan.
2174
2175 * Removed duplicate lily/output-property-engraver.hh.
2176
2177 * Removed optional use of vanilla spanner in Dynamic_engraver.
2178
2179 * Fixed (measured) tremolo for Stem and Beam. Merged declarations
2180   stem-engraver.hh and chord-tremolo-engraver.hh into their .cc
2181   implementation file.  Also fixed looks of Chord tremolo, input and
2182   implementation is still ugly.
2183
2184 * Added *.yy and *.ll to TAGS, to that tags-find-replace doesn't omit
2185   parser and lexer.
2186
2187 1.3.31.mb1
2188 =========
2189
2190 * Fixed \specialkey and \normalkey. Updated documentation.
2191
2192 1.3.32
2193 ======
2194 1.3.31.jcn5
2195 ===========
2196
2197 * Fixed and cleaned-up Dynamic_engraver.  Optionionally uses vanilla
2198   spanner instead of Dynamic_line_spanner.
2199
2200 * Made gcc-2.95 compile fix in libc-extension.
2201
2202 * Various fixes to Coriolan, score starts to look acceptable.
2203
2204 * Moved optional text of crescendo into Crescendo spanner.  Fixed horizontal
2205   and vertical alignment of dynamics.
2206
2207 * Added new text crescendo spanners to Coriolan and made some fixes.
2208   If you're using timidity, use the -EO option to prevent notes get
2209   stuck.  I'm not sure whose fault this is, Lily's MIDI output may be
2210   stretching the standard a bit.
2211
2212 * Adjacent dynamic markings are now grouped on a horizontal line, but it's
2213   not perfect yet: they're always below the staff and no horizontal spacing
2214   is done.  Also, character metrics of dynamics are still not used.
2215   See: input/test/crescendi.ly and input/test/dyn-line.ly
2216
2217 * Cleaned up Span_dynamic_performer.
2218
2219 1.3.31
2220 ======
2221 1.3.30.mb1
2222 =========
2223
2224 * Fixed the page layout, reintroducing space for the header and
2225   trying to keep piece titles on the same page as the piece.
2226   The header and footer can now contain several lines.
2227
2228 1.3.30.jcn3
2229 ===========
2230
2231 * Lily now also performs crescendi and decrescendi in MIDI output:
2232   Span_dynamic_performer in a slightly crappy way.
2233
2234 * Added preliminary support for crescendi/decrescendi other than `hairpins',
2235   eg: `cresc. poco `a poco -- -- --'
2236
2237 * Made MIDI tie performance fix.
2238
2239 1.3.30.jcn2
2240 ===========
2241
2242 * Lily now performs absolute dynamics in MIDI output.
2243
2244 * Included David's comments on opus47 in TODO.
2245
2246 1.3.30.jcn1
2247 ===========
2248
2249 * More Coriolan: flute-1,2; oboe-1,2; clarinet-1,2; 
2250   fixes and remainder french horn-1,2; trombone-1,2;
2251   fagotto-1,2; timpani; and several fixes.
2252   
2253 1.3.30.uu1
2254 ==========
2255
2256 * Remove some old doco from programmer/ and put on personal homepage.
2257
2258 * Removed union-find from flower library.
2259
2260 * Only quantise tie horizontal part inside the staff.
2261
2262 1.3.30
2263 ======
2264 1.3.29.hwn1
2265 ===========
2266
2267 * Report type errors for \property. Helps with converting 1.2 input
2268
2269 * Use Scheme for Align_element; fixed graceAlignPosition 
2270 and removed \property alignmentReference in the process.
2271
2272 * Use generic properties for lyrics too.  This fixes \property
2273 Lyrics.textStyle
2274
2275
2276 * Add relative distance for constraints between non-column items.
2277
2278 * Automatic \marks: use "\mark ; ". The mark numbers or letters are
2279 increased automatically.
2280
2281 * Translators now only change properties of their own context. This
2282 removes the 2nd argument to Translator::get_property()
2283
2284 * Bugfix for Metapost mode
2285
2286 1.3.29.uu1
2287 ==========
2288
2289 * Updates of glossary  (Christian Mondrup)
2290
2291 * Bugfix with bar number placement
2292
2293 * Moved links to bibliography/ and misc/ to main index.
2294
2295 1.3.29
2296 ======
2297
2298 * Moved Slur-specific code from Bezier_bow to Slur and Slur_bezier_bow.
2299   Slurs are now calculated just once.
2300
2301 * Bezier_bow gets constants from paper.  Still no sensible solution for
2302   magic asymmetry gradient step constants.
2303
2304 * Reinstantiated tangent-controls, more flexible than ever.  You can choose
2305   between area asymmetry and tangent-controls.  My guess is, tangent controls
2306   will be junked in 1.3.30.
2307
2308 * Slur area: only look at x-gradient.
2309
2310 * Added credits for some symbols of as5/9 fonts.
2311
2312 * Bugfix: don't make almost flat slurs, change in de-uglyfy slur.  
2313
2314 * Bugfix: midi2ly put out recent version (ugh).
2315
2316 1.3.28.hwn2
2317 ===========
2318
2319 * Bugfix: don't forget to process staffSpace and numberOfStaffLines
2320 properties.
2321
2322 * Removed Gade score. To appear (shortly?) on Mutopia. 
2323
2324 * Make Bar_script_engraver look for typeVisibilityFunction (eg
2325 property barNumberVisibilityFunction). Changed the names of the Scheme
2326 functions to be understandable. See input/test/bar-script-visibility.ly
2327
2328 * rewrite of class Molecule. It has now reached the ultimate quality
2329 plateau. All molecule data is now shared.
2330
2331 1.3.28
2332 ======
2333
2334 * Update of the glossary by Christian Mondrup 
2335
2336 * Moved horn-concerto-3 out of tarball to private website, removed
2337 W.A.Mozart subdirectory.
2338
2339 1.3.27.hwn1
2340 ===========
2341
2342 * Bugfix: don't make giant ties if the horizontal part of tie is near
2343 the center.
2344
2345 * Small optimizations to be a little more careful with mem usage. 
2346
2347 * Website change: put all examples in one directory.
2348
2349 * Removed Atom as a separate type.  Now use SCM, and since we use
2350 function composition, Atoms are immutable, so they don't have to be
2351 copied. This makes life easier, hopefully this is quicker and uses
2352 less memory.
2353
2354 1.3.27.jcn1
2355 ===========
2356
2357 * Bezier_bow: minimise_enclosed_area
2358
2359 1.3.27
2360 ======
2361
2362 1.3.26.hwn4
2363 ===========
2364
2365 * Tuplet-spanner slope calculation now looks better on tupletted rests
2366 (patch courtesy Laurent Martelli)
2367
2368 * Bugfix (Staff_performer::new_instrument_str ()) check type of
2369 \property "instrument"
2370
2371 * New mechanism for breaking lines: do not copy & prune the element
2372 property list separately, but combine these steps. Dramatically
2373 reduces memory usage for large scores.
2374
2375 1.3.27
2376 ======
2377 1.3.26.jcn2
2378 ===========
2379
2380 * Bugfix: font used in volta-spanner calculation.
2381
2382 * Added simple selection list to webpage, inspired by sawmill.
2383  
2384 * Devised kludge for ascii 5 character font pitches.
2385  
2386 * Substitutions: interline, 1997,1998, @stack.nl and small typo fixes.
2387
2388 1.3.26.hwn1
2389 ===========
2390
2391 * Plug memory leaks related to Moment:
2392   - Spacing_engraver::do_pre_move_processing ()
2393   - make_rational ()/make-rational
2394   - Paper_column::Paper_column ()
2395
2396 * Plug memory leak in Paper_outputter::output_{String,Real,int}_def()
2397
2398 * Plug memory leak in Score_engraver::set_columns ()
2399
2400 * Plug memory leak in Scheme_hash_table::set()
2401
2402 * Plug memory leak in Score_element::molecule_extent ()
2403
2404 * Bugfix: don't crash if a slur doesn't span anything.
2405
2406 * Bugfix: don't crash if doing beams without a staff symbol.
2407
2408 * Generic element property setting:
2409
2410         \outputproperty #predicate #'symbol = #value
2411
2412 Will set the element property symbol to value, for any elements that
2413 return true for PREDICATE.  This allows you to virtually tweak *ANY*
2414 property of the output. Example in input/test/generic-output-property.ly
2415
2416 1.3.26
2417 ======
2418
2419 * lilypond as as2ly: --help and --version to stdout.  Regular identify 
2420   to stderr.  This fixes help2man's manpage generation.
2421
2422 * configure: substitute full path for perl and guile in scripts.
2423
2424 * Added ascii slur and volta.  There seems to be a Lily bug in volta placement.
2425
2426 * Bugfix: default font now user settable
2427
2428 * as2text: handle plain ascii font, read from stdin, you can now do:
2429
2430   echo "\time 4/4; g''1 g2 g4. g8" | lilypond -f as -i init-as.fly - | as2text
2431
2432 1.3.25.hwn1
2433 ===========
2434
2435 * Bugfix: second half of broken ties now are displayed again.
2436
2437 * Bugfix: add clef to the support of 8 text in the G_8 clefs. Center
2438 it horizontally on the clef.
2439
2440 * Added Tie_column spanner. Ties in tied chords now get proper directionsa.
2441
2442 * Bugfix: unbroken repeat barlines now work, eg. |:
2443
2444 * Added Request_iterator to make more flexible constructions possible.
2445
2446 1.3.25
2447 ======
2448 * as2text: catch missing font/character errors, added default font, set text.
2449
2450 * New ascii fonts and glyphs: as5 as-numeral4 as-braces9
2451
2452 * Ascii output, minimal support:
2453   - AsciiScript Fonts: mf/*.af
2454   - Init files: ly/*-as.*ly 
2455   - AsciiScript translation to text: scripts/as2text.scm
2456   - input/test/as.fly input/test/as1.fly
2457   - Output support: lily/lily.scm
2458   - Try:
2459       lilypond -f as -i init-as.fly input/test/as.fly
2460       as2text as.as
2461
2462 1.3.24.hwn1
2463 ===========
2464
2465 * The horizontal part of ties will avoid collision with staff lines.
2466
2467 * Plugged memory leak: don't protect Atom function.
2468
2469 * Lookup cleanups. Made lots of functions static. Moved some code out
2470 of Lookup.
2471
2472
2473
2474 1.3.24.hwn1
2475 ===========
2476
2477 * Bugfix: ly2dvi.py exits succesfully when encountering --help and
2478 does not delete any of the file_ly*.tex.
2479
2480 * Added header and footer support in ly2dvi.py
2481
2482 1.3.24
2483 ======
2484
2485 * Added a ROADMAP file explaining the source directory layout.
2486
2487 * Minor tweak in the feta 6 and 9 numeral
2488  
2489 * Moved files from lib/ to flower/
2490
2491 * Removed Note_head_side class.
2492
2493 * Updated the webpage to be a little more chatty. 
2494
2495 * Small Local_key_engraver optimization: only lookup timing engraver once.
2496
2497 * Fixed dashed slurs
2498
2499 * Rewrite of Slur code.  Be much more picky about slur shapes. We try
2500 to offset the slur instead of bending it too much
2501
2502 * Look at stem directions for tie direction.
2503
2504 * Compound multimeasure rests. Put measures_i_ variable in an element
2505 property.  Made the symbol a lot wider.
2506
2507 * Time signature small cleanups.
2508
2509 1.3.22.hwn2
2510 ===========
2511
2512 * Symbols opposite to stem (eg marcato) now get the proper glyph in up
2513 version.
2514
2515 * Breathing marks now have a direction by default.
2516
2517 * Do set generic script properties.
2518
2519 * Also put tuplet brackets under notes.
2520
2521 * Score_element_info: only store origin of element, but not the path
2522 to parent translators. Saves a little memory, and removes some complexity.
2523
2524
2525 1.3.22.hwn1
2526 ===========
2527
2528 * Autobeaming in time sigs that don't have 1/4 beats fixed.
2529
2530 * (De)crescendi should now work. (Thanks Michael)
2531
2532 * Better error reporting for conflicting time signatures.
2533
2534 * Line_number_engraver: output locations of note head
2535 definitions. Very handy when entering complicated scores.
2536
2537 * Rewrote multi measure rest support: now they are entered as spanners
2538 (\commandspanrequest \start "rest"). RXXXX is an abbreviation for
2539
2540   { \commandspanrequest \start "rest"
2541     SXXXX
2542     \commandspanrequest \stop "rest"
2543   }
2544
2545 * Removed support of percent style repetitions. 
2546
2547 * Put texts outside the staff.
2548
2549 1.3.21.mb1
2550 ==========
2551 * Getopt bugfix: don't assert on certain errors.
2552
2553 * ly2dvi: Remove unnecessary space for the page headers.
2554
2555 * Bugfix convert-mudela
2556
2557 1.3.21.hwn1
2558 ===========
2559
2560 * Bugfix in lilypond-mode.el: eval-buffering now uses file name and
2561 not buffer name.
2562
2563 * Scrapped tupletVisibility property. Now use tupletNumberVisibility,
2564 tupletBracketVisibility, with Scheme value #t, #f or 'if-no-beam.
2565 \property tupletInvisible will stop all tuplet spanner creation.
2566
2567 * Don't go berserk if tuplet spanner is on only one column.
2568
2569 * Use SCMs & Smobs for Molecules & atoms.  This uses less
2570 scm_(un)protect_object () calls, so the output stage should be faster.
2571
2572 * Added \property tupletSpannerDuration, to make multiple tuplet signs
2573 with one \times.
2574
2575 * Some programming Errors in spacing are now caught. Lily does not
2576 hang when encountering degenerate springs.
2577
2578 * Allow beams to start and end over rests
2579
2580 1.3.19.hwn2
2581 ===========
2582 * Fix disappearing clefs when clefs are not printed with a barline.
2583
2584 1.3.20.jcn2
2585 ==========
2586
2587 * SCM properties beamHeight and beamVerticalposition now use half-spaces:
2588   input/test/beam-control.fly
2589 * Added \context Voice to .fly and .sly; the default \context Staff is almost
2590   never what you expect
2591 * Fixed decision for .sly/.fly in lilypond-mode.
2592
2593 1.3.19.hwn1
2594 ==========
2595
2596 * Clean up font-metric hierarchy, use Adobe AFM code to parse AFM files.
2597 Cleanup mf-to-table.py
2598
2599 * Fixed embarassing slur bug.
2600
2601 1.3.19.jcn1
2602 ==========
2603
2604 * lilypond-mode.el: guess init file for lily-*-region, lily-mode-map bindings
2605
2606 1.3.18.uu2
2607 ==========
2608
2609 * lilypond-mode.el for emacs supersedes mudela-mode.el 
2610
2611 * Tuplet spanners don't collide with encompassing notes. 
2612
2613 * Gobbled Adobe parseAFM* code, for future use.
2614
2615 * Big 1999 to 2000 search/replace.
2616
2617 * Big interline to staff_space search/replace for mf files.
2618
2619 * Removed Bow class, and split code into Tie and Slur
2620
2621 * Don't put scripts on grace notes.
2622
2623 * Font_metric uses SCM for name field.
2624
2625 * Various compilation fixes.
2626
2627 1.3.17.jcn2
2628 ===========
2629
2630 * Bugfix: beams with less than one (visible) stem
2631
2632 * small fixes to pa.ly
2633
2634 1.3.17.jcn1
2635 ===========
2636
2637 * Fixed bug that made multi-measure rest barnumber counts go wild.
2638 (even more scm2int/int2scm mixups!)
2639
2640 * mutopia/J.S.Bach/pa.ly: organ score (for my father)
2641
2642 * small fix to mutopia/J.S.Bach/Duette/violino-ii.ly
2643
2644 1.3.17.hwn2
2645 ===========
2646
2647 * Remove Paper_def calls in bezier-bow.cc
2648
2649 * Remove data members of Tuplet_spanner,  Volta_spanner
2650
2651 * hang_on_clef, property hangOnClef removed
2652
2653 * Bar::type_str_ mode into element property `glyph'. Use a Scheme
2654 function to determine breaking behavior.
2655
2656 * More Scheme typechecking.
2657
2658 * Be strict about the difference between strings and symbols for conversion.
2659
2660 * Fixed bug that made 1st line offset to right fixed. Bugfix courtesy
2661 Laurent Martelli.
2662
2663 * Partial French translation, courtesy Laurent Martelli.
2664
2665 * Small corrections in NL translation. 
2666
2667 1.3.17.hwn1
2668 ===========
2669
2670 * Added mensural note heads (noteHeadStyle = "mensural") Additionally,
2671 we have a longa note head.  noteHeadStyle = "harmonic" is not
2672 supported anymore. (for now, that is)  
2673
2674 * Reference manual update. Document \properties with examples
2675
2676 * fix mudela-book --help
2677
2678 * Use element properties for Text_item::text_str_, Clef_item::symbol_,
2679 Key_item::c0_position_
2680
2681 * Clef_engraver general cleanup. Use alists (\property
2682 supportedClefTypes, clefPitches) for clef types.
2683
2684 * Use progress_indication () for progress. Don't include <iostream.h> directly 
2685 Don't include <string.h>, <math.h> from headers.
2686
2687
2688 1.3.16.hwn1
2689 ===========
2690
2691 * \property stemCentered (boolean): centers stem on note head. See
2692 input/test/stem-centered.ly
2693
2694 * input/trip.ly, small test of lots of features.
2695
2696 * \property Staff.collisionMergeDotted: merge equal noteheads
2697 with different dot count. See input/test/collision-merge-dotted.fly
2698
2699 * Dotted rest bugfix 
2700
2701 * Don't crash if a slur does not span any notes.
2702
2703 * Volta repeats fixed.
2704
2705 * cleanup of Note_heads_engraver
2706
2707 * removed dots_i_ member of Dots
2708
2709 1.3.16.jcn1
2710 ===========
2711 * Fixed cross staff slurs.  It seems that cross-staff sign
2712   was swapped.
2713
2714 1.3.15.hwn1
2715 ===========
2716
2717 * Fixed bug in stem code.  Stem in chords works again.  Small
2718 stem cleanups.
2719
2720 * Use element properties for Staff_symbol.
2721
2722 * \property sparseTies (boolean).  Only make one tie in the
2723 middle for tied chords.
2724
2725 * Junked Directional_spanner, Column_info.
2726 Directional_element now is element interface `Directional_element_interface'
2727
2728 * cleanup: use to_boolean () iso. gh_boolean_p && gh_bool2scm
2729
2730 pl 15.jcn4
2731         - removed old notename2scm conversion
2732         - beam-dir-algorithm through scm
2733         - bfs paper-scm
2734 gv      - bf: knee-stemlengths
2735
2736 pl 15.jcn3
2737         - moved poor man's stem arrays to scm
2738         
2739 pl 15.jcn2
2740         - beam quanting using scm lists
2741
2742 pl 14.hwn1jcn1
2743         - chord-name uses scm members
2744         - bfs: knee with different mults, interstaff knee, auto-knee
2745
2746 **********
2747 pl 14.hwn1
2748         - specialize duration.cc for lily, move out of lib/
2749         - stem cleanup
2750         - more SCM typechecking
2751         - stafflineleading -> staff_space
2752         - bf: rod distances.
2753         - junk some unused code.
2754         
2755 pl 13.hwn2
2756         - paper/score column cleanups. Junk Score_column type
2757
2758 pl 13.hwn1
2759         - Bezier_bow/Bezier cleanups
2760         - bf: rest under beam.
2761         
2762 pl 13.jcn2
2763         - untangled Chord_name (item) and Chord (list-of-pitches)
2764         
2765 pl 13.jcn1
2766         - bezier-bow fix
2767
2768 **********
2769 pl 12.hwn1
2770         - polynomial.hh
2771         - bf: generic properties
2772         - quantise_iv () fix.
2773         - bezier cleanup
2774         - class Polynomial 
2775         - use smobs for font metric tables/hashes.
2776         - nl.po bf
2777
2778 **********
2779 pl 11.jcn3
2780         - small beam fixes (interstaff knees still broken)
2781
2782 pl 11.hwn1
2783         - bf: dots
2784         - bf: harmonic note heads
2785         - revise stem, notehead, rest
2786
2787 pl 11.jcn2
2788         - included missing scm,ly updates
2789         - bf: urg to_dir () takes scm..
2790         - bf's: if (Foo b = bar != 1)
2791         - beam cleanup
2792
2793 *********
2794 pl 10.uu1
2795         - various small bfs
2796         - bf: alignment reversed
2797         - Staff_symbol_referencer -> Staff_symbol_referencer_interface
2798         - bf: staccato pos
2799         - Knee fixes (thanks, Jan)
2800
2801 pl 10.jcn2
2802         - fixes for invisible beamed stems
2803         - removed steminfo from properties, don't cache Stem_info
2804
2805 pl 10.jcn1
2806         - steminfo to properties
2807         - dropped internote dim for stem-beams
2808
2809 *********
2810 pl 9.hwn1
2811         - abstracting Staff_symbol_referencer to an interface.
2812         - quantised_position for staccato dots.
2813         - standchen fixes
2814         - junk Score_element::do_{width,height}: set callbacks directly.
2815         - merge Score_element, Graphical_element
2816         - merge Axis_group_element, Graphical_axis_group
2817         - junk pointer fields from Score_element derived classes
2818         - junk obsolete do_substitute_dependency code.
2819
2820 **********
2821
2822 pl 8.hwn2
2823         - staff-support for Crescendi.
2824         - padding for accidentals.
2825         - cascading offset callbacks
2826
2827 pl 8.hwn1
2828         - note-head-side 
2829         - naming Staff_sidify -> Side_position_interface
2830
2831 ***********
2832
2833 pl 7.mb1
2834         - bf: timeSignatureStyle works again
2835
2836 pl 7.hwn1
2837         - Dirk Latterman key/mmrest patches
2838         - Offset callbacks in Dimension_cache
2839         - Junked Staff_side_*
2840         - Staff_sidify: interface class.
2841         - prelude-{1,2} fixes.
2842
2843 ***********
2844 pl 6.uu2
2845         - bf: PS font selecting.
2846
2847 pl 6.uu1
2848         - bf: ls-latex
2849         - mudela-book --no-pictures
2850         - bf: ly2dvi
2851         - convert-mudela: beamAuto moment syntax. 
2852
2853 pl 6.jcn3
2854         - fixed scm output
2855
2856 pl 6.jcn2
2857         - half-baken ly-gulp-file in scm
2858         - resurrected scm output through guile
2859
2860 pl 5.mb1
2861         - bf: version of init.sly, init.fly
2862         - Clarify necessary version of texinfo
2863         - bf: texi files, minor errors and syntax compatible with 
2864           older makeinfo
2865
2866 pl 6.jcn1
2867         - bf: scm output
2868
2869 *******
2870
2871 pl 5.hwn2
2872         - Bach preludes: mutopification
2873         - dots are Directional_element too; use \property dotDirection
2874         - moved some stuff out of Lookup
2875         - bf: dots
2876         - font selection mechanics changed.
2877
2878 pl 5.uu1
2879         - bf: smob allocation (thanks David!)
2880
2881 pl 5.hwn1
2882         - junked \shape. Now use #'margin-shape 
2883         - timing: one_beat -> \property beatLength
2884         - bf convert-mudela
2885
2886 ************
2887
2888 pl 4.uu1
2889         - input/test/ \property fixes.
2890         - gcc 2.95 fix
2891
2892 pl 4.hwn1
2893         - Break_align_engraver,
2894         break align order from  \property breakAlignOrder
2895         - junked Score_priority_engraver
2896         - moved Time_description into Timing_translator
2897         - use properties for timing, see input/test/timing.fly
2898         * removed \cadenza ; now use \property Score.timing
2899         * \property measurePosition
2900         * \property measureLength
2901         * \property currentBarNumber
2902         - Note_name_engraver , \context NoteNames
2903
2904
2905 pl 4.jcn1
2906         - junked some chord guessing code
2907         - bf: lookup size (-1) for chord-name accidentals
2908         - bf: ly2dvi's MFINPUTS setting
2909
2910 *************
2911 pl 2.jcn3
2912         - chords:
2913           * Chord is item
2914           * junked TeX hacking
2915           * configurable with styled strings from scm
2916           * fixes: dim, /no X, tonic != C
2917
2918 pl 2.jcn2
2919         - chords from  scm 
2920
2921
2922 pl 3.hwn2
2923         - visibility-lambdas into default elt properties SCM.
2924         - clef types in SCM
2925         - verticalDirection properties now in SCM.
2926
2927 pl 3.hwn1
2928         - move position_i_ into Staff_symbol_referencer
2929         - move dir_ into Directional_element baseclass
2930
2931 ****************
2932
2933 pl 2.hwn1
2934         - bf: dynamic style.
2935         - prepare to move dir_ into SCM. 
2936
2937 pl 2.jcn2
2938         - chord fixes: 
2939            * inversion request: no inversion guessing for chord entry
2940            * bass request: c/+b to add bass note not part of chord
2941            * -dim modifier works on all thirds
2942            * colon iso dash as tonic/modifier-additions separator
2943            * C:m5- displays as "Cdim"
2944            * C:m5-7- displays as "Co"
2945
2946 pl 2.jcn1
2947         - moved bracket vars to params
2948         - reverted broken lilypond-devel
2949
2950 *************
2951 pl 1.uu1
2952         - David's patches:
2953         * mfplain.mp detection
2954         * Graphical_element::common_refpoint() robuster.
2955         * fixes for mudela-mode.el
2956         - Dirk's patches:
2957         * key signature placement,
2958         * tied accidentals.
2959
2960 pl 1.hwn2
2961         - extra-offset elt property.
2962         - junked Chord_tremolo
2963
2964 pl 1.hwn1
2965         - changed calling convention for {get,set,remove}_elt_property()
2966         - rm'd some mutopia examples.
2967
2968 *******
2969 pl 0.hwn2,1
2970       - Generic properties and Property_engraver. Moved most of the
2971 properties.
2972
2973 0.lu1
2974         - resurrected midi2ly
2975
2976 0.jcn1
2977         - bf: lyrics lexer
2978         - reverted mup2ly revert
2979
2980 pl 3.uu1:
2981         - frontport of 1.2.17 patches.
2982
2983 **********
2984
2985 1.3.0:
2986
2987 pl 15.hwn2
2988         - loads of bfs.
2989
2990 pl x.jcn3
2991         - another workaround: reset buffer state for scm_ftell ()
2992         - workaround for broken scm_ftell ()
2993
2994 pl 15.hwn1
2995         - \properties are now SCM s, junk Scalar type
2996         - use SCM for strings in parser.
2997         - Moment derived from Rational. Moment may be smobified.
2998
2999 pl 15.jcn4
3000         - direct #... to scm parser  (Thanks to Gary Houston)
3001
3002