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