]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
[lilypond.git] / ChangeLog
index 6f8fa1c135ec7e4bed0185506ef4214fae07cdbe..999a91a5cac0b2615aa9080a8f7899597dd9c90c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,391 @@
+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.
+
+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
+       figure out midi file names right here.
+       
+2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
+
+       * scm/backend-library.scm: option naming:  gs-font-load*s*
+
+       * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
+       include-eps-fonts
+
+2006-09-17  Joe Neeman  <joeneeman@gmail.com>
+
+       * scm/define-music-types.scm (music-descriptions): remove
+       BreakEvent and fix {Page,Line}{Break,Turn}Event so
+       Music::to_event doesn't complain.
+
+       * lily/accidental-placement.cc (ape_compare):
+       * lily/semi-tie.cc (compare): 
+       * lily/note-column.cc (shift_compare): replace by XXX_less
+
+       * lily/tie-formatting-problem.cc (set_chord_outline): 
+       * lily/tie-column.cc (calc_positioning_done): 
+       * lily/system.cc (post_processing)
+       (get_paper_system): 
+       * lily/stem.cc (note_head_positions)
+       (calc_positioning_done): 
+       * lily/spanner.cc (do_break_processing)
+       (find_broken_piece): 
+       * lily/span-bar.cc (print): 
+       * lily/semi-tie-column.cc (calc_positioning_done): 
+       * lily/rest-collision.cc (calc_positioning_done): 
+       * lily/program-option.cc (get_help_string): 
+       * lily/note-collision.cc (get_clash_groups):
+       * lily/new-fingering-engraver.cc (position_scripts):
+       * lily/keyword.cc (Keyword_table):
+       * lily/hara-kiri-group-spanner.cc (request_suicide):
+       * lily/grob-pq-engraver.cc (stop_translation_timestep):
+       * lily/accidental-placement.cc (calc_positioning_done):
+       (stagger_apes):
+       * lily/beam.cc (get_beam_segments):
+       * lily/grob-array.cc (remove_duplicates):
+       use new vector_sort
+       
+       * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
+       ragged-last-bottom = ##f (test the new page breaker)
+
+       * flower/include/std-vector.hh (vector_sort): use STL sort stuff
+
+       * scm/define-context-properties.scm
+       (all-internal-translation-properties): remove properties that
+       were used to communicate page-turn stuff to the paper-column
+       engraver.
+
+       * lily/lily-guile.cc (robust_scm2string): new function
+
+       * lily/paper-column-engraver.cc: Clean up page turn stuff
+
+       * lily/page-turn-engraver.cc: Re-write the page turn logic here
+       instead of cluttering up paper-column-engraver.cc
+
+2006-09-17  Nicolas Sceaux  <nicolas.sceaux@free.fr>
+
+       * scm/layout-page-dump.scm (scm): export utility function names,
+       to allow user writing cutsom dumping functions.
+
+       * scm/layout-page-layout.scm: export utility function names to
+       enable custom page breaking function writing. Tabify.
+       (line-next-space): use ?-suffix only for predicates
+       (page-maximum-space-to-fill): new function. Return the space
+       between first and bottom system of a page, to give to
+       space-systems.
+       (space-systems): use a space-to-fill argument (for instance as
+       computed by page-maximum-space-to-fill) instead of computing
+       internaly this space with the page height. That way, the caller
+       can adjust the space to use.
+       (make-page-from-systems, walk-paths): compute space to fill before
+       calling space-systems.
+
+2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * scm/script.scm (default-script-alist): set paddings for every
+       type here, increase for portato mark.
+
+       * scm/lily.scm (define-scheme-options): typo: add s, so it is 
+       -dinclude-eps-fonts
+
+2006-09-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
+       use spanner::set-spacing-rods
+
+       * lily/note-column.cc: reformat.
+
+       * lily/rest-collision.cc (calc_positioning_done): fix whole/half
+       step positioning for note/rest combinations.
+
+       * input/regression/rest-note-collision.ly: new file.
+
+       * scm/define-grobs.scm (all-grob-descriptions): add
+       springs-and-rods
+
+       * flower/include/std-vector.hh: switch off again.
+
+       * VERSION (PATCH_LEVEL): bump to 2.9.18
+
+       * flower/include/std-string.hh: idem.
+
+       * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
+
+2006-09-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
+       PianoStaff. 
+
+2006-09-08  Joe Neeman  <joeneeman@gmail.com>
+
+       * Documentation/user/page.itely: update page breaking documentation
+
+2006-09-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * lily/note-collision.cc (calc_positioning_done): only access
+       first head if available.
+
+       * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
+
+       * scm/framework-ps.scm (output-preview-framework): use new name.
+
+       * lily/program-option.cc (internal_set_option): use new names.
+
+       * Documentation/user/SConscript (lilypond_book_flags): update -d
+       variable names.
+
+       * Documentation/user/lilypond-book.itely (Inserting LilyPond
+       output into other programs): new variable names.
+
+       * scm/lily.scm (define-scheme-options): uniformize var names.
+
+       * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
+       tuplets_ is non-empty before popping.
+
+2006-09-07  Joe Neeman  <joeneeman@gmail.com>
+
+       * lily/spanner.cc (find_broken_piece): 
+       * lily/spacing-spanner.cc (get_columns): 
+       * lily/source-file.cc (get_line): 
+       * lily/simple-spacer.cc (get_column_description): 
+       * lily/keyword.cc (lookup): 
+       use the new binary search.
+
+       * flower/include/std-vector.hh: replace binary_search with
+       a more STL-like version
+
+2006-09-04  Michael Welsh Duggan  <md5i@cs.cmu.edu>
+
+       * lily/tie-performer.cc: remove unused last_event_ property.
+       (class Tie_performer): add now_tied_heads_ property for
+       partially-tied heads.
+       (acknowledge_audio_element): when adding an Audio_note, put the
+       note in now_tied_heads_ if the audio note is partially tied.
+       (stop_translation_timestep): always include entries in
+       now_tied_heads_ in heads_to_tie_.
+
+       * lily/drum-note-performer.cc (process_music): look for tie-events
+       in the articulations; pass to Audio_note constructor.
+
+       * lily/note-performer.cc (process_music): look for tie-events in
+       the articulations; pass to Audio_note constructor.
+
+       * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
+       constructor.
+
+       * lily/include/audio-item.hh (class Audio_note): add tie_event_.
+       include initializer in constructor.
+
+2006-09-02  Joe Neeman  <joeneeman@gmail.com>
+
+       * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
+       unless they are breakable. This fixes discrepancies between the forces
+       calculated here and the forces calculated in get_line_configuration.
+
+       * lily/grob.cc (pure_relative_y_coordinate): fix some
+       mis-estimation that was happening with piano staves.
+
+       * lily/constrained-breaking.cc (resize): don't choke if we get a
+       measure that won't fit on a line.
+       (combine_demerits): don't consider uniformity when ragged
+
+       * lily/page-spacing.cc (solve): why the f* were there two of these?
+       (calc_subproblem): properly handle the case where a system is taller
+       than the page.
+
+       * lily/system.cc (get_paper_system): ensure that all the permissions
+       and penalties are passed to the paper systems.
+
+       * lily/page-breaking.cc (create_system_list): support system-count.
+
+       * scm/define-grobs.scm (pure-print-callbacks): add
+       ly:script-interface::print
+
+       * lily/page-spacing.cc (min_page_count): fix calculation of min
+       pages if we are ragged and there are non-zero springs.
+
+       * scm/layout-page-layout.scm: if the pure-height estimates are under
+       the real height, allow space-systems to ignore padding if it is
+       needed in order to fit the systems on one page
+
+       * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
+       ragged properties
+       (solve): fix performance problem. Make sure we always get at least
+       one solution
+
+       * lily/page-breaking.cc (make_pages): include write-page-breaks
+       and page-stencil
+
+       * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
+
+       * scm/define-grobs.scm: add the new slur-callback
+       fix pure-relevant to not exclude grobs whose extent is already
+       calculated
+
+       * ly/paper-defaults.ly: make ly:optimal-breaking the new default
+       page breaker
+
+       * lily/slur.cc (pure_height): new callback to estimate the height
+       of a slur
+
+2006-09-02  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/user/invoking.itely: small update on
+       MacOS X notes; thanks Trevor!
+
+2006-09-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * VERSION (MY_PATCH_LEVEL): release 2.9.17
+
+       * lily/lexer.ll: accept EOF in all states.
+
+       * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
+
+       * lily/source-file.cc (Source_file): always 0-terminate character
+       array, to prevent Flex from barfing.
+
+       * lily/global-context.cc (get_output): robustness: don't crash if
+       no Score context found.
+
+       * lily/include/book.hh (class Book): idem.
+
+       * lily/include/context-def.hh (struct Context_def): idem.
+
+       * lily/include/score.hh (class Score): don't derive from Input.
+
+       * lily/book.cc (Book): add a copy ctor. 
+
+       * buildscripts/output-distance.py (FileLink.calc_distance): count
+       orphans in distance too.
+
+       * python/midi.c (midi_parse_track): robustness: don't read past
+       end of string.
+
+       * ly/performer-init.ly: add Control_track_performer, move
+       Tempo_performer and Time_signature_performer to Score.        
+
+       * lily/score-performer.cc (acknowledge_audio_elements): override
+       from base class: add to audio-columns
+
+       * lily/control-track-performer.cc (add_text): new file: generate
+       the control track.
+
+       * lily/performance.cc: move output_header_track to
+       Control_track_performer ()
+
+       * lily/midi-walker.cc (Midi_walker): get channel in constructor.
+
+       * lily/include/midi-item.hh (class Midi_channel_item): insert
+       class into hierarchy, for items that can have a channel setting. Dehungarify.
+
+       * lily/include/performer.hh (class Performer): remove
+       play_element();  move functionality into announce/acknowledge.
+
+       * lily/audio-staff.cc (output): remove channel_ from Midi_track.
+
+       * lily/tie-engraver.cc (stop_translation_timestep): only wipe
+       heads_to_tie_ if there are new heads to tie.  Fixes polyphony in ties.
+
+2006-08-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * lily/tie-engraver.cc (stop_translation_timestep): robustness for
+       ambituses.
+
+       * lily/all-font-metrics.cc: remove TFM support.
+
+       * lily/include/tfm.hh: remove TFM support, TFM reader.
+
+       * lily/include/binary-source-file.hh: remove Binary_source_file.
+
+2006-08-27  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/topdocs/NEWS.itely: add @c marker for
+       stuff I've processed.
+
+       * Documentation/user/ various: info from NEWS.
+
+2006-08-27  Joe Neeman  <joeneeman@gmail.com>
+
+       * lily/paper-column-engraver.cc (finalize): Oops, this change
+       should have gone in on 2006-08-23
+
 2006-08-26  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
        * Documentation/user/advanced-notation.itely (Metronome marks):
        update use of \tempo in \midi.
 
+       * VERSION: release 2.9.16
+       
 2006-08-24  Erik Sandberg  <mandolaerik@gmail.com>
 
        * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
  
        * 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.