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