+2004-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/rest.cc (polyphonic_offset_callback): new function. Do
+ vertical positioning for polyphony, without RestCollision object.
+
+ * lily/note-column.cc (add_head): prevent rests & note heads on
+ one stem.
+
+ * lily/rest-collision.cc (do_shift): ignore rests with beams.
+ (do_shift): rewrite only-rests case: use common refpoints: the
+ routine will have sensible results when other rest-translations
+ have taken place.
+
+ * lily/simple-spacer.cc (solve): cleanup: remove code for linelen
+ < 0 case.
+
+ * input/GNUmakefile (SUBDIRS): remove ascii-art
+
+2004-02-13 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * input/: Convert ly files that still had \property. Fixes make
+ web. Remove exta spaces around '='.
+
+ * scripts/convert-ly.py (conv): Redundant space fixes.
+
+ * scripts/lilypond-book.py (compile-ly): python2.1 fix.
+
+2004-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * make/ly-rules.make ($(outdir)/%.pdf): add DVIPS_FLAGS. This will
+ create scalable PS and PDFs for input/{test,template,regression}.
+
+ * lily/context.cc (is_alias): move function.
+ (is_alias): add Bottom as context alias.
+ (find_create_translator): add Bottom as a context alias for creation.
+
+ * lily/stencil.cc: rename Molecule to Stencil. Changes throughout.
+
+ * lily/parser.yy (music_property_def): new syntax for property
+ assignments:
+
+ \set A.B = #C , \unset A.B
+ \override A.B #C = #D, \revert A.B #C
+
+ * lily/my-lily-lexer.cc: remove \property
+
+2004-02-13 Heikki Junes <hjunes@cc.hut.fi>
+
+ * Documentation/user/refman.itely: add dots after seealso refs.
+
+ * input/template/{many}.ly: harmonise descriptions.
+
+ * Documentation/user/music-glossary.itely: add Finnish author.
+
+2004-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * VERSION (PACKAGE_NAME): release 2.1.21
+
+2004-02-12 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/topdocs/NEWS.texi: Substitute Lyrics/LyricsVoice.
+
+ * scripts/lilypond-book.py (snippet_res): @include filename must
+ not be empty.
+
+2004-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/documentation-generate.scm (markup-doc-string): dump
+ markup-commands.tely
+
+ * scm/define-markup-commands.scm (override): new file.
+ Move documentation from refman into doc-strings.
+
+ * input/test/staff-container.ly: fix example.
+
+ * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
+ StaffContainer
+
+ * lily/grob.cc: remove point_dimension_callback
+ (Grob): read forced dimensions from X-extent and Y-extent.
+ (get_paper): remove preset_extent.
+
+ * scm/define-grobs.scm (all-grob-descriptions): remove
+ point_dimension_callback.
+
+ * lily/dynamic-engraver.cc (acknowledge_grob): attach dynamic
+ textscript to head. This makes no-spacing-rods work on
+ DynamicText.
+
+ * lily/chord-name.cc: remove props chord, bass, inversion.
+
+ * Documentation/user/appendices.itely: add Scheme functions,
+ context-properties and layout properties to manual.
+
+ * scm/part-combiner.scm (determine-split-list): include rests in a
+ solo1/2 sequence.
+
+ * lily/new-part-combine-iterator.cc (substitute_both): new
+ function.
+ (class New_pc_iterator): add separate Voice=solo context, fixes
+ autobeams going from chords to solo.
+
+2004-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/user/invoking.itexi (Editor support): Fix typo.
+
+ * Documentation/user/tutorial.itely:
+ * Documentation/user/refman.itely: Add short note about being part
+ of lilypond.tely.
+
+ * COPYING: Make note more clear with respect to files that are
+ explicitely licenced otherwise (Documention/user/ comes to mind).
+
+ * Documentation/topdocs/AUTHORS.texi (AUTHORS): Use @,{c}. Remove
+ comment about barfing of @c,{}.
+
+ * Documentation/user/music-glossary.tely: Add list of authors.
+
+ * stepmake/stepmake/library-rules.make: Thank Nelson only in
+ source (was: also in build log).
+
+2004-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/side-position-interface.cc (general_side_position): if
+ staff-padding is set, then include staff in support too.
+
+ * GNUmakefile.in (README_FILES): remove TODO. Put in new CVS
+ module workbook
+
+ * TODO: Remove. Put in new CVS module /cvsroot/lilypond/workbook/
+
+ * lily/tuplet-engraver.cc: remove tupletInvisible
+
+ * scm/define-translator-properties.scm: cleanup, separate in
+ internal and user props.
+
+ * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): change
+ LyricsVoice -> Lyrics
+
+ * lily/new-part-combine-iterator.cc (process): only print warning
+ for symbols.
+
+2004-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/part-combiner.scm: Add proper header.
+
+ * All but lily/*: The great --2003 --2004 replace; the missing
+ `bits'.
+
+ * TODO: Fix outline mode. Add book notes.
+
+ * ROADMAP: Update.
+
+2004-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/part-combiner.scm (make-autochange-music): use
+ accumulator. Fixes stack overflow.
+
+ * lily/*: rename brew_molecule -> print , molecule-callback ->
+ print-function
+
+ * scm/define-grob-properties.scm: cleanup. Separate into internal
+ and user properties.
+
+ * lily/translator-property.cc (updated_grob_properties): new
+ function
+ (execute_pushpop_property): change to new convention:
+ object property inits are stored as (cons ALIST BASED-ON). This
+ storage format allows concurrent tweaks in different contexts.
+
+2004-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * TODO: new file.
+
+2004-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * debian/: Late Debian update (sorry Anthony).
+
+ * scripts/lilypond-book.py (do_file): Look for input_file in
+ include path, or ask kpathsea if LATEX.
+
+ * input/template/GNUmakefile (LILYPOND_BOOK_FLAGS):
+ * input/test/GNUmakefile (LILYPOND_BOOK_FLAGS):
+ * input/regression/GNUmakefile (LILYPOND_BOOK_FLAGS): Use
+ --header=texidoc.
+
+ * Documentation/user/tutorial.itely (Fine tuning layout): Add lost
+ relative.
+
+ * scripts/lilypond-book.py: Fixes for make web. Default to stdout
+ only when filtering, default to input_base otherwise. Coding
+ style fixes.
+
+2004-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/include/translator.hh (class Translator): add virtual
+ qualifier.
+
+2004-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scripts/lilypond-book.py (compose_ly): Python2.1 workarounds.
+
+2004-02-09 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scripts/lilypond-book.py (compose_ly): Add kludge for relative.
+
+ * Documentation/user/refman.itely: Run texinfo-all-menus-update
+ (fixes make web).
+
+ * GNUmakefile.in (web-clean): Do not remove fonts (they do not
+ live in $(out)-www).
+
+ * scripts/lilypond-book.py: Small cleanups. Junk hairy include
+ dependencies. Add link to .ly source in HTML output.
+ (Lilypond_snippet.output_html): Handle multiple page picture
+ output.
+ (Lilypond_snippet.output_html, Lilypond_snippet.output_latex):
+ Make usable for output_texinfo again.
+
+ * Documentation/user/GNUmakefile: Add static dependency for
+ lilypond.tely includes.
+
+ * Documentation/user/tutorial.itely: Add some lost `relative'
+ ly-options.
+
+2004-02-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/include/translator-group.hh: move Music_output_def member
+ to Global_translator.
+
+ * scripts/lilypond-book.py (do_file): fix latex output.
+
+ * VERSION: release 2.1.20
+
+ * scm/part-combiner.scm (determine-split-list): robustness fix
+
+ * lily/paper-score.cc (process): move gc stat stuff to init.ly
+
+ * lily/parser.yy (music_output_def_body): plug memory leak.
+
+ * lily/translator-group.cc (add_fresh_group_translator): plug
+ memory leak: unprotect Translator_group once added.
+
+ * lily/span-dynamic-performer.cc (process_music): deprecate span-type.
+
+ * scripts/lilypond-book.py (Lilypond_snippet.notice_include):
+ write .dep file.
+ (Lilypond_snippet.ly): add \renameinput.
+
+2004-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * Documentation/user/refman.itely (Markup command definition): Doc
+ by Nicolas Sceaux. Rewrite by Han-Wen
+
+ * lily/lyric-hyphen.cc (brew_molecule): remove if hyphen is first
+ thing of the line.
+ (brew_molecule): only remove if hyphen is not at the end of line.
+ (set_spacing_rods): new function: minimum-length specifies
+ distance between syllables.
+
+ * scm/define-grobs.scm (all-grob-descriptions): add
+ Hyphen_spanner::set_spacing_rods to LyricHyphen
+
+ * input/regression/lyric-hyphen-break.ly: new file.
+
+ * input/test/lyric-hyphen-retain.ly: new file.
+
+ * lily/new-part-combine-iterator.cc (construct_children):
+ add Rest direction.
+
+2004-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scripts/lilypond-book.py (Snippet.replacement_text): add method.
+
+ * Documentation/bibliography/engraving.bib (donemus1982):
+ update entry.
+
+2004-02-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scripts/lilypond-book.py (Substring.__init__): new class.
+ (Snippet.output_texinfo): add texidoc option.
+ (Include_snippet.replacement_text): new class.
+ (Lilypond_snippet.__init__): new class
+ (Lilypond_snippet.get_hash): bugfix: use full body for hashing.
+
+ * Documentation/user/refman.itely (Sound):
+ note about number of channels.
+
+ * scm/music-functions.scm (voicify-music): add \context Staff for
+ << \\ >> polyphony.
+
+ * lily/parser.yy (verbose_command_req): \skip now creates
+ SkipMusic, and does not lead to spurious staves.
+
+ * scm/define-music-types.scm (music-descriptions): rename
+ NonEventSkip to SkipMusic
+
+ * input/no-notation/midi-lyric-barcheck.ly: new file.
+
+ * input/regression/collision-dots-invert.ly: new file.
+
+ * lily/note-collision.cc (check_meshing_chords): add stem_to_stem
+ case.
+
+ * lily/new-lyric-combine-music-iterator.cc (process): let iterator
+ die if melody died too.
+
+2004-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/source-file.cc (load_stdin): add trailing 0. Fixes problem
+ with reading from stdin.
+
+ * lily/slur-performer.cc (try_music): new file.
+
+ * lily/melisma-performer.cc (try_music): new file. Handle
+ melismata to help lyrics.
+
+ * lily/beam-performer.cc (try_music): new file. Handle beam events
+ to help lyrics.
+
+ * lily/score-performer.cc (one_time_step): reinstate
+ process_music().
+
+ * lily/performer.cc (process_music): add to interface.
+
+ * lily/performer-group-performer.cc (process_music): new function.
+
+ * lily/dot-column.cc (do_shifts): do collision resolution before
+ dot positioning.
+
+ * scripts/lilypond-book.py (Snippet.output_print_filename): new
+ file, process printfilename option.
+ (Snippet.__init__): rewrite: do not use global variables h or
+ index.
+ (main): really support -I option.
+ (find_toplevel_snippets): new code.
+ (find_toplevel_snippets): reinstate old version, without global
+ variables.
+
+ * tex/texinfo.tex: really add file.
+
+2004-02-06 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scripts/lilypond-book.py (find_toplevel_snippets): Python < 2.3
+ compatibility.
+
+2004-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scripts/hw-lilypond-book.py (Snippet.output_print_filename):
+
+ * scm/define-translator-properties.scm (drumPitchTable): add
+ property.
+
+ * scripts/lilypond-book.py (simple_toplevel_snippets): new
+ function.
+ (help_summary): docstrings.
+ (do_file): strip the dir of input_base too.
+
+2004-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/topdocs/NEWS.texi: Add item about lilypond-book.
+
+ * Documentation/user/lilypond-book.itely: Update.
+
+ * make/ly-rules.make: Update lilypond-book commands.
+
+ * Documentation/user/GNUmakefile: Update makeinfo commands,
+ lilypond-book flags.
+
+ * scripts/lilypond-book.py: Rewrite (was: filter-lilypond-book.ly).
+
+ * scripts/old-lilypond-book.py: New file (was: lilypond-book.ly).
+
+ * scripts/filter-lilypond-book.py: Remove.
+
+ * Documentation/user/*tely: Update options for new lilypond-book.
+
+ * tex/texinfo.tex: New file; from texinfo CVS. This fixes build
+ with @macros in @includes.
+
+2004-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/rest-collision-engraver.cc (process_acknowledged_grobs):
+ make rest-collision only.
+
+ * lily/break-substitution.cc (substitute_one_mutable_property):
+ clear all-elements using scm_assq_remove_x().
+
+ * lily/rest-collision.cc (do_shift): shift single rests
+
+ * flower/include/array.hh (class Array): rename to is_empty ()
+
+ * lily/drum-note-performer.cc: new file: perform drum notes.
+
+ * VERSION (PACKAGE_NAME): release 2.1.19.
+
+2004-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scripts/filter-lilypond-book.py
+ (classic_lilypond_book_compatibility): New function.
+
+2004-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * buildscripts/lilypond.words.py (F): remove drums.scm reference.
+
+ * Grand 2003 -> 2004 search replace.
+
+ * lily/parser.yy (chord_body_element): add DRUM_PITCH to chords
+ (i.e. < > )
+
+ * ly/performer-init.ly: add DrumStaff
+
+ * lily/axis-group-engraver.cc (acknowledge_grob): also take
+ lyric-interface; this prevents lines with only extender lines from
+ being junked.
+
+ * scm/define-grob-interfaces.scm (lyric-interface): new interface
+
+ * lily/lyric-extender.cc (brew_molecule): get line breaking and
+ extenders right, for once and for all (hopefully).
+
+ * lily/break-substitution.cc (substitute_one_mutable_property):
+ clear old 'all-elements for System grobs.
+
+ * lily/new-lyric-combine-music-iterator.cc (find_voice): make sure
+ that associatedVoiceContext is always assigned when music & lyrics
+ are found.
+
+ * ly/engraver-init.ly: remove Lyrics context.
+ (TabVoice): add noteheads engraver
+
+ * input/test/improv.ly: update: do not use Thread switching.
+
+ * lily/pitch-squash-engraver.cc (acknowledge_grob): only squash if
+ squashedPosition is a number
+
+ * Documentation/user/refman.itely (Automatic note splitting):
+ remove Thread references.
+
+ * input/no-notation/pc-direction.ly: remove file.
+
+ * ly/engraver-init.ly: remove Thread
+
+ * input/regression/tie-chord-partial.ly: remove file.
+
+ * scripts/convert-ly.py (conv): \harmonic rule
+
+ * lily/new-fingering-engraver.cc (acknowledge_grob): add new
+ notation for harmonic notes: <c' g''\harmonic>
+
+ * lily/lily-guile.cc (alist_to_hashq): new function
+
+ * scm/lily.scm (alist->hash-table): new function.
+
+ * Documentation/user/refman.itely (Percussion staves): update doco.
+
+ * input/regression/drums.ly (timb): updates
+
+ * lily/note-performer.cc (create_audio_elements): robustness fix.
+
+ * ly/engraver-init.ly: add DrumStaff and DrumVoice contexts
+
+2004-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scripts/filter-lilypond-book.py (find_toplevel_snippets): Do not
+ discard valid matches.
+
+2004-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/drum-note-engraver.cc: new file.
+
+ * ly/drumpitch-init.ly: move drum definitions
+
+ * scm/drums.scm: remove file.
+
+ * lily/*.cc: remove abort-event everywhere.
+
+ * lily/note-heads-engraver.cc (process_music): robustification.
+
+ * lily/accidental-engraver.cc (process_acknowledged_grobs):
+ robustification.
+
+ * lily/parser.yy (simple_element): add \drums mode.
+ (simple_element): remove \pitchnames , \chordmodifiers. Use
+ variables to store this.
+
+ * lily/lexer.ll (My_lily_lexer): remove support for \PITCHNAME
+ outside \notes.
+
+ * VERSION: release 2.1.18.
+
+ * input/test: remove octave-duplicate.ly
+
+2004-02-04 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scripts/filter-lilypond-book.py: Speed-up and clean-ups.
+
2004-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/simultaneous-music-iterator.cc: remove clone() and copy
+ constructor from Music_iterator. Changes throughout.
+
* lily/include/music-iterator.hh (class Music_iterator): remove
Music_iterator::skip and Music_iterator::get_pending_events from
interface. Rename report_to -> get_outlet