+2006-08-24 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * 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. Backportme.
+
+ * 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@drongo.s3.kth.se>
+
+ * scripts/lilypond-book.py (output): Remove obsolete(!?)
+ \catcode`\@=12 in the LaTeX output.
+
+2006-08-11 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * scm/define-music-types.scm (music-descriptions):
+ use sustain-event iso. sustain-pedal-event.
+
+2006-08-11 Joe Neeman <joeneeman@gmail.com>
+
+ * scripts/convert-ly.py: honour the -n command-line switch
+
+2006-08-10 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
+ break specification.
+
+2006-08-10 Joe Neeman <joeneeman@gmail.com>
+
+ * Documentation/user: convert-ly the user manual
+
+2006-08-09 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * stepmake/aclocal.m4: version check patch (thanks MWD)
+
+ * ly/music-functions-init.ly: robustness. Don't crash if
+ currentBarNumber is not a number.
+
+ * VERSION (PATCH_LEVEL): bump.
+
+2006-08-08 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * stepmake/aclocal.m4: better version check; handle fooX.Y
+ binaries too.
+
+ * ly/performer-init.ly: instrument name fixup.
+
+ * input/manual/chord-names-jazz.ly (banterProperties):
+ instrumentName update
+
+ * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
+
+ * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
+
+ * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
+ function. Use hash tables to check membership.
+
+ * lily/general-scheme.cc (LY_DEFINE): new function.
+
+ * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
+
+ * lily/include/translator.hh (struct Acknowledge_information): add
+ Protected_scm
+
+ * ly/music-functions-init.ly: change name to BreathingEvent
+
+ * input/regression/*.ly: apply it.
+
+ * python/convertrules.py (conv): better instrumentName conversion
+ rule.
+
+ * scm/define-music-types.scm (music-descriptions): add
+ line-break-event to LineBreakEvent music
+
+ * lily/music.cc (to_event): don't crash if music type not set.
+
+ * 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.
+
+ * scm/translation-functions.scm (format-bass-figure): inspect
+ stream-event.
+
+ * scripts/lilypond-book.py (bindir): add bindir to $PATH.
+
+2006-08-08 Joe Neeman <joeneeman@gmail.com>
+
+ * lily/include/constrained-breaking.hh: add Line_details (Prob*)
+
+ * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
+
+ * scm/layout-page-layout.scm (make-page-from-systems): new function
+ (optimal-page-breaks): use the new page-breaking calling convention
+
+ * scm/define-context-properties.scm (all-user-translation-properties):
+ add revokePageTurns
+
+ * lily/paper-column-engraver.cc (stop_translation_timestep): add
+ revokePageTurns functionality. If there is a special barline within
+ the breakable region, break there instead of at the end of the region.
+
+ * lily/paper-book.cc (pages): use the new page-breaking calling
+ convention
+
+2006-08-07 Erik Sandberg <mandolaerik@gmail.com>
+
+ * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
+
+ * scripts/lilypond-book.py: insert \sourcefileline command in
+ output, so lilypond error messages refer to the spot in the
+ original .lytex / .itely sourcefile.
+
+2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
+ space to next column for distance to fixed col.
+
+ * VERSION (PACKAGE_NAME): release 2.9.14
+
+ * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
+ if no accidental.
+
+ * lily/accidental-engraver.cc (process_acknowledged): don't create
+ accidental for trill span event. This fixes spurious accidentals
+ on trills.
+
+2006-08-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
+
+ * scm/define-grob-properties.scm (all-user-grob-properties):
+ Clarify documentation of side-axis and direction. Thanks to Paul
+ for the inspiration.
+
+ * lily/bar-line.cc: Add documentation for "||:" also in the
+ interface documentation.
+
+2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
+
+ * lily/paper-column.cc (set_system): new function.
+
+ * lily/spacing-engraver.cc (stop_translation_timestep): store
+ SpacingSpanner refs in Paper_column.
+
+ * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
+ compute loose clique spacing using GraceSpacing/SpacingSpanner.
+
+2006-08-03 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * lily/beam-engraver.cc (listen_beam): add method for
+ Grace_beam_engraver too.
+
+2006-08-03 Mats Bengtsson <mabe@drongo.s3.kth.se>
+
+ * python/convertrules.py: Fix indentation bug that broke
+ conversion of files older than 1.3.117.
+ Fix escape error in the description for 2.9.6.
+
+2006-08-02 Erik Sandberg <mandolaerik@gmail.com>
+
+ * lily/*-engraver.cc: convert all try_music functions to listen_*
+ functions.
+
+ * lily/piano-pedal-engraver.cc: some additional cleanups: use
+ enums to represent pedal types, and calculate more data statically.
+
+ * scm/part-combiner.scm (recording-group-emulate): create a
+ softcoded substitute for recording-group-engraver.cc.
+
+ * lily/music.cc: make a common transpose function for events and
+ music
+
+ * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
+ ManualMelismaEvent, and obsoletes Melisma_translator.
+
+2006-08-02 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * input/test/instrument-name-align.ly: update version.
+
+2006-08-02 Mats Bengtsson <mabe@drongo.s3.kth.se>
+
+ * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
+ Doc the --pdf flag to lilypond-book.
+
+2006-07-31 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * Documentation/topdocs/NEWS.tely (Top): add description.
+
+ * input/regression/tuplet-full-length-note.ly: add file.
+
+ * lily/instrument-name-engraver.cc (acknowledge_axis_group):
+ always store axis group.
+
+2006-07-27 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * input/regression/instrument-switch.ly: new file.
+
+ * lily/instrument-switch-engraver.cc (process_music): new file.
+
+ * ly/engraver-init.ly: add Instrument_switch_engraver
+
+ * ly/music-functions-init.ly: \instrumentSwitch
+
+ * scm/define-context-properties.scm
+ (all-user-translation-properties): add instrumentCueName
+
+ * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
+
+2006-07-26 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * ly/music-functions-init.ly: music function \transposition.
+
+ * lily/parser.yy (command_element): softcode \transposition.
+
+ * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
+ (process_music): oops.
+
+ * lily/instrument-name-engraver.cc (start_spanner): new
+ function. Create spanner when property changes.
+ (stop_spanner): new function.
+
+ * python/convertrules.py (conv): add rule.
+
+ * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
+ shortInstrumentName iso. instr.
+
+ * scm/output-ps.scm (dashed-line): add phase argument to
+ dashed-line.
+
+ * lily/bar-line.cc (dashed_bar_line): new function.
+ (compound_barline): support \bar "dashed".
+
+ * lily/lily-parser-scheme.cc (LY_DEFINE): only write
+ --output=DIR to DIR/BASE if it is a dir.
+
+ * flower/file-name.cc (file_part): new function
+ (dir_part): new function
+
+ * lily/lily-parser-scheme.cc (LY_DEFINE):
+
+ * DEDICATION: update
+
+2006-07-25 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * lily/instrument-name-engraver.cc: formatting.
+
+ * python/convertrules.py (conv): bugfix for \epsfile.
+
+2006-07-25 Joe Neeman <joeneeman@gmail.com>
+
+ * lily/grob.cc:
+
+ * lily/gourlay-breaking.cc: Oops, these should have been included
+ in my last commit
+
+2006-07-24 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * scripts/*.py (program_name): cleanup relocation snippets.
+
+ * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
+
2006-07-24 Joe Neeman <joeneeman@gmail.com>
* scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2006-07-23 Han-Wen Nienhuys <hanwen@lilypond.org>
+ * VERSION (PACKAGE_NAME): release 2.9.13
+
* scm/define-grobs.scm (all-grob-descriptions): remove stray
assignment.
* Documentation/topdocs/NEWS.tely (Top): doc new features.
- * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new function.
+ * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
+ function.
* scm/define-grob-properties.scm (all-user-grob-properties):
remove grace-space-factor.
- * scm/define-grob-interfaces.scm (grace-spacing-interface): add grace-spacing-interface
- (spacing-options-interface): add.
+ * scm/define-grob-interfaces.scm (grace-spacing-interface): add
+ grace-spacing-interface
+ (spacing-options-interface): add.
* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver