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