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