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