]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
(calc_position_and_height): robustness:
[lilypond.git] / ChangeLog
index 66a2ce59fc36d1347008f4289a737cdcaba54a06..e067bd281df19eb77af04b4bcdb8e7e59ecc335e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
+       detect suicide in nested tuplets.
+
+2006-10-23  Werner Lemberg  <wl@gnu.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * stepmake/stepmake/po-vars.make: more gitness.
+
+       * flower/polynomial.cc (check_sol): no empty if bodies. 
+
+2006-10-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * stepmake/stepmake/po-vars.make: test change for GIT gateway.
+
+2006-10-22  Jürgen Reuter  <reuter@ipd.uka.de>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <john.mandereau@free.fr>
+
+       * po/fr.po: update translation.
+
+2006-10-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <joeneeman@gmail.com>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <joeneeman@gmail.com>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <lilypondtool@organum.hu>
+
+       * scripts/lilypond-book.py: DocBook support.
+
+2006-10-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <hjunes@gmail.com>
+
+       * po/fi.po: Update Finnish translation (before the next release).
+
+2006-10-17  Joe Neeman  <joeneeman@gmail.com>
+
+       * lily/system.cc (get_paper_system): reinstate the backwards-
+       compatible page breaking for the old page breaker.
+
+2006-10-17  Erik Sandberg  <mandolaerik@gmail.com>
+       
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <mandolaerik@gmail.com>
+
+       * lily/parser.yy: remove debug output
+
+2006-10-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <mandolaerik@gmail.com>
+
+       * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
+       macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
+       
+2006-10-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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<char> 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  <reuter@ipd.uka.de>
+
+       * 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  <hanwen@lilypond.org>
+
+       * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
+
+       * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
+
+2006-10-13  Erlend Aasland  <erlenda@gmail.com>
+
+       * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
+
+2006-10-13  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <mandolaerik@gmail.com>
+
+       * 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  <janneke@gnu.org>
+
+       * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
+
+2006-10-12  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <reuter@ipd.uka.de>
+
+       * 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  <gpermus@gmail.com>
+
+       * Documentation/user/ {some}: minor edits that were lost somehow.
+
+2006-10-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <reuter@ipd.uka.de>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <joeneeman@gmail.com>
+
+       * 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  <reuter@ipd.uka.de>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <reuter@ipd.uka.de>
+
+       * 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  <gpermus@gmail.com>
+
+       * 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  <john.mandereau@free.fr>
+
+       * po/fr.po: update translation.
+
+       * po/: update msgids.
+
+2006-10-08  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
+
+2006-10-08  Nicolas Sceaux  <nicolas.sceaux@free.fr>
+
+       * Documentation/user/page.itely (Two-pass vertical spacing): add
+       documentation for two-pass spacing technique.
+
+2006-10-06  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/user/convert-ly.txt: new file; new
+       storage place for this file (moved from bugs/ CVS).
+
+2006-10-06  Jürgen Reuter  <reuter@ipd.uka.de>
+
+       * lily/note-head.cc: Fixed programming_error message.
+
+2006-10-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <gpermus@gmail.com>
+
+       * Documentation/user/advanced-notation.itely: added
+       info about instrument names for piano or other contexts,
+       thanks Marcus!
+
+2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <mabe@drongo.s3.kth.se>
+
+       * python/lilylib.py (progress): Minor fix.
+
+2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <mabe@drongo.s3.kth.se>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * scm/define-grob-properties.scm (all-user-grob-properties):
+       mention stencil as user settable.
+
+2006-10-02  Joe Neeman  <joeneeman@gmail.com>
+
+       * 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  <mandolaerik@gmail.com>
+       
+       * 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  <hjunes@gmail.com>
+
+       * po/fi.po: Fix spaces, commas etc. in Finnish translation using
+       KBabel fix tool.
+
+2006-10-01  Nicolas Sceaux  <nicolas.sceaux@free.fr>
+
+       * 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  <joeneeman@gmail.com>
+
+       * 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 <lconrad@laymusic.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <joeneeman@gmail.com>
+
+       * 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  <joeneeman@gmail.com>
+
+       * lily/page-breaking.cc (make_pages): honour the first-page-number
+       property
+
+2006-09-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * VERSION (PACKAGE_NAME): bump version.
+
+2006-09-26  Pal Benko  <benko.pal@gmail.com>
+
+       * 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  <mandolaerik@gmail.com>
+       
+       * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
+
+2006-09-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <joeneeman@gmail.com>
+
+       * 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  <gpermus@gmail.com>
+
+       * Documentation/user/programming-iterfaces.itely: fix
+       def-music-function -> define-music... leftover.
+
+2006-09-23  Joe Neeman  <joeneeman@gmail.com>
+
+       * lily/page-spacing.cc (min_page_count): by running the loop
+       backwards, we can calculate ragged_last properly.
+
+2006-09-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * 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  <mandolaerik@gmail.com>
+
+       * 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  <gpermus@gmail.com>
+
+       * Documentation/user/tweaks.itely (Fitting music onto fewer
+       pages): change settings to avoid warning messages.
+
+2006-09-21  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * Documentation/user/tweaks.itely (Fitting music onto fewer
+       pages): Add between-system-space setting. 
+
+2006-09-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * 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  <joeneeman@gmail.com>
+
+       * 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  <hanwen@lilypond.org>
+
+       * 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  <hanwen@lilypond.org>
 
+       * 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.  Backportme.
+       scheme lists.  
 
 2006-09-18  Graham Percival  <gpermus@gmail.com>
 
 2006-09-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
 
        * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
-       use spanner::set-spacing-ronds
+       use spanner::set-spacing-rods
 
        * lily/note-column.cc: reformat.
 
  
        * lily/grob.cc (get_print_stencil): use retval.expr() as base for
        color, not the original stencil. Fixes combinations of
-       color/transparency/rotation. Backportme.
+       color/transparency/rotation. 
 
        * scripts/lilypond-book.py (main): add --formats=eps for
        texinfo/latex.
        (get_line_configuration): don't use cols.resize(); it introduces
        initialized data.
 
-       * scm/framework-ps.scm (dump-page): add setstrokeadjust. Backportme.
+       * scm/framework-ps.scm (dump-page): add setstrokeadjust. 
 
        * ps/music-drawing-routines.ps: remove selectfont L1 hack.