]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
(construct-chord): process transposition
[lilypond.git] / ChangeLog
index fe7ae09503b56db71fa3c01546eaf61512e8ae5d..409312b4f4e48b9869c053929e581d144ec50dc5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,633 @@
+2004-02-23  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * scm/chord-entry.scm (construct-chord): process transposition
+       after processing explicit-11.  
+
+2004-02-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/parser.yy (add_quote): add syntax for adding quotes:
+       \addquote "id-string" Music
+
+       * scripts/lilypond-book.py (do_file): do not overwrite input file.
+
+       * scripts/convert-ly.py (conv): add rules for name changes.
+
+       * lily/context-scheme.cc (LY_DEFINE): use Scheme style naming for
+       music/context/grob property functions. Internally, use
+       get_property() and set_property() for both.
+
+2004-02-22  Heikki Junes <hjunes@cc.hut.fi>
+
+       * elisp/lilypond-mode.el (get-buffer-size): define new function,
+       for Emacs >= 18 (Laurent Martelli).
+
+2004-02-21  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/parser.yy (command_element): extract quoted vector in
+       parser.
+
+       * input/regression/quote.ly: new file.
+
+       * lily/sequential-iterator.cc (process): only process if moment >= 0.
+
+       * lily/parser.yy (command_element): \quote DURATION NAME: support
+       cue notes. 
+
+       * lily/quote-iterator.cc (class Quote_iterator): new file.
+
+2004-02-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/auto-beam-engraver.cc (try_music): accept and process
+       beam-forbid-event.
+
+       * input/regression/auto-beam-no-beam.ly: new file.
+
+2004-02-20  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * lily/accidental.cc (print): Change font-relative-size ->
+       font-size. Fixes cautionary-style = smaller.
+
+2004-02-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/system-start-delimiter.cc (staff_brace): remove
+       font-relative-size
+
+       * lily/parser.yy (music_property_def): oops. SCM_UNDEFINED
+       forgotten with scm_list_n. Fixes spurious coredumps.
+
+       * lily/accidental-engraver.cc (stop_translation_timestep): move
+       update of localKeySignature to stop_translation_timestep (). This
+       makes sure that all ties are noticed at the right moment.
+       (stop_translation_timestep): clear tie only when right-side
+       notehead was seen.
+       (number_accidentals_from_sig): cleanup. 
+
+       * input/regression/accidental-tie.ly (mus): new file
+
+       * input/regression/tie-accidental, tie-break-accidental.ly: remove
+       these longish tests.
+
+2004-02-19  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/include/*.hh (class Item): rename XXX_b () to is_XXX ().
+
+       * THANKS: update bugreporter list.
+
+       * lily/beam.cc (print): broken beams last until end of staff.
+       (print): broken beams start from prefatory matter.
+
+       * scm/output-tex.scm (output-scopes): don't dump fraction exactly.
+
+       * lily/paper-score.cc (process): dump header only once.
+
+       * lily/paper-outputter.cc (Paper_outputter): move logic into
+       Scheme.
+
+       * scm/output-tex.scm (output-scopes): new function.
+       (output-paper-def): new function
+       (tex-string-def): new function
+       (symbol->tex-key): new function
+
+       * scripts/convert-ly.py (conv): add rule for | ~
+
+2004-02-19  Heikki Junes  <hjunes@cc.hut.fi>
+
+       * input/regression/{many}.ly: refresh, trying to guess how
+       it was designed.
+
+2004-02-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * VERSION: release 2.1.25
+
+       * scm/define-translator-properties.scm
+       (all-user-translation-properties): add printOctaveNames
+
+       * ly/engraver-init.ly: remove Note_event_swallower from
+       NoteNamesContext.
+
+       * lily/note-name-engraver.cc (process_music): new property
+       printOctaveNames
+
+       * lily/context.cc (find_existing_context): remove support for
+       Current.
+
+       * scm/music-functions.scm (set-accidental-style): new function;
+       duplicate accidental macros.
+
+       * ly/property-init.ly (hideStaffSwitch): remove accidental macros.
+
+       * lily/note-name-engraver.cc (process_music):
+       process_acknowledged_grobs () -> process_music ()
+
+       * scm/part-combiner.scm (determine-split-list): robustification.
+
+2004-02-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/beam-quanting.cc (score_forbidden_quants): check all staff
+       lines for falling into beam-gap.
+       (score_forbidden_quants): check all staff lines for falling in
+       beam gaps.
+
+       * lily/note-spacing.cc (get_spacing): less space at EOL in case of
+       key/clef/time signatures. 
+
+       * input/test/ossia.ly: revise example.
+
+       * lily/span-bar.cc (evaluate_glyph): read 'glyph of self first.
+       cleanup.
+       
+       * lily/grob-scheme.cc (LY_DEFINE): change a few function names to
+       comply to Scheme standard.  Remove ly:get-paper-variable
+
+2004-02-17  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * scripts/convert-ly.py (2.1.22): Corrected documentation printout.
+
+2004-02-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/accidental-engraver.cc (process_acknowledged_grobs): use
+       properties from Voice context. This fixes accidental size for
+       staff-switches during grace contexts.
+
+       * lily/note-collision.cc (check_meshing_chords): only wipe heads
+       if necessary. Else, simply wipe dots.
+
+       * input/test/beam-alternate.ly: new file
+
+       * input/test/piano-staff-distance.ly: new file.
+
+       * lily/translator-group.cc (recurse_down_translators): use
+       Direction for bottom-up/top-down.
+
+       * lily/include/translator.hh (class Translator): add
+       process_music() and do_announces(). This obviates
+       recurse_down_{engravers,performers}.
+
+       * ly/declarations-init.ly (melismaEnd): use ManualMelismaEvent for
+       \melisma and \melismaEnd
+
+       * lily/melisma-engraver.cc (process_music): change to
+       Melisma_translator, unify with performer. Accept
+       ManualMelismaEvent.
+
+       * ly/engraver-init.ly: add Font_size_engraver.
+
+2004-02-16  Heikki Junes  <hjunes@cc.hut.fi>
+
+       * lily/align-interface.cc, lily/axis-group-engraver.cc: spell
+       it hara-kiri.
+
+       * input/regression/{many}.ly: improve descriptions trying to figure
+       out what is tested.
+
+2004-02-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/slur.cc (broken_trend_offset): robustness fix.
+
+       * VERSION: release 2.1.24
+
+       * lily/context.cc (find_create_context): go to Score if it exists.
+
+       * lily/context-scheme.cc: new file.
+
+       * lily/score-translator.cc (get_output): new file.
+
+       * lily/include/grob-info.hh: origin_contexts() now does not
+       include the originating engraver
+
+       * lily/translator-group.cc (translator_each): clean up contents,
+       remove superfluous stubs. Engraver_group_engraver and
+       Performer_group_performer are the only classes using multiple
+       inheritance.
+
+       * lily/include/score-context.hh (class Score_context): interface
+       between Score_{engraver,performer} and Global_context.
+
+       * lily/include/global-context.hh (Context): change from
+       global-translator. This is the entry point for contexts; it is not
+       tweakable using \translator{}. Score is no longer the top context,
+       but sits underneath Global.
+
+       * lily/include/context.hh (class Context): brain surgery: split
+       out Context functionality from Translator_group. Context is now a
+       separate type from Translator.
+
+2004-02-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/include/translator.hh (class Translator): make
+       get_score_context() and get_global_translator (), and use the one
+       which is appropriate.
+
+       * lily/context.cc: partially put functionality of Translator_group
+       into Context.
+
+       * lily/include/context.hh (Translator): new class: put between
+       Translator and Translator_group. 
+
+       * lily/new-accidental-engraver.cc: remove file.
+
+2004-02-16  Heikki Junes  <hjunes@cc.hut.fi>
+
+       * input/regression/{many}.ly: improve descriptions: use complete 
+       sentences, try to describe what is tested, avoid `we´, do not use 
+       don't, ... 
+
+2004-02-15  Heikki Junes  <hjunes@cc.hut.fi>
+
+       * Documentation/user/refman.itely: use `@c´ if $internalsref{...} @c
+       is at EOL.
+
+       * Documentation/user/lilypond.tely: declare the topmost node only
+       once; removes empty line in @contents.
+
+       * Documentation/user/music-glossary.tely: really add Finnish author.
+       Draw more beatiful `->´ arrow in html: &rarr;
+
+2004-02-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/music.cc (LY_DEFINE): rename to ly:music-list?
+
+       * scripts/convert-ly.py (conv): add ly:music-list  change.
+
+       * lily/grob.cc: edit doc string.
+
+       * scm/define-grob-properties.scm (all-user-grob-properties):
+       proofreading, editing of doc strings.
+
+       * input/regression/tablature-string-tunings.ly: new file.
+
+       * lily/staff-symbol-engraver.cc (process_music): new engraver,
+       listen to stringTunings
+
+       * lily/align-interface.cc (align_elements_to_extents): remove Grob
+       for self-alignment-[XY] code.
+2004-02-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * scm/slur.scm (calc-slur-extremity): change "rules" (home-brewn
+       cond) into function. Cleanup.
+
+       * lily/text-spanner.cc: remove text-repeat-if-broken property.
+       
+       * VERSION (PACKAGE_NAME): 2.1.23 released
+
+2004-02-14  Heikki Junes   <hjunes@cc.hut.fi>
+
+       * Documentation/user/{refman,internals}.itely: small fixes.
+
+2004-02-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/accidental-engraver.cc (acknowledge_grob): don't make
+       accidentals for harmonic notes
+
+       * lily/new-fingering-engraver.cc (acknowledge_grob): kill dots,
+       for harmonic notes.
+
+       * scm/document-backend.scm (interface-doc): prune Grob
+       documentation: don't duplicate interface information.
+
+       * lily/*.cc: lots of updates of doc strings.
+
+2004-02-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * input/test/ac-extra-voice.ly (accompany): remove file.
+
+       * input/test/maximum-rest-count.ly: remove file.
+
+       * scripts/convert-ly.py (FatalConversionError.subst_in_trans):
+       conversion rule for \translator { }. Apply everywhere.  
+
+       * lily/parser.yy (music_property_def): set property for \once in
+       the PropertyMusic itself, not the ContextSpec.
+       (property_operation): change syntax within \translator { }
+
+       * scm/define-music-properties.scm (all-music-properties): clean up.
+
+       * lily/auto-beam-engraver.cc (test_moment): use
+       updated_grob_properties() to retrieve autoBeam settings.
+
+       * lily/spacing-spanner.cc: bound shortest_playing_len by
+       measure_length
+
+       * lily/spacing-engraver.cc (acknowledge_grob): ignore
+       multi-measure events for spacing computation.
+
+       * mf/feta-bolletjes.mf (overdone_heads): make note heads more
+       elliptical, to 1.49.
+
+       * 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. 
+
+       * VERSION: 2.1.22 released
+       
+       * 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>
 
-       * Documentation/user/refman.itely (More stanzas): document slur
-       deficiency.
+       * 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/score-performer.cc (one_time_step): reinstate
        process_music().
-       
 
        * lily/performer.cc (process_music): add to interface.
 
        index.
        (main): really support -I option.
        (find_toplevel_snippets): new code.
-       (find_toplevel_snippets): reinstate old version, without global variables. 
+       (find_toplevel_snippets): reinstate old version, without global
+       variables.
 
        * tex/texinfo.tex: really add file.