]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
* flower/include/guile-compatibility.hh (SCM_I_CONSP): add
[lilypond.git] / ChangeLog
index d081ba64b31963a0760f3705f4d40a6963a7f08e..279501be59a91ea2f3fa0cbac4874c365acb8314 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,273 @@
+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.