lilypond-1.5.33
[lilypond.git] / CHANGES
blob5f42581186375457c328c1fcd9c2c79a7cddbb7b
1 1.5.23
2 ======
4 * Bugfix: be anal about slur dimensions.
6 * Bugfix: insert extra margin around pixmaps.
8 * lilypond-book: magnification option for EPS
10 1.5.22.jcn1
11 ===========
13 * Resurrected experimental sketch output, now with dispatch.
15 * Bugfix: prefix directory defaults to DIR_DATADIR if not defined.
17 * Rune: more reliable repeat dots (WARNING: FONT CHANGED)
19 1.5.22.hwn1
20 ===========
22 * Dashed slur bugfix. 
24 * GUILE 1.4 compatibility.
28 1.5.22
29 ======
31 1.5.21.hwn1
32 ===========
34 * Crop EPS files before rendering in lilypond book. This makes make web
35 a lot faster.
37 * Added links to internals documentation
39 * Small dimcache (darn gcc-2.95) bugfixes.
41 * Implemented Engraver::top_engraver ().
43 * Completion_heads_engraver: engrave tied notes across bar lines
44 automatically. Related changes:
46   - duration-log of Note head can be larger than 2
48   - make public class Grob_pitch_tuple
50 * Make old spacing engine default again. The new one is still rather
51 sucky.
53 1.5.21
54 ======
55 1.5.20.jcn1
56 ===========
58 * Fixed direct PostScript output, and changed default fonts.
60 * Bugfix: automaticMelismata in refman (huh, or should lily be changed?)
62 * pktrace:
64       cp mf/out/feta20.* $HOME/usr/src/sketch-0.7.8/Resources/Fontmetrics
65       echo 'TeX-feta20,feta20,Roman,-gnu-feta20-medium-r-normal,adobe-fontspec\ific,feta20' >> $HOME/usr/src/sketch-0.7.8/Resources/Fontmetrics/std.sfd
68 1.5.3.lec1
69 ==========
70 abc2ly fixes:
72       fix to Q: support
73       partial fix for tuplet parsing
74       fix for blank first T: line
75       escape "'s in header lines
76       fix for dotted breve in whole note duration
77       M:none no longer attempts to insert "\time none"
80 1.5.20.uu1
81 ==========
83 * etf2ly robustness fixes
85 * Rewrote outputting backend. Now uses GUILE modules.
87 * Line breaking bugfix.
89 * Bugfix: Unfolded_repeat_iterator::add_repeat_command().
91 1.5.20
92 ======
94 1.5.19.jcn3
95 ===========
97 * Sketch output:
99   - Sketch uses feta font.
100   - Fix to linewidth and feta fontsize.
101    - mf-to-table: write dummy values in afm to make sketch happy.
102   - Fixes to glyphs: rectangles beziers work now.
103    - Bugfix: sketch.scm: use primitive-eval.
105 * Sketch and feta Type1 fonts:
106    - textrace:
107       wget http://www.inf.bme.hu/~pts/textrace-latest.tar.gz
108       tar xzf textrace-latest.tar.gz
109       (cd autotrace-0.27ap; ./configure; make)
110       ./traceall.sh feta20 feta20.pfb $HOME/usr/src/lilypond/mf/out
112   - copy mf/out/feta20.* to sketch/Resources/Fontmetrics:
114    - append to sketch/Resources/Fontmetrics/std.sfd:
115       echo 'TeX-feta20,feta20,Roman,-gnu-feta20-medium-r-normal,adobe-fontspecific,feta20' >> $HOME/usr/src/sketch/sketch/Resources/Fontmetrics/std.sfd
117    - Hmm, then find that
119      + Sketch accesses characters by name, ie, the
120 clefs      name characters have in default text fonts.  Luckily, textrace
121       mangles the feta names too.  Sadly, textrace chooses different names
122       for characters > 128.
124     + Textrace mangles font name by prepending `TeX-'.  Doesn't seem to
125       pose a big problem; we'll have to pefix `TeX-' to feta fonts.
127     + Sadly, only the sketch-0.7.x is happy with the feta type1 font, but
128       printing is not yet implemented?
130  * Remove modules directory (again?).
133 1.5.18.moh1
134 ===========
136 * Further work on more flexible control of lyric alignment.
137    - new properties "alignment", "ignore-length-mismatch", "begin-alignment" a\nd "end-alignment" to control non-centered lyric alignment
140 1.5.19.hjj1
141 ===========
143 * Added \portato.
145 1.5.18.jcn1
146 ===========
148 * Moved python modules to ./python.
150 * Better python module stepmake support.
152 * Bugfix ly2dvi etc: LILYPONDPREFIX should override datadir.
154 1.5.18.hwn2
155 ===========
157 * Put lilylib back into ly2dvi
159 * Cache symbols for {get,set}_{grob,music}_property and
160 {get,set}_property.  Speedup: about 20 percent.
162 * Remove C++ version of midi2ly
164 * Inline Grob::parent_l (Axis), String::String() speedup 2 % 
166 * First try at Sketch (sketch.sourceforge.net) output.
169 1.5.18.rz1
170 ==========
172 * subdivideBeams fix - setting property right after beam definition no
173   longer affects that beam.
175 * Minor docu updates, accidental cleanups and example updates
177 * Added Accidental grob properties paren-cautionaries and
178   cautionary-size controlling the appearance of cautionary accidentals
180 1.5.18
181 ======
182 1.5.17.jcn6 - aka: `pgwit!  Ah, dacht dat-i zo wel aardig was.'
183 ===========
185 * Some more hacking at midi2ly.py:
186    - options and stuff: moved to library for ly2dvi, midi2ly, mup2ly,
187         update-lily
188    - handle keys and note names
189    - simple quantising
190    - handle tuplets and silly durations
191    - guess clef
192    - don't include empty staffs in score
193    - print relative pitches by default
194    - don't repeat duration by default
195    - bugfix: allow 8th notes too
196    - include new version of input/test/midi-scales.ly
197    - added barchecks + fix
198    - bugfix for relative mode
200 * Shorter MIDI creation texts.
202 * Bugfix: Key_change_req::transpose: don't deliver reversed list.
204 * Bugfix: Key_performer::create_audio_elements: transpose list to
205 `do', before determining tonality.
207 1.4.8.moh1
208 ==========
210 * new property "end-alignment" to control non-centered lyric alignment
212 1.5.17.hwn1
213 ===========
215 * Be quicker in Grob::handle_broken_dependencies().
217 * --strict option for abc2ly, exit if an error is found.
219 * GUILE 1.3.4 fix.
222 1.5.17
223 ======
225 1.5.16.hjj2
226 ===========
228 * Emacs-mode: Inserting tags
230 * Enable python2.1/Python.h
232 1.5.16.hwn1
233 ===========
235 * Add unfold-repeats function (Rune Zedeler!) to standard init SCM file.
237 * Bugfix: spacing is no longer confused by coupled clefs, where one of the
238 clefs is loose, and the other not.
240 * Robustness fix for Slur. Don't crash if attachment not set.
242 * Arpeggios can now have arrows on the top or bottom to determine
243 their direction. (MF code by Chris Jackson)
245 * Symbol cache bugfix in system-start-delimiter.cc -- may switch
246 symbol cache off for gcc 2.96?
248 * MikTeX PDF detection bugfix (Mats Bengtsson)
250 * Some more random hacking at midi2ly.py. (jcn1)
252 * Inline unsmob_XXX functions.  Speedup of 6% on wtk1-fugue2.
254 1.5.15.jcn1
255 ===========
257 * Fixes for latest guile cvs.
259 * Add --enable-optimising flag to configure (Huh?).
261 * Only inline string utlis when optimising.
263 * Compile fix.
265 1.5.15.rz1
266 ==========
268 * added property autoReminders, automatically creating reminder
269   accidentals. - major changes to accidental-engraver.
271 1.5.15.hwn1
272 ===========
274 * Junk translator-description.scm
276 * Make Repeated_music use 'element and 'elements in stead of 'body and
277 'alternatives.  Associated changes in parser and music-sequence.cc.
279 * Change Part_combine_music and Lyric_combine_music to use 'elements
280 music property.
282 * Porrectus patch (Juergen Reuter)
284  - Rewrote code for vaticana style porrectus grob; the solid shape is
285   now drawn as a single bezier sandwich rather than composed from a
286   couple of misused slurs.  Looks now much nicer.
288  - Added code to forbid line-breaking inbetween a porrectus
289   (preliminary; to be moved to ligature engraver framework).
291  - Added auto-properties property for automatic determination of grob
292   properties add-stem and stem-direction from musical context.
294  - Small clean-ups.
297 1.5.14.jcn6
298 ===========
300 * Some more random hacking at midi2ly.py.
302 * Slightly better doco for r, s and \skip, with examples.
304 * Bugfixes: add-html-footer.py and @MAILADDRESS@.
306 * Some website related fixes (thanks Tiggr).
308 * Ugly hack in add-html-footer for disabling tutorial and refman links
309 in sidebar.
311 * Guile > 1.4 compilation fixes.
313 * Website bugfix: mailto: (thanks David Boersma).
315 1.5.14.hwn1
316 ===========
318 * Rename: Local_key_engraver to Accidental_engraver
320 * Add documentation for accidentals grob property.
322 * Don't make double accidentals even if two of the same notes are
323 specified. (Thanks Rune)
325 * Search all staff-bars for non-empty barline to determine type. This
326 fixes span-bars with the lowest staff hara-kiried. (Thanks Rune)
329 1.5.14.rz1
330 ==========
332 * Less buggy beam-split
334 * Added subdivideBeams, subdividing beams on beats
336 1.5.14
337 ======
339 1.5.13.hwn2
340 ===========
342 * Bugfix: revert font-relative-size for grace Accidentals
344 * Bugfix: hara kiri'd piano staffs doesn't take space anymore.
346 * Bugfix: reinstate rest-collisions.
348 * Bugfix: key items have the c0 position again.
350 * Make \property Voice.GrobName = \turnOff work again.
352 * More intelligent symbol-cache, in less code. Turned off by default, doesn't
353 work with -O2 yet.
355 * Documentation fixes: change documentation of Moment and make-moment,
356 add Translator::{name,description}
358 * Junk STL implementation of Scheme_hash_table in favor of GUILE
359 hashtables with automatic resizing. 
362 1.5.12.jcn2
363 ===========
365 * half-baken --with-kpathsea configuration fix.
367 * ly2dvi: add `.' to TEXINPUTS to catch broken TEXINPUTS settings.
369 * guile-1.4 compile fix.
371 1.5.12.hwn1
372 ===========
374 * Move engraver descriptions into the C code.  They are accessible
375 from Scheme. Grand rehacking to make stuff work again.
377 * Precompute which engravers are eligible to acknowledge a certain
378 type of grob. Speedup: approx 10 % on interpretation phase.
381 1.5.12
382 ======
384 1.5.11.jcn1
385 ===========
387 * Add -p flag to package-diff.py's diff invocation, to show changed function.
389 * Add configure checks for python headers.
391 * Make midi module.
393 1.5.11.hwn1
394 ===========
396 * Allow breaks at measures starting with grace notes.
398 * Bugfix: don't give up when there is one entirely unspaceable
399 measure/line.
401 * Midi module: many bugfixes.
403 * midi2ly python blurble.
406 1.5.11
407 ======
409 1.5.10.jcn3
410 ===========
412 * include python midi parser.
414 * stepmake updates.
416 * add .cvsignore patterns for making patches the standard, manual way.
418 * midi2ly: support chords, duration conversion rewrite.
420 * parser.yy: Guile > 1.4 compilation fix; scm_unprotect_object is deprecated.
422 1.5.10.hwn1
423 ===========
425 * Rational bugfix.
427 * Cleaned up definitions of SystemStartDelimiter
429 * WTK fix.
431 * Porrectus patch (Juergen Reuter):
433 - Syntax change: \porrectus -> \~
434 - New porrectus properties: porrectus-width, line-thickness.
435 - Bugfix: left<->right confusion in porrectus-engraver.cc.
436 - Bugfix: Box dimensions for horizontal slope molecule in porrectus.cc.
437 - Enhanced mensural style porrectus shape, considering optical
438   illusion in vertical endings due to slope.  Simplified drawing.
439 - Code clean-up.
441 1.5.10
442 ======
444 1.5.9.hjj2
445 ==========
446 * Emacs-mode: Keyboard shortcuts, separated identifiers from keywords
447 and spacing not necessary in font-locking.
449 1.5.9.jcn3
450 ==========
452 * add-html-footer.py: use html <title> as fallback title for pages
453 where @WEB-TITLE@ is not defined.
455 * Bugfix: stepmake: don't go building executables all over the place,
456 if NAME is set in environment.  Some cleanups. 
458 * add-html-footer.py: remove href to self.  Substitute @at-variables@
459 defined in html comments.  Any occurrence of
461         <!-- @foo@=bar -->
463 in the html page, will subsequently substitute any occurrence of @foo@
464 in the same html page with `bar'.
466 * Bugfix: update-lily: remove unprotected gettext.py include.
468 * po update.
470 * windows doc update.
472 1.5.9.hwn3
473 ==========
475 * Optimizations:
476   - speed up Rational::operator+= 
477   - speed up Rational::compare ()
478   - don't store origins if point-and-click not set. 
480 * \figures input mode:  \figures { <4 6+> <3- 5>2. } 
482 * Obscure bugfix: call kpsewhich with --format for mfplain.
484 * Don't put  volta bracket on top of following note (vertically).
486 * Collision fixes.
488 * Crude figured bass support (supports rests as well, now)
490 * Bugfix: various collision issues, updated regtest example.
492 * Porrectus support (Juergen Reuter)
494 1.5.9
495 =====
497 1.5.8.uu1
498 =========
500 * Mensural rests (Juergen Reuter)
502 * Swedish translation (Thanks to the translation project)
504 * Bugfix: down 8th flag restored.
506 * Bugfix: span-bars and hara-kiri.
508 * More advanced collisions: handle meshed chords as well.
510 1.5.8.jcn1
511 ==========
513 * Add mktextfm wrapper for windows (thanks Mats).
515 1.5.8.hjj1
516 ==========
518 * Emacs-mode: new keywords, reserved words, notenames and brackets are
519 font-lock-keywords; implementation encourages spacing/indenting.
522 1.5.8
523 =====
524 1.5.7.hwn1
525 ==========
527 * reinclude input/bugs/*.ly
529 * Mensural flags (Juergen Reuter)
531 * Fixed problem with hanging Xdvi from redhat 7.x. See also
532 http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=52089
534 * Bugfix: don't crash if kpse_find_file returns 0.
536 * Bugfix: don't allocate \outputscale for every file.
538 * Bugfix: mixing different rhythms on one staff doesn't muck up the
539 spacing that much.
541 1.5.7.hjj2
542 ==========
544 * Add PS-compilation, PS-viewing and MIDI-play in LilyPond
545 -Emacs-mode.  (Heikki Johannes Junes).
547 * Add common finnish names for notes
550 1.5.6.jcn2
551 =========
553 * Use Cygwin included Python; drop Windows Python and workarounds.
555 * Include make/lilypond.mandrake.spec (unchecked!) and README.mandrake.
557 * Comment out two non existing examples in regression test, add one
558 missing from 1.5.5 distribution.
560 * Revert silly grace-with-braces stuff in tutorial.
562 * Add short crescendo bug to input/bugs.
564 * Update and bit more verbose download instructions in INSTALL, 
565 fix some links on ftp.lilypond.org.
568 1.5.6.hwn1
569 ==========
571 * Grace note bugfixes.
573 * Move staff-adjacency detection (for the spacing engine) to
574 Separating_group_spanner.
576 * Loose column support: clef changes, key changes may be folded underneath
577 notes in a different staff. See input/regression/spacing-folded-clef.ly.
578 Changes were made to
580   - Separating_group_spanner: decide which columns are loose
582   - Simple_spacer, New_spacing_spanner: only look at non-loose columns.
584   - Line_of_score: set horizontal positions for loose columns.
586 1.5.6
587 =====
589 1.4.6.mb1
590 =========
592 * Allow for duplicated articulation scripts with different direction.
594 * Added new ornaments: \upmordent, \downmordent, \pralldown, \prallup,
595   \lineprall, \thumb, \comma (to be used with scriptHorizontal = ##t),
596   see also input/test/trill.ly. [WARNING: FONT UPDATE!]
598 * Bug fix: staccato dot placement.
600 1.5.5.jr1
601 =========
603 * recent ancient-font.ly development branches manually merged and
604   updated;
606 * added enhanced mensural minima/fusa noteheads (30 degrees rhomb
607   style); the former 45 degrees quadratic shapes are now available
608   under notehead style "neo_mensural"; [WARNING: FONT UPDATE] 
610 * minor ancient font corrections (in particular, enhanced set_char_box()
611   arguments).
614 1.5.5.jcn2
615 ==========
617 * input/bugs:
618   - Autogenerate bugs document from all .ly's.
619   - Add texidoc to lots of examples.
620   - Junk or move fixed examples to regression test.
621   - Move examples that crash lilypond to input/no-notation.
622   - Update examples.
624 1.5.5.hwn1
625 ==========
627 * Grace property fixes.
629 * More grace nesting bugfixes.
631 1.5.5
632 =====
634 1.5.4.jcn2
635 ==========
637 * Spelling fixes, notably staffs->staves, except for ChangeLogs.
639 * Removed `Default' from accidental comment names.
641 * Compile fixes.
643 * Fixed off by one error for point and click.
645 * Website fixes, found bug in grace note stem lengths.
647 1.5.4.hwn1
648 ==========
650 * Ancient font update [WARNING FONTS CHANGED!] (Juergen Reuter)
652 * New_spacing_spanner: revised spacing generation.
654 * Default neutral direction set to down. 
656 * Junk hash table  from flowerlib
658 * Bugfix: grace nesting error
660 * Bugfix: don't try schedule next bar when were on a grace moment.
662 * Bugfix: set measurePosition especially for music starting with
663 grace.
665 1.5.3.hwn1
666 ==========
668 * midi2ly bugfixes: don't print ';' in .ly output.
670 * small cleanup of input/bugs/
672 * bugfix: nested grace notes; added input/regression/grace-nest.ly
674 * Bugfix: add double alterations to keyAccidentalOrder (Mats)
676 * Fixes for PostScript beams and stems.
678 1.5.2.hwn1
679 ==========
681 * Starting pagenumber (Mark Hindley)
683 * Ancient font patch (Juergen Reuter) [WARNING: FONT UPDATE!]
685 * Bugfix: don't  put grace beams on non grace notes, and vice versa.
687 * etf2ly:
688   - miserable try at importing repeatbars and volta brackets;
689   - import articulation defs (IX tag)
690   - revamped file reading logic. Now much cleaner.
692 * Experimental regular-spacing support: try to space regular runs of
693 notes equidistantly.
695 1.5.2.jcn2
696 ==========
698 * Flex is fixed in Debian/unstable.  Update documentation accordingly.
700 * Guile 1.3.4 compile fix.
702 * Add trill line type, see input/test/trill.ly.
704 * Dvips bugs workarounds:
705   - Draw filledbox in tex for now.  Test ps code using
707      lilypond -e '(define ps-testing 1)'
709   - Extend stems only half way into beam.
711 * Change order of includes in tex/lilyponddefs.tex so that feta font
712 can be used a little easier, like:
714     title="TeX \fetachar\fetasharp"
716 * Update stepmake/bin config.sub, config.guess.
718 1.5.2
719 =====
721 1.5.1.hwn1
722 ==========
724 * small bugfixes for grace-init.ly
726 * Bugfix: don't mess up spacing when combining different tuplets.
728 * Small bugfixes for lilypond-mode.el.
730 * property-init.ly: bugfix for dot directions in polyphonic music.
732 1.5.1.jcn3
733 ==========
735 * Bugfix: text2html: escape entities inside <pre>.
737 * Added some template .ly's for evaluation.
739 * Make blot work without -fps too.
741 * Use blot diameter for postscript beams and boxes.
743 * Guile-1.5.0-cvs updates and Guile-1.4.x compatibility.
745 * Beam knee fix.
747 * Now really included lexer-gcc-3.0.patch.
749 * Make Voice context accept Thread again; this fixes MIDI output for music
750 that uses Thread contexts.
752 * Removed debug printing from chord-name.scm.
754 1.5.0
755 =====
756 1.5.0.jcn1
757 ==========
759 * Added feature to ly2dvi to find feta pfa font files used in a
760 postscript file to make printing of direct postscript a bit easier:
762     lilypond -fps input/trip.ly
763     cat $(ly2dvi -f trip.ps) trip.ps | lpr
765 * Reincluded 1.4.3.jcn2.
767 * Website fixes.
769 * Ly2dvi now leaves .tex and .latex output if latex fails, and cleans
770 the temp dir if anything fails.
772 * Fixes for windows scripts.
774 1.5.0.uu1
775 =========
777 * Hara kiri and span-bar.
779 * Junk old grace stuff.
781 * Don't crash on grace notes in MIDI output.
785 1.5.0
786 =====
788 * experimental grace notes:
789   - add grace timing to Moment
790   - hack to Sequential_music_iterator to use the correct timing for
791 the note before a grace
792   - change the implementation of \grace construct
793   - property set/unset (eg. font size) is done through startGraceMusic
794 and stopGraceMusic
795   - various engraver fixes to deal with the fact that the
796 main-time-moment may remain the same during several steps.
797   - Change column creation logic in score-engraver. 
799 * Bugfix: don't crash when \name not set in \translator block.
801 * rename ly/*.ly to ly/*-init.ly (except language files) to avoid
802 name clashes
804 * deprecate Property_engraver, add Font_size_engraver to Staff, Voice
805 and Thread.
807 * Change mailing list address: *gnu-music*@gnu.org becomes
808 *lilypond*@gnu.org
810 * Put span-bar lines only between the other barlines, not on top of
811 them (thanks to Juergen Reuter)
813 1.4.4.jcn3
814 ==========
815   
816 TODO: look at other filledbox'es (stafflines and barlines don't match up).
818 * Testing code off by default.  On: -e "(define ps-testing 1)" -fps
820 * Output via TeX/dvips still gives problems.  Use direct postscript
821 output for real testing.
823 * Beam and stem fixes:
824  - Stems drawn in PostScript (should do all filledbox'es in PS?).
825  - Fixes for draw_box and draw_beam PostScript routines.
826  - Stems reach to top (or bottom) of beam.
827  - Beam uses correct stem thickness (only right beams, left TODO).
828  - testing code in effect: only outlines are drawn.