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