1 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
12 * input/regression/utf-8.ly:
13 document utf-8 meaning of phrases.
15 * scm/define-markup-commands.scm:
16 make \caps markup default to smallCaps
20 use glyph indexing for glyph name .notdef
22 2006-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
24 * input/regression/utf-8.ly: Fix doc to match order of language
27 2006-11-01 Joe Neeman <joeneeman@gmail.com>
29 * lily/optimal-page-breaking.cc (try_page_spacing): don't average
32 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
34 * GNUmakefile.in (SUBDIRS): remove cygwin dir too.
36 2006-10-31 Han-Wen Nienhuys <hanwen@lilypond.org>
38 * Documentation/user/GNUmakefile:
39 don't use ImageMagick, use GS directly.
42 otf depends on otf-g?table. Fixes race condition in -j2 build.
43 (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)
49 remove .deb/.rpm downloading.
51 * buildscripts/git-update-changelog.py:
52 bugfixes for git-update-changelog.py
54 * Documentation/user/GNUmakefile:
57 2006-10-30 Han-Wen Nienhuys <hanwen@lilypond.org>
59 * input/regression/tie-semi-single.ly:
60 use position/direction from single tie case too. This fixes
61 overrides and defaults for single laissez-vibrer and repeat ties.
63 * buildscripts/git-update-changelog.py:
64 only prepend header if one patch was successful.
66 2006-10-31 Jan Nieuwenhuizen <janneke@gnu.org>
68 * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
69 stuff. Remove cygwin packaging stuff.
71 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
73 * python/convertrules.py (conv): Part 2 fixes vertical extent.
75 * input/test/vertical-extent.ly: Fix and elaborate on vertical
76 staff extent. (Thanks Mats)
78 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
80 * buildscripts/git-update-changelog.py (main): write .msg and cvs
83 * scm/define-grobs.scm:
84 separation-items have width
90 * Documentation/topdocs/NEWS.tely:
91 * lily/separating-group-spanner.cc:
92 * lily/slur-engraver.cc:
93 * lily/slur-scoring.cc:
94 * scm/define-grobs.scm:
95 * input/regression/slur-clef.ly:
96 add breakableSeparationItem to extra encompass for slurs. This
97 fixes slur/clef slur/key collisions etc. Should fix #49
99 * lily/include/slur-scoring.hh:
100 * lily/slur-scoring.cc:
101 Use X of separation item as slur start. Fixes #120
103 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
105 * buildscripts/git-update-changelog.py (changelog_body): don't
108 * lily/grob.cc: add avoid-slur
110 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
114 move server/emacsclient to elisp/
116 * buildscripts/git-update-changelog.py (Commit.note_del_file):
119 * elisp/server.el.patch:
122 * elisp/emacsclient.patch:
125 * buildscripts/git-update-changelog.py:
132 * buildscripts/git-update-changelog.py:
133 script to update ChangeLog with Git messages.
135 * lily/beam-engraver.cc:
136 * input/regression/rest-pitched-beam.ly:
137 don't set callback if staff-position set. Fixes #126.
139 * lily/bar-number-engraver.cc:
141 * lily/fingering-engraver.cc:
142 * lily/grob-property.cc:
144 * lily/include/grob.hh:
145 * lily/include/lily-guile-macros.hh:
146 * lily/mark-engraver.cc:
147 * lily/melody-engraver.cc:
148 * lily/script-column.cc:
149 * lily/tie-formatting-problem.cc:
151 internal_get_property_data() using ly_symbol2scm()
153 * stepmake/stepmake/generic-targets.make:
154 create .gitignore in outdir.
159 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
161 * input/test/vertical-extent.ly:
162 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
164 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
166 * stepmake/bin/add-html-footer.py (compose): remove setgcos
168 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
170 * GNUmakefile.in (install-help2man): install-help2man target.
172 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
174 * SConstruct (configure): Do not check for /bin/sh.
176 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
178 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
181 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
183 * input/regression/fret-boards.ly: new file.
185 * po/de.po: new po courtesy translation team.
187 * scripts/lilypond-book.py (get_option_parser): add newline to doc
190 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
192 * ly/gregorian-init.ly (neumeDemoLayout): update
193 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
195 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
196 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
198 2006-10-27 Erlend Aasland <erlenda@gmail.com>
200 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
201 Yet another build fix.
203 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
205 * SConstruct (lilypondprefix): use sorted() for list_sort()
208 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
210 * flower/SConscript: Unit test rules.
212 * flower/test-std.cc: Compile fix.
214 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
216 * python/midi.c (pymidi_parse_track): warning fixes.
218 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
219 include dot-column.hh
221 2006-10-26 Graham Percival <gpermus@gmail.com>
223 * Documentation/user/{basic-, global}: minor changes from mailist.
225 2006-10-26 Erlend Aasland <erlenda@gmail.com>
227 * scm/define-grobs.scm: trivial beautification
229 * lily/tie-performer.cc: no need to #include "pqueue.hh"
231 * lily/source-file.cc: put multibyte var inside #if clause
233 * scm/define-grob-interfaces.scm:
234 * scm/define-grob-properties.scm:
235 Build fix (string-fret-finger-combinations)
237 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
240 * Documentation/user/lilypond-book.itely: Build fix.
242 2006-10-26 Joe Neeman <joeneeman@gmail.com>
244 * lily/system.cc (get_paper_system):
245 * lily/paper-book.cc (systems):
246 move most of the backwards compatibility stuff into
249 * Documentation/topdocs/NEWS.tely: add 2 entries for the
252 * Documentation/user/page.itely: remove time-scaled-music
253 bug for the Page_turn_engraver
255 * lily/paper-book.cc (set_system_penalty): backwards
256 compatibility (breakbefore) for the old page breaker
258 2006-10-25 Graham Percival <gpermus@gmail.com>
260 * Diocumentation/user/instrument-notation.itely: added more
261 info about stanzas; thanks Geoff!
263 * Documentation/user/ {basic, advanced}: small fixes from
266 * THANKS: add some bug reporters.
268 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
270 * scm/define-context-properties.scm (all-user-translation-properties):
271 noteToFretFunction: Add.
273 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
274 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
276 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
278 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
281 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
282 Remove bashism in delete.
284 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
286 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
288 * scm/translation-functions.scm (determine-frets-mf): flatten let*
290 * scm/define-context-properties.scm
291 (all-user-translation-properties): add maximumFretStretch property.
293 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
295 * lily/source-file.cc (get_counts): use multibyte variable.
297 * scm/translation-functions.scm (determine-frets-mf): new
298 function: compute fret numbers.
300 * scm/output-lib.scm (string-frets->description) new function.
301 (fret-board::calc-stencil): new function
303 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
305 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
307 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
309 * lily/tab-note-heads-engraver.cc: cleanups.
311 * lily/fretboard-engraver.cc: new file
313 * ly/engraver-init.ly: add FretBoards context
315 2006-10-24 Joe Neeman <joeneeman@gmail.com>
317 * lily/grob.cc (pure_relative_y_coordinate)
318 (pure_height): use the new call_pure_function stuff
320 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
323 * lily/side-position-interface.cc (pure_y_aligned_side): add an
326 * lily/simple-closure.cc (ly_eval_simple_closure): make
327 simple-closure evaluatable from scheme
328 (evaluate_with_simple_closure): make simple-closures pure-
331 * lily/slur.cc (pure_outside_slur_callback): new function
333 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
334 fits in with previous changes that made the page forces much
337 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
338 and pure-Y-extent into this new function.
339 (pure-conversions-alist): add outside-slur-callback
341 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
343 * Documentation/user/advanced-notation.itely (Instrument names):
344 Remove obsolete bug workaround for instrument names on piano
347 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
349 * Documentation/user/lilypond-book.itely (Integrating DocBook and
350 music): patch by Bertalan Fodor for docbook.
352 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
353 of $(LILYPOND). Prevents lilypond run for .txt files.
355 * INSTALL.txt: gitness.
357 * .cvsignore: update to force gitness.
359 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
361 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
362 detect suicide in nested tuplets.
364 2006-10-23 Werner Lemberg <wl@gnu.org>
366 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
367 typo in argument to FT_Get_X11_Font_Format.
369 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
371 * stepmake/stepmake/po-vars.make: more gitness.
373 * flower/polynomial.cc (check_sol): no empty if bodies.
375 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
377 * stepmake/stepmake/po-vars.make: Resolve.
379 2006-10-29 Jan Nieuwenhuizen <janneke@gnu.org>
381 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
383 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
385 * buildscripts/git-update-changelog.py (main): write .msg and cvs
388 * scm/define-grobs.scm:
389 separation-items have width
395 * Documentation/topdocs/NEWS.tely:
396 * lily/separating-group-spanner.cc:
397 * lily/slur-engraver.cc:
398 * lily/slur-scoring.cc:
399 * scm/define-grobs.scm:
400 * input/regression/slur-clef.ly:
401 add breakableSeparationItem to extra encompass for slurs. This
402 fixes slur/clef slur/key collisions etc. Should fix #49
404 * lily/include/slur-scoring.hh:
405 * lily/slur-scoring.cc:
406 Use X of separation item as slur start. Fixes #120
408 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
410 * buildscripts/git-update-changelog.py (changelog_body): don't
413 * lily/grob.cc: add avoid-slur
415 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
419 move server/emacsclient to elisp/
421 * buildscripts/git-update-changelog.py (Commit.note_del_file):
424 * elisp/server.el.patch:
427 * elisp/emacsclient.patch:
430 * buildscripts/git-update-changelog.py:
437 * buildscripts/git-update-changelog.py:
438 script to update ChangeLog with Git messages.
440 * lily/beam-engraver.cc:
441 * input/regression/rest-pitched-beam.ly:
442 don't set callback if staff-position set. Fixes #126.
444 * lily/bar-number-engraver.cc:
446 * lily/fingering-engraver.cc:
447 * lily/grob-property.cc:
449 * lily/include/grob.hh:
450 * lily/include/lily-guile-macros.hh:
451 * lily/mark-engraver.cc:
452 * lily/melody-engraver.cc:
453 * lily/script-column.cc:
454 * lily/tie-formatting-problem.cc:
456 internal_get_property_data() using ly_symbol2scm()
458 * stepmake/stepmake/generic-targets.make:
459 create .gitignore in outdir.
464 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
466 * input/test/vertical-extent.ly:
467 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
469 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
471 * stepmake/bin/add-html-footer.py (compose): remove setgcos
473 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
475 * GNUmakefile.in (install-help2man): install-help2man target.
477 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
479 * SConstruct (configure): Do not check for /bin/sh.
481 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
483 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
486 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
488 * input/regression/fret-boards.ly: new file.
490 * po/de.po: new po courtesy translation team.
492 * scripts/lilypond-book.py (get_option_parser): add newline to doc
495 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
497 * ly/gregorian-init.ly (neumeDemoLayout): update
498 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
500 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
501 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
503 2006-10-27 Erlend Aasland <erlenda@gmail.com>
505 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
506 Yet another build fix.
508 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
510 * SConstruct (lilypondprefix): use sorted() for list_sort()
513 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
515 * flower/SConscript: Unit test rules.
517 * flower/test-std.cc: Compile fix.
519 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
521 * python/midi.c (pymidi_parse_track): warning fixes.
523 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
524 include dot-column.hh
526 2006-10-26 Graham Percival <gpermus@gmail.com>
528 * Documentation/user/{basic-, global}: minor changes from mailist.
530 2006-10-26 Erlend Aasland <erlenda@gmail.com>
532 * scm/define-grobs.scm: trivial beautification
534 * lily/tie-performer.cc: no need to #include "pqueue.hh"
536 * lily/source-file.cc: put multibyte var inside #if clause
538 * scm/define-grob-interfaces.scm:
539 * scm/define-grob-properties.scm:
540 Build fix (string-fret-finger-combinations)
542 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
545 * Documentation/user/lilypond-book.itely: Build fix.
547 2006-10-26 Joe Neeman <joeneeman@gmail.com>
549 * lily/system.cc (get_paper_system):
550 * lily/paper-book.cc (systems):
551 move most of the backwards compatibility stuff into
554 * Documentation/topdocs/NEWS.tely: add 2 entries for the
557 * Documentation/user/page.itely: remove time-scaled-music
558 bug for the Page_turn_engraver
560 * lily/paper-book.cc (set_system_penalty): backwards
561 compatibility (breakbefore) for the old page breaker
563 2006-10-25 Graham Percival <gpermus@gmail.com>
565 * Diocumentation/user/instrument-notation.itely: added more
566 info about stanzas; thanks Geoff!
568 * Documentation/user/ {basic, advanced}: small fixes from
571 * THANKS: add some bug reporters.
573 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
575 * scm/define-context-properties.scm (all-user-translation-properties):
576 noteToFretFunction: Add.
578 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
579 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
581 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
583 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
586 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
587 Remove bashism in delete.
589 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
591 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
593 * scm/translation-functions.scm (determine-frets-mf): flatten let*
595 * scm/define-context-properties.scm
596 (all-user-translation-properties): add maximumFretStretch property.
598 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
600 * lily/source-file.cc (get_counts): use multibyte variable.
602 * scm/translation-functions.scm (determine-frets-mf): new
603 function: compute fret numbers.
605 * scm/output-lib.scm (string-frets->description) new function.
606 (fret-board::calc-stencil): new function
608 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
610 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
612 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
614 * lily/tab-note-heads-engraver.cc: cleanups.
616 * lily/fretboard-engraver.cc: new file
618 * ly/engraver-init.ly: add FretBoards context
620 2006-10-24 Joe Neeman <joeneeman@gmail.com>
622 * lily/grob.cc (pure_relative_y_coordinate)
623 (pure_height): use the new call_pure_function stuff
625 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
628 * lily/side-position-interface.cc (pure_y_aligned_side): add an
631 * lily/simple-closure.cc (ly_eval_simple_closure): make
632 simple-closure evaluatable from scheme
633 (evaluate_with_simple_closure): make simple-closures pure-
636 * lily/slur.cc (pure_outside_slur_callback): new function
638 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
639 fits in with previous changes that made the page forces much
642 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
643 and pure-Y-extent into this new function.
644 (pure-conversions-alist): add outside-slur-callback
646 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
648 * Documentation/user/advanced-notation.itely (Instrument names):
649 Remove obsolete bug workaround for instrument names on piano
652 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
654 * Documentation/user/lilypond-book.itely (Integrating DocBook and
655 music): patch by Bertalan Fodor for docbook.
657 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
658 of $(LILYPOND). Prevents lilypond run for .txt files.
660 * INSTALL.txt: gitness.
662 * .cvsignore: update to force gitness.
664 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
666 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
667 detect suicide in nested tuplets.
669 2006-10-23 Werner Lemberg <wl@gnu.org>
671 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
672 typo in argument to FT_Get_X11_Font_Format.
674 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
676 * stepmake/stepmake/po-vars.make: more gitness.
678 * flower/polynomial.cc (check_sol): no empty if bodies.
680 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
682 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
684 2006-10-22 Jürgen Reuter <reuter@ipd.uka.de>
686 * Documentation/user/examples.itely (Transcription of mensural
687 music): Added more comments in .ly source. Suggest to remove
688 Forbid_line_break_engraver to allow line breaking at all bars.
690 * Documentation/user/instrument-notation.itely (Ancient
691 articulations): Updated @refbugs regarding episem.
693 * Documentation/user/instrument-notation.itely (Gregorian square
694 neumes ligatures): Added \augmentum dots. Updated @refbugs
695 regarding \augmentum.
697 * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
699 * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated
702 * lily/vaticana-ligature-engraver.cc: Added TODO comment for
705 * ly/gregorian-init.ly: Added \augmentum macro.
707 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
709 * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
711 * lily/pango-font.cc (pango_item_string_stencil): use
712 FT_Get_X11_Font_Format()
714 2006-10-22 John Mandereau <john.mandereau@free.fr>
716 * po/fr.po: update translation.
718 2006-10-21 Han-Wen Nienhuys <hanwen@lilypond.org>
720 * VERSION (PATCH_LEVEL): bump version
722 * input/regression/horizontal-bracket-break.ly: new file.
724 * scm/define-grobs.scm (all-grob-descriptions): calc
727 * lily/horizontal-bracket.cc (make_bracket): support
728 connect-to-neighbor. Fix #118
730 * VERSION: release 2.9.26-2
732 * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
734 * VERSION (PACKAGE_NAME): release 2.9.26
736 * buildscripts/output-distance.py (test_basic_compare): add
738 (FileLink.multi_img_cell): new function, glob multi-page png
741 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
743 * po/lilypond.pot: update.
745 * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
747 * Documentation/user/global.itely (File structure): remove
750 * lily/parser.yy (FIXME): remove ADDQUOTE
752 * Documentation/user/global.itely (Extracting fragments of
753 notation): new node, about clip systems.
755 * Documentation/user/lilypond-book.itely (Many quotes of a large
756 score): ref to clip systems.
758 * Documentation/user/instrument-notation.itely (Entering lyrics):
759 add note about lyric ties and required font.
761 * lily/open-type-font.cc (glyph_list): format errors.
763 * Documentation/user/programming-interface.itely (Scheme
764 procedures as properties): more doco on simple-closure and scheme
766 (Input variables and Scheme): use lilypond[verbatim], document
769 * Documentation/user/page.itely (Displaying spacing): use \book
770 explicitly, so arrows show .
771 (Line breaking): add note about Forbid_line_break_engraver
773 * Documentation/user/tweaks.itely (Common tweaks): also set length
774 to prevent tie squeezing.
775 (Default files): use @var{}
777 * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
778 (Generating LilyPond files): add FOMUS.
780 2006-10-20 Joe Neeman <joeneeman@gmail.com>
782 * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
783 Y-offset for TextScript and Script
785 * lily/text-engraver.cc (make_item):
786 * lily/script-engraver.cc (make_script_from_event):
787 remove call to Side_position_interface::set_axis since all scripts
788 now have this set by default
791 * lily/prob.cc: use variables
793 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
795 * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
796 at typography, rather analyse stream event duration.
798 * Documentation/user/page.itely (Page formatting): set a6 paper
799 for system separator example.
801 * lily/arpeggio.cc (Module): idem.
803 * lily/accidental-placement.cc: add script-priority property.
805 * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
807 * lily/ttf.cc (print_trailer): if all else fails: use
808 glyphIndexXXXX as glyph name. Fixes #117.
810 * lily/pango-font.cc (pango_item_string_stencil): only use cmap
811 entry if cmap contains glyph.
812 (get_index_to_charcode_map): remove from Pango_font class, use
813 global filename -> font mapping.
814 (get_glyph_index_name): new function.
815 (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
818 * scripts/lilypond-book.py (main): use -deps-box-padding=-3
820 * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
823 * scm/define-grob-properties.scm (all-user-grob-properties):
824 remove outdated doc. Fixes #116
826 * lily/completion-note-heads-engraver.cc (process_music): always
827 clone input events; otherwise we may overwrite input 'duration
828 property. Fixes #115.
830 * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
833 * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
836 * VERSION (PATCH_LEVEL): bump version.
838 2006-10-19 Han-Wen Nienhuys <hanwen@lilypond.org>
840 * lily/engraver.cc (internal_make_grob): use variables.
842 * flower/string-convert.cc (dec2double): clean-up warnings.
844 * configure.in (CXXFLAGS): add -Werror.
846 * VERSION (PACKAGE_NAME): release 2.9.25
848 2006-10-18 Joe Neeman <joeneeman@gmail.com>
850 * lily/simple-spacer.cc (get_line_forces): test for non-fitting
851 line even if we precede a forced break.
853 * lily/optimal-page-breaking.cc (try_page_spacing): square line
854 forces too. Make page-spacing weight default to 10 because the
855 changes to vertical springs decreased the page force/line force
856 proportions. Also, take the average of line force and page force
857 instead of just the sum.
859 * lily/constrained-breaking.cc (initialize): make the stiffness
860 of the vertical springs depend on the height of the system. This
861 prevents pages with only a few large systems from getting huge
864 * Documentation/user/page.itely (Page formatting): document the
865 change in default page-spacing-weight
867 * lily/include/constrained-breaking.hh: initialise bottom_padding_
869 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
871 * input/typography-demo.ly (melody): remove superfluous slur.
873 * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
874 add piano-pedal-script-interface
876 2006-10-18 Bertalan Fodor <lilypondtool@organum.hu>
878 * scripts/lilypond-book.py: DocBook support.
880 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
882 * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
884 (stop_translation_timestep): set bound to currentMusicalColumn if
885 not set yet. Fixes #102
887 * lily/piano-pedal-bracket.cc: formatting.
889 * input/test/engraver-one-by-one.ly (MyStaff): reformat.
891 * lily/piano-pedal-align-engraver.cc: new class
892 Piano_pedal_align_engraver. Handle side-positioning Y-alignment
895 2006-10-18 Heikki Junes <hjunes@gmail.com>
897 * po/fi.po: Update Finnish translation (before the next release).
899 2006-10-17 Joe Neeman <joeneeman@gmail.com>
901 * lily/system.cc (get_paper_system): reinstate the backwards-
902 compatible page breaking for the old page breaker.
904 2006-10-17 Erik Sandberg <mandolaerik@gmail.com>
906 * lily/recording-group-engraver.cc: removed
908 * lily/context.cc, lily/translator-group.cc: Don't touch
909 Context::implementation_ if it's null
911 2006-10-17 Han-Wen Nienhuys <hanwen@lilypond.org>
913 * scm/paper.scm: only use left-margin if defined.
915 * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
917 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
919 * lily/new-fingering-engraver.cc: stringFingerOrientations ->
920 strokeFingerOrientations
922 * lily/script-column.cc (row_before_line_breaking): also handle
923 accidentals and arpeggios in horizontal script stacking.
925 * lily/script-row-engraver.cc (acknowledge_accidental_placement):
928 * input/regression/script-stack-horizontal.ly: trim.
930 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
932 * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
935 * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
936 'text if string argument.
938 * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
940 * scm/define-context-properties.scm
941 (all-user-translation-properties): change to strokeFingerOrientations
943 2006-10-16 Erik Sandberg <mandolaerik@gmail.com>
945 * lily/parser.yy: remove debug output
947 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
949 * ly/paper-defaults.ly: set left/right margin.
951 * scm/paper.scm (set-paper-dimensions): use left-margin and
952 right-margin for computing linewidth.
954 * Documentation/topdocs/NEWS.tely (Top): idem.
956 * input/regression/lyric-tie.ly (texidoc): use vowels for tied
959 * scm/define-markup-commands.scm (tied-lyric): increase negative
960 space: space syllables tighter.
962 * VERSION (PATCH_LEVEL): bump version.
964 * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
967 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
969 * COPYING: further clarification
971 * VERSION: release 2.9.24
973 * input/regression/script-stack-horizontal.ly: add version.
975 * scm/lily-library.scm (list-join): use fold-right. Fixes #112
977 * input/regression/lyric-tie.ly (texidoc): use different words.
979 * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
981 2006-10-15 Erik Sandberg <mandolaerik@gmail.com>
983 * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
984 macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
986 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
988 * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4;
990 * Doxyfile: remove file.
992 * scm/define-grob-interfaces.scm (string-finger-interface): add
993 string-finger-interface
995 * lily/general-scheme.cc (LY_DEFINE): move
996 ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[]
998 * Documentation/topdocs/NEWS.tely (Top): add note for
999 string-finger feature.
1001 * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
1004 * scm/output-lib.scm (string-finger::calc-text): read 'digit
1007 * input/regression/script-stack-horizontal.ly: new file.
1009 * ly/engraver-init.ly: add Script_row_engraver.
1011 * lily/script-column.cc (order_grobs): refactor: separate axis
1013 (row_before_line_breaking): new function.
1015 * lily/script-row-engraver.cc (Script_row_engraver): new file.
1017 * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
1019 2006-10-14 Jürgen Reuter <reuter@ipd.uka.de>
1021 * Documentation/user/instrument-notation.itely: Cleanup: Remove
1022 annoying skip notes from mensural ligature example. Update
1023 @refbugs for ligatures and mensural ligatures.
1025 * lily/coherent-ligature-engraver.cc,
1026 lily/include/coherent-ligature-engraver.hh,
1027 lily/mensural-ligature-engraver.cc,
1028 lily/vaticana-ligature-engraver.cc: Revise code for item
1029 reparentizing. There should now be less programming_error
1032 * lily/mensural-ligature-engraver.cc: Improve placement of dots.
1034 * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
1035 Maintenance bugfix: Don't create empty Stencil (), but empty box
1036 instead. This fix should eliminate some programming_error
1039 * ly/engraver-init.ly (MensuralStaff): Set default accidental
1042 * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
1043 \layout block _before_ score.
1045 2006-10-14 Han-Wen Nienhuys <hanwen@lilypond.org>
1047 * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
1049 * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
1051 2006-10-13 Erlend Aasland <erlenda@gmail.com>
1053 * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
1055 2006-10-13 Han-Wen Nienhuys <hanwen@lilypond.org>
1057 * VERSION (PATCH_LEVEL): bump version.
1059 * COPYING: clarify exception note.
1061 * lily/main.cc: remove remark about "COPYING".
1063 * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
1064 system-count starts at 0 for each clip-region. Change name to
1065 FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
1066 layout block, per score.
1068 2006-10-13 Erik Sandberg <mandolaerik@gmail.com>
1070 * lily/input-smob.cc: add equal_p for Input
1072 * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
1075 * lily/parser.yy: MY_MAKE_MUSIC sets music origin
1077 * lily/prob.cc: Add equal_p predicate for Prob
1079 * lily/translator.cc: small cleanup
1081 * scm/document-music.cc: use data from translator listener
1082 registration to generate documentation for event classes
1084 * lily/*: Eliminate accept arg of ADD_TRANSLATOR
1086 * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
1088 2006-10-13 Jan Nieuwenhuizen <janneke@gnu.org>
1090 * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
1092 2006-10-12 Jan Nieuwenhuizen <janneke@gnu.org>
1094 * Documentation/topdocs/INSTALL.texi: Thinko.
1096 * .cvsignore: Update.
1098 * lexer-gcc-3.1.sh: Remove.
1100 * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
1101 Update anonymous cvs access. Remove comment about gcc 3.0.4.
1103 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1105 * VERSION: release 2.9.23
1107 * lily/paper-column-engraver.cc (stop_translation_timestep): also
1108 typecheck barnumber.
1110 * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
1112 * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
1114 * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
1116 * input/regression/clip-systems.ly (Notes): new file.
1118 * scm/lily.scm (define-scheme-options): add clip-systems option.
1120 * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
1122 (dump-stencil-as-EPS): move bbox calculation from previous
1124 (output-framework): use -dclip-systems
1126 * scm/lily-library.scm (filtered-map): new function
1128 * scm/framework-ps.scm (clip-system-EPS): new function.
1129 (clip-system-EPSes): new function.
1131 * lily/paper-column.cc: add rhythmic-location to interface
1133 * scm/define-grob-properties.scm (all-user-grob-properties): add
1134 rhythmic-location property.
1136 * scm/clip-region.scm: new file: rhythmic-location data type and
1137 system-clipped-x-extent function.
1139 * ly/init.ly: use (scm clip-region)
1141 * lily/paper-column-engraver.cc (stop_translation_timestep): set
1142 rhythmic-location for paper column grobs.
1144 * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
1146 2006-10-12 Jürgen Reuter <reuter@ipd.uka.de>
1148 * ly/engraver-init.ly: Remove obsolete comment on
1149 Bar_number_engraver.
1151 * Documentation/user/instrument-notation.itely: Tune Ancient
1152 Articulations figure, such that the episem actually shows.
1154 * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
1155 fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
1157 * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
1160 2006-10-12 Graham Percival <gpermus@gmail.com>
1162 * Documentation/user/ {some}: minor edits that were lost somehow.
1164 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1166 * VERSION (PACKAGE_NAME): bump version.
1168 * input/regression/lyric-tie.ly (texidoc): new file.
1170 * Documentation/topdocs/NEWS.tely (Top): add new feature.
1172 * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
1174 * scm/define-markup-commands.scm (tied-lyric): new function: split
1175 string along ~ and reattach with U+203F (tie character) and
1178 * scm/output-lib.scm (lyric-text::calc-text): new function.
1180 * lily/lyric-engraver.cc (process_music): don't set 'text.
1182 * scm/output-lib.scm (string-finger::calc-text): new function
1183 (lyric-text::print): new function.
1185 * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1186 generic for fingering & string number. Use for string-finger.
1188 * scm/define-music-types.scm (music-descriptions): add
1191 * lily/fingering-engraver.cc (listen_string_finger): new function
1193 * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1195 * scm/define-context-properties.scm
1196 (all-user-translation-properties): add stringFingerOrientations
1198 2006-10-11 Jürgen Reuter <reuter@ipd.uka.de>
1200 * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1201 ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1203 * lily/dots.cc: Added style property for dots.
1205 * mf/parmesan-heads.mf: Fix typo in comment.
1207 * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1208 adding longa head to feta font and removing obsolete default
1209 mapping scheme code.
1211 2006-10-10 Han-Wen Nienhuys <hanwen@lilypond.org>
1213 * scm/output-lib.scm (fingering::calc-text): use origin
1214 event-property, not music-property.
1216 * lily/lilypond.rc.in: spell my name correctly.
1218 2006-10-10 Joe Neeman <joeneeman@gmail.com>
1220 * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1221 already have a non-empty extent. Fixes estimation for Hara-kiri
1224 2006-10-09 Jürgen Reuter <reuter@ipd.uka.de>
1226 * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1229 * lily/ligature-engraver.cc: Remove unused #include.
1231 * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1232 Bugfix: remove method check_for_prefix_loss(Item *) from global
1233 namespace to avoid namespace pollution.
1235 2006-10-09 Han-Wen Nienhuys <hanwen@lilypond.org>
1237 * VERSION: release 2.9.22
1239 * ly/generate-documentation.ly: update option name.
1241 * lily/dynamic-text-spanner.cc (print): revert fix.
1243 * scm/define-grob-interfaces.scm
1244 (trill-pitch-accidental-interface):
1245 add trill-pitch-accidental-interface
1247 * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1248 dereference if it's really a duration.
1250 * lily/figured-bass-engraver.cc (process_music): clear spanner if
1251 useBassFigureExtenders is not set.
1252 (listen_bass_figure): record as new event if
1253 useBassFigureExtenders not set. Fixes #103.
1255 * scm/stencil.scm (circle-stencil): don't center stencil argument,
1256 instead: move circle. Fixes #107.
1258 * scm/define-grobs.scm (all-grob-descriptions): set
1259 allow-loose-spacing for PaperColumn and
1260 NonMusicalPaperColumn. Kludge for #110.
1262 * lily/spaceable-grob.cc: add allow-loose-spacing property.
1264 * lily/spacing-determine-loose-columns.cc (is_loose_column):
1265 allow-loose-spacing property.
1267 * scm/define-markup-commands.scm (postscript): gsave & grestore
1268 around embedded PS. Do setlinewidth too. Fixes #109.
1270 2006-10-08 Jürgen Reuter <reuter@ipd.uka.de>
1272 * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1273 code. This patch fixes ligature brackets that were not at all
1276 2006-10-08 Graham Percival <gpermus@gmail.com>
1278 * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1280 * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1282 * scm/define-context-properties.scm: clarified docs (bug 91).
1284 * Documentation/user/basic-notation.itely: document volta brackets
1285 not aligning (bug 63).
1287 * Documentation/user/ global.itely invoking.itely: ignore or
1288 add warnings about texstr.
1290 2006-10-08 John Mandereau <john.mandereau@free.fr>
1292 * po/fr.po: update translation.
1294 * po/: update msgids.
1296 2006-10-08 Jan Nieuwenhuizen <janneke@gnu.org>
1298 * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1300 2006-10-08 Nicolas Sceaux <nicolas.sceaux@free.fr>
1302 * Documentation/user/page.itely (Two-pass vertical spacing): add
1303 documentation for two-pass spacing technique.
1305 2006-10-06 Graham Percival <gpermus@gmail.com>
1307 * Documentation/user/convert-ly.txt: new file; new
1308 storage place for this file (moved from bugs/ CVS).
1310 2006-10-06 Jürgen Reuter <reuter@ipd.uka.de>
1312 * lily/note-head.cc: Fixed programming_error message.
1314 2006-10-06 Han-Wen Nienhuys <hanwen@lilypond.org>
1316 * scm/define-grobs.scm (pure-conversion): move pure-callback
1319 * scm/script.scm (default-script-alist): set avoid-slur for turn,
1320 marcato, stopped, thumb.
1322 2006-10-05 Han-Wen Nienhuys <hanwen@lilypond.org>
1324 * lily/completion-note-heads-engraver.cc (process_music): don't
1325 skimp on memory usage.
1327 * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1330 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1331 parenthesis item. This fixes premature Y-extent triggering. Fixes
1334 * VERSION (PATCH_LEVEL): bump version.
1336 2006-10-04 Graham Percival <gpermus@gmail.com>
1338 * Documentation/user/advanced-notation.itely: added
1339 info about instrument names for piano or other contexts,
1342 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1344 * mf/feta-bolletjes.mf (solfa_quarter_width): use
1345 solfa_base_notewidth as unit for non-DO-notes too.
1347 * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1349 * VERSION: release 2.9.21
1351 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1354 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1356 * python/lilylib.py (progress): Minor fix.
1358 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1360 * lily/note-name-engraver.cc: doc engraver.
1362 * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1364 * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1366 * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1369 * lily/stem-engraver.cc (make_stem): don't set duration-log
1371 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1372 write snippet-names binary.
1374 * python/lilylib.py (system): use os.system for mingw32
1376 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1379 * scm/backend-library.scm: update email address.
1381 * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1384 * scm/define-grobs.scm (all-grob-descriptions): use callback to
1387 * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1388 handle dot creation separately.
1390 * lily/tab-note-heads-engraver.cc (process_music): idem.
1392 * lily/drum-note-engraver.cc (process_music): idem.
1394 * lily/note-heads-engraver.cc (process_music): idem.
1396 * lily/rest-engraver.cc: don't set duration-log.
1398 * scm/output-lib.scm (string-number::calc-text): new function.
1399 (note-head::calc-duration-log): new function.
1401 * lily/fingering-engraver.cc (make_script): remove 'text setting.
1403 * scm/output-lib.scm (fingering::calc-text): new function.
1405 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1407 * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1408 and include-eps-font -> include-eps-fonts
1410 2006-10-03 Han-Wen Nienhuys <hanwen@lilypond.org>
1412 * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1414 * lily/timing-translator.cc: list properties.
1415 (start_translation_timestep): update internalBarNumber too.
1417 * scm/define-context-properties.scm
1418 (all-user-translation-properties): add internalBarNumber.
1420 * input/regression/spacing-no-note.ly: new file.
1422 * buildscripts/output-distance.py (link_file): verbosity for OSError.
1424 * lily/book.cc: #include cleanup.
1426 * lily/include/lily-guile-macros.hh: add assert to
1427 scm_or_str2symbol(SCM).
1429 * VERSION (PATCH_LEVEL): bump version.
1431 * lily/spacing-spanner.cc (musical_column_spacing): handle
1432 musical->nonmusical spacing case, where there is no spacing
1433 wish. Fixes issue #61.
1435 * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1436 (pango_item_string_stencil): use logical rect horizontally (to
1437 preserve spaces), ink_rect vertically (for time signatures).
1439 * lily/font-metric.cc (word_stencil): new interface function
1441 * input/regression/utf-8-mixed-text.ly: new file.
1443 * lily/percent-repeat-engraver.cc (listen_percent): remove
1446 * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1447 non-dynamic scripts. Fixes #30.
1449 * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1451 * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1453 * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1454 SCM_UNDEFINED for non-existent data.
1456 * lily/side-position-interface.cc (general_side_position): allow
1457 optional current_offset argument for chaining, so combinations of side-position
1458 and outside slur callback don't add up. Fixes issue #92.
1460 * lily/pango-font.cc (pango_item_string_stencil): use
1461 logical_rect. This prevents spaces after words from disappearing,
1464 * VERSION: release 2.9.20
1466 2006-10-02 Han-Wen Nienhuys <hanwen@lilypond.org>
1468 * scm/define-grob-properties.scm (all-user-grob-properties):
1469 mention stencil as user settable.
1471 2006-10-02 Joe Neeman <joeneeman@gmail.com>
1473 * Documentation/user/page.itely (Page formatting):
1474 document auto-first-page-number
1476 * lily/page-breaking.cc (find_chunks_and_breaks):
1477 * lily/paper-score.cc (calc_breaking): Follow changes to the
1478 Constrained_breaking interface
1480 * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1481 here backwards, as an optimisation
1482 (initialize): new function; move most of the code in resize () here
1483 (combine_demerits): cache ragged_right_
1484 (Constrained_breaking): constructor now takes the Paper_score
1486 2006-10-02 Erik Sandberg <mandolaerik@gmail.com>
1488 * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1489 avoid parser lookahead for 0-ary functions.
1491 * lily/translator.cc: Extract event classes from
1492 IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1494 2006-10-02 Heikki Junes <hjunes@gmail.com>
1496 * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1499 2006-10-01 Nicolas Sceaux <nicolas.sceaux@free.fr>
1501 * scm/layout-page-layout.scm (page-breaking-wrapper): new
1502 function. Call the page breaking function selected in the
1503 `page-breaking' \paper variable, then the post processing function
1504 chosen using the `page-post-process' \paper variable.
1505 (line-height): new function. Return the height of a system.
1506 (line-minimum-position-on-page): new function. Return the position
1507 of a system on page (using the previous line position), only
1508 considering between system padding.
1509 (stretchable-line?): new function. Says whether a line can be
1510 stretched (ie. is not a title nor a single staff system).
1511 (page-maximum-space-left): new function. Computes space left on a
1512 page, when all systems are separated by their padding.
1514 * lily/page-breaking.cc (breaking::make_pages): Move page post
1515 processing function call to page breaking wrapper (common to all
1518 * lily/paper-book.cc (book::pages): call the page breaking
1519 wrapper, instead of the page breaker directly
1521 * ly/paper-defaults.ly: Add \paper variables for page breaking
1522 wrapper and page post processing function. Make
1523 `write-page-layout' value depend on the 'dump-tweaks option. Add a
1524 `system-maximum-stretch-procedure' variable for holding a function
1525 computing the maximum stretch a system allows.
1527 * scm/layout-page-dump.scm (write-page-breaks): computes the
1528 stretch to apply to systems on a page to minimize left
1529 space. Dump this stretch length.
1531 * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1532 the system-stretch property of the tweak data to stretch the
1534 (includePageLayoutFile): Void function which includes the
1535 generated page-layout file if it exists and if the page layout
1536 dumping is not asked.
1537 (scoreTweak): if the score tweak named by the argument exists,
1540 2006-10-01 Joe Neeman <joeneeman@gmail.com>
1542 * lily/page-spacing.cc (compress_lines, uncompress_solution):
1543 handle correctly the case where there are multiple \noPageBreaks
1546 2006-09-30 Laura Conrad <lconrad@laymusic.org>
1548 * abc2ly.py adds segno (S) and Coda (O) to articulations.
1550 * abc2ly.py fix so that entering " -- " will translate to a -- in
1551 the lilypond instead of a " - - "
1553 2006-09-30 Han-Wen Nienhuys <hanwen@lilypond.org>
1555 * lily/align-interface.cc: fix typo
1557 * lily/dynamic-text-spanner.cc (print): Add a special case for
1558 trill spanner right sides.
1560 * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1562 * lily/align-interface.cc (get_extents_aligned_translates): add
1563 support for padding variable.
1565 * lily/break-align-interface.cc (self_align_callback): oops: use
1566 loop variable in guard.
1568 * input/regression/repeat-percent-grace.ly: new file.
1570 * lily/percent-repeat-engraver.cc (start_translation_timestep):
1571 remember first currentCommandColumn of a grace run. Fixes issue 70.
1573 * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1574 move class definition to CC file.
1576 * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1578 * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1579 measure-long repeats.
1581 * flower/include/international.hh: include stdarg.h
1583 2006-09-30 Joe Neeman <joeneeman@gmail.com>
1585 * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1586 put_systems_on_pages to return an empty result, we need to assign
1587 demerits properly in that case.
1588 (put_systems_on_pages): Make the number of pages depend on the
1589 evenness of page_number. Add auto-first-page-number.
1590 (calc_subproblem): ensure that the page-number is even for the
1591 left-hand page. Warn if the first page-turn doesn't fit onto the
1592 first (right-hand) page.
1594 * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1595 (min_page_count): make this publicly accessible
1596 (min_page_count): fix a bug when there are forced page breaks that
1597 was introduced when I made this loop run backwards
1598 (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1599 replace space_systems_on_min_pages with these two. The logic in
1600 space_systems_on_min_pages was getting too convoluted and is better
1601 contained in page-turn-page-breaking.
1603 * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1605 (breakable_column): typo
1607 * lily/source-file.cc (get_line): fix off-by-one error
1608 and clean up some of the logic
1610 2006-09-29 Joe Neeman <joeneeman@gmail.com>
1612 * lily/page-breaking.cc (make_pages): honour the first-page-number
1615 2006-09-27 Han-Wen Nienhuys <hanwen@lilypond.org>
1617 * VERSION (PACKAGE_NAME): bump version.
1619 2006-09-26 Pal Benko <benko.pal@gmail.com>
1621 * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1622 (the latter is the same as petrucci-f which is kept for compatibility)
1624 2006-09-26 Erik Sandberg <mandolaerik@gmail.com>
1626 * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1628 2006-09-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1630 * lily/global-context.cc (run_iterator_on_me): break out of loop
1631 if moment doesn't increase.
1633 * scm/define-grob-properties.scm (all-user-grob-properties): add
1636 * lily/accidental.cc (after_line_breaking): read forced property.
1638 * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1641 * input/regression/accidental-forced-tie.ly: new file.
1643 2006-09-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1645 * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1647 * lily/figured-bass-engraver.cc: only listen to rest events if
1648 ignoreFiguredBassRest is not set.
1650 * scm/define-context-properties.scm
1651 (all-user-translation-properties): add ignoreFiguredBassRest property
1653 2006-09-24 Joe Neeman <joeneeman@gmail.com>
1655 * lily/paper-book.cc (get_system_specs):
1656 (set_system_penalty): fix breakbefore.
1657 We used to set a penalty on the system after the break, now we
1658 set a permission on the system before the break
1660 * lily/grob-property.cc: add scm debugging hooks into
1661 property modification
1663 * lily/context-property.cc:
1665 rename make_foo_from_properties to internal_make_foo and
1666 move it from context-property.cc to a member function of
1669 * lily/include/lily-guile-macros.hh:
1670 overload ly_symbol2scm macro so that there is no more need
1673 * lily/volta-repeat-iterator.cc:
1674 * lily/tweak-engraver.cc:
1675 * lily/tuplet-bracket.cc:
1676 * lily/span-bar-engraver.cc:
1677 * lily/script-engraver.cc:
1678 * lily/prob-scheme.cc:
1679 * lily/pointer-group-interface.cc:
1681 * lily/grob-scheme.cc:
1682 * lily/grob-property.cc:
1684 * lily/context-property.cc:
1685 * lily/break-substitution.cc:
1686 * lily/break-align-engraver.cc:
1687 * lily/axis-group-interface.cc:
1688 * lily/align-interface.cc:
1689 remove calls to internal_FOO
1691 * lily/system-start-delimiter-engraver.cc:
1692 * lily/parenthesis-engraver.cc:
1693 * lily/accidental-engraver.cc:
1694 remove calls to make_foo_from_properties
1696 2006-09-23 Graham Percival <gpermus@gmail.com>
1698 * Documentation/user/programming-iterfaces.itely: fix
1699 def-music-function -> define-music... leftover.
1701 2006-09-23 Joe Neeman <joeneeman@gmail.com>
1703 * lily/page-spacing.cc (min_page_count): by running the loop
1704 backwards, we can calculate ragged_last properly.
1706 2006-09-22 Mats Bengtsson <mabe@drongo.s3.kth.se>
1708 * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1709 printfirst-page-number -> print-first-page-number
1711 * python/convertrules.py: corresponding rule.
1713 * Documentation/user/page.itely (Page formatting): Document the
1714 default values of all page layout parameters.
1716 2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
1718 * lily/lexer.ll: remove limitation on music function arity. New
1719 mode extratoken, which inserts extra EXPECT_* tokens after
1720 MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1722 * lily/parser.yy: Change grammar for music function accordingly.
1724 * lily/include/lily-parser.hh: New method get_state, new member
1725 hidden_state. Works around a problem when parser fetches
1726 MUSIC_FUNCTION token but not the following EXPECT_* token.
1728 * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1731 * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1732 references to Music; use ASSIGN_EVENT_ONCE everywhere
1734 * lily/grob-info.cc: junk *music_cause
1736 * lily/music.cc: copy eventified articulations to stream event
1738 * lily/part-combine-iterator.cc: Cleanup using enums
1740 * lily/translator-group.cc: Junk OldMusicEvent, and associated
1743 * lily/include/engraver.hh: Junk music.hh include
1745 * lily/stream-event.cc: Changed constructors
1747 2006-09-21 Graham Percival <gpermus@gmail.com>
1749 * Documentation/user/tweaks.itely (Fitting music onto fewer
1750 pages): change settings to avoid warning messages.
1752 2006-09-21 Mats Bengtsson <mabe@drongo.s3.kth.se>
1754 * Documentation/user/tweaks.itely (Fitting music onto fewer
1755 pages): Add between-system-space setting.
1757 2006-09-21 Han-Wen Nienhuys <hanwen@lilypond.org>
1759 * lily/accidental-placement.cc (calc_positioning_done): don't
1760 trigger Y-extent calculation too early. Use pure_height instead.
1762 * lily/scale.cc (LY_DEFINE): new file.
1764 2006-09-20 Joe Neeman <joeneeman@gmail.com>
1766 * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1767 that happen at the start of a score: having a zero-length
1768 chunk was messing up min_system_count calculations.
1770 * lily/source-file.cc (get_line): lower_bound, not
1771 binary_search. Fixes problem where point-and-click would
1772 always point to the first line.
1774 2006-09-20 Han-Wen Nienhuys <hanwen@lilypond.org>
1776 * lily/accidental-placement.cc (calc_positioning_done): also put
1777 stems into accidental support.
1779 * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1782 * scm/script.scm (default-script-alist): avoid-slur and
1783 slur-padding for portato script.
1785 * lily/stem-tremolo.cc (translated_stencil): new function.
1786 (height): use new function. Fixes tremolos on whole notes.
1788 * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1791 2006-09-19 Han-Wen Nienhuys <hanwen@lilypond.org>
1793 * scripts/abc2ly.py (try_parse_comment): idem.
1795 * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1796 bar_string iso. string.find()
1800 * lily/slur.cc (get_curve): always use scm_is_pair() looping
1803 2006-09-18 Graham Percival <gpermus@gmail.com>
1805 * Documentation/user/basic-notation.itely: add bug
1806 warning about ties and octavation/clef.
1808 2006-09-18 Han-Wen Nienhuys <hanwen@lilypond.org>
1810 * VERSION (PACKAGE_NAME): release 2.9.18
1812 2006-08-29 Milan Zamazal <pdm@brailcom.org>
1814 * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1815 figure out midi file names right here.
1817 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1819 * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1821 * scm/backend-library.scm: option naming: gs-font-load*s*
1823 * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1826 2006-09-17 Joe Neeman <joeneeman@gmail.com>
1828 * scm/define-music-types.scm (music-descriptions): remove
1829 BreakEvent and fix {Page,Line}{Break,Turn}Event so
1830 Music::to_event doesn't complain.
1832 * lily/accidental-placement.cc (ape_compare):
1833 * lily/semi-tie.cc (compare):
1834 * lily/note-column.cc (shift_compare): replace by XXX_less
1836 * lily/tie-formatting-problem.cc (set_chord_outline):
1837 * lily/tie-column.cc (calc_positioning_done):
1838 * lily/system.cc (post_processing)
1840 * lily/stem.cc (note_head_positions)
1841 (calc_positioning_done):
1842 * lily/spanner.cc (do_break_processing)
1843 (find_broken_piece):
1844 * lily/span-bar.cc (print):
1845 * lily/semi-tie-column.cc (calc_positioning_done):
1846 * lily/rest-collision.cc (calc_positioning_done):
1847 * lily/program-option.cc (get_help_string):
1848 * lily/note-collision.cc (get_clash_groups):
1849 * lily/new-fingering-engraver.cc (position_scripts):
1850 * lily/keyword.cc (Keyword_table):
1851 * lily/hara-kiri-group-spanner.cc (request_suicide):
1852 * lily/grob-pq-engraver.cc (stop_translation_timestep):
1853 * lily/accidental-placement.cc (calc_positioning_done):
1855 * lily/beam.cc (get_beam_segments):
1856 * lily/grob-array.cc (remove_duplicates):
1859 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1860 ragged-last-bottom = ##f (test the new page breaker)
1862 * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1864 * scm/define-context-properties.scm
1865 (all-internal-translation-properties): remove properties that
1866 were used to communicate page-turn stuff to the paper-column
1869 * lily/lily-guile.cc (robust_scm2string): new function
1871 * lily/paper-column-engraver.cc: Clean up page turn stuff
1873 * lily/page-turn-engraver.cc: Re-write the page turn logic here
1874 instead of cluttering up paper-column-engraver.cc
1876 2006-09-17 Nicolas Sceaux <nicolas.sceaux@free.fr>
1878 * scm/layout-page-dump.scm (scm): export utility function names,
1879 to allow user writing cutsom dumping functions.
1881 * scm/layout-page-layout.scm: export utility function names to
1882 enable custom page breaking function writing. Tabify.
1883 (line-next-space): use ?-suffix only for predicates
1884 (page-maximum-space-to-fill): new function. Return the space
1885 between first and bottom system of a page, to give to
1887 (space-systems): use a space-to-fill argument (for instance as
1888 computed by page-maximum-space-to-fill) instead of computing
1889 internaly this space with the page height. That way, the caller
1890 can adjust the space to use.
1891 (make-page-from-systems, walk-paths): compute space to fill before
1892 calling space-systems.
1894 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1896 * scm/script.scm (default-script-alist): set paddings for every
1897 type here, increase for portato mark.
1899 * scm/lily.scm (define-scheme-options): typo: add s, so it is
1902 2006-09-16 Han-Wen Nienhuys <hanwen@lilypond.org>
1904 * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1905 use spanner::set-spacing-rods
1907 * lily/note-column.cc: reformat.
1909 * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1910 step positioning for note/rest combinations.
1912 * input/regression/rest-note-collision.ly: new file.
1914 * scm/define-grobs.scm (all-grob-descriptions): add
1917 * flower/include/std-vector.hh: switch off again.
1919 * VERSION (PATCH_LEVEL): bump to 2.9.18
1921 * flower/include/std-string.hh: idem.
1923 * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1925 2006-09-15 Mats Bengtsson <mabe@drongo.s3.kth.se>
1927 * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1930 2006-09-08 Joe Neeman <joeneeman@gmail.com>
1932 * Documentation/user/page.itely: update page breaking documentation
1934 2006-09-07 Han-Wen Nienhuys <hanwen@lilypond.org>
1936 * lily/note-collision.cc (calc_positioning_done): only access
1937 first head if available.
1939 * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1941 * scm/framework-ps.scm (output-preview-framework): use new name.
1943 * lily/program-option.cc (internal_set_option): use new names.
1945 * Documentation/user/SConscript (lilypond_book_flags): update -d
1948 * Documentation/user/lilypond-book.itely (Inserting LilyPond
1949 output into other programs): new variable names.
1951 * scm/lily.scm (define-scheme-options): uniformize var names.
1953 * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1954 tuplets_ is non-empty before popping.
1956 2006-09-07 Joe Neeman <joeneeman@gmail.com>
1958 * lily/spanner.cc (find_broken_piece):
1959 * lily/spacing-spanner.cc (get_columns):
1960 * lily/source-file.cc (get_line):
1961 * lily/simple-spacer.cc (get_column_description):
1962 * lily/keyword.cc (lookup):
1963 use the new binary search.
1965 * flower/include/std-vector.hh: replace binary_search with
1966 a more STL-like version
1968 2006-09-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1970 * lily/tie-performer.cc: remove unused last_event_ property.
1971 (class Tie_performer): add now_tied_heads_ property for
1972 partially-tied heads.
1973 (acknowledge_audio_element): when adding an Audio_note, put the
1974 note in now_tied_heads_ if the audio note is partially tied.
1975 (stop_translation_timestep): always include entries in
1976 now_tied_heads_ in heads_to_tie_.
1978 * lily/drum-note-performer.cc (process_music): look for tie-events
1979 in the articulations; pass to Audio_note constructor.
1981 * lily/note-performer.cc (process_music): look for tie-events in
1982 the articulations; pass to Audio_note constructor.
1984 * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1987 * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1988 include initializer in constructor.
1990 2006-09-02 Joe Neeman <joeneeman@gmail.com>
1992 * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1993 unless they are breakable. This fixes discrepancies between the forces
1994 calculated here and the forces calculated in get_line_configuration.
1996 * lily/grob.cc (pure_relative_y_coordinate): fix some
1997 mis-estimation that was happening with piano staves.
1999 * lily/constrained-breaking.cc (resize): don't choke if we get a
2000 measure that won't fit on a line.
2001 (combine_demerits): don't consider uniformity when ragged
2003 * lily/page-spacing.cc (solve): why the f* were there two of these?
2004 (calc_subproblem): properly handle the case where a system is taller
2007 * lily/system.cc (get_paper_system): ensure that all the permissions
2008 and penalties are passed to the paper systems.
2010 * lily/page-breaking.cc (create_system_list): support system-count.
2012 * scm/define-grobs.scm (pure-print-callbacks): add
2013 ly:script-interface::print
2015 * lily/page-spacing.cc (min_page_count): fix calculation of min
2016 pages if we are ragged and there are non-zero springs.
2018 * scm/layout-page-layout.scm: if the pure-height estimates are under
2019 the real height, allow space-systems to ignore padding if it is
2020 needed in order to fit the systems on one page
2022 * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
2024 (solve): fix performance problem. Make sure we always get at least
2027 * lily/page-breaking.cc (make_pages): include write-page-breaks
2030 * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
2032 * scm/define-grobs.scm: add the new slur-callback
2033 fix pure-relevant to not exclude grobs whose extent is already
2036 * ly/paper-defaults.ly: make ly:optimal-breaking the new default
2039 * lily/slur.cc (pure_height): new callback to estimate the height
2042 2006-09-02 Graham Percival <gpermus@gmail.com>
2044 * Documentation/user/invoking.itely: small update on
2045 MacOS X notes; thanks Trevor!
2047 2006-09-01 Han-Wen Nienhuys <hanwen@lilypond.org>
2049 * VERSION (MY_PATCH_LEVEL): release 2.9.17
2051 * lily/lexer.ll: accept EOF in all states.
2053 * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
2055 * lily/source-file.cc (Source_file): always 0-terminate character
2056 array, to prevent Flex from barfing.
2058 * lily/global-context.cc (get_output): robustness: don't crash if
2059 no Score context found.
2061 * lily/include/book.hh (class Book): idem.
2063 * lily/include/context-def.hh (struct Context_def): idem.
2065 * lily/include/score.hh (class Score): don't derive from Input.
2067 * lily/book.cc (Book): add a copy ctor.
2069 * buildscripts/output-distance.py (FileLink.calc_distance): count
2070 orphans in distance too.
2072 * python/midi.c (midi_parse_track): robustness: don't read past
2075 * ly/performer-init.ly: add Control_track_performer, move
2076 Tempo_performer and Time_signature_performer to Score.
2078 * lily/score-performer.cc (acknowledge_audio_elements): override
2079 from base class: add to audio-columns
2081 * lily/control-track-performer.cc (add_text): new file: generate
2084 * lily/performance.cc: move output_header_track to
2085 Control_track_performer ()
2087 * lily/midi-walker.cc (Midi_walker): get channel in constructor.
2089 * lily/include/midi-item.hh (class Midi_channel_item): insert
2090 class into hierarchy, for items that can have a channel setting. Dehungarify.
2092 * lily/include/performer.hh (class Performer): remove
2093 play_element(); move functionality into announce/acknowledge.
2095 * lily/audio-staff.cc (output): remove channel_ from Midi_track.
2097 * lily/tie-engraver.cc (stop_translation_timestep): only wipe
2098 heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties.
2100 2006-08-28 Han-Wen Nienhuys <hanwen@lilypond.org>
2102 * lily/tie-engraver.cc (stop_translation_timestep): robustness for
2105 * lily/all-font-metrics.cc: remove TFM support.
2107 * lily/include/tfm.hh: remove TFM support, TFM reader.
2109 * lily/include/binary-source-file.hh: remove Binary_source_file.
2111 2006-08-27 Graham Percival <gpermus@gmail.com>
2113 * Documentation/topdocs/NEWS.itely: add @c marker for
2114 stuff I've processed.
2116 * Documentation/user/ various: info from NEWS.
2118 2006-08-27 Joe Neeman <joeneeman@gmail.com>
2120 * lily/paper-column-engraver.cc (finalize): Oops, this change
2121 should have gone in on 2006-08-23
2123 2006-08-26 Mats Bengtsson <mabe@s3.kth.se>
2125 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
2126 quotes to quote arguments. Fixes Windows problem.
2128 * python/lilylib.py (progress): idem
2130 2006-08-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2132 * scripts/musicxml2ly.py: fix for importing
2133 minor key signatures from MusicXML. (Phillip Kirlin)
2135 2006-08-24 Phillip Kirlin <pkirlin@acm.org>
2137 * python/musicxml.py:
2138 (Attributes.get_key_signature): now correctly retrieves mode from
2141 2006-08-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2143 * lily/parser.yy (output_def_body): take ownership of identifier
2146 * Documentation/user/advanced-notation.itely (Metronome marks):
2147 update use of \tempo in \midi.
2149 * VERSION: release 2.9.16
2151 2006-08-24 Erik Sandberg <mandolaerik@gmail.com>
2153 * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
2156 2006-08-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2158 * input/regression/tie-chord-partial.ly: clarify example.
2160 * scm/define-music-properties.scm (all-music-properties): remove
2163 * ly/music-functions-init.ly: remove \untied.
2165 * lily/tie-engraver.cc (struct Head_event_tuple): store both
2166 stream events and music events.
2167 (stop_translation_timestep): search acknowledged heads for
2170 * input/regression/tie-chord-partial.ly: new file.
2172 * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
2173 for \char markup command.
2175 * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2177 * scm/define-music-types.scm (music-descriptions): consistency:
2178 Use solo-{one,two}-event iso. solo-[12]-event.
2180 * lily/part-combine-engraver.cc (process_music):
2181 Use solo-{one,two}-event iso. solo-[12]-event.
2183 * ly/declarations-init.ly (partCombineListener): add Timing as
2186 * flower/std-string.cc (string_copy): use copy ()
2188 * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2190 2006-08-24 Graham Percival <gpermus@gmail.com>
2192 * Documentation/user/changing-defaults.itely, global.itely,
2193 lilypond-book.itely, page.itely: minor changes from mailist.
2195 2006-08-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2197 * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2200 * scm/define-context-properties.scm
2201 (translator-property-description): robustness: detect type errors
2202 in property definitions.
2204 * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2205 after getting it from SCM.
2207 * lily/smobs.cc (protect_smob): switch off fancy smob protection
2210 * lily/include/performer.hh (class Performer): strip get_tempo()
2213 * lily/midi-def.cc: strip file.
2215 * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2217 * lily/include/context-def.hh (struct Context_def): use
2218 VIRTUAL_COPY_CONSTRUCTOR().
2220 * lily/source-file.cc: smobification.
2222 * lily/include/source-file.hh (class Source_file): smobify
2223 Source_file. Trim redundant members.
2225 * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2226 clones after creation. This plugs a huge memory leak.
2228 * python/convertrules.py (FatalConversionError.sub_tempo):
2229 complete rule for \midi{ \tempo }
2231 * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2233 * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2235 2006-08-23 Joe Neeman <joeneeman@gmail.com>
2237 * input/regression/optimal-page-breaking-hstretch.ly: test for
2238 ragged-last-bottom also
2240 * lily/paper-column-engraver.cc (finalize): make the end of a score
2241 breakable by default. This is to balance out a change in behaviour
2242 of the page-turn-breaker which no longer makes the end of a score
2245 * lily/paper-book.cc (pages): set the systems_ once the pages are
2248 * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2249 Page_breaking interface.
2251 * lily/page-breaking.cc (class Page_breaking): make the interface
2252 more consistent and provide abstractions for dealing with
2255 * lily/optimal-page-breaking.cc (solve): use a more straightforward
2256 algorithm. Use the new interface to Page_breaking.
2258 * lily/page-spacing.cc: better support for ragged-bottom and
2261 2006-08-22 Han-Wen Nienhuys <hanwen@lilypond.org>
2263 * python/convertrules.py (conv): warning on \tempo{}
2265 * ly/performer-init.ly: set tempoWholesPerMinute.
2267 * ly/midi-init.ly: remove \midi
2269 * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2272 * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2273 tempoUnitDuration for determining what to print.
2275 * lily/lyric-extender.cc: typo.
2277 * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2279 * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2282 * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2284 * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2285 eps-pad-boxes is set.
2287 * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2289 * THANKS: update sponsors.
2291 * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2293 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2295 * input/regression/tie-chord-untied.ly: new file.
2297 * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2299 * scm/define-music-properties.scm (all-music-properties): add
2302 * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2304 (headertext_nopics): sanitize no-examples text.
2306 * scm/page.scm (make-page-stencil): don't rely on extents of
2307 page-stencil. This fixes spurious space around .EPS files produced
2308 with the EPS backend.
2310 2006-08-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2312 * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2314 * lily/hara-kiri-engraver.cc (process_music): remember
2315 keepAliveInterfaces after processing \set
2317 * lily/lyric-extender.cc (print): support left/right-padding for
2320 * scm/documentation-generate.scm (string-append): revert lilypond/
2323 2006-08-20 Graham Percival <gpermus@gmail.com>
2325 * Documentation/user/lilypond.tely: clarification to
2326 license presentation (not to actual license).
2328 * Documentation/user/basic-notation.itely,
2329 instrument-notation.itely: minor changes.
2331 * input/ {regression, test}/+.ly: clarification to
2332 text (you can click on examples). Thanks, Mats!
2334 * input/manual/bar-lines.ly: adds ||: repeats.
2336 2006-08-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2338 * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES
2340 * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2342 * Documentation/user/lilypond.tely: strip lilypond/ from info
2343 links, rename to category LilyPond
2345 * lily/pango-font.cc (description_string): new function.
2347 * VERSION: release 2.9.15
2349 * lily/spacing-engraver.cc (stop_translation_timestep): use
2350 Dscho's fix for spacing spanner.
2352 * scm/define-music-types.scm (music-descriptions): use
2353 apply-output-event for ApplyOutputEvent
2355 * lily/output-property-engraver.cc (listen_apply_output): rename
2356 from listen_layout_instruction.
2358 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2361 2006-08-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2363 * scm/lily.scm (lilypond-all): option read-file-list: substitute
2364 commandline args with contains, split by \n.
2366 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2367 write snippet-names file, call with -dread-file-list. Fixes
2368 command limitations on 64-bit systems.
2370 * input/regression/stencil-color-rotation.ly: new file.
2372 * lily/include/translator.hh (struct Acknowledge_information):
2373 revert: don't use Protected_scm in global objects, as GUILE can't
2374 handle gc_unprotect from automated destructors on MacOS X.
2376 * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2377 color, not the original stencil. Fixes combinations of
2378 color/transparency/rotation.
2380 * scripts/lilypond-book.py (main): add --formats=eps for
2383 * lily/spacing-engraver.cc (stop_translation_timestep): don't
2384 crash if spacing_ is nonexistent.
2386 2006-08-14 Mats Bengtsson <mabe@s3.kth.se>
2388 * scripts/lilypond-book.py (output): Remove obsolete(!?)
2389 \catcode`\@=12 in the LaTeX output.
2391 2006-08-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2393 * scm/define-music-types.scm (music-descriptions):
2394 use sustain-event iso. sustain-pedal-event.
2396 2006-08-11 Joe Neeman <joeneeman@gmail.com>
2398 * scripts/convert-ly.py: honour the -n command-line switch
2400 2006-08-10 Han-Wen Nienhuys <hanwen@lilypond.org>
2402 * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2403 break specification.
2405 2006-08-10 Joe Neeman <joeneeman@gmail.com>
2407 * Documentation/user: convert-ly the user manual
2409 2006-08-09 Han-Wen Nienhuys <hanwen@lilypond.org>
2411 * stepmake/aclocal.m4: version check patch (thanks MWD)
2413 * ly/music-functions-init.ly: robustness. Don't crash if
2414 currentBarNumber is not a number.
2416 * VERSION (PATCH_LEVEL): bump.
2418 2006-08-08 Han-Wen Nienhuys <hanwen@lilypond.org>
2420 * stepmake/aclocal.m4: better version check; handle fooX.Y
2423 * ly/performer-init.ly: instrument name fixup.
2425 * input/manual/chord-names-jazz.ly (banterProperties):
2426 instrumentName update
2428 * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2430 * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2432 * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2433 function. Use hash tables to check membership.
2435 * lily/general-scheme.cc (LY_DEFINE): new function.
2437 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2439 * lily/include/translator.hh (struct Acknowledge_information): add
2442 * ly/music-functions-init.ly: change name to BreathingEvent
2444 * input/regression/*.ly: apply it.
2446 * python/convertrules.py (conv): better instrumentName conversion
2449 * scm/define-music-types.scm (music-descriptions): add
2450 line-break-event to LineBreakEvent music
2452 * lily/music.cc (to_event): don't crash if music type not set.
2454 * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2457 * lily/spacing-engraver.cc (stop_translation_timestep): set
2458 spacing for proportional notation too.
2460 * scm/translation-functions.scm (format-bass-figure): inspect
2463 * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2465 2006-08-08 Joe Neeman <joeneeman@gmail.com>
2467 * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2469 * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2471 * scm/layout-page-layout.scm (make-page-from-systems): new function
2472 (optimal-page-breaks): use the new page-breaking calling convention
2474 * scm/define-context-properties.scm (all-user-translation-properties):
2477 * lily/paper-column-engraver.cc (stop_translation_timestep): add
2478 revokePageTurns functionality. If there is a special barline within
2479 the breakable region, break there instead of at the end of the region.
2481 * lily/paper-book.cc (pages): use the new page-breaking calling
2484 2006-08-07 Erik Sandberg <mandolaerik@gmail.com>
2486 * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2488 * scripts/lilypond-book.py: insert \sourcefileline command in
2489 output, so lilypond error messages refer to the spot in the
2490 original .lytex / .itely sourcefile.
2492 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2494 * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2495 space to next column for distance to fixed col.
2497 * VERSION (PACKAGE_NAME): release 2.9.14
2499 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2502 * lily/accidental-engraver.cc (process_acknowledged): don't create
2503 accidental for trill span event. This fixes spurious accidentals
2506 2006-08-04 Mats Bengtsson <mabe@s3.kth.se>
2508 * scm/define-grob-properties.scm (all-user-grob-properties):
2509 Clarify documentation of side-axis and direction. Thanks to Paul
2510 for the inspiration.
2512 * lily/bar-line.cc: Add documentation for "||:" also in the
2513 interface documentation.
2515 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2517 * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2519 * lily/paper-column.cc (set_system): new function.
2521 * lily/spacing-engraver.cc (stop_translation_timestep): store
2522 SpacingSpanner refs in Paper_column.
2524 * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2525 compute loose clique spacing using GraceSpacing/SpacingSpanner.
2527 2006-08-03 Han-Wen Nienhuys <hanwen@lilypond.org>
2529 * lily/beam-engraver.cc (listen_beam): add method for
2530 Grace_beam_engraver too.
2532 2006-08-03 Mats Bengtsson <mabe@s3.kth.se>
2534 * python/convertrules.py: Fix indentation bug that broke
2535 conversion of files older than 1.3.117.
2536 Fix escape error in the description for 2.9.6.
2538 2006-08-02 Erik Sandberg <mandolaerik@gmail.com>
2540 * lily/*-engraver.cc: convert all try_music functions to listen_*
2543 * lily/piano-pedal-engraver.cc: some additional cleanups: use
2544 enums to represent pedal types, and calculate more data statically.
2546 * scm/part-combiner.scm (recording-group-emulate): create a
2547 softcoded substitute for recording-group-engraver.cc.
2549 * lily/music.cc: make a common transpose function for events and
2552 * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2553 ManualMelismaEvent, and obsoletes Melisma_translator.
2555 2006-08-02 Han-Wen Nienhuys <hanwen@lilypond.org>
2557 * input/test/instrument-name-align.ly: update version.
2559 2006-08-02 Mats Bengtsson <mabe@s3.kth.se>
2561 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2562 Doc the --pdf flag to lilypond-book.
2564 2006-07-31 Han-Wen Nienhuys <hanwen@lilypond.org>
2566 * Documentation/topdocs/NEWS.tely (Top): add description.
2568 * input/regression/tuplet-full-length-note.ly: add file.
2570 * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2571 always store axis group.
2573 2006-07-27 Han-Wen Nienhuys <hanwen@lilypond.org>
2575 * input/regression/instrument-switch.ly: new file.
2577 * lily/instrument-switch-engraver.cc (process_music): new file.
2579 * ly/engraver-init.ly: add Instrument_switch_engraver
2581 * ly/music-functions-init.ly: \instrumentSwitch
2583 * scm/define-context-properties.scm
2584 (all-user-translation-properties): add instrumentCueName
2586 * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2588 2006-07-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2590 * ly/music-functions-init.ly: music function \transposition.
2592 * lily/parser.yy (command_element): softcode \transposition.
2594 * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2595 (process_music): oops.
2597 * lily/instrument-name-engraver.cc (start_spanner): new
2598 function. Create spanner when property changes.
2599 (stop_spanner): new function.
2601 * python/convertrules.py (conv): add rule.
2603 * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2604 shortInstrumentName iso. instr.
2606 * scm/output-ps.scm (dashed-line): add phase argument to
2609 * lily/bar-line.cc (dashed_bar_line): new function.
2610 (compound_barline): support \bar "dashed".
2612 * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2613 --output=DIR to DIR/BASE if it is a dir.
2615 * flower/file-name.cc (file_part): new function
2616 (dir_part): new function
2618 * lily/lily-parser-scheme.cc (LY_DEFINE):
2620 * DEDICATION: update
2622 2006-07-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2624 * lily/instrument-name-engraver.cc: formatting.
2626 * python/convertrules.py (conv): bugfix for \epsfile.
2628 2006-07-25 Joe Neeman <joeneeman@gmail.com>
2632 * lily/gourlay-breaking.cc: Oops, these should have been included
2635 2006-07-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2637 * scripts/*.py (program_name): cleanup relocation snippets.
2639 * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2641 2006-07-24 Joe Neeman <joeneeman@gmail.com>
2643 * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2644 page-breakable by default
2646 * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2647 correctly calculated for a single-system page
2649 * scm/lily-library.scm (interval-sane?): also check that the first number is no
2650 bigger than the second number
2652 * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2653 acknowledge that we aren't satisfying constraints)
2655 * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2658 * lily/grob.cc (pure_height): add minimum-Y-extent
2660 * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2663 * lily/constrained-breaking.cc: convert code to use new Matrix class
2664 (get_best_solution): new function
2666 * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2667 is a page with no systems
2669 2006-07-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2671 * VERSION (PACKAGE_NAME): release 2.9.13
2673 * scm/define-grobs.scm (all-grob-descriptions): remove stray
2676 2006-07-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2678 * Documentation/topdocs/NEWS.tely (Top): doc new features.
2680 * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2683 * scm/define-grob-properties.scm (all-user-grob-properties):
2684 remove grace-space-factor.
2686 * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2687 grace-spacing-interface
2688 (spacing-options-interface): add.
2690 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2692 * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2694 * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2695 GraceSpacing object.
2697 * lily/note-spacing.cc: fix prop list formatting
2699 * lily/beaming-pattern.cc (de_grace): new function. Sensible
2700 beaming for grace notes too.
2702 * input/regression/spacing-grace.ly: update.
2704 * lily/grace-spacing-engraver.cc: new file.
2706 * lily/spacing-spanner.cc: add strict-grace-spacing.
2708 2006-07-20 Graham Percival <gpermus@gmail.com>
2710 * lily/parser.yy: compile fix.
2712 2006-07-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2714 * scm/define-grobs.scm (all-grob-descriptions): typo.
2716 * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2717 .eps extension from includegraphics.
2719 * scripts/lilypond-book.py (main): add support for --pdf.
2721 * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2722 callback to compute common shortest duration.
2723 (set_springs): typo.
2725 * scm/define-grob-properties.scm (all-user-grob-properties): add
2726 strict-grace-spacing.
2728 * lily/spacing-determine-loose-columns.cc (is_loose_column):
2729 support float_grace_columns_.
2731 * lily/spacing-options.cc (init_from_grob): new file.
2733 * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2735 * input/regression/spacing-loose-grace.ly: new file.
2737 * Documentation/topdocs/NEWS.tely (Top): document new feature.
2739 * lily/tuplet-engraver.cc (struct Tuplet_description): read
2740 tupletFullLengthNote too. Choose right bound depending on value.
2742 * input/regression/tuplet-full-length-note.ly: new file.
2744 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2746 * lily/*-performer.cc: Converted try_music to listen_*
2748 * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2749 as a stream-event internally. Introduce event_cause (), deprecate
2752 * scm/define-music-types.scm: Removed BusyPlayingEvent
2754 2006-07-19 Mats Bengtsson <mabe@s3.kth.se>
2756 * Documentation/user/advanced-notation.itely (Font selection):
2757 Document how to get a list of available fonts using 'lilypond
2758 -dshow-available-fonts blabla'.
2760 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2762 * GNUmakefile.in: filter lily-XXX.pdf files.
2764 * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2766 * scm/define-grob-properties.scm (all-internal-grob-properties):
2767 remove delta-pitch. Use delta-position everywhere.
2769 * scm/output-lib.scm (fall::print): use new order.
2771 * scm/output-ps.scm (path): reorder arguments.
2773 * scm/output-svg.scm (path): support for path primitive.
2775 * input/regression/bend-after.ly: new file.
2777 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2778 recipe for eps -> pdf conversion.
2780 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2782 * lily/parser.yy, lily/lexer.ll: added some simplifications by
2785 2006-07-19 Graham Percival <gpermus@gmail.com>
2787 * input/manual/screech-boink.ly: moved to here.
2789 * input/screech-boink.ly: deleted.
2791 * scm/define-grob-properties.scm: clarify doc string.
2793 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2795 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2797 * scm/output-ps.scm (path): define path.
2799 * scm/define-stencil-commands.scm
2800 (ly:register-stencil-expression): add path.
2802 * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2804 * ly/engraver-init.ly: add Fall_engraver
2806 * lily/parser.yy (music_function_event): allow musicfunction
2807 without music arg as music_function_event.
2809 * lily/grob-scheme.cc (LY_DEFINE):
2810 ly:grob-robust-relative-extent. New function.
2812 * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2814 * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2816 * scm/output-lib.scm (fall::print): new function
2818 * lily/fall-engraver.cc (stop_fall): new file.
2820 * ly/music-functions-init.ly: alphabetise.
2822 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2825 2006-07-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2827 * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2829 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2832 * lily/translator-group.cc (connect_to_context): non const error message.
2834 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2836 * scm/paper.scm (internal-set-paper-size): define landscape to #f
2839 * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape.
2841 * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2843 * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2846 * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2848 * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2850 * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2852 * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2854 * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2856 * scm/backend-library.scm (postscript->pdf): strip .eps too.
2858 2006-07-14 Nicolas Sceaux <nicolas.sceaux@free.fr>
2860 * scm/layout-page-layout.scm: Define module, tidy code, use more
2861 functions iso. a single big one.
2863 * scm/layout-page-dump.scm: move page dump functions used in two
2864 pass spacing to this file. Define module.
2866 * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2869 * ly/paper-defaults.ly: use module layout-page-layout.
2871 2006-07-14 Erik Sandberg <mandolaerik@gmail.com>
2873 * lily/music.cc: Revised MusicEvent event class. It now contains
2874 event data directly instead of encapsulating it in music. The
2875 previously used class is renamed to OldMusicEvent.
2877 * lily/stream-event.cc: Stream events are now probs.
2879 * lily/translator-group.cc, lily/translator.cc: Translators can
2880 now listen directly to stream events, by using macros
2881 [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2883 * lily/arpeggio-engraver.cc: Converted to use new event system
2885 * THANKS: Corrected spelling mistake.
2887 2006-07-12 Graham Percival <gpermus@gmail.com>
2889 * Documentation/user/SConscript, make/lilypond-vars.make,
2890 input/GNUmakefile: doc build looks in input/manual instead
2893 * input/manual/ GNUmakefile, SConscript: build files for
2896 * input/test/ various: some files moved to input/manual/
2898 * Documentation/user/basic-notation.itely: small updates;
2899 thanks Kieren and Charles!
2901 2006-07-12 Han-Wen Nienhuys <hanwen@lilypond.org>
2903 * VERSION (PACKAGE_NAME): release 2.9.11
2905 * Documentation/topdocs/NEWS.tely (Top): update prop value
2907 * Documentation/user/basic-notation.itely (Tuplets): new property
2910 2006-07-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2912 * python/convertrules.py (conv): tweaks.
2914 * VERSION (PATCH_LEVEL): bump version.
2916 * python/convertrules.py (conv): add rule for
2917 tupletNumberFormatFunction.
2919 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2920 tupletNumberFormatFunction.
2922 * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2923 text through 'text callback.
2925 * lily/time-scaled-music-iterator.cc (construct_children): copy
2926 tweaks generated events.
2928 * scm/define-context-properties.scm
2929 (all-user-translation-properties): remove tupletNumberFormatFunction
2931 * lily/tuplet-engraver.cc (process_music): don't read
2932 tupletNumberFormatFunction
2934 * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2937 2006-07-11 Erik Sandberg <mandolaerik@gmail.com>
2939 * lily/global-context-scheme.cc: Separated ly:run-translator into
2942 * lily/score-engraver.cc, lily/score-performer.cc,
2943 scm/define-context-properties.scm: Make paper/midi output
2944 accessable as a context property.
2946 * lily/score-translator.cc, lily/score-context.cc: Removed.
2948 2006-07-07 Guido Amoruso <guidonte@katamail.com>
2950 * scm/ps-to-png.scm (Module):
2951 * scm/framework-tex.scm (Module):
2952 * scm/framework-ps.scm (Module):
2953 * scm/backend-library.scm (Module):
2954 * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2955 "dDEVICEHEIGHTPOINTS".
2957 2006-07-04 Graham Percival <gpermus@gmail.com>
2959 * Documentation/user/ various: general improvements to
2960 "working with lilypond files" section.
2962 2006-07-03 Erik Sandberg <mandolaerik@gmail.com>
2964 * lily/sequential-iterator.cc: Change the default get_music_list
2965 to read elements-callback music property
2967 * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2968 processing of multimeasure rests. Softcoded
2969 sequential-music-iterator.
2971 * lily/sequential-music-iterator.cc: Removed.
2973 2006-06-28 Graham Percival <gpermus@gmail.com>
2975 * Documentation/user/basic-notation.itely: clarify \repeatTie.
2977 2006-06-27 Erik Sandberg <mandolaerik@gmail.com>
2979 * lily/parser.yy: Wrap non-post-events in EventChords before
2980 assigning them to identifiers.
2982 2006-06-27 Mats Bengtsson <mabe@s3.kth.se>
2984 * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2985 gives correct vertical placement of \bar ":" in all staff
2986 sizes. Thanks Martial!
2988 2006-06-26 Graham Percival <gpermus@gmail.com>
2990 * Documentation/user/invoking.itely : minor update from mailist.
2992 2006-06-26 Erik Sandberg <mandolaerik@gmail.com>
2994 * lily/ various: Introduce stream events of types Prepare,
2995 OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2996 ChangeContext, SetProperty, RevertProperty, Override and Revert.
2998 * lily/global-context*.cc: Time is now -inf before iteration
3001 * lily/include/context.hh: Removed unique_, init_
3003 * Documentation/topdocs/NEWS: Make the feathered beam example
3004 avoid triggering a bug.
3006 2006-06-24 Graham Percival <gpermus@gmail.com>
3008 * Documentation/user/ various: small additions from mailist.
3010 2006-06-22 Mats Bengtsson <mabe@s3.kth.se>
3012 * ly/performer-init.ly: Add some missing links in the context
3013 hierarchy for MIDI output. There are probably some more missing!
3015 2006-06-21 Graham Percival <gpermus@gmail.com>
3017 * Documentation/user/ various: minor spelling fixes;
3018 thanks Dave Luttinen!
3020 * Documentation/user/ various: small clarifications;
3021 thanks Anthony Youngman!
3023 2006-06-20 Han-Wen Nienhuys <hanwen@lilypond.org>
3025 * po/fr.po: add \n appropriately.
3027 * lily/lexer.ll: remove ? from version-seen?
3029 2006-06-19 John Mandereau <john.mandereau@free.fr>
3031 * po/fr.po; update translation, by Jean-Charles Malahieude and
3034 2006-06-19 Han-Wen Nienhuys <hanwen@lilypond.org>
3036 * THANKS: add Markus Schneider.
3038 * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
3039 Staff_symbol_engraver
3041 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
3042 replace staff_engraver
3044 * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
3047 * lily/staff-collecting-engraver.cc
3048 (acknowledge_end_staff_symbol): new function
3050 * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function.
3052 * lily/staff-collecting-engraver.cc
3053 (acknowledge_end_staff_symbol): new function.
3055 * lily/main.cc: switch on relocation by default.
3057 2006-06-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3059 * lily/spacing-spanner.cc (musical_column_spacing): set
3060 compound_fixed_note_space to 0.0. Document why.
3062 * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
3063 range of inverse_hooke_
3064 (Simple_spacer): init completely.
3066 (get_line_configuration): don't use cols.resize(); it introduces
3069 * scm/framework-ps.scm (dump-page): add setstrokeadjust.
3071 * ps/music-drawing-routines.ps: remove selectfont L1 hack.
3073 * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
3074 try. Divide by beatlength.
3076 * input/regression/beaming-ternary-metrum.ly: update doc.
3077 add beatLength hack.
3079 * scm/music-functions.scm (make-time-signature-set): add
3080 standard-beat-grouping.
3082 2006-06-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3084 * input/regression/tie-whole.ly: new file.
3086 * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
3087 cross center of note head in case of invisible stem.
3089 2006-06-16 Graham Percival <gpermus@gmail.com>
3091 * Documentation/user/ various: small fixes from mailist.
3093 2006-06-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3095 * lily/breathing-sign.cc (offset_callback): idem.
3097 * lily/align-interface.cc (align_to_fixed_distance): remove
3100 * lily/beaming-pattern.cc (count_factor_twos): oops. We want
3103 2006-06-15 Han-Wen Nienhuys <hanwen@lilypond.org>
3105 * VERSION (PACKAGE_NAME): release 2.9.9
3107 * ly/lilypond-book-preamble.ly: add \version
3109 2006-06-14 Han-Wen Nienhuys <hanwen@lilypond.org>
3111 * scripts/lilypond-book.py (PREAMBLE_LY): include
3112 lilypond-book-preamble.ly
3114 * lily/stem.cc (get_beaming): return max of 0 and
3115 scm_ilength. Fixes slurring from/to beams.
3117 * ly/lilypond-book-preamble.ly: new file.
3119 * lily/slur.cc: add inspect-index feature.
3121 2006-06-13 Graham Percival <gpermus@gmail.com>
3123 * Documentation/user/tutorial.itely: trivial fix.
3125 2006-06-13 Erik Sandberg <mandolaerik@gmail.com>
3127 * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
3128 all non-event music in the parser via MAKE_SYNTAX.
3130 * lily/parser-scheme.cc: Add ly:parser-error function
3132 * scm/paper.scm: fix typo
3134 2006-06-13 Han-Wen Nienhuys <hanwen@lilypond.org>
3138 * lily/font-config.cc (init_fontconfig): add warning if cache_file
3141 * buildscripts/output-distance.py (test_compare_signatures):
3143 (read_signature_file): use new signature format.
3145 * scm/stencil.scm (write-system-signature): simpler signature
3148 * lily/stem.cc (calc_stem_end_position): calc quantized-positions
3151 * lily/note-spacing.cc (stem_dir_correction): don't inspect
3152 stem_end_position, but estimate instead.
3154 * lily/tuplet-bracket.cc (calc_positions): look at
3155 stem-end-position for tuplet bracket slope. Fixes sloped tuplet
3156 brackets narrower than beams.
3158 * lily/lexer.ll: set version-seen? even if version is
3161 * lily/rest.cc (y_offset_callback): bugfix: decide position
3162 override based on scm_is_number(). Fixes \rest on center staff
3165 * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
3166 patterns for 16th triplets.
3168 2006-06-10 Graham Percival <gpermus@gmail.com>
3170 * Documentation/user/ page.itely, global.itely: editing
3173 * Documentation/user/ various: findex -> funindex.
3175 2006-06-10 Erik Sandberg <mandolaerik@gmail.com>
3177 * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3178 insert extra tuplet events.
3180 2006-06-10 Graham Percival <gpermus@gmail.com>
3182 * Documentation/user/programming-interfaces.itely: add
3185 * python/convertrules.py: add annotatefoo -> annotate-foo
3188 * Documentation/user/global.itely: start editing.
3190 * Documentation/user/page.itely: major editing, new spacing
3193 2006-06-10 Han-Wen Nienhuys <hanwen@lilypond.org>
3195 * scm/define-markup-commands.scm (wordwrap-markups): use
3196 output-def 'line-width if undefined.
3198 * HACKING: trim outdated info.
3200 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3202 * scm/define-grobs.scm (all-grob-descriptions): Add
3203 line-spanner-interface to all grobs that already have
3204 text-spanner-interface or dynamic-text-spanner-interface
3206 * scm/page.scm: Rename annotate{headers,systems,page}->
3209 * input/regression/page-spacing.ly,
3210 input/regression/page-layout-manual-position.ly: idem
3212 2006-06-09 Han-Wen Nienhuys <hanwen@lilypond.org>
3214 * lily/line-spanner.cc: cleanup property list.
3216 * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3217 generator expressions (2.3 compat).
3219 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3221 * lily/vertical-align-engraver.cc: Make sure that the
3222 align{Above,Below}Context properties are included in the automatic
3225 2006-06-08 Joe Neeman <joeneeman@gmail.com>
3227 * scm/paper-system.scm (paper-system-annotate): also annotate the
3228 estimated pure-Y-extent
3230 * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3232 * lily/system.cc (break_into_pieces): set the estimated height
3233 of each child system
3235 * lily/stem.cc (pure_height): new pure-Y-extent callback
3237 * lily/staff-symbol-referencer.cc (callback): don't destroy
3238 the staff-position property
3240 * lily/hara-kiri-group-spanner.cc (request_suicide): split
3241 consider_suicide into two functions
3243 * lily/constrained-breaking.cc (resize): use the new pure
3244 callbacks to estimate the height of a system
3246 * lily/axis-group-interface.cc (pure_group_height): new
3247 side-effect-free VerticalAxisGroup height-callback
3249 * lily/align-interface.cc (get_extents_aligned_translates):
3250 split align_elements_to_extents into two functions
3251 (get_pure_child_y_translation): new function
3253 * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3255 * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3257 * lily/paper-score.cc: cache break_indices and columns
3259 * lily/side-position-interface.cc: new pure-Y-extent callbacks
3261 2006-06-08 Han-Wen Nienhuys <hanwen@lilypond.org>
3263 * lily/font-config.cc (init_fontconfig): do the init if
3264 cache_file, but don't look at cache_file.
3266 * input/regression/quote-tie.ly: new file.
3268 * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3269 to Head_event_tuple, so we deal gracefully with ties on
3272 * lily/pango-font.cc (pango_item_string_stencil): type correctness
3275 2006-06-08 Graham Percival <gpermus@gmail.com>
3277 * input/test/ smart-transpose.ly, reverse-music.ly:
3278 \applyMusic to music functions update, thanks Michael!
3280 2006-06-07 Graham Percival <gpermus@gmail.com>
3282 * input/test/ add-staccato.ly, add-text-script.ly,
3283 unfold-all-repeats.ly, music-box.ly: \applyMusic to
3284 music functions update, thanks to Michael Meixner.
3286 * Documentation/user/music-glossary.tely: small fix
3289 * Documentation/user/ various: minor additions from mailist.
3291 * Documentation/user/lilypond.tely, basic-notation.itely:
3292 small test of @funindex. (works here)
3294 * input/test/font-table.ly: reduce size to partially
3295 de-ugly version in manual.
3297 * Documentation/user/page.itely: new file (split former
3298 "global issues" into "page settings" and "non-musical
3301 * Documentation/user/ various: fix @ref{}s to match
3302 new chapter names (above).
3304 2006-06-07 Jan Nieuwenhuizen <janneke@gnu.org>
3306 * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3308 2006-06-06 Graham Percival <gpermus@gmail.com>
3310 * Documentation/user/advanced-notation.itely: add example
3311 for segno/coda on barline.
3313 * tex/texinfo.tex: merge from upstream.
3315 2006-06-06 Jan Nieuwenhuizen <janneke@gnu.org>
3317 * scripts/lilypond-book.py (process_snippets): Argument fix.
3320 * buildscripts/builder.py:
3323 * Documentation/user/SConscript: More SCons fixes.
3325 2006-06-03 Jan Nieuwenhuizen <janneke@gnu.org>
3327 * lily/font-config.cc (init_fontconfig): Only initialize if
3328 global cache_file is found.
3330 2006-06-06 Erik Sandberg <mandolaerik@gmail.com>
3332 * ly/music-functions-init.ly: Updated \overrideProperty to use the
3335 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3337 * VERSION (PACKAGE_NAME): release 2.9.8
3339 * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3340 function. Delay ledger modifying ledgered grobs to
3341 stop_translation_timestep(), to ensure that we're ledgering
3342 according to the new spanner.
3343 (acknowledge_staff_symbol): don't check for non-NULL
3344 staff_sym->get_bound()
3346 * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3349 * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3352 * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3353 directly from srcdir/stepmake/aclocal.m4
3355 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3358 * lily/simple-spacer.cc (get_column_desc): desc -> description.
3360 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3362 * lily/simple-spacer.cc (get_line_configuration): add
3363 keep-inside-line rods
3364 (struct Column_desc): add constructor
3365 (struct Rod_desc): add constructor
3366 (get_line_forces): check for forced page breaks here too
3368 * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3369 support/elements cycles between InstrumentNames and AxisGroups
3371 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3373 * config.make.in (METAFONT): remove MAKEINFO_VERSION
3375 * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3376 make-txt-files target.
3378 * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3379 make-txt-files target.
3381 * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3383 * stepmake/stepmake/generic-vars.make (distdir): create dist in
3386 2006-06-06 Jürgen Reuter <reuter@ipd.uka.de>
3388 * Documentation/user/instrument-notation.itely,
3389 input/regression/breathing-sign-ancient.ly,
3390 input/test/divisiones.ly: Removed redundant property settings for
3393 * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3394 fix lyrics alignment problems. They are implemented now as scheme
3395 functions that add the appropriate unicode char to the first lyric
3396 event rather than adding a separate lyric event. Minor edit of
3399 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3401 * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3402 pollute src dir with built .txt files, but install directly from
3403 Documentation/topdocs/out/
3405 * buildscripts/output-distance.py
3406 (ComparisonData.create_html_result_page): put version/directories
3409 * Documentation/topdocs/NEWS.tely (Top): document spacing section
3412 * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3413 Patch by Karl Hammar
3415 * buildscripts/readlink.py: add file.
3416 Patch by Karl Hammar
3418 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3420 * lily/tuplet-number.cc (print): prevent stencil from being
3423 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3425 * scm/stencil.scm (write-system-signature): explicitly
3426 -well, superfluously- close output port.
3428 * buildscripts/output-distance.py (main): oops. Add extra argument.
3430 2006-06-05 Graham Percival <gpermus@gmail.com>
3432 * Documentation/user/music-glossary.tely: clarified example
3433 from Francisco Vila, thanks!
3435 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3437 * input/regression/spacing-section.ly: new file.
3439 * lily/input.cc (programming_error): new function.
3441 * lily/spacing-engraver.cc (try_music): new function. Accept
3442 spacing-section-event
3444 * lily/spacing-spanner.cc (set_springs): take slices of all
3445 columns for spacing.
3447 * lily/include/paper-column.hh (class Paper_column): add
3448 Paper_column::compare.
3450 * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3452 * scm/define-music-types.scm (music-descriptions): add
3455 * lily/music-iterator.cc (report_event): use programming_error for
3456 sending non-event error.
3458 * lily/input.cc (programming_error): new function
3460 * buildscripts/output-distance.py (main): use compare-XXX for
3462 (main): --threshold option, default at 0.30
3464 * output-distance.py (main): add --threshold option.
3466 2006-06-04 Nicolas Sceaux <nicolas.sceaux@free.fr>
3468 * scm/paper-system.scm (paper-system-annotate): fix problem when
3469 annotating an empty system
3471 2006-06-04 Han-Wen Nienhuys <hanwen@lilypond.org>
3473 * GNUmakefile.in: reinstate old web tar/copying.
3475 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3477 * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3478 nothing changes. (Erik S)
3480 * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3483 2006-05-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
3485 * scm/define-markup-commands.scm (whiteout): do not force
3486 foreground color of argument markup to black.
3488 * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3489 the left of the arrow, instead of below the arrow name, so that,
3490 when two little arrows are vertically stacked, their dimensions
3491 and name should not overlap. Add a color key parameter.
3493 * scm/paper-system.scm (paper-system-annotate): Annotate
3494 next-space+next-padding instead of next-space. Annotate space
3495 between next-padding and next-space+padding, respectively, and
3496 following system extent and refpoint-Y-extent. Use colors.
3498 * scm/page.scm (annotate-page): translate annotations slightly to
3501 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3503 * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3504 fix for x-staff slurs. Thanks Joe!
3506 * buildscripts/output-distance.py
3507 (SystemLink.output_expression_change_count): keep track of changed
3508 details, and dump in details html page.
3510 * input/regression/figured-bass-staff.ly: add note about setting
3511 properties in Staff context.
3513 * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3514 add slurs and ties to support too.
3516 * buildscripts/output-distance.py (main): set dest_dir
3517 argument. Add --max-count option.
3519 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3521 * ly/gregorian-init.ly: Converted to utf-8. Added memorable
3522 shortcuts for special unicode chars that are useful in chant
3523 notation. Revised exisiting and added new comments.
3525 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3527 * make/mutopia-rules.make: remove duplicate recipe.
3529 2006-06-02 Werner Lemberg <wl@gnu.org>
3531 * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3532 Add support for U+0132 (IJ) and U+0133 (ij).
3534 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3536 * buildscripts/output-distance.py (FileLink): new class. collect
3537 info systems from one .ly file.
3538 (FileLink.link_files_for_html): further tweaks.
3540 2006-06-02 Graham Percival <gpermus@gmail.com>
3542 * tex/texinfo.tex: partial fix for @funindex.
3544 * Documentation/user/macros.tely: uncomment @funindex (doesn't
3547 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3549 * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3551 * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3552 @example too. Backportme.
3554 2006-06-02 Graham Percival <gpermus@gmail.com>
3556 * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3557 from Werner Lemberg.
3559 2006-06-02 Paco (Francisco Vila) <fravd@ya.com>
3561 * Documentation/user/music-glossary.tely: additional spanish
3562 updates and a lyrics fix in an example.
3564 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3566 * scm/define-grob-properties.scm: Previous patch contained
3567 spurious line from another patch not yet committed. Fixed.
3569 * scm/define-grob-properties.scm: Add missing doc strings for
3572 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3574 * buildscripts/output-distance.py
3575 (ComparisonData.write_text_result_page): separate the scores, sort
3578 * scm/framework-eps.scm (output-classic-framework): start at 1 for
3581 * buildscripts/output-distance.py (me_path): use argv[0] for
3583 (ComparisonData.img_cell): use colored borders.
3585 * scm/stencil.scm (write-system-signature): escape newlines too.
3586 (write-system-signature): use (1,-1) interval for empty interval
3588 2006-01-01 Graham Percival <gpermus@gmail.com>
3590 * Documentation/user/music-glossary.tely: Spanish updates
3591 from Francisco Vila.
3593 * Documentation/user/lilypond-book.itely: addition from
3596 * Documentation/user/ various: edits, small additions
3599 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3601 * GNUmakefile.in (tree-lib-prefix-current):
3602 (tree-share-prefix-current): Use version number in tree, add
3605 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3607 * GNUmakefile.in: write VERSION, again.
3609 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3610 $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3612 * stepmake/aclocal.m4: robuster version detection.
3614 * buildscripts/output-distance.py
3615 (ComparisonData.create_html_result_page): copy only if file
3616 exists, fixup src paths.
3618 * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3620 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3622 * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3623 Another datarootdir reto.
3625 * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3626 available. This should be moved to postinstall-lilypond-doc.
3628 2006-05-31 Han-Wen Nienhuys <hanwen@lilypond.org>
3630 * GNUmakefile.in: simplify local-WWW-post.
3631 remove -type l from find.
3633 * buildscripts/output-distance.py (ComparisonData.compare_trees):
3634 fixes. Don't follow symlinks.
3635 (ComparisonData.create_html_result_page): remove previous results.
3636 insert ../python in path.
3638 * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3640 2006-05-31 Jan Nieuwenhuizen <janneke@gnu.org>
3642 * config.make.in (datadir): Add datarootdir to silence autoconf.
3644 * stepmake/aclocal.m4: Update for autoconf-2.59d.
3646 2006-05-31 Erlend Aasland <erlenda@gmail.com>
3648 * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3650 * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3651 slash beams too wide.
3653 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3655 * VERSION: release 2.9.7
3657 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3659 * lily/relocate.cc (read_relocation_dir): Do not blindly
3662 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3664 * lily/parser.yy: replace THIS by PARSER
3666 * Documentation/index.html.in: add link to test-results.html page.
3668 * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3670 * scm/translation-functions.scm (format-bass-figure): translate
3671 digits over 10 to the left
3673 * scm/define-markup-commands.scm (translate-scaled): new markup.
3675 * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3678 * ly/engraver-init.ly: add Figured_bass_engraver
3680 * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3682 * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3684 * lily/score-engraver.cc (announce_grob): only note START announces.
3686 * lily/include/engraver-group.hh (Translator_group):
3687 acknowledge_hash_table_ is now drul.
3689 * lily/engraver.cc (announce_end_grob): new method.
3691 * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3693 * lily/translator-dispatch-list.cc (create): take start_end argument.
3695 * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3696 acknowledge_static_array_ to drul
3698 * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3700 * scm/define-grob-interfaces.scm
3701 (bass-figure-alignment-interface): add bass-figure-alignment-interface
3703 * scm/define-grobs.scm (all-grob-descriptions): add
3704 BassFigureAlignmentPositioning
3706 * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3707 number stays up to date. Backportme.
3709 2006-05-30 Mats Bengtsson <mabe@s3.kth.se>
3711 * Documentation/user/basic-notation.itely (Bar lines): Document
3714 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3716 * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3718 * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3719 .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc'
3722 * Resurrect `scons lily' build.
3724 * SConstruct (symlink_tree): Bugfix: link
3725 music-drawing-routines.ps to file iso directory.
3727 * lily/SConscript: Remove kpath-guile from LIBS.
3729 * SConstruct (libdir_package_version): Typo.
3730 (configure): Comment-out fontforge for lack of fontforge.pc .
3731 Also add libdir* to environment.
3733 2006-05-30 Graham Percival <gpermus@gmail.com>
3735 * Documentation/user/ various: minor additions from mailist and
3738 2006-05-30 Paco <fravd@ya.com>
3740 * Documentation/user/music-glossary.tely: numerous corrections and
3741 some new translations.
3743 2006-05-29 Han-Wen Nienhuys <hanwen@lilypond.org>
3747 * buildscripts/output-distance.py
3748 (ComparisonData.create_html_result_page): new routine: summarise
3749 results in HTML page with images.
3750 (ComparisonData.create_text_result_page): create summary text files too.
3752 * GNUmakefile.in (web-ext): package .signature files too. They
3755 * scm/stencil.scm (write-system-signature): typo.
3757 * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3759 * scm/stencil.scm (write-system-signature): better escaping.
3760 only write signature for music systems, not for markup systems.
3762 * scm/framework-ps.scm (output-framework): dump-signatures support
3765 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3767 * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3768 for -dno-point-and-click
3770 * lily/grob.cc (get_print_stencil): don't read
3771 point_and_click_global to determine whether to set grob-cause.
3773 2006-05-28 Han-Wen Nienhuys <hanwen@lilypond.org>
3775 * buildscripts/output-distance.py (main): new function.
3776 (ComparisonData): new class.
3778 * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3779 careful with generating new LedgerLineSpanners.
3781 * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3783 * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3784 context. This fixes double ledger lines in output.
3786 * lily/system.cc (get_paper_system): remove 3 layer limit.
3788 * buildscripts/output-distance.py (SystemLink.distance): new
3789 file. Compare signatures.
3791 * python/safeeval.py (SafeEval.visitUnarySub): new file.
3793 * lily/grob-array.cc (remove_duplicates): rename from
3794 uniq(). Sort before calling uniq() so it actually works.
3796 2006-05-27 Han-Wen Nienhuys <hanwen@lilypond.org>
3798 * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3799 \version from lilypond file snippet.
3800 (Lilypond_file_snippet.ly): oops. typo.
3801 (find_toplevel_snippets): urgh. again.
3803 * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3804 prevent duplicated broken items in output.
3806 * scm/framework-eps.scm (output-classic-framework): only dump if
3807 dump-signatures is set.
3809 * scm/lily.scm (define-scheme-options): add dump-signatures option.
3811 * scm/stencil.scm (write-system-signature): new routine: write
3812 python parseable signature of a separate paper system.
3815 2006-05-26 Han-Wen Nienhuys <hanwen@lilypond.org>
3817 * lily/stanza-number-engraver.cc (process_music): use is_markup()
3821 2006-05-25 Erik Sandberg <mandolaerik@gmail.com>
3823 * translator-group.cc: send music events to engravers in
3824 non-bottom contexts.
3826 * tuplet-engraver.cc: process tuplet brackets in correct order.
3828 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3830 * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3831 arg 2 might point us to a new binary (patch by Karl Hammar)
3833 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3835 * VERSION (PACKAGE_NAME): release 2.9.6
3837 * Documentation/topdocs/NEWS.tely (Top): trim explanation.
3839 * Documentation/user/*.itely: 2nd
3840 attempt: replace funindex -> findex globally.
3842 2006-05-24 Nicolas Sceaux <nicolas.sceaux@free.fr>
3844 * input/no-notation/display-lily-tests.ly: fix \applyOutput
3845 test. Add \break, \pageBreak, \pageTurn, etc, tests.
3847 * scm/define-music-display-methods.scm: display methods for
3848 breaks. Fix \applyOutput.
3850 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3852 * Documentation/user/macros.itexi: comment out funindex expansion.
3854 * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3857 * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3858 Karl Hammar. Backportme.
3860 * Documentation/user/advanced-notation.itely (Balloon help): idem.
3862 * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3864 * Documentation/user/programming-interface.itely (Running a
3865 function on all layout objects): idem.
3867 * Documentation/user/introduction.itely (Automated engraving):
3868 update \applyOutput syntax
3870 * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3871 remove debugging hook.
3873 * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3876 * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3878 * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3879 TEXI2DVI_FLAGS to texi2dvi invocation.
3881 2006-05-24 Erik Sandberg <mandolaerik@gmail.com>
3883 * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3884 works. More work is done by iterator now, and engraver has been
3885 very much simplified.
3887 * lily/translator-group.cc: try_music is now invoked through a
3890 * lily/*-iterator.cc: Massive cleanups. Junked
3891 try_music_in_children globally. Renamed try_music to report_event,
3892 and made that method descend to a bottom context automatically.
3894 * lily/event-iterator.cc: New file.
3896 * lily/output-property-iterator.cc,
3897 lily/old-lyric-combine-music-iterator.cc: Removed.
3899 * python/convert-rules.py: Modified the syntax for \applyOutput.
3901 2006-05-23 Graham Percival <gpermus@gmail.com>
3903 * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3906 * Documentation/user/ various: stuff that might have helped
3907 to fix the pdf creation, plus some minor doc additions.
3909 * Documentation/user/changing-defaults.itely: remove @b from
3910 @b{ @internasref{foo}}; this breaks texi2dvi -E.
3912 2006-05-23 Han-Wen Nienhuys <hanwen@lilypond.org>
3914 * lily/beaming-pattern.cc (beamify): deal with negative start
3915 moments for beaming patterns.
3917 2006-05-22 Han-Wen Nienhuys <hanwen@lilypond.org>
3919 * lily/beaming-info.cc (beamify): new function: read beatLength
3920 and beatGrouping from context.
3922 * input/regression/beam-beat-grouping.ly (Module): new file.
3924 * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3926 * lily/beam.cc (get_beam_segments): generate events for
3927 max_connect_ case too.
3928 (get_beam_segments): read Stem::max-beam-connect.
3930 * input/regression/beam-single-stem.ly: new file.
3932 * lily/stem.cc (set_beaming): use #f as signaling value for
3935 * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3937 * lily/beam.cc (set_beaming): read clip-edges property.
3938 (calc_direction): don't suicide for single stem.
3940 * lily/beaming-info.cc (best_splitpoint_index): take bool*
3941 argument, remove 1<<15 hack. Remove clip_edges()
3943 * lily/hairpin.cc (print): only do padding for nonmusical bounds
3945 2006-05-21 Graham Percival <gpermus@gmail.com>
3947 * Documentation/user/basic-notation.itely: reorg.
3949 * Documentation/user/ various: minor fixes.
3951 2006-05-20 Han-Wen Nienhuys <hanwen@lilypond.org>
3953 * lily/stencil-expression.cc (register_stencil_head): opps, append
3954 to cdr of static SCM object.
3956 2006-05-19 Graham Percival <gpermus@gmail.com>
3958 * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3959 update framework for command index. DOC WRITERS: use @funindex
3960 instead of @cindex @code{}.
3962 * Documentation/user/ various: replace @cindex @code{} => @funindex
3964 2006-05-19 Han-Wen Nienhuys <hanwen@lilypond.org>
3966 * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3967 case positions is set manually.
3969 2006-05-18 Erik Sandberg <mandolaerik@gmail.com>
3971 * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3974 2006-05-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3976 * Documentation/user/changing-defaults.itely (Contexts explained):
3977 use absolute dimension for @image.
3979 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3980 out image for illustration too.
3981 ($(outdir)/%.png): add more png <-> eps rules.
3983 2006-05-17 Graham Percival <gpermus@gmail.com>
3985 * Documentation/user/ various: remove trailing whitespace, cosmetic
3986 change to reduce changes produced by diff.
3988 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3990 * lily/main.cc (do_chroot_jail): correctness tweak.
3992 * python/lilylib.py (system): import subprocess in system () only.
3994 * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3996 * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3997 variable. Backportme.
3999 2006-05-17 Erik Sandberg <mandolaerik@gmail.com>
4001 * lily/parser.yy: Change all syntax rules of type Music to SCM type
4003 2006-05-17 Werner Lemberg <wl@gnu.org>
4005 * lily/lexer.ll (init_signature_has_table): Add
4006 `scm-scm-music-music'.
4008 * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
4009 (Generic_prefix_music_scm): Add rule for it.
4011 * lily/quote-iterator.cc (Quote_iterator::process): Handle
4012 `quoted-transposition' property.
4014 * ly/music-functions-init.ly (transposedCueDuring): New function.
4016 * scm/define-music-properties.scm (all-music-properties): Updated.
4018 * Documenation/topdocs/NEWS.itely: Document it.
4020 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
4022 * python/lilylib.py (system): move import subprocess to system()
4025 * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
4027 * VERSION (PATCH_LEVEL): release 2.9.5
4029 * Documentation/topdocs/INSTALL.texi (Top): update versions and
4032 * ly/engraver-init.ly: switch on hairpinToBarline by default.
4034 2006-05-16 Graham Percival <gpermus@gmail.com>
4036 * Documentation/user/basic-notation.itely: editing from Dave, thanks!
4038 * Documentation/user/ various: minor fixes.
4040 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
4042 * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
4044 2006-05-16 Mats Bengtsson <mabe@s3.kth.se>
4046 * Documentation/user/advanced-notation.itely (Instrument names):
4047 Modified obsolete instruction on how to move instrument names away
4048 from the staves. Hmm, at second thought the bug probably has been
4049 solved, so the full bug description should probably be removed.
4051 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
4053 * lily/dynamic-engraver.cc (typeset_all): hang ending on
4054 currentCommandColumn.
4056 * lily/hairpin.cc (print): also add padding for non-neighbor
4059 * scm/define-context-properties.scm
4060 (all-user-translation-properties): add hairpinToBarline
4062 * input/regression/hairpin-to-barline.ly: new file.
4064 * lily/context.cc (internal_send_stream_event): thinko fix.
4066 * lily/tie.cc (set_default_control_points): robustness fix.
4068 * python/musicxml.py (Part.interpret): don't complain about
4069 incomplete measures.
4071 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
4072 new music if last_event_chord() returned None.
4074 * python/musicxml.py (Part.interpret): skip back over chord notes.
4076 2006-05-16 Erik Sandberg <mandolaerik@gmail.com>
4078 * lily/percent-repeat-engraver.cc, lily/parser.yy,
4079 lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
4080 lily/slash-repeat-engraver.cc,
4081 lily/include/percent-repeat-iterator.hh: Rework percent repeats:
4082 iterator sends PercentEvents
4084 * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
4085 rework tuplets: send start/stop events to engraver
4087 * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
4088 dispatchers event-source and events-below to Context
4090 2006-05-15 Graham Percival <gpermus@gmail.com>
4092 * Documentation/user/README.txt: update info for doc writers.
4094 * Documentation/user/programming-interface.itely: integrate
4095 Nicolas' fixes for chapter rewrite.
4097 * Documentation/user/ various: minor fixes.
4099 2006-05-15 Han-Wen Nienhuys <hanwen@lilypond.org>
4101 * lily/clef-engraver.cc: cleanup.
4103 * Documentation/user/GNUmakefile: dist context-example.eps too.
4105 * lily/key-engraver.cc (create_key): use
4106 explicitKeySignatureVisibility for cancellation too.
4108 * lily/font-config.cc (init_fontconfig): don't close file if
4111 2006-05-15 Erlend Aasland <erlenda@gmail.com>
4113 * Documentation/topdocs/NEWS.tely: niente and rotation news
4115 2006-05-14 Erlend Aasland <erlenda@gmail.com>
4117 * lily/include/stencil.hh
4118 * lily/stencil.cc (rotate): new function. Makes it possible
4119 to rotate a stencil around a given offset.
4121 * lily/grob.cc (get_print_stencil): add rotation support
4123 * lily/stencil-interpret.cc (interpret_stencil_expression):
4124 add rotation support
4126 * lily/stencil-scheme.cc (ly:stencil-rotate): new function
4128 * scm/define-grob-properties.scm: add 'rotation property
4130 * scm/define-markup-commands.scm: add rotate markup command
4132 * scm/output-ps.scm: add rotation support in PostScript backend
4134 * scm/output-svg.scm: add rotation support in SVG backend
4136 2006-05-13 Graham Percival <gpermus@gmail.com>
4138 * Documentation/user/music-glossary.itely: French correction.
4140 * Documentation/user/programming-interface.itely: major
4141 new docs, some reorg, some info from Nicolas.
4143 * Documentation/user/ various: small fixes.
4145 2006-05-12 Mats Bengtsson <mabe@s3.kth.se>
4147 * Documentation/user/programming-interface.itely (Markup
4148 programmer interface): Remove duplicate text.
4150 2006-05-12 Graham Percival <gpermus@gmail.com>
4152 * Documentation/user/context-example.eps: new file.
4154 * Documentation/user/changing-defaults.itely: set up file to
4157 * Documentation/user/programming-interface.itely: changes
4160 2006-05-12 Han-Wen Nienhuys <hanwen@lilypond.org>
4162 * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
4164 2006-05-11 Graham Percival <gpermus@gmail.com>
4166 * Documentation/user/programming-interface.itely: first round of
4167 editing and merging emails from Nicolas.
4169 * Documentation/user/scheme-tutorial: minor edit.
4171 2006-05-11 Han-Wen Nienhuys <hanwen@lilypond.org>
4173 * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
4175 (Xml_node.message): use it.
4177 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice):
4178 oops. Add duration argument.
4180 2006-05-10 Joe Neeman <joeneeman@gmail.com>
4182 * lily/paper-column-engraver.cc (make_columns):
4183 * scm/define-grobs.scm: Revert my previous change and set the default
4184 in define-grobs.scm instead.
4186 2006-05-09 Graham Percival <gpermus@gmail.com>
4188 * Documentation/user/changing-defaults.itely: general editing,
4189 info about \set and \override.
4191 * Documentation/user/tweaking.itely, advanced-notation.itely:
4192 fixes from Dave Luttinen, thanks!
4194 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4196 * lily/paper-column-engraver.cc (make_columns): By default, a column
4197 needs to be breakable.
4199 2006-05-09 Han-Wen Nienhuys <hanwen@lilypond.org>
4201 * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4203 (musicxml_time_to_lily): idem
4204 (musicxml_key_to_lily): idem
4205 (instrument_drumtype_dict): dict for supported drumtypes.
4206 (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4207 moments and pending mm rests
4208 (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4209 (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4210 (musicxml_voice_to_lily_voice): add mode change.
4211 (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4212 speed and less memory usage (factor 5 to 10).
4213 (convert): write -defs.ly and driver file separately so people
4214 can script their own part extraction.
4216 * python/musicxml.py (minidom_demarshal_node): new function:
4217 separate minidom handling.
4218 (lxml_demarshal_node): new function: support lxml.etree too.
4219 (Xml_node.message): new function: verbose error message, with XML
4220 path to offending node.
4221 (Attributes.get_measure_length): sane interface to MusicXML attributes.
4222 (Part_list.generate_id_instrument_dict): new method: collect
4223 instrument names, to be able to set drum_type.
4224 (Part.interpret): handle underfull measures
4225 (Part.interpret): assign instrument names.
4227 * python/musicexp.py (Output_printer.close): new method
4228 (MusicWrapper.print_ly): new class: support other modes,
4230 (BarCheck.print_ly): new class. Support bar checks, with comments
4231 and fancy barchecks.
4232 (NoteEvent.__init__): also set drum_type for drum notes.
4233 (MultiMeasureRest.lisp_expression): dump mm rests.
4235 * lily/paper-column-engraver.cc (stop_translation_timestep): set
4236 line-break-permission if forbidBreak is not set.
4238 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4240 * scm/define-context-properties.scm:
4241 * scm/define-grob-properties.scm:
4242 * scm/define-grobs.scm:
4243 * scm/define-music-display-methods.scm:
4244 * scm/define-music-properties.scm:
4245 * scm/define-music-types.scm:
4246 * scm/music-functions.scm:
4247 * ly/declarations-init.ly:
4248 * lily/include/constrained-breaking.hh:
4250 * lily/spaceable-grob.cc:
4251 * lily/simple-spacer.cc:
4252 * lily/paper-score.cc:
4253 * lily/paper-column.cc:
4254 * lily/paper-column-engraver.cc:
4256 * lily/gourlay-breaking.cc:
4257 * lily/constrained-breaking.cc:
4258 * python/convertrules.py:
4259 Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4260 "page-break-penalty" and "line-break-permission".
4261 Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4262 Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4264 * lily/bar-engraver.cc:
4265 * lily/beam-engraver.cc:
4266 * lily/forbid-break-engraver.cc:
4267 * lily/ligature-engraver.cc:
4268 * lily/paper-column-engraver.cc:
4269 * lily/percent-repeat-engraver.cc:
4270 * lily/score-engraver.cc:
4271 * lily/score-engraver.hh:
4272 * lily/paper-column-engraver.hh:
4273 Inter-engraver communication regarding line breaks is done through context
4274 properties (Score.forbidBreak) instead of function calls.
4276 2006-05-08 Han-Wen Nienhuys <hanwen@lilypond.org>
4278 * VERSION (PACKAGE_NAME): release 2.9.4
4280 2006-05-08 Graham Percival <gpermus@gmail.com>
4282 * Documentation/user/working.itely: proofreading from Dave
4285 * Doucmentation/user/README.txt: updated with manual style info.
4287 * Documentation/user/ various: trim linewidth to 78 chars.
4289 2006-05-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4291 * scm/define-grob-properties.scm (all-internal-grob-properties):
4292 remove chord-tremolo property.
4294 * lily/beam.cc (get_beam_segments): don't use stem position as
4295 base for broken ends.
4297 2006-05-06 Graham Percival <gpermus@gmail.com>
4299 * Documentation/user/putting.itely: proofreading from Dave
4302 * Documentation/user/ various: more reorg and clarifications.
4304 2006-05-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4306 * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4308 * ly/music-functions-init.ly: new function featherDurations
4310 * lily/beam.cc: read grow-direction for feathered beaming.
4312 * Documentation/topdocs/NEWS.tely (Top): typo.
4314 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4316 * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4319 2006-05-05 Erik Sandberg <mandolaerik@gmail.com>
4320 * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4321 used by music streams.
4323 * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4324 lily/stream-event.cc, lily/stream-event-scheme.cc,
4325 lily/listener.cc, lily/scheme-listener.cc,
4326 lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4327 lily/include/stream-event.hh, lily/include/listener.hh,
4328 lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4329 Created data structures for music streams.
4331 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4333 * lily/beam.cc (get_beam_segments): new function. Reorganise the
4334 construction of a beam.
4337 * flower/include/std-vector.hh (default_compare): use only one comparison.
4339 * scm/define-markup-commands.scm (note-by-number): remove debug display.
4340 (note-by-number): further attachment fixes.
4342 * scm/lily-library.scm (ordered-cons): new function.
4343 (interval-index): new function
4345 * lily/note-head-scheme.cc (LY_DEFINE): new file.
4347 * lily/note-head.cc (get_stem_attachment): new function.
4349 * scm/define-markup-commands.scm (note-by-number): read 'style
4352 * input/regression/markup-note.ly: show note-head style option.
4354 * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4357 2006-05-04 Han-Wen Nienhuys <hanwen@lilypond.org>
4359 * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4361 * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4363 * lily/include/constrained-breaking.hh: GCC 4 fix.
4365 2006-05-04 Joe Neeman <joeneeman@gmail.com>
4367 * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4368 Replace it with functions get_line_forces and get_line_configuration.
4369 (class Simple_spacer): Make data private.
4370 Rewrite compression algorithm to be faster and simpler.
4372 * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4373 * lily/gourlay-breaking.cc (solve):
4374 * lily/constrained_breaking.cc (space_line):
4375 Change it to the new simple-spacer code.
4377 * lily/paper-score.cc (get_paper_systems):
4380 Delay breaking the systems until they are requested.
4381 (find_break_indices):
4382 Use vsize for indices.
4384 Move the "Calculating line breaks" message here.
4386 * lily/system.cc (pre_processing):
4387 Move the "Calculating line breaks" message away from here.
4388 (break_into_pieces):
4389 Allow multiple calls to this function in sequence (with touching-but-
4390 not-overlapping breakpoints).
4392 * lily/constrained-breaking.cc:
4393 Replace most of the get_XXXX functions with get_line_details.
4394 Only calculate the force for each line. Calculate configurations only
4395 for the lines we will actually use.
4396 Replace cols_ with lines_.
4398 2006-05-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
4400 * mf/GNUmakefile (depth): remove FC_FIND.
4402 * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4404 * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4406 * scm/framework-ps.scm (write-preamble): new function.
4407 (write-preamble): load mac fonts via fondu, even if gs-font-load
4410 2006-05-03 Werner Lemberg <wl@gnu.org>
4412 * mf/GNUmakefile (FC_FIND): Fix typo.
4414 2006-05-03 Erlend Aasland <erlenda@gmail.com>
4416 * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4418 2006-05-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4420 * stepmake/aclocal.m4: run python-config for crosscompiling
4423 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4424 -f png for HTML, TEXINFO formats.
4426 * input/tutorial/lbook-html-test.html: new file.
4428 * lily/include/tie-formatting-problem.hh (class
4429 Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4430 [column, direction]. This fixes laissez vibrer ties.
4432 * flower/include/tuple.hh (struct Tuple2): new file.
4434 * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4435 $(FCMATCH), only if $(NCSB_DIR) not set.
4437 * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4439 * config.make.in (DOCUMENTATION): set FCMATCH.
4441 * autogen.sh (srcdir): don't set --with-ncsb-dir.
4443 2006-05-03 Graham Percival <gpermus@gmail.com>
4445 * Documentation/user/ various: final round of reorg.
4447 * Documentation/user/instrument-notation.itely: some more
4448 fixes from Eduardo, thanks!
4450 2006-05-02 Han-Wen Nienhuys <hanwen@lilypond.org>
4452 * VERSION (PACKAGE_NAME): release 2.9.3
4454 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4456 * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4458 2006-05-01 Mats Bengtsson <mabe@s3.kth.se>
4460 * scm/define-grob-properties.scm (all-user-grob-properties):
4461 Correct typo, thanks to Eduardo.
4463 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4465 * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4467 * buildscripts/lilypond-words.py (F): indent fix.
4469 * input/regression/tie-arpeggio-collision.ly: new file.
4471 * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4472 function: store outlines per column rank.
4474 * lily/include/tie-configuration.hh (class Tie_configuration): add
4475 column_ranks_ to specification and configuration, to distinguish
4476 between ties for different heads in arpegiated chords.
4478 * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4480 * *.py: more 4 space indents.
4482 * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4484 2006-05-01 Joe Neeman <joeneeman@gmail.com>
4486 * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4488 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4490 * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4492 * scripts/abc2ly.py (dump_score): indent of 4 for python code.
4494 * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4496 2006-04-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
4498 * python/convertrules.py (conv): indent 4 for python files.
4500 2006-04-29 Mats Bengtsson <mabe@s3.kth.se>
4502 * Documentation/user/changing-defaults.itely (Creating contexts):
4503 Clarify \new semantics.
4505 2006-04-28 Graham Percival <gpermus@gmail.com>
4507 * Documentation/user/ various: major new sections in the
4508 Learning manual, slight reorg elsewhere.
4510 2006-04-27 Han-Wen Nienhuys <hanwen@lilypond.org>
4512 * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE)
4514 * scm/framework-ps.scm (output-framework): remove PageMedia
4516 2006-04-27 Graham Percival <gpermus@gmail.com>
4518 * Documentation/user/ tweaks.itely, working.itely: new
4519 files, being more advanced "learning manual" chapters.
4521 * Documentation/user/ tutorial, putting, lilypond: reorg.
4523 2006-04-26 Graham Percival <gpermus@gmail.com>
4525 * input/regression/lyric-combine-polyphonic.ly: fixed test
4526 (no more "can't find context `one'" error).
4528 2006-04-25 Joe Neeman <joeneeman@gmail.com>
4530 * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4532 * input/regression/stem-tremolo.ly: add 2 more whole note examples
4534 2006-04-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
4536 * lily/relocate.cc (read_relocation_dir): new function.
4538 2006-04-26 Graham Percival <gpermus@gmail.com>
4540 * Documentation/user/instrument-notation.itely: a few more fixes
4541 from Eduardo, thanks!
4543 * Documentation/user/README.txt: new file; contains info on
4544 style that used to be in lilypond.tely.
4546 * Documentation/user/ various: first round of doc reorg.
4548 * Documentation/user/baer-flat-bw.png: remove alpha bit from
4549 graphic; this probably causes problems on some pdf
4550 viewers, notably Adobe Acrobat.
4552 2006-04-24 Graham Percival <gpermus@gmail.com>
4554 * Documentation/user/instrument-notation.itely: many alterations
4555 to Vocal music, from Eduardo Viera.
4557 2006-04-23 Graham Percival <gpermus@gmail.com>
4559 * Documentation/user/instrument-notation.itely: fix \new
4560 instead of \context problem.
4562 2006-04-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
4564 * lily/relocate.cc (expand_environment_variables): new function.
4566 (read_relocation_file): id.
4568 * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code
4570 2006-04-21 Erlend Aasland <erlenda@gmail.com>
4572 * ly/engraver-init.ly: remove old comments from TabVoice
4574 2006-04-20 Graham Percival <gpermus@gmail.com>
4576 * Documentation/user/instrument-notation.itely: added Erlend's
4577 latest doc patch, thanks!
4579 2006-04-19 Erlend Aasland <erlenda@gmail.com>
4581 * lily/include/slur.hh:
4583 * lily/phrasing-slur-engraver.cc:
4584 * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4585 acknowledge_extra_object () from Phrasing_slur_engraver:: and
4586 Slur_engraver:: and putting it in
4587 Slur::auxiliary_acknowledge_extra_object ().
4589 * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4591 * lily/note-collision.cc: fix a comment
4593 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4595 * stepmake/bin/add-html-footer.py: fix footer position in
4596 generated html files: before </body> and </html> tags.
4598 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4600 * scripts/GNUmakefile: revert last "fix", which rather broke make.
4601 Earlier successive `make' commands finally compiled ok.
4603 * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4605 2006-04-18 Erlend Aasland <erlenda@gmail.com>
4607 * lily/include/stem-tremolo.hh:
4608 * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4612 * lily/include/lookup.hh: add rotated_box ()
4614 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4616 * scripts/GNUmakefile: bugfix: run help2man only after scripts have
4617 been generated. Fixes "can't get `--help'" bug after make clean.
4619 * THANKS: alphabetize contributors.
4621 2006-04-17 Graham Percival <gpermus@gmail.com>
4623 * Documentation/user/instrument-notation.itely: added Erlend's
4624 tabs and banjo doc patch. Thanks!
4626 2006-04-17 Erlend Aasland <erlenda@gmail.com>
4628 * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4630 * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4632 * scm/output-lib.scm: add some more predefined string tunings.
4634 * Documentation/user/instrument-notation.itely: and doc them.
4636 2006-04-16 Jürgen Reuter <reuter@ipd.uka.de>
4638 * ly/engraver.ly: Remove obsolete comments.
4640 * ly/gregorian-init.ly: Define default layout block.
4642 * input/puer-fragment.ly: Updated and extended.
4644 2006-04-15 Jan Nieuwenhuizen <janneke@gnu.org>
4646 * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4647 pdf conversion behaviour.
4649 * flower/file-name.cc (dir_name)
4650 (get_working_directory): Move from relocate.cc.
4652 * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4654 * lily/relocate.cc: Encapsulate sys/stat.h in
4657 2006-04-14 Graham Percival <gpermus@gmail.com>
4659 * Documentation/user/ various: small updates from Cameron
4660 and Juergen, thanks!
4662 * Documentation/user/ various: small updates of my own.
4664 * THANKS: 2.7 -> 2.8.
4666 2006-04-11 Graham Percival <gpermus@gmail.com>
4668 * scm/define-context-properties.scm: typo.
4670 * Documentation/user/ : many more small updates.
4672 2006-04-13 Jürgen Reuter <reuter@ipd.uka.de>
4674 * scm/define-music-types.scm: disposed "docme".
4676 2006-04-11 Erlend Aasland <erlenda@gmail.com>
4678 * lily/hairpin.cc: make niente circles a bit smaller.
4680 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4682 * mf/GNUmakefile: remove redundant mftrace check. Also remove
4683 get-pfa and get-*-fonts targets.
4685 2006-04-10 Graham Percival <gpermus@gmail.com>
4687 * THANKS, Documentation/user/ basic-notation, advanced-notation,
4688 music-glossary, programming-interface: more minor fixes
4691 * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4693 * scm/define-context-properties.scm: another old \property update.
4694 This time tested for compiling!
4696 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4698 * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4700 2006-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
4702 * scm/define-context-properties.scm (all-user-translation-properties):
4703 * Documentation/user/global.itely (Page formatting): Compile fix.
4705 2006-04-09 Mats Bengtsson <mabe@s3.kth.se>
4707 * Documentation/user/advanced-notation.itely (Polymetric
4708 notation): Update the example to use the "+" symbol and add link
4709 to input/test/compound-time.ly.
4711 2006-04-08 Graham Percival <gpermus@gmail.com>
4713 * scm/define-grob-properties.scm: clarify docs for #'direction.
4715 * scm/define-context-properties.scm: update old \property override.
4717 * Documentation/user/ advanced-notation, global, lilypond-book:
4718 more minor doc updates.
4720 2006-04-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4722 * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4724 * scm/backend-library.scm (search-gs): oops.
4726 2006-04-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4728 * scripts/lilypond-book.py (output): use base, not filename for href.
4730 * scm/backend-library.scm: only look for gs.
4732 * scripts/lilypond-book.py (output): fix printfilename.
4734 * lily/parser.yy (music_function_musicless_prefix): fold together
4735 definitions of signature (SCM*) (Music|post_event|chord_body_element)
4737 * lily/slur.cc (print): only set font-size if not set yet.
4739 * lily/slur-configuration.cc (add_score): improved layout of debug
4742 2006-04-05 David Feuer <David.Feuer@gmail.com>
4744 * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4745 (draw_circle): Hopefully fixed regression.
4746 Improved documentation for several procedures.
4748 2006-03-04 Werner Lemberg <wl@gnu.org>
4750 * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4752 2006-04-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4754 * scripts/musicxml2ly.py (bindir): add dynamic
4757 2006-04-04 Graham Percival <gpermus@gmail.com>
4759 * Documentation/user/ basic-notation, advanced-notation, putting,
4760 instrument-notation, invoking, lilypond, THANKS: another ream of small
4761 fixes from the Doc Helpers.
4763 2006-04-03 David Feuer <David.Feuer@gmail.com>
4765 * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4767 * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4769 * Cleaned up interfaces between PostScript and Scheme, and moved
4770 computations from PostScript to Scheme:
4772 * music-drawing-routines.ps
4773 (*SF, stroke_and_fill): new procedures. Replaced stroke and fill
4774 with stroke_and_fill throughout.
4775 (euclidean_length, print_letter, draw_box): Deleted unused
4776 procedures. If someone needs draw_box, implement it using
4777 draw_round_box; don't duplicate code.
4778 (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4779 Refactored/cleaned up interfaces.
4782 * output-ps.scm: reordered arguments to PostScript functions to
4783 match new interfaces
4784 (glyph-string): Rewrote glyph-string.
4785 (grob-cause): Replaced string-append with format.
4786 (repeat-slash): Rewrote to do computation here.
4787 (round-filled-box): Rewrote to do computation here.
4789 2006-04-04 Erlend Aasland <erlenda@gmail.com>
4791 * stepmake/stepmake/generic-targets.make: add cvs-clean target
4793 * stepmake/stepmake/toplevel- targets.make: print help info about
4796 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4798 * input/regression/hairpin-circled.ly: new file
4800 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4802 * lily/hairpin.cc (print): add support for circled tip
4804 * scm/define-grob-properties.scm: add circled-tip parameter
4806 * scm/define-grobs.scm: init circled-tip to false
4808 2006-04-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4810 * scm/music-functions.scm (quote-substitute): set
4813 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4815 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4818 * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4820 * scm/output-ps.scm (glyph-string): revert cid selectfont.
4822 2006-03-31 David Feuer <david.feuer@gmail.com>
4824 * scm/framework-ps.scm:
4826 * scm/output-ps.scm: glyph-string now produces smaller, more
4827 readable, and probably faster PostScript. Several findfont
4828 scalefont setfont instances changed to selectfont
4829 Hacked-up string-appends changed to formats.
4831 * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4833 2006-03-30 Graham Percival <gpermus@gmail.com>
4835 * scm/lily-library.scm: make "no version" warning message more polite.
4837 * lily/music.cc: add double quotes to failed octave check.
4839 * Documentation/user/ advanced-notation, changing-defaults,
4840 instrument-notation, invoking, music-glossary: whole bunch of minor
4843 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4845 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4846 $(buildscriptdir) iso. depth.
4848 * VERSION (PACKAGE_NAME): release 2.9.1
4850 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4852 * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4854 * VERSION (PATCH_LEVEL): bump version number.
4856 * flower/include/guile-compatibility.hh (scm_from_uint32): add
4859 * lily/pango-font.cc (pango_item_string_stencil): use
4862 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4863 $(outdir)/emmentaler-%.svg): remove canary.
4865 * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4866 glyphnames if we have a ttf font.
4868 2006-03-30 Mats Bengtsson <mabe@s3.kth.se>
4870 * Documentation/user/advanced-notation.itely (Font selection):
4871 Corrected reference to the font-family-override.ly example.
4873 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4875 * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4876 stem-tremolo object in the stem (or else the stem might not be
4879 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4881 * lily/ttf.cc (print_trailer): only print existing glyphs.
4883 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4885 * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4886 position the tremolo based on the position of the notehead.
4888 * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4889 notes and update the texidoc line with the new positioning rules.
4891 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4893 * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4895 * scripts/lilypond-book.py (Module): set default for linewidth if
4898 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4900 * VERSION (PACKAGE_NAME): release 2.9.0.
4902 * input/regression/stem-tremolo-position.ly: new file.
4904 * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4906 2006-03-28 Joe Neeman <joeneeman@gmail.com>
4908 * lily/stem-tremolo.cc (print): position
4909 the tremolo depending only on the end of the stem
4910 and not on the notehead
4911 (raw_stencil): center, on the middle staff line, the
4912 flag that is closest to the end of the stem (previously
4914 (calc_width): add this callback to shorten a tremolo when
4915 it is beamed or it is stemup with a flag
4916 (style): add this callback to make a tremolo rectangular when
4917 it is beamed or it is stemup with a flag
4918 (rotated_box): this is like Lookup::beam but makes a rotated
4919 rectangle instead of a parallelogram
4921 * lily/stem.cc (calc_stem_info): make sure the stem
4922 is long enough to fit the tremolo
4923 (calc-length): reduce the length of tremolo stems since the
4924 tremolo code is now capable of better positioning
4926 * scm/define-grobs.scm: make calc_width the default beam-width
4927 callback for stem-tremolo and add the style callback
4929 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4931 * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4934 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4936 * lily/ttf.cc (make_index_to_charcode_map): restore old
4939 2006-03-28 Werner Lemberg <wl@gnu.org>
4941 * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4943 2006-03-28 Graham Percival <gpermus@gmail.com>
4945 * THANKS: update for 2.9, add section for Documentation helpers.
4947 * Documentation/topdocs/NEWS.tely: compile fix.
4949 * Documentation/user/ basic-notation, global, advanced-notation,
4950 examples.itely: minor fixes from mailist.
4952 2006-03-28 Han-Wen Nienhuys <hanwen@lilypond.org>
4954 * mf/feta-bolletjes.mf: match width of solfa notes with normal
4957 * lily/ttf.cc (print_trailer): use it.
4959 * lily/pango-font.cc (get_unicode_name): new function.
4961 * lily/ttf.cc (make_index_to_charcode_map): move function from
4963 (print_trailer): substitute uniXXXX name if applicable.
4965 * lily/pango-font.cc (get_index_to_charcode_map): new function.
4966 (pango_item_string_stencil): use it to generate uniXXXX names.
4968 * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4969 note heads, for uniform widths in shape note output.
4970 (overdone_heads): hmm. remove them again.
4972 * scripts/lilypond-book.py (output): add links to filenames.
4974 * Documentation/topdocs/INSTALL.texi (Top): update versions.
4976 * lily/note-collision.cc (get_clash_groups): only consider when
4977 Note_column::dir <> CENTER.
4979 * scripts/lilypond-book.py (get_option_parser): init output_name
4982 2006-03-24 Graham Percival <gpermus@gmail.com>
4984 * Documentation/topdocs/NEWS.tely: add @end itemize
4986 * Documentation/user/ global, advanced-notation: minor
4989 2006-03-23 Graham Percival <gpermus@gmail.com>
4991 * Documentation/user/ lilypond.tely, music-glossary,
4992 preface: housekeeping; 2005->2006, remove "notes for 2.6"
4994 2006-03-23 Han-Wen Nienhuys <hanwen@lilypond.org>
4996 * mf/GNUmakefile: don't install .enc files.
4998 * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
5000 * VERSION (PATCH_LEVEL): bump to 2.9.0
5002 2006-03-22 Graham Percival <gpermus@gmail.com>
5004 * Documentation/user/advanced-notation.itely: minor fixes
5007 2006-03-22 Han-Wen Nienhuys <hanwen@lilypond.org>
5009 * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
5011 * branch lilypond_2_8
5013 2006-03-22 Han-Wen Nienhuys <lilydev@localhost.localdomain>
5015 * scripts/lilypond-book.py (samefile): new function, for windoze
5018 2006-03-21 Graham Percival <gpermus@gmail.com>
5020 * ly/engraver-init.ly: add info about StaffGroup.
5022 2006-03-21 Han-Wen Nienhuys <lilydev@localhost.localdomain>
5024 * input/regression/stem-direction-context.ly: idem.
5026 * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
5030 * input/regression/page-layout-twopass.ly: comment out \markup so
5033 * lily/instrument-name-engraver.cc (finalize): add to instrument
5034 name global System. This also fixes chopped instrument names, but
5035 doesn't crash when there are slurs/beams.
5037 * lily/slur-configuration.cc (add_score): disallow negative slur
5040 2006-03-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
5042 * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
5044 * lily/instrument-name-engraver.cc (process_music): kludge: add
5045 InstrumentName spanner to axis group of left bound. Fixes chopped
5046 off instrument names in EPS images.
5048 * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
5050 * scripts/abc2ly.py (option_parser): update to 2.7.40
5052 2006-03-20 Graham Percival <gpermus@gmail.com>
5054 * THANKS: move small doc contributors to SUGGESTIONS.
5056 * Documentation/user/ basic-notation, advanced-notation,
5057 global: small changes from mailist.
5059 2006-03-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5061 * Documentation/user/advanced-notation.itely (Text marks): update
5062 for new rehearsalMarkAlignSymbol convention.
5064 * VERSION (PATCH_LEVEL): bump version.
5066 * input/test/instrument-name-align.ly: new file.
5068 * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
5070 * input/test/instrument-name-align.ly: new file. Document how to
5071 align instrument names.
5073 * lily/mark-engraver.cc: remove properties.
5075 * scm/define-context-properties.scm
5076 (all-user-translation-properties): remove align symbol properties
5077 for barnumber/reh. mark.
5079 * lily/break-align-interface.cc (self_align_callback): new
5080 interface, new function. Look at complete alignment. This handles
5081 tunable break alignments in case break-align-symbols are missing.
5083 * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
5085 * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
5087 * python/convertrules.py (conv): mark/bar number alignment rule.
5089 * lily/break-align-interface.cc (calc_positioning_done): also
5090 store offset from last visible break-alignment to its
5091 neighbor. This makes alignment on non-visible objects more reliable.
5093 * po/lilypond.pot (Module): ran po-replace.
5095 * input/regression/tie-single-manual.ly (Module): new file.
5097 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
5098 look at has_manual_position_.
5099 (from_ties): set has_manual_position_ if tie has staff-position set.
5101 * lily/tuplet-bracket.cc (calc_positions): idem.
5103 * lily/tuplet-number.cc (print): don't print tupletnumber if it
5106 2006-03-19 Nicolas Sceaux <nicolas.sceaux@free.fr>
5108 * scm/define-markup-commands.scm (smallCaps): new markup command
5109 for turning a text to small caps using smaller font size and upper
5112 2006-03-17 Graham Percival <gpermus@gmail.com>
5114 * Documentation/user/ examples, instrument-notation,
5115 advnaced-notation: minor fixes from mailist.
5117 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5119 * Documentation/user/tutorial.itely (First steps): change example
5122 2006-03-17 Graham Percival <gpermus@gmail.com>
5124 * Documentation/user/ examples, advanced: minor changes from mailist.
5126 * THANKS: add Geoff Horton, for documentation stuff.
5128 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5130 * python/lilylib.py (system): revert have_select kludge.
5132 * Documentation/user/tutorial.itely (Commenting input files):
5133 update version numbers in doc.
5135 * scm/define-grob-interfaces.scm (multi-measure-interface): add
5136 bound-padding to multi-measure-interface
5138 2006-03-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5140 * input/test/engraver-example.ily: update version number.
5142 * VERSION (PACKAGE_NAME): release 2.7.39
5144 * lily/note-spacing.cc (get_spacing): heighten threshold where
5145 accidentals/arpeggios influence previous spacing fully.
5147 * lily/rest.cc (y_offset_callback): only use direction if
5148 staff-position wasn't set before.
5150 * lily/bar-number-engraver.cc: add support for
5151 barNumberAlignSymbol.
5152 add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
5154 * lily/pointer-group-interface.cc (set_ordered): new function.
5155 (add_unordered_grob): new function.
5157 * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
5158 to ordered, unless the opposite has been proved. This fixes
5159 random reordering of large object groups across linebreaks,
5162 * lily/main.cc (do_chroot_jail): printf format fix.
5164 * lily/tie-formatting-problem.cc (generate_configuration):
5165 multiply y-shift for dot with direction.
5167 * scm/define-markup-commands.scm (note-by-number): put (magstep
5168 size) in y-attach too.
5170 * Documentation/topdocs/NEWS.tely (Top): show override.
5172 * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
5173 direction for stems.
5175 2006-03-15 Graham Percival <gpermus@gmail.com>
5177 * Documentation/user/ changing-defaults, global: minor
5180 2006-03-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5182 * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5184 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5185 breakable items after uniformly stretched notes.
5187 * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5188 outline with outer edge of note heads. This prevents infinity
5189 problems with tied whole notes.
5191 * scripts/lilypond-book.py (do_file): use os.popen
5193 * python/convertrules.py (conv): add rule for Stem #'beamed-*
5195 2006-03-14 Erik Sandberg <mandolaerik@gmail.com>
5197 * Documentation/user/invoking.itely: Add ragged-right to bug report
5200 2006-03-14 Graham Percival <gpermus@gmail.com>
5202 * Documentation/user/global.itely: small fix from mailist.
5204 2006-03-14 Mats Bengtsson <mabe@s3.kth.se>
5206 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5207 file descriptor returned by tempfile.mkstemp() when writing
5208 to tmpfile and closing it. Solves problem with unlink(tmpfile)
5211 2006-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
5213 * po/fi.po: newline bugfix.
5215 2006-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
5217 * scm/paper.scm (paper-alist): Rounding fixes.
5219 2006-03-13 Graham Percival <gpermus@gmail.com>
5221 * Documentation/user/ changing-defaults, instrument-notation,
5222 tutorial: small fixes from mailist, mostly from Mats. Thanks!
5224 2006-03-13 Heikki Junes <hjunes@cc.hut.fi>
5228 2006-03-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5230 * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5233 * python/lilylib.py (print_environment): move ps_page_count to
5236 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5238 * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5240 * scm/framework-ps.scm (embed-document): new function. Use to
5243 * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5245 2006-03-12 Mats Bengtsson <mabe@s3.kth.se>
5247 * Documentation/user/instrument-notation.itely (Setting simple
5248 songs): Added \book{...} around the full example, so the separate
5249 markups are included in the printed example.
5251 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5253 * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5256 * python/lilylib.py (system): rewrite system() using
5257 subprocess. Remove >& redirection trickery.
5259 2006-03-11 Graham Percival <gpermus@gmail.com>
5261 * Documentation/user/ changing-defaults, global, scheme-tutorial,
5262 notation-appendices.itely: minor fixes from mailist.
5264 2006-03-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5266 * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5267 unsplit man also needs images.
5269 * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5271 * VERSION (PACKAGE_NAME): 2.7.38 released.
5273 2006-03-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5275 * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5278 2006-03-08 Johannes Schindelin <Johannes.Schindelin@gmx.de>
5280 * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5281 respects the Score.skipTypesetting property.
5283 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5285 * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5286 Prolog. No %%EOF after CFF file.
5288 2006-03-08 Joe Neeman <joeneeman@gmail.com>
5290 * lily/constrained-breaking.cc (get_max_systems): used to return a
5292 (combine_demerits): use pointers to reduce copying data
5293 (calc_subproblem): idem
5294 (get_page_penalty): add page turn penalties
5296 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5298 * Documentation/user/invoking.itely (Invoking lilypond): better
5299 explanation of -e usage.
5301 * lily/main.cc (main_with_guile): don't append to
5302 init_scheme_code_string
5304 * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5306 * Documentation/user/invoking.itely: add note about MacOS X scripts.
5308 * scripts/convert-ly.py (do_options): don't print help for
5311 * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5312 @code and @example. Update from texinfo.tex from CVS.
5314 2006-03-08 Graham Percival <gpermus@gmail.com>
5316 * Documentation/user/scheme-tutorial.itely: clarifies distances
5317 measured in staff-spaces.
5319 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5321 * lily/slur.cc (outside_slur_callback): only calculate offsets if
5322 consider[k] is true.
5324 * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5326 * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5327 consider columns that have originals. Unifies spacing for mm
5328 rests around line breaks.
5330 * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5331 (set_text_rods): idem.
5332 (calculate_spacing_rods): new function: share code between
5333 set_text_rods and set_spacing_rods.
5334 (set_text_rods): take extents of bounds into account.
5336 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5338 * Documentation/user/basic-notation.itely (Writing music in
5339 parallel): don't use relative.
5341 2006-03-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
5343 * ly/music-functions-init.ly (Module): add shiftDurations
5345 * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5347 * scm/paper.scm (paper-alist): no decimals for Ax paper sizes.
5349 * ly/engraver-init.ly: init vocalName to nil.
5351 2006-03-05 Erik Sandberg <mandolaerik@gmail.com>
5353 * scm/music-functions.scm (music->make-music): bugfix,
5354 KeyChangeEvents are now handled correctly.
5356 * scripts/lilypond-book.py: Add --debug option.
5358 2006-03-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
5360 * python/lilylib.py: add tempfile.
5362 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5364 * VERSION (PACKAGE_NAME): release 2.7.37
5366 * python/lilylib.py (ps_page_count): remove make_ps_images().
5367 (ps_page_count): remove mkdir_p
5368 (system): remove cleanup_temp.
5369 (exit): remove lilypond_version_(check)
5370 (error_log): remove pseudo_filter_p
5375 * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5378 * lily/accidental-engraver.cc (make_standard_accidental): only add
5379 support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5381 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5382 $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5383 Make incompatibilities.
5385 * scm/output-ps.scm (grob-cause): replace backslashes by /
5386 (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5388 2006-03-02 Jan Nieuwenhuizen <janneke@gnu.org>
5390 * cygwin/GNUmakefile: Install fixes.
5392 * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5394 * lily/note-head.cc (head::get_balltype): Compile fix.
5396 * flower/file-name.cc (dos_to_posix): Flower string fix.
5398 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5400 * python/lilylib.py: pychecker cleanups.
5402 * scripts/lilypond-book.py
5403 (Lilypond_snippet.output_print_filename): pychecker cleanups
5405 * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5407 * python/lilylib.py (underscore): remove identify() , warranty()
5409 * ps/music-drawing-routines.ps: change Border routine for GSView
5412 * lily/stem.cc (height): use quantize-positions. This triggers
5413 set_stem_lengths, so scripts on beamed stems are handled correctly.
5415 * lily/side-position-interface.cc (aligned_side): check if edges
5416 of script are inside staff. Fixes accent of edge of the staff.
5418 * input/regression/staccato-pos.ly: more examples.
5420 * stepmake/aclocal.m4 (depth): fix bashism.
5422 * lily/lyric-combine-music-iterator.cc: move from
5423 new-lyric-combine-iterator.cc
5424 (process): add pending_grace_lyric_ member to delay lyrics on
5427 * lily/system-start-text.cc (print): suicide if we don't have any
5428 elements. Fixes hara kiri'd instrument names.
5430 * scripts/mup2ly.py (Module): remove.
5432 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5434 * Documentation/user/global.itely (A single music expression):
5435 close @lilypond properly
5437 * lily/volta-bracket.cc (modify_edge_height): change from
5438 after_line_breaking_callback. Suicide last bracket if appropriate.
5440 * python/lilylib.py: strip getopt support
5442 * scripts/etf2ly.py (do_options): use optparse
5444 * scripts/midi2ly.py: optparse, strip lilylib copy.
5446 * scripts/abc2ly.py (voices): use optparse.
5448 * stepmake/stepmake/generic-vars.make: new function absdir.
5450 * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5452 * scripts/lilypond-book.py (find_file): use global_options for
5455 * scm/ps-to-png.scm (ps-page-count): prevent null characters
5458 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5460 * python/lilylib.py (get_global_option): ughness for extracting
5461 global options from lilylib.
5462 (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5464 * scripts/lilypond-book.py (get_option_parser): use optparse for
5465 option handling. Put options in global_options variable.
5467 2006-02-28 Heikki Junes <hjunes@cc.hut.fi>
5469 * Documentation/index.html.in: clarify.
5471 2006-02-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
5473 * scm/layout-page-layout.scm (write-page-breaks): add a
5474 music-system-heights property to the page layout output.
5476 * scm/page.scm (make-page-stencil): take footer into account when
5477 computing the 'space-left page property
5478 (annotate-space-left): take footer into account when annonating
5481 2006-02-28 Graham Percival <gpermus@gmail.com>
5483 * Documentation/user/ advanced-notation, global: more (final)
5484 docs for music expressions, removed special fermatas.
5486 2006-02-27 Graham Percival <gpermus@gmail.com>
5488 * Documentation/user/ basic-notation, global: minor changes
5491 2006-02-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
5493 * scm/framework-ps.scm:
5494 * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5495 layer for inf? and nan? from framework-ps to lily-library.
5497 2006-02-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
5499 * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5500 $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5502 * buildscripts/substitute-encoding.py (Module): remove file.
5504 * mf/GNUmakefile: more PFA strippage.
5506 * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5508 * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5511 * scm/framework-ps.scm: remove font name munging.
5513 * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5515 2006-02-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
5517 * scm/markup.scm (define-markup-command): change
5518 def-markup-command to define-markup-command
5520 * scm/music-functions.scm (define-music-function): change
5521 def-music-function to define-music-function.
5523 * python/convertrules.py (conv): rules for def-music-function
5524 and def-markup-commands
5526 * Documentation/user/programming-interface.itely,
5527 input/no-notation/display-lily-tests.ly,
5528 input/regression/lily-in-scheme.ly,
5529 input/regression/markup-user.ly,
5530 input/regression/music-function.ly, input/regression/tie-chord.ly,
5531 scm/fret-diagrams.scm, ly/music-functions-init.ly,
5532 ly/gregorian-init.ly: use new macro names (define-music-function,
5533 define-markup-command).
5535 2006-02-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
5537 * scripts/lilypond-book.py (main): write Makefile dependencies file.
5538 (output): add comments to lp-book latex output.
5540 * GNUmakefile.in (footifymail): use gmane address for webpage bug
5543 2006-02-23 Graham Percival <gpermus@gmail.com>
5545 * Documentation/user/ tutorial, global: minor changes.
5547 2006-02-23 Nicolas Sceaux <nicolas.sceaux@free.fr>
5549 * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5550 blocks (for make 3.80)
5552 * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5553 \notemode so that user should not have to explicitely type it.
5555 * scm/define-music-display-methods.scm: various
5556 fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5559 * input/no-notation/display-lily-tests.ly: new tests for
5560 \applyOutput and \applyContext
5562 2006-02-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
5564 * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5565 changed it slightly so that the number of systems returned by
5566 solve () will be the same as the last value passed to resize
5567 (). I've also added more documentation, removed casts, fixed style
5568 problems and put in some recovery if constraints aren't satisfied."
5570 2006-02-23 Jan Nieuwenhuizen <janneke@gnu.org>
5572 * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5573 for emacs < 22 compatibility.
5574 (count-rexp): Use it.
5575 (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5576 substring juggling (Milan Zamazal).
5578 2006-02-23 Graham Percival <gpermus@gmail.com>
5580 * Documentation/user/ basic-notation, advanced-notation,
5581 global.itely, invoking.itely, tutorial,itely:
5582 minor fixes from mailist.
5584 * scm/define-markup-commands.scm: improve docs of \filled-box.
5586 2006-02-23 Heikki Junes <hjunes@cc.hut.fi>
5588 * Documentation/index.html.in: changes concern the previous release.
5590 * input/regression/+.ly: cultivate typographical terminology.
5592 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5594 * scm/define-grob-interfaces.scm (parentheses-interface): add
5595 padding to parentheses-interface.
5597 * Documentation/user/GNUmakefile: remove $(CROSS) support from
5598 Documentation/user/GNUmakefile. Use --disable-documentation for that.
5600 * VERSION (PATCH_LEVEL): release 2.7.36
5602 * lily/slur.cc: add avoid-slur (ugh.)
5604 * lily/slur-configuration.cc (fit_factor): oops, skip point if
5605 intersection gets smaller. This fixes slurs over extreme points.
5607 * lily/melody-engraver.cc (stop_translation_timestep): ignore
5608 stems with neutral-direction set.
5610 * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5612 * lily/open-type-font.cc (load_table): format error.
5614 * lily/change-iterator.cc (process): format fix.
5616 * flower/include/international.hh (_f): idem.
5618 * flower/include/std-string.hh: add format printf attribute.
5620 * scm/define-grobs.scm (all-grob-descriptions): height of all
5621 PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5623 * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5626 * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5628 2006-02-22 Erik Sandberg <mandolaerik@gmail.com>
5630 * input/regression/: upgraded syntax for some files.
5632 * THANKS: Add bughunters.
5634 2006-02-22 Graham Percival <gpermus@gmail.com>
5636 * Documentation/user/ invoking.itely, advanced-notation.itely,
5637 global.itely: long-awaited "let's make chapter 10 not suck"
5638 update. Rearrange chapter 10; now called "global issues",
5639 addresses file structure, etc. Some info from other files
5640 moved into global.itely.
5642 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5644 * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5645 catch trill-span-event notes.
5647 * Documentation/user/examples.itely (Ancient notation templates): typo.
5650 * scripts/lilypond-book.py (main): scrap invokes_lilypond().
5652 * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5654 * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5656 * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5658 * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5659 froum Laissez_vibrer_engraver.
5661 * ly/declarations-init.ly (repeatTie): add \repeatTie
5663 * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5665 * scm/define-grob-properties.scm (all-user-grob-properties): add
5666 head-direction property.
5668 * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5669 from_lv_ties. Take head direction argument.
5671 * lily/semi-tie-column.cc: rename from
5672 laissez-vibrer-tie-column.cc. Rename class too.
5674 * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5677 * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5679 * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5681 (find_breaks): idem.
5683 2006-02-21 Graham Percival <gpermus@gmail.com>
5685 * Documentation/user/advanced-notation.itely: fixed make-moment]
5688 * Documentation/user/basic-notation.itely: more clarification to
5691 2006-02-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
5693 * lily/include/constrained-breaking.hh (class
5694 Constrained_breaking): new file.
5696 * lily/constrained-breaking.cc (resize): new file.
5698 * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5700 * Documentation/user/advanced-notation.itely (Clusters): insert
5703 * lily/tie-column.cc (calc_positioning_done): support for
5706 * lily/tie-formatting-problem.cc
5707 (generate_extremal_tie_variations): factor out.
5708 (score_ties_configuration): annotate all tie
5709 (print_ties_configuration): new routine.
5710 (generate_configuration): nudge extremal ties outside of the head
5712 (score_ties_configuration): oops. convert to staff-space before
5713 determining position symmetry.
5715 2006-02-20 Graham Percival <gpermus@gmail.com>
5717 * Documentation/user/*-notation.itely: misc minor editing,
5718 shifting doc sections around.
5720 * Documentation/user/*-notation-itely, global.itely,
5721 changing-defaults.itely: added new stuff from NEWS.
5723 2006-02-20 Heikki Junes <hjunes@cc.hut.fi>
5727 2006-02-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5729 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5730 lilypond --verbose for lp-book.
5732 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5733 $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5735 * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5736 $(buildscript-dir) iso. absolute depth.
5738 * buildscripts/genicon.py (dir): thinko.
5740 * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5742 2006-02-19 Erik Sandberg <mandolaerik@gmail.com>
5744 * scm/output-lib.scm: swap darkcyan/darkyellow
5746 * THANKS: Add bughunters.
5748 2006-02-19 Graham Percival <gpermus@gmail.com>
5750 * Documentation/user/programming-interfaces.itely: fixed example.
5752 * Documentation/user/instrument-notation.itely: fix @{ @}.
5754 * scm/script.scm: add avoid-slur for \open.
5756 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5758 * lily/tie-formatting-problem.cc (score_configuration): use
5759 sliding score for min-length.
5761 * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5762 spaghetti for icons.
5764 * buildscripts/genicon.py (program_name): new file.
5766 * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5768 (generate_configuration): for small ties, also look for collisions
5769 at Y + DIR*h + DELTA_Y.
5770 (get_variations): consider variation for dot positions too.
5772 * lily/side-position-interface.cc (aligned_side): take abs for
5773 quantized rounded position. Fixes tenuto below staff.
5775 * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5776 markers when necessary.
5778 * lily/program-option.cc (internal_set_option): add
5779 strict_infinity_checking option.
5781 * scm/output-lib.scm (cyan): swap yellow and cyan.
5783 2006-02-19 Graham Percival <gpermus@gmail.com>
5785 * darwin.patch: trivial linenumber update.
5787 * Documentation/user/ {various}: `\context foo = named' changed
5788 to `\new foo = "name"' in docs.
5790 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5792 * scm/stencil.scm (annotate-y-interval): use it.
5794 * scm/lily-library.scm (interval-sane?): new function.
5796 * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5799 * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5802 * flower/include/std-vector.hh (iterof): add iterof macro.
5804 * lily/enclosing-bracket.cc (width): new function.
5806 * lily/align-interface.cc (align_elements_to_extents): reinstate
5809 2006-02-18 Heikki Junes <hjunes@cc.hut.fi>
5811 * Documentation/index.html.in: fix spelling: thankyous.
5813 2006-02-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
5815 * lily/lyric-hyphen.cc: typo.
5817 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5819 * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5820 $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5823 * VERSION: release 2.7.35
5825 * lily/beam.cc (get_default_dir): oops. Take abs () for
5827 (get_default_dir): use extreme position criterion only in absence
5828 of forced stem directions.
5830 * VERSION (PATCH_LEVEL): bump VERSION.
5832 * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5833 dependencies. Necessary for -jX builds.
5835 2006-02-17 Jan Nieuwenhuizen <janneke@gnu.org>
5837 * lily/relocate.cc (setup_paths): Yet another const fix.
5839 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5841 * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5843 * lily/relocate.cc (setup_paths): oops.
5845 2006-02-17 Heikki Junes <hjunes@cc.hut.fi>
5847 * Documentation/index.html.in: order links: html before PDF.
5849 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5851 * lily/tie-column-format.cc (Module): remove.
5853 * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5855 * lily/text-spanner.cc (print): idem.
5857 * lily/dynamic-text-spanner.cc (print): only print line if longer
5860 * lily/auto-change-iterator.cc (change_to): formatting.
5862 * lily/beam.cc (get_default_dir): take extreme note head as input
5865 * lily/tie.cc (get_default_dir): only look directions for visible
5868 * lily/side-position-interface.cc (aligned_side): oops. Don't
5869 mutiply with direction. This fixes quantized (staccato, tenuto)
5870 scripts below notes.
5872 * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5873 direction. Fixes c-lyrics-center-align.ly
5875 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5877 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5880 * lily/std-string.cc:
5881 * lily/include/std-vector.hh (split_string): Move and rename from
5882 lily/include/misc.hh, lily/misc.cc. Update callers.
5884 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5886 * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5888 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5890 * flower/test-file.cc: New file.
5892 * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5895 * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5897 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5899 * flower/include/file-storage.hh: remove file.
5901 * lily/include/midi-item.hh (class Midi_track): idem.
5903 * lily/include/source.hh (class Sources): idem.
5905 * lily/include/performance.hh (class Performance): use vector
5908 * flower/include/cons.hh (class Cons): remove file.
5910 * flower/include/flower-proto.hh: remove template cruft.
5912 * lily/include/font-metric.hh: use size_t not vsize for indices.
5914 * flower/include/flower-proto.hh (Module): remove std-vector.hh
5917 * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5919 * lily/include/paper-book.hh (class Paper_book):
5920 make get_system_specs() public.
5922 * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5923 the force=10000 case if we don't have a current-best.
5925 * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5928 * flower/include/flower-proto.hh: remove outdated templates.
5930 * scm/page.scm: use annotate-spacing
5932 2006-02-15 Graham Percival <gpermus@gmail.com>
5934 * scm/translation-functions.scm: circle patch from Erlend, thanks!
5936 * THANKS: moved Erlend Aasland to contributors.
5938 2006-02-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5940 * config.hh.in: remove HAVE_PANGO_16
5942 * lily/tuplet-bracket.cc (calc_positions): multiply with
5943 staff-space for beam case. This fixes tuplets+beams on scaled
5946 * config.hh.in: remove all Kpathsea related defines.
5948 * lily/dot-column.cc (side_position): reach stem via dots->
5949 head->stem. Inspect all stems for dot collisions.
5951 * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5954 * lily/bar-number-engraver.cc (process_music): document function
5957 * lily/score.cc (default_rendering): add pscore, not systems
5960 * lily/paper-book.cc (get_system_specs): separate generation of
5963 * flower/include/std-vector.hh: don't include config.hh
5965 2006-02-15 Jan Nieuwenhuizen <janneke@gnu.org>
5967 * flower/include/std-vector.hh: Better wrapper compatibility with
5970 * flower/include/flower-proto.hh: Remove cheap forward declaration
5973 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5975 2006-02-14 Graham Percival <gpermus@gmail.com>
5977 * Documentation/user/invoking.itely: add warning about command line.
5979 2006-02-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
5981 * lily/include/lily-proto.hh: add Prob, rm Page.
5983 * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5985 * VERSION: release 2.7.34
5987 * lily/relocate.cc (framework_relocation): show canary if
5988 GHOSTSCRIPT_VERSION undefined.
5990 * GNUmakefile.in: remove $(VERSION) symlink.
5992 * lily/relocate.cc (setup_paths): add +
5994 2006-02-13 Heikki Junes <hjunes@cc.hut.fi>
5996 * Documentation/index.html.in: specify sizes for all big HTML pages.
5998 2006-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
6000 * config.hh.in: remove @FRAMEWORKDIR@
6002 * lily/system-start-text.cc (get_stencil): new file: separate out
6003 system-start-delimiter text support.
6005 * input/**ly: replace \context with \new where appropriate.
6009 * lily/slur-scoring.cc (get_base_attachments): use
6010 robust_relative_extent. This fixes problems with empty paper-columns.
6012 2006-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
6014 * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
6016 * scm/define-music-properties.scm (all-music-properties):
6017 create-new property.
6019 * lily/context-specced-music-iterator.cc (construct_children):
6020 inspect 'create-new property iso. magical $uniqueContextId context
6023 * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
6025 * lily/context-key-manager.cc (Module): new file. Encapsulate
6026 object key generation.
6028 * lily/include/context-key-manager.hh (Module): new file.
6030 2006-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
6032 * scm/define-grobs.scm (all-grob-descriptions): center instrument
6035 * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
6037 (reloc_b): excise --enable-framework-dir
6039 * lily/relocate.cc (framework_relocation): use getenv
6040 LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
6042 2006-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
6044 * flower/include/std-string.hh:
6045 * flower/include/std-vector.hh: Finish std:: conversion; move
6046 flower extensions from std:: namespace. Update users.
6048 * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
6049 their expansion to vector<*>. Update users.
6051 2006-02-10 Graham Percival <gpermus@gmail.com>
6053 * Documentation/user/invoking.itely: add example to File structure.
6055 * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
6056 examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
6058 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6060 * ly/paper-defaults.ly: typo.
6062 * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
6063 set_parent() for parentheses. This will make it show up in bbox
6066 * scm/output-lib.scm (parentheses-item::print): rewrite, using
6067 ly:grob-common* functions.
6069 * lily/grob-scheme.cc (LY_DEFINE):
6070 ly:grob-common-refpoint-of-array: new function
6071 ly:grob-common-refpoint: new function
6072 ly:grob-relative-coordinate: new function
6074 * lily/instrument-name-engraver.cc (process_music): use
6075 Text_interface::is_markup(). This fixes \markup on instrument names.
6077 * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
6080 * lily/slur.cc (print): idem.
6082 * lily/tie.cc: add line-thickness for ties.
6084 2006-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
6086 * scm/output-svg.scm: Document diversion from GNU coding standards
6087 as a workaround for a bug in Microsoft Internet Explorer.
6089 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6091 * lily/instrument-name-engraver.cc (process_music): use
6092 is_markup() iso. is_string()
6094 * Documentation/user/changing-defaults.itely (Module): add menu entry.
6096 * lily/percent-repeat-engraver.cc (process_music): only look at
6097 main_part_ for % repeats.
6099 * lily/stem-tremolo.cc (get_beam_translation): new function.
6100 (calc_slope): new function.
6101 (height): don't use real slope.
6103 2006-02-10 Jürgen Reuter <reuter@ipd.uka.de>
6105 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
6106 new connect-to-neighbor, control-points and staff-padding
6107 properties to make ligature brackets showing up again.
6109 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6111 * VERSION: release 2.7.33
6113 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
6116 * Documentation/user/changing-defaults.itely (Difficult tweaks):
6117 remove applyOutput example.
6118 (Objects connected to the input): document \tweak, \parenthesize
6120 * lily/relocate.cc (prefix_relocation): allow "current"
6121 iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
6122 changing VERSION in a lily tree less painful.
6124 * input/regression/parenthesize.ly: new file.
6126 * scm/output-lib.scm (parenthesize-element): new function.
6128 * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
6130 * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
6132 * lily/accidental-engraver.cc (make_standard_accidental): reroute
6133 cause: accidentals are caused by note heads, not note events.
6135 2006-02-08 Graham Percival <gpermus@gmail.com>
6137 * darwin.patch: small patch from Erlend, thanks!
6139 * Documentation/user/basic-notation.itely: add stem-neutral example.
6141 * Documentation/user/putting.itely: clarifications.
6143 2006-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
6145 * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
6146 note, add more guidelines to what should go into NEWS.
6148 * input/sakura-sakura.ly: document how to override font.
6150 * input/regression/font-family-override.ly: doc -dshow-available-fonts
6152 2006-02-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6154 * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
6156 2006-02-08 Jan Nieuwenhuizen <janneke@gnu.org>
6158 * scripts/convert-ly.py (lilypond_version_re_str): Move from
6159 convertrules. Add explicit grouping, needed for python2.2.
6161 2006-02-07 Jan Nieuwenhuizen <janneke@gnu.org>
6163 * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
6165 2006-02-07 Graham Percival <gpermus@gmail.com>
6167 * Documentation/user/global.itely: fix line-width in (text) docs.
6169 * Documentation/user/lilypond-book.itely: same.
6171 2006-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6173 * VERSION (PACKAGE_NAME): release 2.7.32
6175 * Documentation/topdocs/NEWS.tely (Top): document new variable
6178 * flower/include/array.icc (Message): remove file.
6180 * flower/include/std-vector.hh: make sure vsize and VPOS are
6181 defined for binary_search_bounds().
6183 * flower/std-string.cc (std): add to_string(long unsigned).
6185 * configure.in (gui_b): excise std_string option.
6186 (gui_b): excise std_vector option.
6188 * flower/string.cc (Module): excise flower array & string
6190 * flower/include/std-string.hh: excise flower string.
6192 * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6194 * python/convertrules.py (lilypond_version_re_str): require
6195 only numbers and dots in \version string.
6197 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6199 * lily/system-start-delimiter.cc (print): allow style = text too.
6201 * lily/system-start-delimiter-engraver.cc
6202 (acknowledge_system_start_text): new function, also add add to
6203 support of system-start-text (instrument names). This fixes
6204 instrument names on piano staves.
6206 * lily/instrument-name-engraver.cc: rewrite. Use
6207 system-start-delimiter approach. This save memory and cpu.
6209 * scm/define-grobs.scm (all-grob-descriptions): remove
6210 instrument-name from break-alignment.
6212 * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6214 2006-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
6216 * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6219 * configure.in (std_vector): On by default.
6221 * lily/include/font-metric.hh:
6222 * lily/include/tfm-reader.hh:
6223 * lily/include/spanner.hh: Use unsigned for indices and sizes.
6226 * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6228 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6230 * VERSION (PACKAGE_NAME): 2.7.31
6232 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6233 EPS edge at 0, but take minimum with left-overshoot. This fixes
6234 cut off system start delims.
6236 * lily/instrument-name-engraver.cc (stop_translation_timestep):
6237 hack: add to axis group if not added yet. This fixes hara kiri'd
6240 * lily/hara-kiri-group-spanner.cc
6241 (force_hara_kiri_in_y_parent_callback): fix signatures.
6243 * lily/hairpin.cc (print): check next hairpin to see whether or
6244 not to be continuing.
6246 2006-02-04 Jan Nieuwenhuizen <janneke@gnu.org>
6248 * Remove trailing whitespace from makefiles.
6250 * flower/include/std-vector.hh: Add binary_search_bounds workaround
6253 * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft.
6255 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6257 * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6259 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6261 * configure.in: Use it.
6263 2006-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6265 * scm/music-functions.scm (pitch-of-note): new function.
6267 * ly/music-functions-init.ly: add \octave and \addquote
6269 * lily/parser.yy (music_function_chord_body): softcode \octave.
6270 (lilypond_header): softcode \addquote
6272 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6274 * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6275 array.hh, parray.hh at all. Getting ready to flip the
6278 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6280 * lily/source-file.cc (file::get_line): Help binary_search_bounds
6283 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6285 2006-02-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
6287 * flower/include/array.hh: typo.
6289 2006-02-02 Graham Percival <gpermus@gmail.com>
6291 * Documentation/user/advanced-notation.itely: doc "\#" in text.
6293 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6295 * flower/include/pqueue.hh: Derive from std::vector.
6297 * flower/include/parray.hh: Conform to std::vector interface.
6300 2006-02-02 Graham Percival <gpermus@gmail.com>
6302 * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6304 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6306 * flower/file-path.cc (is_file): remove if 0 section.
6308 * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6309 selecting afii61352.
6311 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6313 * flower/include/std-vector.hh (boundary): Oops, reverse.
6315 * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6316 remove superfluous `d'.
6318 * flower/include/std-vector.hh (boundary, top): Detach from class.
6319 Remove empty vector shell.
6321 * flower/include/array.hh (reverse, swap): Detach from class.
6324 * flower/include/std-vector.hh
6325 * flower/include/array.hh (concat): Globally change to insert ().
6327 * flower/include/std-vector.hh
6328 * flower/include/parray.hh
6329 * flower/include/array.hh (elem, elem_ref): Globally replace by
6332 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6334 * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6336 * python/convertrules.py (FatalConversionError.sub_cxx_id):
6337 anticipate on identifier substitutions.
6339 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6341 * flower/include/std-vector.hh (insert): Remove, replace by
6342 std::vector interface. Update callers.
6344 * flower/include/array.icc (insert): Change signature to
6345 match std::vector interface.
6347 * flower/include/array.icc (vector_sort): Bugfix.
6349 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6351 * lily/parser.yy (output_def_head_with_mode_switch): new
6352 production. Result: dashes and underscores may be used in the
6355 * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode.
6357 * python/convertrules.py (conv): oops. One slash too much.
6359 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6361 * flower/include/std-vector.hh (sort): Remove, replace by
6362 ::vector_sort. Update callers.
6364 * flower/include/std-vector.hh (slice): Remove. Update callers.
6367 * flower/test-std.cc (vector_sort): New test.
6369 2006-02-01 Graham Percival <gpermus@gmail.com>
6371 * Documentation/user/putting.itely: fixes from Erik.
6373 2006-02-01 Jan Nieuwenhuizen <janneke@gnu.org>
6375 * flower/test-std.cc: Add simple unit test for vector migration.
6377 * stepmake/stepmake/test*: Unit test support.
6379 * flower/include/std-vector.hh (del): Remove. Use erase (),
6382 * flower/include/array.hh (begin, end): Add.
6385 2006-02-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6387 * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6388 std::string not String.
6390 * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6393 * lily/prob.cc (Prob): copy type_ too.
6395 * lily/lily-guile.cc (mangle_cxx_identifier): new
6396 function. Class_bla::foo_bar_[px] ->
6397 ly:class-bla::foo-bar[?!]. Changes throughout
6399 2006-01-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6401 * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6403 * lily/beam.cc (calc_direction): take dir from visible stem in
6406 2006-01-31 Jan Nieuwenhuizen <janneke@gnu.org>
6408 * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6409 Fix -1, >=0 boundary checks for unsigned vsize.
6411 * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6412 loop for unsigned vsize.
6414 * configure.in (--enable-std-vector): New option.
6415 (--enable-std-string): On by default.
6417 * flower/include/std-vector.hh: New file. Enable switch to
6418 std::vector, update client code.
6420 2006-01-30 Graham Percival <gpermus@gmail.com>
6422 * scm/document-translation.scm: clarify "this context is also
6423 known as". Thanks, Werner!
6425 * Documentation/user/putting.itely: small fixes from Don Blaheta.
6427 * Documentation/user/invoking.itely: small fix from Don.
6429 2006-01-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6431 * scm/lily.scm (define-scheme-options): rename option
6432 preview-include-book-title to book-title-preview
6433 (define-scheme-options): move force-eps-font-include (from paper
6434 block) to eps-font-include -d option.
6436 * VERSION (PATCH_LEVEL): release 2.7.30
6438 * input/bach-schenker.ly (staffPiano): new file.
6440 * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6442 * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6445 * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6447 * ps/lilyponddefs.ps: remove start-system, stop-system,
6448 start-page fluff. This saves putting { } code on the stack, fixing
6449 stack overflows when including EPS files.
6451 2006-01-29 Graham Percival <gpermus@gmail.com>
6453 * Documentation/user/putting.itely: minor fixes (comments on -devel).
6455 2006-01-29 Nicolas Sceaux <nicolas.sceaux@free.fr>
6457 * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6459 2006-01-28 Graham Percival <gpermus@gmail.com>
6461 * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6463 2006-01-28 Jan Nieuwenhuizen <janneke@gnu.org>
6465 * input/mutopia/claop.py: Update.
6467 2006-01-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6469 * input/regression/completion-heads.ly (texidoc): fix.
6471 * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6473 * lily/tie-formatting-problem.cc
6474 (set_ties_config_standard_directions): use abs iso fabs for ints.
6476 * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6478 * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6479 little less than noteheight, to prevent overlaps in chords.
6481 * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6482 head, and fudge stem-attachment.
6484 * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6486 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6488 2006-01-27 Jan Nieuwenhuizen <janneke@gnu.org>
6490 * lily/main.cc (main): Debugging aid: catch exceptions.
6492 * flower/std-string.cc (to_string): Robustification. Fixes midi
6493 output with std::string.
6495 2006-01-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6497 * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6499 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6501 * Fix -DSTRING_UTILS_INLINED.
6503 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6505 * VERSION (PATCH_LEVEL): release 2.7.29
6507 * lily/relocate.cc (setup_paths): mingw uses std string too.
6509 * lily/*.cc: various fixes for substr(ARG).
6511 * lily/sustain-pedal.cc (print):
6513 * flower/file-name.cc (slashify): use std strings.
6515 * flower/string-convert.cc: remove publib.h
6517 * scm/define-markup-commands.scm (verbatim-file): new markup
6518 command \verbatim-file
6520 * Documentation/topdocs/NEWS.tely: fixup URLs
6522 * input/regression/alignment-vertical-manual-setting.ly (Module):
6525 * lily/align-interface.cc (align_elements_to_extents): overwrite
6526 translations with numbers in alignment-offsets from left bound
6528 * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6529 (page-translate-systems): new function: take into account Y-offset.
6531 * Documentation/topdocs/NEWS.tely (Top): document new features.
6533 * input/regression/page-layout-manual-position.ly (Module): new
6536 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6538 * flower/file-path.cc (path::parse_path): Oops.
6540 * Finish std::string interface. For now, use std:: marker
6541 throughout for easy s/r.
6543 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6545 * Documentation/user/putting.itely (Score is a single musical
6547 (Score is a single musical expression): more typos.
6549 * scm/page.scm (annotate-space-left): thinko.
6550 (annotate-page): more thinkos.
6552 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6554 * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6555 for different \score blocks separately.
6556 (post-process-pages): put write-page-layout into paper block.
6558 * lily/output-def.cc (get_parser): new file.
6560 * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6563 * lily/include/output-def.hh (class Output_def): add parser_ member.
6565 * input/regression/page-layout-twopass.ly (Module): new file.
6567 * scm/lily.scm: remove cpp hack.
6569 * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6571 2006-01-25 Jan Nieuwenhuizen <janneke@gnu.org>
6573 * GNUmakefile.in (c-clean): New target.
6575 * flower/include/std-string.hh: String/std::string compatibility:
6576 Use NPOS for `not found' (iso -1), use ssize for length () and pos
6579 * flower/rational.cc:
6580 * flower/include/rational.hh:
6583 * flower/include/offset.hh:
6585 * flower/interval.cc:
6586 * flower/include/interval.hh:
6588 * flower/string-convert.cc:
6589 * flower/include/string-convert.hh: Use std::string [interface].
6592 2006-01-25 Heikki Junes <hjunes@cc.hut.fi>
6594 * Documentation/index.html.in: clean up.
6596 2006-01-25 Graham Percival <gpermus@gmail.com>
6598 * Documentation/user/putting.itely: another new untested doc section.
6600 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6602 * scm/layout-page-layout.scm (write-page-breaks): write
6603 \spacingTweaks #ALIST. Handle grace timing.
6605 * scm/: more imports.
6607 * scm/page.scm (make-page): add footer/header.
6608 (annotate-space-left): revise: only take page argument.
6609 (layout->page-init): new function.
6611 * scm/layout-page-layout.scm (write-page-breaks): preliminary
6612 version of the system/spacing/linebreak hack writing to the output
6614 * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6617 * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6620 2006-01-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
6622 * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6624 * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6626 * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6627 handling to page.scm
6629 * lily/prob-scheme.cc (LY_DEFINE): new file.
6630 (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6632 * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6635 * lily/music.cc (derived_mark): derive Music from Prob.
6637 * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6639 * lily/prob.cc (Module): Implement Prob (Property Object), object
6640 with shared and r/w property alists.
6642 * lily/include/prob.hh (Module): new file. Declare Prob.
6644 * flower/string.cc: remove is_empty().
6646 * flower/include/string.hh (class String): remove String:: qualifier.
6648 * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6649 substitute appropriate functions.
6651 * flower/include/string.hh (class String): remove to_str0 and
6652 is_empty(). S&R everywhere.
6654 2006-01-23 Graham Percival <gpermus@gmail.com>
6656 * Documentation/user/basic-notation.itely: add hairpin
6657 after-linebreak tweak to commonprop.
6659 * Documentation/user/putting.itely: added two new sections.
6661 2006-01-23 Jan Nieuwenhuizen <janneke@gnu.org>
6663 * flower/international.cc:
6664 * flower/include/international.hh:
6666 * flower/getopt-long.cc:
6667 * flower/include/getopt-long.hh: Use std::string [interface].
6670 * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6672 * stepmake/stepmake/executable-rules.make: Add dependency on
6675 2006-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
6677 * flower/file-path.cc:
6678 * flower/include/file-path.hh: Use std::string [interface].
6681 * flower/direction.cc:
6682 * flower/axis.cc: Unused. Remove.
6684 * configure.in (--enable-std-string): New option.
6686 * flower/std-string.cc:
6687 * flower/include/std-string.hh: New file.
6689 * flower/file-name.cc[STD_STRING]:
6690 * flower/include/file-name.hh[STD_STRING]: Use it. Update callers.
6692 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6694 * scm/output-svg.scm (placebox): no GNU coding standards in SVG output.
6696 * scm/define-markup-commands.scm (with-dimensions):
6697 with-dimensions markup command.
6699 * input/test/font-table.ly: use it.
6701 * lily/open-type-font.cc (glyph_list): new function.
6703 * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6705 * lily/ttf.cc: remove ly:font-glyph-list scheme function
6707 2006-01-22 Nicolas Sceaux <nicolas.sceaux@free.fr>
6709 * ly/music-functions-init.ly (parallelMusic): new music function
6710 for parallel music entry.
6712 * scm/define-music-properties.scm (all-music-properties): new
6713 'void music property
6715 * scm/music-functions.scm (ly:music-message): make public, to be
6716 used in music function definitions
6718 * scm/lily-library.scm (collect-music-for-book): discard music
6719 when the 'void property is set.
6721 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6723 * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6725 * mf/GNUmakefile: idem.
6727 * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6729 * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6731 * Documentation/user/notation-appendices.itely (The Feta font):
6734 * input/test/font-table.ly: new file. Generate font table within lily.
6736 * Documentation/user/notation-appendices.itely (The Feta font):
6737 use new font-table.ly file.
6739 * stepmake/stepmake/install-out-targets.make
6740 (local-install-outfiles): only create directory if
6741 $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6743 2006-01-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6745 * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6747 * VERSION (PACKAGE_NAME): release 2.7.28
6749 * scm/framework-ps.scm (write-preamble): use it to pick exactly
6750 the right font from a Mac dfont.
6751 (write-preamble): don't forget directory, only look at files.
6753 This fixes problems with TTF files in dfonts that don't match
6754 their PostScript names.
6756 * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6757 PS name from TTF font.
6759 * input/regression/tie-manual.ly: document new feature.
6761 * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6763 * VERSION (MY_PATCH_LEVEL): bump to .28
6765 * Documentation/user/basic-notation.itely (Ties): add tie examples
6768 * lily/tie-formatting-problem.cc (score_ties_configuration):
6769 symmetry penalties for outer ties.
6771 2006-01-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
6773 * lily/tie-formatting-problem.cc (generate_configuration)
6774 (set_manual_tie_configuration): skip non-pair manual
6775 tie-configuration, so you can set individual ties as
6777 #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6779 * input/regression/tie-chord.ly: use generateTiePattern to
6782 * lily/tie-formatting-problem.cc (peak_around): new function.
6783 (score_configuration): use sliding criterion for staff line collisions.
6784 (score_configuration): idem for dot collisions.
6785 (generate_configuration): use separate stem_gap for gap to stem.
6787 * lily/include/tie-formatting-problem.hh (struct Tie_details):
6788 separate penalty factors for x and y distance.
6789 (struct Tie_details): separate penalties for tip and center line collisions.
6791 2006-01-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6793 * lily/tie-formatting-problem.cc (generate_configuration): make
6794 large ties avoid stafflines in the horizontal section.
6795 (score_configuration): use softcoded penalties
6796 (score_aptitude): idem.
6798 * lily/tie-helper.cc (from_grob): softcode tie details
6800 * lily/staff-symbol-referencer.cc (on_staff_line): new function
6802 * lily/staff-symbol-referencer.cc (on_line): rename from
6805 2006-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
6807 * ly/music-functions-init.ly: remove duplicate tag.
6809 * lily/include/*.hh: GCC 4.1 fixes.
6811 006-01-16 Erlend Aasland <erlenda@gmail.com>
6813 * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6815 * scm/define-music-types.scm: fix bug in desc. string
6816 for OverrideProperty
6818 2006-01-15 Erik Sandberg <mandolaerik@gmail.com>
6820 * scripts/lilypond-book.py: bugfix
6822 * scm/define-music-types.scm: fix typos.
6824 2006-01-14 Graham Percival <gpermus@gmail.com>
6826 * Documentation/user/ basic-notation.itely, global.itely,
6827 advanced-notation.itely, instrument-notation.itely: small
6828 additions (bugs and commonly tweaked properties).
6830 2006-01-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
6832 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6833 detection of mingw build.
6834 (MINGW_BUILD): opps.
6836 2006-01-12 Jan Nieuwenhuizen <janneke@gnu.org>
6838 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6841 2006-01-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
6843 * scm/music-functions.scm (skip->rest): add skip->rest
6845 2006-01-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
6847 * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6850 * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6851 config dirs. Aids debugging.
6852 (display_config): also display config files.
6854 2006-01-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6856 * VERSION: release 2.7.27
6858 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6859 for determining bar size.
6861 * lily/staff-symbol.cc (print): place lines at distance line-positions
6863 * scm/define-grob-properties.scm (all-user-grob-properties): add
6866 * lily/staff-symbol.cc (height): new function.
6868 * input/regression/staff-line-positions.ly: new file.
6870 2006-01-06 Graham Percival <gpermus@gmail.com>
6872 * input/test/add-staccato.ly: remove reference to old file.
6874 2006-01-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6876 * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6877 lilypond binary too.
6879 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6881 * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6883 2006-01-06 Jan Nieuwenhuizen <janneke@gnu.org>
6885 * scripts/midi2ly.py: Bugfix: Declare datadir.
6887 * make/ly-rules.make:
6888 * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6889 that seems to be gone). Fixes make web.
6891 * The grand 2005-2006 replace.
6893 * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6895 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6897 * make/lilypond-vars.make: set LILYPOND_BINARY variable
6898 (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6899 LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6900 like -dgs-font-load.
6902 * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6903 remove absolute path to lilypond binary.
6905 2006-01-05 Pedro Kroeger <kroeger@pedrokroeger.net>
6907 * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6909 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6911 * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6913 * mf/GNUmakefile: remove broken dvips map symlink.
6915 2006-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
6918 * configure.in: Cosmetic fixes.
6920 2006-01-04 Mats Bengtsson <mabe@s3.kth.se>
6922 * Documentation/user/music-glossary.tely (Pitch names): Added
6923 Spanish pitch names and durations, thanks to Ernesto Gancedo
6925 2006-01-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6927 * scm/lily.scm (define-scheme-options): use quasi-quote for option
6928 init. Fixes verbose printing of .scm files.
6930 * stepmake/aclocal.m4: add spaces before - options.
6932 2006-01-03 Jan Nieuwenhuizen <janneke@gnu.org>
6934 * lily/relocate.cc (setup_paths): Bugfix: do not store result
6935 of path search in local block variable.
6937 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6939 * configure.in (NCSB_DIR): --enable-ncsb-dir
6940 (LINK_GXX_STATICALLY): denko.
6942 * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH.
6944 * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option.
6945 use locate to find c059033l.pfb.
6947 2006-01-02 Jan Nieuwenhuizen <janneke@gnu.org>
6949 * lily/tie-formatting-problem.cc
6950 (problem::generate_base_chord_configuration): Use my_round (was
6953 * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6954 do not invoke mbrtowc.
6956 * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6958 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6960 * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6962 2005-01-02 Heikki Junes <hjunes@cc.hut.fi>
6964 * Documentation/user/invoking.itely (svg): revise.
6966 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6968 * lily/lexer.ll: use sourcefilename iso. renameinput.
6970 2006-01-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6972 * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6973 <PostScriptName>.ttf instead of c059XXXttf.
6975 * lily/program-option.cc (LY_DEFINE): special support for
6976 --verbose, so it works before option init too.
6978 * mf/GNUmakefile (local-install): oops.
6980 * lily/lyric-hyphen.cc (print): oops.
6982 * buildscripts/pfx2ttf.fontforge: new file.
6984 * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6985 ($(outdir)/%.ttf): new rule.
6987 * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6990 * lily/lyric-hyphen.cc (print): multiply hyphen height by
6993 2005-12-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6995 * VERSION: release 2.7.26
6997 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6999 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7001 * lily/font-config.cc (init_fontconfig): verbosity.
7003 * THANKS: add Muziekacademie Lede.
7005 * scripts/musicxml2ly.py (print_voice_definitions): new function
7006 (print_score_setup): new function
7007 (convert): read part definition to output staves properly.
7009 * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
7012 * python/musicexp.py (Output_printer.__init__): use _ in data
7014 (Output_printer.unformatted_output): new function: no formatting,
7016 (Duration.get_length): remove isinstance() checks for
7017 Output_printer everywhere.
7019 * input/regression/lyrics-bar.ly (texidoc): add
7020 Separating_line_group_engraver.
7022 2005-12-29 Jan Nieuwenhuizen <janneke@gnu.org>
7024 * lily/relocate.cc (framework_relocation): New function,
7025 factored from set_relocation ().
7026 (prefix_relocation): Rename from set_relocation ().
7027 (setup_paths): Use it.
7029 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7031 * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
7032 numbers. Patch by Erlend Aasland.
7034 2005-12-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7036 * lily/font-config.cc (init_fontconfig): print warning if cache
7037 file is not existant.
7039 * lily/main.cc: don't use #ifdef but #if
7041 2005-12-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7043 * lily/grob-property.cc (internal_set_property): don't abort on
7044 calculation-in-progress.
7046 * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
7048 * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
7049 connect-to-neighbor property not connect-to-other
7051 * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
7052 (LY_DEFINE): oops. don't forget protection.
7054 * flower/parse-afm.cc (Module): strip AFM handling completely.
7056 * lily/stencil-expression.cc: idem.
7058 * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
7060 * lily/function-documentation.cc (ly_add_function_documentation):
7061 use static member iso. Protected_scm
7063 * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
7065 * config.make.in (prefix): remove HAVE_KPATHSEA_SO
7067 2005-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
7069 * lily/relocate.cc (set_env_dir): New function.
7070 (set_relocation): Use it to fix setting PANGO_PREFIX.
7072 2005-12-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7074 * input/regression/stem-direction-context.ly: remove rest.
7076 * lily/melody-engraver.cc (process_music): restart for bar lines.
7077 (acknowledge_slur): restart for slurs.
7079 2005-12-27 Heikki Junes <hjunes@cc.hut.fi>
7081 * Documentation/user/invoking.itely: describe how to view SVG
7082 output using Inkscape which replace embedded fonts with OTF fonts.
7084 2005-12-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7086 * lily/relocate.cc (set_relocation): set PANGO_PREFIX
7088 2005-12-23 Jan Nieuwenhuizen <janneke@gnu.org>
7090 * lily/melody-engraver.cc (class Melody_engraver): Remove lying
7093 2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7095 * VERSION (PACKAGE_NAME): release 2.7.25
7097 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7099 * input/regression/stem-direction-context.ly: new file.
7101 * lily/relocate.cc (set_relocation): add PANGO_PREFIX
7103 * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
7106 * ly/engraver-init.ly: add Melody_engraver
7108 * lily/beam.cc (calc_direction): use default-direction
7109 iso. get_default_direction()
7111 * scm/define-grob-properties.scm (all-user-grob-properties): add
7112 default-direction property.
7114 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
7116 * lily/stem.cc (calc_default_direction): remove
7117 Stem::get_default_direction, use default-direction with callback
7120 * lily/melody-spanner.cc (calc_neutral_stem_direction):
7122 * lily/melody-engraver.cc: new file. Acknowledge stems for
7123 interpolated stem directions.
7125 * lily/melody-spanner.cc: new file. Interpolate stem directions.
7127 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
7129 * lily/slur-configuration.cc (fit_factor): more robust check for
7130 point in curve X-extent.
7132 * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
7133 (outside_slur_callback): check for 'outside avoidance.
7135 * lily/slur-configuration.cc (score_extra_encompass): don't use
7136 bound->column() == avoid->column() for checking extents, as this
7137 doesn't work for accidentals.
7139 * lily/slur-engraver.cc (acknowledge_extra_object): remove
7140 DynamicText hardcoding.
7142 * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
7143 crash if bound stem is NULL
7145 * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
7148 2005-12-22 Graham Percival <gpermus@gmail.com>
7150 * scm/define-markup-commands.scm: typo. @code{\raise}
7153 * darwin.patch: now used again, includes a
7154 required patch from fink.
7156 2005-12-21 Heikki Junes <hjunes@cc.hut.fi>
7158 * po/TODO: mention gtranslator along with kbabel.
7159 * po/fi.po: update translations.
7161 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7163 * lily/relocate.cc (setup_paths): Bugfix.
7165 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7167 * lily/slur-configuration.cc (score_extra_encompass): don't use
7168 "avoid" choice for avoid-slur.
7170 * stepmake/bin/install.py (dest): don't create existing dir.
7172 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7174 * stepmake/bin/install.py: Remove file before copying.
7177 * stepmake/aclocal.m4: Do not substitute INSTALL.
7179 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7181 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7182 depend on link-tree.
7184 * lily/relocate.cc (setup_paths): only check path for non-absolute
7185 dir without directory part.
7187 * flower/file-name.cc (is_absolute): new method.
7188 (is_absolute): check root_ too.
7190 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7192 * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7193 relocation code. Oops, don't comment out too much.
7195 * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7198 * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw
7201 2005-12-20 Jan Nieuwenhuizen <janneke@gnu.org>
7203 * .cvsignore: Add install-sh.
7205 * autogen.sh (srcdir): Typo.
7207 2005-12-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
7209 * autogen.sh (srcdir): urg. Touch install-sh.
7211 * stepmake/bin/install-sh (Module): remove.
7213 * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7215 * lily/include/relocate.hh: new file.
7217 * lily/relocate.cc: new file. Contain relocation logic.
7219 * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7220 (main): read LILYPOND_VERBOSE as the first thing.
7222 * stepmake/aclocal.m4: remove INSTALL variable.
7224 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7225 separate target for making font symlinks.
7226 (documentation-dir): use $(if $(findstring )) for switching off
7229 * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7230 something if DOCUMENTATION is no.
7232 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7234 * VERSION: release 2.7.24
7236 * lily/script-column-engraver.cc (stop_translation_timestep):
7237 delay adding to script-column.
7239 * lily/tuplet-bracket.cc (print): suicide if no control-points.
7241 * python/convertrules.py (conv): rule for number-visibility
7243 * lily/slur-configuration.cc (score_extra_encompass): different
7244 distance measure for avoid and inside avoidance.
7245 (score_extra_encompass): use 1/(distance+eps) as penalty.
7247 * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7248 encompass objects for generating slur curves.
7250 * lily/slur.cc: use details iso. slur-details property.
7252 * input/regression/slur-tuplet.ly: new file.
7254 * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.
7256 * flower/include/offset.hh (class Offset): new operator /=
7258 * lily/tuplet-number.cc (print): new file, new interface.
7260 * scm/define-grob-properties.scm (all-user-grob-properties):
7261 remove number-visibility property.
7263 * lily/tuplet-bracket.cc (calc_control_points): new function
7264 (calc_connect_to_neighbors): new function.
7265 (print): remove text handling for tuplet numberdef.
7267 * lily/tuplet-engraver.cc (struct Tuplet_description): create
7270 * lily/lily-guile.cc (robust_scm2booldrul): new function
7272 * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7274 * lily/tuplet-bracket.cc (calc_position_and_height): use
7275 staff-padding to control whether tuplet brackets are over staves.
7277 * lily/grob.cc (suicide): clear dim_caches_.
7279 * lily/dimension-cache.cc (clear): new function.
7281 * lily/grob.cc (extent): swap order of min-extent and extent
7282 calculations. This fixes hara kiri staves.
7284 2005-12-19 Jan Nieuwenhuizen <janneke@gnu.org>
7286 * lily/main.cc: Nitpick: relocation is not based on path, but on
7287 directory (location).
7289 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7291 * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7293 * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7295 * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7297 * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7299 * stepmake/stepmake/generic-vars.make (Module): idem.
7301 * stepmake/stepmake/executable-targets.make (default): use it.
7303 * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7305 * make/GNUmakefile: don't install make rules.
7307 * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7309 (prepend_env_path): more verbosity.
7311 2005-12-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7313 * GNUmakefile.in: add dir argument for find command.
7315 * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7316 fixes weird line numbers for point & click.
7318 * lily/source-file.cc (get_counts): init line/column/char counts.
7320 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7322 * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7324 2005-12-16 Graham Percival <gpermus@gmail.com>
7326 * Documentation/user/basic-notation.itely, advanced-notation.itely:
7327 minor fixes from Fredric. Thanks!
7329 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7331 * ly/music-functions-init.ly: add \bar and \clef music function
7333 * lily/lily-lexer.cc: idem.
7335 * lily/parser.yy (FIXME): remove BAR and CLEF.
7337 2005-12-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7339 * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7341 * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7342 function arguments too
7344 * lily/main.cc (set_relocation): new function.
7346 * scripts/musicxml2ly.py (convert): add \version
7348 * lily/tie.cc: remove get_default_attachments()
7350 * VERSION (PACKAGE_NAME): release 2.7.23
7352 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7353 ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7355 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7357 * lily/tie-formatting-problem.cc (score_ties): new function
7358 (get_variations): new function. Try flipping dirs for collisions.
7359 (generate_optimal_chord_configuration): new function. 1-opt search
7360 for better configuration.
7362 * lily/tie-configuration.cc: new file.
7364 * lily/tie.cc: junk Tie::get_configuration()
7366 * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7367 (score_ties_configuration): new function.
7368 (generate_ties_configuration): new function.
7369 (generate_base_chord_configuration): new function.
7370 (set_ties_config_standard_directions): Move body from tie-column-format.cc
7371 (set_manual_tie_configuration): Move body from tie-column-format.cc
7373 * input/regression/tie-dot.ly: new file.
7375 * lily/tie-formatting-problem.cc (score_configuration): score
7378 * lily/tie-helper.cc (get_transformed_bezier): new function
7380 * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7382 * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7383 -undefined suppress iso. -framework Python
7385 * scm/define-grobs.scm (all-grob-descriptions): set
7386 springs-and-rods (thanks Joe Neeman!)
7388 2005-12-12 Nicolas Sceaux <nicolas.sceaux@free.fr>
7390 * input/no-notation/display-lily-tests.ly (test):
7391 * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7392 changed from \tag #'(a b) to \tag #'a \tag #'b
7394 2005-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7396 * Documentation/topdocs/NEWS.tely: strip out-www.
7398 * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7400 * config.make.in (AR): add AR and RANLIB
7402 * flower/libc-extension.cc: include cassert
7404 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7407 2005-12-11 Graham Percival <gpermus@gmail.com>
7409 * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7411 * stepmake/stepmake/python-modules-vars.make: define
7412 SHARED_FLAGS for OSX. Thanks Johannes Schindelin!
7414 * THANKS: added Johannes Schindelin.
7416 2005-12-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7418 * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7420 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7421 Span_arpeggio_engraver, add Tweak_engraver to Score context.
7423 * lily/parser.yy: reorganize file layout.
7425 * ly/music-functions-init.ly: add tweak music function.
7427 * lily/grob-info.cc (ultimate_music_cause): new function:
7428 recursively lookup causes.
7430 * lily/parser.yy (chord_body_element): allow music functions for
7431 post-events, allow music functions for chord elements.
7433 * lily/font-config-scheme.cc (display_fontset): add cast.
7435 * python/convertrules.py (FatalConversionError.sub_syms): \tag
7436 #'(a b) -> \tag #'a \tag #'b rule.
7438 * python/musicexp.py (Output_printer.dump_version): new function
7440 2005-12-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7442 * lily/parser.yy (FIXME): remove \tag
7443 (FIXME): remove tag_music() function.
7445 * lily/lily-lexer.cc: remove \tag
7447 * ly/music-functions-init.ly: define music-function "tag"
7449 * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7451 2005-12-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7453 * VERSION (PATCH_LEVEL): release 2.7.22
7455 * input/regression/lyric-hyphen-retain.ly: renew.
7457 * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7460 * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7461 iso. minimum-length property for rods.
7463 * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7464 LyricSpace item to keep lyrics spaced apart.
7466 * ly/engraver-init.ly: remove Separating_line_group_engraver
7468 * Documentation/user/music-glossary.tely: do setfilename before
7471 2005-12-07 Heikki Junes <hjunes@cc.hut.fi>
7473 * Documentation/user/lilypond-book.itely: use `,´ after xref:
7474 See xref documentation, for example.
7476 2005-12-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
7478 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7479 pending_skip iso. ly_voice[-1]
7480 (main): add if __main__ for debugging.
7482 * python/musicxml.py (Accidental.__init__): new class.
7484 * scripts/musicxml2ly.py (progress): new function
7485 (musicxml_key_to_lily): don't barf on modeless keys.
7486 (create_skip_music): new function.
7487 (musicxml_spanner_to_lily_event): new function. Handle beams too.
7488 (musicxml_note_to_lily_main_event): new function.
7490 * python/musicexp.py (Music.__init__): add comment field.
7491 (NestedMusic.append): new routine.
7492 (SequentialMusic.print_ly): print comment.
7493 (ArpeggioEvent.ly_expression): new class
7494 (BeamEvent.ly_expression): new class
7495 (NoteEvent.__init__): support for cautionary/forced accs.
7497 * lily/lookup.cc (slur): normal order for array loop.
7499 * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7502 * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7505 2005-12-06 Erik Sandberg <mandolaerik@gmail.com>
7507 * scm/music-functions.scm: Make phrasing slurs follow voice direction
7509 * scripts/lilypond-book.py: Introduce option
7510 --preserve-line-breaks, for usage with srcltx
7512 2005-12-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7514 * scm/output-lib.scm (print-circled-text-callback): draw circle
7515 around text using make-circle-markup.
7517 * Documentation/user/*: strip out-www from file names.
7519 2005-12-05 Heikki Junes <hjunes@cc.hut.fi>
7521 * Documentation/user/lilypond.tely (direntry): remove empty lines;
7522 fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7524 2005-12-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
7526 * Documentation/user/GNUmakefile: idem.
7528 * Documentation/user/macros.itexi: strip out-www
7530 * python/rational.py: python 2.3 compat.
7532 * VERSION (PATCH_LEVEL): release 2.7.21
7534 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7535 option formatting, lilypond style.
7537 * python/musicexp.py: grab from Ikebana: a library for composing
7538 ly music expressions.
7539 (Output_printer): class for advanced .ly printing.
7542 * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7543 convert to pythonesque structure.
7545 * python/rational.py: PD rational number class.
7547 * Documentation/user/converters.itely (Invoking musicxml2ly): new node.
7549 2005-12-04 Erik Sandberg <mandolaerik@gmail.com>
7551 * lily/part-combine-iterator.cc: Minor bugfix
7553 * THANKS: Update bughunters
7555 2005-12-02 Werner Lemberg <wl@gnu.org>
7557 * mf/README: Document process for proper mf2pt1 conversion.
7559 * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7562 * mf/feta-harmonica.mf: Removed. Unused.
7564 2005-12-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7566 * scripts/lilypond-book.py (do_file): fix thinkos.
7568 2005-12-01 Jan Nieuwenhuizen <janneke@gnu.org>
7570 * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7571 ($(outdir)/parser.cc):
7572 ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7574 2005-11-30 Pedro Kröger <kroeger@pedrokroeger.net>
7576 * ly/titling-init.ly (tagline): it should be a space between
7577 "Music engraving by LilyPond" and the version number.
7579 2005-12-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
7581 * VERSION (PACKAGE_NAME): release 2.7.20
7583 2005-11-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7585 * scm/define-markup-commands.scm (pad-to-box): new markup command.
7587 * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7589 (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7591 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7593 * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7595 * kpath-guile/: remove directory
7597 * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7598 file. Encapsulate kpathsea using commandline tools.
7600 * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7603 2005-11-29 Mats Bengtsson <mabe@s3.kth.se>
7605 * Documentation/user/advanced-notation.itely (Setting automatic
7606 beam behavior): Correct a few typos. Thanks to David Bobroff.
7608 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7609 \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7611 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7613 * scripts/*.py: gmane address for bugs.
7615 2005-11-28 Pal Benko <benkop@freestart.hu>
7617 * make/ly-rules.make: add -f switch to mv
7619 * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7621 * lily/bar-line.cc: interpret it
7623 2005-11-28 Jan Nieuwenhuizen <janneke@gnu.org>
7625 * configure.in (--disable-documentation): New switch.
7627 * GNUmakefile.in: Use it.
7629 * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7631 2005-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7633 * scripts/lilypond-book.py (do_file): search chunks for
7636 * GNUmakefile.in: add copy step in between so we can lose the
7637 out-www directories.
7639 2005-11-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7641 * lily/pango-font.cc (pango_item_string_stencil): put
7642 geometry.width into glyph-string too.
7644 2005-11-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
7646 * scm/define-music-display-methods.scm (RevertProperty):
7647 (OverrideProperty): Use grob-property-path property, a list of
7648 symbols, instead of grob-property, which used to be a single
7650 (BassFigureEvent): a figure can be a plain number, not necessarily a
7653 2005-11-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7655 * VERSION: release 2.7.19
7657 * lily/figured-bass-engraver.cc (process_music): check
7658 figuredBassCenterContinuations first.
7660 * scm/translation-functions.scm (format-bass-figure): make double
7663 * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7666 * lily/system-start-delimiter-engraver.cc: move from
7667 Nested_system_start_delimiter_engraver, rename
7668 Nested_system_start_delimiter_engraver ->
7669 System_start_delimiter_engraver.
7671 * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7672 bracket type from hierarchy.
7674 2005-11-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
7676 * lily/rest.cc (y_offset_callback): read staff-position.
7678 * scm/define-grob-properties.scm (all-user-grob-properties): don't
7679 mark after-line-breaking-callback as internal.
7681 * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7683 2005-11-25 Werner Lemberg <wl@gnu.org>
7685 * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7687 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7689 * stepmake/bin/add-html-footer.py (do_file): add google
7691 * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7692 staff if first_start_ is true.
7694 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7696 * scripts/midi2ly.py (split_track): add __repr__ members.
7697 (track_first_item): only return Item if not None. This fixes a
7698 problem when dumping a track that starts with an empty channel.
7700 * python/midi.c: doc module.
7702 2005-11-22 Mats Bengtsson <mabe@s3.kth.se>
7704 * Documentation/user/global.itely (Creating MIDI files): Fix
7705 compilation problem.
7707 2005-11-22 Graham Percival <gpermus@gmail.com>
7709 * Documentation/user/basic-notation.itely: clarify dynamic
7712 * Documentation/user/advanced-notation.itely: add unicode
7713 escape control example, whatever that is. :)
7715 * Documentation/user/global.itely: added "removing dynamics
7718 2005-11-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7720 * VERSION (PATCH_LEVEL): release 2.7.18
7722 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7723 System_start_delimiter_engraver by
7724 Nested_system_start_delimiter_engraver.
7726 * lily/nested-system-start-delimiter-engraver.cc (struct
7727 Bracket_nesting_node): new class.
7728 (struct Bracket_nesting_group): new class
7729 (struct Bracket_nesting_staff): new class.
7730 (process_music): create hierarchy of grobs. This allows separate
7731 tuning of different SSDs.
7733 * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7734 (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7736 2005-11-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7738 * lily/side-position-interface.cc (aligned_side): multiply
7741 * lily/script-engraver.cc (make_script_from_event): allow setting
7744 2005-11-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7746 * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7748 * scm/define-grobs.scm (all-grob-descriptions): new grob
7749 NestedSystemStartDelimiter.
7751 * input/regression/system-start-heavy-bar.ly: new file.
7753 * lily/nested-system-start-delimiter-engraver.cc: new file.
7755 * lily/nested-system-start-delimiter.cc: new file.
7757 * input/regression/system-start-nesting.ly: new file.
7759 * scm/define-grobs.scm (all-grob-descriptions): use X side
7760 positioning for positioning braces for nested contexts.
7762 * lily/system-start-delimiter.cc (print): don't divide extent by
7764 (print): use style iso. glyph.
7765 (staff_bracket): translate glyph inside routine already.
7767 2005-11-18 Michael Welsh Duggan <md5i@cs.cmu.edu>
7769 * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7772 2005-11-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
7774 * scm/define-context-properties.scm
7775 (all-user-translation-properties): rename figuredBassFormatter
7776 from newFiguredBassFormatter.
7778 * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7780 * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7782 * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7784 * lily/beam.cc (calc_beaming): new function.
7785 (calc_shorten): new function.
7787 * THANKS: add Edward Neeman.
7789 * input/regression/accidental-clef-change.ly: new file.
7791 * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7793 * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7795 * lily/clef-engraver.cc (inspect_clef_properties): reset
7796 localKeySignature for clef changes.
7798 2005-11-17 Mats Bengtsson <mabe@s3.kth.se>
7800 * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3
7801 add dummy definition that works in Linux and add information in
7802 INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7804 * Documentation/user/changing-defaults.itely (Modifying context
7805 plug-ins): Add index for \with.
7807 * Documentation/user/music-glossary.tely (dal segno): Updated
7808 example to version >=2.6.
7810 2005-11-16 Mats Bengtsson <mabe@s3.kth.se>
7812 * Documentation/user/instrument-notation.itely (Printing chord
7813 names): Reorder \chordmode and \repeat in one example.
7815 2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7817 * VERSION: release 2.7.17
7819 * Documentation/topdocs/NEWS.tely (Top): add note about
7822 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7823 new function. Search region of 3 positions for best tie.
7824 (score_configuration): new function.
7825 (score_aptitude): new function.
7826 (generate_configuration): new function.
7827 (get_configuration): new function.
7828 (Tie_formatting_problem): new function
7830 * input/regression/page-top-space.ly: a6 for page-top-space demo.
7832 * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7834 * THANKS: add Eduardo Vieira & Ralph Little
7836 * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7839 * lily/include/tie-formatting-problem.hh (class
7840 Tie_formatting_problem): add Tie_details to
7841 Tie_formatting_problem. Update calling conventions.
7843 * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7846 * Documentation/user/lilypond.tely: remove musedata2ly entry.
7848 2005-11-16 Jürgen Reuter <reuter@ipd.uka.de>
7850 * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7851 scm/define-context-properties.scm: Maintenance bugfix: make
7852 ligature brackets work again by removing obsolete ligature
7853 primitive callback push/pop.
7855 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7856 not call Tuplet_bracket::calc_direction. Removed obsolete gap
7859 2005-11-15 Jan Nieuwenhuizen <janneke@gnu.org>
7861 * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7862 used and do not call it a path.
7863 (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7865 2005-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7867 * lily/include/tie-formatting-problem.hh (class
7868 Tie_formatting_problem): new file.
7870 * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7872 * Documentation/misc/ChangeLog-2.3: new file.
7874 * lily/audio-staff.cc (output): degarianize.
7876 2005-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
7878 * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7879 Unset PYTHONOPTIMIZE. Fixes install if set.
7881 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7883 * python/convertrules.py (conv): add warning about drums.
7885 * make/stepmake.make: include toplevel-version.make after config.make.
7887 * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7888 also allow python2.4
7890 * config.make.in (configure-srcdir): remove GXX GCC vars.
7892 * stepmake/aclocal.m4: don't do non-srcdir build with
7893 symlinks. Use inclusion, so the src directory name can be changed.
7895 2005-11-13 Jan Nieuwenhuizen <janneke@gnu.org>
7897 * make/mutopia-vars.make:
7898 * make/ly-vars.make: Use src-wildcard iso wildcard for source
7901 2005-11-13 Werner Lemberg <wl@gnu.org>
7903 * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7904 but the affected path. This ensures that the (overlapping) outlines
7905 have the same direction, which is a necessary prerequisite for
7906 FontForge's algorithm to remove overlaps.
7909 * mf/feta-haak.mf: Formatting.
7910 (draw_bracket): Slightly modify outline to avoid an unnecessary
7912 Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7913 them from the affected paths.
7915 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7917 * mf/README: remove xpm / accordion notes.
7919 * lily/tie-column-format.cc (set_chord_outline): add dots into
7920 skyline extents. This fixes tie formatting if the left head has dots.
7922 * lily/tie.cc (get_configuration): only shift tie by a whole staff
7923 space inside the staff.
7924 (get_configuration): shift another position if necessary in case
7927 2005-11-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7929 * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7930 buildscript-dir iso. $(depth)/buildscripts.
7932 * tex/GNUmakefile (local-uninstall): remove
7933 music-drawing-routines.ps juggling.
7935 * stepmake/stepmake/install-targets.make (local-install-files):
7936 prepend src-dir to install targets.
7938 * lily/system-start-delimiter-engraver.cc
7939 (acknowledge_system_start_delimiter): use
7940 add_offset_callback(). This fixes translation of nested
7943 * lily/grob-closure.cc (add_offset_callback): only encaps in
7944 simple_closure if it's a procedure.
7946 * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7949 * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7950 remove-empty where pertinent.
7952 2005-11-12 Graham Percival <gpermus@gmail.com>
7954 * Documentation/user/instrument-notation.itely: added
7955 Cameron Horsburgh's multiple stanzas docs. Thanks!
7957 2005-11-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
7960 ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7961 make picture in builddir, not srcdir.
7963 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7965 * VERSION: release 2.7.16
7967 * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7970 2005-11-10 Mats Bengtsson <mabe@s3.kth.se>
7972 * Documentation/user/examples.itely (Piano templates): Minor
7973 modification to the Piano centered lyrics example.
7975 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7977 * scripts/lilypond-invoke-editor.scm (run-browser): look at
7980 * Documentation/user/point-and-click.itely: simplify p&c
7981 instruction: don't configure firefox. Put lilypond-invoke-editor
7982 in front of the browser.
7984 * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7985 (run-browser): new function.
7987 * lily/parser.yy (Lily_lexer): recognize Book
7989 * lily/book.cc (clone): new function
7991 * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7993 2005-11-10 Jürgen Reuter <reuter@ipd.uka.de>
7995 * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7996 Maintenance bugfix: reduce number of font related warnings by
7997 updating naming conventions for glyph-name.
7999 2005-11-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
8001 * scm/define-grobs.scm (all-grob-descriptions): add
8002 rhythmic-grob-interface to TabNoteHead.
8004 * scm/layout-beam.scm (check-quant-callbacks): remove
8007 2005-11-08 Jürgen Reuter <reuter@ipd.uka.de>
8009 * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
8010 alignment of centered divisiones.
8012 * scm/scripts.scm (articulations): Maintenance bugfix:
8013 follow-into-staff -> quantize-position.
8015 * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
8016 plica head in porrectus deminutus.
8018 2005-11-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
8020 * make/lilypond.fedora.spec.in (Group): add %clean section.
8022 * lily/tuplet-bracket.cc (print): change check: remove bracket if
8023 less then 1/5th of total length.
8024 (print): use gap too. Fixes tupletUp-single-bracket.ly
8026 * scm/music-functions.scm (glue-mm-rest-texts): also put other
8027 events into EventChord. This fixes textspanners on mm rests. Fixes
8030 * lily/side-position-interface.cc (get_axis): read side-axis
8031 (set_axis): set side-axis.
8033 * scm/define-grobs.scm (all-grob-descriptions): add side-axis
8034 properties everywhere.
8036 * lily/spacing-spanner.cc (breakable_column_spacing): add
8037 average-spacing-wishes. Take maximum if not set.
8038 (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
8040 * scm/define-grobs.scm (all-grob-descriptions): add
8041 average-spacing-wishes.
8043 * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
8044 offset callbacks. This fixes alignment for Fingering objects.
8046 * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
8047 space for key - timesig combination.
8049 * input/regression/script-stem-tremolo.ly (Module): new file.
8051 * scm/define-grobs.scm (all-grob-descriptions): decrease distance
8054 * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
8055 Fixes: c-tremolo-script.ly.
8057 * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
8059 * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
8061 * scm/define-grobs.scm (all-grob-descriptions): remove
8062 self-X-offset. Fixes alignment of octavate-8.
8064 * scripts/lilypond-book.py (datadir): look in
8065 LILYPONDPREFIX/share/lilypond/current/
8067 * GNUmakefile.in: symlink current to <VERSION>.
8069 2005-11-07 Pedro Kroger <kroeger@pedrokroeger.net>
8071 * lily/main.cc: eps listed as a backend.
8073 2005-11-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8075 * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
8077 2005-11-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
8079 * lily/include/score.hh (class Score): remove texts_ member.
8081 * lily/beam.cc (set_stem_lengths): force direction callback.
8082 (print): read quantized-positions, so we can force
8083 Beam::set_stem_lengths to occur.
8084 (rest_collision_callback): use common X parent.
8086 2005-11-03 Jan Nieuwenhuizen <janneke@gnu.org>
8088 * flower/file-path.cc (find): Bugfix: Return name of file found.
8090 * lily/main.cc (setup_paths): Bugfix for argv0 logic.
8091 (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
8092 (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
8094 2005-11-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8096 * flower/offset.cc: idem.
8098 * mf/*.mf: update email address.
8100 * lily/font-config-scheme.cc: new file.
8102 * GNUmakefile.in (SUBDIRS): remove debian/ directory.
8104 * lily/*: cs.uu.nl -> xs4all.nl
8106 * VERSION (PATCH_LEVEL): release 2.7.15
8108 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
8111 * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
8113 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8115 * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.
8117 * lily/staff-performer.cc (process_music): add audio
8118 elements. This makes MIDI instrument changes work once again.
8120 * lily/main.cc (LY_DEFINE): add gmane address.
8122 * lily/beam.cc: remove calc_positions()
8124 * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
8125 original_ in private scope.
8126 (class Grob): drop pscore_ pointer, change to output_def pointer.
8127 (class Grob): cleanup class definition.
8129 * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
8131 2005-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
8133 * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
8134 absolute. Better diagnostics.
8136 * GNUmakefile.in: Add bin/ to tree and populate with some links.
8137 This makes lilypond run from the build directory using argv0
8138 relocation (without any --prefix or LILYPONDPREFIX setting).
8140 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8142 * Documentation/topdocs/NEWS.tely (Top): document new backend design.
8144 * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
8145 with simple-closure.
8147 * lily/self-aligment-interface.cc (set_align_self): new function
8148 (set_center_parent): new function.
8150 * lily/side-position-interface.cc (set_axis): new function.
8152 * lily/new-fingering-engraver.cc (position_scripts): use drul for
8155 * scm/define-grob-properties.scm (all-user-grob-properties):
8156 remove [XY]-offset-callbacks add [YX]-offset
8158 2005-11-02 Mats Bengtsson <mabe@s3.kth.se>
8160 * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
8161 entry for time signatures after breathing signs. Bug report by
8164 2005-11-01 Jan Nieuwenhuizen <janneke@gnu.org>
8166 * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
8167 not absolute, make it absolute using PATH.
8169 2005-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
8171 * python/midi.c (initmidi): Fix type for mingw.
8173 2005-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
8175 * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8177 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8180 * stepmake/aclocal.m4: Support python cross compiling.
8182 * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8185 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8187 * scm/output-lib.scm (chain-grob-member-functions): replace
8190 * lily/chained-callback.cc (Module): remove file.
8192 * lily/rest-collision.cc (force_shift_callback_rest): change to
8195 * lily/rest.cc (y_offset_callback): merge function of 3 callbacks.
8197 * lily/grob.cc (y_parent_positioning): remove axis argument from
8198 parent_positioning callbacks.
8199 (Grob): junk init code
8200 (get_offset): use generic property callbacks for
8201 X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8202 (axis_parent_positioning): new function
8203 (axis_offset_symbol): new function
8204 (chain_offset_callback): new function
8205 (add_offset_callback): new function
8207 * lily/beam.cc (rest_collision_callback): change signature; this
8208 is now a chained callback.
8210 * lily/include/dimension-cache.hh (class Dimension_cache): remove
8211 callback administration.
8213 * lily/simple-closure.cc: new file. Smob type that allows "grob
8216 (ly:make-simple-closure FUNC A B)
8218 is evaluated as (FUNC grob A B). This allows chaining of callbacks
8221 * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8224 * lily/slur.cc (outside_slur_callback): take 2 arguments.
8226 * lily/rest.cc (polyphonic_offset_callback): remove.
8228 * lily/script-engraver.cc (try_music): remove bool* argument.
8230 * scm/script.scm (default-script-alist): set quantize-position
8233 * lily/script-engraver.cc: remove follow_into_staff_ special coding.
8235 * lily/side-position-interface.cc (aligned_side): move staff
8236 position quantization from
8237 Side_position_interface::quantised_position().
8238 (quantised_position): remove
8240 2005-10-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
8242 * input/regression/beam-quant-standard.ly: reindent, set
8243 debug-beam-quanting to #t.
8245 * lily/beam-concave.cc (calc_concaveness): set concaveness to
8246 10000 if this is a "hard" concave beam.
8248 * lily/beam.cc (calc_least_squares_positions): change from
8249 calc_least_squares_dy
8250 (set_stem_lengths): this is now a chained callback.
8252 * lily/context-property.cc (execute_general_pushpop_property):
8253 bugfix override with procedure should have effect.
8255 * scm/define-grob-properties.scm (all-internal-grob-properties):
8256 remove position-callbacks.
8258 * scm/define-grobs.scm (all-grob-descriptions): use
8259 ly:make-callback-chain for positions property.
8261 * scm/layout-beam.scm (check-quant-callbacks): return list of
8264 * scm/lily.scm (type-p-name-alist): add callback-chain
8266 * lily/lily-guile.cc (type_check_assignment): type check failure
8267 is warning not message.
8269 * lily/grob-property.cc (try_callback): walk callback chain if
8272 * lily/chained-callback.cc: new file. new smob type.
8274 * lily/lily-guile.cc (procedure_arity): new function.
8276 2005-10-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8278 * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8280 2005-10-25 John Mandereau <john.mandereau@free.fr>
8282 * Documentation/user/instrument-notation.itely (Figured bass):
8283 describe new features
8285 2005-10-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8287 * lily/beam.cc (calc_least_squares_dy): use property callback.
8289 * lily/beam-concave.cc (calc_concaveness): use property callback.
8291 * ly/paper-defaults.ly: move fixed dimensions from paper.scm
8293 2005-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
8297 2005-10-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
8299 * scm/layout-page-layout.scm (page-headfoot): annotate
8302 * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit.
8304 * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8305 doesn't take y-space.
8307 * scm/paper.scm (paper-alist): fix A7 dimensions.
8309 2005-10-24 Jan Nieuwenhuizen <janneke@gnu.org>
8311 * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8312 src-wildcard, remove $(wildcard).
8314 * po/GNUmakefile (PO_FILES):
8315 * ps/GNUmakefile (PS_FILES):
8316 * tex/GNUmakefile (TEX_FILES):
8317 * cygwin/GNUmakefile (POSTINSTALLS):
8318 * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8319 some wildcard calls.
8321 2005-10-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
8323 * THANKS: add Thomas Bushnell.
8325 2005-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
8327 * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8328 (lilypond-main): Redirect to gui-main if 'gui is set.
8330 * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8331 for alternative installations kludging s/share/lib/g
8334 * SConstruct (libdir_package_version): Define.
8336 * python/SConscript:
8337 * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8340 2005-10-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
8342 * lily/main.cc: clarify --safe.
8344 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8346 * VERSION: release 2.7.14
8348 * Documentation/user/*.itely: remove minimumVerticalExtent.
8350 * scm/define-grobs.scm (all-grob-descriptions): remove
8351 RemoveEmptyVerticalGroup
8353 * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8355 * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8358 * python/convertrules.py (conv): add rules.
8360 * lily/grob.cc: remove is_empty()
8362 * lily/grob-property.cc: remove add_to_list_property().
8364 * scripts/convert-ly.py (datadir): add prefix switching hack to
8367 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8368 space-function tweak.
8370 * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8372 * scm/define-grob-properties.scm (all-user-grob-properties):
8373 remove callback property.
8375 * lily/include/grob.hh (class Grob): remove property_callbacks_
8376 member. Properties of procedure type are assumed to be callbacks.
8378 * lily/ligature-engraver.cc (override_stencil_callback):
8379 rewrite. Use noteHeadLigaturePrimitive as source.
8381 * scm/define-grob-properties.scm (all-internal-grob-properties):
8382 remove ligature-primitive-callback
8384 * lily/include/dimension-cache.hh (class Dimension_cache): make
8385 class, with Grob as friend.
8387 * lily/grob.cc: remove set_extent_callback(), set_extent() and
8388 has_extent_callback()
8390 * scm/translation-functions.scm (format-new-bass-figure): read
8391 figuredBassPlusDirection
8393 * scm/define-context-properties.scm
8394 (all-user-translation-properties): add figuredBassPlusDirection.
8396 * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8398 * lily/align-interface.cc (set_ordered): new function.
8400 * lily/grob.cc (flush_extent_cache): rewrite.
8402 * lily/dimension-cache.cc (Dimension_cache): cache extent as
8403 Interval pointer directly.
8405 * lily/main.cc (setup_paths): insert extra / .
8406 (setup_paths): junk cff entry.
8408 * lily/font-config.cc (init_fontconfig): only add type1 / otf
8411 * lily/axis-group-engraver.cc (finalize): remove
8412 extraVerticalExtent, minimumVerticalExtent verticalExtent.
8414 * lily/grob.cc (Grob): don't set extent from ctor.
8415 (extent): use property callbacks.
8417 * lily/axis-group-interface.cc: remove set_axes() function.
8419 * lily/grob-property.cc (del_property): new function.
8421 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8423 * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8425 2005-10-20 Jan Nieuwenhuizen <janneke@gnu.org>
8427 * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add.
8429 2005-10-19 Jan Nieuwenhuizen <janneke@gnu.org>
8431 * mf/SConscript: Updates.
8433 * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8435 * stepmake/stepmake/*:
8439 * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8440 from any directory in build-dir. Cleanups.
8442 * make/srcdir.make.in: Remove.
8444 * lily/main.cc (setup_paths): Fix and document build-dir hack.
8446 * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8449 * lily/SConscript: Remove ttftools.
8451 * SConstruct: Resurrect.
8453 2005-10-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
8455 * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8458 * lily/paper-book.cc (add_score_title): put Paper_score title into
8461 * scm/translation-functions.scm (format-new-bass-figure): also
8462 allow plus in combination with _
8464 2005-10-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8466 * VERSION: 2.7.13 released.
8468 * lily/note-collision.cc (check_meshing_chords): don't wipe
8469 stencil, merely set transparent.
8471 * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau.
8472 (Top): document #'callbacks.
8473 (Top): document nested \override.
8475 * input/regression/figured-bass.ly: update for slash and pluses.
8477 * input/regression/figured-bass-continuation-forbid.ly (Module):
8480 * scm/translation-functions.scm (format-new-bass-figure): use
8481 slashed-digit if diminished is set.
8482 (format-new-bass-figure): add + if 'augmented is set.
8484 * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8486 * input/test/piano-staff-distance.ly: remove file.
8488 * Documentation/user/advanced-notation.itely (Formatting cue
8489 notes): use length-fraction for making stems/beams smaller.
8491 * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8494 * lily/new-figured-bass-engraver.cc: new property
8495 centerFiguredBassContinuations
8497 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8500 * lily/context-property.cc (execute_general_pushpop_property):
8503 * input/regression/override-nest.ly: new file.
8505 * python/convertrules.py (FatalConversionError.subber): conversion
8506 rule for #'callbacks
8508 * input/regression/override-nest.ly: new function.
8510 * lily/parser.yy (music_property_def): allow \override #'a #'b =
8513 * lily/context-property.cc (lookup_nested_property): new function.
8514 (evict_from_alist): new function.
8515 (general_pushpop_property): new function.
8516 (execute_general_pushpop_property): rewrite. Support nested
8519 2005-10-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
8521 * lily/beam.cc: use length-fraction too.
8523 * scm/define-grob-properties.scm (all-user-grob-properties):
8524 remove property flag-width-function
8525 (all-user-grob-properties): remove space-function.
8527 * scm/layout-beam.scm: remove flag-width-function.
8529 * lily/beam.cc: remove flag-width-function
8531 * scm/layout-beam.scm: remove beam dir functions.
8533 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8535 * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8536 for easier grace tweaks.
8538 * lily/beam.cc: remove dir-function.
8540 * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8542 * lily/grob.cc: remove spacing-procedure.
8544 * lily/note-head.cc (calc_stem_attachment): new function.
8545 (internal_print): use callback to get glyph-name.
8547 * lily/grob-property.cc (get_interfaces): new function.
8549 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8551 * lily/stem.cc (calc_stem_end_position): new function.
8552 (calc_length): new function.
8553 document details for stem.
8554 remove Stem::get_direction()
8556 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback!
8558 * lily/grob-property.cc (set_callback): new function.
8560 * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8562 * lily/item-scheme.cc: new file.
8564 * lily/bar-line.cc (before_line_breaking): remove function.
8565 remove bar-size-procedure, break-glyph-function
8567 * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8569 * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8571 * lily/system-start-delimiter.cc (print): suicide from
8572 here. Remove after_line_breaking_callback.
8574 * lily/script-interface.cc (calc_direction): use callback for direction.
8576 * lily/side-position-interface.cc (aligned_side): don't use
8577 Side_position_interface::get_direction directly. Use callback.
8579 * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8581 (get_print_stencil): rename from get_stencil: create stencil with
8582 transparency, color and cause.
8584 * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8586 * python/convertrules.py (conv): insert temporary warning rule.
8588 * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8590 * lily/grob-property.cc (try_callback): remove marker if applicable.
8592 * lily/grob.cc: elucidate doc about after/before-line-breaking
8594 * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8596 * lily/stem.cc (height): idem.
8598 * lily/stem-tremolo.cc: idem.
8600 * lily/slur.cc (height): don't use get_uncached_stencil()
8602 * lily/rest.cc (y_offset_callback): use offset callback
8603 iso. after-line-breaking callback.
8605 * lily/grob.cc: change after/before-line-breaking-callback to
8606 after/before-line-breaking dummy properties.
8608 * lily/include/grob.hh: remove Grob_status.
8610 * scm/define-context-properties.scm
8611 (all-user-translation-properties): remove verticalAlignmentChildCallback
8613 * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8614 (calc_direction): use callback
8615 (calc_positions): use callback.
8617 * lily/tie.cc (calc_direction): use callback. Only call parent
8618 positioning for more than one tie.
8620 * lily/tie-column.cc (calc_positioning_done): use callback
8622 * lily/slur-scoring.cc (calc_control_points): use callback
8624 * lily/slur.cc (calc_direction): use callback.
8626 * lily/note-collision.cc (force_shift_callback): remove.
8628 * lily/dot-column.cc (force_shift_callback): remove. Use
8629 other_axis_parent_positioning.
8631 * lily/grob.cc (other_axis_parent_positioning): new function.
8632 (same_axis_parent_positioning): new function
8634 * lily/align-interface.cc (alignment_callback): remove function.
8636 * lily/note-collision.cc (calc_positioning_done): use callback.
8638 * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8639 (calc_direction): idem.
8640 remove print function.
8642 * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8644 * lily/dot-column.cc (calc_positioning_done): use callback.
8646 * lily/break-align-interface.cc (calc_positioning_done): use callback.
8648 * lily/beam.cc (calc_direction): use pseudo-property for beam
8650 (calc_positions): use callback
8652 * lily/align-interface.cc (calc_positioning_done): use
8653 callback. Fold fixed distance and normal alignment in one function.
8655 * lily/stem.cc (calc_stem_end_position): use callback.
8656 (calc_positioning_done): idem.
8657 (calc_direction): idem.
8658 (calc_stem_end_position): idem
8659 (calc_stem_info): idem.
8661 * lily/grob-property.cc (get_property_data): new function:
8662 (try_callback): new function.
8664 * scm/define-grob-properties.scm (all-user-grob-properties): doc
8667 * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8669 2005-10-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
8671 * lily/tie.cc (get_position): robustness fix. Don't crash if a
8675 * lily/include/*.hh (Module): compile fixes.
8677 2005-10-14 Heikki Junes <hjunes@cc.hut.fi>
8679 * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil
8680 as an argument for char-syntax: use (char-syntax (or nil 0))
8681 instead of (char-syntax nil), thanks to Milan Zamazal.
8683 2005-10-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
8685 * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8688 * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8691 2005-10-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8693 * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8694 add class_name() method.
8696 * lily/music-scheme.cc: remove ly:music-name.
8698 2005-10-11 Jan Nieuwenhuizen <janneke@gnu.org>
8700 * cygwin/postinstall-lilypond.sh: Remove cruft.
8702 * cygwin/postremove-lilypond.sh: Remove.
8704 * cygwin/GNUmakefile (default): Remove postremove rules.
8706 2005-10-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8708 * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8711 * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8714 * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8715 consider break index for broken spanner.
8717 * scm/define-markup-commands.scm (wordwrap-string): remove \r
8718 characters from string before splitting.
8720 2005-10-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
8722 * scm/framework-ps.scm (output-preview-framework): use
8723 is-book-title to determine whether to chop off the booktitle.
8725 * lily/paper-book.cc (systems): init from book-title-properties
8726 (add_score_title): init score-title-properties.
8728 * ly/paper-defaults.ly: add {score,book}-title-properties.
8730 * scm/document-backend.scm (lookup-interface): error message if
8731 using unknown interface.
8733 * lily/volta-bracket.cc (after_line_breaking): new function. Set
8736 * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8738 (make_bracket): new function.
8740 * scm/lily.scm (define-scheme-options): add paper-size option.
8742 * ly/declarations-init.ly (laissezVibrer): get paper size from
8745 * scm/translation-functions.scm: use \fontsize for changing the
8748 * scm/define-grobs.scm (all-grob-descriptions): set
8749 between-length-limit to 1.0
8751 * lily/tie-helper.cc: add between_length_limit_ detail property.
8753 * mf/feta-bolletjes.mf: typos.
8755 * lily/note-head.cc (internal_print): don't shadow idx
8756 parameter. This fixes wrong attachment for do shape heads.
8758 2005-10-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
8760 * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8762 * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8764 * scm/layout-slur.scm: rename from slur.scm
8766 * scm/layout-page-layout.scm: rename from page-layout.scm
8768 * scm/layout-beam.scm: rename from beam.scm
8770 * scm/define-grob-interfaces.scm (bass-figure-interface): add
8771 bass-figure-interface
8773 * lily/new-figured-bass-engraver.cc (process_music): add
8774 implicitBassFigures property.
8776 * scm/define-markup-commands.scm (pad-x): new markup.
8778 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8779 minimumVerticalExtent on FiguredBass context.
8781 * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8782 case the continuation crosses a line break.
8784 2005-10-09 Jan Nieuwenhuizen <janneke@gnu.org>
8786 * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8787 unconverted value if cygwin_conv_to_posix_path () fails. Fixes
8788 absolute file name bug.
8790 2005-10-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
8792 * VERSION (PACKAGE_NAME): release 2.7.12
8794 * input/regression/figured-bass-continuation-center.ly: new file.
8796 * input/regression/beam-outside-beamlets.ly: new file.
8798 * lily/beam.cc (set_beaming): don't clip edges.
8799 (connect_beams): don't clip edges.
8801 * lily/beaming-info.cc (clip_edges): new function.
8803 * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8805 * Documentation/user/instrument-notation.itely (Figured bass):
8806 demonstrate extenders, update seealso links.
8808 * scm/titling.scm (marked-up-headfoot): change tagline
8809 handling. tagline = ##f will blank the tagline as well.
8811 2005-10-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8813 * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8815 * lily/new-figured-bass-engraver.cc (struct
8816 New_figured_bass_engraver): add new_music_found_ member.
8818 * lily/lilypond-version.cc (Lilypond_version): deal with
8819 incorrectly formatted version strings.
8821 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8822 New_figured_bass_engraver by default.
8824 * lily/ttf.cc (print_trailer): only define glyph names when
8825 FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8827 2005-10-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8829 * lily/horizontal-bracket.cc (make_bracket): new function.
8831 * scm/define-grobs.scm (all-grob-descriptions): new grobs
8832 NewBassFigure, BassFigureBracket, BassFigureContinuation,
8833 BassFigureLine, BassFigureAlignment
8835 * lily/new-figured-bass-engraver.cc (process_music): new file.
8837 * lily/figured-bass-continuation.cc: new file.
8839 * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8842 2005-10-04 Mats Bengtsson <mabe@s3.kth.se>
8844 * scripts/lilypond-book.py: Bug fix, put the quote around the
8845 actual score for LaTeX documents.
8847 * scm/define-grobs.scm (all-grob-descriptions): Change
8848 collapse-height of the SystemStartBracket grob to 5.0,
8849 so the bracket disappears for single stave score lines (similarly
8850 to SystemStartBraces).
8852 * Documentation/user/advanced-notation.itely (Polymetric
8853 notation): Clarify the use of compressMusic.
8855 * Documentation/user/basic-notation.itely (Grace notes): Clarify
8856 that the grace spacer note in other staves need the same duration
8857 and document the stroke-style property.
8859 2005-10-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8861 * Documentation/user/global.itely (Vertical spacing): document
8862 alignment-extra-space and fixed-alignment-extra-space.
8864 * Documentation/topdocs/NEWS.tely (Top): add entry.
8866 * input/regression/alignment-vertical-spacing.ly: new file.
8868 * python/convertrules.py (conv): add rule.
8870 * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8872 * lily/align-interface.cc (stretch_after_break): new
8873 function. Read fixed-alignment-extra-space property.
8874 (align_elements_to_extents): read alignment-extra-space property.
8876 * lily/lily-guile.cc (robust_scm2dir): new function.
8878 * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8879 (annotate-space-left): new function. Annotate space left on page.
8880 (annotate-y-interval): new function.
8881 (paper-system-annotate-last): new function. Annotate bottom-space.
8883 * mf/feta-beugel.mf (y):
8885 2005-10-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8887 * VERSION (PACKAGE_NAME): release 2.7.11
8889 * scm/lily-library.scm (interval-translate): new function
8890 (interval-center): new function.
8892 * scm/page-layout.scm (paper-system-annotate): new function. Add
8893 arrows for dimensions.
8895 * scm/stencil.scm (dimension-arrows): new function.
8897 * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8899 * input/regression/page-spacing.ly: add annotatespacing
8901 * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8902 (LY_DEFINE): new function ly:paper-system-set-property!
8904 * Documentation/user/global.itely (Paper size): explain how to add
8907 * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8908 correspond to GS's definition.
8910 * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8912 (print): only connect to next bracket if the next one is alive.
8913 (print): set padding to 0.0 if the bound is a breakable
8914 column. This makes tupletFullLength brackets reach up to the staff
8915 line if it doesn't connect to the next line.
8917 2005-09-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
8919 * lily/bar-number-engraver.cc: correct docs.
8921 * scm/output-lib.scm (first-bar-number-invisible): rename from
8922 default-bar-number-visibility
8924 2005-09-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8926 * scm/define-music-properties.scm (all-music-properties): remove
8929 2005-09-28 Heikki Junes <hjunes@cc.hut.fi>
8931 * po/fi.po: refresh.
8933 2005-09-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
8935 * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8937 (disappear): bugfix.
8939 * lily/stem-tremolo.cc (raw_stencil): read slope property.
8941 * lily/include/paper-system.hh (class Paper_system): remove
8942 staff_extents_ member.
8944 * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8946 * lily/include/paper-system.hh (class Paper_system): remove
8947 number_ variable. Remove is_title_. Remove break_before_penalty_
8949 * lily/paper-book.cc (systems): use 'number property iso. number_
8952 * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8953 remove ly:paper-system-number.
8955 * scm/lily-library.scm (paper-system-title?): new function.
8957 * lily/book.cc (process): bugfix: flip ?: cases.
8959 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8962 * ly/music-functions-init.ly: add outputProperty music function.
8964 * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8966 * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8968 (optimal-page-breaks): rename from ly:optimal-page-breaks.
8970 * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8972 * lily/paper-system.cc (internal_get_property): new function.
8974 * Documentation/user/global.itely (Vertical spacing): refer to
8977 * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8980 * input/regression/page-spacing.ly: new file.
8982 * input/regression/page-top-space.ly: new file.
8984 * lily/spacing-spanner.cc: cmath -> math.h
8986 * lily/paper-system.cc (read_left_bound): new function. Read
8987 line-break-system-details from left bound to determine extents.
8989 * Documentation/user/programming-interface.itely (Using LilyPond
8990 syntax inside Scheme): change applyxxx -> applyXxx.
8992 * ly/music-functions-init.ly: add outputProperty music function.
8994 * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8996 * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8998 * python/convertrules.py (conv): rule
9000 * ly/music-functions-init.ly: applyxxx -> applyXxx
9002 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
9005 2005-09-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
9007 * flower/include/real.hh: include <math.h> iso. <cmath>
9009 * flower/include/offset.hh: include real.hh
9011 2005-09-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
9013 * Documentation/user/changing-defaults.itely (Difficult tweaks):
9014 fix example, now that 'interfaces is no longer directly available.
9016 * lily/book.cc (process): don't crash if paper == NULL.
9020 2005-09-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
9022 * scm/define-music-types.scm (music-descriptions): set length and
9023 start-callback for QuoteMusic
9025 2005-09-15 Mats Bengtsson <mabe@s3.kth.se>
9027 * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
9028 arguments. Fixes compilation error with gcc 3.3.
9030 2005-09-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
9032 * VERSION: release 2.7.10
9034 * stepmake/stepmake/python-module-rules.make
9035 ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.
9037 * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
9040 2005-09-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
9042 * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
9043 -Werror. Otherwise GCC barfs over various optimizations.
9045 * scm/define-grob-properties.scm (all-internal-grob-properties):
9046 add note-head property
9048 * Documentation/user/instrument-notation.itely (Laissez vibrer
9051 * input/regression/laissez-vibrer-ties.ly: new file.
9053 * lily/laissez-vibrer-engraver.cc: new file.
9055 * lily/include/tie-column-format.hh: new file.
9057 * lily/tie-column-format.cc: new file.
9059 * lily/tie-column.cc (set_manual_tie_configuration): new function.
9061 * lily/laissez-vibrer-tie.cc: new file.
9063 * lily/include/laissez-vibrer-tie.hh: new file.
9065 * ly/engraver-init.ly: add Laissez_vibrer_engraver
9067 * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
9069 * scm/define-grobs.scm (all-grob-descriptions): add
9070 LaissezVibrerTie, LaissezVibrerTieColumn
9072 * lily/tie-column.cc (set_tie_config_directions): new function
9073 (final_shape_adjustment): new function.
9074 (shift_small_ties): new function.
9076 * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
9078 * lily/include/tie.hh (struct Tie_details): add x_gap_
9079 (struct Tie_configuration): add head_position_
9081 * lily/tie-column.cc (set_chord_outline): new function.
9083 * mf/cmr.enc.in: remove file.
9085 2005-09-11 Graham Percival <gpermus@gmail.com>
9087 * Documentation/user/examples.itely: typo fix. Thanks, Matevž
9089 2005-09-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
9091 * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
9092 reduce aliasing effects.
9094 * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
9097 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
9099 * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
9101 * flower/include/real.hh: std::fabs too.
9103 2005-09-08 Jan Nieuwenhuizen <janneke@gnu.org>
9105 * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner).
9107 * lily, flower: Include C++ iso C headers. Import namespace std
9110 * lily/side-position-interface.cc:
9112 * lily/note-head.cc:
9113 * lily/include/includable-lexer.hh:
9114 * flower/include/string-data.icc: Remove using std::*.
9116 * lily, flower: Include C++ iso C headers. Import namespace std
9119 * lily/side-position-interface.cc:
9121 * lily/note-head.cc:
9122 * lily/include/includable-lexer.hh:
9123 * flower/include/string-data.icc: Remove using std::*.
9125 * Documentation/user/instrument-notation.itely (Entering lyrics):
9126 Multiple latin-1->utf-8 conversion fix.
9128 * Documentation/user/*tely: Update Emacs cookie to utf-8.
9130 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
9132 * lily/tie.cc (get_configuration): also avoid dots for non-space
9135 2005-09-07 Jan Nieuwenhuizen <janneke@gnu.org>
9137 * Documentation/user/instrument-notation.itely: Bugfix.
9139 2005-09-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
9141 * tex/GNUmakefile: don't install texinfo.tex
9143 * tex/ : cleanup: remove unused files.
9145 * lily/general-scheme.cc: remove my_{isinf,isnan}.
9147 * flower/include/real.hh: using std::{isnan,isinf}
9149 * VERSION (PATCH_LEVEL): release 2.7.9
9151 2005-09-05 Graham Percival <gpermus@gmail.com>
9153 * Documentation/user/ instrument-notation.itely,
9154 advanced-notation.itely: minor tweaks.
9156 * input/test/script-chart.ly: add item padding.
9158 2005-09-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
9160 * flower/offset.cc: use math.h iso. <cmath>
9162 * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
9165 * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
9166 (widen-left-stencil-edges): new function. Fix alignment problems
9167 with LaTeX includegraphics.
9169 * lily/text-interface.cc (interpret_markup): use abort().
9171 2005-09-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
9173 * input/regression/tie-chord.ly (testLong): add a chord in 4ths
9175 * lily/tie.cc (get_configuration): update bezier shape as we
9177 (get_configuration): don't move large ties if we're outside of the
9180 2005-09-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
9182 * scm/define-markup-commands.scm (strut): swap X and Y dims.
9184 2005-09-03 Jan Nieuwenhuizen <janneke@gnu.org>
9186 * .cvsignore: Add auto-generated configure files and then some.
9188 2005-09-02 Jan Nieuwenhuizen <janneke@gnu.org>
9190 * scm/define-grobs.scm (DynamicLineSpanner): Add
9191 X-extent-callback. Fixes hairpin-slur collision.
9193 2005-08-31 Graham Percival <gpermus@gmail.com>
9195 * Documentation/user/advanced-notation.itely,
9196 basic-notation.itely: minor changes.
9198 2005-08-31 Mats Bengtsson <mabe@s3.kth.se>
9200 * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9201 \linebreak between each .eps file if \betweenLilyPondSystem is
9204 * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9205 music): Document the \linebreak
9207 * Documentation/user/lilypond-book.itely,
9208 input/tutorial/lbook-latex-test.tex,
9209 Documentation/user/examples.itely: Remove \usepackage{graphics}
9211 2005-08-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
9213 * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9215 * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9218 * scripts/lilypond-book.py (PREAMBLE_LY): define
9219 inside-lilypond-book
9220 (modify_preamble): new function. Insert \RequirePackage{graphics}
9221 when no {graphics found in preamble.
9223 2005-08030 Graham Percival <gpermus@gmail.com>
9225 * Documentation/user/basic-notation.itely, global.itely,
9226 tutorial.itely: misc small changes.
9228 2005-08-30 Jan Nieuwenhuizen <janneke@gnu.org>
9230 * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9233 2005-08-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
9235 * lily/tie-column.cc (new_directions): put Tie down on center
9238 * lily/script-interface.cc (before_line_breaking): use
9239 Grob::programming_error
9241 * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9243 * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9246 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9248 * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9250 2005-08-29 Werner Lemberg <wl@gnu.org>
9252 * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9253 the `*.scale.pfa' files to avoid warnings.
9255 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9257 * lily/tempo-performer.cc (process_music): idem.
9259 * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9261 2005-08-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
9263 * Documentation/user/advanced-notation.itely (Text markup): not a
9266 * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9268 * lily/staff-performer.cc (initialize): add tempo/name to
9271 2005-08-26 Graham Percival <gpermus@gmail.com>
9273 * Documentation/user/advanced.itely: add text-only example.
9275 * Documentation/user/invoking.itely: add index entries for
9278 * Documentation/user/ tutorial.itely, basic-notation.itely:
9279 small fixes suggested by Steve D. Thanks!
9281 2005-08-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
9283 * input/regression/markup-bidi-pango.ly: new file.
9285 * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9286 standard. Remove #ifdef. Remove memleak.
9287 (text_stencil): use text_dir to decide how to composite items.
9288 (text_stencil): determine uniform text direction for the entire
9291 * scripts/lilypond-book.py (output_name): remove
9292 latex_filter_cmd. Non-portable to non-Unix systems.
9293 (get_latex_textwidth): use File.write and os.unlink() instead.
9295 * THANKS: add Vicente & Trevor.
9297 * lily/grob.cc (discretionary_processing): look up origin for
9298 programming_error too.
9300 * input/regression/tie-broken.ly: new file.
9302 * lily/tie-column.cc (set_chord_outlines): set outline for line
9305 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9307 * lily/pango-font.cc (text_stencil): don't translate glyphs in
9308 unscaled transform, just translate stencils.
9310 * ly/performer-init.ly: init timing to #t. Fixes bar checks in
9313 * scm/define-markup-commands.scm (wordwrap-string): use
9315 (wordwrap-stencils): idem.
9318 (wordwrap-stencils): translate last line to right for
9319 text-direction = LEFT.
9321 * scm/define-grob-properties.scm (all-user-grob-properties): add
9324 2005-08-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
9326 * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9327 when copying a Lily_parser object.
9329 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9331 * scm/define-markup-commands.scm (null): add null markup.
9333 2005-08-25 Mats Bengtsson <mabe@s3.kth.se>
9335 * lily/item.cc: Add documentation of center-invisible
9337 2005-08-24 Graham Percival <gpermus@gmail.com>
9339 * Documentation/user/advanced-notation.itely: add info about
9342 * Documentation/user/programming-interface.itely: fix example
9343 involving raised text.
9345 2005-08-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
9347 * lily/beam.cc (print): fix X start/end points of isolated
9350 * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9352 * lily/multi-measure-rest.cc (set_text_rods): new function.
9354 * lily/vertical-align-engraver.cc (process_music): call
9355 Align_interface::set_axis(). This forces #'elements to be ordered,
9356 preventing random vertical reordering of staves.
9358 * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9359 add avoid-slur property.
9361 * Documentation/user/basic-notation.itely (Measure repeats): add
9362 countPercentRepeats example.
9364 * Documentation/user/advanced-notation.itely (Other text markup
9365 issues): remove remark about normal-font. We have \normal-text
9367 * input/regression/tie-chord.ly: add note about remaining bugs.
9369 * lily/tie.cc (print): try Tie_column::set_directions () if
9370 control-points not yet defined.
9372 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9374 * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9375 extent. This fixes braces falling out of the EPS bbox.
9377 * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9380 2005-08-23 Graham Percival <gpermus@gmail.com>
9382 * {various} : change #up->#UP and #down->#DOWN.
9384 * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9386 * Documentation/user/advanced-notation.itely: clarify
9387 what objects handles text on a multimeasure rest.
9389 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9391 * VERSION (PATCH_LEVEL): release 2.7.7
9393 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9395 * make/lilypond-vars.make: set -dgs-font-load for "make web"
9397 * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9399 * input/regression/*.ly: formatting clean-up. Default layout
9400 before music expression.
9402 * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9403 romanze28-2 example.
9405 * scm/ps-to-png.scm: remove dir-re function.
9406 (make-ps-images): generate page names, instead of globbing them.
9407 This brings down LilyPond memory usage for make web by a factor
9410 * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9411 don't use glob. With 3000 files, globbing
9412 Documentation/user/out-www/ can take too much time.
9414 * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9416 * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9418 * input/regression/tie-manual.ly: new file
9420 * input/regression/tie-chord.ly: update.
9422 * flower/include/interval.hh (struct Interval_t):
9424 * lily/tie.cc (distance): new function
9425 (height): new function.
9426 (init): new function
9427 (Tie_details): new struct.
9429 * lily/skyline.cc (skyline_height): new function.
9431 * lily/tie-column.cc (set_chord_outlines): new function.
9432 (new_directions): read tie-configuration
9434 * lily/skyline.cc: fix ASCII art.
9436 2005-08-22 Mats Bengtsson <mabe@s3.kth.se>
9438 * python/convertrules.py (string_or_scheme): Fix spelling error
9440 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9442 * lily/tie-column.cc (set_directions): set directions only once.
9443 (add_configuration): new function.
9445 * lily/tie.cc (set_control_points): new function
9447 * lily/tie-column.cc (new_directions): new function.
9449 * ly/music-functions-init.ly: set 'pitch property
9450 iso. trill-pitch. This makes \relative work with \pitchedTrill
9452 * lily/tie.cc (get_configuration): new function. Don't generate
9453 control points, rather, generate configuration.
9454 remove head-pair property.
9456 * lily/include/tie.hh (struct Tie_configuration): new struct.
9458 2005-08-22 Heikki Junes <hjunes@cc.hut.fi>
9460 * Documentation/topdocs/NEWS.tely: clarify.
9462 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9464 * lily/tie.cc: remove minimum-length
9466 * scm/define-grob-properties.scm (all-user-grob-properties):
9467 remove staffline-clearance, y-offset
9469 * input/regression/tie-dots.ly (Module): remove.
9471 * lily/tie.cc (get_control_points): rewrite. Put short ties in
9472 staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9474 * input/regression/tie-single.ly: new file.
9476 2005-08-21 Graham Percival <gpermus@gmail.com>
9478 * ly/bagpipe.ly: fix compile problem.
9480 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9482 * lily/midi-item.cc (name): new method.
9484 * lily/staff-performer.cc (acknowledge_audio_element): use
9485 signature of baseclass.
9487 * lily/engraver-group.cc (do_announces): move recursion call out
9490 * lily/drum-note-performer.cc (class Drum_note_performer): use
9491 process_music everywhere.
9493 * ly/performer-init.ly: add default children everywhere.
9495 * lily/paper-book.cc (output): call paper-book-write-midis
9496 directly: always write MIDI, even if no \layout {} block.
9498 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9500 * VERSION (PACKAGE_NAME): release 2.7.6
9502 * lily/percent-repeat-engraver.cc (try_music): don't print warning
9503 about not being able to handle repeat.
9505 2005-08-19 Jan Nieuwenhuizen <janneke@gnu.org>
9507 * Documentation/user/examples.itely (Piano templates):
9508 * lily/include/performer-group.hh: Remove last traces of
9509 Performer_group_performer. Fixes make web.
9511 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9513 * Documentation/user/examples.itely (Piano templates): change
9514 Engraver_group_engraver -> Engraver_group
9516 * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9517 scm_stand_in_procs is not weak_any.
9519 * lily/volta-bracket.cc (print): don't use strcmp().
9521 * lily/volta-engraver.cc (process_music): use
9522 Text_interface::is_markup() for setting the 'text property of the
9525 * input/mutopia/claop.py (accents): update syntax to 2.6
9527 * scm/define-context-properties.scm
9528 (all-user-translation-properties): add countPercentRepeats.
9530 * Documentation/user/basic-notation.itely (Measure repeats): add
9531 isolated percent example.
9533 2005-08-18 Graham Percival <gpermus@gmail.com>
9535 * input/ {various}: change direction #1, #-1 to
9536 #up/#down or \fooUp, \fooDown.
9538 * Documentation/user/music-glossary.tely: #-1 to #down.
9540 * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9541 to #up, #-1 to #down.
9543 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9545 * lily/include/engraver-group.hh: rename.
9547 * lily/include/performer-group.hh: rename.
9549 2005-08-18 Mats Bengtsson <mabe@s3.kth.se>
9551 * input/test/script-abbreviations.ly: Removed some old LaTeX
9554 2005-08-18 Jan Nieuwenhuizen <janneke@gnu.org>
9556 * python/convertrules.py (conv): inside-slur -> avoid-slur.
9557 Remove functions. Remove if 1: constructs, reindent.
9559 * scripts/convert-ly.py (add_version): Add functions from
9562 * scm/script.scm (default-script-alist):
9563 s/priority/script-priority. Fixes script stacking. Backportme.
9564 (Fermata): Very low priority.
9566 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9568 * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9570 * input/regression/slur-script.ly: remove padding tweaks. Add
9573 * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9574 time sigs and related stuff.
9576 * scm/define-grob-properties.scm (all-user-grob-properties): add