]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
[lilypond.git] / ChangeLog
index adf7c45064a183ae78448cb212421f8910d4eb28..999a91a5cac0b2615aa9080a8f7899597dd9c90c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,655 @@
-2006-08-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+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
+       quotes to quote arguments. Fixes Windows problem.
+
+       * python/lilylib.py (progress): idem
+
+2006-08-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * scripts/musicxml2ly.py: fix for importing
+       minor key signatures from MusicXML.  (Phillip Kirlin)
+
+2006-08-24  Phillip Kirlin  <pkirlin@acm.org>
+
+       * python/musicxml.py: 
+       (Attributes.get_key_signature): now correctly retrieves mode from 
+       MusicXML. 
+
+2006-08-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * lily/parser.yy (output_def_body): take ownership of identifier
+       back to C++.
+
+       * 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
+       web partially)
+
+2006-08-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * input/regression/tie-chord-partial.ly: clarify example.
+
+       * scm/define-music-properties.scm (all-music-properties): remove
+       untied.
+
+       * ly/music-functions-init.ly: remove \untied.
+
+       * lily/tie-engraver.cc (struct Head_event_tuple): store both
+       stream events and music events.
+       (stop_translation_timestep): search acknowledged heads for
+       tie-event.
+
+       * input/regression/tie-chord-partial.ly: new file.
+
+       * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
+       for \char markup command.
+
+       * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
+
+       * scm/define-music-types.scm (music-descriptions): consistency:
+       Use solo-{one,two}-event iso. solo-[12]-event.
+
+       * lily/part-combine-engraver.cc (process_music):
+       Use solo-{one,two}-event iso. solo-[12]-event.
+
+       * ly/declarations-init.ly (partCombineListener): add Timing as
+       alias
+
+       * flower/std-string.cc (string_copy): use copy ()
+
+       * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
+
+2006-08-24  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/user/changing-defaults.itely, global.itely,
+       lilypond-book.itely, page.itely: minor changes from mailist.
+
+2006-08-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
+       snippet-map
+
+       * scm/define-context-properties.scm
+       (translator-property-description): robustness: detect type errors
+       in property definitions.
+
+       * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
+       after getting it from SCM. 
+
+       * lily/smobs.cc (protect_smob): switch off fancy smob protection
+       for now. 
+
+       * lily/include/performer.hh (class Performer): strip get_tempo()
+       method.
+
+       * lily/midi-def.cc: strip file.
+
+       * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
+
+       * lily/include/context-def.hh (struct Context_def): use
+       VIRTUAL_COPY_CONSTRUCTOR().
+
+       * lily/source-file.cc: smobification.
+
+       * lily/include/source-file.hh (class Source_file): smobify
+       Source_file. Trim redundant members.
+
+       * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
+       clones after creation. This plugs a huge memory leak.
+
+       * python/convertrules.py (FatalConversionError.sub_tempo):
+       complete rule for \midi{ \tempo }
+
+       * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
+
+       * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
+
+2006-08-23  Joe Neeman  <joeneeman@gmail.com>
+
+       * input/regression/optimal-page-breaking-hstretch.ly: test for
+       ragged-last-bottom also
+
+       * lily/paper-column-engraver.cc (finalize): make the end of a score
+       breakable by default. This is to balance out a change in behaviour
+       of the page-turn-breaker which no longer makes the end of a score
+       breakable.
+
+       * lily/paper-book.cc (pages): set the systems_ once the pages are
+       broken
+
+       * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
+       Page_breaking interface.
+
+       * lily/page-breaking.cc (class Page_breaking): make the interface
+       more consistent and provide abstractions for dealing with
+       Line_divisions.
+
+       * lily/optimal-page-breaking.cc (solve): use a more straightforward
+       algorithm. Use the new interface to Page_breaking.
+
+       * lily/page-spacing.cc: better support for ragged-bottom and
+       ragged-last-bottom
+
+2006-08-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * python/convertrules.py (conv): warning on \tempo{}
+
+       * ly/performer-init.ly: set tempoWholesPerMinute.
+
+       * ly/midi-init.ly: remove \midi
+
+       * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
+       MIDI tempo.
+
+       * lily/metronome-engraver.cc (process_music): use tempoUnitCount
+       tempoUnitDuration for determining what to print.
+
+       * lily/lyric-extender.cc: typo.
+
+       * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
+
+       * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
+       function.
+
+       * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
+
+       * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
+       eps-pad-boxes is set.
+
+       * scripts/lilypond-book.py (main): use -deps-pad-boxes.
+
+       * THANKS: update sponsors.
+
+       * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
+
+       * Documentation/topdocs/NEWS.tely (Top): doc new feature.
+
+       * input/regression/tie-chord-untied.ly: new file.
+
+       * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
+
+       * scm/define-music-properties.scm (all-music-properties): add
+       'untied property.
+
+       * buildscripts/mutopia-index.py (allfiles): look for .ly rather
+       than .ly.txt.
+       (headertext_nopics): sanitize no-examples text.
+
+       * scm/page.scm (make-page-stencil): don't rely on extents of
+       page-stencil. This fixes spurious space around .EPS files produced
+       with the EPS backend.
+
+2006-08-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
+
+       * lily/hara-kiri-engraver.cc (process_music): remember
+       keepAliveInterfaces after processing \set
+
+       * lily/lyric-extender.cc (print): support left/right-padding for
+       extenders.
+
+       * scm/documentation-generate.scm (string-append): revert lilypond/
+       path, doc why.
+
+2006-08-20  Graham Percival  <gpermus@gmail.com>
+
+       * Documentation/user/lilypond.tely: clarification to
+       license presentation (not to actual license).
+
+       * Documentation/user/basic-notation.itely,
+       instrument-notation.itely: minor changes.
+
+       * input/ {regression, test}/+.ly: clarification to
+       text (you can click on examples).  Thanks, Mats!
+
+       * input/manual/bar-lines.ly: adds ||: repeats.
+
+2006-08-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES 
+
+       * scm/documentation-lib.scm (texi-file-head): category LilyPond.
+
+       * Documentation/user/lilypond.tely: strip lilypond/ from info
+       links, rename to category LilyPond
+
+       * lily/pango-font.cc (description_string): new function.
+
+       * VERSION: release 2.9.15
+
+       * lily/spacing-engraver.cc (stop_translation_timestep): use
+       Dscho's fix for spacing spanner. 
+
+       * scm/define-music-types.scm (music-descriptions): use
+       apply-output-event for ApplyOutputEvent
+
+       * lily/output-property-engraver.cc (listen_apply_output): rename
+       from listen_layout_instruction.
+
+       * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
+       function protect()
+
+2006-08-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * scm/lily.scm (lilypond-all): option read-file-list: substitute
+       commandline args with contains, split by \n.
+
+       * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
+       write snippet-names file, call with -dread-file-list. Fixes
+       command limitations on 64-bit systems.
+
+       * input/regression/stencil-color-rotation.ly: new file.
+
+       * lily/include/translator.hh (struct Acknowledge_information):
+       revert: don't use Protected_scm in global objects, as GUILE can't
+       handle gc_unprotect from automated destructors on MacOS X.
+       * lily/grob.cc (get_print_stencil): use retval.expr() as base for
+       color, not the original stencil. Fixes combinations of
+       color/transparency/rotation. 
+
+       * scripts/lilypond-book.py (main): add --formats=eps for
+       texinfo/latex.
+
+       * lily/spacing-engraver.cc (stop_translation_timestep): don't
+       crash if spacing_ is nonexistent.
+
+2006-08-14  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/lilypond-book.py (output): Remove obsolete(!?)
        \catcode`\@=12 in the LaTeX output.
        * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
        spacing not set.
 
-
        * lily/spacing-engraver.cc (stop_translation_timestep): set
        spacing for proportional notation too.
 
        accidental for trill span event. This fixes spurious accidentals
        on trills.
 
-2006-08-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-08-04  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scm/define-grob-properties.scm (all-user-grob-properties):
        Clarify documentation of side-axis and direction. Thanks to Paul
        * lily/beam-engraver.cc (listen_beam): add method for
        Grace_beam_engraver too.
 
-2006-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-08-03  Mats Bengtsson  <mabe@s3.kth.se>
 
        * python/convertrules.py: Fix indentation bug that broke
        conversion of files older than 1.3.117.
 
        * input/test/instrument-name-align.ly: update version.
 
-2006-08-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-08-02  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
        Doc the --pdf flag to lilypond-book.
 
        * scm/define-music-types.scm: Removed BusyPlayingEvent
        
-2006-07-19  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-07-19  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/advanced-notation.itely (Font selection):
        Document how to get a list of available fonts using 'lilypond
        * lily/parser.yy: Wrap non-post-events in EventChords before
        assigning them to identifiers.
 
-2006-06-27  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-06-27  Mats Bengtsson  <mabe@s3.kth.se>
 
        * lily/bar-line.cc (compound_barline): Fix parenthesis error,
        gives correct vertical placement of \bar ":" in all staff
 
        * Documentation/user/ various: small additions from mailist.
 
-2006-06-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-06-22  Mats Bengtsson  <mabe@s3.kth.se>
 
        * ly/performer-init.ly: Add some missing links in the context
        hierarchy for MIDI output. There are probably some more missing!
        (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.
 
 
        * HACKING: trim outdated info.
 
-2006-06-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scm/define-grobs.scm (all-grob-descriptions): Add
        line-spanner-interface to all grobs that already have
        * scripts/lilypond-book.py (find_toplevel_snippets): don't use
        generator expressions (2.3 compat). 
 
-2006-06-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>
 
        * lily/vertical-align-engraver.cc: Make sure that the
        align{Above,Below}Context properties are included in the automatic
        * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
        number stays up to date. Backportme.
 
-2006-05-30  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-05-30  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/basic-notation.itely (Bar lines): Document
        the "||:" bar type. 
 
        * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
 
-2006-05-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-05-16  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/advanced-notation.itely (Instrument names):
        Modified obsolete instruction on how to move instrument names away
 
        * Documentation/user/ various: small fixes.
 
-2006-05-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-05-12  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/programming-interface.itely (Markup
        programmer interface): Remove duplicate text.
 
        * lily/relocate.cc (framework_relocation): remove old relocation stuff.
 
-2006-05-01  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-05-01  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scm/define-grob-properties.scm (all-user-grob-properties):
        Correct typo, thanks to Eduardo.
 
        * python/convertrules.py (conv): indent 4 for python files.
 
-2006-04-29  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-04-29  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/changing-defaults.itely (Creating contexts):
        Clarify \new semantics.
        * scm/define-context-properties.scm (all-user-translation-properties): 
        * Documentation/user/global.itely (Page formatting): Compile fix.
 
-2006-04-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-04-09  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/advanced-notation.itely (Polymetric
        notation): Update the example to use the "+" symbol and add link
        * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
        glyphnames if we have a ttf font.
 
-2006-03-30  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-03-30  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/advanced-notation.itely (Font selection):
        Corrected reference to the font-family-override.ly example.
 
        * Documentation/user/global.itely: small fix from mailist.
 
-2006-03-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-03-14  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
        file descriptor returned by tempfile.mkstemp() when writing
 
        * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
 
-2006-03-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-03-12  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/instrument-notation.itely (Setting simple
        songs): Added \book{...} around the full example, so the separate
        * lily/main.cc: 
        * configure.in: Cosmetic fixes.
 
-2006-01-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2006-01-04  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/music-glossary.tely (Pitch names): Added
        Spanish pitch names and durations, thanks to Ernesto Gancedo
        * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
        kpathsea) module.
 
-2005-11-29  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-11-29  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/advanced-notation.itely (Setting automatic
        beam behavior): Correct a few typos. Thanks to David Bobroff.
 
        * python/midi.c: doc module.
 
-2005-11-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-11-22  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/global.itely (Creating MIDI files): Fix
        compilation problem.
        * lily/clef-engraver.cc (inspect_clef_properties): reset
        localKeySignature for clef changes.
 
-2005-11-17  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-11-17  Mats Bengtsson  <mabe@s3.kth.se>
 
        * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3 
        add dummy definition that works in Linux and add information in
        * Documentation/user/music-glossary.tely (dal segno): Updated
        example to version >=2.6.
 
-2005-11-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-11-16  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/instrument-notation.itely (Printing chord
        names): Reorder \chordmode and \repeat in one example.
        * scripts/lilypond-book.py (main): use commands.mkarg () to quote
        shell arguments. 
 
-2005-11-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-11-10  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/examples.itely (Piano templates): Minor
        modification to the Piano centered lyrics example.
        * scm/define-grob-properties.scm (all-user-grob-properties):
        remove [XY]-offset-callbacks add [YX]-offset
        
-2005-11-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-11-02  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
        entry for time signatures after breathing signs. Bug report by
        * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
        new file.
 
-2005-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-10-04  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/lilypond-book.py: Bug fix, put the quote around the
        actual score for LaTeX documents.
        * scm/define-music-types.scm (music-descriptions): set length and
        start-callback for QuoteMusic
 
-2005-09-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-09-15  Mats Bengtsson  <mabe@s3.kth.se>
 
        * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
        arguments. Fixes compilation error with gcc 3.3.
        * Documentation/user/advanced-notation.itely,
        basic-notation.itely: minor changes.
 
-2005-08-31  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-31  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
        \linebreak between each .eps file if \betweenLilyPondSystem is
 
        * scm/define-markup-commands.scm (null): add null markup.
 
-2005-08-25  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-25  Mats Bengtsson  <mabe@s3.kth.se>
 
        * lily/item.cc: Add documentation of center-invisible
 
 
        * lily/skyline.cc: fix ASCII art.
        
-2005-08-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-22  Mats Bengtsson  <mabe@s3.kth.se>
 
        * python/convertrules.py (string_or_scheme): Fix spelling error
 
 
        * lily/include/performer-group.hh: rename.
 
-2005-08-18  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-18  Mats Bengtsson  <mabe@s3.kth.se>
 
        * input/test/script-abbreviations.ly: Removed some old LaTeX
        left overs.
        input/regression/ to input/no-notation. Be sure to call
        `display-lily-init' before trying to use the display function.
 
