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