2006-11-10 Werner Lemberg * Documentation/user/GNUmakefile ($(outdir)/lilypond/source, $(outdir)/music-glossary/source): Fixes for `make -j'. * Documentation/user/introduction.itely: Don't let images overlap and update its scaling values. * Documentation/user/lily-flat-bw.png, Documentation/user/henle-flat-gray.png: Add vertical whitespace: texinfo doesn't center images vertically for PDF output. 2006-11-09 Heikki Junes * elisp/lilypond-font-lock.el: Should always have been GPL. 2006-11-07 Han-Wen Nienhuys * lily/break-substitution.cc: * lily/dynamic-text-spanner.cc: nitpicks. * lily/engraver.cc: * lily/grob-property.cc: use SCM_ASSERT_TYPE for graphing functions. * lily/cluster.cc: formatting. * lily/all-font-metrics.cc: excise cmr10 * input/regression/collision-heads.ly: trim example. * lily/note-collision.cc: * input/regression/collision-merge-differently-headed.ly: Examine Stem::duration_log() for preventing merge of quarter and halfnote. Fixes collision-heads.ly. Add separate regtest for that. * scripts/lilypond-invoke-editor.scm: don't use guile -e main execution. * scm/define-grobs.scm: use stem::calc-duration-log for rest. * scm/define-markup-commands.scm: another (sign dir) fix for note markup * scm/define-markup-commands.scm: use (sign dir) for computing attachment points. * buildscripts/git-update-changelog.py: run cvs up before patching. 2006-11-06 Han-Wen Nienhuys * lily/note-head.cc: trim note-head.cc includes. * lily/easy-notation.cc: * lily/mensural-ligature-engraver.cc: * lily/note-collision.cc: * lily/note-head.cc: * scm/define-grobs.scm: * scm/output-lib.scm: use Rhythmic_head::duration_log() iso. Note_head::get_balltype(). * buildscripts/git-update-changelog.py: also barf if file doesn't exist. 2006-11-07 Erlend Aasland * scm/music-function.scm (add-ballon-text): add FIXME comment. * scm/define-grob-properties.scm: remove old balloon stuff, and do some trivial beautification. 2006-11-06 Nicolas Sceaux * scm/music-functions.scm (markup-expression->make-markup): fix the case when a markup found in a markup list is a simple string (Issue #147). 2006-11-05 Han-Wen Nienhuys * lily/instrument-name-engraver.cc: * input/regression/instrument-name-dynamic.ly: ignore dynamic and pedal line spanners. * Documentation/topdocs/NEWS.tely: * Documentation/user/advanced-notation.itely: * THANKS: * input/regression/balloon.ly: * lily/balloon.cc: * ly/music-functions-init.ly: * scm/define-event-classes.scm: * scm/define-grobs.scm: * scm/define-music-properties.scm: * scm/define-music-types.scm: * scm/output-lib.scm: * lily/balloon-engraver.cc: rewrite balloon-text support. This is now a separate grob, with itsvictim as the parent. This involves addingBalloon_engraver, AnnotateOutputEvent, annotate-output-event,\balloonText, \balloonGrobText, and modifying Balloon_interface::print. * lily/paper-score.cc: remove progress again * lily/chord-name-engraver.cc: formatting nitpicks. * lily/paper-score.cc: some useless statistics. * buildscripts/git-update-changelog.py: update todo/done after rejection due to removal analysis. * buildscripts/git-update-changelog.py: check whether removals from a diff actually apply. 2006-11-05 Joe Neeman * lily/include/page-turn-page-breaking.hh: remove unused fields in Break_node * lily/page-turn-page-breaking.cc (calc_demerits): * lily/optimal-page-breaking.cc (try_page_spacing): remove uniformity penalties. 2006-11-05 Werner Lemberg * Documentation/user/changing-defaults.itely, Documentation/user/preface.itely: Use `--', not `---'. Minor improvements. * Documentation/user/introduction.itely: Minor improvements. (Automated engraving): Make example using \applyOutput work actually. * input/regression/apply-output.ly: Improve. 2006-11-05 Han-Wen Nienhuys * lily/dynamic-engraver.cc: formatting cleanup * input/regression/note-head-harmonic.ly: * lily/stem.cc: * input/regression/note-head-harmonic-whole.ly: Center harmonic heads if stem is invisible. Fixes #140 * lily/input.cc: end context snippet with '\n' * lily/parse-scm.cc: catch all GUILE exceptions * VERSION: bump version * lily/include/lily-lexer.hh: * lily/lily-lexer.cc: * lily/lily-parser.cc: Lily_parser* arg for copy ctor too. * scripts/abc2ly.py: abc2ly new tempo syntax 2006-11-04 Heikki Junes * po/fi.po: update Finnish translation. 2006-11-03 Graham Percival * Documentation/user/ {various}: rename page->spacing, global->non-music, invoking->running, example->templates. 2006-11-03 Nicolas Sceaux * scm/display-lily.scm: add a parser argument to display methods, instead of using a *parser* special variable. * scm/define-music-display-methods.scm: add a parser argument to display methods. Update the methods for \melisma, \melismaEnd, \breathe, \tempo, \partial. * input/no-notation/display-lily-tests.ly: update the test utilities according to the changes in display-lily.scm 2006-11-03 Han-Wen Nienhuys * *: The Joy of Merging. * buildscripts/git-update-changelog.py: sort commits, and use .git-commits-done file. * GNUmakefile.in: * elisp/GNUmakefile: dist emacs patches too. 2006-11-02 Han-Wen Nienhuys * scm/autochange.scm: autochange thinko. * lily/context-def.cc: * lily/include/parse-scm.hh: * lily/include/smobs.hh: * lily/parse-scm.cc: * lily/prob.cc: * lily/program-option.cc: * scm/lily.scm: implement and use ASSERT_LIVE_IS_ALLOWED() * ly/music-functions-init.ly: * scm/autochange.scm: set-part-combine fix for autochange. * lily/include/lily-lexer.hh: * lily/include/lily-parser.hh: * lily/lily-lexer.cc: * lily/lily-parser-scheme.cc: * lily/lily-parser.cc: clear lexer scopes after parsing file. Plugs pseudo memory leak * ly/declarations-init.ly: * ly/music-functions-init.ly: * scm/part-combiner.scm: Remove set-part-combine-listener. This plugs a memory leak. * .gitignore: more ignores. * mf/GNUmakefile: don't delete .scale.pfa; the FF script may not have read themyet. Fixes brace OTF bug * .gitignore: ignore gcstat files. * lily/part-combine-iterator.cc: don't allocate part combine events statically. Plugs small leak. * lily/lily-parser-scheme.cc: plug memleak in case of failed files. * lily/include/source.hh: * lily/source.cc: clean up Sources * lily/lexer.ll: hi-bit ascii is also counted as alpha chars. This allows unicodeidentifiers, and fixes premature stop at accented char. (#134) * lily/include/program-option.hh: * lily/program-option.cc: get_program_option() function * ly/titling-init.ly: change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing. * lily/include/translator.hh: * lily/include/translator.icc: * lily/translator.cc: minor cleanups * lily/figured-bass-engraver.cc: don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128. * stepmake/stepmake/compile-vars.make: don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC 2006-11-01 Han-Wen Nienhuys * python/midi.c: init running_status * python/midi.c: trim warning messages. * configure.in: strip -Werror. * input/regression/utf-8.ly: document utf-8 meaning of phrases. * scm/define-markup-commands.scm: make \caps markup default to smallCaps * lily/pango-font.cc: * lily/ttf.cc: use glyph indexing for glyph name .notdef 2006-11-02 Jan Nieuwenhuizen * input/regression/utf-8.ly: Fix doc to match order of language fonts. 2006-11-01 Joe Neeman * lily/optimal-page-breaking.cc (try_page_spacing): don't average page and line forces. 2006-11-01 Han-Wen Nienhuys * GNUmakefile.in (SUBDIRS): remove cygwin dir too. 2006-10-31 Han-Wen Nienhuys * Documentation/user/GNUmakefile: don't use ImageMagick, use GS directly. * mf/GNUmakefile: otf depends on otf-g?table. Fixes race condition in -j2 build. (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit) * mf/GNUmakefile: rm fontdir target. * mf/GNUmakefile: remove .deb/.rpm downloading. * buildscripts/git-update-changelog.py: bugfixes for git-update-changelog.py * Documentation/user/GNUmakefile: remove .eps rules 2006-10-30 Han-Wen Nienhuys * input/regression/tie-semi-single.ly: use position/direction from single tie case too. This fixes overrides and defaults for single laissez-vibrer and repeat ties. * buildscripts/git-update-changelog.py: only prepend header if one patch was successful. 2006-10-31 Jan Nieuwenhuizen * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall stuff. Remove cygwin packaging stuff. 2006-10-30 Jan Nieuwenhuizen * python/convertrules.py (conv): Part 2 fixes vertical extent. * input/test/vertical-extent.ly: Fix and elaborate on vertical staff extent. (Thanks Mats) 2006-10-29 Han-Wen Nienhuys * buildscripts/git-update-changelog.py (main): write .msg and cvs command. * scm/define-grobs.scm: separation-items have width * VERSION: bump version * .gitignore: * Documentation/topdocs/NEWS.tely: * lily/separating-group-spanner.cc: * lily/slur-engraver.cc: * lily/slur-scoring.cc: * scm/define-grobs.scm: * input/regression/slur-clef.ly: add breakableSeparationItem to extra encompass for slurs. This fixes slur/clef slur/key collisions etc. Should fix #49 * lily/include/slur-scoring.hh: * lily/slur-scoring.cc: Use X of separation item as slur start. Fixes #120 2006-10-29 Han-Wen Nienhuys * buildscripts/git-update-changelog.py (changelog_body): don't write committishes. * lily/grob.cc: add avoid-slur 2006-10-28 Han-Wen Nienhuys * emacsclient.patch: * server.el.patch: move server/emacsclient to elisp/ * buildscripts/git-update-changelog.py (Commit.note_del_file): apply patches too * elisp/server.el.patch: move emacs patches. * elisp/emacsclient.patch: emacsclient too. * buildscripts/git-update-changelog.py: ignore ChangeLog * .gitignore: update * ChangeLog: * buildscripts/git-update-changelog.py: script to update ChangeLog with Git messages. * lily/beam-engraver.cc: * input/regression/rest-pitched-beam.ly: don't set callback if staff-position set. Fixes #126. * lily/bar-number-engraver.cc: * lily/beam.cc: * lily/fingering-engraver.cc: * lily/grob-property.cc: * lily/grob.cc: * lily/include/grob.hh: * lily/include/lily-guile-macros.hh: * lily/mark-engraver.cc: * lily/melody-engraver.cc: * lily/script-column.cc: * lily/tie-formatting-problem.cc: * lily/tie.cc: internal_get_property_data() using ly_symbol2scm() * stepmake/stepmake/generic-targets.make: create .gitignore in outdir. * .gitignore: new file. 2006-10-28 Jan Nieuwenhuizen * input/test/vertical-extent.ly: * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup. 2006-10-28 Han-Wen Nienhuys * stepmake/bin/add-html-footer.py (compose): remove setgcos 2006-10-28 Han-Wen Nienhuys * GNUmakefile.in (install-help2man): install-help2man target. 2006-10-27 Jan Nieuwenhuizen * SConstruct (configure): Do not check for /bin/sh. 2006-10-27 Han-Wen Nienhuys * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table files. * Documentation/topdocs/NEWS.tely (Top): add FretBoards example. * input/regression/fret-boards.ly: new file. * po/de.po: new po courtesy translation team. * scripts/lilypond-book.py (get_option_parser): add newline to doc string. 2006-10-27 Mats Bengtsson * ly/gregorian-init.ly (neumeDemoLayout): update minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent * scm/define-context-properties.scm, ly/engraver-init.ly: Remove obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent 2006-10-27 Erlend Aasland * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree): Yet another build fix. 2006-10-26 Han-Wen Nienhuys * SConstruct (lilypondprefix): use sorted() for list_sort() indent 4 2006-10-26 Jan Nieuwenhuizen * flower/SConscript: Unit test rules. * flower/test-std.cc: Compile fix. 2006-10-26 Han-Wen Nienhuys * python/midi.c (pymidi_parse_track): warning fixes. * lily/dot-column.cc (struct Dot_position): initialize extremal_head_ include dot-column.hh 2006-10-26 Graham Percival * Documentation/user/{basic-, global}: minor changes from mailist. 2006-10-26 Erlend Aasland * scm/define-grobs.scm: trivial beautification * lily/tie-performer.cc: no need to #include "pqueue.hh" * lily/source-file.cc: put multibyte var inside #if clause * scm/define-grob-interfaces.scm: * scm/define-grob-properties.scm: Build fix (string-fret-finger-combinations) * Documentation/topdocs/INSTALL.texi: Remove obsolete info about lexer-gcc-3.1.sh * Documentation/user/lilypond-book.itely: Build fix. 2006-10-26 Joe Neeman * lily/system.cc (get_paper_system): * lily/paper-book.cc (systems): move most of the backwards compatibility stuff into Paper_book::systems * Documentation/topdocs/NEWS.tely: add 2 entries for the page breaking stuff * Documentation/user/page.itely: remove time-scaled-music bug for the Page_turn_engraver * lily/paper-book.cc (set_system_penalty): backwards compatibility (breakbefore) for the old page breaker 2006-10-25 Graham Percival * Diocumentation/user/instrument-notation.itely: added more info about stanzas; thanks Geoff! * Documentation/user/ {basic, advanced}: small fixes from mailist. * THANKS: add some bug reporters. 2006-10-25 Jan Nieuwenhuizen * scm/define-context-properties.scm (all-user-translation-properties): noteToFretFunction: Add. * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use fret-diagram-interface (WAS: fret-board-interface). Fixes build. 2006-10-23 Jan Nieuwenhuizen * flower/file-name.cc (dos_to_posix): Help std::string.copy with trailing zero. * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree): Remove bashism in delete. 2006-10-25 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): set finger-code. * scm/translation-functions.scm (determine-frets-mf): flatten let* * scm/define-context-properties.scm (all-user-translation-properties): add maximumFretStretch property. * scm/translation-functions.scm (tunings): read and use maximumFretStretch. * lily/source-file.cc (get_counts): use multibyte variable. * scm/translation-functions.scm (determine-frets-mf): new function: compute fret numbers. * scm/output-lib.scm (string-frets->description) new function. (fret-board::calc-stencil): new function * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string. * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob. * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function. * lily/tab-note-heads-engraver.cc: cleanups. * lily/fretboard-engraver.cc: new file * ly/engraver-init.ly: add FretBoards context 2006-10-24 Joe Neeman * lily/grob.cc (pure_relative_y_coordinate) (pure_height): use the new call_pure_function stuff * lily/grob-property.cc (call_pure_function): wrapper for the scheme call-pure-function * lily/side-position-interface.cc (pure_y_aligned_side): add an optarg * lily/simple-closure.cc (ly_eval_simple_closure): make simple-closure evaluatable from scheme (evaluate_with_simple_closure): make simple-closures pure- evaluatable * lily/slur.cc (pure_outside_slur_callback): new function * ly/paper-defaults.ly: change default blank-page-force to 2 (this fits in with previous changes that made the page forces much smaller) * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset and pure-Y-extent into this new function. (pure-conversions-alist): add outside-slur-callback 2006-10-24 Mats Bengtsson * Documentation/user/advanced-notation.itely (Instrument names): Remove obsolete bug workaround for instrument names on piano staff. 2006-10-24 Han-Wen Nienhuys * Documentation/user/lilypond-book.itely (Integrating DocBook and music): patch by Bertalan Fodor for docbook. * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead of $(LILYPOND). Prevents lilypond run for .txt files. * INSTALL.txt: gitness. * .cvsignore: update to force gitness. 2006-10-23 Han-Wen Nienhuys * lily/tuplet-bracket.cc (calc_position_and_height): robustness: detect suicide in nested tuplets. 2006-10-23 Werner Lemberg * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix typo in argument to FT_Get_X11_Font_Format. 2006-10-23 Han-Wen Nienhuys * stepmake/stepmake/po-vars.make: more gitness. * flower/polynomial.cc (check_sol): no empty if bodies. 2006-10-30 Jan Nieuwenhuizen * stepmake/stepmake/po-vars.make: Resolve. 2006-10-29 Jan Nieuwenhuizen * stepmake/stepmake/po-vars.make: test change for GIT gateway. 2006-10-29 Han-Wen Nienhuys * buildscripts/git-update-changelog.py (main): write .msg and cvs command. * scm/define-grobs.scm: separation-items have width * VERSION: bump version * .gitignore: * Documentation/topdocs/NEWS.tely: * lily/separating-group-spanner.cc: * lily/slur-engraver.cc: * lily/slur-scoring.cc: * scm/define-grobs.scm: * input/regression/slur-clef.ly: add breakableSeparationItem to extra encompass for slurs. This fixes slur/clef slur/key collisions etc. Should fix #49 * lily/include/slur-scoring.hh: * lily/slur-scoring.cc: Use X of separation item as slur start. Fixes #120 2006-10-29 Han-Wen Nienhuys * buildscripts/git-update-changelog.py (changelog_body): don't write committishes. * lily/grob.cc: add avoid-slur 2006-10-28 Han-Wen Nienhuys * emacsclient.patch: * server.el.patch: move server/emacsclient to elisp/ * buildscripts/git-update-changelog.py (Commit.note_del_file): apply patches too * elisp/server.el.patch: move emacs patches. * elisp/emacsclient.patch: emacsclient too. * buildscripts/git-update-changelog.py: ignore ChangeLog * .gitignore: update * ChangeLog: * buildscripts/git-update-changelog.py: script to update ChangeLog with Git messages. * lily/beam-engraver.cc: * input/regression/rest-pitched-beam.ly: don't set callback if staff-position set. Fixes #126. * lily/bar-number-engraver.cc: * lily/beam.cc: * lily/fingering-engraver.cc: * lily/grob-property.cc: * lily/grob.cc: * lily/include/grob.hh: * lily/include/lily-guile-macros.hh: * lily/mark-engraver.cc: * lily/melody-engraver.cc: * lily/script-column.cc: * lily/tie-formatting-problem.cc: * lily/tie.cc: internal_get_property_data() using ly_symbol2scm() * stepmake/stepmake/generic-targets.make: create .gitignore in outdir. * .gitignore: new file. 2006-10-28 Jan Nieuwenhuizen * input/test/vertical-extent.ly: * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup. 2006-10-28 Han-Wen Nienhuys * stepmake/bin/add-html-footer.py (compose): remove setgcos 2006-10-28 Han-Wen Nienhuys * GNUmakefile.in (install-help2man): install-help2man target. 2006-10-27 Jan Nieuwenhuizen * SConstruct (configure): Do not check for /bin/sh. 2006-10-27 Han-Wen Nienhuys * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table files. * Documentation/topdocs/NEWS.tely (Top): add FretBoards example. * input/regression/fret-boards.ly: new file. * po/de.po: new po courtesy translation team. * scripts/lilypond-book.py (get_option_parser): add newline to doc string. 2006-10-27 Mats Bengtsson * ly/gregorian-init.ly (neumeDemoLayout): update minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent * scm/define-context-properties.scm, ly/engraver-init.ly: Remove obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent 2006-10-27 Erlend Aasland * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree): Yet another build fix. 2006-10-26 Han-Wen Nienhuys * SConstruct (lilypondprefix): use sorted() for list_sort() indent 4 2006-10-26 Jan Nieuwenhuizen * flower/SConscript: Unit test rules. * flower/test-std.cc: Compile fix. 2006-10-26 Han-Wen Nienhuys * python/midi.c (pymidi_parse_track): warning fixes. * lily/dot-column.cc (struct Dot_position): initialize extremal_head_ include dot-column.hh 2006-10-26 Graham Percival * Documentation/user/{basic-, global}: minor changes from mailist. 2006-10-26 Erlend Aasland * scm/define-grobs.scm: trivial beautification * lily/tie-performer.cc: no need to #include "pqueue.hh" * lily/source-file.cc: put multibyte var inside #if clause * scm/define-grob-interfaces.scm: * scm/define-grob-properties.scm: Build fix (string-fret-finger-combinations) * Documentation/topdocs/INSTALL.texi: Remove obsolete info about lexer-gcc-3.1.sh * Documentation/user/lilypond-book.itely: Build fix. 2006-10-26 Joe Neeman * lily/system.cc (get_paper_system): * lily/paper-book.cc (systems): move most of the backwards compatibility stuff into Paper_book::systems * Documentation/topdocs/NEWS.tely: add 2 entries for the page breaking stuff * Documentation/user/page.itely: remove time-scaled-music bug for the Page_turn_engraver * lily/paper-book.cc (set_system_penalty): backwards compatibility (breakbefore) for the old page breaker 2006-10-25 Graham Percival * Diocumentation/user/instrument-notation.itely: added more info about stanzas; thanks Geoff! * Documentation/user/ {basic, advanced}: small fixes from mailist. * THANKS: add some bug reporters. 2006-10-25 Jan Nieuwenhuizen * scm/define-context-properties.scm (all-user-translation-properties): noteToFretFunction: Add. * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use fret-diagram-interface (WAS: fret-board-interface). Fixes build. 2006-10-23 Jan Nieuwenhuizen * flower/file-name.cc (dos_to_posix): Help std::string.copy with trailing zero. * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree): Remove bashism in delete. 2006-10-25 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): set finger-code. * scm/translation-functions.scm (determine-frets-mf): flatten let* * scm/define-context-properties.scm (all-user-translation-properties): add maximumFretStretch property. * scm/translation-functions.scm (tunings): read and use maximumFretStretch. * lily/source-file.cc (get_counts): use multibyte variable. * scm/translation-functions.scm (determine-frets-mf): new function: compute fret numbers. * scm/output-lib.scm (string-frets->description) new function. (fret-board::calc-stencil): new function * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string. * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob. * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function. * lily/tab-note-heads-engraver.cc: cleanups. * lily/fretboard-engraver.cc: new file * ly/engraver-init.ly: add FretBoards context 2006-10-24 Joe Neeman * lily/grob.cc (pure_relative_y_coordinate) (pure_height): use the new call_pure_function stuff * lily/grob-property.cc (call_pure_function): wrapper for the scheme call-pure-function * lily/side-position-interface.cc (pure_y_aligned_side): add an optarg * lily/simple-closure.cc (ly_eval_simple_closure): make simple-closure evaluatable from scheme (evaluate_with_simple_closure): make simple-closures pure- evaluatable * lily/slur.cc (pure_outside_slur_callback): new function * ly/paper-defaults.ly: change default blank-page-force to 2 (this fits in with previous changes that made the page forces much smaller) * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset and pure-Y-extent into this new function. (pure-conversions-alist): add outside-slur-callback 2006-10-24 Mats Bengtsson * Documentation/user/advanced-notation.itely (Instrument names): Remove obsolete bug workaround for instrument names on piano staff. 2006-10-24 Han-Wen Nienhuys * Documentation/user/lilypond-book.itely (Integrating DocBook and music): patch by Bertalan Fodor for docbook. * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead of $(LILYPOND). Prevents lilypond run for .txt files. * INSTALL.txt: gitness. * .cvsignore: update to force gitness. 2006-10-23 Han-Wen Nienhuys * lily/tuplet-bracket.cc (calc_position_and_height): robustness: detect suicide in nested tuplets. 2006-10-23 Werner Lemberg * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix typo in argument to FT_Get_X11_Font_Format. 2006-10-23 Han-Wen Nienhuys * stepmake/stepmake/po-vars.make: more gitness. * flower/polynomial.cc (check_sol): no empty if bodies. 2006-10-22 Han-Wen Nienhuys * stepmake/stepmake/po-vars.make: test change for GIT gateway. 2006-10-22 Jürgen Reuter * Documentation/user/examples.itely (Transcription of mensural music): Added more comments in .ly source. Suggest to remove Forbid_line_break_engraver to allow line breaking at all bars. * Documentation/user/instrument-notation.itely (Ancient articulations): Updated @refbugs regarding episem. * Documentation/user/instrument-notation.itely (Gregorian square neumes ligatures): Added \augmentum dots. Updated @refbugs regarding \augmentum. * input/test/gregorian-scripts.ly: Removed obsolete TODOs. * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated comment. * lily/vaticana-ligature-engraver.cc: Added TODO comment for \augmentum dots. * ly/gregorian-init.ly: Added \augmentum macro. 2006-10-22 Han-Wen Nienhuys * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness. * lily/pango-font.cc (pango_item_string_stencil): use FT_Get_X11_Font_Format() 2006-10-22 John Mandereau * po/fr.po: update translation. 2006-10-21 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): bump version * input/regression/horizontal-bracket-break.ly: new file. * scm/define-grobs.scm (all-grob-descriptions): calc connect-to-neighbor. * lily/horizontal-bracket.cc (make_bracket): support connect-to-neighbor. Fix #118 * VERSION: release 2.9.26-2 * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs. * VERSION (PACKAGE_NAME): release 2.9.26 * buildscripts/output-distance.py (test_basic_compare): add multipage test. (FileLink.multi_img_cell): new function, glob multi-page png images. 2006-10-20 Han-Wen Nienhuys * po/lilypond.pot: update. * Documentation/topdocs/NEWS.tely (Top): remove TODOs. * Documentation/user/global.itely (File structure): remove \addqoute remark. * lily/parser.yy (FIXME): remove ADDQUOTE * Documentation/user/global.itely (Extracting fragments of notation): new node, about clip systems. * Documentation/user/lilypond-book.itely (Many quotes of a large score): ref to clip systems. * Documentation/user/instrument-notation.itely (Entering lyrics): add note about lyric ties and required font. * lily/open-type-font.cc (glyph_list): format errors. * Documentation/user/programming-interface.itely (Scheme procedures as properties): more doco on simple-closure and scheme callbacks. (Input variables and Scheme): use lilypond[verbatim], document dummy statement. * Documentation/user/page.itely (Displaying spacing): use \book explicitly, so arrows show . (Line breaking): add note about Forbid_line_break_engraver * Documentation/user/tweaks.itely (Common tweaks): also set length to prevent tie squeezing. (Default files): use @var{} * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly. (Generating LilyPond files): add FOMUS. 2006-10-20 Joe Neeman * scm/define-grobs.scm (all-grob-descriptions): set side-axis and Y-offset for TextScript and Script * lily/text-engraver.cc (make_item): * lily/script-engraver.cc (make_script_from_event): remove call to Side_position_interface::set_axis since all scripts now have this set by default * lily/context.cc: * lily/prob.cc: use variables 2006-10-20 Han-Wen Nienhuys * lily/page-turn-engraver.cc (acknowledge_note_head): don't look at typography, rather analyse stream event duration. * Documentation/user/page.itely (Page formatting): set a6 paper for system separator example. * lily/arpeggio.cc (Module): idem. * lily/accidental-placement.cc: add script-priority property. * scm/framework-ps.scm (dump-stencil-as-EPS): thinko. * lily/ttf.cc (print_trailer): if all else fails: use glyphIndexXXXX as glyph name. Fixes #117. * lily/pango-font.cc (pango_item_string_stencil): only use cmap entry if cmap contains glyph. (get_index_to_charcode_map): remove from Pango_font class, use global filename -> font mapping. (get_glyph_index_name): new function. (pango_item_string_stencil): use glyphIndexXXXX as glyph name, only for TTF. * scripts/lilypond-book.py (main): use -deps-box-padding=-3 * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding, a number. * scm/define-grob-properties.scm (all-user-grob-properties): remove outdated doc. Fixes #116 * lily/completion-note-heads-engraver.cc (process_music): always clone input events; otherwise we may overwrite input 'duration property. Fixes #115. * lily/general-scheme.cc (LY_DEFINE): explicit cast in case scm_t_int32 != int * scm/output-svg.scm (pango-description-regexp-comma): Remove ^ anchor. Fixes #114 * VERSION (PATCH_LEVEL): bump version. 2006-10-19 Han-Wen Nienhuys * lily/engraver.cc (internal_make_grob): use variables. * flower/string-convert.cc (dec2double): clean-up warnings. * configure.in (CXXFLAGS): add -Werror. * VERSION (PACKAGE_NAME): release 2.9.25 2006-10-18 Joe Neeman * lily/simple-spacer.cc (get_line_forces): test for non-fitting line even if we precede a forced break. * lily/optimal-page-breaking.cc (try_page_spacing): square line forces too. Make page-spacing weight default to 10 because the changes to vertical springs decreased the page force/line force proportions. Also, take the average of line force and page force instead of just the sum. * lily/constrained-breaking.cc (initialize): make the stiffness of the vertical springs depend on the height of the system. This prevents pages with only a few large systems from getting huge forces * Documentation/user/page.itely (Page formatting): document the change in default page-spacing-weight * lily/include/constrained-breaking.hh: initialise bottom_padding_ 2006-10-18 Han-Wen Nienhuys * input/typography-demo.ly (melody): remove superfluous slur. * scm/define-grob-interfaces.scm (piano-pedal-script-interface): add piano-pedal-script-interface 2006-10-18 Bertalan Fodor * scripts/lilypond-book.py: DocBook support. 2006-10-18 Han-Wen Nienhuys * lily/piano-pedal-engraver.cc (struct Pedal_info): remove Y-alignment code. (stop_translation_timestep): set bound to currentMusicalColumn if not set yet. Fixes #102 * lily/piano-pedal-bracket.cc: formatting. * input/test/engraver-one-by-one.ly (MyStaff): reformat. * lily/piano-pedal-align-engraver.cc: new class Piano_pedal_align_engraver. Handle side-positioning Y-alignment for piano pedals. 2006-10-18 Heikki Junes * po/fi.po: Update Finnish translation (before the next release). 2006-10-17 Joe Neeman * lily/system.cc (get_paper_system): reinstate the backwards- compatible page breaking for the old page breaker. 2006-10-17 Erik Sandberg * lily/recording-group-engraver.cc: removed * lily/context.cc, lily/translator-group.cc: Don't touch Context::implementation_ if it's null 2006-10-17 Han-Wen Nienhuys * scm/paper.scm: only use left-margin if defined. * scm/define-grob-interfaces.scm (stroke-finger-interface): typo. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem. * lily/new-fingering-engraver.cc: stringFingerOrientations -> strokeFingerOrientations * lily/script-column.cc (row_before_line_breaking): also handle accidentals and arpeggios in horizontal script stacking. * lily/script-row-engraver.cc (acknowledge_accidental_placement): new function. * input/regression/script-stack-horizontal.ly: trim. 2006-10-16 Han-Wen Nienhuys * scm/output-lib.scm (stroke-finger::calc-text): allow reading of 'text property too. * ly/music-functions-init.ly: rename to StrokeFingerEvent, set 'text if string argument. * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger. * scm/define-context-properties.scm (all-user-translation-properties): change to strokeFingerOrientations 2006-10-16 Erik Sandberg * lily/parser.yy: remove debug output 2006-10-16 Han-Wen Nienhuys * ly/paper-defaults.ly: set left/right margin. * scm/paper.scm (set-paper-dimensions): use left-margin and right-margin for computing linewidth. * Documentation/topdocs/NEWS.tely (Top): idem. * input/regression/lyric-tie.ly (texidoc): use vowels for tied lyrics example. * scm/define-markup-commands.scm (tied-lyric): increase negative space: space syllables tighter. * VERSION (PATCH_LEVEL): bump version. * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune Ax paper sizes. 2006-10-15 Han-Wen Nienhuys * COPYING: further clarification * VERSION: release 2.9.24 * input/regression/script-stack-horizontal.ly: add version. * scm/lily-library.scm (list-join): use fold-right. Fixes #112 * input/regression/lyric-tie.ly (texidoc): use different words. * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1 2006-10-15 Erik Sandberg * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS 2006-10-15 Han-Wen Nienhuys * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4; * Doxyfile: remove file. * scm/define-grob-interfaces.scm (string-finger-interface): add string-finger-interface * lily/general-scheme.cc (LY_DEFINE): move ly_camel_case_to_lisp_identifier to here. Use vector iso. char[] * Documentation/topdocs/NEWS.tely (Top): add note for string-finger feature. * scm/define-grobs.scm (all-grob-descriptions): add 'string-names property. * scm/output-lib.scm (string-finger::calc-text): read 'digit instead of 'text * input/regression/script-stack-horizontal.ly: new file. * ly/engraver-init.ly: add Script_row_engraver. * lily/script-column.cc (order_grobs): refactor: separate axis independent code. (row_before_line_breaking): new function. * lily/script-row-engraver.cc (Script_row_engraver): new file. * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow 2006-10-14 Jürgen Reuter * Documentation/user/instrument-notation.itely: Cleanup: Remove annoying skip notes from mensural ligature example. Update @refbugs for ligatures and mensural ligatures. * lily/coherent-ligature-engraver.cc, lily/include/coherent-ligature-engraver.hh, lily/mensural-ligature-engraver.cc, lily/vaticana-ligature-engraver.cc: Revise code for item reparentizing. There should now be less programming_error messages. * lily/mensural-ligature-engraver.cc: Improve placement of dots. * lily/mensural-ligature.cc, lily/vaticana-ligature.cc: Maintenance bugfix: Don't create empty Stencil (), but empty box instead. This fix should eliminate some programming_error messages. * ly/engraver-init.ly (MensuralStaff): Set default accidental style. * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move \layout block _before_ score. 2006-10-14 Han-Wen Nienhuys * GNUmakefile.in (PATCH_FILES): remove darwin.patch. * lily/pango-font.cc (pango_item_string_stencil): more verbose message. 2006-10-13 Erlend Aasland * lily/note-collision.cc: fix issue #44 (dot/notehead collision) 2006-10-13 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): bump version. * COPYING: clarify exception note. * lily/main.cc: remove remark about "COPYING". * scm/framework-ps.scm (clip-system-EPSes): change ordering, so system-count starts at 0 for each clip-region. Change name to FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from layout block, per score. 2006-10-13 Erik Sandberg * lily/input-smob.cc: add equal_p for Input * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new function * lily/parser.yy: MY_MAKE_MUSIC sets music origin * lily/prob.cc: Add equal_p predicate for Prob * lily/translator.cc: small cleanup * scm/document-music.cc: use data from translator listener registration to generate documentation for event classes * lily/*: Eliminate accept arg of ADD_TRANSLATOR * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS 2006-10-13 Jan Nieuwenhuizen * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh. 2006-10-12 Jan Nieuwenhuizen * Documentation/topdocs/INSTALL.texi: Thinko. * .cvsignore: Update. * lexer-gcc-3.1.sh: Remove. * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server. Update anonymous cvs access. Remove comment about gcc 3.0.4. 2006-10-12 Han-Wen Nienhuys * VERSION: release 2.9.23 * lily/paper-column-engraver.cc (stop_translation_timestep): also typecheck barnumber. * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos. * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name. * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature * input/regression/clip-systems.ly (Notes): new file. * scm/lily.scm (define-scheme-options): add clip-systems option. * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new function (dump-stencil-as-EPS): move bbox calculation from previous dump-stencil-as-EPS (output-framework): use -dclip-systems * scm/lily-library.scm (filtered-map): new function * scm/framework-ps.scm (clip-system-EPS): new function. (clip-system-EPSes): new function. * lily/paper-column.cc: add rhythmic-location to interface * scm/define-grob-properties.scm (all-user-grob-properties): add rhythmic-location property. * scm/clip-region.scm: new file: rhythmic-location data type and system-clipped-x-extent function. * ly/init.ly: use (scm clip-region) * lily/paper-column-engraver.cc (stop_translation_timestep): set rhythmic-location for paper column grobs. * lily/grob-scheme.cc (LY_DEFINE): minor cleanup 2006-10-12 Jürgen Reuter * ly/engraver-init.ly: Remove obsolete comment on Bar_number_engraver. * Documentation/user/instrument-notation.itely: Tune Ancient Articulations figure, such that the episem actually shows. * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix: fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number. * lily/vaticana-ligature-engraver.cc: Minor robustness fix / cleanup. 2006-10-12 Graham Percival * Documentation/user/ {some}: minor edits that were lost somehow. 2006-10-12 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): bump version. * input/regression/lyric-tie.ly (texidoc): new file. * Documentation/topdocs/NEWS.tely (Top): add new feature. * lily/general-scheme.cc (LY_DEFINE): elucidate docstring. * scm/define-markup-commands.scm (tied-lyric): new function: split string along ~ and reattach with U+203F (tie character) and negative space. * scm/output-lib.scm (lyric-text::calc-text): new function. * lily/lyric-engraver.cc (process_music): don't set 'text. * scm/output-lib.scm (string-finger::calc-text): new function (lyric-text::print): new function. * lily/new-fingering-engraver.cc (add_fingering): refactor; make generic for fingering & string number. Use for string-finger. * scm/define-music-types.scm (music-descriptions): add StringFingerEvent * lily/fingering-engraver.cc (listen_string_finger): new function * scm/define-grobs.scm (all-grob-descriptions): add StringFinger * scm/define-context-properties.scm (all-user-translation-properties): add stringFingerOrientations 2006-10-11 Jürgen Reuter * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf, ly/engraver-init.ly: Added vaticana-style augmentum dot glyph. * lily/dots.cc: Added style property for dots. * mf/parmesan-heads.mf: Fix typo in comment. * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by adding longa head to feta font and removing obsolete default mapping scheme code. 2006-10-10 Han-Wen Nienhuys * scm/output-lib.scm (fingering::calc-text): use origin event-property, not music-property. * lily/lilypond.rc.in: spell my name correctly. 2006-10-10 Joe Neeman * lily/grob.cc (pure_height): only add minimum-Y-extent if we already have a non-empty extent. Fixes estimation for Hara-kiri staves. 2006-10-09 Jürgen Reuter * ly/gregorian-init.ly: Simplify definition of \episemInitium and \episemFinis. * lily/ligature-engraver.cc: Remove unused #include. * lily/vaticana-ligature-engraver.cc: Fix placement of dots. Bugfix: remove method check_for_prefix_loss(Item *) from global namespace to avoid namespace pollution. 2006-10-09 Han-Wen Nienhuys * VERSION: release 2.9.22 * ly/generate-documentation.ly: update option name. * lily/dynamic-text-spanner.cc (print): revert fix. * scm/define-grob-interfaces.scm (trill-pitch-accidental-interface): add trill-pitch-accidental-interface * lily/dots-engraver.cc (acknowledge_rhythmic_head): only dereference if it's really a duration. * lily/figured-bass-engraver.cc (process_music): clear spanner if useBassFigureExtenders is not set. (listen_bass_figure): record as new event if useBassFigureExtenders not set. Fixes #103. * scm/stencil.scm (circle-stencil): don't center stencil argument, instead: move circle. Fixes #107. * scm/define-grobs.scm (all-grob-descriptions): set allow-loose-spacing for PaperColumn and NonMusicalPaperColumn. Kludge for #110. * lily/spaceable-grob.cc: add allow-loose-spacing property. * lily/spacing-determine-loose-columns.cc (is_loose_column): allow-loose-spacing property. * scm/define-markup-commands.scm (postscript): gsave & grestore around embedded PS. Do setlinewidth too. Fixes #109. 2006-10-08 Jürgen Reuter * lily/ligature-bracket-engraver: Bugfix: Add missing stream event code. This patch fixes ligature brackets that were not at all engraved any more. 2006-10-08 Graham Percival * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom. * ly/property-init.ly: fix sacred harp notehead shapes (bug 96). * scm/define-context-properties.scm: clarified docs (bug 91). * Documentation/user/basic-notation.itely: document volta brackets not aligning (bug 63). * Documentation/user/ global.itely invoking.itely: ignore or add warnings about texstr. 2006-10-08 John Mandereau * po/fr.po: update translation. * po/: update msgids. 2006-10-08 Jan Nieuwenhuizen * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales. 2006-10-08 Nicolas Sceaux * Documentation/user/page.itely (Two-pass vertical spacing): add documentation for two-pass spacing technique. 2006-10-06 Graham Percival * Documentation/user/convert-ly.txt: new file; new storage place for this file (moved from bugs/ CVS). 2006-10-06 Jürgen Reuter * lily/note-head.cc: Fixed programming_error message. 2006-10-06 Han-Wen Nienhuys * scm/define-grobs.scm (pure-conversion): move pure-callback further into body. * scm/script.scm (default-script-alist): set avoid-slur for turn, marcato, stopped, thumb. 2006-10-05 Han-Wen Nienhuys * lily/completion-note-heads-engraver.cc (process_music): don't skimp on memory usage. * lily/beam.cc (set_stem_lengths): do set_stemend for invisible stems too. Fixes #5 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of parenthesis item. This fixes premature Y-extent triggering. Fixes issue #95. * VERSION (PATCH_LEVEL): bump version. 2006-10-04 Graham Percival * Documentation/user/advanced-notation.itely: added info about instrument names for piano or other contexts, thanks Marcus! 2006-10-04 Han-Wen Nienhuys * mf/feta-bolletjes.mf (solfa_quarter_width): use solfa_base_notewidth as unit for non-DO-notes too. * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email. * VERSION: release 2.9.21 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer override. 2006-10-04 Mats Bengtsson * python/lilylib.py (progress): Minor fix. 2006-10-04 Han-Wen Nienhuys * lily/note-name-engraver.cc: doc engraver. * scm/output-lib.scm (hairpin::calc-grow-direction): new function. * lily/dynamic-engraver.cc (process_music): don't set grow-direction. * scm/define-grobs.scm (all-grob-descriptions): calc duration-log by callback. * lily/stem-engraver.cc (make_stem): don't set duration-log * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): write snippet-names binary. * python/lilylib.py (system): use os.system for mingw32 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending to $PATH. * scm/backend-library.scm: update email address. * Documentation/topdocs/NEWS.tely (Top): add duration-log override example. * scm/define-grobs.scm (all-grob-descriptions): use callback to calc dot count. * lily/dots-engraver.cc (class Dots_engraver): new engraver: handle dot creation separately. * lily/tab-note-heads-engraver.cc (process_music): idem. * lily/drum-note-engraver.cc (process_music): idem. * lily/note-heads-engraver.cc (process_music): idem. * lily/rest-engraver.cc: don't set duration-log. * scm/output-lib.scm (string-number::calc-text): new function. (note-head::calc-duration-log): new function. * lily/fingering-engraver.cc (make_script): remove 'text setting. * scm/output-lib.scm (fingering::calc-text): new function. 2006-10-04 Mats Bengtsson * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts and include-eps-font -> include-eps-fonts 2006-10-03 Han-Wen Nienhuys * lily/multi-measure-rest-engraver.cc: use internalBarNumber * lily/timing-translator.cc: list properties. (start_translation_timestep): update internalBarNumber too. * scm/define-context-properties.scm (all-user-translation-properties): add internalBarNumber. * input/regression/spacing-no-note.ly: new file. * buildscripts/output-distance.py (link_file): verbosity for OSError. * lily/book.cc: #include cleanup. * lily/include/lily-guile-macros.hh: add assert to scm_or_str2symbol(SCM). * VERSION (PATCH_LEVEL): bump version. * lily/spacing-spanner.cc (musical_column_spacing): handle musical->nonmusical spacing case, where there is no spacing wish. Fixes issue #61. * lily/pango-font.cc (text_stencil): allow 'tight' bounds. (pango_item_string_stencil): use logical rect horizontally (to preserve spaces), ink_rect vertically (for time signatures). * lily/font-metric.cc (word_stencil): new interface function * input/regression/utf-8-mixed-text.ly: new file. * lily/percent-repeat-engraver.cc (listen_percent): remove spurious warning. * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack non-dynamic scripts. Fixes #30. * lily/slur.cc (outside_slur_callback): make offset_scm optional. * lily/beam.cc (rest_collision_callback): make prev_offset optional. * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but SCM_UNDEFINED for non-existent data. * lily/side-position-interface.cc (general_side_position): allow optional current_offset argument for chaining, so combinations of side-position and outside slur callback don't add up. Fixes issue #92. * lily/pango-font.cc (pango_item_string_stencil): use logical_rect. This prevents spaces after words from disappearing, issue #72. * VERSION: release 2.9.20 2006-10-02 Han-Wen Nienhuys * scm/define-grob-properties.scm (all-user-grob-properties): mention stencil as user settable. 2006-10-02 Joe Neeman * Documentation/user/page.itely (Page formatting): document auto-first-page-number * lily/page-breaking.cc (find_chunks_and_breaks): * lily/paper-score.cc (calc_breaking): Follow changes to the Constrained_breaking interface * lily/constrained-breaking.cc (calc_subproblem): run the main loop here backwards, as an optimisation (initialize): new function; move most of the code in resize () here (combine_demerits): cache ragged_right_ (Constrained_breaking): constructor now takes the Paper_score 2006-10-02 Erik Sandberg * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to avoid parser lookahead for 0-ary functions. * lily/translator.cc: Extract event classes from IMPLEMENT_TRANSLATOR_LISTENER for documentation generation. 2006-10-02 Heikki Junes * po/fi.po: Fix spaces, commas etc. in Finnish translation using KBabel fix tool. 2006-10-01 Nicolas Sceaux * scm/layout-page-layout.scm (page-breaking-wrapper): new function. Call the page breaking function selected in the `page-breaking' \paper variable, then the post processing function chosen using the `page-post-process' \paper variable. (line-height): new function. Return the height of a system. (line-minimum-position-on-page): new function. Return the position of a system on page (using the previous line position), only considering between system padding. (stretchable-line?): new function. Says whether a line can be stretched (ie. is not a title nor a single staff system). (page-maximum-space-left): new function. Computes space left on a page, when all systems are separated by their padding. * lily/page-breaking.cc (breaking::make_pages): Move page post processing function call to page breaking wrapper (common to all page breakers). * lily/paper-book.cc (book::pages): call the page breaking wrapper, instead of the page breaker directly * ly/paper-defaults.ly: Add \paper variables for page breaking wrapper and page post processing function. Make `write-page-layout' value depend on the 'dump-tweaks option. Add a `system-maximum-stretch-procedure' variable for holding a function computing the maximum stretch a system allows. * scm/layout-page-dump.scm (write-page-breaks): computes the stretch to apply to systems on a page to minimize left space. Dump this stretch length. * ly/music-functions-init.ly (spacingTweaks): implement it. Read the system-stretch property of the tweak data to stretch the system. (includePageLayoutFile): Void function which includes the generated page-layout file if it exists and if the page layout dumping is not asked. (scoreTweak): if the score tweak named by the argument exists, return it. 2006-10-01 Joe Neeman * lily/page-spacing.cc (compress_lines, uncompress_solution): handle correctly the case where there are multiple \noPageBreaks in a row. 2006-09-30 Laura Conrad * abc2ly.py adds segno (S) and Coda (O) to articulations. * abc2ly.py fix so that entering " -- " will translate to a -- in the lilypond instead of a " - - " 2006-09-30 Han-Wen Nienhuys * lily/align-interface.cc: fix typo * lily/dynamic-text-spanner.cc (print): Add a special case for trill spanner right sides. * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1 * lily/align-interface.cc (get_extents_aligned_translates): add support for padding variable. * lily/break-align-interface.cc (self_align_callback): oops: use loop variable in guard. * input/regression/repeat-percent-grace.ly: new file. * lily/percent-repeat-engraver.cc (start_translation_timestep): remember first currentCommandColumn of a grace run. Fixes issue 70. * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator): move class definition to CC file. * lily/multi-measure-rest.cc (percent): use robust_relative_extent() * lily/slash-repeat-engraver.cc (listen_percent): don't warn for measure-long repeats. * flower/include/international.hh: include stdarg.h 2006-09-30 Joe Neeman * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow put_systems_on_pages to return an empty result, we need to assign demerits properly in that case. (put_systems_on_pages): Make the number of pages depend on the evenness of page_number. Add auto-first-page-number. (calc_subproblem): ensure that the page-number is even for the left-hand page. Warn if the first page-turn doesn't fit onto the first (right-hand) page. * lily/page-spacing.cc (solve): bug: demerits_ would always be inf (min_page_count): make this publicly accessible (min_page_count): fix a bug when there are forced page breaks that was introduced when I made this loop run backwards (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages): replace space_systems_on_min_pages with these two. The logic in space_systems_on_min_pages was getting too convoluted and is better contained in page-turn-page-breaking. * lily/page-turn-engraver.cc (breakable_column): remove an always-true conditional (breakable_column): typo * lily/source-file.cc (get_line): fix off-by-one error and clean up some of the logic 2006-09-29 Joe Neeman * lily/page-breaking.cc (make_pages): honour the first-page-number property 2006-09-27 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): bump version. 2006-09-26 Pal Benko * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs (the latter is the same as petrucci-f which is kept for compatibility) 2006-09-26 Erik Sandberg * lily/part-combine-iterator.cc: solo1-event -> solo-one-event 2006-09-26 Han-Wen Nienhuys * lily/global-context.cc (run_iterator_on_me): break out of loop if moment doesn't increase. * scm/define-grob-properties.scm (all-user-grob-properties): add forced property. * lily/accidental.cc (after_line_breaking): read forced property. * lily/accidental-engraver.cc (process_acknowledged): set 'forced property. * input/regression/accidental-forced-tie.ly: new file. 2006-09-25 Han-Wen Nienhuys * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context. * lily/figured-bass-engraver.cc: only listen to rest events if ignoreFiguredBassRest is not set. * scm/define-context-properties.scm (all-user-translation-properties): add ignoreFiguredBassRest property 2006-09-24 Joe Neeman * lily/paper-book.cc (get_system_specs): (set_system_penalty): fix breakbefore. We used to set a penalty on the system after the break, now we set a permission on the system before the break * lily/grob-property.cc: add scm debugging hooks into property modification * lily/context-property.cc: * lily/engraver.cc: rename make_foo_from_properties to internal_make_foo and move it from context-property.cc to a member function of Engraver. * lily/include/lily-guile-macros.hh: overload ly_symbol2scm macro so that there is no more need to use internal_foo * lily/volta-repeat-iterator.cc: * lily/tweak-engraver.cc: * lily/tuplet-bracket.cc: * lily/span-bar-engraver.cc: * lily/script-engraver.cc: * lily/prob-scheme.cc: * lily/pointer-group-interface.cc: * lily/parser.yy: * lily/grob-scheme.cc: * lily/grob-property.cc: * lily/context.cc: * lily/context-property.cc: * lily/break-substitution.cc: * lily/break-align-engraver.cc: * lily/axis-group-interface.cc: * lily/align-interface.cc: remove calls to internal_FOO * lily/system-start-delimiter-engraver.cc: * lily/parenthesis-engraver.cc: * lily/accidental-engraver.cc: remove calls to make_foo_from_properties 2006-09-23 Graham Percival * Documentation/user/programming-iterfaces.itely: fix def-music-function -> define-music... leftover. 2006-09-23 Joe Neeman * lily/page-spacing.cc (min_page_count): by running the loop backwards, we can calculate ragged_last properly. 2006-09-22 Mats Bengtsson * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?) printfirst-page-number -> print-first-page-number * python/convertrules.py: corresponding rule. * Documentation/user/page.itely (Page formatting): Document the default values of all page layout parameters. 2006-09-22 Erik Sandberg * lily/lexer.ll: remove limitation on music function arity. New mode extratoken, which inserts extra EXPECT_* tokens after MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens. * lily/parser.yy: Change grammar for music function accordingly. * lily/include/lily-parser.hh: New method get_state, new member hidden_state. Works around a problem when parser fetches MUSIC_FUNCTION token but not the following EXPECT_* token. * lily/translator.cc, lily/context.cc:, lily/translator-group.cc: remove try_music * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining references to Music; use ASSIGN_EVENT_ONCE everywhere * lily/grob-info.cc: junk *music_cause * lily/music.cc: copy eventified articulations to stream event * lily/part-combine-iterator.cc: Cleanup using enums * lily/translator-group.cc: Junk OldMusicEvent, and associated methods * lily/include/engraver.hh: Junk music.hh include * lily/stream-event.cc: Changed constructors 2006-09-21 Graham Percival * Documentation/user/tweaks.itely (Fitting music onto fewer pages): change settings to avoid warning messages. 2006-09-21 Mats Bengtsson * Documentation/user/tweaks.itely (Fitting music onto fewer pages): Add between-system-space setting. 2006-09-21 Han-Wen Nienhuys * lily/accidental-placement.cc (calc_positioning_done): don't trigger Y-extent calculation too early. Use pure_height instead. * lily/scale.cc (LY_DEFINE): new file. 2006-09-20 Joe Neeman * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks that happen at the start of a score: having a zero-length chunk was messing up min_system_count calculations. * lily/source-file.cc (get_line): lower_bound, not binary_search. Fixes problem where point-and-click would always point to the first line. 2006-09-20 Han-Wen Nienhuys * lily/accidental-placement.cc (calc_positioning_done): also put stems into accidental support. * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if event_ detected. * scm/script.scm (default-script-alist): avoid-slur and slur-padding for portato script. * lily/stem-tremolo.cc (translated_stencil): new function. (height): use new function. Fixes tremolos on whole notes. * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal slur found. 2006-09-19 Han-Wen Nienhuys * scripts/abc2ly.py (try_parse_comment): idem. * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in bar_string iso. string.find() * lily/*.cc: idem. * lily/slur.cc (get_curve): always use scm_is_pair() looping scheme lists. 2006-09-18 Graham Percival * Documentation/user/basic-notation.itely: add bug warning about ties and octavation/clef. 2006-09-18 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.18 2006-08-29 Milan Zamazal * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to figure out midi file names right here. 2006-09-17 Han-Wen Nienhuys * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes. * scm/backend-library.scm: option naming: gs-font-load*s* * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to include-eps-fonts 2006-09-17 Joe Neeman * scm/define-music-types.scm (music-descriptions): remove BreakEvent and fix {Page,Line}{Break,Turn}Event so Music::to_event doesn't complain. * lily/accidental-placement.cc (ape_compare): * lily/semi-tie.cc (compare): * lily/note-column.cc (shift_compare): replace by XXX_less * lily/tie-formatting-problem.cc (set_chord_outline): * lily/tie-column.cc (calc_positioning_done): * lily/system.cc (post_processing) (get_paper_system): * lily/stem.cc (note_head_positions) (calc_positioning_done): * lily/spanner.cc (do_break_processing) (find_broken_piece): * lily/span-bar.cc (print): * lily/semi-tie-column.cc (calc_positioning_done): * lily/rest-collision.cc (calc_positioning_done): * lily/program-option.cc (get_help_string): * lily/note-collision.cc (get_clash_groups): * lily/new-fingering-engraver.cc (position_scripts): * lily/keyword.cc (Keyword_table): * lily/hara-kiri-group-spanner.cc (request_suicide): * lily/grob-pq-engraver.cc (stop_translation_timestep): * lily/accidental-placement.cc (calc_positioning_done): (stagger_apes): * lily/beam.cc (get_beam_segments): * lily/grob-array.cc (remove_duplicates): use new vector_sort * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily: ragged-last-bottom = ##f (test the new page breaker) * flower/include/std-vector.hh (vector_sort): use STL sort stuff * scm/define-context-properties.scm (all-internal-translation-properties): remove properties that were used to communicate page-turn stuff to the paper-column engraver. * lily/lily-guile.cc (robust_scm2string): new function * lily/paper-column-engraver.cc: Clean up page turn stuff * lily/page-turn-engraver.cc: Re-write the page turn logic here instead of cluttering up paper-column-engraver.cc 2006-09-17 Nicolas Sceaux * scm/layout-page-dump.scm (scm): export utility function names, to allow user writing cutsom dumping functions. * scm/layout-page-layout.scm: export utility function names to enable custom page breaking function writing. Tabify. (line-next-space): use ?-suffix only for predicates (page-maximum-space-to-fill): new function. Return the space between first and bottom system of a page, to give to space-systems. (space-systems): use a space-to-fill argument (for instance as computed by page-maximum-space-to-fill) instead of computing internaly this space with the page height. That way, the caller can adjust the space to use. (make-page-from-systems, walk-paths): compute space to fill before calling space-systems. 2006-09-17 Han-Wen Nienhuys * scm/script.scm (default-script-alist): set paddings for every type here, increase for portato mark. * scm/lily.scm (define-scheme-options): typo: add s, so it is -dinclude-eps-fonts 2006-09-16 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): oops, typo: use spanner::set-spacing-rods * lily/note-column.cc: reformat. * lily/rest-collision.cc (calc_positioning_done): fix whole/half step positioning for note/rest combinations. * input/regression/rest-note-collision.ly: new file. * scm/define-grobs.scm (all-grob-descriptions): add springs-and-rods * flower/include/std-vector.hh: switch off again. * VERSION (PATCH_LEVEL): bump to 2.9.18 * flower/include/std-string.hh: idem. * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set. 2006-09-15 Mats Bengtsson * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and PianoStaff. 2006-09-08 Joe Neeman * Documentation/user/page.itely: update page breaking documentation 2006-09-07 Han-Wen Nienhuys * lily/note-collision.cc (calc_positioning_done): only access first head if available. * lily/tuplet-engraver.cc: add tupletFullLengthNote to description. * scm/framework-ps.scm (output-preview-framework): use new name. * lily/program-option.cc (internal_set_option): use new names. * Documentation/user/SConscript (lilypond_book_flags): update -d variable names. * Documentation/user/lilypond-book.itely (Inserting LilyPond output into other programs): new variable names. * scm/lily.scm (define-scheme-options): uniformize var names. * lily/tuplet-engraver.cc (listen_tuplet_span): verify that tuplets_ is non-empty before popping. 2006-09-07 Joe Neeman * lily/spanner.cc (find_broken_piece): * lily/spacing-spanner.cc (get_columns): * lily/source-file.cc (get_line): * lily/simple-spacer.cc (get_column_description): * lily/keyword.cc (lookup): use the new binary search. * flower/include/std-vector.hh: replace binary_search with a more STL-like version 2006-09-04 Michael Welsh Duggan * lily/tie-performer.cc: remove unused last_event_ property. (class Tie_performer): add now_tied_heads_ property for partially-tied heads. (acknowledge_audio_element): when adding an Audio_note, put the note in now_tied_heads_ if the audio note is partially tied. (stop_translation_timestep): always include entries in now_tied_heads_ in heads_to_tie_. * lily/drum-note-performer.cc (process_music): look for tie-events in the articulations; pass to Audio_note constructor. * lily/note-performer.cc (process_music): look for tie-events in the articulations; pass to Audio_note constructor. * lily/audio-item.cc (Audio_note): Initialize tie_event_ in constructor. * lily/include/audio-item.hh (class Audio_note): add tie_event_. include initializer in constructor. 2006-09-02 Joe Neeman * lily/simple-spacer.cc (get_line_forces): Ignore loose columns unless they are breakable. This fixes discrepancies between the forces calculated here and the forces calculated in get_line_configuration. * lily/grob.cc (pure_relative_y_coordinate): fix some mis-estimation that was happening with piano staves. * lily/constrained-breaking.cc (resize): don't choke if we get a measure that won't fit on a line. (combine_demerits): don't consider uniformity when ragged * lily/page-spacing.cc (solve): why the f* were there two of these? (calc_subproblem): properly handle the case where a system is taller than the page. * lily/system.cc (get_paper_system): ensure that all the permissions and penalties are passed to the paper systems. * lily/page-breaking.cc (create_system_list): support system-count. * scm/define-grobs.scm (pure-print-callbacks): add ly:script-interface::print * lily/page-spacing.cc (min_page_count): fix calculation of min pages if we are ragged and there are non-zero springs. * scm/layout-page-layout.scm: if the pure-height estimates are under the real height, allow space-systems to ignore padding if it is needed in order to fit the systems on one page * lily/optimal-page-breaking.cc (try_page_spacing): fix reading ragged properties (solve): fix performance problem. Make sure we always get at least one solution * lily/page-breaking.cc (make_pages): include write-page-breaks and page-stencil * lily/paper-score.cc (calc_breaking): remove Gourlay breaker * scm/define-grobs.scm: add the new slur-callback fix pure-relevant to not exclude grobs whose extent is already calculated * ly/paper-defaults.ly: make ly:optimal-breaking the new default page breaker * lily/slur.cc (pure_height): new callback to estimate the height of a slur 2006-09-02 Graham Percival * Documentation/user/invoking.itely: small update on MacOS X notes; thanks Trevor! 2006-09-01 Han-Wen Nienhuys * VERSION (MY_PATCH_LEVEL): release 2.9.17 * lily/lexer.ll: accept EOF in all states. * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_. * lily/source-file.cc (Source_file): always 0-terminate character array, to prevent Flex from barfing. * lily/global-context.cc (get_output): robustness: don't crash if no Score context found. * lily/include/book.hh (class Book): idem. * lily/include/context-def.hh (struct Context_def): idem. * lily/include/score.hh (class Score): don't derive from Input. * lily/book.cc (Book): add a copy ctor. * buildscripts/output-distance.py (FileLink.calc_distance): count orphans in distance too. * python/midi.c (midi_parse_track): robustness: don't read past end of string. * ly/performer-init.ly: add Control_track_performer, move Tempo_performer and Time_signature_performer to Score. * lily/score-performer.cc (acknowledge_audio_elements): override from base class: add to audio-columns * lily/control-track-performer.cc (add_text): new file: generate the control track. * lily/performance.cc: move output_header_track to Control_track_performer () * lily/midi-walker.cc (Midi_walker): get channel in constructor. * lily/include/midi-item.hh (class Midi_channel_item): insert class into hierarchy, for items that can have a channel setting. Dehungarify. * lily/include/performer.hh (class Performer): remove play_element(); move functionality into announce/acknowledge. * lily/audio-staff.cc (output): remove channel_ from Midi_track. * lily/tie-engraver.cc (stop_translation_timestep): only wipe heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties. 2006-08-28 Han-Wen Nienhuys * lily/tie-engraver.cc (stop_translation_timestep): robustness for ambituses. * lily/all-font-metrics.cc: remove TFM support. * lily/include/tfm.hh: remove TFM support, TFM reader. * lily/include/binary-source-file.hh: remove Binary_source_file. 2006-08-27 Graham Percival * Documentation/topdocs/NEWS.itely: add @c marker for stuff I've processed. * Documentation/user/ various: info from NEWS. 2006-08-27 Joe Neeman * lily/paper-column-engraver.cc (finalize): Oops, this change should have gone in on 2006-08-23 2006-08-26 Mats Bengtsson * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double quotes to quote arguments. Fixes Windows problem. * python/lilylib.py (progress): idem 2006-08-26 Han-Wen Nienhuys * scripts/musicxml2ly.py: fix for importing minor key signatures from MusicXML. (Phillip Kirlin) 2006-08-24 Phillip Kirlin * python/musicxml.py: (Attributes.get_key_signature): now correctly retrieves mode from MusicXML. 2006-08-25 Han-Wen Nienhuys * lily/parser.yy (output_def_body): take ownership of identifier back to C++. * Documentation/user/advanced-notation.itely (Metronome marks): update use of \tempo in \midi. * VERSION: release 2.9.16 2006-08-24 Erik Sandberg * input/mutopia/*: upgrade to new midi tempo syntax (repairs make web partially) 2006-08-24 Han-Wen Nienhuys * input/regression/tie-chord-partial.ly: clarify example. * scm/define-music-properties.scm (all-music-properties): remove untied. * ly/music-functions-init.ly: remove \untied. * lily/tie-engraver.cc (struct Head_event_tuple): store both stream events and music events. (stop_translation_timestep): search acknowledged heads for tie-event. * input/regression/tie-chord-partial.ly: new file. * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8 for \char markup command. * scm/define-event-classes.scm (unlistened-music-event-classes): idem. * scm/define-music-types.scm (music-descriptions): consistency: Use solo-{one,two}-event iso. solo-[12]-event. * lily/part-combine-engraver.cc (process_music): Use solo-{one,two}-event iso. solo-[12]-event. * ly/declarations-init.ly (partCombineListener): add Timing as alias * flower/std-string.cc (string_copy): use copy () * lily/source-file.cc (Source_file): use copy(). Remove contents_str0() 2006-08-24 Graham Percival * Documentation/user/changing-defaults.itely, global.itely, lilypond-book.itely, page.itely: minor changes from mailist. 2006-08-23 Han-Wen Nienhuys * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and snippet-map * scm/define-context-properties.scm (translator-property-description): robustness: detect type errors in property definitions. * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result after getting it from SCM. * lily/smobs.cc (protect_smob): switch off fancy smob protection for now. * lily/include/performer.hh (class Performer): strip get_tempo() method. * lily/midi-def.cc: strip file. * lily/lexer.ll (Lily_lexer): don't protect hash key separately. * lily/include/context-def.hh (struct Context_def): use VIRTUAL_COPY_CONSTRUCTOR(). * lily/source-file.cc: smobification. * lily/include/source-file.hh (class Source_file): smobify Source_file. Trim redundant members. * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect clones after creation. This plugs a huge memory leak. * python/convertrules.py (FatalConversionError.sub_tempo): complete rule for \midi{ \tempo } * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem. * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo. 2006-08-23 Joe Neeman * input/regression/optimal-page-breaking-hstretch.ly: test for ragged-last-bottom also * lily/paper-column-engraver.cc (finalize): make the end of a score breakable by default. This is to balance out a change in behaviour of the page-turn-breaker which no longer makes the end of a score breakable. * lily/paper-book.cc (pages): set the systems_ once the pages are broken * lily/page-turn-page-breaking.cc (calc_subproblem): use the new Page_breaking interface. * lily/page-breaking.cc (class Page_breaking): make the interface more consistent and provide abstractions for dealing with Line_divisions. * lily/optimal-page-breaking.cc (solve): use a more straightforward algorithm. Use the new interface to Page_breaking. * lily/page-spacing.cc: better support for ragged-bottom and ragged-last-bottom 2006-08-22 Han-Wen Nienhuys * python/convertrules.py (conv): warning on \tempo{} * ly/performer-init.ly: set tempoWholesPerMinute. * ly/midi-init.ly: remove \midi * lily/tempo-performer.cc: look at tempoWholesPerMinute to set MIDI tempo. * lily/metronome-engraver.cc (process_music): use tempoUnitCount tempoUnitDuration for determining what to print. * lily/lyric-extender.cc: typo. * lily/parser.yy (output_def_body): disallow \tempo in \midi{} * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new function. * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes. * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if eps-pad-boxes is set. * scripts/lilypond-book.py (main): use -deps-pad-boxes. * THANKS: update sponsors. * ly/english.ly: quarter tone naming (thanks, Trevor Baca) * Documentation/topdocs/NEWS.tely (Top): doc new feature. * input/regression/tie-chord-untied.ly: new file. * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property. * scm/define-music-properties.scm (all-music-properties): add 'untied property. * buildscripts/mutopia-index.py (allfiles): look for .ly rather than .ly.txt. (headertext_nopics): sanitize no-examples text. * scm/page.scm (make-page-stencil): don't rely on extents of page-stencil. This fixes spurious space around .EPS files produced with the EPS backend. 2006-08-21 Han-Wen Nienhuys * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional. * lily/hara-kiri-engraver.cc (process_music): remember keepAliveInterfaces after processing \set * lily/lyric-extender.cc (print): support left/right-padding for extenders. * scm/documentation-generate.scm (string-append): revert lilypond/ path, doc why. 2006-08-20 Graham Percival * Documentation/user/lilypond.tely: clarification to license presentation (not to actual license). * Documentation/user/basic-notation.itely, instrument-notation.itely: minor changes. * input/ {regression, test}/+.ly: clarification to text (you can click on examples). Thanks, Mats! * input/manual/bar-lines.ly: adds ||: repeats. 2006-08-20 Han-Wen Nienhuys * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES * scm/documentation-lib.scm (texi-file-head): category LilyPond. * Documentation/user/lilypond.tely: strip lilypond/ from info links, rename to category LilyPond * lily/pango-font.cc (description_string): new function. * VERSION: release 2.9.15 * lily/spacing-engraver.cc (stop_translation_timestep): use Dscho's fix for spacing spanner. * scm/define-music-types.scm (music-descriptions): use apply-output-event for ApplyOutputEvent * lily/output-property-engraver.cc (listen_apply_output): rename from listen_layout_instruction. * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new function protect() 2006-08-19 Han-Wen Nienhuys * scm/lily.scm (lilypond-all): option read-file-list: substitute commandline args with contains, split by \n. * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): write snippet-names file, call with -dread-file-list. Fixes command limitations on 64-bit systems. * input/regression/stencil-color-rotation.ly: new file. * lily/include/translator.hh (struct Acknowledge_information): revert: don't use Protected_scm in global objects, as GUILE can't handle gc_unprotect from automated destructors on MacOS X. * lily/grob.cc (get_print_stencil): use retval.expr() as base for color, not the original stencil. Fixes combinations of color/transparency/rotation. * scripts/lilypond-book.py (main): add --formats=eps for texinfo/latex. * lily/spacing-engraver.cc (stop_translation_timestep): don't crash if spacing_ is nonexistent. 2006-08-14 Mats Bengtsson * scripts/lilypond-book.py (output): Remove obsolete(!?) \catcode`\@=12 in the LaTeX output. 2006-08-11 Han-Wen Nienhuys * scm/define-music-types.scm (music-descriptions): use sustain-event iso. sustain-pedal-event. 2006-08-11 Joe Neeman * scripts/convert-ly.py: honour the -n command-line switch 2006-08-10 Han-Wen Nienhuys * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine break specification. 2006-08-10 Joe Neeman * Documentation/user: convert-ly the user manual 2006-08-09 Han-Wen Nienhuys * stepmake/aclocal.m4: version check patch (thanks MWD) * ly/music-functions-init.ly: robustness. Don't crash if currentBarNumber is not a number. * VERSION (PATCH_LEVEL): bump. 2006-08-08 Han-Wen Nienhuys * stepmake/aclocal.m4: better version check; handle fooX.Y binaries too. * ly/performer-init.ly: instrument name fixup. * input/manual/chord-names-jazz.ly (banterProperties): instrumentName update * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new function. Use hash tables to check membership. * lily/general-scheme.cc (LY_DEFINE): new function. * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem * lily/include/translator.hh (struct Acknowledge_information): add Protected_scm * ly/music-functions-init.ly: change name to BreathingEvent * input/regression/*.ly: apply it. * python/convertrules.py (conv): better instrumentName conversion rule. * scm/define-music-types.scm (music-descriptions): add line-break-event to LineBreakEvent music * lily/music.cc (to_event): don't crash if music type not set. * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if spacing not set. * lily/spacing-engraver.cc (stop_translation_timestep): set spacing for proportional notation too. * scm/translation-functions.scm (format-bass-figure): inspect stream-event. * scripts/lilypond-book.py (bindir): add bindir to $PATH. 2006-08-08 Joe Neeman * lily/include/constrained-breaking.hh: add Line_details (Prob*) * scm/page.scm (make-page): make it friendlier to call (esp. from C++) * scm/layout-page-layout.scm (make-page-from-systems): new function (optimal-page-breaks): use the new page-breaking calling convention * scm/define-context-properties.scm (all-user-translation-properties): add revokePageTurns * lily/paper-column-engraver.cc (stop_translation_timestep): add revokePageTurns functionality. If there is a special barline within the breakable region, break there instead of at the end of the region. * lily/paper-book.cc (pages): use the new page-breaking calling convention 2006-08-07 Erik Sandberg * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command * scripts/lilypond-book.py: insert \sourcefileline command in output, so lilypond error messages refer to the spot in the original .lytex / .itely sourcefile. 2006-08-04 Han-Wen Nienhuys * lily/spacing-loose-columns.cc (set_loose_columns): oops: use space to next column for distance to fixed col. * VERSION (PACKAGE_NAME): release 2.9.14 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also if no accidental. * lily/accidental-engraver.cc (process_acknowledged): don't create accidental for trill span event. This fixes spurious accidentals on trills. 2006-08-04 Mats Bengtsson * scm/define-grob-properties.scm (all-user-grob-properties): Clarify documentation of side-axis and direction. Thanks to Paul for the inspiration. * lily/bar-line.cc: Add documentation for "||:" also in the interface documentation. 2006-08-04 Han-Wen Nienhuys * lily/spacing-loose-columns.cc (set_loose_columns): bugfix. * lily/paper-column.cc (set_system): new function. * lily/spacing-engraver.cc (stop_translation_timestep): store SpacingSpanner refs in Paper_column. * lily/spacing-loose-columns.cc (set_loose_columns): rewrite compute loose clique spacing using GraceSpacing/SpacingSpanner. 2006-08-03 Han-Wen Nienhuys * lily/beam-engraver.cc (listen_beam): add method for Grace_beam_engraver too. 2006-08-03 Mats Bengtsson * python/convertrules.py: Fix indentation bug that broke conversion of files older than 1.3.117. Fix escape error in the description for 2.9.6. 2006-08-02 Erik Sandberg * lily/*-engraver.cc: convert all try_music functions to listen_* functions. * lily/piano-pedal-engraver.cc: some additional cleanups: use enums to represent pedal types, and calculate more data statically. * scm/part-combiner.scm (recording-group-emulate): create a softcoded substitute for recording-group-engraver.cc. * lily/music.cc: make a common transpose function for events and music * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates ManualMelismaEvent, and obsoletes Melisma_translator. 2006-08-02 Han-Wen Nienhuys * input/test/instrument-name-align.ly: update version. 2006-08-02 Mats Bengtsson * Documentation/user/lilypond-book.itely (Invoking lilypond-book): Doc the --pdf flag to lilypond-book. 2006-07-31 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): add description. * input/regression/tuplet-full-length-note.ly: add file. * lily/instrument-name-engraver.cc (acknowledge_axis_group): always store axis group. 2006-07-27 Han-Wen Nienhuys * input/regression/instrument-switch.ly: new file. * lily/instrument-switch-engraver.cc (process_music): new file. * ly/engraver-init.ly: add Instrument_switch_engraver * ly/music-functions-init.ly: \instrumentSwitch * scm/define-context-properties.scm (all-user-translation-properties): add instrumentCueName * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch 2006-07-26 Han-Wen Nienhuys * ly/music-functions-init.ly: music function \transposition. * lily/parser.yy (command_element): softcode \transposition. * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step. (process_music): oops. * lily/instrument-name-engraver.cc (start_spanner): new function. Create spanner when property changes. (stop_spanner): new function. * python/convertrules.py (conv): add rule. * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam, shortInstrumentName iso. instr. * scm/output-ps.scm (dashed-line): add phase argument to dashed-line. * lily/bar-line.cc (dashed_bar_line): new function. (compound_barline): support \bar "dashed". * lily/lily-parser-scheme.cc (LY_DEFINE): only write --output=DIR to DIR/BASE if it is a dir. * flower/file-name.cc (file_part): new function (dir_part): new function * lily/lily-parser-scheme.cc (LY_DEFINE): * DEDICATION: update 2006-07-25 Han-Wen Nienhuys * lily/instrument-name-engraver.cc: formatting. * python/convertrules.py (conv): bugfix for \epsfile. 2006-07-25 Joe Neeman * lily/grob.cc: * lily/gourlay-breaking.cc: Oops, these should have been included in my last commit 2006-07-24 Han-Wen Nienhuys * scripts/*.py (program_name): cleanup relocation snippets. * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support. 2006-07-24 Joe Neeman * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn page-breakable by default * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't correctly calculated for a single-system page * scm/lily-library.scm (interval-sane?): also check that the first number is no bigger than the second number * lily/simple-spacer.cc (solve): allow compression even when ragged (but we acknowledge that we aren't satisfying constraints) * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to non-Items * lily/grob.cc (pure_height): add minimum-Y-extent * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're ragged * lily/constrained-breaking.cc: convert code to use new Matrix class (get_best_solution): new function * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there is a page with no systems 2006-07-23 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.13 * scm/define-grobs.scm (all-grob-descriptions): remove stray assignment. 2006-07-21 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): doc new features. * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new function. * scm/define-grob-properties.scm (all-user-grob-properties): remove grace-space-factor. * scm/define-grob-interfaces.scm (grace-spacing-interface): add grace-spacing-interface (spacing-options-interface): add. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc * lily/spacing-basic.cc (note_spacing): do init_from_grob on GraceSpacing object. * lily/note-spacing.cc: fix prop list formatting * lily/beaming-pattern.cc (de_grace): new function. Sensible beaming for grace notes too. * input/regression/spacing-grace.ly: update. * lily/grace-spacing-engraver.cc: new file. * lily/spacing-spanner.cc: add strict-grace-spacing. 2006-07-20 Graham Percival * lily/parser.yy: compile fix. 2006-07-20 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): typo. * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip .eps extension from includegraphics. * scripts/lilypond-book.py (main): add support for --pdf. * lily/spacing-spanner.cc (calc_common_shortest_duration): use callback to compute common shortest duration. (set_springs): typo. * scm/define-grob-properties.scm (all-user-grob-properties): add strict-grace-spacing. * lily/spacing-determine-loose-columns.cc (is_loose_column): support float_grace_columns_. * lily/spacing-options.cc (init_from_grob): new file. * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote. * input/regression/spacing-loose-grace.ly: new file. * Documentation/topdocs/NEWS.tely (Top): document new feature. * lily/tuplet-engraver.cc (struct Tuplet_description): read tupletFullLengthNote too. Choose right bound depending on value. * input/regression/tuplet-full-length-note.ly: new file. 2006-07-19 Erik Sandberg * lily/*-performer.cc: Converted try_music to listen_* * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob as a stream-event internally. Introduce event_cause (), deprecate music_cause (). * scm/define-music-types.scm: Removed BusyPlayingEvent 2006-07-19 Mats Bengtsson * Documentation/user/advanced-notation.itely (Font selection): Document how to get a list of available fonts using 'lilypond -dshow-available-fonts blabla'. 2006-07-19 Han-Wen Nienhuys * GNUmakefile.in: filter lily-XXX.pdf files. * scm/define-grob-interfaces.scm (bend-after-interface): add thickness. * scm/define-grob-properties.scm (all-internal-grob-properties): remove delta-pitch. Use delta-position everywhere. * scm/output-lib.scm (fall::print): use new order. * scm/output-ps.scm (path): reorder arguments. * scm/output-svg.scm (path): support for path primitive. * input/regression/bend-after.ly: new file. * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof recipe for eps -> pdf conversion. 2006-07-19 Erik Sandberg * lily/parser.yy, lily/lexer.ll: added some simplifications by Angelo Contardi. 2006-07-19 Graham Percival * input/manual/screech-boink.ly: moved to here. * input/screech-boink.ly: deleted. * scm/define-grob-properties.scm: clarify doc string. 2006-07-19 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): doc new feature. * scm/output-ps.scm (path): define path. * scm/define-stencil-commands.scm (ly:register-stencil-expression): add path. * scm/define-music-properties.scm (all-music-properties): add delta-pitch. * ly/engraver-init.ly: add Fall_engraver * lily/parser.yy (music_function_event): allow musicfunction without music arg as music_function_event. * lily/grob-scheme.cc (LY_DEFINE): ly:grob-robust-relative-extent. New function. * scm/define-grobs.scm (all-grob-descriptions): add BendAfter * scm/define-music-types.scm (music-descriptions): add BendAfterEvent. * scm/output-lib.scm (fall::print): new function * lily/fall-engraver.cc (stop_fall): new file. * ly/music-functions-init.ly: alphabetise. * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as base. 2006-07-17 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): bump version. Release 2.9.12 * Documentation/user/lilypond-book.itely (Invoking lilypond-book): doc pdftex usage. * lily/translator-group.cc (connect_to_context): non const error message. * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF * scm/paper.scm (internal-set-paper-size): define landscape to #f if unset. * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape. * stepmake/stepmake/texinfo-rules.make: strip DVI support. * scm/framework-eps.scm (dump-stencils-as-EPSes): generate systems.pdftex too. * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF. * make/lilypond-vars.make (TEXINPUTS): add pdf output format. * Documentation/topdocs/NEWS.tely (Top): add pdftex note. * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation. * lily/main.cc (parse_argv): don't overwrite previous --formats string. * scm/backend-library.scm (postscript->pdf): strip .eps too. 2006-07-14 Nicolas Sceaux * scm/layout-page-layout.scm: Define module, tidy code, use more functions iso. a single big one. * scm/layout-page-dump.scm: move page dump functions used in two pass spacing to this file. Define module. * scm/lily.scm (ly:load): don't load layout-page-layout.scm (separate module) * ly/paper-defaults.ly: use module layout-page-layout. 2006-07-14 Erik Sandberg * lily/music.cc: Revised MusicEvent event class. It now contains event data directly instead of encapsulating it in music. The previously used class is renamed to OldMusicEvent. * lily/stream-event.cc: Stream events are now probs. * lily/translator-group.cc, lily/translator.cc: Translators can now listen directly to stream events, by using macros [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER. * lily/arpeggio-engraver.cc: Converted to use new event system * THANKS: Corrected spelling mistake. 2006-07-12 Graham Percival * Documentation/user/SConscript, make/lilypond-vars.make, input/GNUmakefile: doc build looks in input/manual instead of input/test/ * input/manual/ GNUmakefile, SConscript: build files for input/manual/ * input/test/ various: some files moved to input/manual/ * Documentation/user/basic-notation.itely: small updates; thanks Kieren and Charles! 2006-07-12 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.11 * Documentation/topdocs/NEWS.tely (Top): update prop value * Documentation/user/basic-notation.itely (Tuplets): new property value. 2006-07-11 Han-Wen Nienhuys * python/convertrules.py (conv): tweaks. * VERSION (PATCH_LEVEL): bump version. * python/convertrules.py (conv): add rule for tupletNumberFormatFunction. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove tupletNumberFormatFunction. * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber text through 'text callback. * lily/time-scaled-music-iterator.cc (construct_children): copy tweaks generated events. * scm/define-context-properties.scm (all-user-translation-properties): remove tupletNumberFormatFunction * lily/tuplet-engraver.cc (process_music): don't read tupletNumberFormatFunction * scm/output-lib.scm (tuplet-number::calc-fraction-text): new function. 2006-07-11 Erik Sandberg * lily/global-context-scheme.cc: Separated ly:run-translator into smaller pieces. * lily/score-engraver.cc, lily/score-performer.cc, scm/define-context-properties.scm: Make paper/midi output accessable as a context property. * lily/score-translator.cc, lily/score-context.cc: Removed. 2006-07-07 Guido Amoruso * scm/ps-to-png.scm (Module): * scm/framework-tex.scm (Module): * scm/framework-ps.scm (Module): * scm/backend-library.scm (Module): * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and "dDEVICEHEIGHTPOINTS". 2006-07-04 Graham Percival * Documentation/user/ various: general improvements to "working with lilypond files" section. 2006-07-03 Erik Sandberg * lily/sequential-iterator.cc: Change the default get_music_list to read elements-callback music property * scm/define-music-types.scm, scm/music-functions.scm: Cleaner processing of multimeasure rests. Softcoded sequential-music-iterator. * lily/sequential-music-iterator.cc: Removed. 2006-06-28 Graham Percival * Documentation/user/basic-notation.itely: clarify \repeatTie. 2006-06-27 Erik Sandberg * lily/parser.yy: Wrap non-post-events in EventChords before assigning them to identifiers. 2006-06-27 Mats Bengtsson * lily/bar-line.cc (compound_barline): Fix parenthesis error, gives correct vertical placement of \bar ":" in all staff sizes. Thanks Martial! 2006-06-26 Graham Percival * Documentation/user/invoking.itely : minor update from mailist. 2006-06-26 Erik Sandberg * lily/ various: Introduce stream events of types Prepare, OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext, ChangeContext, SetProperty, RevertProperty, Override and Revert. * lily/global-context*.cc: Time is now -inf before iteration starts. * lily/include/context.hh: Removed unique_, init_ * Documentation/topdocs/NEWS: Make the feathered beam example avoid triggering a bug. 2006-06-24 Graham Percival * Documentation/user/ various: small additions from mailist. 2006-06-22 Mats Bengtsson * ly/performer-init.ly: Add some missing links in the context hierarchy for MIDI output. There are probably some more missing! 2006-06-21 Graham Percival * Documentation/user/ various: minor spelling fixes; thanks Dave Luttinen! * Documentation/user/ various: small clarifications; thanks Anthony Youngman! 2006-06-20 Han-Wen Nienhuys * po/fr.po: add \n appropriately. * lily/lexer.ll: remove ? from version-seen? 2006-06-19 John Mandereau * po/fr.po; update translation, by Jean-Charles Malahieude and John Mandereau. 2006-06-19 Han-Wen Nienhuys * THANKS: add Markus Schneider. * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not Staff_symbol_engraver * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't replace staff_engraver * lily/staff-symbol-engraver.cc (stop_spanner): announce end of spanner. * lily/staff-collecting-engraver.cc (acknowledge_end_staff_symbol): new function * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function. * lily/staff-collecting-engraver.cc (acknowledge_end_staff_symbol): new function. * lily/main.cc: switch on relocation by default. 2006-06-18 Han-Wen Nienhuys * lily/spacing-spanner.cc (musical_column_spacing): set compound_fixed_note_space to 0.0. Document why. * lily/simple-spacer.cc (is_sane): also have a kludge for numeric range of inverse_hooke_ (Simple_spacer): init completely. (fits): const (get_line_configuration): don't use cols.resize(); it introduces initialized data. * scm/framework-ps.scm (dump-page): add setstrokeadjust. * ps/music-drawing-routines.ps: remove selectfont L1 hack. * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd try. Divide by beatlength. * input/regression/beaming-ternary-metrum.ly: update doc. add beatLength hack. * scm/music-functions.scm (make-time-signature-set): add standard-beat-grouping. 2006-06-17 Han-Wen Nienhuys * input/regression/tie-whole.ly: new file. * lily/tie-formatting-problem.cc (set_column_chord_outline): don't cross center of note head in case of invisible stem. 2006-06-16 Graham Percival * Documentation/user/ various: small fixes from mailist. 2006-06-16 Han-Wen Nienhuys * lily/breathing-sign.cc (offset_callback): idem. * lily/align-interface.cc (align_to_fixed_distance): remove hungarian suffix. * lily/beaming-pattern.cc (count_factor_twos): oops. We want x%2==0. 2006-06-15 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.9 * ly/lilypond-book-preamble.ly: add \version 2006-06-14 Han-Wen Nienhuys * scripts/lilypond-book.py (PREAMBLE_LY): include lilypond-book-preamble.ly * lily/stem.cc (get_beaming): return max of 0 and scm_ilength. Fixes slurring from/to beams. * ly/lilypond-book-preamble.ly: new file. * lily/slur.cc: add inspect-index feature. 2006-06-13 Graham Percival * Documentation/user/tutorial.itely: trivial fix. 2006-06-13 Erik Sandberg * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost all non-event music in the parser via MAKE_SYNTAX. * lily/parser-scheme.cc: Add ly:parser-error function * scm/paper.scm: fix typo 2006-06-13 Han-Wen Nienhuys * THANKS: add RT. * lily/font-config.cc (init_fontconfig): add warning if cache_file is null. * buildscripts/output-distance.py (test_compare_signatures): timing routines. (read_signature_file): use new signature format. * scm/stencil.scm (write-system-signature): simpler signature format. * lily/stem.cc (calc_stem_end_position): calc quantized-positions for beamed case. * lily/note-spacing.cc (stem_dir_correction): don't inspect stem_end_position, but estimate instead. * lily/tuplet-bracket.cc (calc_positions): look at stem-end-position for tuplet bracket slope. Fixes sloped tuplet brackets narrower than beams. * lily/lexer.ll: set version-seen? even if version is INVALID. * lily/rest.cc (y_offset_callback): bugfix: decide position override based on scm_is_number(). Fixes \rest on center staff line. * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming patterns for 16th triplets. 2006-06-10 Graham Percival * Documentation/user/ page.itely, global.itely: editing and reorg. * Documentation/user/ various: findex -> funindex. 2006-06-10 Erik Sandberg * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to insert extra tuplet events. 2006-06-10 Graham Percival * Documentation/user/programming-interfaces.itely: add info from NEWS. * python/convertrules.py: add annotatefoo -> annotate-foo rules. * Documentation/user/global.itely: start editing. * Documentation/user/page.itely: major editing, new spacing docs. 2006-06-10 Han-Wen Nienhuys * scm/define-markup-commands.scm (wordwrap-markups): use output-def 'line-width if undefined. * HACKING: trim outdated info. 2006-06-09 Mats Bengtsson * scm/define-grobs.scm (all-grob-descriptions): Add line-spanner-interface to all grobs that already have text-spanner-interface or dynamic-text-spanner-interface * scm/page.scm: Rename annotate{headers,systems,page}-> annotate-* * input/regression/page-spacing.ly, input/regression/page-layout-manual-position.ly: idem 2006-06-09 Han-Wen Nienhuys * lily/line-spanner.cc: cleanup property list. * scripts/lilypond-book.py (find_toplevel_snippets): don't use generator expressions (2.3 compat). 2006-06-09 Mats Bengtsson * lily/vertical-align-engraver.cc: Make sure that the align{Above,Below}Context properties are included in the automatic documentation. 2006-06-08 Joe Neeman * scm/paper-system.scm (paper-system-annotate): also annotate the estimated pure-Y-extent * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions * lily/system.cc (break_into_pieces): set the estimated height of each child system * lily/stem.cc (pure_height): new pure-Y-extent callback * lily/staff-symbol-referencer.cc (callback): don't destroy the staff-position property * lily/hara-kiri-group-spanner.cc (request_suicide): split consider_suicide into two functions * lily/constrained-breaking.cc (resize): use the new pure callbacks to estimate the height of a system * lily/axis-group-interface.cc (pure_group_height): new side-effect-free VerticalAxisGroup height-callback * lily/align-interface.cc (get_extents_aligned_translates): split align_elements_to_extents into two functions (get_pure_child_y_translation): new function * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset * lily/item.cc: new functions pure_is_visible and spanned_rank_iv * lily/paper-score.cc: cache break_indices and columns * lily/side-position-interface.cc: new pure-Y-extent callbacks 2006-06-08 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): do the init if cache_file, but don't look at cache_file. * input/regression/quote-tie.ly: new file. * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_ to Head_event_tuple, so we deal gracefully with ties on cue-endings. * lily/pango-font.cc (pango_item_string_stencil): type correctness for FcChar8* 2006-06-08 Graham Percival * input/test/ smart-transpose.ly, reverse-music.ly: \applyMusic to music functions update, thanks Michael! 2006-06-07 Graham Percival * input/test/ add-staccato.ly, add-text-script.ly, unfold-all-repeats.ly, music-box.ly: \applyMusic to music functions update, thanks to Michael Meixner. * Documentation/user/music-glossary.tely: small fix from Francisco. * Documentation/user/ various: minor additions from mailist. * Documentation/user/lilypond.tely, basic-notation.itely: small test of @funindex. (works here) * input/test/font-table.ly: reduce size to partially de-ugly version in manual. * Documentation/user/page.itely: new file (split former "global issues" into "page settings" and "non-musical output". * Documentation/user/ various: fix @ref{}s to match new chapter names (above). 2006-06-07 Jan Nieuwenhuizen * SConstruct (LILYPONDPREFIX): Bootstrap fix. 2006-06-06 Graham Percival * Documentation/user/advanced-notation.itely: add example for segno/coda on barline. * tex/texinfo.tex: merge from upstream. 2006-06-06 Jan Nieuwenhuizen * scripts/lilypond-book.py (process_snippets): Argument fix. * SConstruct: * buildscripts/builder.py: * lily/SConscript: * mf/SConscript: * Documentation/user/SConscript: More SCons fixes. 2006-06-03 Jan Nieuwenhuizen * lily/font-config.cc (init_fontconfig): Only initialize if global cache_file is found. 2006-06-06 Erik Sandberg * ly/music-functions-init.ly: Updated \overrideProperty to use the new \applyOutput. 2006-06-06 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.8 * lily/ledger-line-engraver.cc (stop_translation_timestep): new function. Delay ledger modifying ledgered grobs to stop_translation_timestep(), to ensure that we're ledgering according to the new spanner. (acknowledge_staff_symbol): don't check for non-NULL staff_sym->get_bound() * lily/staff-symbol-engraver.cc (start_spanner): set left bound on creation. * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for pictures too. * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4 directly from srcdir/stepmake/aclocal.m4 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for disting MISC files. * lily/simple-spacer.cc (get_column_desc): desc -> description. 2006-06-06 Joe Neeman * lily/simple-spacer.cc (get_line_configuration): add keep-inside-line rods (struct Column_desc): add constructor (struct Rod_desc): add constructor (get_line_forces): check for forced page breaks here too * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent support/elements cycles between InstrumentNames and AxisGroups 2006-06-06 Han-Wen Nienhuys * config.make.in (METAFONT): remove MAKEINFO_VERSION * stepmake/stepmake/topdocs-targets.make (make-txt-files): define make-txt-files target. * stepmake/stepmake/toplevel-targets.make (do-top-doc): use make-txt-files target. * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py * stepmake/stepmake/generic-vars.make (distdir): create dist in top-build-dir. 2006-06-06 Jürgen Reuter * Documentation/user/instrument-notation.itely, input/regression/breathing-sign-ancient.ly, input/test/divisiones.ly: Removed redundant property settings for vaticana contexts. * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to fix lyrics alignment problems. They are implemented now as scheme functions that add the appropriate unicode char to the first lyric event rather than adding a separate lyric event. Minor edit of comments. 2006-06-06 Han-Wen Nienhuys * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't pollute src dir with built .txt files, but install directly from Documentation/topdocs/out/ * buildscripts/output-distance.py (ComparisonData.create_html_result_page): put version/directories in table header. * Documentation/topdocs/NEWS.tely (Top): document spacing section feature. * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links. Patch by Karl Hammar * buildscripts/readlink.py: add file. Patch by Karl Hammar 2006-06-06 Joe Neeman * lily/tuplet-number.cc (print): prevent stencil from being garbage collected. 2006-06-05 Han-Wen Nienhuys * scm/stencil.scm (write-system-signature): explicitly -well, superfluously- close output port. * buildscripts/output-distance.py (main): oops. Add extra argument. 2006-06-05 Graham Percival * Documentation/user/music-glossary.tely: clarified example from Francisco Vila, thanks! 2006-06-05 Han-Wen Nienhuys * input/regression/spacing-section.ly: new file. * lily/input.cc (programming_error): new function. * lily/spacing-engraver.cc (try_music): new function. Accept spacing-section-event * lily/spacing-spanner.cc (set_springs): take slices of all columns for spacing. * lily/include/paper-column.hh (class Paper_column): add Paper_column::compare. * ly/spanners-init.ly (newSpacingSection): add newSpacingSection. * scm/define-music-types.scm (music-descriptions): add SpacingSectionEvent * lily/music-iterator.cc (report_event): use programming_error for sending non-event error. * lily/input.cc (programming_error): new function * buildscripts/output-distance.py (main): use compare-XXX for compare files. (main): --threshold option, default at 0.30 * output-distance.py (main): add --threshold option. 2006-06-04 Nicolas Sceaux * scm/paper-system.scm (paper-system-annotate): fix problem when annotating an empty system 2006-06-04 Han-Wen Nienhuys * GNUmakefile.in: reinstate old web tar/copying. 2006-06-03 Han-Wen Nienhuys * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if nothing changes. (Erik S) * lily/percent-repeat-iterator.cc (get_music_list): fix repeat count. (Erik S) 2006-05-28 Nicolas Sceaux * scm/define-markup-commands.scm (whiteout): do not force foreground color of argument markup to black. * scm/stencil.scm (annotate-y-interval): put arrow dimension at the left of the arrow, instead of below the arrow name, so that, when two little arrows are vertically stacked, their dimensions and name should not overlap. Add a color key parameter. * scm/paper-system.scm (paper-system-annotate): Annotate next-space+next-padding instead of next-space. Annotate space between next-padding and next-space+padding, respectively, and following system extent and refpoint-Y-extent. Use colors. * scm/page.scm (annotate-page): translate annotations slightly to the right. 2006-06-03 Han-Wen Nienhuys * lily/figured-bass-position-engraver.cc (acknowledge_end_slur): fix for x-staff slurs. Thanks Joe! * buildscripts/output-distance.py (SystemLink.output_expression_change_count): keep track of changed details, and dump in details html page. * input/regression/figured-bass-staff.ly: add note about setting properties in Staff context. * lily/figured-bass-position-engraver.cc (acknowledge_slur): add slurs and ties to support too. * buildscripts/output-distance.py (main): set dest_dir argument. Add --max-count option. 2006-06-02 Jürgen Reuter * ly/gregorian-init.ly: Converted to utf-8. Added memorable shortcuts for special unicode chars that are useful in chant notation. Revised exisiting and added new comments. 2006-06-02 Han-Wen Nienhuys * make/mutopia-rules.make: remove duplicate recipe. 2006-06-02 Werner Lemberg * tex/texinfo.cnf: Fix typo (\euro -> \minus). Add support for U+0132 (IJ) and U+0133 (ij). 2006-06-02 Han-Wen Nienhuys * buildscripts/output-distance.py (FileLink): new class. collect info systems from one .ly file. (FileLink.link_files_for_html): further tweaks. 2006-06-02 Graham Percival * tex/texinfo.tex: partial fix for @funindex. * Documentation/user/macros.tely: uncomment @funindex (doesn't break anything). 2006-06-02 Han-Wen Nienhuys * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for @example too. Backportme. 2006-06-02 Graham Percival * tex/texinfo.cnf: added UTF-8 support for texinfo; patch from Werner Lemberg. 2006-06-02 Paco (Francisco Vila) * Documentation/user/music-glossary.tely: additional spanish updates and a lyrics fix in an example. 2006-06-02 Jürgen Reuter * scm/define-grob-properties.scm: Previous patch contained spurious line from another patch not yet committed. Fixed. * scm/define-grob-properties.scm: Add missing doc strings for ancient notation. 2006-06-01 Han-Wen Nienhuys * buildscripts/output-distance.py (ComparisonData.write_text_result_page): separate the scores, sort by geo_score. * scm/framework-eps.scm (output-classic-framework): start at 1 for system signatures. * buildscripts/output-distance.py (me_path): use argv[0] for sys.path extension (ComparisonData.img_cell): use colored borders. * scm/stencil.scm (write-system-signature): escape newlines too. (write-system-signature): use (1,-1) interval for empty interval 2006-01-01 Graham Percival * Documentation/user/music-glossary.tely: Spanish updates from Francisco Vila. * Documentation/user/lilypond-book.itely: addition from Vaclav Smilauer. * Documentation/user/ various: edits, small additions from mailist, etc. 2006-06-01 Jan Nieuwenhuizen * GNUmakefile.in (tree-lib-prefix-current): (tree-share-prefix-current): Use version number in tree, add `current' symlinks. 2006-06-01 Han-Wen Nienhuys * GNUmakefile.in: write VERSION, again. * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too. * stepmake/aclocal.m4: robuster version detection. * buildscripts/output-distance.py (ComparisonData.create_html_result_page): copy only if file exists, fixup src paths. * stepmake/bin/add-html-footer.py (built): junk gulp_file() 2006-06-01 Jan Nieuwenhuizen * stepmake/aclocal.m4: Robustification for (gcc) version detection. Another datarootdir reto. * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't available. This should be moved to postinstall-lilypond-doc. 2006-05-31 Han-Wen Nienhuys * GNUmakefile.in: simplify local-WWW-post. remove -type l from find. * buildscripts/output-distance.py (ComparisonData.compare_trees): fixes. Don't follow symlinks. (ComparisonData.create_html_result_page): remove previous results. insert ../python in path. * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes. 2006-05-31 Jan Nieuwenhuizen * config.make.in (datadir): Add datarootdir to silence autoconf. * stepmake/aclocal.m4: Update for autoconf-2.59d. 2006-05-31 Erlend Aasland * dynamic-engraver.cc: fix bug (dynamics collide with accidentals) * scm/output-ps.scm (repeat-slash): fix a bug that made repeat slash beams too wide. 2006-05-30 Han-Wen Nienhuys * VERSION: release 2.9.7 2006-05-30 Jan Nieuwenhuizen * lily/relocate.cc (read_relocation_dir): Do not blindly dereference DIR. 2006-05-30 Han-Wen Nienhuys * lily/parser.yy: replace THIS by PARSER * Documentation/index.html.in: add link to test-results.html page. * Documentation/topdocs/NEWS.tely (Top): update NEWS entry. * scm/translation-functions.scm (format-bass-figure): translate digits over 10 to the left * scm/define-markup-commands.scm (translate-scaled): new markup. * mf/feta-nummer-code.mf (code): overshoot the topright tip of the 7 glyph. * ly/engraver-init.ly: add Figured_bass_engraver * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul. * lily/figured-bass-engraver.cc (clear_spanners): use everywhere. * lily/score-engraver.cc (announce_grob): only note START announces. * lily/include/engraver-group.hh (Translator_group): acknowledge_hash_table_ is now drul. * lily/engraver.cc (announce_end_grob): new method. * lily/include/grob-info.hh (class Grob_info): add start_end_ member. * lily/translator-dispatch-list.cc (create): take start_end argument. * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change acknowledge_static_array_ to drul * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro. * scm/define-grob-interfaces.scm (bass-figure-alignment-interface): add bass-figure-alignment-interface * scm/define-grobs.scm (all-grob-descriptions): add BassFigureAlignmentPositioning * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version number stays up to date. Backportme. 2006-05-30 Mats Bengtsson * Documentation/user/basic-notation.itely (Bar lines): Document the "||:" bar type. 2006-05-30 Jan Nieuwenhuizen * buildscripts/builder.py: Remove --ly option/target from mf-to-table. * scripts/lilypond-book.py: Bugfix: do not blindly attempt .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc' build. * Resurrect `scons lily' build. * SConstruct (symlink_tree): Bugfix: link music-drawing-routines.ps to file iso directory. * lily/SConscript: Remove kpath-guile from LIBS. * SConstruct (libdir_package_version): Typo. (configure): Comment-out fontforge for lack of fontforge.pc . Also add libdir* to environment. 2006-05-30 Graham Percival * Documentation/user/ various: minor additions from mailist and editing. 2006-05-30 Paco * Documentation/user/music-glossary.tely: numerous corrections and some new translations. 2006-05-29 Han-Wen Nienhuys * BackportmeStart. * buildscripts/output-distance.py (ComparisonData.create_html_result_page): new routine: summarise results in HTML page with images. (ComparisonData.create_text_result_page): create summary text files too. * GNUmakefile.in (web-ext): package .signature files too. They compress well. * scm/stencil.scm (write-system-signature): typo. * GNUmakefile.in: create web-root/VERSION to help upload scripts. * scm/stencil.scm (write-system-signature): better escaping. only write signature for music systems, not for markup systems. * scm/framework-ps.scm (output-framework): dump-signatures support for plain output. * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures. * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop for -dno-point-and-click * lily/grob.cc (get_print_stencil): don't read point_and_click_global to determine whether to set grob-cause. 2006-05-28 Han-Wen Nienhuys * buildscripts/output-distance.py (main): new function. (ComparisonData): new class. * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more careful with generating new LedgerLineSpanners. * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff. * ly/engraver-init.ly: remove Ledger_line_engraver from Voice context. This fixes double ledger lines in output. * lily/system.cc (get_paper_system): remove 3 layer limit. * buildscripts/output-distance.py (SystemLink.distance): new file. Compare signatures. * python/safeeval.py (SafeEval.visitUnarySub): new file. * lily/grob-array.cc (remove_duplicates): rename from uniq(). Sort before calling uniq() so it actually works. 2006-05-27 Han-Wen Nienhuys * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip \version from lilypond file snippet. (Lilypond_file_snippet.ly): oops. typo. (find_toplevel_snippets): urgh. again. * lily/system.cc (get_paper_systems): uniq all_elements_ , to prevent duplicated broken items in output. * scm/framework-eps.scm (output-classic-framework): only dump if dump-signatures is set. * scm/lily.scm (define-scheme-options): add dump-signatures option. * scm/stencil.scm (write-system-signature): new routine: write python parseable signature of a separate paper system. BackportmeEnd. 2006-05-26 Han-Wen Nienhuys * lily/stanza-number-engraver.cc (process_music): use is_markup() iso is_string(). include header. 2006-05-25 Erik Sandberg * translator-group.cc: send music events to engravers in non-bottom contexts. * tuplet-engraver.cc: process tuplet brackets in correct order. 2006-05-24 Han-Wen Nienhuys * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since arg 2 might point us to a new binary (patch by Karl Hammar) 2006-05-24 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.6 * Documentation/topdocs/NEWS.tely (Top): trim explanation. * Documentation/user/*.itely: 2nd attempt: replace funindex -> findex globally. 2006-05-24 Nicolas Sceaux * input/no-notation/display-lily-tests.ly: fix \applyOutput test. Add \break, \pageBreak, \pageTurn, etc, tests. * scm/define-music-display-methods.scm: display methods for breaks. Fix \applyOutput. 2006-05-24 Han-Wen Nienhuys * Documentation/user/macros.itexi: comment out funindex expansion. * Documentation/user/music-glossary.tely: junk \oldaddlyrics everywhere. * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks Karl Hammar. Backportme. * Documentation/user/advanced-notation.itely (Balloon help): idem. * Documentation/user/changing-defaults.itely (Creating contexts): idem. * Documentation/user/programming-interface.itely (Running a function on all layout objects): idem. * Documentation/user/introduction.itely (Automated engraving): update \applyOutput syntax * lily/lyric-combine-music-iterator.cc (start_new_syllable): remove debugging hook. * configure.in (LINK_GXX_STATICALLY): use "" to allow $ expansion. * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E. * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add TEXI2DVI_FLAGS to texi2dvi invocation. 2006-05-24 Erik Sandberg * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo" works. More work is done by iterator now, and engraver has been very much simplified. * lily/translator-group.cc: try_music is now invoked through a listener * lily/*-iterator.cc: Massive cleanups. Junked try_music_in_children globally. Renamed try_music to report_event, and made that method descend to a bottom context automatically. * lily/event-iterator.cc: New file. * lily/output-property-iterator.cc, lily/old-lyric-combine-music-iterator.cc: Removed. * python/convert-rules.py: Modified the syntax for \applyOutput. 2006-05-23 Graham Percival * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc creation. * Documentation/user/ various: stuff that might have helped to fix the pdf creation, plus some minor doc additions. * Documentation/user/changing-defaults.itely: remove @b from @b{ @internasref{foo}}; this breaks texi2dvi -E. 2006-05-23 Han-Wen Nienhuys * lily/beaming-pattern.cc (beamify): deal with negative start moments for beaming patterns. 2006-05-22 Han-Wen Nienhuys * lily/beaming-info.cc (beamify): new function: read beatLength and beatGrouping from context. * input/regression/beam-beat-grouping.ly (Module): new file. * input/regression/beam-unconnected-beamlets.ly (Module): new file. * lily/beam.cc (get_beam_segments): generate events for max_connect_ case too. (get_beam_segments): read Stem::max-beam-connect. * input/regression/beam-single-stem.ly: new file. * lily/stem.cc (set_beaming): use #f as signaling value for beamcount 0. * lily/beam-engraver.cc (typeset_beam): set right bound if unset. * lily/beam.cc (set_beaming): read clip-edges property. (calc_direction): don't suicide for single stem. * lily/beaming-info.cc (best_splitpoint_index): take bool* argument, remove 1<<15 hack. Remove clip_edges() * lily/hairpin.cc (print): only do padding for nonmusical bounds 2006-05-21 Graham Percival * Documentation/user/basic-notation.itely: reorg. * Documentation/user/ various: minor fixes. 2006-05-20 Han-Wen Nienhuys * lily/stencil-expression.cc (register_stencil_head): opps, append to cdr of static SCM object. 2006-05-19 Graham Percival * Documentation/user/README.txt, lilypond.tely, macros.itexi: update framework for command index. DOC WRITERS: use @funindex instead of @cindex @code{}. * Documentation/user/ various: replace @cindex @code{} => @funindex 2006-05-19 Han-Wen Nienhuys * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in case positions is set manually. 2006-05-18 Erik Sandberg * scm/ly-syntax-constructors.scm: New file. Converted a few syntax rules to Scheme. 2006-05-18 Han-Wen Nienhuys * Documentation/user/changing-defaults.itely (Contexts explained): use absolute dimension for @image. * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG out image for illustration too. ($(outdir)/%.png): add more png <-> eps rules. 2006-05-17 Graham Percival * Documentation/user/ various: remove trailing whitespace, cosmetic change to reduce changes produced by diff. 2006-05-17 Han-Wen Nienhuys * lily/main.cc (do_chroot_jail): correctness tweak. * python/lilylib.py (system): import subprocess in system () only. * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme. * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst variable. Backportme. 2006-05-17 Erik Sandberg * lily/parser.yy: Change all syntax rules of type Music to SCM type 2006-05-17 Werner Lemberg * lily/lexer.ll (init_signature_has_table): Add `scm-scm-music-music'. * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token. (Generic_prefix_music_scm): Add rule for it. * lily/quote-iterator.cc (Quote_iterator::process): Handle `quoted-transposition' property. * ly/music-functions-init.ly (transposedCueDuring): New function. * scm/define-music-properties.scm (all-music-properties): Updated. * Documenation/topdocs/NEWS.itely: Document it. 2006-05-17 Han-Wen Nienhuys * python/lilylib.py (system): move import subprocess to system() definition. * python/convertrules.py (conv): fix convert-ly rules for 2.9.4 * VERSION (PATCH_LEVEL): release 2.9.5 * Documentation/topdocs/INSTALL.texi (Top): update versions and build instructions. * ly/engraver-init.ly: switch on hairpinToBarline by default. 2006-05-16 Graham Percival * Documentation/user/basic-notation.itely: editing from Dave, thanks! * Documentation/user/ various: minor fixes. 2006-05-16 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature. 2006-05-16 Mats Bengtsson * Documentation/user/advanced-notation.itely (Instrument names): Modified obsolete instruction on how to move instrument names away from the staves. Hmm, at second thought the bug probably has been solved, so the full bug description should probably be removed. 2006-05-16 Han-Wen Nienhuys * lily/dynamic-engraver.cc (typeset_all): hang ending on currentCommandColumn. * lily/hairpin.cc (print): also add padding for non-neighbor hairpin bounds. * scm/define-context-properties.scm (all-user-translation-properties): add hairpinToBarline * input/regression/hairpin-to-barline.ly: new file. * lily/context.cc (internal_send_stream_event): thinko fix. * lily/tie.cc (set_default_control_points): robustness fix. * python/musicxml.py (Part.interpret): don't complain about incomplete measures. * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add new music if last_event_chord() returned None. * python/musicxml.py (Part.interpret): skip back over chord notes. 2006-05-16 Erik Sandberg * lily/percent-repeat-engraver.cc, lily/parser.yy, lily/define-music-types.cc, lily/percent-repeat-iterator.cc, lily/slash-repeat-engraver.cc, lily/include/percent-repeat-iterator.hh: Rework percent repeats: iterator sends PercentEvents * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc: rework tuplets: send start/stop events to engraver * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add dispatchers event-source and events-below to Context 2006-05-15 Graham Percival * Documentation/user/README.txt: update info for doc writers. * Documentation/user/programming-interface.itely: integrate Nicolas' fixes for chapter rewrite. * Documentation/user/ various: minor fixes. 2006-05-15 Han-Wen Nienhuys * lily/clef-engraver.cc: cleanup. * Documentation/user/GNUmakefile: dist context-example.eps too. * lily/key-engraver.cc (create_key): use explicitKeySignatureVisibility for cancellation too. * lily/font-config.cc (init_fontconfig): don't close file if f==NULL. 2006-05-15 Erlend Aasland * Documentation/topdocs/NEWS.tely: niente and rotation news 2006-05-14 Erlend Aasland * lily/include/stencil.hh * lily/stencil.cc (rotate): new function. Makes it possible to rotate a stencil around a given offset. * lily/grob.cc (get_print_stencil): add rotation support * lily/stencil-interpret.cc (interpret_stencil_expression): add rotation support * lily/stencil-scheme.cc (ly:stencil-rotate): new function * scm/define-grob-properties.scm: add 'rotation property * scm/define-markup-commands.scm: add rotate markup command * scm/output-ps.scm: add rotation support in PostScript backend * scm/output-svg.scm: add rotation support in SVG backend 2006-05-13 Graham Percival * Documentation/user/music-glossary.itely: French correction. * Documentation/user/programming-interface.itely: major new docs, some reorg, some info from Nicolas. * Documentation/user/ various: small fixes. 2006-05-12 Mats Bengtsson * Documentation/user/programming-interface.itely (Markup programmer interface): Remove duplicate text. 2006-05-12 Graham Percival * Documentation/user/context-example.eps: new file. * Documentation/user/changing-defaults.itely: set up file to use eps image. * Documentation/user/programming-interface.itely: changes from mailist. 2006-05-12 Han-Wen Nienhuys * configure.in (LINK_GXX_STATICALLY): python 2.4 req. 2006-05-11 Graham Percival * Documentation/user/programming-interface.itely: first round of editing and merging emails from Nicolas. * Documentation/user/scheme-tutorial: minor edit. 2006-05-11 Han-Wen Nienhuys * python/musicxml.py (Xml_node.__init__): _attribute_dict stores XML attributes. (Xml_node.message): use it. * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): oops. Add duration argument. 2006-05-10 Joe Neeman * lily/paper-column-engraver.cc (make_columns): * scm/define-grobs.scm: Revert my previous change and set the default in define-grobs.scm instead. 2006-05-09 Graham Percival * Documentation/user/changing-defaults.itely: general editing, info about \set and \override. * Documentation/user/tweaking.itely, advanced-notation.itely: fixes from Dave Luttinen, thanks! 2006-05-09 Joe Neeman * lily/paper-column-engraver.cc (make_columns): By default, a column needs to be breakable. 2006-05-09 Han-Wen Nienhuys * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new Attributes methods (musicxml_time_to_lily): idem (musicxml_key_to_lily): idem (instrument_drumtype_dict): dict for supported drumtypes. (LilyPondVoiceBuilder.__init__): new class: sanely keep track of moments and pending mm rests (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums. (musicxml_voice_to_lily_voice): add mode change. (option_parser): lxml.etree (http://codespeak.net/lxml/) for more speed and less memory usage (factor 5 to 10). (convert): write -defs.ly and driver file separately so people can script their own part extraction. * python/musicxml.py (minidom_demarshal_node): new function: separate minidom handling. (lxml_demarshal_node): new function: support lxml.etree too. (Xml_node.message): new function: verbose error message, with XML path to offending node. (Attributes.get_measure_length): sane interface to MusicXML attributes. (Part_list.generate_id_instrument_dict): new method: collect instrument names, to be able to set drum_type. (Part.interpret): handle underfull measures (Part.interpret): assign instrument names. * python/musicexp.py (Output_printer.close): new method (MusicWrapper.print_ly): new class: support other modes, eg. \drummode (BarCheck.print_ly): new class. Support bar checks, with comments and fancy barchecks. (NoteEvent.__init__): also set drum_type for drum notes. (MultiMeasureRest.lisp_expression): dump mm rests. * lily/paper-column-engraver.cc (stop_translation_timestep): set line-break-permission if forbidBreak is not set. 2006-05-09 Joe Neeman * scm/define-context-properties.scm: * scm/define-grob-properties.scm: * scm/define-grobs.scm: * scm/define-music-display-methods.scm: * scm/define-music-properties.scm: * scm/define-music-types.scm: * scm/music-functions.scm: * ly/declarations-init.ly: * lily/include/constrained-breaking.hh: * lily/system.cc: * lily/spaceable-grob.cc: * lily/simple-spacer.cc: * lily/paper-score.cc: * lily/paper-column.cc: * lily/paper-column-engraver.cc: * lily/item.cc: * lily/gourlay-breaking.cc: * lily/constrained-breaking.cc: * python/convertrules.py: Change "penalty", "page-penalty" and "breakable" to "line-break-penalty", "page-break-penalty" and "line-break-permission". Add "page-break-permission", "page-turn-permission" and "page-turn-penalty". Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent. * lily/bar-engraver.cc: * lily/beam-engraver.cc: * lily/forbid-break-engraver.cc: * lily/ligature-engraver.cc: * lily/paper-column-engraver.cc: * lily/percent-repeat-engraver.cc: * lily/score-engraver.cc: * lily/score-engraver.hh: * lily/paper-column-engraver.hh: Inter-engraver communication regarding line breaks is done through context properties (Score.forbidBreak) instead of function calls. 2006-05-08 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.4 2006-05-08 Graham Percival * Documentation/user/working.itely: proofreading from Dave Luttinen, thanks. * Doucmentation/user/README.txt: updated with manual style info. * Documentation/user/ various: trim linewidth to 78 chars. 2006-05-07 Han-Wen Nienhuys * scm/define-grob-properties.scm (all-internal-grob-properties): remove chord-tremolo property. * lily/beam.cc (get_beam_segments): don't use stem position as base for broken ends. 2006-05-06 Graham Percival * Documentation/user/putting.itely: proofreading from Dave Luttinen, thanks! * Documentation/user/ various: more reorg and clarifications. 2006-05-06 Han-Wen Nienhuys * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm. * ly/music-functions-init.ly: new function featherDurations * lily/beam.cc: read grow-direction for feathered beaming. * Documentation/topdocs/NEWS.tely (Top): typo. 2006-05-05 Han-Wen Nienhuys * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for tremolo beams. 2006-05-05 Erik Sandberg * lily/context.cc, lily/global-context.cc: Added 'unique' member, used by music streams. * lily/dispatcher.cc, lily/dispatcher-scheme.cc, lily/stream-event.cc, lily/stream-event-scheme.cc, lily/listener.cc, lily/scheme-listener.cc, lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh, lily/include/stream-event.hh, lily/include/listener.hh, lily/include/scheme-listener.hh, scm/define-event-classes.scm: Created data structures for music streams. 2006-05-05 Han-Wen Nienhuys * lily/beam.cc (get_beam_segments): new function. Reorganise the construction of a beam. (print): rewrite. * flower/include/std-vector.hh (default_compare): use only one comparison. * scm/define-markup-commands.scm (note-by-number): remove debug display. (note-by-number): further attachment fixes. * scm/lily-library.scm (ordered-cons): new function. (interval-index): new function * lily/note-head-scheme.cc (LY_DEFINE): new file. * lily/note-head.cc (get_stem_attachment): new function. * scm/define-markup-commands.scm (note-by-number): read 'style property. * input/regression/markup-note.ly: show note-head style option. * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for triangle head. 2006-05-04 Han-Wen Nienhuys * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further. * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection. * lily/include/constrained-breaking.hh: GCC 4 fix. 2006-05-04 Joe Neeman * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper. Replace it with functions get_line_forces and get_line_configuration. (class Simple_spacer): Make data private. Rewrite compression algorithm to be faster and simpler. * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem): * lily/gourlay-breaking.cc (solve): * lily/constrained_breaking.cc (space_line): Change it to the new simple-spacer code. * lily/paper-score.cc (get_paper_systems): (Paper_score): (process): Delay breaking the systems until they are requested. (find_break_indices): Use vsize for indices. (calc_breaking): Move the "Calculating line breaks" message here. * lily/system.cc (pre_processing): Move the "Calculating line breaks" message away from here. (break_into_pieces): Allow multiple calls to this function in sequence (with touching-but- not-overlapping breakpoints). * lily/constrained-breaking.cc: Replace most of the get_XXXX functions with get_line_details. Only calculate the force for each line. Calculate configurations only for the lines we will actually use. Replace cols_ with lines_. 2006-05-04 Han-Wen Nienhuys * mf/GNUmakefile (depth): remove FC_FIND. * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure. * scm/framework-ps.scm (write-preamble): new function. (write-preamble): load mac fonts via fondu, even if gs-font-load is set. 2006-05-03 Werner Lemberg * mf/GNUmakefile (FC_FIND): Fix typo. 2006-05-03 Erlend Aasland * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs. 2006-05-03 Han-Wen Nienhuys * stepmake/aclocal.m4: run python-config for crosscompiling flags. * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add -f png for HTML, TEXINFO formats. * input/tutorial/lbook-html-test.html: new file. * lily/include/tie-formatting-problem.hh (class Tie_formatting_problem): index Chord_outline_map by Tuple2 for [column, direction]. This fixes laissez vibrer ties. * flower/include/tuple.hh (struct Tuple2): new file. * mf/GNUmakefile (FC_FIND): new function. Find ncsb using $(FCMATCH), only if $(NCSB_DIR) not set. * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set. * config.make.in (DOCUMENTATION): set FCMATCH. * autogen.sh (srcdir): don't set --with-ncsb-dir. 2006-05-03 Graham Percival * Documentation/user/ various: final round of reorg. * Documentation/user/instrument-notation.itely: some more fixes from Eduardo, thanks! 2006-05-02 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.3 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing. * lily/relocate.cc (framework_relocation): remove old relocation stuff. 2006-05-01 Mats Bengtsson * scm/define-grob-properties.scm (all-user-grob-properties): Correct typo, thanks to Eduardo. 2006-05-01 Han-Wen Nienhuys * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm * buildscripts/lilypond-words.py (F): indent fix. * input/regression/tie-arpeggio-collision.ly: new file. * lily/tie-formatting-problem.cc (set_column_chord_outline): new function: store outlines per column rank. * lily/include/tie-configuration.hh (class Tie_configuration): add column_ranks_ to specification and configuration, to distinguish between ties for different heads in arpegiated chords. * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX. * *.py: more 4 space indents. * autogen.sh (conf_flags): set sensible default for with-ncsb-dir 2006-05-01 Joe Neeman * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan? 2006-05-01 Han-Wen Nienhuys * buildscripts/pfx2ttf.fontforge (err): create OTF files. * scripts/abc2ly.py (dump_score): indent of 4 for python code. * configure.in (LINK_GXX_STATICALLY): remove locate() call. 2006-04-30 Han-Wen Nienhuys * python/convertrules.py (conv): indent 4 for python files. 2006-04-29 Mats Bengtsson * Documentation/user/changing-defaults.itely (Creating contexts): Clarify \new semantics. 2006-04-28 Graham Percival * Documentation/user/ various: major new sections in the Learning manual, slight reorg elsewhere. 2006-04-27 Han-Wen Nienhuys * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE) * scm/framework-ps.scm (output-framework): remove PageMedia 2006-04-27 Graham Percival * Documentation/user/ tweaks.itely, working.itely: new files, being more advanced "learning manual" chapters. * Documentation/user/ tutorial, putting, lilypond: reorg. 2006-04-26 Graham Percival * input/regression/lyric-combine-polyphonic.ly: fixed test (no more "can't find context `one'" error). 2006-04-25 Joe Neeman * lily/stem-tremolo.cc (print): fix whole note tremolo placement * input/regression/stem-tremolo.ly: add 2 more whole note examples 2006-04-24 Han-Wen Nienhuys * lily/relocate.cc (read_relocation_dir): new function. 2006-04-26 Graham Percival * Documentation/user/instrument-notation.itely: a few more fixes from Eduardo, thanks! * Documentation/user/README.txt: new file; contains info on style that used to be in lilypond.tely. * Documentation/user/ various: first round of doc reorg. * Documentation/user/baer-flat-bw.png: remove alpha bit from graphic; this probably causes problems on some pdf viewers, notably Adobe Acrobat. 2006-04-24 Graham Percival * Documentation/user/instrument-notation.itely: many alterations to Vocal music, from Eduardo Viera. 2006-04-23 Graham Percival * Documentation/user/instrument-notation.itely: fix \new instead of \context problem. 2006-04-22 Han-Wen Nienhuys * lily/relocate.cc (expand_environment_variables): new function. (read_line): id. (read_relocation_file): id. * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code 2006-04-21 Erlend Aasland * ly/engraver-init.ly: remove old comments from TabVoice 2006-04-20 Graham Percival * Documentation/user/instrument-notation.itely: added Erlend's latest doc patch, thanks! 2006-04-19 Erlend Aasland * lily/include/slur.hh: * lily/slur.cc: * lily/phrasing-slur-engraver.cc: * lily/slur-engraver.cc: Fix 'cut & paste' code by merging acknowledge_extra_object () from Phrasing_slur_engraver:: and Slur_engraver:: and putting it in Slur::auxiliary_acknowledge_extra_object (). * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug * lily/note-collision.cc: fix a comment 2006-04-18 Heikki Junes * stepmake/bin/add-html-footer.py: fix footer position in generated html files: before and tags. 2006-04-18 Heikki Junes * scripts/GNUmakefile: revert last "fix", which rather broke make. Earlier successive `make' commands finally compiled ok. * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19. 2006-04-18 Erlend Aasland * lily/include/stem-tremolo.hh: * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update callers. * lily/lookup.cc: * lily/include/lookup.hh: add rotated_box () 2006-04-18 Heikki Junes * scripts/GNUmakefile: bugfix: run help2man only after scripts have been generated. Fixes "can't get `--help'" bug after make clean. * THANKS: alphabetize contributors. 2006-04-17 Graham Percival * Documentation/user/instrument-notation.itely: added Erlend's tabs and banjo doc patch. Thanks! 2006-04-17 Erlend Aasland * scm/define-grobs.scm: fix stem-attachment for tablature note heads. * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug. * scm/output-lib.scm: add some more predefined string tunings. * Documentation/user/instrument-notation.itely: and doc them. 2006-04-16 Jürgen Reuter * ly/engraver.ly: Remove obsolete comments. * ly/gregorian-init.ly: Define default layout block. * input/puer-fragment.ly: Updated and extended. 2006-04-15 Jan Nieuwenhuizen * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE pdf conversion behaviour. * flower/file-name.cc (dir_name) (get_working_directory): Move from relocate.cc. * lily/relocate.cc (setup_paths): Remove rogue stat calls. * lily/relocate.cc: Encapsulate sys/stat.h in HAVE_STAT_H. 2006-04-14 Graham Percival * Documentation/user/ various: small updates from Cameron and Juergen, thanks! * Documentation/user/ various: small updates of my own. * THANKS: 2.7 -> 2.8. 2006-04-11 Graham Percival * scm/define-context-properties.scm: typo. * Documentation/user/ : many more small updates. 2006-04-13 Jürgen Reuter * scm/define-music-types.scm: disposed "docme". 2006-04-11 Erlend Aasland * lily/hairpin.cc: make niente circles a bit smaller. 2006-04-10 Erlend Aasland * mf/GNUmakefile: remove redundant mftrace check. Also remove get-pfa and get-*-fonts targets. 2006-04-10 Graham Percival * THANKS, Documentation/user/ basic-notation, advanced-notation, music-glossary, programming-interface: more minor fixes from mailist. * scm/define-grob-properties.scm: clarified direction, thanks Mats! * scm/define-context-properties.scm: another old \property update. This time tested for compiling! 2006-04-10 Erlend Aasland * mf/GNUmakefile: fix for mftrace version >= 1.2.0 2006-04-09 Jan Nieuwenhuizen * scm/define-context-properties.scm (all-user-translation-properties): * Documentation/user/global.itely (Page formatting): Compile fix. 2006-04-09 Mats Bengtsson * Documentation/user/advanced-notation.itely (Polymetric notation): Update the example to use the "+" symbol and add link to input/test/compound-time.ly. 2006-04-08 Graham Percival * scm/define-grob-properties.scm: clarify docs for #'direction. * scm/define-context-properties.scm: update old \property override. * Documentation/user/ advanced-notation, global, lilypond-book: more minor doc updates. 2006-04-07 Han-Wen Nienhuys * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects. * scm/backend-library.scm (search-gs): oops. 2006-04-06 Han-Wen Nienhuys * scripts/lilypond-book.py (output): use base, not filename for href. * scm/backend-library.scm: only look for gs. * scripts/lilypond-book.py (output): fix printfilename. * lily/parser.yy (music_function_musicless_prefix): fold together definitions of signature (SCM*) (Music|post_event|chord_body_element) * lily/slur.cc (print): only set font-size if not set yet. * lily/slur-configuration.cc (add_score): improved layout of debug scoring output. 2006-04-05 David Feuer * music-drawing-routines.ps (draw_round_box): removed testing artifact. (draw_circle): Hopefully fixed regression. Improved documentation for several procedures. 2006-03-04 Werner Lemberg * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes. 2006-04-05 Han-Wen Nienhuys * scripts/musicxml2ly.py (bindir): add dynamic relocation. 2006-04-04 Graham Percival * Documentation/user/ basic-notation, advanced-notation, putting, instrument-notation, invoking, lilypond, THANKS: another ream of small fixes from the Doc Helpers. 2006-04-03 David Feuer * music-drawing-routines.ps: remove superfluous gsave/grestore pairs. * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication. * Cleaned up interfaces between PostScript and Scheme, and moved computations from PostScript to Scheme: * music-drawing-routines.ps (*SF, stroke_and_fill): new procedures. Replaced stroke and fill with stroke_and_fill throughout. (euclidean_length, print_letter, draw_box): Deleted unused procedures. If someone needs draw_box, implement it using draw_round_box; don't duplicate code. (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash): Refactored/cleaned up interfaces. (mark_URI): Moved. * output-ps.scm: reordered arguments to PostScript functions to match new interfaces (glyph-string): Rewrote glyph-string. (grob-cause): Replaced string-append with format. (repeat-slash): Rewrote to do computation here. (round-filled-box): Rewrote to do computation here. 2006-04-04 Erlend Aasland * stepmake/stepmake/generic-targets.make: add cvs-clean target * stepmake/stepmake/toplevel- targets.make: print help info about cvs-clean 2006-04-03 Erlend Aasland * input/regression/hairpin-circled.ly: new file 2006-04-03 Erlend Aasland * lily/hairpin.cc (print): add support for circled tip * scm/define-grob-properties.scm: add circled-tip parameter * scm/define-grobs.scm: init circled-tip to false 2006-04-03 Han-Wen Nienhuys * scm/music-functions.scm (quote-substitute): set iterators-ctor. 2006-03-31 Han-Wen Nienhuys * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set BSTINPUTS. * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer. * scm/output-ps.scm (glyph-string): revert cid selectfont. 2006-03-31 David Feuer * scm/framework-ps.scm: * scm/output-ps.scm: glyph-string now produces smaller, more readable, and probably faster PostScript. Several findfont scalefont setfont instances changed to selectfont Hacked-up string-appends changed to formats. * ps/music-drawing-routines.ps: add print_letter, print_glyphs. 2006-03-30 Graham Percival * scm/lily-library.scm: make "no version" warning message more polite. * lily/music.cc: add double quotes to failed octave check. * Documentation/user/ advanced-notation, changing-defaults, instrument-notation, invoking, music-glossary: whole bunch of minor fixes from mailist. 2006-03-31 Han-Wen Nienhuys * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use $(buildscriptdir) iso. depth. * VERSION (PACKAGE_NAME): release 2.9.1 2006-03-30 Han-Wen Nienhuys * lily/pango-font.cc (pango_item_string_stencil): more robustness. * VERSION (PATCH_LEVEL): bump version number. * flower/include/guile-compatibility.hh (scm_from_uint32): add scm_from_uint32 () * lily/pango-font.cc (pango_item_string_stencil): use scm_from_uint32 () * mf/GNUmakefile ($(outdir)/emmentaler-%.otf $(outdir)/emmentaler-%.svg): remove canary. * lily/pango-font.cc (pango_item_string_stencil): only use uXXX glyphnames if we have a ttf font. 2006-03-30 Mats Bengtsson * Documentation/user/advanced-notation.itely (Font selection): Corrected reference to the font-family-override.ly example. 2006-03-30 Joe Neeman * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the stem-tremolo object in the stem (or else the stem might not be long enough). 2006-03-30 Han-Wen Nienhuys * lily/ttf.cc (print_trailer): only print existing glyphs. 2006-03-30 Joe Neeman * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.) position the tremolo based on the position of the notehead. * input/regression/stem-tremolo.ly: add example of unbeamed eighth notes and update the texidoc line with the new positioning rules. 2006-03-30 Han-Wen Nienhuys * lily/ttf.cc (print_trailer): don't always use uXXX glyphname. * scripts/lilypond-book.py (Module): set default for linewidth if preamble not found. 2006-03-29 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.9.0. * input/regression/stem-tremolo-position.ly: new file. * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback 2006-03-28 Joe Neeman * lily/stem-tremolo.cc (print): position the tremolo depending only on the end of the stem and not on the notehead (raw_stencil): center, on the middle staff line, the flag that is closest to the end of the stem (previously the bottom flag) (calc_width): add this callback to shorten a tremolo when it is beamed or it is stemup with a flag (style): add this callback to make a tremolo rectangular when it is beamed or it is stemup with a flag (rotated_box): this is like Lookup::beam but makes a rotated rectangle instead of a parallelogram * lily/stem.cc (calc_stem_info): make sure the stem is long enough to fit the tremolo (calc-length): reduce the length of tremolo stems since the tremolo code is now capable of better positioning * scm/define-grobs.scm: make calc_width the default beam-width callback for stem-tremolo and add the style callback 2006-03-29 Han-Wen Nienhuys * lily/tuplet-bracket.cc (calc_control_points): handle suicide case. 2006-03-29 Han-Wen Nienhuys * lily/ttf.cc (make_index_to_charcode_map): restore old cmap. 2006-03-28 Werner Lemberg * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names. 2006-03-28 Graham Percival * THANKS: update for 2.9, add section for Documentation helpers. * Documentation/topdocs/NEWS.tely: compile fix. * Documentation/user/ basic-notation, global, advanced-notation, examples.itely: minor fixes from mailist. 2006-03-28 Han-Wen Nienhuys * mf/feta-bolletjes.mf: match width of solfa notes with normal note heads. * lily/ttf.cc (print_trailer): use it. * lily/pango-font.cc (get_unicode_name): new function. * lily/ttf.cc (make_index_to_charcode_map): move function from open-type-font.cc (print_trailer): substitute uniXXXX name if applicable. * lily/pango-font.cc (get_index_to_charcode_map): new function. (pango_item_string_stencil): use it to generate uniXXXX names. * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly) note heads, for uniform widths in shape note output. (overdone_heads): hmm. remove them again. * scripts/lilypond-book.py (output): add links to filenames. * Documentation/topdocs/INSTALL.texi (Top): update versions. * lily/note-collision.cc (get_clash_groups): only consider when Note_column::dir <> CENTER. * scripts/lilypond-book.py (get_option_parser): init output_name to ''. 2006-03-24 Graham Percival * Documentation/topdocs/NEWS.tely: add @end itemize * Documentation/user/ global, advanced-notation: minor stuff from mailist. 2006-03-23 Graham Percival * Documentation/user/ lilypond.tely, music-glossary, preface: housekeeping; 2005->2006, remove "notes for 2.6" 2006-03-23 Han-Wen Nienhuys * mf/GNUmakefile: don't install .enc files. * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle. * VERSION (PATCH_LEVEL): bump to 2.9.0 2006-03-22 Graham Percival * Documentation/user/advanced-notation.itely: minor fixes from mailist. 2006-03-22 Han-Wen Nienhuys * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman. * branch lilypond_2_8 2006-03-22 Han-Wen Nienhuys * scripts/lilypond-book.py (samefile): new function, for windoze compatibility. 2006-03-21 Graham Percival * ly/engraver-init.ly: add info about StaffGroup. 2006-03-21 Han-Wen Nienhuys * input/regression/stem-direction-context.ly: idem. * Documentation/topdocs/NEWS.tely (Top): fix interpolation example. * THANKS: add Mats. * input/regression/page-layout-twopass.ly: comment out \markup so tweak-file is left. * lily/instrument-name-engraver.cc (finalize): add to instrument name global System. This also fixes chopped instrument names, but doesn't crash when there are slurs/beams. * lily/slur-configuration.cc (add_score): disallow negative slur scores. 2006-03-21 Han-Wen Nienhuys * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code. * lily/instrument-name-engraver.cc (process_music): kludge: add InstrumentName spanner to axis group of left bound. Fixes chopped off instrument names in EPS images. * input/regression/lyric-hyphen-retain.ly: elaborate explanation. * scripts/abc2ly.py (option_parser): update to 2.7.40 2006-03-20 Graham Percival * THANKS: move small doc contributors to SUGGESTIONS. * Documentation/user/ basic-notation, advanced-notation, global: small changes from mailist. 2006-03-20 Han-Wen Nienhuys * Documentation/user/advanced-notation.itely (Text marks): update for new rehearsalMarkAlignSymbol convention. * VERSION (PATCH_LEVEL): bump version. * input/test/instrument-name-align.ly: new file. * scm/define-markup-commands.scm (hcenter-in): add hcenter-in. * input/test/instrument-name-align.ly: new file. Document how to align instrument names. * lily/mark-engraver.cc: remove properties. * scm/define-context-properties.scm (all-user-translation-properties): remove align symbol properties for barnumber/reh. mark. * lily/break-align-interface.cc (self_align_callback): new interface, new function. Look at complete alignment. This handles tunable break alignments in case break-align-symbols are missing. * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function * lily/mark-engraver.cc (acknowledge_break_alignment): new function. * python/convertrules.py (conv): mark/bar number alignment rule. * lily/break-align-interface.cc (calc_positioning_done): also store offset from last visible break-alignment to its neighbor. This makes alignment on non-visible objects more reliable. * po/lilypond.pot (Module): ran po-replace. * input/regression/tie-single-manual.ly (Module): new file. * lily/tie-formatting-problem.cc (find_optimal_tie_configuration): look at has_manual_position_. (from_ties): set has_manual_position_ if tie has staff-position set. * lily/tuplet-bracket.cc (calc_positions): idem. * lily/tuplet-number.cc (print): don't print tupletnumber if it doesn't span time. 2006-03-19 Nicolas Sceaux * scm/define-markup-commands.scm (smallCaps): new markup command for turning a text to small caps using smaller font size and upper casing. 2006-03-17 Graham Percival * Documentation/user/ examples, instrument-notation, advnaced-notation: minor fixes from mailist. 2006-03-17 Han-Wen Nienhuys * Documentation/user/tutorial.itely (First steps): change example to verbatim. 2006-03-17 Graham Percival * Documentation/user/ examples, advanced: minor changes from mailist. * THANKS: add Geoff Horton, for documentation stuff. 2006-03-17 Han-Wen Nienhuys * python/lilylib.py (system): revert have_select kludge. * Documentation/user/tutorial.itely (Commenting input files): update version numbers in doc. * scm/define-grob-interfaces.scm (multi-measure-interface): add bound-padding to multi-measure-interface 2006-03-16 Han-Wen Nienhuys * input/test/engraver-example.ily: update version number. * VERSION (PACKAGE_NAME): release 2.7.39 * lily/note-spacing.cc (get_spacing): heighten threshold where accidentals/arpeggios influence previous spacing fully. * lily/rest.cc (y_offset_callback): only use direction if staff-position wasn't set before. * lily/bar-number-engraver.cc: add support for barNumberAlignSymbol. add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe * lily/pointer-group-interface.cc (set_ordered): new function. (add_unordered_grob): new function. * lily/grob-array.cc (Grob_array): grob-arrays are always assumed to ordered, unless the opposite has been proved. This fixes random reordering of large object groups across linebreaks, eg. beams. * lily/main.cc (do_chroot_jail): printf format fix. * lily/tie-formatting-problem.cc (generate_configuration): multiply y-shift for dot with direction. * scm/define-markup-commands.scm (note-by-number): put (magstep size) in y-attach too. * Documentation/topdocs/NEWS.tely (Top): show override. * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral direction for stems. 2006-03-15 Graham Percival * Documentation/user/ changing-defaults, global: minor fixes from mailist. 2006-03-15 Han-Wen Nienhuys * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for breakable items after uniformly stretched notes. * lily/tie-formatting-problem.cc (set_chord_outline): initialize outline with outer edge of note heads. This prevents infinity problems with tied whole notes. * scripts/lilypond-book.py (do_file): use os.popen * python/convertrules.py (conv): add rule for Stem #'beamed-* 2006-03-14 Erik Sandberg * Documentation/user/invoking.itely: Add ragged-right to bug report guidelines. 2006-03-14 Graham Percival * Documentation/user/global.itely: small fix from mailist. 2006-03-14 Mats Bengtsson * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the file descriptor returned by tempfile.mkstemp() when writing to tmpfile and closing it. Solves problem with unlink(tmpfile) on mingw. 2006-03-14 Jan Nieuwenhuizen * po/fi.po: newline bugfix. 2006-03-12 Jan Nieuwenhuizen * scm/paper.scm (paper-alist): Rounding fixes. 2006-03-13 Graham Percival * Documentation/user/ changing-defaults, instrument-notation, tutorial: small fixes from mailist, mostly from Mats. Thanks! 2006-03-13 Heikki Junes * po/fi.po: update. 2006-03-13 Han-Wen Nienhuys * stepmake/bin/add-html-footer.py (mail_address_url): don't add mailto: to http:// * python/lilylib.py (print_environment): move ps_page_count to lilypond-book.py 2006-03-12 Han-Wen Nienhuys * Documentation/user/music-glossary.tely (G clef): fix clef alignments. * scm/framework-ps.scm (embed-document): new function. Use to embed PFA files. * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar. 2006-03-12 Mats Bengtsson * Documentation/user/instrument-notation.itely (Setting simple songs): Added \book{...} around the full example, so the separate markups are included in the printed example. 2006-03-12 Han-Wen Nienhuys * scripts/lilypond-book.py (get_latex_textwidth): explicitly close tmphandle. * python/lilylib.py (system): rewrite system() using subprocess. Remove >& redirection trickery. 2006-03-11 Graham Percival * Documentation/user/ changing-defaults, global, scheme-tutorial, notation-appendices.itely: minor fixes from mailist. 2006-03-11 Han-Wen Nienhuys * Documentation/user/GNUmakefile ($(outdir)/lilypond.html): unsplit man also needs images. * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15. * VERSION (PACKAGE_NAME): 2.7.38 released. 2006-03-10 Han-Wen Nienhuys * scripts/lilypond-book.py (get_latex_textwidth): look for latex log in output dir. 2006-03-08 Johannes Schindelin * lily/audio-column.cc, lily/score-performer.cc: MIDI output now respects the Score.skipTypesetting property. 2006-03-09 Han-Wen Nienhuys * scm/framework-ps.scm (ps-embed-cff): no Setup section in Prolog. No %%EOF after CFF file. 2006-03-08 Joe Neeman * lily/constrained-breaking.cc (get_max_systems): used to return a much too big value (combine_demerits): use pointers to reduce copying data (calc_subproblem): idem (get_page_penalty): add page turn penalties 2006-03-09 Han-Wen Nienhuys * Documentation/user/invoking.itely (Invoking lilypond): better explanation of -e usage. * lily/main.cc (main_with_guile): don't append to init_scheme_code_string * tex/texinfo.tex (sectionheading, q.v.): don't center @image. * Documentation/user/invoking.itely: add note about MacOS X scripts. * scripts/convert-ly.py (do_options): don't print help for --show-rules rule. * tex/texinfo.tex: patch texinfo.tex to leave single quotes in @code and @example. Update from texinfo.tex from CVS. 2006-03-08 Graham Percival * Documentation/user/scheme-tutorial.itely: clarifies distances measured in staff-spaces. 2006-03-07 Han-Wen Nienhuys * lily/slur.cc (outside_slur_callback): only calculate offsets if consider[k] is true. * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!) * lily/spacing-basic.cc (standard_breakable_column_spacing): also consider columns that have originals. Unifies spacing for mm rests around line breaks. * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding. (set_text_rods): idem. (calculate_spacing_rods): new function: share code between set_text_rods and set_spacing_rods. (set_text_rods): take extents of bounds into account. 2006-03-07 Han-Wen Nienhuys * Documentation/user/basic-notation.itely (Writing music in parallel): don't use relative. 2006-03-06 Han-Wen Nienhuys * ly/music-functions-init.ly (Module): add shiftDurations * ly/drumpitch-init.ly (drumPitchNames): add tamtam. * scm/paper.scm (paper-alist): no decimals for Ax paper sizes. * ly/engraver-init.ly: init vocalName to nil. 2006-03-05 Erik Sandberg * scm/music-functions.scm (music->make-music): bugfix, KeyChangeEvents are now handled correctly. * scripts/lilypond-book.py: Add --debug option. 2006-03-03 Han-Wen Nienhuys * python/lilylib.py: add tempfile. 2006-03-02 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.37 * python/lilylib.py (ps_page_count): remove make_ps_images(). (ps_page_count): remove mkdir_p (system): remove cleanup_temp. (exit): remove lilypond_version_(check) (error_log): remove pseudo_filter_p remove read_pipe remove cp_to_dir remove identify * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't use __main__ * lily/accidental-engraver.cc (make_standard_accidental): only add support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly * mf/GNUmakefile ($(outdir)/emmentaler-%.otf $(outdir)/emmentaler-%.svg): rewrite without functions; too many Make incompatibilities. * scm/output-ps.scm (grob-cause): replace backslashes by / (glyph-string): use ~$ for less decimals for glyph-string and grob-cause. 2006-03-02 Jan Nieuwenhuizen * cygwin/GNUmakefile: Install fixes. * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly. * lily/note-head.cc (head::get_balltype): Compile fix. * flower/file-name.cc (dos_to_posix): Flower string fix. 2006-03-02 Han-Wen Nienhuys * python/lilylib.py: pychecker cleanups. * scripts/lilypond-book.py (Lilypond_snippet.output_print_filename): pychecker cleanups * scripts/midi2ly.py (Key.dump): pychecker cleanups. * python/lilylib.py (underscore): remove identify() , warranty() * ps/music-drawing-routines.ps: change Border routine for GSView compatibility. * lily/stem.cc (height): use quantize-positions. This triggers set_stem_lengths, so scripts on beamed stems are handled correctly. * lily/side-position-interface.cc (aligned_side): check if edges of script are inside staff. Fixes accent of edge of the staff. * input/regression/staccato-pos.ly: more examples. * stepmake/aclocal.m4 (depth): fix bashism. * lily/lyric-combine-music-iterator.cc: move from new-lyric-combine-iterator.cc (process): add pending_grace_lyric_ member to delay lyrics on grace notes. * lily/system-start-text.cc (print): suicide if we don't have any elements. Fixes hara kiri'd instrument names. * scripts/mup2ly.py (Module): remove. 2006-03-01 Han-Wen Nienhuys * Documentation/user/global.itely (A single music expression): close @lilypond properly * lily/volta-bracket.cc (modify_edge_height): change from after_line_breaking_callback. Suicide last bracket if appropriate. * python/lilylib.py: strip getopt support * scripts/etf2ly.py (do_options): use optparse * scripts/midi2ly.py: optparse, strip lilylib copy. * scripts/abc2ly.py (voices): use optparse. * stepmake/stepmake/generic-vars.make: new function absdir. * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation. * scripts/lilypond-book.py (find_file): use global_options for include path * scm/ps-to-png.scm (ps-page-count): prevent null characters entering C code. 2006-03-01 Han-Wen Nienhuys * python/lilylib.py (get_global_option): ughness for extracting global options from lilylib. (NonDentedHeadingFormatter.format_heading): move from musicxml2ly * scripts/lilypond-book.py (get_option_parser): use optparse for option handling. Put options in global_options variable. 2006-02-28 Heikki Junes * Documentation/index.html.in: clarify. 2006-02-28 Nicolas Sceaux * scm/layout-page-layout.scm (write-page-breaks): add a music-system-heights property to the page layout output. * scm/page.scm (make-page-stencil): take footer into account when computing the 'space-left page property (annotate-space-left): take footer into account when annonating space left. 2006-02-28 Graham Percival * Documentation/user/ advanced-notation, global: more (final) docs for music expressions, removed special fermatas. 2006-02-27 Graham Percival * Documentation/user/ basic-notation, global: minor changes from mailist. 2006-02-26 Nicolas Sceaux * scm/framework-ps.scm: * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility layer for inf? and nan? from framework-ps to lily-library. 2006-02-26 Han-Wen Nienhuys * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef. * buildscripts/substitute-encoding.py (Module): remove file. * mf/GNUmakefile: more PFA strippage. * mf/aybabtu.pe.in (i): remove PFAaybabtu generation * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler generation * scm/framework-ps.scm: remove font name munging. * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement. 2006-02-25 Nicolas Sceaux * scm/markup.scm (define-markup-command): change def-markup-command to define-markup-command * scm/music-functions.scm (define-music-function): change def-music-function to define-music-function. * python/convertrules.py (conv): rules for def-music-function and def-markup-commands * Documentation/user/programming-interface.itely, input/no-notation/display-lily-tests.ly, input/regression/lily-in-scheme.ly, input/regression/markup-user.ly, input/regression/music-function.ly, input/regression/tie-chord.ly, scm/fret-diagrams.scm, ly/music-functions-init.ly, ly/gregorian-init.ly: use new macro names (define-music-function, define-markup-command). 2006-02-25 Han-Wen Nienhuys * scripts/lilypond-book.py (main): write Makefile dependencies file. (output): add comments to lp-book latex output. * GNUmakefile.in (footifymail): use gmane address for webpage bug address. 2006-02-23 Graham Percival * Documentation/user/ tutorial, global: minor changes. 2006-02-23 Nicolas Sceaux * mf/GNUmakefile: add '\' in multi-line "define ... endef" blocks (for make 3.80) * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add \notemode so that user should not have to explicitely type it. * scm/define-music-display-methods.scm: various fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived constructs) * input/no-notation/display-lily-tests.ly: new tests for \applyOutput and \applyContext 2006-02-23 Han-Wen Nienhuys * lily/constrained-breaking.cc: patch by Joe Neeman: "I have changed it slightly so that the number of systems returned by solve () will be the same as the last value passed to resize (). I've also added more documentation, removed casts, fixed style problems and put in some recovery if constraints aren't satisfied." 2006-02-23 Jan Nieuwenhuizen * elisp/lilypond-mode.el (count-matches-as-number): New funtion for emacs < 22 compatibility. (count-rexp): Use it. (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove substring juggling (Milan Zamazal). 2006-02-23 Graham Percival * Documentation/user/ basic-notation, advanced-notation, global.itely, invoking.itely, tutorial,itely: minor fixes from mailist. * scm/define-markup-commands.scm: improve docs of \filled-box. 2006-02-23 Heikki Junes * Documentation/index.html.in: changes concern the previous release. * input/regression/+.ly: cultivate typographical terminology. 2006-02-22 Han-Wen Nienhuys * scm/define-grob-interfaces.scm (parentheses-interface): add padding to parentheses-interface. * Documentation/user/GNUmakefile: remove $(CROSS) support from Documentation/user/GNUmakefile. Use --disable-documentation for that. * VERSION (PATCH_LEVEL): release 2.7.36 * lily/slur.cc: add avoid-slur (ugh.) * lily/slur-configuration.cc (fit_factor): oops, skip point if intersection gets smaller. This fixes slurs over extreme points. * lily/melody-engraver.cc (stop_translation_timestep): ignore stems with neutral-direction set. * lily/piano-pedal-engraver.cc (create_text_grobs): idem. * lily/open-type-font.cc (load_table): format error. * lily/change-iterator.cc (process): format fix. * flower/include/international.hh (_f): idem. * flower/include/std-string.hh: add format printf attribute. * scm/define-grobs.scm (all-grob-descriptions): height of all PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes ambitus lines. * input/regression/beam-cross-staff-slope.ly: remove decrescendo. 2006-02-22 Erik Sandberg * input/regression/: upgraded syntax for some files. * THANKS: Add bughunters. 2006-02-22 Graham Percival * Documentation/user/ invoking.itely, advanced-notation.itely, global.itely: long-awaited "let's make chapter 10 not suck" update. Rearrange chapter 10; now called "global issues", addresses file structure, etc. Some info from other files moved into global.itely. 2006-02-22 Han-Wen Nienhuys * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also catch trill-span-event notes. * Documentation/user/examples.itely (Ancient notation templates): typo. (Jazz combo): typo. * scripts/lilypond-book.py (main): scrap invokes_lilypond(). * Documentation/user/basic-notation.itely (Ties): document \repeatTie. * Documentation/topdocs/NEWS.tely (Top): document \repeatTie. * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste froum Laissez_vibrer_engraver. * ly/declarations-init.ly (repeatTie): add \repeatTie * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn * scm/define-grob-properties.scm (all-user-grob-properties): add head-direction property. * lily/tie-formatting-problem.cc (from_semi_ties): rename from from_lv_ties. Take head direction argument. * lily/semi-tie-column.cc: rename from laissez-vibrer-tie-column.cc. Rename class too. * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename class too. * lily/paper-score.cc (find_break_indices): move from Break_algorithm. * lily/break-algorithm.cc (find_break_indices): remove linewidth < 0 case. (find_breaks): idem. 2006-02-21 Graham Percival * Documentation/user/advanced-notation.itely: fixed make-moment] example. * Documentation/user/basic-notation.itely: more clarification to transpose. 2006-02-21 Han-Wen Nienhuys * lily/include/constrained-breaking.hh (class Constrained_breaking): new file. * lily/constrained-breaking.cc (resize): new file. * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast * Documentation/user/advanced-notation.itely (Clusters): insert end ignore too. * lily/tie-column.cc (calc_positioning_done): support for tie-score debugging * lily/tie-formatting-problem.cc (generate_extremal_tie_variations): factor out. (score_ties_configuration): annotate all tie (print_ties_configuration): new routine. (generate_configuration): nudge extremal ties outside of the head Y extents. (score_ties_configuration): oops. convert to staff-space before determining position symmetry. 2006-02-20 Graham Percival * Documentation/user/*-notation.itely: misc minor editing, shifting doc sections around. * Documentation/user/*-notation-itely, global.itely, changing-defaults.itely: added new stuff from NEWS. 2006-02-20 Heikki Junes * po/fi.po: update. 2006-02-20 Han-Wen Nienhuys * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run lilypond --verbose for lp-book. * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd). * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use $(buildscript-dir) iso. absolute depth. * buildscripts/genicon.py (dir): thinko. * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo. 2006-02-19 Erik Sandberg * scm/output-lib.scm: swap darkcyan/darkyellow * THANKS: Add bughunters. 2006-02-19 Graham Percival * Documentation/user/programming-interfaces.itely: fixed example. * Documentation/user/instrument-notation.itely: fix @{ @}. * scm/script.scm: add avoid-slur for \open. 2006-02-19 Han-Wen Nienhuys * lily/tie-formatting-problem.cc (score_configuration): use sliding score for min-length. * Documentation/pictures/GNUmakefile (local-dist): loose the rule spaghetti for icons. * buildscripts/genicon.py (program_name): new file. * lily/tie-formatting-problem.cc (set_chord_outline): put dots in outline too. (generate_configuration): for small ties, also look for collisions at Y + DIR*h + DELTA_Y. (get_variations): consider variation for dot positions too. * lily/side-position-interface.cc (aligned_side): take abs for quantized rounded position. Fixes tenuto below staff. * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf markers when necessary. * lily/program-option.cc (internal_set_option): add strict_infinity_checking option. * scm/output-lib.scm (cyan): swap yellow and cyan. 2006-02-19 Graham Percival * darwin.patch: trivial linenumber update. * Documentation/user/ {various}: `\context foo = named' changed to `\new foo = "name"' in docs. 2006-02-19 Han-Wen Nienhuys * scm/stencil.scm (annotate-y-interval): use it. * scm/lily-library.scm (interval-sane?): new function. * buildscripts/mf-to-table.py (Char_metric.__init__): remove tfm_checksum stuff. * lily/tie-formatting-problem.cc (from_lv_ties): add heads for common refpoint. * flower/include/std-vector.hh (iterof): add iterof macro. * lily/enclosing-bracket.cc (width): new function. * lily/align-interface.cc (align_elements_to_extents): reinstate warning. 2006-02-18 Heikki Junes * Documentation/index.html.in: fix spelling: thankyous. 2006-02-18 Han-Wen Nienhuys * lily/lyric-hyphen.cc: typo. 2006-02-17 Han-Wen Nienhuys * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc $(outdir)/%.hh): generate h and c in one rule; otherwise -jX builds don't work. * VERSION: release 2.7.35 * lily/beam.cc (get_default_dir): oops. Take abs () for extremes[DOWN]. (get_default_dir): use extreme position criterion only in absence of forced stem directions. * VERSION (PATCH_LEVEL): bump VERSION. * mf/GNUmakefile: explicit rules for emmentaler/aybabtu dependencies. Necessary for -jX builds. 2006-02-17 Jan Nieuwenhuizen * lily/relocate.cc (setup_paths): Yet another const fix. 2006-02-17 Han-Wen Nienhuys * configure.in (HOST_ARCH): determine HOST_ARCH in configure. * lily/relocate.cc (setup_paths): oops. 2006-02-17 Heikki Junes * Documentation/index.html.in: order links: html before PDF. 2006-02-17 Han-Wen Nienhuys * lily/tie-column-format.cc (Module): remove. * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness. * lily/text-spanner.cc (print): idem. * lily/dynamic-text-spanner.cc (print): only print line if longer than dash-period. * lily/auto-change-iterator.cc (change_to): formatting. * lily/beam.cc (get_default_dir): take extreme note head as input for stem direction. * lily/tie.cc (get_default_dir): only look directions for visible stems. * lily/side-position-interface.cc (aligned_side): oops. Don't mutiply with direction. This fixes quantized (staccato, tenuto) scripts below notes. * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with direction. Fixes c-lyrics-center-align.ly 2006-02-16 Jan Nieuwenhuizen * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy constructor. * lily/std-string.cc: * lily/include/std-vector.hh (split_string): Move and rename from lily/include/misc.hh, lily/misc.cc. Update callers. 2006-02-16 Han-Wen Nienhuys * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16 2006-02-16 Jan Nieuwenhuizen * flower/test-file.cc: New file. * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for libraries. * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib. 2006-02-16 Han-Wen Nienhuys * flower/include/file-storage.hh: remove file. * lily/include/midi-item.hh (class Midi_track): idem. * lily/include/source.hh (class Sources): idem. * lily/include/performance.hh (class Performance): use vector iso. Cons<> * flower/include/cons.hh (class Cons): remove file. * flower/include/flower-proto.hh: remove template cruft. * lily/include/font-metric.hh: use size_t not vsize for indices. * flower/include/flower-proto.hh (Module): remove std-vector.hh from proto. * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2 * lily/include/paper-book.hh (class Paper_book): make get_system_specs() public. * scm/layout-page-layout.scm (optimal-page-breaks): only consider the force=10000 case if we don't have a current-best. * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for vsize * flower/include/flower-proto.hh: remove outdated templates. * scm/page.scm: use annotate-spacing 2006-02-15 Graham Percival * scm/translation-functions.scm: circle patch from Erlend, thanks! * THANKS: moved Erlend Aasland to contributors. 2006-02-15 Han-Wen Nienhuys * config.hh.in: remove HAVE_PANGO_16 * lily/tuplet-bracket.cc (calc_positions): multiply with staff-space for beam case. This fixes tuplets+beams on scaled staves. * config.hh.in: remove all Kpathsea related defines. * lily/dot-column.cc (side_position): reach stem via dots-> head->stem. Inspect all stems for dot collisions. * lily/dot-column-engraver.cc (class Dot_column_engraver): excise stem handling. * lily/bar-number-engraver.cc (process_music): document function of whichBar. * lily/score.cc (default_rendering): add pscore, not systems themselves. * lily/paper-book.cc (get_system_specs): separate generation of titles and systems. * flower/include/std-vector.hh: don't include config.hh 2006-02-15 Jan Nieuwenhuizen * flower/include/std-vector.hh: Better wrapper compatibility with std::vector. * flower/include/flower-proto.hh: Remove cheap forward declaration attempts. * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix. 2006-02-14 Graham Percival * Documentation/user/invoking.itely: add warning about command line. 2006-02-14 Han-Wen Nienhuys * lily/include/lily-proto.hh: add Prob, rm Page. * flower/include/std-vector.hh (VPOS): use 64 bit-proof version. * VERSION: release 2.7.34 * lily/relocate.cc (framework_relocation): show canary if GHOSTSCRIPT_VERSION undefined. * GNUmakefile.in: remove $(VERSION) symlink. * lily/relocate.cc (setup_paths): add + 2006-02-13 Heikki Junes * Documentation/index.html.in: specify sizes for all big HTML pages. 2006-02-13 Han-Wen Nienhuys * config.hh.in: remove @FRAMEWORKDIR@ * lily/system-start-text.cc (get_stencil): new file: separate out system-start-delimiter text support. * input/**ly: replace \context with \new where appropriate. * THANKS: add Don. * lily/slur-scoring.cc (get_base_attachments): use robust_relative_extent. This fixes problems with empty paper-columns. 2006-02-12 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): document \new syntax. * scm/define-music-properties.scm (all-music-properties): create-new property. * lily/context-specced-music-iterator.cc (construct_children): inspect 'create-new property iso. magical $uniqueContextId context id. * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too. * lily/context-key-manager.cc (Module): new file. Encapsulate object key generation. * lily/include/context-key-manager.hh (Module): new file. 2006-02-11 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): center instrument names vertically * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED options. (reloc_b): excise --enable-framework-dir * lily/relocate.cc (framework_relocation): use getenv LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version. 2006-02-11 Jan Nieuwenhuizen * flower/include/std-string.hh: * flower/include/std-vector.hh: Finish std:: conversion; move flower extensions from std:: namespace. Update users. * lily/include/lily-proto.hh: Replace Link_array__*_ macros by their expansion to vector<*>. Update users. 2006-02-10 Graham Percival * Documentation/user/invoking.itely: add example to File structure. * Documentation/user/ instrument-notation.itely, cheatsheet.itely, examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto. 2006-02-10 Han-Wen Nienhuys * ly/paper-defaults.ly: typo. * lily/parenthesis-engraver.cc (acknowledge_grob): don't do set_parent() for parentheses. This will make it show up in bbox calculations. * scm/output-lib.scm (parentheses-item::print): rewrite, using ly:grob-common* functions. * lily/grob-scheme.cc (LY_DEFINE): ly:grob-common-refpoint-of-array: new function ly:grob-common-refpoint: new function ly:grob-relative-coordinate: new function * lily/instrument-name-engraver.cc (process_music): use Text_interface::is_markup(). This fixes \markup on instrument names. * scm/define-grobs.scm (all-grob-descriptions): set line-thickness for ties and slurs. * lily/slur.cc (print): idem. * lily/tie.cc: add line-thickness for ties. 2006-02-10 Jan Nieuwenhuizen * scm/output-svg.scm: Document diversion from GNU coding standards as a workaround for a bug in Microsoft Internet Explorer. 2006-02-10 Han-Wen Nienhuys * lily/instrument-name-engraver.cc (process_music): use is_markup() iso. is_string() * Documentation/user/changing-defaults.itely (Module): add menu entry. * lily/percent-repeat-engraver.cc (process_music): only look at main_part_ for % repeats. * lily/stem-tremolo.cc (get_beam_translation): new function. (calc_slope): new function. (height): don't use real slope. 2006-02-10 Jürgen Reuter * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add new connect-to-neighbor, control-points and staff-padding properties to make ligature brackets showing up again. 2006-02-10 Han-Wen Nienhuys * VERSION: release 2.7.33 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION too many. * Documentation/user/changing-defaults.itely (Difficult tweaks): remove applyOutput example. (Objects connected to the input): document \tweak, \parenthesize * lily/relocate.cc (prefix_relocation): allow "current" iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes changing VERSION in a lily tree less painful. * input/regression/parenthesize.ly: new file. * scm/output-lib.scm (parenthesize-element): new function. * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem. * lily/parenthesis-engraver.cc (acknowledge_grob): new file. * lily/accidental-engraver.cc (make_standard_accidental): reroute cause: accidentals are caused by note heads, not note events. 2006-02-08 Graham Percival * darwin.patch: small patch from Erlend, thanks! * Documentation/user/basic-notation.itely: add stem-neutral example. * Documentation/user/putting.itely: clarifications. 2006-02-08 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup note, add more guidelines to what should go into NEWS. * input/sakura-sakura.ly: document how to override font. * input/regression/font-family-override.ly: doc -dshow-available-fonts 2006-02-07 Han-Wen Nienhuys * lily/midi-item.cc (to_string): truncate time sig at 255 beats. 2006-02-08 Jan Nieuwenhuizen * scripts/convert-ly.py (lilypond_version_re_str): Move from convertrules. Add explicit grouping, needed for python2.2. 2006-02-07 Jan Nieuwenhuizen * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup. 2006-02-07 Graham Percival * Documentation/user/global.itely: fix line-width in (text) docs. * Documentation/user/lilypond-book.itely: same. 2006-02-06 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.32 * Documentation/topdocs/NEWS.tely (Top): document new variable naming. * flower/include/array.icc (Message): remove file. * flower/include/std-vector.hh: make sure vsize and VPOS are defined for binary_search_bounds(). * flower/std-string.cc (std): add to_string(long unsigned). * configure.in (gui_b): excise std_string option. (gui_b): excise std_vector option. * flower/string.cc (Module): excise flower array & string * flower/include/std-string.hh: excise flower string. * {ly,lily,scm}/*: use dashes in \paper and \layout variables * python/convertrules.py (lilypond_version_re_str): require only numbers and dots in \version string. 2006-02-05 Han-Wen Nienhuys * lily/system-start-delimiter.cc (print): allow style = text too. * lily/system-start-delimiter-engraver.cc (acknowledge_system_start_text): new function, also add add to support of system-start-text (instrument names). This fixes instrument names on piano staves. * lily/instrument-name-engraver.cc: rewrite. Use system-start-delimiter approach. This save memory and cpu. * scm/define-grobs.scm (all-grob-descriptions): remove instrument-name from break-alignment. * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too. 2006-02-05 Jan Nieuwenhuizen * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j jobserver going. * configure.in (std_vector): On by default. * lily/include/font-metric.hh: * lily/include/tfm-reader.hh: * lily/include/spanner.hh: Use unsigned for indices and sizes. Update users. * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www. 2006-02-05 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): 2.7.31 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left EPS edge at 0, but take minimum with left-overshoot. This fixes cut off system start delims. * lily/instrument-name-engraver.cc (stop_translation_timestep): hack: add to axis group if not added yet. This fixes hara kiri'd piano staves. * lily/hara-kiri-group-spanner.cc (force_hara_kiri_in_y_parent_callback): fix signatures. * lily/hairpin.cc (print): check next hairpin to see whether or not to be continuing. 2006-02-04 Jan Nieuwenhuizen * Remove trailing whitespace from makefiles. * flower/include/std-vector.hh: Add binary_search_bounds workaround for earlier gcc. * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft. * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround. * config.hh.in (HAVE_STL_DATA_METHOD): Add. * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function. * configure.in: Use it. 2006-02-04 Han-Wen Nienhuys * scm/music-functions.scm (pitch-of-note): new function. * ly/music-functions-init.ly: add \octave and \addquote * lily/parser.yy (music_function_chord_body): softcode \octave. (lilypond_header): softcode \addquote 2006-02-03 Jan Nieuwenhuizen * flower/include/std-vector.hh[STD_VECTOR]: Do not include array.hh, parray.hh at all. Getting ready to flip the configure default. * lily/include/lily-proto.hh (Link_array__char_): Bugfix. * lily/source-file.cc (file::get_line): Help binary_search_bounds a bit. * lily/include/lily-proto.hh (Link_array__char_): Bugfix. 2006-02-03 Han-Wen Nienhuys * flower/include/array.hh: typo. 2006-02-02 Graham Percival * Documentation/user/advanced-notation.itely: doc "\#" in text. 2006-02-03 Jan Nieuwenhuizen * flower/include/pqueue.hh: Derive from std::vector. * flower/include/parray.hh: Conform to std::vector interface. Update users. 2006-02-02 Graham Percival * Documentation/topdocs/NEWS.itely: grammar fix from Laura. 2006-02-02 Han-Wen Nienhuys * flower/file-path.cc (is_file): remove if 0 section. * buildscripts/pfx2ttf.fontforge (err): robustness fix for selecting afii61352. 2006-02-02 Jan Nieuwenhuizen * flower/include/std-vector.hh (boundary): Oops, reverse. * flower/string-convert.cc (convert::unsigned_string): Bugfix: remove superfluous `d'. * flower/include/std-vector.hh (boundary, top): Detach from class. Remove empty vector shell. * flower/include/array.hh (reverse, swap): Detach from class. Update users. * flower/include/std-vector.hh * flower/include/array.hh (concat): Globally change to insert (). * flower/include/std-vector.hh * flower/include/parray.hh * flower/include/array.hh (elem, elem_ref): Globally replace by at (). 2006-02-02 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members. * python/convertrules.py (FatalConversionError.sub_cxx_id): anticipate on identifier substitutions. 2006-02-02 Jan Nieuwenhuizen * flower/include/std-vector.hh (insert): Remove, replace by std::vector interface. Update callers. * flower/include/array.icc (insert): Change signature to match std::vector interface. * flower/include/array.icc (vector_sort): Bugfix. 2006-02-02 Han-Wen Nienhuys * lily/parser.yy (output_def_head_with_mode_switch): new production. Result: dashes and underscores may be used in the \paper block. * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode. * python/convertrules.py (conv): oops. One slash too much. 2006-02-02 Jan Nieuwenhuizen * flower/include/std-vector.hh (sort): Remove, replace by ::vector_sort. Update callers. * flower/include/std-vector.hh (slice): Remove. Update callers. (sort): Bugfix. * flower/test-std.cc (vector_sort): New test. 2006-02-01 Graham Percival * Documentation/user/putting.itely: fixes from Erik. 2006-02-01 Jan Nieuwenhuizen * flower/test-std.cc: Add simple unit test for vector migration. * stepmake/stepmake/test*: Unit test support. * flower/include/std-vector.hh (del): Remove. Use erase (), update callers. * flower/include/array.hh (begin, end): Add. (del, get): Remove. 2006-02-01 Han-Wen Nienhuys * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use std::string not String. * lily/context-def.cc (path_to_acceptable_context): use INT_MAX iso UINT_MAX. * lily/prob.cc (Prob): copy type_ too. * lily/lily-guile.cc (mangle_cxx_identifier): new function. Class_bla::foo_bar_[px] -> ly:class-bla::foo-bar[?!]. Changes throughout 2006-01-31 Han-Wen Nienhuys * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned(). * lily/beam.cc (calc_direction): take dir from visible stem in degenerate case. 2006-01-31 Jan Nieuwenhuizen * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction): Fix -1, >=0 boundary checks for unsigned vsize. * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0 loop for unsigned vsize. * configure.in (--enable-std-vector): New option. (--enable-std-string): On by default. * flower/include/std-vector.hh: New file. Enable switch to std::vector, update client code. 2006-01-30 Graham Percival * scm/document-translation.scm: clarify "this context is also known as". Thanks, Werner! * Documentation/user/putting.itely: small fixes from Don Blaheta. * Documentation/user/invoking.itely: small fix from Don. 2006-01-30 Han-Wen Nienhuys * scm/lily.scm (define-scheme-options): rename option preview-include-book-title to book-title-preview (define-scheme-options): move force-eps-font-include (from paper block) to eps-font-include -d option. * VERSION (PATCH_LEVEL): release 2.7.30 * input/bach-schenker.ly (staffPiano): new file. * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file. * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add credits to Nicolas. * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile. * ps/lilyponddefs.ps: remove start-system, stop-system, start-page fluff. This saves putting { } code on the stack, fixing stack overflows when including EPS files. 2006-01-29 Graham Percival * Documentation/user/putting.itely: minor fixes (comments on -devel). 2006-01-29 Nicolas Sceaux * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news. 2006-01-28 Graham Percival * Documentation/user/putting.itely: minor fixes (mostly tab->space). 2006-01-28 Jan Nieuwenhuizen * input/mutopia/claop.py: Update. 2006-01-28 Han-Wen Nienhuys * input/regression/completion-heads.ly (texidoc): fix. * lily/staff-symbol-referencer.cc (on_staff_line): idem. * lily/tie-formatting-problem.cc (set_ties_config_standard_directions): use abs iso fabs for ints. * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement. * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a little less than noteheight, to prevent overlaps in chords. * lily/note-collision.cc (check_meshing_chords): wipe upper FA head, and fudge stem-attachment. * scm/lily-library.scm (not): define hash-for-each for guile 1.6 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case. 2006-01-27 Jan Nieuwenhuizen * lily/main.cc (main): Debugging aid: catch exceptions. * flower/std-string.cc (to_string): Robustification. Fixes midi output with std::string. 2006-01-27 Han-Wen Nienhuys * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes. 2006-01-26 Jan Nieuwenhuizen * Fix -DSTRING_UTILS_INLINED. 2006-01-26 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.7.29 * lily/relocate.cc (setup_paths): mingw uses std string too. * lily/*.cc: various fixes for substr(ARG). * lily/sustain-pedal.cc (print): * flower/file-name.cc (slashify): use std strings. * flower/string-convert.cc: remove publib.h * scm/define-markup-commands.scm (verbatim-file): new markup command \verbatim-file * Documentation/topdocs/NEWS.tely: fixup URLs * input/regression/alignment-vertical-manual-setting.ly (Module): new file. * lily/align-interface.cc (align_elements_to_extents): overwrite translations with numbers in alignment-offsets from left bound * scm/page.scm (make-page-stencil): read X-offset from paper-system. (page-translate-systems): new function: take into account Y-offset. * Documentation/topdocs/NEWS.tely (Top): document new features. * input/regression/page-layout-manual-position.ly (Module): new file. 2006-01-26 Jan Nieuwenhuizen * flower/file-path.cc (path::parse_path): Oops. * Finish std::string interface. For now, use std:: marker throughout for easy s/r. 2006-01-26 Han-Wen Nienhuys * Documentation/user/putting.itely (Score is a single musical expression): typo. (Score is a single musical expression): more typos. * scm/page.scm (annotate-space-left): thinko. (annotate-page): more thinkos. 2006-01-25 Han-Wen Nienhuys * scm/layout-page-layout.scm (write-page-breaks): record tweaks for different \score blocks separately. (post-process-pages): put write-page-layout into paper block. * lily/output-def.cc (get_parser): new file. * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new file. * lily/include/output-def.hh (class Output_def): add parser_ member. * input/regression/page-layout-twopass.ly (Module): new file. * scm/lily.scm: remove cpp hack. * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere. 2006-01-25 Jan Nieuwenhuizen * GNUmakefile.in (c-clean): New target. * flower/include/std-string.hh: String/std::string compatibility: Use NPOS for `not found' (iso -1), use ssize for length () and pos type. * flower/rational.cc: * flower/include/rational.hh: * flower/offset.cc: * flower/include/offset.hh: * flower/interval.cc: * flower/include/interval.hh: * flower/string-convert.cc: * flower/include/string-convert.hh: Use std::string [interface]. Update callers. 2006-01-25 Heikki Junes * Documentation/index.html.in: clean up. 2006-01-25 Graham Percival * Documentation/user/putting.itely: another new untested doc section. 2006-01-25 Han-Wen Nienhuys * scm/layout-page-layout.scm (write-page-breaks): write \spacingTweaks #ALIST. Handle grace timing. * scm/: more imports. * scm/page.scm (make-page): add footer/header. (annotate-space-left): revise: only take page argument. (layout->page-init): new function. * scm/layout-page-layout.scm (write-page-breaks): preliminary version of the system/spacing/linebreak hack writing to the output * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in ly:make-prob. * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound -> ly:spanner-bound 2006-01-24 Han-Wen Nienhuys * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system. * scm/layout-page-layout.scm (optimal-page-breaks): move all page handling to page.scm * lily/prob-scheme.cc (LY_DEFINE): new file. (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!) * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using prob functions. * lily/music.cc (derived_mark): derive Music from Prob. * lily/paper-system.cc (LY_DEFINE): derive from Prob. * lily/prob.cc (Module): Implement Prob (Property Object), object with shared and r/w property alists. * lily/include/prob.hh (Module): new file. Declare Prob. * flower/string.cc: remove is_empty(). * flower/include/string.hh (class String): remove String:: qualifier. * buildscripts/analyse-cxx-log.py: new file. Read compile log to substitute appropriate functions. * flower/include/string.hh (class String): remove to_str0 and is_empty(). S&R everywhere. 2006-01-23 Graham Percival * Documentation/user/basic-notation.itely: add hairpin after-linebreak tweak to commonprop. * Documentation/user/putting.itely: added two new sections. 2006-01-23 Jan Nieuwenhuizen * flower/international.cc: * flower/include/international.hh: * flower/getopt-long.cc: * flower/include/getopt-long.hh: Use std::string [interface]. Update callers. * flower/include/std-string.hh: Oops, bugfix for --disable-std-string. * stepmake/stepmake/executable-rules.make: Add dependency on module libraries. 2006-01-22 Jan Nieuwenhuizen * flower/file-path.cc: * flower/include/file-path.hh: Use std::string [interface]. Update callers. * flower/direction.cc: * flower/axis.cc: Unused. Remove. * configure.in (--enable-std-string): New option. * flower/std-string.cc: * flower/include/std-string.hh: New file. * flower/file-name.cc[STD_STRING]: * flower/include/file-name.hh[STD_STRING]: Use it. Update callers. 2006-01-22 Han-Wen Nienhuys * scm/output-svg.scm (placebox): no GNU coding standards in SVG output. * scm/define-markup-commands.scm (with-dimensions): with-dimensions markup command. * input/test/font-table.ly: use it. * lily/open-type-font.cc (glyph_list): new function. * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function. * lily/ttf.cc: remove ly:font-glyph-list scheme function 2006-01-22 Nicolas Sceaux * ly/music-functions-init.ly (parallelMusic): new music function for parallel music entry. * scm/define-music-properties.scm (all-music-properties): new 'void music property * scm/music-functions.scm (ly:music-message): make public, to be used in music function definitions * scm/lily-library.scm (collect-music-for-book): discard music when the 'void property is set. 2006-01-22 Han-Wen Nienhuys * lily/ttf.cc (LY_DEFINE): store name before destroying face. * mf/GNUmakefile: idem. * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support. * stepmake/bin/install.py (dest): Only chmod/chown just created directories * Documentation/user/notation-appendices.itely (The Feta font): use it. * input/test/font-table.ly: new file. Generate font table within lily. * Documentation/user/notation-appendices.itely (The Feta font): use new font-table.ly file. * stepmake/stepmake/install-out-targets.make (local-install-outfiles): only create directory if $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo. 2006-01-21 Han-Wen Nienhuys * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list. * VERSION (PACKAGE_NAME): release 2.7.28 * scm/framework-ps.scm (write-preamble): use it to pick exactly the right font from a Mac dfont. (write-preamble): don't forget directory, only look at files. This fixes problems with TTF files in dfonts that don't match their PostScript names. * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract PS name from TTF font. * input/regression/tie-manual.ly: document new feature. * Documentation/topdocs/NEWS.tely (Top): add tie NEWS. * VERSION (MY_PATCH_LEVEL): bump to .28 * Documentation/user/basic-notation.itely (Ties): add tie examples refs. * lily/tie-formatting-problem.cc (score_ties_configuration): symmetry penalties for outer ties. 2006-01-20 Han-Wen Nienhuys * lily/tie-formatting-problem.cc (generate_configuration) (set_manual_tie_configuration): skip non-pair manual tie-configuration, so you can set individual ties as #'tie-configuration = #'((7 . 1) #t (-3 . 1)) * input/regression/tie-chord.ly: use generateTiePattern to simplify file. * lily/tie-formatting-problem.cc (peak_around): new function. (score_configuration): use sliding criterion for staff line collisions. (score_configuration): idem for dot collisions. (generate_configuration): use separate stem_gap for gap to stem. * lily/include/tie-formatting-problem.hh (struct Tie_details): separate penalty factors for x and y distance. (struct Tie_details): separate penalties for tip and center line collisions. 2006-01-19 Han-Wen Nienhuys * lily/tie-formatting-problem.cc (generate_configuration): make large ties avoid stafflines in the horizontal section. (score_configuration): use softcoded penalties (score_aptitude): idem. * lily/tie-helper.cc (from_grob): softcode tie details * lily/staff-symbol-referencer.cc (on_staff_line): new function * lily/staff-symbol-referencer.cc (on_line): rename from on_staffline 2006-01-18 Han-Wen Nienhuys * ly/music-functions-init.ly: remove duplicate tag. * lily/include/*.hh: GCC 4.1 fixes. 006-01-16 Erlend Aasland * Documentation/user/global.itely: fix typos; @bugs -> @refbugs * scm/define-music-types.scm: fix bug in desc. string for OverrideProperty 2006-01-15 Erik Sandberg * scripts/lilypond-book.py: bugfix * scm/define-music-types.scm: fix typos. 2006-01-14 Graham Percival * Documentation/user/ basic-notation.itely, global.itely, advanced-notation.itely, instrument-notation.itely: small additions (bugs and commonly tweaked properties). 2006-01-13 Han-Wen Nienhuys * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic detection of mingw build. (MINGW_BUILD): opps. 2006-01-12 Jan Nieuwenhuizen * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add i686-mingw32. 2006-01-12 Han-Wen Nienhuys * scm/music-functions.scm (skip->rest): add skip->rest 2006-01-11 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts() explicitly. * lily/font-config-scheme.cc (LY_DEFINE): also display font and config dirs. Aids debugging. (display_config): also display config files. 2006-01-07 Han-Wen Nienhuys * VERSION: release 2.7.27 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS) for determining bar size. * lily/staff-symbol.cc (print): place lines at distance line-positions * scm/define-grob-properties.scm (all-user-grob-properties): add line-positions. * lily/staff-symbol.cc (height): new function. * input/regression/staff-line-positions.ly: new file. 2006-01-06 Graham Percival * input/test/add-staccato.ly: remove reference to old file. 2006-01-06 Han-Wen Nienhuys * scripts/lilypond-book.py (invokes_lilypond): allow . in path to lilypond binary too. 2006-01-05 Han-Wen Nienhuys * make/mutopia-rules.make (Module): use LILYPOND_BINARY 2006-01-06 Jan Nieuwenhuizen * scripts/midi2ly.py: Bugfix: Declare datadir. * make/ly-rules.make: * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but that seems to be gone). Fixes make web. * The grand 2005-2006 replace. * VERSION (MY_PATCH_LEVEL): Stay on .26 for now. 2006-01-05 Han-Wen Nienhuys * make/lilypond-vars.make: set LILYPOND_BINARY variable (LILYPOND_BOOK_LILYPOND_FLAGS): new variable LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings, like -dgs-font-load. * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi): remove absolute path to lilypond binary. 2006-01-05 Pedro Kroeger * configure.in (NCSB_DIR): fix --with-ncsb-dir option. 2006-01-05 Han-Wen Nienhuys * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable. * mf/GNUmakefile: remove broken dvips map symlink. 2006-01-04 Jan Nieuwenhuizen * lily/main.cc: * configure.in: Cosmetic fixes. 2006-01-04 Mats Bengtsson * Documentation/user/music-glossary.tely (Pitch names): Added Spanish pitch names and durations, thanks to Ernesto Gancedo 2006-01-04 Han-Wen Nienhuys * scm/lily.scm (define-scheme-options): use quasi-quote for option init. Fixes verbose printing of .scm files. * stepmake/aclocal.m4: add spaces before - options. 2006-01-03 Jan Nieuwenhuizen * lily/relocate.cc (setup_paths): Bugfix: do not store result of path search in local block variable. 2006-01-02 Han-Wen Nienhuys * configure.in (NCSB_DIR): --enable-ncsb-dir (LINK_GXX_STATICALLY): denko. * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH. * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option. use locate to find c059033l.pfb. 2006-01-02 Jan Nieuwenhuizen * lily/tie-formatting-problem.cc (problem::generate_base_chord_configuration): Use my_round (was round). * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix, do not invoke mbrtowc. * lily/relocate.cc (setup_paths): Add more debugging verbosity. 2006-01-02 Han-Wen Nienhuys * scm/lily.scm (lilypond-all): oops. remove debugging hack. 2005-01-02 Heikki Junes * Documentation/user/invoking.itely (svg): revise. 2006-01-02 Han-Wen Nienhuys * lily/lexer.ll: use sourcefilename iso. renameinput. 2006-01-01 Han-Wen Nienhuys * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create .ttf instead of c059XXXttf. * lily/program-option.cc (LY_DEFINE): special support for --verbose, so it works before option init too. * mf/GNUmakefile (local-install): oops. * lily/lyric-hyphen.cc (print): oops. * buildscripts/pfx2ttf.fontforge: new file. * mf/GNUmakefile (NCSB_PATH): add vars for NCSB. ($(outdir)/%.ttf): new rule. * scm/define-grobs.scm (all-grob-descriptions): add font-interface to LyricHyphen. * lily/lyric-hyphen.cc (print): multiply hyphen height by font-size 2005-12-31 Han-Wen Nienhuys * VERSION: release 2.7.26 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files. 2005-12-30 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): verbosity. * THANKS: add Muziekacademie Lede. * scripts/musicxml2ly.py (print_voice_definitions): new function (print_score_setup): new function (convert): read part definition to output staves properly. * python/musicxml.py (Measure.get_notes): new class. Wrap lists of Music_xml notes. * python/musicexp.py (Output_printer.__init__): use _ in data members. (Output_printer.unformatted_output): new function: no formatting, but count braces. (Duration.get_length): remove isinstance() checks for Output_printer everywhere. * input/regression/lyrics-bar.ly (texidoc): add Separating_line_group_engraver. 2005-12-29 Jan Nieuwenhuizen * lily/relocate.cc (framework_relocation): New function, factored from set_relocation (). (prefix_relocation): Rename from set_relocation (). (setup_paths): Use it. 2005-12-30 Han-Wen Nienhuys * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical numbers. Patch by Erlend Aasland. 2005-12-29 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): print warning if cache file is not existant. * lily/main.cc: don't use #ifdef but #if 2005-12-28 Han-Wen Nienhuys * lily/grob-property.cc (internal_set_property): don't abort on calculation-in-progress. * lily/beam.cc (get_default_dir): robustness: don't divide by zero. * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read connect-to-neighbor property not connect-to-other * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable. (LY_DEFINE): oops. don't forget protection. * flower/parse-afm.cc (Module): strip AFM handling completely. * lily/stencil-expression.cc: idem. * lily/grob-interface-scheme.cc (LY_DEFINE): idem. * lily/function-documentation.cc (ly_add_function_documentation): use static member iso. Protected_scm * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW * config.make.in (prefix): remove HAVE_KPATHSEA_SO 2005-12-27 Jan Nieuwenhuizen * lily/relocate.cc (set_env_dir): New function. (set_relocation): Use it to fix setting PANGO_PREFIX. 2005-12-27 Han-Wen Nienhuys * input/regression/stem-direction-context.ly: remove rest. * lily/melody-engraver.cc (process_music): restart for bar lines. (acknowledge_slur): restart for slurs. 2005-12-27 Heikki Junes * Documentation/user/invoking.itely: describe how to view SVG output using Inkscape which replace embedded fonts with OTF fonts. 2005-12-25 Han-Wen Nienhuys * lily/relocate.cc (set_relocation): set PANGO_PREFIX 2005-12-23 Jan Nieuwenhuizen * lily/melody-engraver.cc (class Melody_engraver): Remove lying comment. 2005-12-23 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.25 * Documentation/topdocs/NEWS.tely (Top): document new feature. * input/regression/stem-direction-context.ly: new file. * lily/relocate.cc (set_relocation): add PANGO_PREFIX * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem on rest. * ly/engraver-init.ly: add Melody_engraver * lily/beam.cc (calc_direction): use default-direction iso. get_default_direction() * scm/define-grob-properties.scm (all-user-grob-properties): add default-direction property. * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem. * lily/stem.cc (calc_default_direction): remove Stem::get_default_direction, use default-direction with callback instead. * lily/melody-spanner.cc (calc_neutral_stem_direction): * lily/melody-engraver.cc: new file. Acknowledge stems for interpolated stem directions. * lily/melody-spanner.cc: new file. Interpolate stem directions. * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem * lily/slur-configuration.cc (fit_factor): more robust check for point in curve X-extent. * lily/slur.cc (outside_slur_callback): return offset_scm, not 0. (outside_slur_callback): check for 'outside avoidance. * lily/slur-configuration.cc (score_extra_encompass): don't use bound->column() == avoid->column() for checking extents, as this doesn't work for accidentals. * lily/slur-engraver.cc (acknowledge_extra_object): remove DynamicText hardcoding. * lily/slur-scoring.cc (enumerate_attachments): robustness: don't crash if bound stem is NULL * lily/piano-pedal-performer.cc: patch by MWD for enabling piano pedals. 2005-12-22 Graham Percival * scm/define-markup-commands.scm: typo. @code{\raise} => @code{\\raise}. * darwin.patch: now used again, includes a required patch from fink. 2005-12-21 Heikki Junes * po/TODO: mention gtranslator along with kbabel. * po/fi.po: update translations. 2005-12-21 Jan Nieuwenhuizen * lily/relocate.cc (setup_paths): Bugfix. 2005-12-21 Han-Wen Nienhuys * lily/slur-configuration.cc (score_extra_encompass): don't use "avoid" choice for avoid-slur. * stepmake/bin/install.py (dest): don't create existing dir. 2005-12-21 Jan Nieuwenhuizen * stepmake/bin/install.py: Remove file before copying. * config.make.in: * stepmake/aclocal.m4: Do not substitute INSTALL. 2005-12-21 Han-Wen Nienhuys * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree): depend on link-tree. * lily/relocate.cc (setup_paths): only check path for non-absolute dir without directory part. * flower/file-name.cc (is_absolute): new method. (is_absolute): check root_ too. 2005-12-21 Jan Nieuwenhuizen * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken relocation code. Oops, don't comment out too much. * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY iso itself. * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw compile. 2005-12-20 Jan Nieuwenhuizen * .cvsignore: Add install-sh. * autogen.sh (srcdir): Typo. 2005-12-20 Han-Wen Nienhuys * autogen.sh (srcdir): urg. Touch install-sh. * stepmake/bin/install-sh (Module): remove. * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL). * lily/include/relocate.hh: new file. * lily/relocate.cc: new file. Contain relocation logic. * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX. (main): read LILYPOND_VERBOSE as the first thing. * stepmake/aclocal.m4: remove INSTALL variable. * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree): separate target for making font symlinks. (documentation-dir): use $(if $(findstring )) for switching off Documentation. * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do something if DOCUMENTATION is no. 2005-12-19 Han-Wen Nienhuys * VERSION: release 2.7.24 * lily/script-column-engraver.cc (stop_translation_timestep): delay adding to script-column. * lily/tuplet-bracket.cc (print): suicide if no control-points. * python/convertrules.py (conv): rule for number-visibility * lily/slur-configuration.cc (score_extra_encompass): different distance measure for avoid and inside avoidance. (score_extra_encompass): use 1/(distance+eps) as penalty. * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside encompass objects for generating slur curves. * lily/slur.cc: use details iso. slur-details property. * input/regression/slur-tuplet.ly: new file. * lily/slur-engraver.cc (acknowledge_tuplet_number): new function. * flower/include/offset.hh (class Offset): new operator /= * lily/tuplet-number.cc (print): new file, new interface. * scm/define-grob-properties.scm (all-user-grob-properties): remove number-visibility property. * lily/tuplet-bracket.cc (calc_control_points): new function (calc_connect_to_neighbors): new function. (print): remove text handling for tuplet numberdef. * lily/tuplet-engraver.cc (struct Tuplet_description): create TupletNumbers too. * lily/lily-guile.cc (robust_scm2booldrul): new function * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber * lily/tuplet-bracket.cc (calc_position_and_height): use staff-padding to control whether tuplet brackets are over staves. * lily/grob.cc (suicide): clear dim_caches_. * lily/dimension-cache.cc (clear): new function. * lily/grob.cc (extent): swap order of min-extent and extent calculations. This fixes hara kiri staves. 2005-12-19 Jan Nieuwenhuizen * lily/main.cc: Nitpick: relocation is not based on path, but on directory (location). 2005-12-19 Han-Wen Nienhuys * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX * stepmake/stepmake/install-targets.make (local-uninstall): idem. * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem. * stepmake/stepmake/help2man-targets.make (install-help2man): idem. * stepmake/stepmake/generic-vars.make (Module): idem. * stepmake/stepmake/executable-targets.make (default): use it. * stepmake/bin/install.py (create_dir): new file. Replace install-sh. * make/GNUmakefile: don't install make rules. * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with slashes. (prepend_env_path): more verbosity. 2005-12-18 Han-Wen Nienhuys * GNUmakefile.in: add dir argument for find command. * lily/parser.yy (bass_figure): set_spot() for bass figures. This fixes weird line numbers for point & click. * lily/source-file.cc (get_counts): init line/column/char counts. 2005-12-16 Han-Wen Nienhuys * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate. 2005-12-16 Graham Percival * Documentation/user/basic-notation.itely, advanced-notation.itely: minor fixes from Fredric. Thanks! 2005-12-16 Han-Wen Nienhuys * ly/music-functions-init.ly: add \bar and \clef music function * lily/lily-lexer.cc: idem. * lily/parser.yy (FIXME): remove BAR and CLEF. 2005-12-14 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): doc string argument change. * lily/parser.yy (Generic_prefix_music_scm): allow strings as function arguments too * lily/main.cc (set_relocation): new function. * scripts/musicxml2ly.py (convert): add \version * lily/tie.cc: remove get_default_attachments() * VERSION (PACKAGE_NAME): release 2.7.23 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly * Documentation/topdocs/NEWS.tely (Top): document new feature. * lily/tie-formatting-problem.cc (score_ties): new function (get_variations): new function. Try flipping dirs for collisions. (generate_optimal_chord_configuration): new function. 1-opt search for better configuration. * lily/tie-configuration.cc: new file. * lily/tie.cc: junk Tie::get_configuration() * lily/tie-formatting-problem.cc (score_ties_aptitude): new function. (score_ties_configuration): new function. (generate_ties_configuration): new function. (generate_base_chord_configuration): new function. (set_ties_config_standard_directions): Move body from tie-column-format.cc (set_manual_tie_configuration): Move body from tie-column-format.cc * input/regression/tie-dot.ly: new file. * lily/tie-formatting-problem.cc (score_configuration): score tie/dot collisions. * lily/tie-helper.cc (get_transformed_bezier): new function * Documentation/topdocs/NEWS.tely (Top): strip out-www. * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use -undefined suppress iso. -framework Python * scm/define-grobs.scm (all-grob-descriptions): set springs-and-rods (thanks Joe Neeman!) 2005-12-12 Nicolas Sceaux * input/no-notation/display-lily-tests.ly (test): * scm/display-lily.scm (tag->lily-string): the syntax for tags has changed from \tag #'(a b) to \tag #'a \tag #'b 2005-12-12 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely: strip out-www. * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h * config.make.in (AR): add AR and RANLIB * flower/libc-extension.cc: include cassert * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust darwin check. 2005-12-11 Graham Percival * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD. * stepmake/stepmake/python-modules-vars.make: define SHARED_FLAGS for OSX. Thanks Johannes Schindelin! * THANKS: added Johannes Schindelin. 2005-12-10 Han-Wen Nienhuys * python/midi.c (pymidi_parse): use memcmp() iso. strcmp(). * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove Span_arpeggio_engraver, add Tweak_engraver to Score context. * lily/parser.yy: reorganize file layout. * ly/music-functions-init.ly: add tweak music function. * lily/grob-info.cc (ultimate_music_cause): new function: recursively lookup causes. * lily/parser.yy (chord_body_element): allow music functions for post-events, allow music functions for chord elements. * lily/font-config-scheme.cc (display_fontset): add cast. * python/convertrules.py (FatalConversionError.sub_syms): \tag #'(a b) -> \tag #'a \tag #'b rule. * python/musicexp.py (Output_printer.dump_version): new function 2005-12-09 Han-Wen Nienhuys * lily/parser.yy (FIXME): remove \tag (FIXME): remove tag_music() function. * lily/lily-lexer.cc: remove \tag * ly/music-functions-init.ly: define music-function "tag" * lily/parser.yy (chord_body_element): allow tags in chord bodies. 2005-12-08 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.7.22 * input/regression/lyric-hyphen-retain.ly: renew. * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace grob * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance iso. minimum-length property for rods. * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create LyricSpace item to keep lyrics spaced apart. * ly/engraver-init.ly: remove Separating_line_group_engraver * Documentation/user/music-glossary.tely: do setfilename before music-glossary. 2005-12-07 Heikki Junes * Documentation/user/lilypond-book.itely: use `,´ after xref: See xref documentation, for example. 2005-12-07 Han-Wen Nienhuys * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use pending_skip iso. ly_voice[-1] (main): add if __main__ for debugging. * python/musicxml.py (Accidental.__init__): new class. * scripts/musicxml2ly.py (progress): new function (musicxml_key_to_lily): don't barf on modeless keys. (create_skip_music): new function. (musicxml_spanner_to_lily_event): new function. Handle beams too. (musicxml_note_to_lily_main_event): new function. * python/musicexp.py (Music.__init__): add comment field. (NestedMusic.append): new routine. (SequentialMusic.print_ly): print comment. (ArpeggioEvent.ly_expression): new class (BeamEvent.ly_expression): new class (NoteEvent.__init__): support for cautionary/forced accs. * lily/lookup.cc (slur): normal order for array loop. * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox to 0.0. * ly/engraver-init.ly: set bar-size, so bar-lines aren't collapsed. 2005-12-06 Erik Sandberg * scm/music-functions.scm: Make phrasing slurs follow voice direction * scripts/lilypond-book.py: Introduce option --preserve-line-breaks, for usage with srcltx 2005-12-06 Han-Wen Nienhuys * scm/output-lib.scm (print-circled-text-callback): draw circle around text using make-circle-markup. * Documentation/user/*: strip out-www from file names. 2005-12-05 Heikki Junes * Documentation/user/lilypond.tely (direntry): remove empty lines; fixes invalid info entry issue with makeinfo 4.8 in debian sid. 2005-12-05 Han-Wen Nienhuys * Documentation/user/GNUmakefile: idem. * Documentation/user/macros.itexi: strip out-www * python/rational.py: python 2.3 compat. * VERSION (PATCH_LEVEL): release 2.7.21 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi): option formatting, lilypond style. * python/musicexp.py: grab from Ikebana: a library for composing ly music expressions. (Output_printer): class for advanced .ly printing. (eg. tupletting) * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and convert to pythonesque structure. * python/rational.py: PD rational number class. * Documentation/user/converters.itely (Invoking musicxml2ly): new node. 2005-12-04 Erik Sandberg * lily/part-combine-iterator.cc: Minor bugfix * THANKS: Update bughunters 2005-12-02 Werner Lemberg * mf/README: Document process for proper mf2pt1 conversion. * mf/feta-beugel.mf (draw_brace): Fix path to assure clean overlapping. * mf/feta-harmonica.mf: Removed. Unused. 2005-12-02 Han-Wen Nienhuys * scripts/lilypond-book.py (do_file): fix thinkos. 2005-12-01 Jan Nieuwenhuizen * lily/GNUmakefile ($(outdir)/FlexLexer.h): ($(outdir)/parser.cc): ($(outdir)/lexer.cc): Bugfix: depend on config.h. 2005-11-30 Pedro Kröger * ly/titling-init.ly (tagline): it should be a space between "Music engraving by LilyPond" and the version number. 2005-12-01 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.20 2005-11-30 Han-Wen Nienhuys * scm/define-markup-commands.scm (pad-to-box): new markup command. * scm/define-grobs.scm (all-grob-descriptions): set thickness to 1.0. (all-grob-descriptions): don't shift RehearsalMark arbitrarily. 2005-11-29 Han-Wen Nienhuys * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks. * kpath-guile/: remove directory * scm/kpathsea.scm (ly:kpathsea-expand-variable): new file. Encapsulate kpathsea using commandline tools. * lily/all-font-metrics.cc (kpathsea_find_file): use (scm kpathsea) module. 2005-11-29 Mats Bengtsson * Documentation/user/advanced-notation.itely (Setting automatic beam behavior): Correct a few typos. Thanks to David Bobroff. * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use \usepackage instead of \RequirePackage. Thanks to Bernard Hurley. 2005-11-29 Han-Wen Nienhuys * scripts/*.py: gmane address for bugs. 2005-11-28 Pal Benko * make/ly-rules.make: add -f switch to mv * scm/output-libs.scm: add new bar symbol "." for punctus divisionis * lily/bar-line.cc: interpret it 2005-11-28 Jan Nieuwenhuizen * configure.in (--disable-documentation): New switch. * GNUmakefile.in: Use it. * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea. 2005-11-28 Han-Wen Nienhuys * scripts/lilypond-book.py (do_file): search chunks for \\begin{document} * GNUmakefile.in: add copy step in between so we can lose the out-www directories. 2005-11-27 Han-Wen Nienhuys * lily/pango-font.cc (pango_item_string_stencil): put geometry.width into glyph-string too. 2005-11-26 Nicolas Sceaux * scm/define-music-display-methods.scm (RevertProperty): (OverrideProperty): Use grob-property-path property, a list of symbols, instead of grob-property, which used to be a single symbol. (BassFigureEvent): a figure can be a plain number, not necessarily a markup. 2005-11-25 Han-Wen Nienhuys * VERSION: release 2.7.19 * lily/figured-bass-engraver.cc (process_music): check figuredBassCenterContinuations first. * scm/translation-functions.scm (format-bass-figure): make double sharp larger. * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to determine X-parent. * lily/system-start-delimiter-engraver.cc: move from Nested_system_start_delimiter_engraver, rename Nested_system_start_delimiter_engraver -> System_start_delimiter_engraver. * lily/nested-system-start-delimiter-engraver.cc (from_list): read bracket type from hierarchy. 2005-11-24 Han-Wen Nienhuys * lily/rest.cc (y_offset_callback): read staff-position. * scm/define-grob-properties.scm (all-user-grob-properties): don't mark after-line-breaking-callback as internal. * lily/self-aligment-interface.cc: remove self-[XY]-offset. 2005-11-25 Werner Lemberg * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'. 2005-11-23 Han-Wen Nienhuys * stepmake/bin/add-html-footer.py (do_file): add google * lily/staff-symbol-engraver.cc (process_music): bugfix: stop staff if first_start_ is true. 2005-11-23 Han-Wen Nienhuys * scripts/midi2ly.py (split_track): add __repr__ members. (track_first_item): only return Item if not None. This fixes a problem when dumping a track that starts with an empty channel. * python/midi.c: doc module. 2005-11-22 Mats Bengtsson * Documentation/user/global.itely (Creating MIDI files): Fix compilation problem. 2005-11-22 Graham Percival * Documentation/user/basic-notation.itely: clarify dynamic padding text. * Documentation/user/advanced-notation.itely: add unicode escape control example, whatever that is. :) * Documentation/user/global.itely: added "removing dynamics from MIDI" code. 2005-11-21 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.7.18 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace System_start_delimiter_engraver by Nested_system_start_delimiter_engraver. * lily/nested-system-start-delimiter-engraver.cc (struct Bracket_nesting_node): new class. (struct Bracket_nesting_group): new class (struct Bracket_nesting_staff): new class. (process_music): create hierarchy of grobs. This allows separate tuning of different SSDs. * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare (all-grob-descriptions): remove old NestedSystemStartDelimiter. 2005-11-19 Han-Wen Nienhuys * lily/side-position-interface.cc (aligned_side): multiply staff_radius by 2. * lily/script-engraver.cc (make_script_from_event): allow setting values to '() 2005-11-18 Han-Wen Nienhuys * lily/system-start-delimiter.cc (line_bracket): don't shorten height. * scm/define-grobs.scm (all-grob-descriptions): new grob NestedSystemStartDelimiter. * input/regression/system-start-heavy-bar.ly: new file. * lily/nested-system-start-delimiter-engraver.cc: new file. * lily/nested-system-start-delimiter.cc: new file. * input/regression/system-start-nesting.ly: new file. * scm/define-grobs.scm (all-grob-descriptions): use X side positioning for positioning braces for nested contexts. * lily/system-start-delimiter.cc (print): don't divide extent by staff_space. (print): use style iso. glyph. (staff_bracket): translate glyph inside routine already. 2005-11-18 Michael Welsh Duggan * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph names. 2005-11-17 Han-Wen Nienhuys * scm/define-context-properties.scm (all-user-translation-properties): rename figuredBassFormatter from newFiguredBassFormatter. * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc * lily/stem.cc (calc_stem_info): trigger beaming calculation. * lily/beam.cc (calc_beaming): new function. (calc_shorten): new function. * THANKS: add Edward Neeman. * input/regression/accidental-clef-change.ly: new file. * lily/note-collision.cc (check_meshing_chords): don't merge fa heads. * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property. * lily/clef-engraver.cc (inspect_clef_properties): reset localKeySignature for clef changes. 2005-11-17 Mats Bengtsson * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3 add dummy definition that works in Linux and add information in INSTALL.texi on the specific Python requirements for Cygwin/Mingw. * Documentation/user/changing-defaults.itely (Modifying context plug-ins): Add index for \with. * Documentation/user/music-glossary.tely (dal segno): Updated example to version >=2.6. 2005-11-16 Mats Bengtsson * Documentation/user/instrument-notation.itely (Printing chord names): Reorder \chordmode and \repeat in one example. 2005-11-16 Han-Wen Nienhuys * VERSION: release 2.7.17 * Documentation/topdocs/NEWS.tely (Top): add note about refactoring. * lily/tie-formatting-problem.cc (find_optimal_tie_configuration): new function. Search region of 3 positions for best tie. (score_configuration): new function. (score_aptitude): new function. (generate_configuration): new function. (get_configuration): new function. (Tie_formatting_problem): new function * input/regression/page-top-space.ly: a6 for page-top-space demo. * stepmake/aclocal.m4: use $(if ) for config-FOOF.make * THANKS: add Eduardo Vieira & Ralph Little * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads narrower. * lily/include/tie-formatting-problem.hh (class Tie_formatting_problem): add Tie_details to Tie_formatting_problem. Update calling conventions. * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not config.make. * Documentation/user/lilypond.tely: remove musedata2ly entry. 2005-11-16 Jürgen Reuter * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh, scm/define-context-properties.scm: Maintenance bugfix: make ligature brackets work again by removing obsolete ligature primitive callback push/pop. * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do not call Tuplet_bracket::calc_direction. Removed obsolete gap value. 2005-11-15 Jan Nieuwenhuizen * stepmake/aclocal.m4 (depth): Explain why absolute directory is used and do not call it a path. (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name. 2005-11-14 Han-Wen Nienhuys * lily/include/tie-formatting-problem.hh (class Tie_formatting_problem): new file. * lily/tie-formatting-problem.cc (common_x_refpoint): new file. * Documentation/misc/ChangeLog-2.3: new file. * lily/audio-staff.cc (output): degarianize. 2005-11-14 Jan Nieuwenhuizen * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc): Unset PYTHONOPTIMIZE. Fixes install if set. 2005-11-13 Han-Wen Nienhuys * python/convertrules.py (conv): add warning about drums. * make/stepmake.make: include toplevel-version.make after config.make. * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute. also allow python2.4 * config.make.in (configure-srcdir): remove GXX GCC vars. * stepmake/aclocal.m4: don't do non-srcdir build with symlinks. Use inclusion, so the src directory name can be changed. 2005-11-13 Jan Nieuwenhuizen * make/mutopia-vars.make: * make/ly-vars.make: Use src-wildcard iso wildcard for source files. 2005-11-13 Werner Lemberg * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture' but the affected path. This ensures that the (overlapping) outlines have the same direction, which is a necessary prerequisite for FontForge's algorithm to remove overlaps. Formatting. * mf/feta-haak.mf: Formatting. (draw_bracket): Slightly modify outline to avoid an unnecessary corner. Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive them from the affected paths. 2005-11-13 Han-Wen Nienhuys * mf/README: remove xpm / accordion notes. * lily/tie-column-format.cc (set_chord_outline): add dots into skyline extents. This fixes tie formatting if the left head has dots. * lily/tie.cc (get_configuration): only shift tie by a whole staff space inside the staff. (get_configuration): shift another position if necessary in case of left head tie 2005-11-12 Han-Wen Nienhuys * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use buildscript-dir iso. $(depth)/buildscripts. * tex/GNUmakefile (local-uninstall): remove music-drawing-routines.ps juggling. * stepmake/stepmake/install-targets.make (local-install-files): prepend src-dir to install targets. * lily/system-start-delimiter-engraver.cc (acknowledge_system_start_delimiter): use add_offset_callback(). This fixes translation of nested staffgroups. * lily/grob-closure.cc (add_offset_callback): only encaps in simple_closure if it's a procedure. * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph from bar-line. * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add remove-empty where pertinent. 2005-11-12 Graham Percival * Documentation/user/instrument-notation.itely: added Cameron Horsburgh's multiple stanzas docs. Thanks! 2005-11-11 Han-Wen Nienhuys * lily/GNUmakefile ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico): make picture in builddir, not srcdir. 2005-11-10 Han-Wen Nienhuys * VERSION: release 2.7.16 * scripts/lilypond-book.py (main): use commands.mkarg () to quote shell arguments. 2005-11-10 Mats Bengtsson * Documentation/user/examples.itely (Piano templates): Minor modification to the Piano centered lyrics example. 2005-11-10 Han-Wen Nienhuys * scripts/lilypond-invoke-editor.scm (run-browser): look at $BROWSER. * Documentation/user/point-and-click.itely: simplify p&c instruction: don't configure firefox. Put lilypond-invoke-editor in front of the browser. * scripts/lilypond-invoke-editor.scm (run-editor): new function. (run-browser): new function. * lily/parser.yy (Lily_lexer): recognize Book * lily/book.cc (clone): new function * lily/parser.yy (book_body): allow BOOK_IDENTIFIER. 2005-11-10 Jürgen Reuter * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc: Maintenance bugfix: reduce number of font related warnings by updating naming conventions for glyph-name. 2005-11-09 Han-Wen Nienhuys * scm/define-grobs.scm (all-grob-descriptions): add rhythmic-grob-interface to TabNoteHead. * scm/layout-beam.scm (check-quant-callbacks): remove set_stem_lengths() 2005-11-08 Jürgen Reuter * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical alignment of centered divisiones. * scm/scripts.scm (articulations): Maintenance bugfix: follow-into-staff -> quantize-position. * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix: plica head in porrectus deminutus. 2005-11-08 Han-Wen Nienhuys * make/lilypond.fedora.spec.in (Group): add %clean section. * lily/tuplet-bracket.cc (print): change check: remove bracket if less then 1/5th of total length. (print): use gap too. Fixes tupletUp-single-bracket.ly * scm/music-functions.scm (glue-mm-rest-texts): also put other events into EventChord. This fixes textspanners on mm rests. Fixes spanner-rest.ly * lily/side-position-interface.cc (get_axis): read side-axis (set_axis): set side-axis. * scm/define-grobs.scm (all-grob-descriptions): add side-axis properties everywhere. * lily/spacing-spanner.cc (breakable_column_spacing): add average-spacing-wishes. Take maximum if not set. (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly * scm/define-grobs.scm (all-grob-descriptions): add average-spacing-wishes. * lily/grob-closure.cc (add_offset_callback): bugfix: properly add offset callbacks. This fixes alignment for Fingering objects. * scm/define-grobs.scm (all-grob-descriptions): tiny bit less space for key - timesig combination. * input/regression/script-stem-tremolo.ly (Module): new file. * scm/define-grobs.scm (all-grob-descriptions): decrease distance to key sig. * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function. Fixes: c-tremolo-script.ly. * lily/text-engraver.cc (acknowledge_stem_tremolo): new function. * lily/script-engraver.cc (acknowledge_stem_tremolo): new function. * scm/define-grobs.scm (all-grob-descriptions): remove self-X-offset. Fixes alignment of octavate-8. * scripts/lilypond-book.py (datadir): look in LILYPONDPREFIX/share/lilypond/current/ * GNUmakefile.in: symlink current to . 2005-11-07 Pedro Kroger * lily/main.cc: eps listed as a backend. 2005-11-06 Han-Wen Nienhuys * scm/lily-library.scm (print-music-as-book): quote $defaultpaper. 2005-11-04 Han-Wen Nienhuys * lily/include/score.hh (class Score): remove texts_ member. * lily/beam.cc (set_stem_lengths): force direction callback. (print): read quantized-positions, so we can force Beam::set_stem_lengths to occur. (rest_collision_callback): use common X parent. 2005-11-03 Jan Nieuwenhuizen * flower/file-path.cc (find): Bugfix: Return name of file found. * lily/main.cc (setup_paths): Bugfix for argv0 logic. (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0. (setup_paths)[__MINGW32__]: Also look for argv0 + .exe. 2005-11-03 Han-Wen Nienhuys * flower/offset.cc: idem. * mf/*.mf: update email address. * lily/font-config-scheme.cc: new file. * GNUmakefile.in (SUBDIRS): remove debian/ directory. * lily/*: cs.uu.nl -> xs4all.nl * VERSION (PATCH_LEVEL): release 2.7.15 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse spec files. * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/ 2005-11-02 Han-Wen Nienhuys * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens. * lily/staff-performer.cc (process_music): add audio elements. This makes MIDI instrument changes work once again. * lily/main.cc (LY_DEFINE): add gmane address. * lily/beam.cc: remove calc_positions() * lily/include/grob.hh (class Grob): move pscore, dim_cache_, original_ in private scope. (class Grob): drop pscore_ pointer, change to output_def pointer. (class Grob): cleanup class definition. * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure. 2005-11-02 Jan Nieuwenhuizen * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is absolute. Better diagnostics. * GNUmakefile.in: Add bin/ to tree and populate with some links. This makes lilypond run from the build directory using argv0 relocation (without any --prefix or LILYPONDPREFIX setting). 2005-11-02 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely (Top): document new backend design. * scm/define-grobs.scm: purge self-[XY]-offset variables, replace with simple-closure. * lily/self-aligment-interface.cc (set_align_self): new function (set_center_parent): new function. * lily/side-position-interface.cc (set_axis): new function. * lily/new-fingering-engraver.cc (position_scripts): use drul for generic code. * scm/define-grob-properties.scm (all-user-grob-properties): remove [XY]-offset-callbacks add [YX]-offset 2005-11-02 Mats Bengtsson * scm/define-grobs.scm (all-grob-descriptions): Added space-alist entry for time signatures after breathing signs. Bug report by Scott Russell. 2005-11-01 Jan Nieuwenhuizen * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is not absolute, make it absolute using PATH. 2005-10-28 Jan Nieuwenhuizen * python/midi.c (initmidi): Fix type for mingw. 2005-10-27 Jan Nieuwenhuizen * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw. * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw cross compiling. * stepmake/aclocal.m4: Support python cross compiling. * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX): Add mingw section. 2005-11-02 Han-Wen Nienhuys * scm/output-lib.scm (chain-grob-member-functions): replace chained-callback.cc * lily/chained-callback.cc (Module): remove file. * lily/rest-collision.cc (force_shift_callback_rest): change to chained callback. * lily/rest.cc (y_offset_callback): merge function of 3 callbacks. * lily/grob.cc (y_parent_positioning): remove axis argument from parent_positioning callbacks. (Grob): junk init code (get_offset): use generic property callbacks for X-offset, Y-offset. Remove Grob::{add,has}_offset_callback. (axis_parent_positioning): new function (axis_offset_symbol): new function (chain_offset_callback): new function (add_offset_callback): new function * lily/beam.cc (rest_collision_callback): change signature; this is now a chained callback. * lily/include/dimension-cache.hh (class Dimension_cache): remove callback administration. * lily/simple-closure.cc: new file. Smob type that allows "grob member functions", (ly:make-simple-closure FUNC A B) is evaluated as (FUNC grob A B). This allows chaining of callbacks in various ways. * lily/slur-engraver.cc (acknowledge_extra_object): use chained callbacks. * lily/slur.cc (outside_slur_callback): take 2 arguments. * lily/rest.cc (polyphonic_offset_callback): remove. * lily/script-engraver.cc (try_music): remove bool* argument. * scm/script.scm (default-script-alist): set quantize-position appropriately. * lily/script-engraver.cc: remove follow_into_staff_ special coding. * lily/side-position-interface.cc (aligned_side): move staff position quantization from Side_position_interface::quantised_position(). (quantised_position): remove 2005-10-31 Han-Wen Nienhuys * input/regression/beam-quant-standard.ly: reindent, set debug-beam-quanting to #t. * lily/beam-concave.cc (calc_concaveness): set concaveness to 10000 if this is a "hard" concave beam. * lily/beam.cc (calc_least_squares_positions): change from calc_least_squares_dy (set_stem_lengths): this is now a chained callback. * lily/context-property.cc (execute_general_pushpop_property): bugfix override with procedure should have effect. * scm/define-grob-properties.scm (all-internal-grob-properties): remove position-callbacks. * scm/define-grobs.scm (all-grob-descriptions): use ly:make-callback-chain for positions property. * scm/layout-beam.scm (check-quant-callbacks): return list of chained callbacks. * scm/lily.scm (type-p-name-alist): add callback-chain * lily/lily-guile.cc (type_check_assignment): type check failure is warning not message. * lily/grob-property.cc (try_callback): walk callback chain if appropriate. * lily/chained-callback.cc: new file. new smob type. * lily/lily-guile.cc (procedure_arity): new function. 2005-10-28 Han-Wen Nienhuys * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison. 2005-10-25 John Mandereau * Documentation/user/instrument-notation.itely (Figured bass): describe new features 2005-10-26 Han-Wen Nienhuys * lily/beam.cc (calc_least_squares_dy): use property callback. * lily/beam-concave.cc (calc_concaveness): use property callback. * ly/paper-defaults.ly: move fixed dimensions from paper.scm 2005-10-25 Jan Nieuwenhuizen * HACKING: Update. 2005-10-24 Han-Wen Nienhuys * scm/layout-page-layout.scm (page-headfoot): annotate pagetopspace too. * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit. * scm/layout-page-layout.scm (annotate-y-interval): y-annotation doesn't take y-space. * scm/paper.scm (paper-alist): fix A7 dimensions. 2005-10-24 Jan Nieuwenhuizen * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix src-wildcard, remove $(wildcard). * po/GNUmakefile (PO_FILES): * ps/GNUmakefile (PS_FILES): * tex/GNUmakefile (TEX_FILES): * cygwin/GNUmakefile (POSTINSTALLS): * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed some wildcard calls. 2005-10-23 Han-Wen Nienhuys * THANKS: add Thomas Bushnell. 2005-10-23 Jan Nieuwenhuizen * scm/lily.scm: Remove horrendous running-from-gui? kludge. (lilypond-main): Redirect to gui-main if 'gui is set. * scripts/midi2ly.py (datadir): Add libdir iso datadir to path, for alternative installations kludging s/share/lib/g LILYPONDPREFIX. * SConstruct (libdir_package_version): Define. * python/SConscript: * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so module in libdir. 2005-10-22 Han-Wen Nienhuys * lily/main.cc: clarify --safe. 2005-10-21 Han-Wen Nienhuys * VERSION: release 2.7.14 * Documentation/user/*.itely: remove minimumVerticalExtent. * scm/define-grobs.scm (all-grob-descriptions): remove RemoveEmptyVerticalGroup * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup. * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean compile on MOSX * python/convertrules.py (conv): add rules. * lily/grob.cc: remove is_empty() * lily/grob-property.cc: remove add_to_list_property(). * scripts/convert-ly.py (datadir): add prefix switching hack to .py too. * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove space-function tweak. * lily/grob.cc: remove X-extent-callback / Y-extent-callback. * scm/define-grob-properties.scm (all-user-grob-properties): remove callback property. * lily/include/grob.hh (class Grob): remove property_callbacks_ member. Properties of procedure type are assumed to be callbacks. * lily/ligature-engraver.cc (override_stencil_callback): rewrite. Use noteHeadLigaturePrimitive as source. * scm/define-grob-properties.scm (all-internal-grob-properties): remove ligature-primitive-callback * lily/include/dimension-cache.hh (class Dimension_cache): make class, with Grob as friend. * lily/grob.cc: remove set_extent_callback(), set_extent() and has_extent_callback() * scm/translation-functions.scm (format-new-bass-figure): read figuredBassPlusDirection * scm/define-context-properties.scm (all-user-translation-properties): add figuredBassPlusDirection. * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes. * lily/align-interface.cc (set_ordered): new function. * lily/grob.cc (flush_extent_cache): rewrite. * lily/dimension-cache.cc (Dimension_cache): cache extent as Interval pointer directly. * lily/main.cc (setup_paths): insert extra / . (setup_paths): junk cff entry. * lily/font-config.cc (init_fontconfig): only add type1 / otf directories. * lily/axis-group-engraver.cc (finalize): remove extraVerticalExtent, minimumVerticalExtent verticalExtent. * lily/grob.cc (Grob): don't set extent from ctor. (extent): use property callbacks. * lily/axis-group-interface.cc: remove set_axes() function. * lily/grob-property.cc (del_property): new function. 2005-10-21 Han-Wen Nienhuys * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check. 2005-10-20 Jan Nieuwenhuizen * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add. 2005-10-19 Jan Nieuwenhuizen * mf/SConscript: Updates. * lily/GNUmakefile (OUT_DIST_FILES): Bugfix. * stepmake/stepmake/*: * */GNUmakefile: * config.make.in: * GNUmakefile.in: * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make' from any directory in build-dir. Cleanups. * make/srcdir.make.in: Remove. * lily/main.cc (setup_paths): Fix and document build-dir hack. * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no main). * lily/SConscript: Remove ttftools. * SConstruct: Resurrect. 2005-10-19 Han-Wen Nienhuys * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for Y coordinate. * lily/paper-book.cc (add_score_title): put Paper_score title into systems_ list. * scm/translation-functions.scm (format-new-bass-figure): also allow plus in combination with _ 2005-10-17 Han-Wen Nienhuys * VERSION: 2.7.13 released. * lily/note-collision.cc (check_meshing_chords): don't wipe stencil, merely set transparent. * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau. (Top): document #'callbacks. (Top): document nested \override. * input/regression/figured-bass.ly: update for slash and pluses. * input/regression/figured-bass-continuation-forbid.ly (Module): new file. * scm/translation-functions.scm (format-new-bass-figure): use slashed-digit if diminished is set. (format-new-bass-figure): add + if 'augmented is set. * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit. * input/test/piano-staff-distance.ly: remove file. * Documentation/user/advanced-notation.itely (Formatting cue notes): use length-fraction for making stems/beams smaller. * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass modifications. * lily/new-figured-bass-engraver.cc: new property centerFiguredBassContinuations * Documentation/user/changing-defaults.itely (Difficult tweaks): use callbacks. * lily/context-property.cc (execute_general_pushpop_property): robustness checks. * input/regression/override-nest.ly: new file. * python/convertrules.py (FatalConversionError.subber): conversion rule for #'callbacks * input/regression/override-nest.ly: new function. * lily/parser.yy (music_property_def): allow \override #'a #'b = #c too. * lily/context-property.cc (lookup_nested_property): new function. (evict_from_alist): new function. (general_pushpop_property): new function. (execute_general_pushpop_property): rewrite. Support nested properties too. 2005-10-16 Han-Wen Nienhuys * lily/beam.cc: use length-fraction too. * scm/define-grob-properties.scm (all-user-grob-properties): remove property flag-width-function (all-user-grob-properties): remove space-function. * scm/layout-beam.scm: remove flag-width-function. * lily/beam.cc: remove flag-width-function * scm/layout-beam.scm: remove beam dir functions. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction. * lily/stem.cc (calc_length): multiply with length_fraction. Makes for easier grace tweaks. * lily/beam.cc: remove dir-function. * lily/system.cc (pre_processing): use callback to trigger spacing procedures. * lily/grob.cc: remove spacing-procedure. * lily/note-head.cc (calc_stem_attachment): new function. (internal_print): use callback to get glyph-name. * lily/grob-property.cc (get_interfaces): new function. * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces * lily/stem.cc (calc_stem_end_position): new function. (calc_length): new function. document details for stem. remove Stem::get_direction() * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback! * lily/grob-property.cc (set_callback): new function. * lily/script-engraver.cc (make_script_from_event): don't trigger callback. * lily/item-scheme.cc: new file. * lily/bar-line.cc (before_line_breaking): remove function. remove bar-size-procedure, break-glyph-function * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name * lily/clef.cc (before_line_breaking): change to calc_glyph_name. * lily/system-start-delimiter.cc (print): suicide from here. Remove after_line_breaking_callback. * lily/script-interface.cc (calc_direction): use callback for direction. * lily/side-position-interface.cc (aligned_side): don't use Side_position_interface::get_direction directly. Use callback. * lily/grob.cc (get_stencil): simplify: use callback mechanism to calculate stencil. (get_print_stencil): rename from get_stencil: create stencil with transparency, color and cause. * scm/define-grobs.scm: change print-function to stencil callback everywhere. * python/convertrules.py (conv): insert temporary warning rule. * lily/multi-measure-rest.cc (set_text_rods): use stencil directly. * lily/grob-property.cc (try_callback): remove marker if applicable. * lily/grob.cc: elucidate doc about after/before-line-breaking * lily/slur-scoring.cc (enumerate_attachments): robustness fix. * lily/stem.cc (height): idem. * lily/stem-tremolo.cc: idem. * lily/slur.cc (height): don't use get_uncached_stencil() * lily/rest.cc (y_offset_callback): use offset callback iso. after-line-breaking callback. * lily/grob.cc: change after/before-line-breaking-callback to after/before-line-breaking dummy properties. * lily/include/grob.hh: remove Grob_status. * scm/define-context-properties.scm (all-user-translation-properties): remove verticalAlignmentChildCallback * lily/tuplet-bracket.cc: use positions property iso. left,right-position. (calc_direction): use callback (calc_positions): use callback. * lily/tie.cc (calc_direction): use callback. Only call parent positioning for more than one tie. * lily/tie-column.cc (calc_positioning_done): use callback * lily/slur-scoring.cc (calc_control_points): use callback * lily/slur.cc (calc_direction): use callback. * lily/note-collision.cc (force_shift_callback): remove. * lily/dot-column.cc (force_shift_callback): remove. Use other_axis_parent_positioning. * lily/grob.cc (other_axis_parent_positioning): new function. (same_axis_parent_positioning): new function * lily/align-interface.cc (alignment_callback): remove function. * lily/note-collision.cc (calc_positioning_done): use callback. * lily/laissez-vibrer-tie.cc (calc_control_points): use callback. (calc_direction): idem. remove print function. * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback. * lily/dot-column.cc (calc_positioning_done): use callback. * lily/break-align-interface.cc (calc_positioning_done): use callback. * lily/beam.cc (calc_direction): use pseudo-property for beam direction callback. (calc_positions): use callback * lily/align-interface.cc (calc_positioning_done): use callback. Fold fixed distance and normal alignment in one function. * lily/stem.cc (calc_stem_end_position): use callback. (calc_positioning_done): idem. (calc_direction): idem. (calc_stem_end_position): idem (calc_stem_info): idem. * lily/grob-property.cc (get_property_data): new function: (try_callback): new function. * scm/define-grob-properties.scm (all-user-grob-properties): doc callbacks property. * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback. 2005-10-15 Han-Wen Nienhuys * lily/tie.cc (get_position): robustness fix. Don't crash if a tie has no heads. * lily/include/*.hh (Module): compile fixes. 2005-10-14 Heikki Junes * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil as an argument for char-syntax: use (char-syntax (or nil 0)) instead of (char-syntax nil), thanks to Milan Zamazal. 2005-10-14 Han-Wen Nienhuys * make/lilypond.fedora.spec.in (Group): add lilypond-internals to dist. * lily/tuplet-bracket.cc: check columns of bounds, not bounds themselves. 2005-10-12 Han-Wen Nienhuys * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR): add class_name() method. * lily/music-scheme.cc: remove ly:music-name. 2005-10-11 Jan Nieuwenhuizen * cygwin/postinstall-lilypond.sh: Remove cruft. * cygwin/postremove-lilypond.sh: Remove. * cygwin/GNUmakefile (default): Remove postremove rules. 2005-10-11 Han-Wen Nienhuys * ly/titling-init.ly (evenHeaderMarkup): use space in header on even header too. * scm/define-markup-commands.scm (wordwrap-string): bugfix for MacOS 9 users. * lily/hara-kiri-group-spanner.cc (consider_suicide): only consider break index for broken spanner. * scm/define-markup-commands.scm (wordwrap-string): remove \r characters from string before splitting. 2005-10-10 Han-Wen Nienhuys * scm/framework-ps.scm (output-preview-framework): use is-book-title to determine whether to chop off the booktitle. * lily/paper-book.cc (systems): init from book-title-properties (add_score_title): init score-title-properties. * ly/paper-defaults.ly: add {score,book}-title-properties. * scm/document-backend.scm (lookup-interface): error message if using unknown interface. * lily/volta-bracket.cc (after_line_breaking): new function. Set edge-height. * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from make_bracket. (make_bracket): new function. * scm/lily.scm (define-scheme-options): add paper-size option. * ly/declarations-init.ly (laissezVibrer): get paper size from -dpaper-size * scm/translation-functions.scm: use \fontsize for changing the fontsize. * scm/define-grobs.scm (all-grob-descriptions): set between-length-limit to 1.0 * lily/tie-helper.cc: add between_length_limit_ detail property. * mf/feta-bolletjes.mf: typos. * lily/note-head.cc (internal_print): don't shadow idx parameter. This fixes wrong attachment for do shape heads. 2005-10-09 Han-Wen Nienhuys * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm * scm/parser-clef.scm (supported-clefs): rename from clef.scm * scm/layout-slur.scm: rename from slur.scm * scm/layout-page-layout.scm: rename from page-layout.scm * scm/layout-beam.scm: rename from beam.scm * scm/define-grob-interfaces.scm (bass-figure-interface): add bass-figure-interface * lily/new-figured-bass-engraver.cc (process_music): add implicitBassFigures property. * scm/define-markup-commands.scm (pad-x): new markup. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set minimumVerticalExtent on FiguredBass context. * lily/figured-bass-continuation.cc (center_on_figures): kludge in case the continuation crosses a line break. 2005-10-09 Jan Nieuwenhuizen * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return unconverted value if cygwin_conv_to_posix_path () fails. Fixes absolute file name bug. 2005-10-07 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.12 * input/regression/figured-bass-continuation-center.ly: new file. * input/regression/beam-outside-beamlets.ly: new file. * lily/beam.cc (set_beaming): don't clip edges. (connect_beams): don't clip edges. * lily/beaming-info.cc (clip_edges): new function. * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file. * Documentation/user/instrument-notation.itely (Figured bass): demonstrate extenders, update seealso links. * scm/titling.scm (marked-up-headfoot): change tagline handling. tagline = ##f will blank the tagline as well. 2005-10-06 Han-Wen Nienhuys * Documentation/topdocs/NEWS.tely: add entry for Figured bass. * lily/new-figured-bass-engraver.cc (struct New_figured_bass_engraver): add new_music_found_ member. * lily/lilypond-version.cc (Lilypond_version): deal with incorrectly formatted version strings. * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on New_figured_bass_engraver by default. * lily/ttf.cc (print_trailer): only define glyph names when FT_Face has FT_FACE_FLAG_GLYPH_NAMES 2005-10-05 Han-Wen Nienhuys * lily/horizontal-bracket.cc (make_bracket): new function. * scm/define-grobs.scm (all-grob-descriptions): new grobs NewBassFigure, BassFigureBracket, BassFigureContinuation, BassFigureLine, BassFigureAlignment * lily/new-figured-bass-engraver.cc (process_music): new file. * lily/figured-bass-continuation.cc: new file. * lily/include/horizontal-bracket.hh (struct Horizontal_bracket): new file. 2005-10-04 Mats Bengtsson * scripts/lilypond-book.py: Bug fix, put the quote around the actual score for LaTeX documents. * scm/define-grobs.scm (all-grob-descriptions): Change collapse-height of the SystemStartBracket grob to 5.0, so the bracket disappears for single stave score lines (similarly to SystemStartBraces). * Documentation/user/advanced-notation.itely (Polymetric notation): Clarify the use of compressMusic. * Documentation/user/basic-notation.itely (Grace notes): Clarify that the grace spacer note in other staves need the same duration and document the stroke-style property. 2005-10-03 Han-Wen Nienhuys * Documentation/user/global.itely (Vertical spacing): document alignment-extra-space and fixed-alignment-extra-space. * Documentation/topdocs/NEWS.tely (Top): add entry. * input/regression/alignment-vertical-spacing.ly: new file. * python/convertrules.py (conv): add rule. * ly/music-functions-init.ly: rename outputProperty to overrideProperty * lily/align-interface.cc (stretch_after_break): new function. Read fixed-alignment-extra-space property. (align_elements_to_extents): read alignment-extra-space property. * lily/lily-guile.cc (robust_scm2dir): new function. * scm/page-layout.scm (page-headfoot): annotate headsep and footsep. (annotate-space-left): new function. Annotate space left on page. (annotate-y-interval): new function. (paper-system-annotate-last): new function. Annotate bottom-space. * mf/feta-beugel.mf (y): 2005-10-02 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.11 * scm/lily-library.scm (interval-translate): new function (interval-center): new function. * scm/page-layout.scm (paper-system-annotate): new function. Add arrows for dimensions. * scm/stencil.scm (dimension-arrows): new function. * Documentation/user/global.itely (Vertical spacing): mention annotatespacing * input/regression/page-spacing.ly: add annotatespacing * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil} (LY_DEFINE): new function ly:paper-system-set-property! * Documentation/user/global.itely (Paper size): explain how to add sizes. * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to correspond to GS's definition. * lily/tuplet-bracket.cc (after_line_breaking): suicide empty tuplet bracket. (print): only connect to next bracket if the next one is alive. (print): set padding to 0.0 if the bound is a breakable column. This makes tupletFullLength brackets reach up to the staff line if it doesn't connect to the next line. 2005-09-30 Han-Wen Nienhuys * lily/bar-number-engraver.cc: correct docs. * scm/output-lib.scm (first-bar-number-invisible): rename from default-bar-number-visibility 2005-09-28 Han-Wen Nienhuys * scm/define-music-properties.scm (all-music-properties): remove predicate property. 2005-09-28 Heikki Junes * po/fi.po: refresh. 2005-09-27 Han-Wen Nienhuys * input/regression/hara-kiri-pianostaff.ly (disappear): remove superfluous s1. (disappear): bugfix. * lily/stem-tremolo.cc (raw_stencil): read slope property. * lily/include/paper-system.hh (class Paper_system): remove staff_extents_ member. * lily/paper-system-scheme.cc (LY_DEFINE): remove. * lily/include/paper-system.hh (class Paper_system): remove number_ variable. Remove is_title_. Remove break_before_penalty_ * lily/paper-book.cc (systems): use 'number property iso. number_ member. * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty remove ly:paper-system-number. * scm/lily-library.scm (paper-system-title?): new function. * lily/book.cc (process): bugfix: flip ?: cases. * Documentation/user/changing-defaults.itely (Difficult tweaks): add outputProperty. * ly/music-functions-init.ly: add outputProperty music function. * scm/paper.scm (set-paper-dimension-variables): add pagetopspace * scm/page-layout.scm (ly:optimal-page-breaks): read next-space and next-padding. (optimal-page-breaks): rename from ly:optimal-page-breaks. * lily/paper-system-scheme.cc (LY_DEFINE): new function. * lily/paper-system.cc (internal_get_property): new function. * Documentation/user/global.itely (Vertical spacing): refer to page-spacing.ly * scm/page-layout.scm (ly:optimal-page-breaks): add support for pagetopspace * input/regression/page-spacing.ly: new file. * input/regression/page-top-space.ly: new file. * lily/spacing-spanner.cc: cmath -> math.h * lily/paper-system.cc (read_left_bound): new function. Read line-break-system-details from left bound to determine extents. * Documentation/user/programming-interface.itely (Using LilyPond syntax inside Scheme): change applyxxx -> applyXxx. * ly/music-functions-init.ly: add outputProperty music function. * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature. * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name. * python/convertrules.py (conv): rule * ly/music-functions-init.ly: applyxxx -> applyXxx * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias TabVoice to Voice. 2005-09-26 Han-Wen Nienhuys * flower/include/real.hh: include iso. * flower/include/offset.hh: include real.hh 2005-09-20 Han-Wen Nienhuys * Documentation/user/changing-defaults.itely (Difficult tweaks): fix example, now that 'interfaces is no longer directly available. * lily/book.cc (process): don't crash if paper == NULL. * po/fr.po: update. 2005-09-17 Han-Wen Nienhuys * scm/define-music-types.scm (music-descriptions): set length and start-callback for QuoteMusic 2005-09-15 Mats Bengtsson * lily/tie.cc (get_configuration): Replace fabs -> abs for integer arguments. Fixes compilation error with gcc 3.3. 2005-09-13 Han-Wen Nienhuys * VERSION: release 2.7.10 * stepmake/stepmake/python-module-rules.make ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end. * lily/*.cc: remove everywhere. is included from real.hh 2005-09-12 Han-Wen Nienhuys * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add -Werror. Otherwise GCC barfs over various optimizations. * scm/define-grob-properties.scm (all-internal-grob-properties): add note-head property * Documentation/user/instrument-notation.itely (Laissez vibrer ties): new node. * input/regression/laissez-vibrer-ties.ly: new file. * lily/laissez-vibrer-engraver.cc: new file. * lily/include/tie-column-format.hh: new file. * lily/tie-column-format.cc: new file. * lily/tie-column.cc (set_manual_tie_configuration): new function. * lily/laissez-vibrer-tie.cc: new file. * lily/include/laissez-vibrer-tie.hh: new file. * ly/engraver-init.ly: add Laissez_vibrer_engraver * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer * scm/define-grobs.scm (all-grob-descriptions): add LaissezVibrerTie, LaissezVibrerTieColumn * lily/tie-column.cc (set_tie_config_directions): new function (final_shape_adjustment): new function. (shift_small_ties): new function. * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent * lily/include/tie.hh (struct Tie_details): add x_gap_ (struct Tie_configuration): add head_position_ * lily/tie-column.cc (set_chord_outline): new function. * mf/cmr.enc.in: remove file. 2005-09-11 Graham Percival * Documentation/user/examples.itely: typo fix. Thanks, Matevž 2005-09-11 Han-Wen Nienhuys * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to reduce aliasing effects. * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete box in skyline. 2005-09-08 Han-Wen Nienhuys * lily/tie.cc (get_configuration): don't crash if left_dot is NULL. * flower/include/real.hh: std::fabs too. 2005-09-08 Jan Nieuwenhuizen * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner). * lily, flower: Include C++ iso C headers. Import namespace std throughout. * lily/side-position-interface.cc: * lily/scm-hash.cc: * lily/note-head.cc: * lily/include/includable-lexer.hh: * flower/include/string-data.icc: Remove using std::*. * lily, flower: Include C++ iso C headers. Import namespace std throughout. * lily/side-position-interface.cc: * lily/scm-hash.cc: * lily/note-head.cc: * lily/include/includable-lexer.hh: * flower/include/string-data.icc: Remove using std::*. * Documentation/user/instrument-notation.itely (Entering lyrics): Multiple latin-1->utf-8 conversion fix. * Documentation/user/*tely: Update Emacs cookie to utf-8. 2005-09-08 Han-Wen Nienhuys * lily/tie.cc (get_configuration): also avoid dots for non-space situations. 2005-09-07 Jan Nieuwenhuizen * Documentation/user/instrument-notation.itely: Bugfix. 2005-09-06 Han-Wen Nienhuys * tex/GNUmakefile: don't install texinfo.tex * tex/ : cleanup: remove unused files. * lily/general-scheme.cc: remove my_{isinf,isnan}. * flower/include/real.hh: using std::{isnan,isinf} * VERSION (PATCH_LEVEL): release 2.7.9 2005-09-05 Graham Percival * Documentation/user/ instrument-notation.itely, advanced-notation.itely: minor tweaks. * input/test/script-chart.ly: add item padding. 2005-09-05 Han-Wen Nienhuys * flower/offset.cc: use math.h iso. * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake of IE users. * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup. (widen-left-stencil-edges): new function. Fix alignment problems with LaTeX includegraphics. * lily/text-interface.cc (interpret_markup): use abort(). 2005-09-04 Han-Wen Nienhuys * input/regression/tie-chord.ly (testLong): add a chord in 4ths * lily/tie.cc (get_configuration): update bezier shape as we change Y positions. (get_configuration): don't move large ties if we're outside of the staff. 2005-09-01 Han-Wen Nienhuys * scm/define-markup-commands.scm (strut): swap X and Y dims. 2005-09-03 Jan Nieuwenhuizen * .cvsignore: Add auto-generated configure files and then some. 2005-09-02 Jan Nieuwenhuizen * scm/define-grobs.scm (DynamicLineSpanner): Add X-extent-callback. Fixes hairpin-slur collision. 2005-08-31 Graham Percival * Documentation/user/advanced-notation.itely, basic-notation.itely: minor changes. 2005-08-31 Mats Bengtsson * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a \linebreak between each .eps file if \betweenLilyPondSystem is undefined. * Documentation/user/lilypond-book.itely (Integrating LaTeX and music): Document the \linebreak * Documentation/user/lilypond-book.itely, input/tutorial/lbook-latex-test.tex, Documentation/user/examples.itely: Remove \usepackage{graphics} 2005-08-31 Han-Wen Nienhuys * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu. * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier compat bugfix. * scripts/lilypond-book.py (PREAMBLE_LY): define inside-lilypond-book (modify_preamble): new function. Insert \RequirePackage{graphics} when no {graphics found in preamble. 2005-08030 Graham Percival * Documentation/user/basic-notation.itely, global.itely, tutorial.itely: misc small changes. 2005-08-30 Jan Nieuwenhuizen * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's VERSION. 2005-08-30 Han-Wen Nienhuys * lily/tie-column.cc (new_directions): put Tie down on center staff line. * lily/script-interface.cc (before_line_breaking): use Grob::programming_error * scm/ps-to-png.scm (make-ps-images): use pngalpha device. * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0] of splitext. 2005-08-29 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): VERSION release 2.7.8 2005-08-29 Werner Lemberg * mf/GNUmakefile: Add `-f' flag to `rm' command while removing the `*.scale.pfa' files to avoid warnings. 2005-08-29 Han-Wen Nienhuys * lily/tempo-performer.cc (process_music): idem. * lily/midi-def.cc (get_tempo): Rational to int conversion bug. 2005-08-27 Han-Wen Nienhuys * Documentation/user/advanced-notation.itely (Text markup): not a fragment. * lily/midi-item.cc (to_string): use to_int() iso. int cast. * lily/staff-performer.cc (initialize): add tempo/name to audio_staff_ 2005-08-26 Graham Percival * Documentation/user/advanced.itely: add text-only example. * Documentation/user/invoking.itely: add index entries for convert-ly. * Documentation/user/ tutorial.itely, basic-notation.itely: small fixes suggested by Steve D. Thanks! 2005-08-26 Han-Wen Nienhuys * input/regression/markup-bidi-pango.ly: new file. * lily/pango-font.cc (pango_item_string_stencil): make Mingw code standard. Remove #ifdef. Remove memleak. (text_stencil): use text_dir to decide how to composite items. (text_stencil): determine uniform text direction for the entire string. * scripts/lilypond-book.py (output_name): remove latex_filter_cmd. Non-portable to non-Unix systems. (get_latex_textwidth): use File.write and os.unlink() instead. * THANKS: add Vicente & Trevor. * lily/grob.cc (discretionary_processing): look up origin for programming_error too. * input/regression/tie-broken.ly: new file. * lily/tie-column.cc (set_chord_outlines): set outline for line break case too. 2005-08-25 Han-Wen Nienhuys * lily/pango-font.cc (text_stencil): don't translate glyphs in unscaled transform, just translate stencils. * ly/performer-init.ly: init timing to #t. Fixes bar checks in MIDI. * scm/define-markup-commands.scm (wordwrap-string): use text-direction (wordwrap-stencils): idem. (line): idem. (fill-line): idem. (wordwrap-stencils): translate last line to right for text-direction = LEFT. * scm/define-grob-properties.scm (all-user-grob-properties): add text-direction. 2005-08-25 Nicolas Sceaux * lily/lily-parser.cc (Lily_parser): also copy output_basename_ when copying a Lily_parser object. 2005-08-25 Han-Wen Nienhuys * scm/define-markup-commands.scm (null): add null markup. 2005-08-25 Mats Bengtsson * lily/item.cc: Add documentation of center-invisible 2005-08-24 Graham Percival * Documentation/user/advanced-notation.itely: add info about raising text. * Documentation/user/programming-interface.itely: fix example involving raised text. 2005-08-24 Han-Wen Nienhuys * lily/beam.cc (print): fix X start/end points of isolated beamlets. * scm/output-ps.scm (grob-cause): escape spaces in URLs. * lily/multi-measure-rest.cc (set_text_rods): new function. * lily/vertical-align-engraver.cc (process_music): call Align_interface::set_axis(). This forces #'elements to be ordered, preventing random vertical reordering of staves. * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface): add avoid-slur property. * Documentation/user/basic-notation.itely (Measure repeats): add countPercentRepeats example. * Documentation/user/advanced-notation.itely (Other text markup issues): remove remark about normal-font. We have \normal-text * input/regression/tie-chord.ly: add note about remaining bugs. * lily/tie.cc (print): try Tie_column::set_directions () if control-points not yet defined. 2005-08-23 Han-Wen Nienhuys * lily/system-start-delimiter.cc (staff_brace): don't remove brace extent. This fixes braces falling out of the EPS bbox. * mf/feta-beugel.mf (braces_per_font): make brace glyph align exactly to bbox. 2005-08-23 Graham Percival * {various} : change #up->#UP and #down->#DOWN. * ly/titling-init.ly: Spacing fix when using printallheaders=##t. * Documentation/user/advanced-notation.itely: clarify what objects handles text on a multimeasure rest. 2005-08-23 Han-Wen Nienhuys * VERSION (PATCH_LEVEL): release 2.7.7 2005-08-22 Han-Wen Nienhuys * make/lilypond-vars.make: set -dgs-font-load for "make web" * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement. * input/regression/*.ly: formatting clean-up. Default layout before music expression. * input/mutopia/R.Schumann/GNUmakefile (examples): switch off romanze28-2 example. * scm/ps-to-png.scm: remove dir-re function. (make-ps-images): generate page names, instead of globbing them. This brings down LilyPond memory usage for make web by a factor 10. * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated): don't use glob. With 3000 files, globbing Documentation/user/out-www/ can take too much time. * lily/lily-guile.cc (gulp_file_to_string): take size argument. * lily/general-scheme.cc (LY_DEFINE): take optional size argument. * input/regression/tie-manual.ly: new file * input/regression/tie-chord.ly: update. * flower/include/interval.hh (struct Interval_t): * lily/tie.cc (distance): new function (height): new function. (init): new function (Tie_details): new struct. * lily/skyline.cc (skyline_height): new function. * lily/tie-column.cc (set_chord_outlines): new function. (new_directions): read tie-configuration * lily/skyline.cc: fix ASCII art. 2005-08-22 Mats Bengtsson * python/convertrules.py (string_or_scheme): Fix spelling error 2005-08-22 Han-Wen Nienhuys * lily/tie-column.cc (set_directions): set directions only once. (add_configuration): new function. * lily/tie.cc (set_control_points): new function * lily/tie-column.cc (new_directions): new function. * ly/music-functions-init.ly: set 'pitch property iso. trill-pitch. This makes \relative work with \pitchedTrill * lily/tie.cc (get_configuration): new function. Don't generate control points, rather, generate configuration. remove head-pair property. * lily/include/tie.hh (struct Tie_configuration): new struct. 2005-08-22 Heikki Junes * Documentation/topdocs/NEWS.tely: clarify. 2005-08-21 Han-Wen Nienhuys * lily/tie.cc: remove minimum-length * scm/define-grob-properties.scm (all-user-grob-properties): remove staffline-clearance, y-offset * input/regression/tie-dots.ly (Module): remove. * lily/tie.cc (get_control_points): rewrite. Put short ties in staff-spaces, make long ties cross staff lines. Avoid flags and dots. * input/regression/tie-single.ly: new file. 2005-08-21 Graham Percival * ly/bagpipe.ly: fix compile problem. 2005-08-21 Han-Wen Nienhuys * lily/midi-item.cc (name): new method. * lily/staff-performer.cc (acknowledge_audio_element): use signature of baseclass. * lily/engraver-group.cc (do_announces): move recursion call out of while loop. * lily/drum-note-performer.cc (class Drum_note_performer): use process_music everywhere. * ly/performer-init.ly: add default children everywhere. * lily/paper-book.cc (output): call paper-book-write-midis directly: always write MIDI, even if no \layout {} block. 2005-08-19 Han-Wen Nienhuys * VERSION (PACKAGE_NAME): release 2.7.6 * lily/percent-repeat-engraver.cc (try_music): don't print warning about not being able to handle repeat. 2005-08-19 Jan Nieuwenhuizen * Documentation/user/examples.itely (Piano templates): * lily/include/performer-group.hh: Remove last traces of Performer_group_performer. Fixes make web. 2005-08-19 Han-Wen Nienhuys * Documentation/user/examples.itely (Piano templates): change Engraver_group_engraver -> Engraver_group * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if scm_stand_in_procs is not weak_any. * lily/volta-bracket.cc (print): don't use strcmp(). * lily/volta-engraver.cc (process_music): use Text_interface::is_markup() for setting the 'text property of the volta bracket. * input/mutopia/claop.py (accents): update syntax to 2.6 * scm/define-context-properties.scm (all-user-translation-properties): add countPercentRepeats. * Documentation/user/basic-notation.itely (Measure repeats): add isolated percent example. 2005-08-18 Graham Percival * input/ {various}: change direction #1, #-1 to #up/#down or \fooUp, \fooDown. * Documentation/user/music-glossary.tely: #-1 to #down. * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1 to #up, #-1 to #down. 2005-08-18 Han-Wen Nienhuys * lily/include/engraver-group.hh: rename. * lily/include/performer-group.hh: rename. 2005-08-18 Mats Bengtsson * input/test/script-abbreviations.ly: Removed some old LaTeX left overs. 2005-08-18 Jan Nieuwenhuizen * python/convertrules.py (conv): inside-slur -> avoid-slur. Remove functions. Remove if 1: constructs, reindent. * scripts/convert-ly.py (add_version): Add functions from convertrules.py * scm/script.scm (default-script-alist): s/priority/script-priority. Fixes script stacking. Backportme. (Fermata): Very low priority. 2005-08-18 Han-Wen Nienhuys * input/regression/*.ly: remove superfluous \score blocks. Reindent. * input/regression/slur-script.ly: remove padding tweaks. Add comment strings. * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide time sigs and related stuff. * scm/define-grob-properties.scm (all-user-grob-properties): add @c