-2005-08-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-16  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/lilypond-book.py (option_definitions): Don't localize
        the empty string. Fixes bug when --psfonts was used with
        * tex/GNUmakefile (INSTALLATION_FILES): Remove enc symlink setup,
        encoding files are already removed.
 
-2005-08-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-15  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/advanced-notation.itely (Instrument names):
        Document a workaround for instrument names that collide with
        * Documentation/user/advanced-notation.itely: add markup
        example to Text spanners.
 
-2005-08-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-12  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/basic-notation.itely (Ties): Add example of
        tying a tremolo to a chord. Thanks to Steve Doonan. 
        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>
+2005-08-11  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scm/define-markup-commands.scm: Improved regexp to search for
        EPS bounding boxes and corrected call to ly:warning.
        expressions): doc for \displayLilyMusic. Also some precisions in
        "Markup construction in Scheme"
 
-2005-08-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-10  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scm/define-markup-commands.scm (normal-text): Added 2 new
        markup commands, \normal-text and \medium (the latter thanks to
        * Documentation/user/basic-notation.itely: reword multi-measure
        rest discussion in Rests.
 
-2005-08-08  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-08  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/programming-interface.itely (Markup
        construction in Scheme): Corrected example and tried to clarify
 
        * mf/feta-generic.mf: add feta-arrow.
 
-2005-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-03  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/lilypond-book.itely (An example of a
        musicological document): Added flag -o to dvips for people who use
        * ly/declarations-init.ly (center): escape to Scheme. Fixes
        spurious #<Music FingerEvent> errors. Backportme.
 
-2005-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-08-03  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/programming-interface.itely (Markup
        construction in Scheme): Corrected markup syntax in the
 
        * Documentation/user/lilypond.itely: change encoding to utf-8.
 
-2005-07-01  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-07-01  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/advanced-notation.itely (Setting automatic
        beam behavior): Correct the documentation of
 
        * scm/midi.scm: compile fix.
 
-2005-06-28  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-06-28  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/lilypond-book.py : Fix embarrassing bug in my previous
        patch. Now, the tempfile module is loaded too, not only used.
        * buildscripts/gen-emmentaler-scripts.py (notice): add GPL notice
        to fonts.
 
-2005-06-23  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-06-23  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/lilypond-book.py (LATEX_DOCUMENT): More or less ugly
        workaround since /dev/stdin doesn't work on Cygwin. Using a
 
        * scm/backend-library.scm (postprocess-output): remove debugging gobs.
 
-2005-06-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-06-14  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/topdocs/NEWS.tely (Top): Corrected name of
        \musicDisplay 
 
        * lily/main.cc (prepend_env_path, set_env_file): Use them.
 
-2005-06-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-06-02  Mats Bengtsson  <mabe@s3.kth.se>
 
        * lily/easy-notation.cc: Added include cctype to correct
        compilation error.
 
        * lily/main.cc (setup_paths)[ARGV0_RELOCATION]: Remove GS_*.
 
-2005-05-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-05-16  Mats Bengtsson  <mabe@s3.kth.se>
 
        * lily/horizontal-bracket.cc (print): Take care of the direction
        property so brackets above the stave point downwards. 
        Documentation/user/tutorial.itely: begin pruning
        unused (duplicated) cindex entries and misc cleanup.
 
-2005-05-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-05-12  Mats Bengtsson  <mabe@s3.kth.se>
 
        * input/test/volta-chord-names.ly: Bring the explanation up to
        date.
        * configure.in (gui_b): Add mbrtowc checking.
        Resurrect [utf8/]wchar.h checking.
 
-2005-05-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-05-09  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/advanced-notation.itely (Metronome marks):
        Add link to the program reference for MetronomeMark
        * lily/general-scheme.cc (LY_DEFINE): hand-convert utf8 to 32
        bits. Patch by Matthias Neeracher. <neeracher@mac.com>
 
-2005-05-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-05-09  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/convert-ly.py: In the conversion to version 1.9.0, 
        keep Scheme expressions and strings unmodified when doing the
        * Documentation/user/programming-interface.itely (How markups work
        internally ): remove \encoding reference.
 
-2005-05-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-05-04  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/convert-ly.py: Attempt to do a smarter update of 
        text markups from versions < 1.9.0 with arbitrary nesting.
 
        * configure.in: Search for mingw wcrtomb library.
 
-2005-05-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-05-02  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scripts/convert-ly.py: Bug fix
 
        * Documentation/user/advanced-notation.itely: corrected docs
        concerning remove-first.
 
-2005-04-29  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-04-29  Mats Bengtsson  <mabe@s3.kth.se>
 
        * lily/part-combine-engraver.cc: make sure that the relevant
        properties are included in the documentation.
        lilypond-book filter example and warned about not doing
        --filter and --process at the same time.
 
-2005-03-23  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-03-23  Mats Bengtsson  <mabe@s3.kth.se>
 
        * lily/parser.yy (bass_number),
        Documentation/user/instrument-notation.itely (Figured bass): 
 
        * mf/feta-test-generic.mf: Include all files as in feta-generic.mf.
 
-2005-01-13  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-01-13  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/notation.itely (Ancient rests): Fix typo
        (thanks Anthony)
        dump systems as separate .eps files (without fonts) and write a
        single collecting .tex file.
 
-2005-01-05  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2005-01-05  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/user/notation.itely (Setting simple songs):
        Correct several errors in the equivalent formulation of
 
        * scm/output-svg.scm (svg-font): Add weight to font selection.
 
-2004-12-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2004-12-14  Mats Bengtsson  <mabe@s3.kth.se>
 
        * Documentation/topdocs/INSTALL.texi (Top): Point to
        buildscripts/out/clean-fonts instead of
        * lily/vaticana-ligature.cc: Fix for MacOS X: use <math.h> instead of
        <cmath> beacause isinf/isnan is undefined in <cmath>
 
-2004-12-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2004-12-03  Mats Bengtsson  <mabe@s3.kth.se>
 
        * cygwin/lily-wins.py (stat): remove old flag -p when calling lilypond.
 
 
        * buildscripts/guile-gnome.sh: Update.
 
-2004-11-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2004-11-10  Mats Bengtsson  <mabe@s3.kth.se>
 
        * scm/define-grobs.scm (all-grob-descriptions): Added
        line-interface to the LigatureBracket object.
        * tex/texinfo.tex: Updated from texinfo CVS -- this version provides
        better output for multicolumn tables.
 
-2004-11-01  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+2004-11-01  Mats Bengtsson  <mabe@s3.kth.se>
 
        * lily/main.cc (dir_info): Fixed typo in the printouts.