]> git.donarmstrong.com Git - lilypond.git/blob - CHANGES
patch::: 1.3.134.jcn1
[lilypond.git] / CHANGES
1 1.3.134.jcn1
2 ============
3
4 * Small doco update.
5
6 * Silly build and website-build fixes.
7
8 * convert-ly: added conversions, converted glossary, refman and examples.
9
10 1.3.133.jcn5
11 ============
12
13 * Bugfix: fixed point-and-click broken in jcn2.
14
15 * convert-ly: Added and fixed various entries (our strings with optional "" re\ally suck).
16
17 * Small ez play tweaks.  Guess I'm a sucker too.
18
19 * Easy-play bugfixes: don't do showpage for each notehead, output
20 staff-symbol first, moved to lily.ps.
21
22 * Bugfix: don't print so many decimals in ps output.
23
24 * Bugfix for refman example.
25
26 * Added some part combiner doco.
27
28 * Bugfix: a broken tie only generates an accidental if it would differ
29 from an untied note.
30
31 1.3.133.hwn1
32 ============
33
34 * Center instrument name on staffs.  Use
35 Side_position_interface::align_elements_to_refpoints.
36
37 * staff-symbol-referencer-interface, general cleanup of
38 interface-description.scm
39
40 1.3.133.mb3
41 ===========
42
43 * Bugfix: Time and key signatures in MIDI.
44
45 * Bugfix: Tempo changes in MIDI work again.
46
47 * Bugfix: ly2dvi file.tex works again.
48
49 * Bugfix: don't stretch the space after the last score line.
50
51 1.3.132.jcn3
52 ============
53
54 * Tied notes at a linebreak repeat their accidental.
55
56 * Removed some cruft from lily/include/.
57
58 * Bugfix: tied notes in chords sometimes got stuck in MIDI output
59 (thanks Mats).
60
61 * Added some example bug files, taken from Coriolan
62
63 * a2-engraver: \property noDirection: don't force direction when part-combining (for StaffCombining).
64
65 * text-spanner: don't repeat edge text for broken edge.
66
67 * Coriolan fixes, titling, font setting, header info, cello octave
68 (yes, notated different from bass; all agree) at end.
69
70 1.3.132.hwn1
71 ============
72
73 * Allow declared repeat variant string
74
75 * Bugfix: break alignment at right edge.
76
77 * Easy-notation: letters in circular note heads.  
78
79 * Debian patch by Anthony Fok.
80
81 1.3.131.jcn2
82 ============
83
84 * Fixes for ascii-script output.  Stylesheet needs some work, just as
85 PostScript output.
86
87 * Bugfix: convert-ly --to accepts argument.
88
89 * Prepared Petites Preludes for (first?) submission to mutopia.
90
91 * Bugfix: out-letter/%.ps generation for mutopia.
92
93 * Bugfix: don't use $(message ) in makefiles; some versions of make
94 choke on this.
95
96 * Bugfix: ly2dvi.py: don't add magic `//' to TEXINPUTS,MFINPUTS; this
97 chokes kpsewhich 3.3.1 (bug report filed).
98
99 * Bugfix: file-path.cc: don't interpret relative path as system root.
100
101 * Bugfix: --srcdir install.
102
103 1.3.131.hwn1
104 ============
105
106 * Documentation: piano pedals, breath marks, tutorial fixes,
107 convertors, autochange, \override/\set/\revert, multi-stanza lyrics,
108 \outputproperty
109
110 * Bugfix: another fix for collapsing dynamics with partcombine.
111
112 * Bugfix: add functionality of
113 Side_position_interface::self_align_callback() into
114 Align_interface::align_elements_to_extents(). Otherwise, combining
115 both (such as in a break alignment) leads to weird behavior: the
116 spacing information is written halfway during a callback sequence,
117 leading to weird results.
118
119 This fixes input/test/orchestscore.ly
120
121 * Bugfix: x-offset of stem was off by 0.5 stem thickness.
122
123 * Add grob-property attachment-angle: angle for stem to attach to note head. 
124
125 1.3.130.hwn2
126 ============
127
128 * Documentation: notation contexts.
129
130 * 2001 (c) search-replace patch.
131
132 * Center rehearsal marks by default.
133
134 * Fixing collapsed dynamics with part-combine
135
136 * \property tupletNumberFormatFunction selects formatting function for
137 tuplet brackets.
138
139 1.3.130.jcn5
140 ============
141
142 * Added some handy targets to example makefile: make/ly.make.
143
144 * Bugfix: file-path.cc; absolute directories start with directory separator.
145
146 * Makefile template using dependencies: make/ly.make.  Needs some
147 simple examples.
148
149 * Depencies fixes for lilypond, ly2dvi (still kludged) and lilypond-book.
150
151 * nl.po update.
152
153 * Bugfixes and cleanups of mainly main.cc.
154
155 * Enabled changing default tex output extension to ".lytex".
156
157 * Bugfix: use init file extension .ly for extensionless input.
158
159 * Ignore outname = ; settings in output blocks.
160
161 * Revised input and output naming, now it's possible to include a
162 directory in the output name.  This should fix some input/init name
163 related bugs.
164
165 * Fixed dependencies for outdir in lilypond-book and ly2dvi.
166
167 * Uniformised tags to read: Generated automatically by: <program>.
168
169 * Install make/* and stepmake/stepmake/* to enable making use of
170 stepmake templates.
171
172 * Added example mutopia makefile: make/ly.make.
173
174 * Lilypond-book now writes lily-<HASH>.ly files.
175
176 * Bugfix: don't display repeat colons for zero height bar lines; fixes
177 repeat barlines in lyrics.
178
179 * Fixed markup definition and implementation, added baseline-skip
180 property; this makes multi-line markup text a lot easier.
181
182 * Bugfix: chordChanges works with other rhythm of accompaniment, and
183 silly chord name typo fixes.
184
185 1.3.130
186 =======
187
188 1.3.129.jcn2
189 ============
190
191 * Implemented Phrasing slurs, copied from slur.
192
193 * More hooks for chord pitch name overrides, see
194 input/tricks/german-chords.ly.
195
196 1.3.129.hwn1
197 ============
198
199 * Bugfix: bar lines in lyrics.
200
201 * Bugfix: vertical positioning of isolated dynamics: absolute dynamics
202 are only supported by the note they are on, in absence of crescendi.
203
204 * Documentation of ancient clefs, custodes (Jurgen Reuter)
205
206 * Small documentation fixes: rehearsal marks, -f option, markup, instrument names
207
208 * Bugfix: rounding errors caused errouneous ledger lines for
209 #'staff-space = 1.3
210
211 * Subsubtitles, \bar "";  (Rune Zedeler)
212
213 1.3.129
214 =======
215
216 * Small doco fixes.
217
218 * Removed duplicated engraver hierarchies from coriolan and orchestral
219 examples.
220
221 * Added user control for devnull engravers. Default: switched off 
222
223 * Small doco fixes.
224
225 1.3.128.hwn1
226 ============
227
228 * Doco fixes
229
230 * Glissando fix (Rune Zedeler)
231
232 1.3.128.mb2
233 ===========
234
235 * Made the percussion clef somewhat fatter, thanks to Rune Zedeler. 
236 Note: font updated! Added this clef to input/regression/clefs.ly.
237
238 * updated \endincipit macro and the examples input/test/incipit.ly and
239 input/regression/clefs.ly
240
241 1.3.127.jcn3
242 ============
243
244 * Mutopia preparations and Coriolan fixes.
245
246 * Small beam cleanup, changed y-position-hs,height-hs user overrides to
247   staff-position,height (height:name suggestions?), now in staff-spaces.
248
249 * Beam (y, dy) calculations now as list of scm functions.
250
251 * Added cleaned-up excerpt from Coriolan for tutorial.
252
253 * Bugfix: beam looks at smallest gap for auto knees.
254
255 * Property-description-fix: allow auto-knee-gap to be set to false.
256
257 * Small doco fixes.
258
259 * Bugfix: repeats without alternatives.
260
261 1.3.127.uu3
262 ============
263
264 * Bugfix: staccato dot on outer staff lines.
265
266 * Documentation: lots of updates and revisions.
267
268 * \repeat tremolo for single notes, \repeat tremolo 4 c16
269 produces the same effect as c4:16
270
271 1.3.126.mb1
272 ===========
273
274 * ly2dvi: bugfix --number.
275 Added header field latexpackages, see input/test/orchestscore.ly
276
277 * \mark: add possibility to use font selection markup, see input/test/mark.ly
278
279 1.3.127
280 =======
281
282 * Grand Refman restructuring, featuring outline mode.
283
284 * Fixed missing menus and cross references.
285
286 * Coriolan fixes and updates.
287
288 * Bugfix: a2-engraver and *devnull_engraver recognise alternative
289 'oneXXX' 'twoXXX' naming convention.
290
291 * Enabled markup text to be used for instrument names.
292
293 * Bugfix: interface description of System_start_delimiter
294
295 * Slur attachment fix (thanks, Han-Wen)
296
297 1.3.126.hwn1
298 ============
299
300 * Bugfix in Global_translator::run_iterator_on_me (): only run
301 iterator::process if iterator::ok() is true.
302
303 * Bugfix: when iterating empty sequential-music, start out with an
304 invalid iterator.
305
306 * Bugfix: length calculation for volta repeat music with too few
307 alternatives.
308
309 * Bugfix: print different string for first printed alternative in
310 volta repeat music with too few alternatives, eg. 1.-4.
311
312 * Cleaned up bugs/ directory
313
314 * Be less intelligent about default font backup, just load cmr10
315
316 * Generated documentation: sort and uniq Grob lists of contexts.
317
318 1.3.126
319 =======
320 * Doco:
321   - fixes,
322   - updates,
323   - rewrites.
324   - Changed license to FDL.
325   - added index entries
326   - tutorial: 0-th tune
327   - literature overview.
328   - removed development stuff.
329
330
331 1.3.125.jcn3
332 ============
333
334 * Clef workarounds for Coriolan.
335
336 * Moved feature and regression-test input to input/feature, input/regression.
337
338 * Added some regtests.
339
340 * Bugfix: auto-knee for beam over rest.
341
342 * Fixes for Coriolan and viola Solo Cello Suites.
343
344 * Replaced generic 'collapse-height' for System_start_delimiter with
345 brace-collapse-height, bracket-collapse-height, bar-line-collapse-height.
346
347 * Bugfix: measure System_start_delimiter's *-collapse-height in staff-space.
348
349 * Fixed some info and html links.
350
351 * Automatic knees now on by default for vertical distances >= 7 staff-space.
352
353 1.3.125
354 =======
355
356 * Updated Coriolan.
357
358 * Bugfix: beams with no stems.
359
360 * Cleanup automatic knees, junked calc_interstaff_dist.
361
362 * Automatic knees now on by default for vertical distances >= 7 staff-space.
363
364 * Bugfix: automatic interstaff knees.
365
366 1.3.124.hwn1
367 ============
368
369 * Auto change music bugfix; removed Auto_change_music type
370
371 * Bugfix: add copy ctors to all relevant iterators, this fixes various
372 combinations with auto-change and part-combine.
373
374 * Bugfix: glissandi with smaller rhythms parallel.
375
376 * Add printfilename option to @lilypondfile 
377
378 * Include Grobs in Context self-documentation; remove "Grob " from
379 node name for grob documentation.
380
381 1.3.124
382 =======
383
384 * Tutorial fragment on ly2dvi.
385
386 * Bugfix: also print path of mismatched .TFM file.
387
388 * Some callbacks to allow manipulation of fonts and molecules from
389 Scheme.  See input/test/molecule-hacking.ly ; allows for a kludged
390 "parenthesize notehead" command.
391
392
393 1.3.123.mb1
394 ===========
395
396 * Added percussion clef. Note: font updated!
397
398 * Bugfix: font style Large works regardless of font-shape.
399
400
401
402 1.3.123
403 =======
404
405 * Added macro \turnOff to remove volta brackets or any other 
406   graphical objects, see input/test/volta.ly or mutopia/J.S.Bach/pa.ly
407
408 * Removed the "none" clef, use Clef \override #'transparent = ##t instead.
409
410 * Bugfix ly2dvi: paper variable orientation = "landscape" works.
411
412 * Allow for wildcards in the font style alist to give more robust font
413 selection handling. Ignore shape and series for the font families:
414 braces, dynamic and music.
415
416 * Bugfix: stem and dstem font symbol.
417
418 1.3.122.jcn3
419 ============
420
421 * More website link fixes, split and nonsplit.
422
423 * Non-splitting makeinfo website fix.
424
425 * Doco fixes, included feature document into main documentation.
426
427 * lily/chord.cc (member_notename, lower_pitch): gh_member returns a list of
428 which car is the member!
429
430 * Bugfix: added equal_p to list of smob functions.  This fixes
431 behaviour of property chordChanges.
432
433 * More guile-1.4.1 snapshot fixes, generated doco.
434
435 * Doco fixes.
436
437 * Small fixes for guile-1.4.1 snapshot which is more strict on symbols
438 vs strings.
439
440 1.3.122
441 =======
442
443 * Small lilypond-book cleanups.
444
445 * Bugfix: fix lyric extenders.
446
447 1.3.121.mb2
448 ===========
449
450 * Bugfix: svenska.ly and norsk.ly
451
452 * Bugfix: tied-over accidentals handled more correctly.
453
454 1.3.121.jcn2
455 ============
456
457 * Renamed last instances of musical_*pitch to pitch.
458
459 * Bugfix: actually read pitch value in \pitch #(make-pitch ...)
460
461 * Bugfix(?): always allow explicit duration entry.
462
463 * Fixed .po charsets for upcoming msgfmt release (Bruno Haible).
464
465 * Some doco updates and fixes.
466
467 * Bugfix Ly2dvi: reset LC_ALL and LC_LANG too.
468
469 * Commented out dubious undocumented $(PATHSEP) from lilypond-vars.make
470
471 * Replaced some instances of [$(outdir)/].. with $(pwd), these may
472 break --srcdir builds and texi2dvi.
473
474 * Several fixes for --srcdir build, allowing build from read only media.
475
476 * Moved make/toplevel.make.in to less unusual GNUmakefile.in
477
478 * Bugfix: changed beam thickness to .48 staff-space.
479
480
481 1.3.120.uu1
482 ===========
483
484 * Ancient font update (Juergen Reuter)
485
486 * Syntax change: paper_xxxx -> paperXxxx
487
488 * Some documentation updates.
489
490 * Doc-string cleanups, and completization.
491
492 * Changed Pedal string properties: unify stop/start/stopStart
493 properties.  Changed pedal identifier syntax.
494
495 * bugfix: do change clefs if full-size-change is *not* set.
496
497 1.3.120
498 =======
499
500 * Removed texi->dvi cancellation and removed --clean option from texi2dvi
501 command line; this fixes generation of dvi files in Documentation/user.
502 Strange bug in texi2dvi.
503
504 * Fixed bibtex url (reported David Raleigh Arnold), added support for
505 bibtex2html, which is in Debian.
506
507 * Added direntries to toplevel texi documents, for info files
508 (reported Thomas Klausner).
509
510 * Removed some empty files.
511
512 * Make a Stem::height callback, to prevent early brew_molecule
513 call. This fixes input/bugs/triplet.ly.
514
515 * Manual fix for generated -interfaces documentation.
516
517 * Small changes for texinfo-4.0a prerelease.
518
519 * Added a --force option for makeinfo .txt generation.
520
521 * Changed debian ftp urls according to new package pools layout.
522
523 * Debian update, including menu/node fixes to development.texi (Anthony Fok).
524
525 * Bugfix: lilypond-book (Tom Cato Amundsen).
526
527 * Increase the size of dynamics, adding new sizes of feta-din (Mats Bengtsson).
528
529 * \clef "none"; no clef, but whitespace (Mark Hindley).
530
531 * Website fix: don't mv but cp .pngs do deep-html dirs.
532
533 * Bugfix: chords examples (James Hammons).
534
535 * Warning fix.
536
537 1.3.119
538 =======
539
540 * Added some feature examples.
541
542 * Bugfix for \partial and auto-beamer.
543
544 * Bugfixes: warnings.
545
546 * More feature examples.
547  
548 * Renamed some scm files.
549
550 * Some more documentation fixes (move hacking.texi into normal
551 documentation.)
552
553 * Bugfix: header protection in parser.yy
554
555 1.3.117.mb1
556 ===========
557
558 * Bugfix: fetdefs.tex: don't redefine the standard TeX macros 
559   \sharp,\natural or \flat.
560
561 * Bugfix: ly2dvi: handle the --landscape option. Leave the textheight
562   calculation to the geometry package. Remove some dead code.
563
564 * Bugfix: correct font-family for TextSpanner.
565
566 * Bugfix: script-engraver.cc: forced script directions work again.
567
568 1.3.117.jcn2
569 ============
570
571 * Resurrected direct scheme output, ie. lilypond -fscm
572
573 * Warning message fixes and po update.
574
575 * Bugfix: debian package.
576
577 * Resurrected direct postscript output, ie. lilypond --output-format=ps.
578
579 1.3.117.hwn1
580 ============
581
582 * Broken left-edge of volta, Again. Now the Final Fix.
583
584 * Smobified Score, smobified Music_output_def, removed Identifier.
585 Reorganised Scope and Scheme_hash_table to this end.
586
587 * Small cleanups in relations between
588 Paper_def/Paper_outputter/Paper_stream.
589
590 * lilypond syntax update: deprecate $ syntax for identifiers; Provide
591 convert-ly method.
592
593 * Rename: don't use grobs in performer methods.
594
595 1.3.116.jcn4
596 ============
597
598 * Bugfix: don't set beaming for outer half beams.  This fixes some
599 slurs attached to stem end.
600
601 * Bugfixes for (de)crescendo spanners and generic text spanners
602
603 * Bugfix: Slur::set_interface (): don't overwrite, but copy attachment
604 property.
605
606 * Started documenting some new or not too wel documented features.
607
608 * Bugfix: only assume making deep split html documentation when
609 makeinfo --version 4.0.jcn2 is available.  Although the documentation
610 should now build with plain makeinfo 4.0, some links will be broken.
611
612 * Bugfix: lilypond-book: check for .texidoc files *after* running lilypond.
613
614 1.3.116.mb1
615 ===========
616
617 * Bugfix: convert-ly.py: Correct syntax for inserted \version, 
618   \push -> override happened in 1.3.111
619
620 * Bugfix: corrected documentation of timeSignatureStyle, removed all
621   `unknown type' in the property documentation.
622
623 * Added font family typewriter (cmtt).
624
625 * Bugfix: some examples updated
626
627 * Bugfix: beamed grace notes (reinstate process_music () call in
628 Grace_engraver_group::process() )
629
630 * Rename: Global_translator::process -> Global_translator::one_time_step (). 
631
632 1.3.115.jcn2
633 ============
634
635 * Bugfix: lilypond-book.py: only include exisisting .texidoc files.
636
637 * Lilypond: don't write empty header field file if header field does
638 not exist (ie, empty .texidoc files).
639
640 * Turn on info generation.
641
642 * Fixes to dynamic placement and crescendo spanners.  Incomprehensible
643 ``width-correct'' hack remains.
644
645 * Bugfix: auto-beamer beaming over bar lines.
646
647 * Bugfix: consecutive and non-consecutive glissandi.
648
649 1.3.115.hwn1
650 ============
651
652 * Bugfix: multi-measure rest ends, chords. 
653
654 * Some back end documentation
655
656 * Rename element to grob in .scm files.
657
658 1.3.114.mb1
659 ===========
660
661 * Bugfix: convert-ly
662
663 * Bugfix: Included FAQ.txt in the top directory
664
665 * Allow for instrument names with multiple lines and font selection,
666   see input/test/coriolan-margin.ly
667
668 * Added example for figured bass: input/test/figured-bass.ly
669
670 1.3.114.lec1
671 ============
672
673 * abc2ly fixes
674
675         * allow a g_8 clef to be specified by treble8
676
677         * allow full mode names, as well as 3 character abbreviations
678
679         * support breves and longas (no abc program that I know of has
680           longas, but a couple of them have breves, and one can always hope.)
681
682         * translate text annotations beginning with _ and ^ for above and 
683           below the staff.
684
685         * quote lyrics syllables with (
686
687         * handle real repeat syntax, for appropriately written ABC.
688
689         * %%LY slyrics now works for longer than one character lyric strings.
690
691         * N: fields are now in header.
692
693 1.3.114.uu1
694 ===========
695
696 * Prepare for Music type-unification: remove all args from Music
697 constructor, and set everything in the parser.
698
699 * Moved writing of \header strings feature from lilypond-book to lilypond. (1.3.114.jcn1)
700
701 * Bugfix: tied chords.
702
703 * Turn off .info creation by default.
704
705 1.3.114
706 =======
707
708 * Moved all documentation from regtest to individual example files.
709
710 * Added feature to lilypond-book to write out \header texidoc string.
711
712 * Reincluded simple FAQ in tarball.
713
714 * Fixed lyrics with bar-enrgaver example.
715
716 * Renamed LyricVoice to LyricsVoice.
717
718 1.3.113.uu1
719 ===========
720
721 * Checksums for AFM fonts: make sure that TFM and AFM files match.
722 One FAQ less to be asked.
723
724 * Made point-and-click switchable, default: off 
725
726 * Bugfix: don't make multimeasure rests from failed span-requests.
727
728 * Bugfix: mark with string arguments, eg. letters..
729
730 * Bugfix: direction of staccato dots. 
731
732 1.3.113
733 =======
734
735 * Added stems to font for use in markup text.
736
737 * Fixed markup text kerning, see input/test/metronome.ly.
738   (Ugh, only feasible if kerning is first markup -- markup text should be revised.)
739
740 * Fixed molecule caching problem with stem-tremolo: fixes vertical
741 positioning of stem-tremolo.
742
743 * Added forced slur direction (stemUp no longer implies slurUp) in
744 cross-staff slur example.
745
746 * Fixes to Glissando and line-spanner.  Behaves reasonably across line
747 breaks.
748
749 * Added: Align_interface::fixed_distance_alignment_callback that does
750 not compute the extents of the to-be-aligned objects. This delays many
751 brew_molecule() calls, because staff-height is no longer needed for
752 aligning.
753
754 * Bugfix: allows linebreaks for some types of beam.
755
756 * Bugfix: add braces in larger size range; prevents "Unknown character
757 127" messages, hopefully.
758
759 1.3.112
760 =======
761
762 * Allow two consecutive glissandi.
763
764 * Note_head_line_engraver now also listenes to \property
765 "followThread": Automagically connect note-heads when thread switches
766 staff.
767
768 * Fixed american-chords example (except for o/, that waits for kerning fix).
769
770 * Added simple glissando line.
771
772 * Bugfix: broken text spanner (ie. crescendo)
773
774 * Bugfix: chord tremolos
775
776 * Bugfix: staff group brace
777
778 * Bugfix: volta repeats
779
780 * Resurrected clef _8 and ^8 syntax.  (This should be deprecated?)
781
782 1.3.111
783 =======
784
785 * Fixed non-empty-text feature.
786
787 * Bugfix for Grob::has_extent_callback_b ()
788
789 * Added infrastructure for music property documentation strings.
790
791 * Syntax change: \notenames -> \pitchnames
792
793 * Changed syntax \push -> \override, \pop -> \revert. Add:
794
795         \property Context.Element \set #'foo = #bar
796
797 which  does a \revert followed by a \override.
798
799 * Documentation updates.
800
801 * Fixed typechecks for \push, \pop and \property
802
803 * Bugfix: Local_key_engraver.
804
805 * Fixes for lilypond-mode.el (patch by Mark Hindley)
806
807 1.3.110
808 =======
809
810 * Fixed a mysterious typo in toplevel index.
811
812 * Enabled property-engraver.
813
814 * Cleanup in Auto-beam-engraver (still broken, because timings are off?)
815
816 * Collapsed all ``void Foo::create_grobs () { deprecated_process_music
817 (); }'' occurences, and reactivated some disabled code (note-name,
818 chord-name, custos, lyrics).  Reactivated Timing_translator using
819 process_music ().
820
821 1.3.109.hwn1
822 ============
823
824 * unsmob_element -> unsmob_grob
825
826 * Make a Slur::height callback, to prevent early brew_molecule
827 call. This fixes cross-staff slurs.
828
829 * Bugfix: custodes style must be symbol, not string.
830
831 * do_creation_processing () -> initialize (), do_removal_processing ()
832 -> finalize ().  Remove (do_)add_processing.
833
834 * Move Relative_octave_music::last_pitch_ into SCM, junk
835 Transposed_music::to_pitch_, junked Time_scaled_music::{den_i_,
836 num_i_}, Rhythmic_req::duration_, Melodic_req::pitch_
837
838 1.3.109
839 =======
840
841 * Bugfix: resurrected point-and-click. 
842
843 * Use scheme object props for storing type predicates and doc-strings
844 Dump global lists of properties into auto-documentation.
845
846 * Bugfix: extent callback for Rest, so  ledger lines don't disappear for
847 rest-collisions.
848
849 * Removed some hair from chord code
850
851 * Rewrite of engraver pass scheme: try to make graphical objects in
852 acknowledge_element()/process_acknowledged(), not in process_music()
853
854 * Remove Translator::status_ and associated code. Removes the need for
855 various XXXX functions as wrapper for do_XXX functions.
856
857 * Search replace: Score_element -> Grob (Graphical object),
858 {pre,post}_move_processing -> {stop,start}_translation_timestep,
859 do_try_music -> try_music.
860
861 1.3.108
862 =======
863
864 * Dropped ly_lists_equal for gh_equal_
865
866 * Removed Array from chord.
867
868 * Small bugfix to lilypond-mode.
869
870 * lily/part-combine-music-iterator.cc: fixed (switch `combineParts'
871 property on), and removed Array.
872
873 1.3.107.uu1
874 ===========
875
876 * Bugfix: don't call Crescendo::brew_molecule () too early if there is
877 an absolute dynamic.
878
879 * Rename class Crescendo to Hairpin.
880
881 * Search/replace: Musical_pitch -> Pitch 
882
883 * More links in the backend documentation.
884
885 1.3.106.jcn2
886 ============
887
888 * Cross compilation and info build fixes, really cancel all builtin
889 rules, sigh.
890
891 * Generated documentation fixes: Generate all interface descriptions,
892 separately, don't list non-set interface properties with element
893 descriptions.
894
895 1.3.106.hwn1
896 ============
897
898 * Deprecate `mudela' name: rename mudela to lilypond globally.
899
900 * construct Music_iterators decentrally.
901
902 * Make smob of Duration 
903
904 * Make smob of Musical_pitch.
905
906 * Move Repeated_music members into SCM. Length is computed via a SCM
907 function. (todo: write SCM function to unfold all repeats. \apply for
908 \midi)
909
910 * Remove Time_signature_change_req, \time is disguise for \property
911 Score.timeSignatureFraction = ...
912
913 * \property barCheckNoSynchronize: don't reset measurePosition when
914 finding a bbarcheck. This makes bar-checks for polyphonic music
915 easier.
916
917 * elt property full-size-change for clefs.
918
919 * Bugfix: use Stem::dim_callback (), so brew_molecule () is not called
920 too early.
921
922 * Bugfix: use extent of Note_head (iso. Note_column) for rest
923 collisions, so Stem::brew_molecule() is not called too early.
924
925 1.3.105.jcn1
926 ============
927
928 * Makeinfo html documentation generation fixes.
929
930 1.3.105.uu1
931 ===========
932
933 * Remove Bar_req, \bar is now a frontend to setting Score.whichBar
934
935 * Move Context_specced_music::translator_{type,id}_str_ into music
936 properties.
937
938 * Don't make line breaks during note playing.
939
940 * Clef engraver rewrite. Clef-engraver is now controlled through
941 properties clefPosition, clefGlyph, clefOctavation. The \clef command
942 is just a front-end to these, see scm/lily.scm, function
943 clef-name-to-properties.  See also input/test/manual-clef.ly
944
945 1.3.105
946 =======
947
948 * Bit of temporary makefile hacking to stay in sync with makeinfo patch.
949
950 * Separate interface description (test phase).
951
952 * Makeinfo --html split fix: http://appel.lilypond.org/fred/software/texinfo-4.0.jcn2.diff
953
954 * Use headers for makeinfo html output.
955
956 * Made some --scrdir build fixes.
957
958 1.3.104.uu1
959 ===========
960
961 * Smobified molecule, and cache molecule (ie. generate each molecule
962 only once).  Lily should be faster now. (approx. 6 % ?)
963
964 * Coded properties-to-font-name in C++. Measured speedup: 14% (wtk1-fugue2)
965
966 * Use music properties for Request data.
967
968 1.3.104
969 =======
970
971 * Documentation build fix: don't run LilyPond when generating plain info doc.
972
973 * Resurrected info documentation and made cross links between manual
974 and generated doco, some small fixes.
975
976 * Made small time signature style fix.
977
978 * Generate texinfo iso html documentation.
979
980 * Added x-references for elements->engravers and engravers->contexts.
981
982 * Fixed number font listing in style sheet.
983
984 * Fixed default font settings for text items, text-item now uses
985 font-interface's alist-chain.
986
987 * Renamed property AutoBeam to autoBeamSettings to avoid confusion
988 about non-existing AutoBeam element.
989
990 * Mensural clefs (courtesy Juergen Reuter)
991
992 1.3.103.lec1
993 ============
994
995 * abc2ly enhancements
996
997         * %%LY comments
998
999         * explanation of rationale for %%MIDI nobarlines
1000
1001         * supports -8va as a syntax for tenor clef
1002
1003         * pushing the Staff.timeSignatureStyle property
1004
1005         * parses space between key letter and mode in K: statement
1006
1007         * default for guitar chords is above the staff
1008
1009         * fix for translation of :: repeat
1010
1011 1.3.103
1012 =======
1013
1014 * Translated auto-beam properties to alist.
1015
1016 * Rewrite of tfmtoafm in scm.
1017
1018 * Rewrite of emacs LilyPond mode, based upon auctex interface.
1019
1020 * Chord name fixes and additions (Atte Andr'e Jensen)
1021
1022 * ly-get-mus-property, ly-set-mus-property: set properties of Music
1023
1024 * Move Span_req::span_dir_ into Scheme
1025
1026 * removed numberOfStaffLines, staffSpace. Use StaffSymbol \push
1027 staff-space, line-count
1028
1029 * removed minVerticalAlign, maxVerticalAlign; use VerticalAlignment
1030 \push #'threshold = #(MIN . MAX)
1031
1032 * \property tremoloFlags can be set anywhere now
1033
1034 * \apply #function music 
1035
1036 * Bugfix: padding of dots.
1037
1038 * Generate documentation for separate engravers as well as for contexts.
1039
1040 * Move some reference manual into the  SCM documentation system.
1041
1042 * Bugfix: fixed hyphen spanners.
1043
1044 1.3.102
1045 =======
1046
1047 * Fixed bracket, and made some other PostScript code fixes.
1048
1049 * Silly font initialisation fix for paper19 non-feature.
1050
1051 * Automatic engraver/property documentation infrastructure. 
1052
1053 * Fixed system-start braces
1054
1055 * Fix for forgetAccidentals: do print accidentals, just don't remember
1056 them.
1057
1058 * Bugfix: forced script directions for scripts that have relative stem-direction.
1059
1060 * Bugfix: Tie_column doesn't force Tie directions ties that already
1061 have a direction.
1062
1063 * Bugfix: multimeasure rest 
1064
1065 1.3.101
1066 =======
1067
1068 * Custodes (patch by Juergen Reuter), mods by hwn.
1069
1070 * Font initialisation and markup translation fixes. (99.jcn2)
1071
1072 * Remove staffspace calls. Removed markScriptPadding. Fixes some
1073 problems with tuplet, brace and volta spanners.
1074
1075 * make Font_interface::font_alist_chain (), and use default font
1076 settings. Fixes too large time sigs.
1077
1078 1.3.100
1079 =======
1080
1081 * Tweaks of .scm font-selection. 
1082
1083 * Rewrote font management of Score_element and Paper_def.
1084
1085 * Introduced outputscale: internally do computation in terms of
1086 outputscale.  Prepare to deprecate staffspace internally.  Rewrote
1087 .scm side of font selectioning. 
1088
1089 1.3.99.jcn1
1090 ===========
1091
1092 * Made several font size and initialisation fixes.
1093
1094 * Renamed all occurrences of font-size to font-relative-size
1095
1096 * Renamed all occurrences of font-point to font-point-size
1097
1098 * Fixed interface.scm descriptions to use symbols iso strings
1099
1100 * Fixes for chord names, and added jazz style (James Hammons)
1101
1102 * Some font-size fixes.
1103
1104 * Added dynamics font in all staff-sizes.
1105
1106 * Quick fix for regtest.
1107
1108 1.3.98.hwn2
1109 ===========
1110
1111 * Removed all paper vars except linewidth, indent, staffspace and
1112 stafflinethickness.
1113
1114 * Rewrote Scheme side of font-selection.
1115
1116 * Bugfix: deprecate group-center-element thoroughly.
1117
1118 * Bugfix: LeftEdge must also have Break_align_item::alignment_callback
1119 X-offset-callback.
1120
1121 * Add use music property "direction" for storing direction in
1122 Script_req, use music property "text-type" for storing 'dynamic,
1123 'finger, etc. Remove Dynamic_script_req. Resurrect fingerings.
1124
1125 1.3.98.lec1
1126 ===========
1127
1128 * fixed scale-definition.ly for greek mode names.
1129
1130 1.3.98
1131 ======
1132
1133 * Backend documentation updates and related cleanups
1134
1135 * Removed \property bracketCollapseHeight, systemStartDelimiterGlyph
1136
1137 * Bugfix: instrument-name on grandstaffs, see
1138 input/test/instrument-name-grandstaff.ly
1139
1140 * Bugfix for tie/staffline collision.
1141
1142 * Bugfix: also send out end-repeat if there are no alternatives.
1143
1144 * Small solo cello suite fixes.
1145
1146 1.3.97.jcn1
1147 ===========
1148
1149 * Added some interface documentation.
1150
1151 * Added raise and kern to markup.  This should make Chord names usable.
1152
1153 1.3.97
1154 ======
1155
1156 * Made small fixes to basic properties: regression-test compiles.
1157
1158 * Moved Text_script_req's text_ member into mus-property.
1159
1160 * Renamed ChordName to ChordNames, for consistency.
1161
1162 * Resurrected most of chord names, superscripting and kerning
1163   is currently broken, though.
1164
1165 * Junked all old style text lookups, except for feta definitions.
1166
1167 * Added support for name-based character lookups.
1168
1169 * Added support for font styles and papersize style sheets.
1170
1171 * Added new code for font selection and scm text markup.  Only used
1172   for testing in \textscript SCM. See input/test/markup.ly.
1173
1174 * Fixed (added actually, it got lost?) word-space for chords.
1175
1176 * Added slope-limit and attachment-offset properties to slur.
1177
1178 * Slur's broken trend now weighs in the number of note-columns.
1179
1180 * Spacing tweaks
1181
1182 1.3.96.hwn1
1183 ===========
1184
1185 * Mudela-book fixes (Tom Cato Amundsen)
1186
1187 * Put marks above chords.
1188
1189 * Solaris fix.
1190
1191 * Type checking for \push and \pop; elt property description (docs
1192 inclusive) is now in Scheme.
1193
1194 * Self-documenting backend using ly/generate-documentation.ly
1195
1196 1.3.96
1197 ======
1198
1199 * Added friendly message for the clueless dvips user.
1200
1201 * Clef-engraver: changed c0-position, clef-position and glyph into properties,
1202   enabling ottava spanners: input/test/ottava.ly.
1203
1204 * Added option for edge lines to Text spanner.
1205
1206 * Bugfix for early initialisation of invalid (grace->voice) slur.
1207
1208 * Dropped text support and padding of crescendo symbol.  Horizontal
1209   alignment of dynamics is handled by side-support, Text crescendos
1210   use the generic Text spanner.
1211
1212 * Added a generic Text spanner.
1213
1214 1.3.95.hwn1
1215 ===========
1216
1217 * Bugfix: octavate eight.
1218
1219 * Rewrote arpeggio.
1220
1221 * mudela-book fixes (Tom Cato)
1222
1223 * Cleaned up Group_interface and Pointer_group_interface
1224
1225 * Add accidentals to arpeggio support.
1226
1227 * Stemup + barline combination gets extra space.
1228
1229 * Score_element::extent () now takes a reference point argument.
1230
1231 1.3.95
1232 ======
1233
1234 * Use music property for setting type. This prevents accidental
1235 forgotten copies.
1236
1237 1.3.94.jcn3
1238 ===========
1239
1240 * Added Arpeggio and Trill elements to feta font.
1241
1242 * Yet another bugfix for output-property (Han-Wen)
1243
1244 * Made some fixes to les-nereides.
1245
1246 * Fixed output-property (Dankje).
1247
1248 * Added backend framework for arpeggios.
1249
1250 * Fixes for les-nereides.  Should we do asymmetric slurs...?
1251
1252 * Don't print repeat bars at start of line.
1253
1254 1.3.94
1255 ======
1256
1257 1.3.93.uu1
1258 ==========
1259
1260 * Bugfix: don't crash if there is no volta bracket to end.
1261
1262 * Move offset, dimension callbacks into Scheme.  They can be initialized from basicXXXX properties using
1263
1264         (X-offset-callbacks . (callback1 callback2 .. .))
1265         (Y-offset-callbacks . (callback1 callback2 .. .))
1266         (X-extent-callback . callback1) 
1267         (Y-extent-callback . callback1)
1268
1269 * naming: basicXXXProperties -> XXX, some other changes in naming;
1270 convert-mudela rules added.
1271
1272 * naming: \voiceone -> \voiceOne and related changes. convert-mudela
1273 rules added
1274
1275 * syntax: \property XXX \pop #'bla -> \property Context.XXX \pop #'bla
1276
1277 * changed aclocal.m4 to have better check for guile version. (Laura Conrad)
1278
1279 * updates for mudela-book (Tom Cato Amundsen)
1280
1281 1.3.93.jcn1
1282 ===========
1283
1284 * Try at nastiest competition piece: input/les-nereides.ly.
1285
1286 * Moved Pedal_engraver to Staff context.
1287
1288 1.3.93
1289 ======
1290
1291 * Added some error messages for toplevel and stray string parse errors.
1292
1293 * Don't start more than one slur at a time.
1294
1295 * Set direction of Slur too in a2-engraver.
1296
1297 1.3.92.hwn1
1298 ===========
1299 * Removed calls to global GUILE namespace.
1300
1301 * Added \property: scriptDefinitions, explicitClefVisibility,
1302 explicitKeySignatureVisibility, instrumentEqualizer,
1303 dynamicAbsoluteVolumeFunction
1304
1305 * Added element properties Bar::break-glyph-function,
1306 Break_align_item::space-alist, Chord_name::chord-name-function
1307
1308 * Added \property combineParts: part combiner switched off by default.
1309
1310 * Remove all print methods.
1311
1312 * Use Scope::try_retrieve if possible.
1313
1314 * Remove FAQ in favor of URL.
1315
1316 * etf2ly.py robustness fixes.
1317
1318 * Don't compensate for left edge in broken volta spanner.
1319
1320 1.3.92
1321 ======
1322
1323 * RPM .spec fixes.
1324
1325 * italiano.ly
1326
1327 * mudela-book updates by Tom Cato Amundsen.
1328
1329 * Allow lyric hara kiri as well.
1330
1331 * Bugfix: left/right mixup  in Side_position_interface::aligned_on_self ()
1332
1333 * rest collision of differing rests.
1334
1335 * Cleanup of Sequential_music_iterator, Simple_music_iterator.
1336
1337 * Unfolded_repeat_iterator now signals repeats using \property
1338   repeatCommands. You could override this, eg.
1339
1340         \property Score.repeatCommands = #'((volta "X") start-repeat)
1341
1342   will print a |: and a volta bracket saying X. See also
1343   input/test/manual-volta.ly
1344   
1345 * Volta_engraver, Repeat_acknowledge_engraver: new engravers that are
1346 controlled by repeatCommands; much cleaner than the Repeat_engraver.
1347
1348 * Junked Repeat_engraver.
1349
1350 1.3.91.jcn1
1351 ===========
1352 * Abort all running spanners when part-combiner combines voices.
1353
1354 1.3.91
1355 ======
1356
1357 * Use S_ISDIR () and check for stat.h.
1358
1359 * Various fixes for RedHat 7.0 / gcc 2.96.54
1360
1361 * separate basic propertylist for fingerings, center them on
1362 noteheads.
1363
1364 * Side_position_interface::aligned_on_self() now can take a real
1365 number for self-alignment-{X,Y}.
1366
1367 * etf2ly: single line GF field.
1368
1369 1.3.90.mb1
1370 ===========
1371
1372 * Added an interscorelinefill paper variable. Set to a positive number 
1373   in order to stretch the inter-line spacing to fill the full pages,
1374   except for the last page (where it would look really ugly).
1375
1376 1.3.89.jcn1
1377 ===========
1378
1379 * Changed lilypond to LilyPond in ly2dvi, Mudela to LilyPond source.
1380
1381 * Website fixes: Changed \interline to \staffspace in manual, removed offending
1382   braces from mudela-book.tely.
1383
1384 * Fixed slur attachment correction bug.
1385
1386 * Made some fixes to Coriolan.
1387
1388 1.3.89.hwn1
1389 ===========
1390
1391 * Only open files, not directories 
1392
1393 * bugfix: textNonEmpty.
1394
1395 * Look ahead in auto-change iterator for rests. This means rests
1396 before the note leading to an automatic staff switch are switched as
1397 well (improves the looks of scarlatti-test).  Associated fixes and
1398 additions for  Music_iterator::skip () and friends.
1399
1400 * Bugfix: only quantise staccato inside the staff. 
1401
1402 * cleanups for beam and stem. Removed global GUILE namespace calls
1403 from Beam and Stem.
1404
1405 1.3.89
1406 ======
1407
1408 * Some fixes to Coriolan.
1409
1410 * Fixed some stupid core dumps processing Coriolan.
1411
1412 * Fixed several problems with part-combiner's part-switching.
1413
1414 * Fixes for ASCII output.
1415
1416 * Added feature to part combiner that should allow part-switching only
1417   for entire measures.  Currently, it is controlled by a new 
1418   property changeMoments (A . B):
1419     - only switch when !(A mod now),
1420     - decide whether to switch based on music during time period B.
1421
1422 * Made bugfix: Sequential_iterator::get_music (M): mustn't return music 
1423   later than M.
1424
1425 * Added skip (M) to some iterators.
1426
1427 * maintain minimum-length by shifting for hyphens at start of
1428 line. (patch courtesy Christophe Rhodes)
1429
1430 * mudela-book fixes (courtesy Tom Cato Amundsen): documentation
1431 update, LaTeX example, landscape support.
1432
1433 1.3.88.hwn2
1434 ===========
1435
1436 * Added elt properties for Tie:
1437   - details
1438   - x-gap
1439   - staffline-clearance
1440
1441 * Added elt properties for Slur
1442   - y-free
1443   - details
1444
1445 * Removed C++ support for barNumberScriptPadding, now in
1446 generic-property.scm (but they're deprecated anyway)
1447
1448 * Changed threshold in Align_interface to be in staffspace 
1449
1450 * changed minVerticalAlign and maxVerticalAlign to be in staffspace.
1451 A better way: do \push #'threshold = #(cons A B ).  (WARNING:
1452 INCOMPATIBLE CHANGE)
1453
1454 * moved translator definitions out of \paper { }, only instantiate in
1455 \paper.
1456
1457 1.3.88
1458 ======
1459
1460 * Sequential_iterator::get_music (), part combiner now works.
1461
1462 * Changed paper variables into elt properties:
1463   Beam:
1464   - beam-space-function, Removed Paper_def::interbeam_f(), Smaller
1465   beams for grace notes.
1466   - beam-flag-width-function to Beam.
1467
1468   Grace_align_item:
1469   -  horizontal-space: spacing of grace notes is configurable
1470
1471   Volta_spanner: 
1472   - height
1473   - thickness 
1474
1475   Multi_measure_rest:
1476   - expand-limit
1477   - minimum-width
1478   - padding
1479
1480   Lyric_extender:
1481   - height
1482
1483   Stem
1484   - thickness 
1485
1486   Collision
1487   -  note-width to Collision
1488
1489 * removed various obsolete variables from params.ly
1490
1491 * added input/test/bagpipe.ly
1492
1493 1.3.87
1494 ======
1495
1496 * Made fixes to part-combine examples and Coriolan.
1497
1498 * Bugfix: don't dump core on unterminated (de)crescendo.
1499
1500 * Rolled next (M) also into get_music (M), similar to process (M), so that
1501   sequential-music-iterator::get_music (M) returns something useful.
1502
1503 * Bugfix: part-combiner still expected Music_sequence, where get_music ()
1504   now returns plain list of events.
1505
1506 1.3.86.hwn3
1507 ===========
1508
1509 * Fixed problem with disappearing crescendi across line break.
1510
1511 * Bugfix: dynamic texts should not be set by text-engraver. 
1512
1513 * Rewrote and cleaned up music-iterator.
1514
1515 * etf2ly robustness fixes.
1516
1517 1.3.85.hwn2
1518 ===========
1519
1520 * Added side-position-interface as an interface identifier, in stead
1521 of checking side-support-elements. This fixes a problem with stacked
1522 text scripts.
1523
1524 * Removed spurious set_elt_property ("XX", SCM_EOL) calls.
1525
1526 * Added \property squashedPosition for Pitch_squash_engraver: the
1527 staff-position number to squash noteheads to.
1528
1529 * Added FAQ entry for script on bar, updated description of mailing
1530 lists.
1531
1532 * Fixed bug with \translator { basicXXXProperties \push ... }
1533
1534 * Updated and revised call for help in hacking.texi.
1535
1536 * Bugfix: don't remember accidental if it is tied from the previous note.
1537
1538 1.3.85
1539 ======
1540
1541 * Separated definition and implementation of contexts (moved
1542 definition out of Translator_group into Translator_def)
1543
1544 * pmx2ly.py fixes: now handles text at beginning of block correctly.
1545
1546 * update .spec to include scripts. 
1547
1548 * Changed syntax of \pushproperty:
1549
1550         \property Voice.basicXXXProperties \push #'foo = #bar
1551         \property basicXXXProperties \pop #'foo
1552
1553         \translator {
1554                 basicXXXProperties \push #'foo = #bar
1555                 basicXXXProperties \pop #'foo
1556         }
1557
1558 1.3.84.jcn1
1559 ===========
1560
1561 * Updated INSTALL.texi
1562
1563 1.3.80.tca1
1564 ===========
1565 * Added Documentation/user/mb-latex.tex, mudela-book+latex example
1566   file and test case. Some work on Documentation/user/mudela-book.tely
1567
1568 * mudela-book.py: any combination of \verb, \begin{verbatim}
1569   @code and @example and mudela should work as expected. 
1570
1571 * dropped [].extend that depend on python 1.5.2
1572
1573 1.3.84
1574 ======
1575
1576 * pmx2ly, PMX to LilyPond conversion. Succesfully converts barsant.pmx.
1577
1578 * musedata2ly, a Musedata to LilyPond convertor. Succesfully converts
1579 wtk1-fugue2
1580
1581 * bugfixes for dynamics: make sure that dynamic alignments encompass
1582 the dynamics they support, and that any columns they attach to aren't
1583 prematurely killed.
1584
1585 * bugfix: make sure \time gets noticed early enough.
1586
1587 1.3.83
1588 ======
1589
1590 * small doc updates.
1591
1592 * Cleanups related to barline handling:
1593
1594   - Removed Translator_group::get_simple_translator (), and -
1595
1596   - use properties to communicate about barlines and time sigs. (NOTE:
1597     by default a time-signature of 4/4 is printed.)
1598
1599   - fix repeat bar behavior.
1600
1601 1.3.115.hwn1
1602 ============
1603
1604 * documentation
1605
1606
1607
1608 * cleaned up Directional_element_interface
1609
1610 * add name field to score-elements.
1611
1612 * comment in some unprotects for Music in parser. Should bring down
1613   cpu time and plug some leaks.
1614
1615 * robustness fixes for etf2ly, tuplets, grace notes. 
1616
1617 1.3.82
1618 ======
1619
1620 * engraver.ly: cleanups.
1621
1622 * etf2ly: robustness fixes, handle mac files as well.
1623
1624 * Smobified Translator and Translator_group, junked
1625 Translator_group_identifier.
1626
1627 * \pushproperty and \popproperty withing \translator, similar to
1628 predefining \property, ie.
1629
1630         \translator { [...] \pushproperty [..] }
1631         \translator { [...] \popproperty [..] }
1632
1633 (these \pushes and \pops are delayed until instantiation, so if you do
1634
1635
1636         \score {
1637                 \pushproperty #'basicFooProperties #'bla #VALUE1
1638                 \context Voice { \pushproperty #'basicFooProperties #'bar #VALUE2
1639                         [..]
1640                 }
1641         }
1642
1643 then the setting for basicFooProperties contains both (bla . VALUE1)
1644 and (bar . VALUE2).
1645
1646 * allow \pushproperty #'symbol [..] as well as \pushproperty #'(symbol1 symbol2 ... )
1647
1648 1.3.81.jcn1
1649 ===========
1650
1651 * Activated regex for windows.
1652
1653 * New guile-1.4 patch for cross windows build.
1654
1655 * Added configure messages for metapost checking.
1656
1657 1.3.81
1658 ======
1659 1.3.80.gp1
1660 ==========
1661
1662 * Added property LyricVoice.associatedVoice to enable switching associated
1663   voice mid-stream. Association still defaults to context name.
1664
1665 1.3.80.hwn1
1666 ===========
1667
1668 * \pushproperty, \popproperty: property settings with less memory
1669 cost. See input/test/pushproperty.ly and Documentation/hacking. Note:
1670 syntax is most likely only temporary.
1671
1672 1.3.80.jcn1
1673 ===========
1674
1675 * (Line-)broken slurs now have vertical trend.
1676
1677 * Better length for broken ties: no invisibly short ties.  Now ties may
1678   collide with time signatures, though.
1679
1680 * Don't typeset unfinished spanners, but kill them.
1681
1682 * Added two FAQs (Mats)
1683
1684 * Made workaround guile-1.4.1 backward incompatible (scm_)eval change.
1685   Note that we must use (scm_)eval2 to remain backwards compatible with
1686   guile < 1.4.1 snapshot.
1687
1688 * Reincluded 79.jcn2 fix
1689
1690 1.3.80
1691 ======
1692
1693 1.3.79.jcn5
1694 ===========
1695
1696 * Created Thread_devnull_engraver and Voice_devnull_engraver iso
1697   single A2_devnull_engraver in Thread context.  It seems however
1698   that the hack in A2_devnull_engraver works better.
1699
1700 * Coriolan fixes.
1701
1702 * Slur attachment fix for chords where case slurdir != stemdir.
1703
1704 * Made various fixes for (line-)broken slurs.
1705
1706 * Fixed slur_height (), which fixes most ugly slurs (Yeah!).
1707
1708 * Fixed some silly url reversals in FAQ.
1709
1710 * Finished Coriolan music entry (again); entered second viola part.
1711
1712 * Updated Coriolan to use part combiner on Voice level for wind parts
1713   and on Staff level for violi and bassi.
1714
1715 * Part-combiner now uses duration inquiry, which fixes rhythm-related
1716   bugs in determining solo/a2.  Also, rests are taken into account.
1717
1718 * Another crude fix for almost unexplainable (with a gdb that dumps
1719   core on ly_display_scm) all-zero control points slurs.
1720
1721 * Fixed slurs that crossed through stems and note heads.  Note
1722   that beautifying of ugly slurs is still broken.
1723
1724 * Made crude fixes slurs don't crash, bezier still crashes on
1725   infinitely steep slurs (eg flauti-part *with* slur_engraver).
1726
1727 1.3.79.gp1
1728 ==========
1729
1730 * Replaced empty melisma score element with a property
1731
1732 * Renamed Voice_alist_entry -> Syllable_group in lyric-phrasing-engraver
1733
1734 1.3.79.uu1
1735 ==========
1736
1737 * fixed y-position of whole rest
1738
1739 * fixed sustainPedalPadding
1740
1741 * etf2ly: articulation, lyrics.
1742
1743 1.3.79
1744 ======
1745
1746 * etf2ly.py: Finale to LilyPond conversion.
1747
1748 1.3.78.jcn4
1749 ===========
1750
1751 * Made simple fix to get part-combiner to recognise different rhythms
1752
1753 * Unhardcoded part combiner and a2-engraver; introduced properties
1754   splitInterval, soloADue, soloText, soloIIText, aDueText.
1755
1756 * Fixed part combiner's too-late problem (Dankje!)
1757
1758 * Fixed a2-devnull-engraver, a2-engraver.
1759
1760 * Renamed part combiner music names to "one", "two".
1761
1762 * Cleaned up decision making in part combiner, renamed to "solo"/"unison"
1763
1764 1.3.77.mb1
1765 ==========
1766
1767 * Minor documentation updates
1768
1769 * Mark_engraver: has been broken since .73, fixed!
1770
1771 1.3.78
1772 ======
1773
1774 * Added a devnull engraver, that junks (notehead) requests of the second
1775   stem when combined parts are in unison (a2).
1776
1777 * Part-combine iterator identifies Soli and A2 parts in threads by 
1778   looking at rhythm and pitches.  It switches Voice context automagically,
1779   and communicates current state using a2/solo/solo2 properties.
1780
1781 * Simple A2_engraver (`a due) prints `a2/Solo/Solo II.  Soli seem to
1782   arrive one request late.
1783
1784 * First try at combining parts: part-combine*
1785
1786 * fixed problem with HaraKiri
1787
1788 * fixed problem with dynamicDirection
1789
1790 * fixed problem with nonEmptyText 
1791
1792 * `Fixed' chord notation, as per request of David Arnold, ie, 
1793    Added a chord-name-mode, that only displays chord names
1794    when there's a change in the chord-name-scheme, Also, a chord
1795    name should always be displayed after a line break.  See
1796
1797        input/test/chord-changes.ly
1798
1799 * Reverted duration-iter change in midi2ly, moved printing of options.
1800
1801 * warning bugfix in lexer.ll (Mats Bengtsson)
1802
1803 1.3.77
1804 ======
1805
1806 * Midi2ly bugfix: handle durations longer than longa.  These can occur
1807   because of lengthened notes when using --no-rests.
1808
1809 * Midi2ly: output `new' \key syntax, and updated version number.
1810
1811 * Midi2ly bugfix: don't correct quantised durations, don't use tuplets, 
1812   double dots etc. when user doesn't want them.  It probably used to
1813   work like this, a long time ago.  For some unknown reason, all
1814   corrections made by Duration_convert were junked if the corrected
1815   duration != exact duration.  Duh.
1816
1817 * Midi2ly: added a new option: --no-rests.
1818
1819 * Update of mudela-book (Tom Cato Amundsen)
1820  - --read-lys option, now you can do:
1821         mudela-book file.texi
1822         convert-mudela
1823         mudela-book --read-lys
1824  - --outdir=DIR will put ALL output into DIR
1825  - @mudela[filename="myfilename"]{c d e f g}
1826  - --force-mudela-fontsize
1827  - ignore mudela inside @ignore @end ignore
1828
1829 1.3.76.gp1
1830 ==========
1831
1832 * Lyric_phrasing_engraver now catches lyric extenders and correctly
1833   terminates them under the last note of a melisma.
1834
1835 * Lyric word spacing code changed to fix hyphen alignment.
1836
1837 * Other minor tidying up of Lyric_phrasing_engraver and related code.
1838
1839 1.3.76
1840 ======
1841
1842 * Lyric_phrasing_engraver now adjusts for melisma.  (Glen Prideaux).
1843
1844 * Mudela-book fix for Windows95 (Mark Hindley)
1845
1846 * Debian update (Anthony Fok)
1847
1848 * Added beam melisma for when automaticMelismata and noAutoBeaming are both
1849   #t (primarily for hymns).  Courtesy Glen Prideaux.
1850
1851 * Bugfix: .pfa dependency on $(outdir)/mfplain.mem
1852
1853 1.3.75.mb1
1854 ==========
1855
1856 * stepmake/stepmake/metapost-rules.make: Put all generated files
1857   in mf/out/.
1858
1859 * Added paper variable interscoreline to determine the score line
1860   spacing, see input/test/vertical-extent.ly.
1861   Cleaned up the lilyponddefs.tex inclusion scheme.
1862
1863 1.3.75
1864 ======
1865
1866 1.3.74.gp1
1867 ==========
1868
1869 * Improved default handling of Lyric_phrasing_engraver and made it on by 
1870 default.
1871
1872 * Beginnings of a stanza number engraver (\property LyricVoice.stanza = 
1873 #"1:" etc.)
1874
1875 * fixed bug in script.cc so fermata (and other scripts) get flipped 
1876 correctly when they are above the staff.
1877
1878 1.3.74.jcn2
1879 ===========
1880
1881 * Reincluded simple code for including tfm.[1-5] into search path.
1882   Configure with --disable-kpathsea to enable this kludge.
1883
1884 1.3.74.jcn1
1885 ===========
1886
1887 * Updated input/test/banter-chords.ly German H/B example.
1888
1889 * Updated nl.po.
1890
1891 * Have configure check for kpathsea library and functions.  Made kpathsea
1892   support optional for now.
1893
1894 * Bugfix: halved width of tremolo-beams.
1895  
1896 * Included compilation fix for guile-1.3.4 (Anthony).
1897
1898 * Added: chord inversion and base to regtest.
1899
1900 * Fixed: Chord names that were broken by pl73.
1901
1902 * Fixed: Chord inversions that were broken by pl72.
1903
1904 * Resurrected ascii-script output, for debugging purposes.
1905
1906 * Included compilation fix for scm-hash.cc (Han-Wen).
1907
1908
1909 1.3.74
1910 ======
1911
1912 * Small bugfix: also do a deep copy on  submusices
1913
1914 * Fixed:  \autochange doesn't crash anymore.
1915
1916 * Cleanup, documentation and enforcement of smob interfaces in
1917 LilyPond.  We distinguish between SIMPLE_SMOBS and SMOBS (objects that
1918 have self_scm_)
1919
1920 * Glen Prideaux lyric phrasing engraver. See
1921 input/test/lyric-phrasing.ly
1922
1923 1.3.73
1924 ======
1925 * Removed \interscoreline after the last line, prevents some
1926 empty pages. (patch by Mats Bengtsson)
1927
1928 * Smobified Music, junked associated identifiers. Use Scheme list to
1929 store Music_sequence.  Removed const declarations from
1930 Music_iterators.  Added a mutable and immutable property list to
1931 Music.  Use music property for all Scheme values in Music.  Created
1932 and fixed a load of Garbage Collection bugs.
1933
1934 * Changed number font to allow automatic .mf creation.
1935
1936 * Output place of definition as \special{src:LOCATION}. See FAQ for
1937 explanation how to use.
1938
1939 * Schemified Local_key_item and fixed minor bug with accidentals.
1940
1941 * new Japanese .po file.
1942
1943 * Bugfix for broken tie direction
1944
1945 * Bugfix for bar at beginning of line break
1946
1947 1.3.72
1948 ======
1949
1950 * Robustness fix for minimise_least_squares ()
1951
1952 * cleanups of Slur_bezier_bow, removed Bezier_bow.
1953
1954 * cleanup of Tie. Changed Tie into interface. Made ties flatter by default.
1955
1956 * changed SCM_UNDEFINED to SCM_UNSPECIFIED for return values that go
1957 back into Scheme.
1958
1959 * changed SCM_UNSPECIFIED to SCM_EOL for undefined element
1960 properties. This makes initializing list properties redundant.
1961
1962 * removed idiotic code for including tfm.[1-5] into search path.
1963
1964 * fixed problem with tuplet placement for cross staff tuplets.
1965
1966 1.3.71
1967 ======
1968 * Small cleanups to bring down  compile time and binary ensmallment.
1969
1970 * Made Lookup into a smob, and use guile alist iso. an STL map.
1971
1972 * Changed repeated music semantics for relative octave: each
1973 alternative takes its inital octave from the body.
1974
1975 * Fixed: parser accepts booleans for property values as well.
1976
1977 * Added Scarlatti sonata test file to input/
1978
1979 * kpathsea support, courtesy Carsten Block <carsten.block@gmx.de> 
1980
1981 1.3.70
1982 ======
1983 * Fixed: long standing problem in optical-illusion code.
1984
1985 * Fixed: stop beam if stem *has* a beam in auto-beam-engraver. 
1986
1987 * Made interface of Multi_measure_rest, System_start_delimiter,
1988 Spacing_spanner, Separating_group_spanner, Beam, Slur and
1989 Rhythmic_head.
1990
1991 * Use properties for minimum distances and spring parameters.  Move
1992 spacing related functions from Paper_column into Spaceable_element.
1993
1994 * Removed most Paper_column typecasts.
1995
1996 1.3.69
1997 ======
1998
1999 * Cleanup auto-beam-engraver: use properties for retrieving timing
2000 information.
2001
2002 * Fixed: Multi measure rests don't cause crashes.
2003
2004 * Fixed: don't invoke Hara_kiri::consider_suicide too early.
2005
2006 * Fixed: property engraver.  
2007
2008 * Fixed: don't crash on multiple ties.
2009
2010 * Cleanups of Beam, should also be a little faster.  
2011
2012 * Reunite properties and pointers. In implementation we make a
2013 distinction between mutable and immutable properties
2014
2015 * Add {has|set}_interface () static methods to interface classes.
2016
2017 * Made Side_position_interface and Staff_symbol_interface an all
2018 statics class, and stripped _interface suffix.
2019
2020 * Make Align_interface and Axis_group_interface an all-statics class 
2021
2022 * Rhythmic_head, Staff_symbol, Grace_align_item, Break_align_item,
2023 Bar, Span_bar are now interfaces, Staff_bar was removed. Use a
2024 callback for determining barsize.
2025
2026 * Removed all GLUE_SCORE_ELEMENT callbacks. 
2027
2028 * Added test for repeats to trip.ly
2029
2030 1.3.68
2031 ======
2032
2033 * ly2dvi: changed back to original semantics of latexheaders.
2034
2035 * Stem_tremolo, Crescendo, Hara_kiri_group_spanner, Tuplet_spanner,
2036 Volta_spanner changed into interface.
2037
2038 * Related cleanups for Tie, Tie_column cleanups.
2039
2040 * Made Time_signature, Single_malt_grouping_item, Script_column,
2041 Chord_name, Dot_column, Breathing_sign, Key_item type into interface.
2042
2043 * Removed const declaration from callback arguments.
2044
2045 * Pagebreak support. See input/test/between-systems.ly
2046
2047 * Fixed a problem with accidentals in combination with
2048 non-nil key signatures.
2049
2050 1.3.67
2051 ======
2052
2053 * Use callbacks for augmentation dot positioning.
2054
2055 * Removed types Note_head and Rest
2056
2057 * Cleanup of slur.cc: use common reference points in a sane manner.
2058
2059 1.3.66
2060 ======
2061
2062 * Corrected text sizes in paper*.ly (Mats Bengtsson)
2063
2064 1.3.65.uu1
2065 ==========
2066
2067 * Dots, Collision, Rest_collision removed as separate Score_element type.
2068
2069 * Stem and Note_column accept only one rest.
2070
2071 * Use offset callback in Stem to resolve rest/beam collisions.
2072
2073 * Put the value of new  local key signature (accidentals) back into a property.
2074
2075 * Set molecule-callback for notename item.
2076
2077 1.3.65.jcn2
2078 ===========
2079
2080 * Added some comments to new slur code.
2081
2082 * Removed some ugly interstaff slur code, interstaff slurs at line-break
2083   are still broken.
2084
2085 * Slur bugfix: 16th beams are also beams.
2086
2087
2088 1.3.65
2089 ======
2090
2091 * Bugfix: translate volta spanner at start of line.
2092
2093 * Changed directional_element() calls to instantiations
2094 of Directional_element_interface.
2095
2096 * Removed Dynamic_line_spanner, and cleaned up Dynamic_engraver.
2097
2098 * Removed Staff_info type. Information about columns is now transferred
2099 via currentMusicalColumn and currentCommandColumn.
2100
2101
2102 1.3.64.jcn2
2103 ============
2104
2105 * Made slur attachment position user settable; properties:
2106 slurBeginAttachment slurEndAttachment, values: 'head 'stem
2107 'along-side-stem.  See input/test/slur-attachment.ly and ophee-slurs.ly.
2108
2109 * Fixed slur attachment positions, added missing rule and use simple
2110 default starting positions for attachments.
2111
2112 * Started rewrite of slur ending code, interstaff slurs are broken for
2113 now.
2114
2115 * Fixed download URL of the webpage.
2116
2117 * Moved direction.cc to flower/.
2118
2119 1.3.64
2120 ======
2121
2122 * Lyrics centered on notehead.
2123
2124 * Various bugfixes hyphen-spanner.
2125
2126 * Bugfix: set appropriate callbacks for Note_head. This fixes 
2127 problems with dots.
2128
2129 * Removed Clef_item as score-element derived type.
2130
2131 * Updated config.sub and config.guess
2132
2133 * Bugfix: allow linebreaks on beamed grace notes.
2134
2135 1.3.61.jcn2
2136 ===========
2137
2138 * Included dutch po-update based on submitted 1.3.57 nl.po
2139
2140 * Added "Development" link to website, now that "Home" is a relative link.
2141
2142 * Bugfix: use deep copies for resetting keys.
2143
2144 * Assorted typing erors in procedure names in ly/engraver.ly
2145
2146 1.3.62
2147 ======
2148
2149 * Made callbacks from Score_element::before_line_breaking() and
2150 Score_element::after_line_breaking()
2151
2152 * Fixed website; backlinks should work again.
2153
2154 * Removed --ignore-version option. Added --verbose option.
2155
2156 1.3.61
2157 ======
2158
2159 * Webpage hacking
2160
2161 1.3.60.hwn1
2162 ===========
2163
2164 * Junk int_identifier, real_identifier. Merged Midi_def_identifier and
2165 Paper_def_identifier.
2166
2167 * Fixed bug with spanning barlines in combination with Hara-Kiri staffs.
2168
2169 * Cleaned up Text_item, Hyphen_spanner, Lyric_extender and
2170 Sustain_pedal and reduced them to an Score_element interface (they are
2171 no longer Score_element derived types).
2172
2173 * Some instances of brew_molecule routines have moved out of
2174 Score_element, and are now called scheme_molecule.
2175
2176 * Moved lots of parameters from ly/params.ly to ly/engraver.ly
2177
2178 1.3.59.hwn1
2179 ===========
2180
2181 * Removed String_identifier, and use the type system of GUILE instead.
2182
2183 * Fixed \key PITCH MODALITY syntax. The modality argument is now
2184 mandatory, a rule in convert-mudela has been added.
2185
2186 * Cleaned up  buildscripts/ directory: removed obsolete scripts.
2187
2188 * Use Scheme_hash_table for identifier Scopes.  Scheme_hash_table is
2189 based on STL and should be faster than hash_table.
2190
2191
2192 1.3.59.jcn1
2193 ===========
2194
2195 * Fixed scm_un/protect_object for guile-1.3.4 and 1.3.5 snapshots,
2196   in the process reduced number of protect/unprotect calls.  With
2197   guile-1.3.5 snapshot, memory usage has decreased by 1/5th, now
2198   just 10% above the 1.2 level.  Also, Lily's a bit faster.
2199
2200 * Fixed make diff bug in stepmake to be able to make this diff :-)
2201
2202 1.3.58.hwn1
2203 ===========
2204
2205 * Rewrote key sig support.  Now key signature can also be controlled
2206 by setting keySignature and localKeySignature properties, eg.
2207
2208         \property keySignature = #'((2 . -1) ( 4 . -1) (6 . -1))
2209
2210 sets a key signature of `es ges bes' (an unusual key signature).
2211
2212 Keys are internally represented as transpositions of the c-major
2213 scale. Printing the key signature for a scale is done by filtering out
2214 all non-natural accidentals.
2215
2216 * Removed support for \keysignature, and \key something \minor; Newkey
2217 is now obsolete.
2218
2219 1.3.58.jcn3
2220 ===========
2221
2222 * Fixed pedal items (hw)
2223
2224 * Changed configure option tex-tmfdir to tmf-path now accepting multiple
2225   tfm directories.  Automated links to cmr and amstex tfm font directories.
2226
2227 * Replaced one scm_assoc () u-turn slipped through jcn1
2228
2229 * various GUILE 1.3.5 compile fixes
2230
2231 * Added `Ped' as a compound symbol font and removed silly scheme kerning.
2232
2233 * Replaced some scheme assoc u-turns with scm_assoc ()
2234
2235 * Ran po-update (mostly because of new ja contribution).
2236
2237 1.3.57.jcn2
2238 ===========
2239
2240 * Cleaned-up scheme list to text conversion for Chord_name and 
2241 fixed horizontal kerning.
2242
2243 * Added examples for american (slashed o) and jazz (black triangle),
2244   see input/test/{american-chords.ly,jazz-chords.ly}
2245
2246 * Made guile-1.3.5 compile fixes
2247
2248 1.3.57.uu1
2249 ==========
2250
2251 * Fixed typo in Dots::do_brew_molecule (); this fixes the disappearing
2252 dots problem.
2253
2254 * Rewrote key signature administration; now Scheme is used; Octave and
2255 Key have been junked in favor of Newkey.
2256
2257 * japanese .po file included (thanks, Japanese team!)
2258
2259 1.3.57
2260 ======
2261
2262 * Fixed several forgotten molecule-callbacks 
2263
2264 * Fixed first clef in score; now F clefs are also possible.
2265
2266 1.3.56.mb1
2267 =========
2268  
2269 * Updated FAQ with two useful GDB macros.
2270
2271 * Several fixes in the documentation.
2272
2273 1.3.55.jcn1
2274 ===========
2275
2276 * Made (dutch) po-update
2277
2278 1.3.56
2279 ===========
2280
2281 * Molecules are now generated via callbacks exclusively; most calls to
2282 set_elt_property ("transparent", SCM_BOOL_T) have been replaced by suicide().
2283
2284 1.3.55
2285 ======
2286
2287 * Experimental property collapse for most score-elements.  (notable
2288 exceptions: Scripts, pedals). Change all Score_element constructors to
2289 take a basic-property list. The suffix of a property list may be
2290 shared by several score-elements, for instance all default G-clefs in
2291 a score share the following settings
2292   
2293            (breakable . #t)
2294            (break-align-symbol . Clef_item)
2295            (visibility-lambda . ,begin-of-line-visible) 
2296
2297 This should reduce memory usage further. 
2298
2299 * Magically fixed the disappearing Lyrics problem.
2300
2301 * Removed used_b_ field from Score_element.  
2302
2303 * Massive search-replace patch: store pointers and properties
2304 separately, in preparation of property collapse.
2305
2306
2307 1.3.54
2308 ======
2309
2310 * Bugfix: don't crash on tuplet spanners that don't contain any notes.
2311
2312 * Cleanup of Dimension_cache: removed a few redundant
2313 fields. Slightly lower memory usage (32 bytes per
2314 score-element). Dimension_cache is now a `dumb' struct again.
2315
2316 * Add array index to priority field of text scripts to ensure that
2317 order is unique, and sensible.
2318
2319 * Added an element count statistic.
2320
2321 1.3.53
2322 ======
2323
2324 * russian.po (thank you, August.)
2325
2326 * Small cleanups in Molecule interface 
2327
2328 * Spacing related elements perform suicide after calculating
2329 distances.  This saves a some memory, approximately 2 to 5 % ?
2330
2331 * Small cleanups in line breaking: Paper_column stores springs and
2332 rods in only one place now.  All fields relating to energy have been
2333 removed
2334
2335 * Don't generate all output Scheme in memory, but evaluate to output
2336 file immediately.  This will reduce memory usage a little.
2337
2338 * Use STL's map  for Dictionary template
2339
2340 * Substitute pointers on element properties of the root Line_of_score
2341 as well.
2342
2343 * Added toplevel doc target, to support building doc with --srcdir
2344
2345 * Removed cygwin build stuff; updated versions at:
2346
2347      http://appel.dyndns.org/lilypond/gnu-windows/cross
2348
2349 * Fixed lily.scm to handle incipits (thanks, Mats)
2350
2351
2352 1.3.52
2353 ======
2354
2355 * Made bugfix in smob handling: delete the C-part of freed smobs and
2356 be honest about amount of allocation and deletion, so that GUILE
2357 doesn't overestimate the amount of memory available.
2358
2359 * Faq update: nicer blank note paper, courtesy Mats Bengtsson.
2360
2361 * Bugfix: don't crash on durations that are not a power of 2.
2362
2363 * Build manpages during `make all' 
2364  
2365 * Bugfix: don't do absolute comparisons in Polynomial::clean ().
2366
2367 * Bugfix: set visibility-lambda for key signature created by
2368 createKeyOnClefChange. Fixes disappearing key signatures. 
2369
2370 * Bugfix: make System_start_delimiter of bar-line type invisible when
2371 it spans only one staff.
2372
2373 1.3.51
2374 ======
2375
2376 * Item cleanups.  Copying items and rearranging pointers are done in
2377 separate passes, which makes the code cleaner. This fixes a problem
2378 with some items not disappearing from hara-kiri staffs.
2379
2380 * Use Scheme for Key_item data members. 
2381
2382 * Don't use regex in chord-names.scm under windows; hybrid chordnames
2383 user+calculated will be partly broken.
2384
2385 1.3.50
2386 ======
2387
2388 * Junked Shift_tuple from collision; Now it uses SCM.
2389
2390 * Bugfix of documentation and test-file of tuplet.
2391
2392 * Bugfix type string of repeated music is copied. This fixes declared
2393 tremolos.
2394
2395 * Junked various cruft from lily.scm
2396
2397 * Use interfaces symbols instead of C++ class-name for assigning generic
2398 element properties.
2399
2400 * Junked Dictionary from Piano_pedal_engraver and
2401 Piano_pedal_performer.
2402
2403 * Introduced boolean element property no-spacing-rods: ignore this
2404 item for hard constraints.
2405
2406 * Bugfix: added sanitised TeX fragment in faq.texi
2407
2408 * Bugfix: merge equal Bar_reqs
2409
2410 1.3.48.uu1
2411 ==========
2412
2413 * Small fixes for \cresc and \endcresc
2414
2415 * Release properties of unbroken spanners & items after doing
2416 handle_broken_smobs (); should conserve a little memory.
2417
2418 * Fixed handling of orphaned score-elements. Any element that does
2419 not have its Line_of_score as a ancestor in both directions, is silently
2420 removed from the output.  This guarantees that programming errors
2421 don't result in coredumps from Dimension_cache::common_refpoint ():
2422 element->line_l () is always a common reference point.
2423
2424 * Bugfix: set visibility-lambda of clef and octavation-8 explicitly
2425 for default case.  Now the octavation 8 is not printed at every
2426 barline.
2427
2428 1.3.48.mb1
2429 ===========
2430
2431 * Changed noteHeadStyle properties to symbols, for example
2432   \property Voice.noteHeadStyle = #'cross
2433
2434 1.3.47.jcn3
2435 ===========
2436
2437 * Rewrite of chord-name production in scheme.  There are two major styles
2438   now, banter and american.  To get american style, use
2439
2440       \property ChordNames.chordNameStyle = "american"
2441  
2442   Most anything should be possible now.  See input/test/american-chords.ly
2443
2444 * Added isinf check to configure.in, and isinf macro from guile to
2445   bezier.cc; solaris has no isinf ().
2446
2447 * Fixed star-spangled-banner with not-so-nice \bar "|." fix.  Almost
2448   perfect now.
2449
2450 * Added output property to regression test.
2451
2452 * Fixed warning of creating existing outdir.
2453
2454 * Added `Mark' interface to text-items that are marks (thanks, HW).
2455
2456 1.3.48
2457 ======
2458 1.3.47.mb2
2459 ===========
2460
2461 * Corrected glossary.tely
2462
2463 * Corrected \mark font handling. feta-nummer font only of the 
2464   string is all numeric.
2465
2466 * Implemented noteHeadStyle lookup in Guile. Reintroduced the style
2467   "harmonic" and added "baroque" (normal note shapes except for 
2468   brevis and longa which are square).
2469
2470 * Simplified ly2dvi using the power of the geometry package.
2471
2472 * Improved heuristic size calculation of TeX macros. Handles e.g.
2473   "\\u{a}", "\\"{o}" and "\\^{u}" correctly.
2474
2475 1.3.47.hwn1
2476 ===========
2477
2478 * Bugfix: don't hang on zero-duration.
2479
2480 * Various glossary updates (thanks, Christian)
2481
2482 1.3.47
2483 ======
2484
2485 1.3.46.jcn2
2486 ===========
2487
2488 * Drastically reduced vertical space used by headers/footers, when using
2489   ly2dvi.  See input/test/fill-a4.ly.
2490
2491 * Fixed bug with colons appearing on repeat span-bars.
2492
2493 * Added Bar_number_engraver to standard Score context
2494
2495 * Construct octavation scripts in the clef-engraver; this fixes the
2496 hara-kiri + clef8 problem
2497
2498 1.3.46
2499 ======
2500
2501 1.3.45.jcn2
2502 ===========
2503
2504 * Fixed chord-name customisation and made small chord-name build fixes.
2505
2506 * Accidentals with chord-names smaller and as superscript.
2507
2508 * Do some extra footify (works only once) while making html docs.  
2509
2510 1.3.45.hwn1
2511 ===========
2512
2513 * Debian patch (Thanks Anthony)
2514
2515 * Rewrote Bar_number_engraver and Mark_engraver and removed
2516 Bar_script_engraver as baseclass. Both Bar_number_engraver and
2517 Mark_engraver are simpler and more robust.
2518
2519 * Fixed precedence of \property verticalDirection and dynamicDirection
2520
2521 * Fixed keys without barlines 
2522
2523 * Fixed StaffGroups: removing `\consistsend "Axis_group_engraver"'
2524 puts alignment in function again
2525
2526 * Fixed StaffGroup + GrandStaff combination.
2527
2528 * Music is now mandatory as the first thing in a \score{} block
2529
2530 1.3.45
2531 ======
2532 1.3.44.jcn2
2533 ===========
2534
2535 * Implemented una-chorda and sostenuto piano pedals in performer and engraver.
2536
2537 * Added Properties textScriptWordSpace and chordNameWordSpace.
2538
2539 * Junked old lyrics in star-spangled-banner.
2540
2541 * Added a Piano_pedal_engraver.
2542
2543 * Removed some empty files.
2544
2545 * Created piano pedal symbols: * - . P e d.
2546
2547 * Fixed ps-to-pfa.py to handle multiple unfills.
2548
2549 * Moved accordion symbols out of feta-script to end of font.
2550
2551 * Bugfix: don't create tfm's, pfa's etc of feta-test fonts.
2552
2553 * Fixed blot_diameter for small resolutions.
2554
2555 1.3.43
2556 ======
2557
2558 * Put global element list into Line_of_score, instead of
2559 Paper_score. post processing (the stage after line breaking) is now
2560 truly done per-system, and we got rid of an ugly hack to get font
2561 handling OK.
2562
2563 * Bugfix: set the group-interface of System_start_delimiter.
2564
2565 * Cleanups of Break_algorithm and derived classes, Move
2566 broken_col_range () to Line_of_score, remove Paper_score::col_l_arr_
2567
2568 * Bugfix for accordion symbols.
2569
2570 * Various patches to prevent crashing when do_brew_molecule gets
2571 called before after_line_breaking (). This was a problem in Spanner
2572 classes mostly.
2573
2574 1.3.43
2575 ======
2576
2577 1.3.42.jcn3
2578 ===========
2579
2580 * Made a quick try at piano pedal performer, damper pedal only.
2581
2582 * mf/feta-accordion.mf: Fixed strange turning paths.
2583
2584 * mf/feta-beugel.mf: Fixed infinity errors.
2585
2586 * Use a more discriptive name for windows setup.zip.
2587
2588 * mf/GNUmakefile: Have logs as last target, so that normally, they're 
2589 not made twice.
2590
2591 * stepmake/stepmake/metafont-rules.make: Don't remove the .log files.
2592 The logs are a target, removing them retriggers make.
2593
2594 * stepmake/stepmake/metapost-rules.make: Remove the correct log and tfm
2595 files, ie the ones that clutter the source directory, not the target logs.
2596
2597 * Windows distribution: faked symlink for cmtfm.  Setup.zip should now be
2598 standalone; ie, no need for Cygnus' usertools anymore.
2599
2600 1.3.42.jbr1
2601 ===========
2602   
2603 * Documentation/ntweb: Updated angels.ly to match current syntax.
2604 Also updated index.texi.
2605
2606 1.3.42.uu1
2607 ==========
2608
2609 * Change all occurances of Staff_margin_engraver to
2610 Instrument_name_engraver, add a convert-mudela rule
2611
2612 * Change status == busy assert into programming error
2613
2614 1.3.42
2615 ======
2616
2617 1.3.41.jcn3
2618 ===========
2619
2620 * Lots of fixes to windows distribution scripts.
2621
2622 * Added configuration features --program-prefix, --program suffix.
2623
2624 * lily/my-lily-parser.cc (get_chord): Bugfix, don't use deleted pitch.
2625 This fixes inversions c/g and bass additions d/+c on chords.
2626
2627 1.3.41.mb1
2628 ==========
2629
2630 * Avoid that xxxXXXVerticalExtent is used for empty HaraKiriStaff
2631   lines.
2632
2633 1.3.41.hwn1
2634 ===========
2635
2636 * Debian patches (thanks Anthony!)
2637
2638 * Use symbols for prefatory matter spacing. Do not use the typename
2639 for looking up item pairs in the table, but read element property
2640 break-align-symbol
2641
2642 * Instrument_name_engraver, uses break alignment instead of
2643 side-position.
2644
2645 * System_start_delimiter_engraver, System_start_delimiter, uses a
2646 spanner for the braces/brackets at the left of the system. Remove all
2647 old Span_score_bar engravers.
2648
2649 * Removed Base_span_bar_engraver::use_prority_b_, and moved
2650 Base_span_bar_engraver into Span_bar_engraver.
2651
2652 1.3.40.jcn3
2653 ===========
2654
2655 * mutopia/Coriolan/violino-2.ly: Bugfix: wrong pitch.
2656
2657 * input/test: Removed stale AutoStaffSwitch examples.
2658
2659 * mutopia/E.Satie: Fixed gnossiene-4, doing \autochange.  Removed
2660 stale copy of gnossiene-4.
2661
2662 * buildscripts/make-cygwin-cross.sh: Made some small .zip package fixes.
2663
2664 * make/lilypond.spec.in: Made some bugfixes for _prefix, preparations
2665 for cross-building to Cygwin.
2666
2667 * buildscripts/make-cygwin-cross.sh: Now using rpm packages.
2668
2669 1.3.40.hwn2
2670 ===========
2671
2672 * added \property XXXMinimumVerticalExtent, \property XXXExtraVerticalExtent
2673
2674 * New_chord_tremolo_engraver: make tremolo beams from
2675
2676         \repeat "tremolo" NUMBER <Music-expression>
2677
2678 Removed support for "old-style" tremolos.
2679
2680 * Add a convert-mudela function for the conversion "\key A;" to "\key a; 
2681
2682 * Read \property measurePosition within the engraver code, instead of
2683 looking up the Timing_translator.
2684
2685 * star-spangled-banner.ly: add Bar_engraver to LyricsVoice 
2686
2687 * Changed all .fly and .sly files to .ly files.  Propose to dump .fly
2688 and .sly.
2689
2690 1.3.40
2691 ======
2692
2693 1.3.39.jbr1
2694 ===========
2695
2696 * buildscripts/mf-to-table.py: feta dep files are now opened with write
2697   binary option.  This avoids carriage return linefeed problems and
2698   windows while not affecting unix.
2699
2700 * Documentation/hacking.texi: Fixed a texinfo syntax error
2701
2702 * stepmake/bin/package-zip32.sh: Fixed or Removed some legacy, 1.2.x,
2703   directory paths.
2704
2705 * Documentation/ntweb/index.texi: Fixed broken links, added 1.3.39 links.
2706
2707 1.3.39.hwn1
2708 ===========
2709
2710 * Glossary updates by Christian Mondrup.
2711
2712 * Bugfix: use generic properties in lyrics too. This fixes the
2713 \property textStyle for lyrics.
2714
2715 * Score_element::preset_extent(), used by \property
2716 XXXVerticalExtent, so hard code the size of a vertical group. 
2717
2718 * Don't fix up reference points for originals of broken
2719 spanners. Fixes spurious "orphaned score-element" warnings.
2720
2721 * buildscripts/make-cygwin-cross.sh: Use rx-1.5 instead of regex (Jeffrey).
2722
2723 * scm/lily.scm: Fixed check for Windows: by default don't use scm regex.
2724
2725 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: Significantly smaller
2726 patch for guile.
2727
2728 * buildscripts/make-cygwin-cross.sh: Compile native package GNU regex,
2729 which should fix Windows problems with guile.  Also added input directory
2730 to zip file.
2731
2732 * stepmake/aclocal.m4: Added decent checking for version of guile, and 
2733 fixed warning message.
2734
2735 * lily/lexer.ll (My_lily_lexer): Bugfix: lookup chordmodifiers in the
2736 chord-modifier table (not in the pitch list).
2737
2738 1.3.39
2739 ======
2740
2741 1.3.38.hwn2
2742 ===========
2743
2744 * General cleanups of My_lily_parser. 
2745
2746 * Start of a Chord_tremolo_iterator for the `\repeat 4 "tremolo"'
2747 syntax.
2748
2749 * Moved Score_element::do_space_processing out of the dependency
2750 mechanism.
2751
2752 * Use Scheme for notename tables.  Removed uppercase letters for low
2753 octave notes. Removed Notename_table.
2754
2755 * Fixed core dump with declared "\key  ; "
2756
2757 * Extra robustness warning for Side_position_interface::aligned_on_self ()
2758
2759 * Extra robustness: make sure that first and last columns are breakable.
2760         
2761 1.3.38.jcn4
2762 ===========
2763
2764 * stepmake/aclocal.m4: Added support for cross-compiling with guile.
2765
2766 * buildscripts/make-cygwin-cross.sh: A try at dropping cygwin1.dll
2767  dependency by using mingw.  Compiling guile is too much to ask
2768  for mingw, though.  Also:
2769  - rename python scripts .py (request from Alain)
2770  - install native packages under their own, separate root. (Alain)
2771
2772 * lily.scm: Don't use regex module when running on
2773 Windows. (Shamus)
2774
2775 * lily/staff-margin-engraver.cc (acknowledge_element): If
2776 possible, hang y-axis of margin script to span-bar.  This fixes
2777 vertical placement of margin scripts attached to staff groups.
2778
2779 * help2man-rules.make: Fixes for generating manpages by copying
2780 and for building using --scrdir.
2781
2782 * stepmake/stepmake/generic-targets.make: Preserve date stamp of
2783 config.h, version.hh files file when copying.
2784
2785 * buildscripts/make-cygwin-cross.sh: made number of fixes:
2786         - add `Cygnus/' prefix to directories in .zip-file too.
2787         - package guile too.
2788         - don't link to cygwin1.dll
2789
2790 * stepmake/stepmake/install-targets.make: bugfix, don't fail if directory
2791   is not emty when uninstalling.
2792         
2793 * stepmake/stepmake/generic-targets.make: added man target.
2794
2795 * buildscripts/make-cygwin-cross.sh: new script for cross-building cygwin
2796   development tools and lilypond executable.
2797
2798 * Documentation/ntweb/lilypond-manpages.patch: provide pre-built
2799   manpages, so that make doesn't fail on help2man trying to execute
2800   a GNU/windows executable.     
2801
2802 * Documentation/ntweb/guile-1.3.4-gnu-windows.patch: new patch for
2803   guile-1.3.4.  
2804
2805 * flower/libc-extension.cc (memmem): cygwin compile fix.
2806
2807 1.3.38
2808 ======
2809
2810 1.3.37.hwn1
2811 ===========
2812
2813 * (generic-property.scm) added \property tieDash to set dashing on
2814 ties.
2815
2816 * Removed  ly_eval_str(), we should use scm_eval (Scm_object).
2817
2818 * Removed scm_to_array (), array_to_scm (), associated junk. Reverted
2819 undocumented .29 patch that made Bezier::control_ into an
2820 Array<Offset>.  Added some comments documenting the reasons for the
2821 changes.
2822
2823 * Revert generic-property.scm of .37 fix, fix the real problem in
2824 property-engraver.cc: use the right symbol to check if element
2825 property is already set.
2826
2827 1.3.37.jcn2
2828 ===========
2829
2830 * Fixed srcdir build, so that you can do:
2831
2832       tar xzf releases/lilypond-x.y.z
2833       mkdir <build>
2834       cd <build>
2835       ../lilypond-x.y.z/configure
2836       make
2837
2838   as with any other gnu package.  All build output goes to <build>/out.
2839
2840 * Changed and fixed use of different configurations, and different output
2841   directories.  Finally, you can use different configurations alongside
2842   eachother.  From make/stepmake.make:
2843
2844       # Use alternate configurations alongside eachother:
2845       #
2846       #     ./configure --enable-config=debug
2847       #     make conf=debug
2848       #
2849       # uses config-debug.make and config-debug.h; output goes to out-debug.
2850       #
2851
2852       # Use same configuration, but different output directory:
2853       #
2854       #     make out=www
2855       #
2856       # uses config.make and config.h; output goes to out-www.
2857       #
2858
2859
2860 * Fixed performance of (de)crescendi.
2861
2862 * Better documentation for arithmetic_multiplier and arithmetic_basicspace
2863   in params.ly.
2864
2865 * Added instrument-equaliser for MIDI output, see scm/midi.scm, and
2866   properties midiMinimumVolume, midiMaximumVolume, ranges [0,1].
2867
2868 * Changed absolute midi volume settings into factor of full scale.
2869
2870 * Fixed another dynamic-line-spanner bug, it gets hairy.
2871
2872 * Added warning for spanners that are not fully contained in parent spanner.
2873
2874
2875 1.3.37
2876 ======
2877 1.3.36.hwn1
2878 ===========
2879
2880 * Abstract Align_element into Align_interface. Removed
2881 Axis_align_{item,spanner}, Align_element, Super_element, all multiple
2882 inheritance in the backend.
2883
2884 * new Gade score, INSTALL.texi fixes (thanks, Mats)
2885
2886 * Removed Item::hpos_f (), Score_element::{get,set}_real ()
2887
2888 * comments detailing properties for Axis_group_interface,
2889 Side_position_interface, Score_element, Item and Spanner
2890
2891 1.3.36.jcn3
2892 ===========
2893
2894 * Fixed vertical dimensions of elements in dynamic line spanner by adding
2895   axis-group to dynamic line spanner.
2896
2897 * Bugfix: line-spanner lasts always full duration of (de)crescendi.
2898
2899 * Bugfix: broken (de)crescendi on a dynamic-line-spanner.
2900
2901 * Bugfix: compilation dynamic-engraver.
2902
2903 * Added and updated a faq about postscript and ghostscript.
2904
2905 * Fixed order of slurVerticalDirection verticalDirection in
2906   generic-property.scm.  Similar fixes for Stem, Tie, etc.
2907
2908 * Added a Text_engraver to GraceContext.  Maybe it was removed on
2909   purpose: scripts on grace notes seem broken, they appear on the
2910   main note.
2911
2912 * Bugfix: volume effect of (de)crescendi was sometimes wrong way round.
2913
2914 1.3.36
2915 ======
2916 1.3.35.hwn1
2917 ===========
2918
2919 * textEmptyDimension changed into textNonEmpty, default: off,
2920 ie. texts don't occupy space.
2921
2922 * Use STL map for Lookup::lookup_p_tab_p_
2923
2924 * Abstracted Axis_group_element into Axis_group_interface, and removed
2925 Axis_group_element. This eliminates some multiple inheritance in the
2926 backend
2927
2928 1.3.35.jcn1
2929 ===========
2930
2931 * Added minimum-space property to Side_position_interface.  Used in
2932   positioning of Volta_spanner: voltaMinimumSpace.
2933
2934 * Fixed and cleaned-up volta-spanner.
2935
2936 * Moved directional-element.cc -> directional-element-interface.cc
2937
2938 * Renamed all `process_requests' to `process_music', which fixes
2939   midi performance.
2940
2941 * Fixed dimensions (more x-y interchanges) of brace, bracket and
2942   volta-spanner.
2943
2944 * Half-assed fix to get similar vertical placement of orphaned vs.
2945   line-spanned dynamic elements.
2946
2947 * Added property bracketCollapseHeight: the minimal size of a staff bracket
2948   that will be typeset.  Smaller brackets will not be displayed.  This
2949   fixes the (in 1.3.x reintroduced) funny duck-beak-bracket-bug (sorry).
2950
2951 * Removed some dissonant chords from Coriolan
2952
2953 1.3.35
2954 ======
2955
2956 * Removed Documentation/programmer directory 
2957
2958 1.3.34.jcn3
2959 ===========
2960
2961 * Small enhancements to Staff_margin_engraver:
2962    - by default, the marginScript left aligns the text
2963    - to set the text style, use property marginScriptTextStyle
2964    - to change the alignment, use property marginScriptHorizontalAlignment
2965      (centred and right alignment require manual padding settings).
2966
2967 * Print a friendly message if the manual pages failed to build.
2968
2969 * Bugfix: dynamicDirection now overrides verticalDirection setting.
2970
2971 * Warning messages and nl.po
2972
2973 * Fixed vertical alignment for all dynamic items and (reluctantly)
2974   reinstated old directional behaviour for orphaned dynamics.
2975
2976 * Finished maximumRestCount property.
2977
2978 1.3.34
2979 ======
2980 1.3.33.hwn2
2981 ===========
2982
2983 * Print key without setting key, syntax "\key ;". General cleanups of
2984 key-item.
2985
2986 * Add paragraph tags in HTML output of mudela-book.  Music fragment
2987 don't run into the text anymore.
2988
2989 * Bugfix: don't align the first line of text. (Lookup::text ()).
2990
2991 * Abstract away data members of Axis_group_element, Align_element
2992
2993
2994 1.3.33.jcn3
2995 ===========
2996
2997 * Added helpful properties instrumentScriptPadding/instrScriptPadding for
2998   Staff_margin_engraver.
2999
3000 * Removed some empty files, substituted (c) 1999 occurrences.
3001
3002 * Added \property maximumRestCount.  It will prevent showing (or actually:
3003   moving in case of a collision) more than maximumRestCount similar rests.
3004   WIP!
3005
3006 * Rewrote Staff_margin_engraver.  Staff margin texts now hang on a new
3007   breakable item: Left_edge_item.
3008
3009 * Fixed vertical alignment for dynamic elements.  Orphaned dynamic items
3010   (not supported by a Dynamic_line_spanner) still collide with Staff,
3011   although they now have staff support, which was supposed to fix this.
3012
3013 * Fixed Staff_margin_engraver for "instrument", "instr" is still broken.
3014
3015 * Dynamic elements are only put in a Dynamic_line_spanner if there
3016   actually is more than one adjacent note-column with a dynamic.
3017   This breaks the fine looks of all dynamics, again :-)
3018
3019
3020
3021
3022 1.3.33
3023 ======
3024
3025 1.3.32.hwn3
3026 ===========
3027
3028 * Experiment: use STL map for Scheme_hash_table; Is there a speedup?
3029
3030 * Bugfix: print brace iso. bracket for Piano / GrandStaff
3031
3032 * Change naming: change do_post_processsing into after_line_breaking,
3033 do_pre_processsing into before_line_breaking and do_process_requests
3034 into do_process_music.
3035
3036 * Bugfix in hash-table.hh: do quadratic probing, and not cubic probing.
3037
3038 * Display property name for type error.
3039
3040 * Cleanups for Dynamic_engraver and Dynamic_line_spanner.
3041
3042 * Warn if last column in score is musical. Helps catch programming errors.
3043
3044 * Spanner::spanned_drul_ now is private. 
3045
3046 * Rewrote some bar code: moved molecule functions out of Lookup.
3047
3048 1.3.32.jcn3
3049 ===========
3050
3051 * Embedded newlines in text items are now allowed.  This helps avoiding
3052   TeX-hacking in some cases.  See input/test/coriolan-margin.ly
3053
3054 * Fixed stupid x-y interchange bug for staff-bracket.  This fixes
3055   placement of staff-brackets.
3056
3057 * Fixed bracket/arch-thickness interchange bug, and made bracket a bit
3058   thinner.
3059
3060 * Fixed slur/bezier-beautiful name mismatch.  This should fix the steep
3061   slurs that were apparently reintroduced in 1.3.29.
3062
3063 * Made some small fixes to Coriolan.
3064
3065 * Removed duplicate lily/output-property-engraver.hh.
3066
3067 * Removed optional use of vanilla spanner in Dynamic_engraver.
3068
3069 * Fixed (measured) tremolo for Stem and Beam. Merged declarations
3070   stem-engraver.hh and chord-tremolo-engraver.hh into their .cc
3071   implementation file.  Also fixed looks of Chord tremolo, input and
3072   implementation is still ugly.
3073
3074 * Added *.yy and *.ll to TAGS, to that tags-find-replace doesn't omit
3075   parser and lexer.
3076
3077 1.3.31.mb1
3078 =========
3079
3080 * Fixed \specialkey and \normalkey. Updated documentation.
3081
3082 1.3.32
3083 ======
3084 1.3.31.jcn5
3085 ===========
3086
3087 * Fixed and cleaned-up Dynamic_engraver.  Optionionally uses vanilla
3088   spanner instead of Dynamic_line_spanner.
3089
3090 * Made gcc-2.95 compile fix in libc-extension.
3091
3092 * Various fixes to Coriolan, score starts to look acceptable.
3093
3094 * Moved optional text of crescendo into Crescendo spanner.  Fixed horizontal
3095   and vertical alignment of dynamics.
3096
3097 * Added new text crescendo spanners to Coriolan and made some fixes.
3098   If you're using timidity, use the -EO option to prevent notes get
3099   stuck.  I'm not sure whose fault this is, Lily's MIDI output may be
3100   stretching the standard a bit.
3101
3102 * Adjacent dynamic markings are now grouped on a horizontal line, but it's
3103   not perfect yet: they're always below the staff and no horizontal spacing
3104   is done.  Also, character metrics of dynamics are still not used.
3105   See: input/test/crescendi.ly and input/test/dyn-line.ly
3106
3107 * Cleaned up Span_dynamic_performer.
3108
3109 1.3.31
3110 ======
3111 1.3.30.mb1
3112 =========
3113
3114 * Fixed the page layout, reintroducing space for the header and
3115   trying to keep piece titles on the same page as the piece.
3116   The header and footer can now contain several lines.
3117
3118 1.3.30.jcn3
3119 ===========
3120
3121 * Lily now also performs crescendi and decrescendi in MIDI output:
3122   Span_dynamic_performer in a slightly crappy way.
3123
3124 * Added preliminary support for crescendi/decrescendi other than `hairpins',
3125   eg: `cresc. poco `a poco -- -- --'
3126
3127 * Made MIDI tie performance fix.
3128
3129 1.3.30.jcn2
3130 ===========
3131
3132 * Lily now performs absolute dynamics in MIDI output.
3133
3134 * Included David's comments on opus47 in TODO.
3135
3136 1.3.30.jcn1
3137 ===========
3138
3139 * More Coriolan: flute-1,2; oboe-1,2; clarinet-1,2; 
3140   fixes and remainder french horn-1,2; trombone-1,2;
3141   fagotto-1,2; timpani; and several fixes.
3142   
3143 1.3.30.uu1
3144 ==========
3145
3146 * Remove some old doco from programmer/ and put on personal homepage.
3147
3148 * Removed union-find from flower library.
3149
3150 * Only quantise tie horizontal part inside the staff.
3151
3152 1.3.30
3153 ======
3154 1.3.29.hwn1
3155 ===========
3156
3157 * Report type errors for \property. Helps with converting 1.2 input
3158
3159 * Use Scheme for Align_element; fixed graceAlignPosition 
3160 and removed \property alignmentReference in the process.
3161
3162 * Use generic properties for lyrics too.  This fixes \property
3163 Lyrics.textStyle
3164
3165
3166 * Add relative distance for constraints between non-column items.
3167
3168 * Automatic \marks: use "\mark ; ". The mark numbers or letters are
3169 increased automatically.
3170
3171 * Translators now only change properties of their own context. This
3172 removes the 2nd argument to Translator::get_property()
3173
3174 * Bugfix for Metapost mode
3175
3176 1.3.29.uu1
3177 ==========
3178
3179 * Updates of glossary  (Christian Mondrup)
3180
3181 * Bugfix with bar number placement
3182
3183 * Moved links to bibliography/ and misc/ to main index.
3184
3185 1.3.29
3186 ======
3187
3188 * Moved Slur-specific code from Bezier_bow to Slur and Slur_bezier_bow.
3189   Slurs are now calculated just once.
3190
3191 * Bezier_bow gets constants from paper.  Still no sensible solution for
3192   magic asymmetry gradient step constants.
3193
3194 * Reinstantiated tangent-controls, more flexible than ever.  You can choose
3195   between area asymmetry and tangent-controls.  My guess is, tangent controls
3196   will be junked in 1.3.30.
3197
3198 * Slur area: only look at x-gradient.
3199
3200 * Added credits for some symbols of as5/9 fonts.
3201
3202 * Bugfix: don't make almost flat slurs, change in de-uglyfy slur.  
3203
3204 * Bugfix: midi2ly put out recent version (ugh).
3205
3206 1.3.28.hwn2
3207 ===========
3208
3209 * Bugfix: don't forget to process staffSpace and numberOfStaffLines
3210 properties.
3211
3212 * Removed Gade score. To appear (shortly?) on Mutopia. 
3213
3214 * Make Bar_script_engraver look for typeVisibilityFunction (eg
3215 property barNumberVisibilityFunction). Changed the names of the Scheme
3216 functions to be understandable. See input/test/bar-script-visibility.ly
3217
3218 * rewrite of class Molecule. It has now reached the ultimate quality
3219 plateau. All molecule data is now shared.
3220
3221 1.3.28
3222 ======
3223
3224 * Update of the glossary by Christian Mondrup 
3225
3226 * Moved horn-concerto-3 out of tarball to private website, removed
3227 W.A.Mozart subdirectory.
3228
3229 1.3.27.hwn1
3230 ===========
3231
3232 * Bugfix: don't make giant ties if the horizontal part of tie is near
3233 the center.
3234
3235 * Small optimizations to be a little more careful with mem usage. 
3236
3237 * Website change: put all examples in one directory.
3238
3239 * Removed Atom as a separate type.  Now use SCM, and since we use
3240 function composition, Atoms are immutable, so they don't have to be
3241 copied. This makes life easier, hopefully this is quicker and uses
3242 less memory.
3243
3244 1.3.27.jcn1
3245 ===========
3246
3247 * Bezier_bow: minimise_enclosed_area
3248
3249 1.3.27
3250 ======
3251
3252 1.3.26.hwn4
3253 ===========
3254
3255 * Tuplet-spanner slope calculation now looks better on tupletted rests
3256 (patch courtesy Laurent Martelli)
3257
3258 * Bugfix (Staff_performer::new_instrument_str ()) check type of
3259 \property "instrument"
3260
3261 * New mechanism for breaking lines: do not copy & prune the element
3262 property list separately, but combine these steps. Dramatically
3263 reduces memory usage for large scores.
3264
3265 1.3.27
3266 ======
3267 1.3.26.jcn2
3268 ===========
3269
3270 * Bugfix: font used in volta-spanner calculation.
3271
3272 * Added simple selection list to webpage, inspired by sawmill.
3273  
3274 * Devised kludge for ascii 5 character font pitches.
3275  
3276 * Substitutions: interline, 1997,1998, @stack.nl and small typo fixes.
3277
3278 1.3.26.hwn1
3279 ===========
3280
3281 * Plug memory leaks related to Moment:
3282   - Spacing_engraver::do_pre_move_processing ()
3283   - make_rational ()/make-rational
3284   - Paper_column::Paper_column ()
3285
3286 * Plug memory leak in Paper_outputter::output_{String,Real,int}_def()
3287
3288 * Plug memory leak in Score_engraver::set_columns ()
3289
3290 * Plug memory leak in Scheme_hash_table::set()
3291
3292 * Plug memory leak in Score_element::molecule_extent ()
3293
3294 * Bugfix: don't crash if a slur doesn't span anything.
3295
3296 * Bugfix: don't crash if doing beams without a staff symbol.
3297
3298 * Generic element property setting:
3299
3300         \outputproperty #predicate #'symbol = #value
3301
3302 Will set the element property symbol to value, for any elements that
3303 return true for PREDICATE.  This allows you to virtually tweak *ANY*
3304 property of the output. Example in input/test/generic-output-property.ly
3305
3306 1.3.26
3307 ======
3308
3309 * lilypond as as2ly: --help and --version to stdout.  Regular identify 
3310   to stderr.  This fixes help2man's manpage generation.
3311
3312 * configure: substitute full path for perl and guile in scripts.
3313
3314 * Added ascii slur and volta.  There seems to be a Lily bug in volta placement.
3315
3316 * Bugfix: default font now user settable
3317
3318 * as2text: handle plain ascii font, read from stdin, you can now do:
3319
3320   echo "\time 4/4; g''1 g2 g4. g8" | lilypond -f as -i init-as.fly - | as2text
3321
3322 1.3.25.hwn1
3323 ===========
3324
3325 * Bugfix: second half of broken ties now are displayed again.
3326
3327 * Bugfix: add clef to the support of 8 text in the G_8 clefs. Center
3328 it horizontally on the clef.
3329
3330 * Added Tie_column spanner. Ties in tied chords now get proper directionsa.
3331
3332 * Bugfix: unbroken repeat barlines now work, eg. |:
3333
3334 * Added Request_iterator to make more flexible constructions possible.
3335
3336 1.3.25
3337 ======
3338 * as2text: catch missing font/character errors, added default font, set text.
3339
3340 * New ascii fonts and glyphs: as5 as-numeral4 as-braces9
3341
3342 * Ascii output, minimal support:
3343   - AsciiScript Fonts: mf/*.af
3344   - Init files: ly/*-as.*ly 
3345   - AsciiScript translation to text: scripts/as2text.scm
3346   - input/test/as.fly input/test/as1.fly
3347   - Output support: lily/lily.scm
3348   - Try:
3349       lilypond -f as -i init-as.fly input/test/as.fly
3350       as2text as.as
3351
3352 1.3.24.hwn1
3353 ===========
3354
3355 * The horizontal part of ties will avoid collision with staff lines.
3356
3357 * Plugged memory leak: don't protect Atom function.
3358
3359 * Lookup cleanups. Made lots of functions static. Moved some code out
3360 of Lookup.
3361
3362
3363
3364 1.3.24.hwn1
3365 ===========
3366
3367 * Bugfix: ly2dvi.py exits succesfully when encountering --help and
3368 does not delete any of the file_ly*.tex.
3369
3370 * Added header and footer support in ly2dvi.py
3371
3372 1.3.24
3373 ======
3374
3375 * Added a ROADMAP file explaining the source directory layout.
3376
3377 * Minor tweak in the feta 6 and 9 numeral
3378  
3379 * Moved files from lib/ to flower/
3380
3381 * Removed Note_head_side class.
3382
3383 * Updated the webpage to be a little more chatty. 
3384
3385 * Small Local_key_engraver optimization: only lookup timing engraver once.
3386
3387 * Fixed dashed slurs
3388
3389 * Rewrite of Slur code.  Be much more picky about slur shapes. We try
3390 to offset the slur instead of bending it too much
3391
3392 * Look at stem directions for tie direction.
3393
3394 * Compound multimeasure rests. Put measures_i_ variable in an element
3395 property.  Made the symbol a lot wider.
3396
3397 * Time signature small cleanups.
3398
3399 1.3.22.hwn2
3400 ===========
3401
3402 * Symbols opposite to stem (eg marcato) now get the proper glyph in up
3403 version.
3404
3405 * Breathing marks now have a direction by default.
3406
3407 * Do set generic script properties.
3408
3409 * Also put tuplet brackets under notes.
3410
3411 * Score_element_info: only store origin of element, but not the path
3412 to parent translators. Saves a little memory, and removes some complexity.
3413
3414
3415 1.3.22.hwn1
3416 ===========
3417
3418 * Autobeaming in time sigs that don't have 1/4 beats fixed.
3419
3420 * (De)crescendi should now work. (Thanks Michael)
3421
3422 * Better error reporting for conflicting time signatures.
3423
3424 * Line_number_engraver: output locations of note head
3425 definitions. Very handy when entering complicated scores.
3426
3427 * Rewrote multi measure rest support: now they are entered as spanners
3428 (\commandspanrequest \start "rest"). RXXXX is an abbreviation for
3429
3430   { \commandspanrequest \start "rest"
3431     SXXXX
3432     \commandspanrequest \stop "rest"
3433   }
3434
3435 * Removed support of percent style repetitions. 
3436
3437 * Put texts outside the staff.
3438
3439 1.3.21.mb1
3440 ==========
3441 * Getopt bugfix: don't assert on certain errors.
3442
3443 * ly2dvi: Remove unnecessary space for the page headers.
3444
3445 * Bugfix convert-mudela
3446
3447 1.3.21.hwn1
3448 ===========
3449
3450 * Bugfix in lilypond-mode.el: eval-buffering now uses file name and
3451 not buffer name.
3452
3453 * Scrapped tupletVisibility property. Now use tupletNumberVisibility,
3454 tupletBracketVisibility, with Scheme value #t, #f or 'if-no-beam.
3455 \property tupletInvisible will stop all tuplet spanner creation.
3456
3457 * Don't go berserk if tuplet spanner is on only one column.
3458
3459 * Use SCMs & Smobs for Molecules & atoms.  This uses less
3460 scm_(un)protect_object () calls, so the output stage should be faster.
3461
3462 * Added \property tupletSpannerDuration, to make multiple tuplet signs
3463 with one \times.
3464
3465 * Some programming Errors in spacing are now caught. Lily does not
3466 hang when encountering degenerate springs.
3467
3468 * Allow beams to start and end over rests
3469
3470 1.3.19.hwn2
3471 ===========
3472 * Fix disappearing clefs when clefs are not printed with a barline.
3473
3474 1.3.20.jcn2
3475 ==========
3476
3477 * SCM properties beamHeight and beamVerticalposition now use half-spaces:
3478   input/test/beam-control.fly
3479 * Added \context Voice to .fly and .sly; the default \context Staff is almost
3480   never what you expect
3481 * Fixed decision for .sly/.fly in lilypond-mode.
3482
3483 1.3.19.hwn1
3484 ==========
3485
3486 * Clean up font-metric hierarchy, use Adobe AFM code to parse AFM files.
3487 Cleanup mf-to-table.py
3488
3489 * Fixed embarassing slur bug.
3490
3491 1.3.19.jcn1
3492 ==========
3493
3494 * lilypond-mode.el: guess init file for lily-*-region, lily-mode-map bindings
3495
3496 1.3.18.uu2
3497 ==========
3498
3499 * lilypond-mode.el for emacs supersedes mudela-mode.el 
3500
3501 * Tuplet spanners don't collide with encompassing notes. 
3502
3503 * Gobbled Adobe parseAFM* code, for future use.
3504
3505 * Big 1999 to 2000 search/replace.
3506
3507 * Big interline to staff_space search/replace for mf files.
3508
3509 * Removed Bow class, and split code into Tie and Slur
3510
3511 * Don't put scripts on grace notes.
3512
3513 * Font_metric uses SCM for name field.
3514
3515 * Various compilation fixes.
3516
3517 1.3.17.jcn2
3518 ===========
3519
3520 * Bugfix: beams with less than one (visible) stem
3521
3522 * small fixes to pa.ly
3523
3524 1.3.17.jcn1
3525 ===========
3526
3527 * Fixed bug that made multi-measure rest barnumber counts go wild.
3528 (even more scm2int/int2scm mixups!)
3529
3530 * mutopia/J.S.Bach/pa.ly: organ score (for my father)
3531
3532 * small fix to mutopia/J.S.Bach/Duette/violino-ii.ly
3533
3534 1.3.17.hwn2
3535 ===========
3536
3537 * Remove Paper_def calls in bezier-bow.cc
3538
3539 * Remove data members of Tuplet_spanner,  Volta_spanner
3540
3541 * hang_on_clef, property hangOnClef removed
3542
3543 * Bar::type_str_ mode into element property `glyph'. Use a Scheme
3544 function to determine breaking behavior.
3545
3546 * More Scheme typechecking.
3547
3548 * Be strict about the difference between strings and symbols for conversion.
3549
3550 * Fixed bug that made 1st line offset to right fixed. Bugfix courtesy
3551 Laurent Martelli.
3552
3553 * Partial French translation, courtesy Laurent Martelli.
3554
3555 * Small corrections in NL translation. 
3556
3557 1.3.17.hwn1
3558 ===========
3559
3560 * Added mensural note heads (noteHeadStyle = "mensural") Additionally,
3561 we have a longa note head.  noteHeadStyle = "harmonic" is not
3562 supported anymore. (for now, that is)  
3563
3564 * Reference manual update. Document \properties with examples
3565
3566 * fix mudela-book --help
3567
3568 * Use element properties for Text_item::text_str_, Clef_item::symbol_,
3569 Key_item::c0_position_
3570
3571 * Clef_engraver general cleanup. Use alists (\property
3572 supportedClefTypes, clefPitches) for clef types.
3573
3574 * Use progress_indication () for progress. Don't include <iostream.h> directly 
3575 Don't include <string.h>, <math.h> from headers.
3576
3577
3578 1.3.16.hwn1
3579 ===========
3580
3581 * \property stemCentered (boolean): centers stem on note head. See
3582 input/test/stem-centered.ly
3583
3584 * input/trip.ly, small test of lots of features.
3585
3586 * \property Staff.collisionMergeDotted: merge equal noteheads
3587 with different dot count. See input/test/collision-merge-dotted.fly
3588
3589 * Dotted rest bugfix 
3590
3591 * Don't crash if a slur does not span any notes.
3592
3593 * Volta repeats fixed.
3594
3595 * cleanup of Note_heads_engraver
3596
3597 * removed dots_i_ member of Dots
3598
3599 1.3.16.jcn1
3600 ===========
3601 * Fixed cross staff slurs.  It seems that cross-staff sign
3602   was swapped.
3603
3604 1.3.15.hwn1
3605 ===========
3606
3607 * Fixed bug in stem code.  Stem in chords works again.  Small
3608 stem cleanups.
3609
3610 * Use element properties for Staff_symbol.
3611
3612 * \property sparseTies (boolean).  Only make one tie in the
3613 middle for tied chords.
3614
3615 * Junked Directional_spanner, Column_info.
3616 Directional_element now is element interface `Directional_element_interface'
3617
3618 * cleanup: use to_boolean () iso. gh_boolean_p && gh_bool2scm
3619
3620 pl 15.jcn4
3621         - removed old notename2scm conversion
3622         - beam-dir-algorithm through scm
3623         - bfs paper-scm
3624 gv      - bf: knee-stemlengths
3625
3626 pl 15.jcn3
3627         - moved poor man's stem arrays to scm
3628         
3629 pl 15.jcn2
3630         - beam quanting using scm lists
3631
3632 pl 14.hwn1jcn1
3633         - chord-name uses scm members
3634         - bfs: knee with different mults, interstaff knee, auto-knee
3635
3636 **********
3637 pl 14.hwn1
3638         - specialize duration.cc for lily, move out of lib/
3639         - stem cleanup
3640         - more SCM typechecking
3641         - stafflineleading -> staff_space
3642         - bf: rod distances.
3643         - junk some unused code.
3644         
3645 pl 13.hwn2
3646         - paper/score column cleanups. Junk Score_column type
3647
3648 pl 13.hwn1
3649         - Bezier_bow/Bezier cleanups
3650         - bf: rest under beam.
3651         
3652 pl 13.jcn2
3653         - untangled Chord_name (item) and Chord (list-of-pitches)
3654         
3655 pl 13.jcn1
3656         - bezier-bow fix
3657
3658 **********
3659 pl 12.hwn1
3660         - polynomial.hh
3661         - bf: generic properties
3662         - quantise_iv () fix.
3663         - bezier cleanup
3664         - class Polynomial 
3665         - use smobs for font metric tables/hashes.
3666         - nl.po bf
3667
3668 **********
3669 pl 11.jcn3
3670         - small beam fixes (interstaff knees still broken)
3671
3672 pl 11.hwn1
3673         - bf: dots
3674         - bf: harmonic note heads
3675         - revise stem, notehead, rest
3676
3677 pl 11.jcn2
3678         - included missing scm,ly updates
3679         - bf: urg to_dir () takes scm..
3680         - bf's: if (Foo b = bar != 1)
3681         - beam cleanup
3682
3683 *********
3684 pl 10.uu1
3685         - various small bfs
3686         - bf: alignment reversed
3687         - Staff_symbol_referencer -> Staff_symbol_referencer_interface
3688         - bf: staccato pos
3689         - Knee fixes (thanks, Jan)
3690
3691 pl 10.jcn2
3692         - fixes for invisible beamed stems
3693         - removed steminfo from properties, don't cache Stem_info
3694
3695 pl 10.jcn1
3696         - steminfo to properties
3697         - dropped internote dim for stem-beams
3698
3699 *********
3700 pl 9.hwn1
3701         - abstracting Staff_symbol_referencer to an interface.
3702         - quantised_position for staccato dots.
3703         - standchen fixes
3704         - junk Score_element::do_{width,height}: set callbacks directly.
3705         - merge Score_element, Graphical_element
3706         - merge Axis_group_element, Graphical_axis_group
3707         - junk pointer fields from Score_element derived classes
3708         - junk obsolete do_substitute_dependency code.
3709
3710 **********
3711
3712 pl 8.hwn2
3713         - staff-support for Crescendi.
3714         - padding for accidentals.
3715         - cascading offset callbacks
3716
3717 pl 8.hwn1
3718         - note-head-side 
3719         - naming Staff_sidify -> Side_position_interface
3720
3721 ***********
3722
3723 pl 7.mb1
3724         - bf: timeSignatureStyle works again
3725
3726 pl 7.hwn1
3727         - Dirk Latterman key/mmrest patches
3728         - Offset callbacks in Dimension_cache
3729         - Junked Staff_side_*
3730         - Staff_sidify: interface class.
3731         - prelude-{1,2} fixes.
3732
3733 ***********
3734 pl 6.uu2
3735         - bf: PS font selecting.
3736
3737 pl 6.uu1
3738         - bf: ls-latex
3739         - mudela-book --no-pictures
3740         - bf: ly2dvi
3741         - convert-mudela: beamAuto moment syntax. 
3742
3743 pl 6.jcn3
3744         - fixed scm output
3745
3746 pl 6.jcn2
3747         - half-baken ly-gulp-file in scm
3748         - resurrected scm output through guile
3749
3750 pl 5.mb1
3751         - bf: version of init.sly, init.fly
3752         - Clarify necessary version of texinfo
3753         - bf: texi files, minor errors and syntax compatible with 
3754           older makeinfo
3755
3756 pl 6.jcn1
3757         - bf: scm output
3758
3759 *******
3760
3761 pl 5.hwn2
3762         - Bach preludes: mutopification
3763         - dots are Directional_element too; use \property dotDirection
3764         - moved some stuff out of Lookup
3765         - bf: dots
3766         - font selection mechanics changed.
3767
3768 pl 5.uu1
3769         - bf: smob allocation (thanks David!)
3770
3771 pl 5.hwn1
3772         - junked \shape. Now use #'margin-shape 
3773         - timing: one_beat -> \property beatLength
3774         - bf convert-mudela
3775
3776 ************
3777
3778 pl 4.uu1
3779         - input/test/ \property fixes.
3780         - gcc 2.95 fix
3781
3782 pl 4.hwn1
3783         - Break_align_engraver,
3784         break align order from  \property breakAlignOrder
3785         - junked Score_priority_engraver
3786         - moved Time_description into Timing_translator
3787         - use properties for timing, see input/test/timing.fly
3788         * removed \cadenza ; now use \property Score.timing
3789         * \property measurePosition
3790         * \property measureLength
3791         * \property currentBarNumber
3792         - Note_name_engraver , \context NoteNames
3793
3794
3795 pl 4.jcn1
3796         - junked some chord guessing code
3797         - bf: lookup size (-1) for chord-name accidentals
3798         - bf: ly2dvi's MFINPUTS setting
3799
3800 *************
3801 pl 2.jcn3
3802         - chords:
3803           * Chord is item
3804           * junked TeX hacking
3805           * configurable with styled strings from scm
3806           * fixes: dim, /no X, tonic != C
3807
3808 pl 2.jcn2
3809         - chords from  scm 
3810
3811
3812 pl 3.hwn2
3813         - visibility-lambdas into default elt properties SCM.
3814         - clef types in SCM
3815         - verticalDirection properties now in SCM.
3816
3817 pl 3.hwn1
3818         - move position_i_ into Staff_symbol_referencer
3819         - move dir_ into Directional_element baseclass
3820
3821 ****************
3822
3823 pl 2.hwn1
3824         - bf: dynamic style.
3825         - prepare to move dir_ into SCM. 
3826
3827 pl 2.jcn2
3828         - chord fixes: 
3829            * inversion request: no inversion guessing for chord entry
3830            * bass request: c/+b to add bass note not part of chord
3831            * -dim modifier works on all thirds
3832            * colon iso dash as tonic/modifier-additions separator
3833            * C:m5- displays as "Cdim"
3834            * C:m5-7- displays as "Co"
3835
3836 pl 2.jcn1
3837         - moved bracket vars to params
3838         - reverted broken lilypond-devel
3839
3840 *************
3841 pl 1.uu1
3842         - David's patches:
3843         * mfplain.mp detection
3844         * Graphical_element::common_refpoint() robuster.
3845         * fixes for mudela-mode.el
3846         - Dirk's patches:
3847         * key signature placement,
3848         * tied accidentals.
3849
3850 pl 1.hwn2
3851         - extra-offset elt property.
3852         - junked Chord_tremolo
3853
3854 pl 1.hwn1
3855         - changed calling convention for {get,set,remove}_elt_property()
3856         - rm'd some mutopia examples.
3857
3858 *******
3859 pl 0.hwn2,1
3860       - Generic properties and Property_engraver. Moved most of the
3861 properties.
3862
3863 0.lu1
3864         - resurrected midi2ly
3865
3866 0.jcn1
3867         - bf: lyrics lexer
3868         - reverted mup2ly revert
3869
3870 pl 3.uu1:
3871         - frontport of 1.2.17 patches.
3872
3873 **********
3874
3875 1.3.0:
3876
3877 pl 15.hwn2
3878         - loads of bfs.
3879
3880 pl x.jcn3
3881         - another workaround: reset buffer state for scm_ftell ()
3882         - workaround for broken scm_ftell ()
3883
3884 pl 15.hwn1
3885         - \properties are now SCM s, junk Scalar type
3886         - use SCM for strings in parser.
3887         - Moment derived from Rational. Moment may be smobified.
3888
3889 pl 15.jcn4
3890         - direct #... to scm parser  (Thanks to Gary Houston)
3891
3892