]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
($(outdir)/%.pdf): add DVIPS_FLAGS. This will
[lilypond.git] / ChangeLog
index 610e235f3cdabca11d34740dc6e4aba4816defef..1663e1b656347c3503a67f8d4f48a6dea4e438e0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,593 @@
+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}.
+
+2004-02-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * 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 
+
+       * lily/auto-change-iterator.cc: move contents from
+       new-auto-change-iterator.cc from
+
+       * scm/part-combiner.scm: determine split-list from Scheme. 
+
+       * lily/new-auto-change-iterator.cc (process): new file.
+
+       * lily/parser.yy (part_combined_music): remove old PC cruft.
+
+       * ly/engraver-init.ly: remove old
+       PC cruft.
+
+       * Documentation/user/refman.itely (The Lyrics context): note about
+       extender lines.
+
+       * lily/multi-measure-rest-engraver.cc (process_music): extra check
+       to allow 0-length mmrest events.
+
+       * scm/part-combiner.scm (determine-split-list): many bugfixes.
+
+       * lily/new-part-combine-iterator.cc (kill_mmrest): new function.
+
+       * lily/spacing-engraver.cc (finalize): robustifications.
+
+       * input/regression/new-part-combine-solo-global.ly: new file.
+
+       * scm/part-combiner.scm: rewrite.
+
+2004-02-03  Juergen Reuter  <reuter@ipd.uka.de>
+
+       * Documentation/user/refman.itely, input/puer-fragment.ly,
+       input/test/vaticana.ly, ly/engraver-init.ly: ancient examples
+       updated for proper use of lyricsto; replaced "(" and ")" ->
+       "\melisma" and "\melismaEnd"
+
+       * input/test/ancient-font.ly: small updates to reduce compile
+       warnings (TODO: junk this file)
+
+       * input/test/gregorian-scripts.ly: added comment about bug
+
+       * lily/gregorian-ligature-engraver.cc, lily/ligature-engraver.cc:
+       tiny robustness fix
+
+       * mf/parmesan-clefs.mf: exact_center fixes (this broke due to
+       recent changes in the feta code); temporarily mapped mensural g
+       clef to a copy of petrucci g clef until mensural g clef will have
+       been rewritten
+
+       * mf/parmesan-heads.mf: bugfix: solved character name clashing
+       between mensural and neo-mensural heads (this broke quite a while
+       ago)
+
+       * mf/parmesan-rests.mf: still more tiny set_char_box() fixes
+
+2004-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * scripts/filter-lilypond-book.py: Handle @include.  Add progress
+       indication.  Fixes for verbatim, multi line comments.
+
+2004-02-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * input/regression/new-part-combine-solo.ly: more cases.
+
+       * lily/slur.cc (height): robustness fix.
+
+       * lily/new-part-combine-iterator.cc (process): add apart-spanner. 
+
+       * input/mutopia/F.Schubert/morgenlied.ly (melody): revert
+       stemUp/stemDown.
+
+       * scm/music-functions.scm (determine-split-list): further analysis.
+
+       * lily/script-engraver.cc (try_music): discard duplicate
+       articulations.
+
+       * input/regression/new-part-combine-solo.ly: new file
+
+       * input/regression/new-part-combine-a2.ly: new file.
+
+       * ly/performer-init.ly: add Devnull
+
+       * scripts/convert-ly.py (FatalConversionError.sub_acc): add rule
+       for \musicglyph #"accidental-*"
+       (conv): \newpartcombine rule.
+
+2004-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * scripts/filter-lilypond-book.py: Handle @lilypondfile, bugfixes.
+
+2004-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * scripts/filter-lilypond-book.py: Handle verbatim, latex
+       textwidth, --output.
+
 2004-02-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * scm/new-markup.scm (doubleflat): add accidental markups.
+
+       * VERSION: release 2.1.17
+       
+       * Documentation/user/refman.itely (Automatic part combining):
+       revise documentation of the part-combiner.
+
+       * input/regression/pc-switch-slur.ly (texidoc): remove file.
+       
+       * input/test/part-combine-{moment,staff}.ly: remove file.
+
+       * input/regression/pc-mmrest.ly (two): remove file.
+
        * scm/define-music-types.scm (music-descriptions): add
        Solo{One,Two}Event and UnisonoEvent