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