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