]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
* scm/stencil.scm (circle-stencil): don't center stencil argument,
[lilypond.git] / ChangeLog
index 14eae8cc538a39b55ca3b7f40250ee7573d6f7ce..9031ef9a7161babdc6347d32bf4f371a7bcbc3fc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,558 @@
+2006-10-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * scm/stencil.scm (circle-stencil): don't center stencil argument,
+       instead: move circle.
+
+       * scm/define-grobs.scm (all-grob-descriptions): set
+       allow-loose-spacing for PaperColumn and NonMusicalPaperColumn.
+
+       * 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).
+
+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.  
+
+2006-09-18  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/user/basic-notation.itely: add bug
+       warning about ties and octavation/clef.
+
+2006-09-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * VERSION (PACKAGE_NAME): release 2.9.18
+
 2006-08-29  Milan Zamazal  <pdm@brailcom.org>
 
        * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
 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.