]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
* input/regression/slur-script.ly: Add example of reverting
[lilypond.git] / ChangeLog
index 396aa31208222a94498676549561f0d4cad6aa1f..a3fa9961b97bf49a183d703a594758310909320a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,937 @@
+2005-08-15  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * input/regression/slur-script.ly: Add example of reverting
+       inside-slur for fingering.
+
+       * scm/define-grobs.scm (DynamicLineSpanner, Fingering,
+       TextScript): Explicitly set inside-slur #f, forcing these out of slur.
+
+       * lily/slur-engraver.cc (acknowledge_extra_object): Only invoke
+       outside_slur_callback if inside-slur == #f (as opposed to unset).
+
+2005-08-14  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * tex/GNUmakefile (INSTALLATION_FILES): Remove enc symlink setup,
+       encoding files are already removed.
+
+2005-08-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * Documentation/user/advanced-notation.itely (Instrument names):
+       Document a workaround for instrument names that collide with
+       system start braces/brackets.
+
+2005-08-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * lily/rest-collision.cc (do_shift): spello.
+
+       * input/proportional.ly: use #'used property. Set break-overshoot property.
+
+       * mf/feta-arrow.mf: center on arrow tip center, iso. tip edge.
+
+       * lily/paper-column.cc: add #'used property
+
+       * lily/mark-engraver.cc (stop_translation_timestep): set grob
+       array for staves found.
+
+       * lily/metronome-engraver.cc (stop_translation_timestep): set grob
+       array for stavesFound.
+
+       * lily/staff-spacing.cc (next_note_correction): add fixed and
+       space to calling convention. This fixes spacing of accidentals
+       after barlines.
+
+       * input/regression/spacing-accidental-stretch.ly: add barline -
+       accidental case.
+
+       * scm/framework-ps.scm (page-header): add version number to
+       creator
+       (eps-header): idem.
+
+       * mf/feta-bolletjes.mf: swap d0 and u0 fa heads.
+       
+2005-08-13  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/user/global.itely: add "fit as much as
+       possible onto this page" example (Vertical spacing).
+
+2005-08-13  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * *: Nitpick run.
+
+       * buildscripts/fixcc.py: Fixes.
+
+2005-08-12  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/user/advanced-notation.itely: add markup
+       example to Text spanners.
+
+2005-08-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * Documentation/user/basic-notation.itely (Ties): Add example of
+       tying a tremolo to a chord. Thanks to Steve Doonan. 
+
+       * lily/tie-engraver.cc: Add tieWaitForNote to the list of read
+       properties and move tieMelismaBusy to the list of written
+       properties. 
+
+2005-08-12  Heikki Junes  <hjunes@cc.hut.fi>
+
+       * po/TODO: suggest to use a dedicated tool like kbabel.
+
+       * po/fi.po: update using kbabel.
+
+2005-08-12  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * *: Remove obsolete files.  Nitpick run.
+
+       * lily/lily-guile.cc (parse_symbol_list): Bugfix.
+
+2005-08-11  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * mf/GNUmakefile (get-*-fonts): Rename from get-*-pfa.  Copy SVG
+       too.
+
+       * Documentation/topdocs/NEWS.tely (Top): Add slur script feature.
+
+       * lily/lily-guile.cc (parse_symbol_list): Rewrite.  Grok multiple
+       whitespace as symbol separator.
+
+       * lily/side-position-interface.cc: Add slur-padding.
+
+       * input/regression/slur-script.ly: Fixed.  Backportme?  This is
+       quite a large fix, and it never worked in a stable release; so not
+       really a regression.
+
+       * lily/phrasing-slur-engraver.cc (class Phrasing_slur_engraver):
+       Update cut and paste code from Slur_engraver.
+
+       * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
+       Add.
+
+       * scm/define-grobs.scm (DynamicLineSpanner): Add
+       dynamic-line-spanner-interface.
+       (DynamicLineSpanner, TextScript, Fingering): Add slur-padding.
+
+2005-08-09  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * lily/slur-engraver.cc (acknowledge_extra_object): Bugfix: use
+       to_boolean () so that non-set 'inside-slur means false.
+
+       * lily/slur.cc (outside_slur_callback): Bugfixes: make sure that
+       slur has control-points.  Skip script without direction.  Always
+       do_shift if script inside slur, even if slur not contained in
+       script y-extent.  Increment k in loop.
+
+2005-08-11  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * scm/define-markup-commands.scm: Improved regexp to search for
+       EPS bounding boxes and corrected call to ly:warning.
+
+2005-08-10  Nicolas Sceaux  <nicolas.sceaux@free.fr>
+
+       * Documentation/user/programming-interface.itely (Displaying music
+       expressions): doc for \displayLilyMusic. Also some precisions in
+       "Markup construction in Scheme"
+
+2005-08-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * scm/define-markup-commands.scm (normal-text): Added 2 new
+       markup commands, \normal-text and \medium (the latter thanks to
+       Bruce Fairchild). 
+
+2005-08-08  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/user/programming-interface.itely: fix @{ @}.
+
+       * scm/define-markup-commands.scm: add linewidth info to
+       \justify and \wordwrap, add "upright is the opposite of italic".
+
+       * Documentation/user/advanced-notation.itely: shaped->shape,
+       add (cons (markup "foo")) type of example to text markup,
+       reword multi-measure rests section.
+
+       * lily/note-heads-engraver.cc: changed Shaped->Shape in a
+       comment.  No actual code was touched.
+
+       * Documentation/user/invoking.itely: add more info about
+       \include.  Thanks, Bruce!
+
+       * THANKS: add Bruce Fairchild, alphabetise.
+
+       * Documentation/user/global.itely: document \score{\header{}}
+       behavior.
+
+       * Documentation/user/basic-notation.itely: reword multi-measure
+       rest discussion in Rests.
+
+2005-08-08  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * Documentation/user/programming-interface.itely (Markup
+       construction in Scheme): Corrected example and tried to clarify
+       the implicit \line in the table.
+
+2005-08-07  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/user/instrument-notation.itely: moved
+       some bagpipe info back into the bagpipe section.  Somehow
+       it ended up in the "other vocal issues" section?!  :o_O
+
+2005-08-07  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * scm/framework-ps.scm (dir-join): Rename from path-join (joins
+       directories, not paths).
+
+2005-08-06  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * scm/framework-ps.scm (munge-lily-font-name): Bugfix: Munge only
+       plain emmentaler/aybabtu.  Backportme.
+
+       * lily/tuplet-bracket.cc (calc_position_and_height): Bugfix:
+       missing dir correction.
+
+2005-08-05  Graham Percival  <gperlist@shaw.ca>
+
+       * scm/define-markup-commands: fix reversed justify/wordwrap
+       doc strings.
+
+2005-08-05  Jürgen Reuter  <reuter@ipd.uka.de>
+
+       * lily/ligature-engaver.cc, lily/coherent-ligature-engaver.cc,
+       lily/gregorian-ligature-engaver.cc,
+       lily/include/ligature-engraver.hh,
+       lily/include/coherent-ligature-engraver.hh,
+       lily/include/gregorian-ligature-engraver.hh: make these classes
+       truely abstract.  This should fix some internal oddities such as
+       duplicate as well as dead translator/property declarations, and
+       also some dead code.
+
+       * lily/ligature-bracket-engraver.cc, lily/ligature-engraver.cc:
+       bugfix: avoid message "junking empty ligature" on ligature
+       brackets by collecting dummy grobs.
+
+2005-08-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * lily/tuplet-bracket.cc (print): default right overshoot to 0.0
+
+       * input/proportional.ly (staffKind): bugfix.
+       (staffKind): updates by Trevor Baca.
+
+       * scm/define-grobs.scm (all-grob-descriptions): remove arrows as
+       default layout. 
+
+       * lily/tuplet-bracket.cc (print): check whether edge-text is a
+       pair.
+
+       * lily/beam.cc (rest_collision_callback): call position_beam() if
+       necessary.
+
+       * VERSION: release 2.7.4
+
+       * input/regression/spacing-uniform-stretching.ly: new file.
+
+       * lily/spacing-loose-columns.cc (set_loose_columns): use robust_relative_extent().
+
+       * Documentation/topdocs/NEWS.tely (Top): add Nicolas as
+       contributor.
+
+       * lily/include/ly-module.hh: define MODULE_GC_KLUDGE globally.
+
+       * input/proportional.ly: new file.
+
+       * lily/tuplet-bracket.cc (after_line_breaking): don't suicide if
+       columns is empty
+
+       * lily/tuplet-engraver.cc (finalize): new function. Reset right
+       bounds to currentCommandColumn for the last step.
+       (start_translation_timestep): if tupletFullLength is set, set
+       bound to Paper Column
+
+       * input/regression/tuplet-full-length.ly (indent): new file.
+
+       * lily/spacing-loose-columns.cc (set_loose_columns): space a whole
+       clique of loose columns, eg. a set of grace notes in strict
+       notespacing.
+
+       * input/regression/spacing-strict-spacing-grace.ly: new file.
+
+       * lily/key-signature-interface.cc: change property name to
+       alteration-alist
+
+       * lily/key-engraver.cc (read_event): read keyAlterationOrder, not
+       keyAccidentalOrder
+
+       * python/convertrules.py (conv): keyAccidentalOrder ->
+       keyAlterationOrder
+
+       * lily/key-engraver.cc (create_key): always print a cancellation
+       for going to C-major/A-minor, regardless of printKeyCancellation.
+       (create_key): remove typecheck for visibility. This fixes key
+       signature not being printed.
+
+       * lily/spacing-determine-loose-columns.cc: new file.
+
+       * input/regression/spacing-strict-notespacing.ly: new file.
+
+       * lily/spacing-spanner.cc (generate_springs): rename from
+       do_measure. 
+       (generate_pair_spacing): new function.
+       (init, generate_pair_spacing): set between-cols for floating
+       nonmusical columns.
+
+       * lily/spaceable-grob.cc (get_spring): new function. 
+
+       * lily/tuplet-bracket.cc (print): on the left, the overshoot is
+       relative to the right edge of the prefatory matter.
+
+       * lily/beam.cc (print): read break-overshoot to determine where to
+       stop/start broken beams.
+
+       * input/regression/spanner-break-overshoot.ly: new file.
+
+2005-08-04  Graham Percival  <gperlist@shaw.ca>
+
+       * ly/bagpipe.ly: updated.
+
+       * Documentat/user/instrument.itely: un-comment out bagpipe example.
+
+2005-08-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * lily/dynamic-engraver.cc (acknowledge_slur): add slur to
+       support: now (de)crescs avoid slurs as well.
+
+       * Documentation/user/instrument-notation.itely (Bagpipe example):
+       comment out non-functioning bagpipe example.
+       (Bagpipe definitions): idem.
+
+       * Documentation/topdocs/NEWS.tely (Top): add uniform-stretching example.
+       (Top): add proportionalNotationDuration example.
+
+       * input/regression/spacing-proportional.ly: new file.
+
+       * lily/tuplet-bracket.cc (parallel_beam): broken bracket never is
+       synched to a beam.
+
+       * lily/beam.cc (shift_region_to_valid): divide by zero fix. This
+       fixes beams with a single stem (eg. beams across linebreaks.)
+
+       * lily/parser.yy (simple_string): allow \new STRING_IDENTIFIER.
+
+       * flower/rational.cc (operator +): prevent overflow. This fixes
+       heavily nested tuplets.
+
+       * lily/auto-beam-engraver.cc (derived_mark): new method. Yes. We
+       have to protect even those unlikely to be corrupted data members.  
+
+2005-08-04  Graham Percival  <gperlist@shaw.ca>
+
+       * ly/bagpipe.ly: new file.
+
+       * THANKS: added Sven Axelsson.
+
+2005-08-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * lily/spacing-engraver.cc (stop_translation_timestep): directly
+       copy proportionalNotationDuration into currentMusicalColumn if
+       set.
+
+       * lily/spacing-spanner.cc (musical_column_spacing): if
+       uniform-stretching set, fixed space is 0.0
+
+       * input/regression/spacing-multi-tuplet.ly: show
+       uniform-stretching property.
+
+       * lily/spacing-spanner.cc (effective_shortest_duration): new function.
+
+       * lily/include/spacing-spanner.hh (class Spacing_spanner): new file.
+       (struct Spacing_options): new struct.
+
+       * lily/spacing-basic.cc: new file.
+
+       * lily/spacing-spanner.cc (note_spacing): remove outdated code:
+       delta_t doesn't have to be smaller than shortest_playing_len
+
+2005-08-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * input/regression/markup-arrows.ly:  new file.
+
+       * lily/tuplet-bracket.cc: document new behavior.
+
+       * input/regression/tuplet-broken.ly: new file. Demonstrate tuplets
+       with line breaks.
+
+       * scm/define-markup-commands.scm (arrow-head): arrow-head markup command.
+
+       * scm/define-grobs.scm (all-grob-descriptions): set arrows as
+       default 
+
+       * lily/tuplet-bracket.cc: add edge-text property.
+       add break-overshoot.
+       (print): read break-overshoot.
+       (print): read edge-text, add stencils.
+
+       * mf/feta-arrow.mf: new file.
+
+       * mf/feta-generic.mf: add feta-arrow.
+
+2005-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * Documentation/user/lilypond-book.itely (An example of a
+       musicological document): Added flag -o to dvips for people who use
+       the default setting in teTeX where output is sent to the printer. 
+
+       * Documentation/user/global.itely (Vertical spacing): Added
+       reference to the Axis_group_engraver which documents the *Extent
+       properties.
+
+2005-08-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * Documentation/user/basic-notation.itely (Tuplets): add note
+       about nested tuplets. Remove BUG. 
+
+       * input/regression/tuplet-nest.ly: update: remove manual hack. 
+
+       * lily/tuplet-bracket.cc (print): use robust_scm2drul
+       (print): manually call print() for subtuplets.
+       (calc_position_and_height): add subtuplets to the
+       support. Vertically shift outer tuplet 
+
+       * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): set
+       remove-first for Lyrics, ChordNames and FiguredBass
+
+       * scm/define-grob-properties.scm (all-internal-grob-properties):
+       use ly:grob-array? iso. grob-list?
+       (all-internal-grob-properties): add tuplets grob-array.
+
+       * lily/tuplet-bracket.cc (add_tuplet_bracket):
+       new function
+
+2005-08-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * input/test/time-signature-staff.ly: new file.
+
+       * ly/declarations-init.ly (center): escape to Scheme. Fixes
+       spurious #<Music FingerEvent> errors. Backportme.
+
+2005-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * Documentation/user/programming-interface.itely (Markup
+       construction in Scheme): Corrected markup syntax in the
+       translation table.
+
+2005-08-03  Graham Percival  <gperlist@shaw.ca>
+
+       * Documentation/user/instrument-notation.itely: small update
+       to bagpipe notation docs; thanks Sven!
+
+       * Documentation/user/basic-notation.itely: add link about trills.
+
+2005-08-02  Graham Percival  <gperlist@shaw.ca>
+
+       * Documentation/user/music-glossary: remove accidentally committed
+       fink patch.
+
+2005-08-02  Yoshinobu Ishizaki  <isizaki@mte.biglobe.ne.jp>
+
+       * lily/lily-parser.cc (get_header): new function. Enable multiple
+       \header definitions.
+
+       * lily/parser.yy (lilypond_header_body): use get_header.
+
+       * ly/init.ly:
+       * scm/lily-library.scm (print-score-with-defaults): renamed
+       $globalheader to $defaultheader
+        
+       * Documentation/user/global.itely (Creating titles): added short
+       explanation that multiple headers are useable.
+
+
+2005-08-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * lily/module-scheme.cc (LY_DEFINE): new file. 
+
+       * Documentation/user/advanced-notation.itely (Font selection): add
+       doco for make-pango-font-tree.
+
+2005-07-31  Graham Percival  <gperlist@shaw.ca>
+
+       * Documentation/user/music-glossary: more languages
+       for tenuto.
+
+       * Docuemntation/user/instrument-notation.itely: minor
+       update for bagpipe example.
+
+2005-07-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * input/regression/+.ly (TODO): add some text.
+
+2005-07-28  Graham Percival  <gperlist@shaw.ca>
+
+       * Documentation/user/invoking.itely: \score begins with music.
+
+       * Documentation/user/ basic-notation.itely,
+       instrument-notation.itely: minor changes.
+
+       * Documentation/user/music-glossary.itely: began tenuto entry.
+
+2005-07-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * scm/output-socket.scm (bezier-sandwich): add bezier-sandwich
+
+       * mf/feta-bolletjes.mf: swap up and down for aiken heads.
+
+2005-07-27  Graham Percival  <gperlist@shaw.ca>
+
+       * Documentation/user/examples.itely: remove bagpipe template.
+
+       * Documentation/user/instrument-notation.itely: add bagpipe
+       section, maybe fix quotes in lyrics.  I hate text encoding.
+       Clarify chord durations, more bagpipe stuff.
+
+2005-07-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+       * lily/accidental-engraver.cc: formatting fixes.
+
+       * lily/spacing-spanner.cc (prune_loose_columns): right-items is a
+       grob-array.
+
+       * lily/arpeggio.cc (print): suicide arpeggio for single notehead.
+
+       * lily/note-column.cc (arpeggio): new function.
+
+       * lily/note-spacing.cc (get_spacing): also take arpeggio into
+       account for spacing.
+
+2005-07-25  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * lily/main.cc (sane_setenv)[!ARGV0_RELOCATION]: Also define.
+       (setup_guile_env): Use it instead of nonstandard setenv.  Fixes
+       mingw build.
+       
+2005-07-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * scm/lily.scm (lilypond-all): clear anonymous modules after
+       processing files.
+
+2005-07-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * flower/include/guile-compatibility.hh (SCM_I_CONSP): add
+       SCM_I_CONSP
+
+       * VERSION: 2.7.3 released
+
+       * 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::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.
+
+       * lily/item.cc (handle_prebroken_dependencies): use a vector of 3
+       booleans for break-visibility.
+
+       * Documentation/topdocs/NEWS.tely (Top): add note about engravers.
+
+       * python/convertrules.py (conv): rule for Timing_translator. 
+
+       * lily/include/translator.icc: new file. 
+
+       * lily/paper-column-engraver.cc (process_music): new
+       file. Separate Paper_column factory from Score_engraver.
+
+       * lily/vertically-spaced-context-engraver.cc: administer
+       spaceable-staves property of System.
+
+       * lily/translator-group-ctors.cc: new file.
+
+       * lily/context-property.cc (make_grob_from_properties): construct
+       the right Grob class programmatically, looking at the class entry
+       for the meta property.
+
+       * lily/break-align-engraver.cc (stop_translation_timestep): call
+       Break_align_interface::add_element() directly.
+
+       * lily/context.cc (measure_position): measure_position() is now a
+       normal function.
+
+       * lily/include/translator.hh (class Translator): rename
+       process_acknowledged_grobs() to process_acknowledged() and move to
+       Translator.
+
+       * scm/define-grobs.scm (all-grob-descriptions): add a 'class meta
+       field for each grob description.
+
+       * lily/include/translator-group.hh (class Translator_group):
+       change to base class. Separate class from Translator. This gets
+       rid of virtual inheritance for Engravers/Performers.
+
+       * lily/staff-performer.cc (class Staff_performer): derive
+       Staff_performer from Performer, not Performer_group_performer 
+
+       * Lily/translator-group.cc (precomputed_recurse_over_translators):
+       new function.
+       (precompute_method_bindings): new function. Precompute lists of
+       Translators, so we only call methods (process_music,
+       start_translation_timestep, etc.) for Translators needing
+       it. Also: dispose of pointer-to-member-function calls.
+
+       * lily/engraver-group-engraver.cc: remove engraver_each,
+       recurse_down_engravers ()
+
+       * lily/note-head.cc (internal_print): only call
+       glyph-name-procedure if style != default. 
+
+2005-07-16  Graham Percival  <gperlist@shaw.ca>
+
+       * ly/titling-init.ly: add printallheaders option.
+
+       * Documentation/user/global.itely: document printallheaders.
+
+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.  
+
+       * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
+       hammer hack.
+
+       * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-object
+
+       * scm/output-lib.scm: remove hammer-print-function.
+
+       * lily/include/pointer-group-interface.hh (extract_grob_set): new
+       macro. Declare a Link_array<Grob> and fill it from a grob.
+       (extract_item_set): idem for item.
+
+       * lily/break-substitution.cc: add header.
+       (fast_substitute_grob_array): rewrite for Grob_arrays.
+       (substitute_grob_array): idem.
+
+       * lily/group-interface.cc (add_thing): remove file.
+
+       * flower/include/parray.hh (class Link_array): slice() is const.
+
+       * lily/include/grob-array.hh: new file.
+
+       * lily/grob-array.cc (spanner): new file.
+
+       * lily/beam-quanting.cc (fill): read details property from beam.
+
+       * lily/beam.cc: support details property.
+
+       * total speedups below: approx 10%.
+
+       * lily/include/beam.hh: new struct, softcode beam quanting parameters
+
+       * lily/include/grob.hh (class Grob): add interfaces_ member.
+
+       * lily/bezier.cc (init_polynomial_cache): new function: cache
+       binom(3,j) t^j (1-t)^{3-j}
+       (curve_point): opps, actually use the cache for t^j , (1-t)^j! 
+
+       * lily/*.cc: substitution throughout.
+
+       * lily/grob-property.cc (internal_get_object): new routine.
+       (internal_set_object): idem. Store grob refrences in separate
+       alist. This saves processing time, since properties aren't
+       break-substituted, and the per grob namespace is smaller, both for
+       grobs and non-grob properties.
+
+       * scm/define-grob-properties.scm (all-internal-grob-properties):
+       remove center-element.
+
+       * lily/grob.cc: remove tweak-count, tweak-rank.
+
+2005-07-15  Graham Percival  <gperlist@shaw.ca>
+
+       * Documentation/user/lilypond-book.itely: fixes example.
+
+2005-07-15  Nicolas Sceaux  <nicolas.sceaux@free.fr>
+
+       * Documentation/user/global.itely (Creating titles):    
+       * Documentation/user/examples.itely (All headers): change the
+       place of \header in \score blocks (after music block) to make
+       examples compile (cf. changes on parser.yy on 2005-07-10)
+
+2005-07-13  Graham Percival  <gperlist@shaw.ca>
+
+       * python/convertrules.py: add exc -> ecc rule.
+
+       * scripts/convert-ly.py: add location of convertrules.py
+       in a comment.
+
+       * Documentation/user/changing-defaults.itely: fix language.
+
+2005-07-12  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * lily/lily-parser-scheme.cc (LY_DEFINE): Guile 1.6 fix.
+
 2005-07-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
 
+       * scm/output-socket.scm (grob-bbox): don't use inf? 
+
+       * flower/include/rational.hh: add operator bool() 
+
        * scm/define-music-types.scm (music-descriptions): remove
        internal-class-name properties.
 
        * flower/include/guile-compatibility.hh (scm_from_locale_string):
        add scm_from_locale_string compatibility glue. 
 
-2005-07-13  Yoshinobu Isizaki  <isizaki@mte.biglobe.ne.jp>
+2005-07-13  Yoshinobu Ishizaki  <isizaki@mte.biglobe.ne.jp>
 
        * scripts/lilypond-book.py: Prevent occuring error when
        'lilypond-book --output=foo/ somefile.ly' is executed multiple
 
 2005-07-13  Graham Percival  <gperlist@shaw.ca>
 
-       * input/regression/slur-extreme.ly, input/regression/slur-scoring.ly,
-       lily/slur-configuration.cc, lily/slur.cc, mf/feta-din-code.mf,
-       mf/feta-timesig.mf, mf/parmesan-heads.mf, scm/define-grob-properties.scm:
-       Change "excentricity" to "eccentricity".
+       * input/regression/slur-extreme.ly,
+       input/regression/slur-scoring.ly, lily/slur-configuration.cc,
+       lily/slur.cc, mf/feta-din-code.mf, mf/feta-timesig.mf,
+       mf/parmesan-heads.mf, scm/define-grob-properties.scm: Change
+       "excentricity" to "eccentricity".
 
-       * Documentation/user/converters.itely: fix URL for Noteedit and Rosegarden.
+       * Documentation/user/converters.itely: fix URL for Noteedit and
+       Rosegarden.
 
-       * THANKS: added Yoshinobu Isizaki.
+       * THANKS: added Yoshinobu Ishizaki.
 
 2005-07-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>