+2005-07-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * flower/include/guile-compatibility.hh (SCM_I_CONSP): add
+ SCM_I_CONSP
+
+ * Documentation/user/invoking.itely (Invoking lilypond): add
+ LILYPOND_GC_YIELD documentation.
+
+ * lily/*: cleanups: use scm_from_int iso. scm_int2num. Idem for
+ scm_from_real / scm_make_real.
+
+ * lily/main.cc (setup_guile_env): new function. Set GC min_yields
+ higher. This increases memory footprint, but provides overall
+ speedup of 15 to 20%.
+
+ * lily/include/translator.hh (class Translator): remove
+ PRECOMPUTED_VIRTUAL everywhere.
+
+ * lily/include/lily-guile.hh: inline scm_c[ad]r, scm_is_pair.
+
+ * lily/context.cc (now_mom): non-recursive now_mom()
+
+ * lily/include/profile.hh: new file.
+
+ * lily/profile.cc: new file.
+
+ * lily/grob.cc (Grob): look properties up directly.
+
+ * lily/open-type-font.cc (get_indexed_char): cache index -> bbox
+ lookups.
+
+ * lily/include/box.hh (class Box): smob Box type.
+
+ * lily/smobs.cc (protect_smob): O(1) GC (un)protection.
+
+ * lily/include/smobs.hh (DECLARE_BASE_SMOBS): add methods
+ protect() and unprotect(). Use throughout.
+
+2005-07-24 Nicolas Sceaux <nicolas.sceaux@free.fr>
+
+ * Documentation/topdocs/NEWS.tely: new item for \displayLilyMusic
+
+ * scm/define-music-display-methods.scm (markup->lily-string):
+ markup elements can also be strings (without simple-markup
+ appended)
+
+2005-07-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/context.cc (where_defined): also assign value in
+ where_defined().
+
+ * lily/bezier.cc (get_other_coordinate): use curve_coordinate
+ (curve_coordinate): new function
+
+ * lily/simple-spacer.cc (add_columns): only add rods between
+ column i and begin/end if keep-inside-line is set (this repleces
+ allow-outside-line as default)
+
+2005-07-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/tuplet-engraver.cc (start_translation_timestep): only read
+ tupletSpannerDuration if applicable.
+
+ * lily/font-size-engraver.cc (process_music): read fontSize only
+ once per timestep.
+
+ * lily/engraver*cc: use throughout.
+
+ * lily/include/translator.icc (ADD_ACKNOWLEDGER): new macro.
+
+ * lily/translator.cc (add_acknowledger): new file. Directly jump
+ into an Engraver::acknowledge_xxx () method based on a grobs
+ interface-list.
+
+ * lily/include/translator-dispatch-list.hh (class
+ Engraver_dispatch_list): new struct, new file.
+
+ * scm/define-context-properties.scm
+ (all-internal-translation-properties): remove acceptHashTable,
+ acknowledgeHashTable
+
+ * lily/translator-group.cc (mark_smob): idem for acceptHashTable.
+
+ * lily/engraver-group-engraver.cc (Engraver_group_engraver):
+ change acknowledgeHashTable to C++ member.
+
+ * lily/rest-collision.cc (do_shift): use extract_grob_set().
+
+2005-07-22 Nicolas Sceaux <nicolas.sceaux@free.fr>
+
+ * scm/display-lily.scm: new file. Define a `display-lily-music'
+ function, that displays the music expression given as an argument,
+ using LilyPond notation.
+
+ * scm/define-music-display-methods.scm: new file. Implementation
+ of display methods for each music type.
+
+ * ly/music-functions-init.ly (displayLilyMusic): new function for
+ displaying music with LilyPond notation.
+
+ * input/regression/display-lily-tests.ly: new regression test file
+ for `display-lily-music'.
+
+ * scm/markup.scm: remove obsolete debugging code (for printing
+ markups with LilyPond notation).
+
+ * scm/define-music-types.scm (music-name-to-property-table):
+ * scm/clef.scm (supported-clefs): export, in order to be accessible
+ from the (scm display-lily) module.
+
+2005-07-22 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/topdocs/NEWS.tely (Top): Typo.
+
+2005-07-22 Heikki Junes <hjunes@cc.hut.fi>
+
+ * Documentation/index.html.in, Documentation/texinfo.css,
+ stepmake/bin/text2html.py, buildscripts/mutopia-index.py,
+ Documentation/bibliography/index.html.in,
+ Documentation/bibliography/html-long.bst: revert css-width patch,
+ it does not work with IE6.
+
+2005-07-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * Documentation/texinfo.css: revert 760px hack.
+
+ * VERSION: release 2.7.2
+
+ * Documentation/topdocs/NEWS.tely (Top): mention barNumberCheck
+
+ * Documentation/user/basic-notation.itely (Barnumber check): add
+ section.
+
+ * scm/music-functions.scm (skip-to-last): new function. Show only
+ last showLastLength part of the \score.
+
+ * lily/moment-scheme.cc (LY_DEFINE): new function ly:moment-sub
+
+ * python/convertrules.py (conv): add ly:x-moment rule
+
+ * lily/moment-scheme.cc (LY_DEFINE): rename ly:X-moment -> ly:moment-X
+
+ * Documentation/topdocs/NEWS.tely (Top): add new feature.
+
+ * Documentation/user/instrument-notation.itely (Flexibility in
+ alignment): options in subsections.
+
+ * lily/lyric-engraver.cc (process_music): don't typeset text for _
+ syllable text. Instead, assume that the previous lyric text is a
+ melismated text.
+
+ * Documentation/index.html.in: revert 800x600 change.
+
+2005-07-19 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/main.cc (main): Remove invalid handle kludge.
+
+ * scm/lily.scm (running-from-gui?): WINDOWS: check -dgui.
+ (lambda): add gui define.
+
+2005-07-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * Documentation/topdocs/NEWS.tely (Top): add note about Musica ficta.
+
+ * Documentation/user/instrument-notation.itely (Musica ficta
+ accidentals): add section Musica ficta accidentals
+
+ * lily/accidental-engraver.cc (make_suggested_accidental): new
+ function.
+ (make_standard_accidental): move into new function.
+ (create_accidental): new function.
+
+ * scm/define-grobs.scm (all-grob-descriptions): new Grob
+ AccidentalSuggestion
+
+ * lily/output-def-scheme.cc (LY_DEFINE): take default argument.
+
+ * lily/output-def.cc (lookup_variable): return SCM_UNDEFINED if
+ undefined.
+
+ * Documentation/user/global.itely (Page formatting): document
+ horizontalshift.
+
+ * scm/page-layout.scm (default-page-music-height):
+ horizontalshift: new variable, shift all systems by
+ horizontalshift to the right, to make space for instrument names.
+
+ * scm/paper.scm (set-paper-dimension-variables): add horizontalshift
+
+ * lily/input-scheme.cc (LY_DEFINE): take format commands.
+
+2005-07-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/note-column.cc (dir): idem.
+
+ * lily/spacing-spanner.cc (Module): idem.
+
+ * lily/script-column.cc (before_line_breaking): use extract_grob_set()
+
+ * lily/include/paper-column.hh (class Paper_column): add
+ non-static get_rank() member.
+
+ * VERSION: release 2.7.1
+
+ * scm/framework-null.scm: new file, used for benchmarking.
+
+2005-07-20 Heikki Junes <hjunes@cc.hut.fi>
+
+ * Documentation/topdocs/INSTALL.texi, configure.in: fix
+ version dependencies for fontforge and gs.
+
+ * Documentation/index.html.in, Documentation/texinfo.css,
+ stepmake/bin/text2html.py, buildscripts/mutopia-index.py,
+ Documentation/bibliography/index.html.in,
+ Documentation/bibliography/html-long.bst: optimize width of
+ html for a 800x600 screen (width:760), increases printability
+ when 'fit to page' is not set and readability in wide screens.
+
+ * stepmake/bin/add-html-footer.py: add missing </p>.
+
2005-07-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * scm/define-markup-commands.scm (beam): use polygon in beam
+ command.
+
+ * lily/grob-pq-engraver.cc (stop_translation_timestep): save up
+ all acknowledged grobs, and do potentially expensive merge and
+ write in one go.
+
+ * buildscripts/mf-to-table.py (write_fontlist): enforce noBreak.
+
+ * configure.in (reloc_b): add --enable-static-gxx to statically
+ link to libstdc++
+
+ * lily/GNUmakefile (static-gxx-libs): new target
+ static-gxx-libs. Create symlink to libstdc++.a
+
+ * lily/new-lyric-combine-music-iterator.cc: rename to
+ Lyric_combine_music_iterator
+
+ * lily/lyric-combine-music-iterator.cc
+ (Old_lyric_combine_music_iterator): rename to
+ Old_lyric_combine_music_iterator
+
+ * lily/*-engraver.cc (various): remove double use of
+ PRECOMPUTED_VIRTUAL function: only use
+ start_translation_timestep() and stop_translation_timestep(), not
+ both.
+
+ * lily/break-substitution.cc (fast_substitute_grob_array): do
+ fast_substitute_grob_array for all unordered grob_arrays.
+ (substitute_grob): return Grob *. Saves packing/unpacking SCMs.
+ (substitute_grob_array): optimize.
+
+ * lily/align-interface.cc (set_axis): set ordered_ for 'elements
+
+ * lily/include/grob-array.hh (class Grob_array): ordered_ member.
+
+ * lily/parser.yy: revert $globalheader patch.
+
+ * lily/include/translator.icc
+ (IMPLEMENT_FETCH_PRECOMPUTABLE_METHODS): directly jump into
+ Translator methods, without _static helper.
+
+ * lily/grob-smob.cc (derived_mark): rename from
+ do_derived_mark(). Return void.
+
+ * scm/define-context-properties.scm
+ (all-internal-translation-properties): remove tweakCount/tweakRank.
+
* scm/output-lib.scm (begin-of-line-invisible): use vectors for
predefined break-visibilities.
recurse_down_engravers ()
* lily/note-head.cc (internal_print): only call
- glyph-name-procedure if style != default. 3 % speed increase (wtk2-fugue1).
+ glyph-name-procedure if style != default.
2005-07-16 Graham Percival <gperlist@shaw.ca>
2005-07-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
* lily/system.cc (do_derived_mark): don't mark from object_alist_
- anymore, but do it centrally. Speedup: approximately 3-5 %.
+ anymore, but do it centrally.
* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
hammer hack.