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