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