]> git.donarmstrong.com Git - lilypond.git/blobdiff - ChangeLog
lily/include/context-def.hh: rename from translator-def.hh
[lilypond.git] / ChangeLog
index dc0c0120e692b87d0ece1a782b25c3d37d1b2bdd..800d5bec8e545707594551dddfd474b4f8706238 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,566 @@
+2004-01-21  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/include/context-def.hh: rename from translator-def.hh
+
+2004-01-21  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * input/template/piano-dynamics.ly (pedal): Updated definition of
+       Dynamics such that \cresc works, for example.
+
+2004-01-21  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/stem.cc (calc_stem_info): use
+       Staff_symbol_referencer::staff_space
+
+       * lily/beam-quanting.cc (quanting): scale Stem_info 
+
+       * lily/beam.cc (rest_collision_callback): use minimum-distance
+       property for rest/beam collisions.
+       (rest_collision_callback): bugfixes.
+
+       * lily/system.cc (post_processing): extra-offset is now relative
+       to the size of the current staff.
+
+       * scm/music-functions.scm (notice-the-events-for-pc): record all
+       voices, only analyze "one" and "two".
+
+       * lily/recording-group-engraver.cc (finalize): bugfix: want self,
+       not parent. 
+
+       * lily/new-part-combine-iterator.cc (construct_children): create
+       Devnull from Voice context
+
+       * scm/music-functions.scm (determine-split-list): bugfixes.
+
+       * lily/lily-guile.cc (robust_scm2int): new function
+
+       * lily/staff-symbol-referencer.cc (line_thickness): new
+       function. Use throughout.
+
+       * lily/font-size-engraver.cc (acknowledge_grob): only process grob
+       in its own context.  Add to preset font-size.
+
+       * lily/stem.cc (thickness): new function.
+
+       * lily/staff-symbol.cc (get_ledger_line_thickness): new function:
+       compute thickness from ledger-line-thickness.
+
+       * lily/note-head.cc (brew_ledger_lines): use
+       Staff_symbol::get_ledger_line_thickness ().
+
+       * lily/beam.cc (rest_collision_callback): use
+       Staff_symbol_referencer::staff_space().
+
+       * lily/parser.yy (My_lily_lexer): change syntax: \newpartcombine
+       Mus1 Mus2
+
+       * lily/include/translator.hh (class Translator): add accepts_list_
+       so  \with { \denies / \accepts } also works.
+
+       * scm/music-functions.scm (determine-split-list): determine split
+       list from music events.
+
+       * lily/new-part-combine-iterator.cc: more states.
+
+       * lily/moment.cc (LY_DEFINE): new function ly:moment<? 
+
+2004-01-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/system.cc (set_loose_columns): use the right prebroken cols
+       for interpolating loose column position.
+
+       * lily/text-spanner.cc (brew_molecule): default to no vertical
+       lines.
+
+       * lily/ottava-bracket.cc (brew_molecule): vertical line doesn't
+       take space.
+
+       * scm/define-grobs.scm (all-grob-descriptions): less padding.
+
+2004-01-20  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * scripts/convert-ly.py: Do not test filename when processing
+       stdin.
+
+       * lily/axis-group-engraver.cc: Include warn.hh (compile fix).
+
+2004-01-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/axis-group-engraver.cc (finalize): extra check; if
+       process_music () is never called, then staffline_ == 0.
+
+       * lily/simultaneous-music-iterator.cc (pending_moment): don't
+       check run_always ().
+       
+       * VERSION: release 2.1.13
+
+       * input/regression/note-head-style.ly (pattern): cleanup.
+
+       * mf/GNUmakefile ($(outdir)/$(redhat-package)): use http for
+       downloading.
+
+       * scm/output-lib.scm (shift-right-at-line-begin): new function:
+       kludge rehearsalmark placement.
+
+       * lily/grob-scheme.cc (LY_DEFINE): add ly:item-break-dir , ly:item?
+       , ly:spanner?
+
+       * lily/note-head.cc (internal_brew_molecule): only shorten ledger
+       close to note head for accidentals.
+
+       * lily/tuplet-bracket.cc (get_default_dir): new algorithm for
+       tuplet direction.
+
+       * mf/parmesan-heads.mf (overdone_heads): enlarge harmonic head.
+
+2004-01-19  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/include/music-iterator.hh (class Music_iterator): add
+       substitute_outlet() to iterator API.
+
+       * lily/new-part-combine-iterator.cc (construct_children):
+       New_pc_iterator: new class, better part combining.
+
+       * lily/tie-column.cc (werner_directions): new function
+
+       * lily/tie.cc (set_direction): call Tie_column::set_direction ()
+
+       * lily/axis-group-engraver.cc (process_acknowledged_grobs): give
+       empty objects group spanner as parent
+
+       * lily/tuplet-bracket.cc (calc_position_and_height): check musical
+       slope against graphical slope.
+
+       * lily/ottava-bracket.cc (brew_molecule): support minimum-length
+       for ottava bracket.
+
+       * lily/side-position-interface.cc (general_side_position):
+       opps. reinstate *dir.
+
+       * lily/parser.yy: plug many memory leaks. We're down to 4 for each
+       parser run.
+
+       * lily/tuplet-bracket.cc: remove calc_dy ().
+
+       * Documentation/user/refman.itely (Balloon help): document balloon
+       help
+
+2004-01-19  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * scm/document-backend.scm (check-dangling-properties): Grob
+       properties are defined define-grob-properties.scm.
+       
+2004-01-19  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+       
+       * VERSION: release 2.1.12
+
+       * scm/define-grobs.scm (all-grob-descriptions): larger font for
+       ChordName
+
+       * scm/new-markup.scm (sub-markup): sup & super: make smaller in
+       relation to surroundings.
+
+       * lily/tuplet-bracket.cc (calc_position_and_height): add staff
+       Y-extent to the note-extents: stay clear of the staff.
+
+2004-01-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * Documentation/user/GNUmakefile
+       ($(outdir)/lilypond/lilypond.html): posix conforming globs. Link
+       iso. copy.
+
+       * stepmake/stepmake/metafont-rules.make: remove --keep-trying.
+
+       * lily/separating-group-spanner.cc (set_spacing_rods): add padding.
+
+       * mf/,scripts/,make/,ly/,scm/: remove AsciiScript remnants.
+
+       * lily/lily-guile.cc (robust_scm2double): new function. Use throughout.
+
+       * lily/line-interface.cc (line): remove thickness from calling interface.
+
+       * lily/hairpin.cc: use Line_interface
+
+       * lily/line-interface.cc: new file. Line_interface for everything
+       with dotted/dashed lines.
+       
+
+       * lily/tuplet-bracket.cc (make_bracket): use Line_interface.
+
+       * lily/ottava-bracket.cc (brew_molecule): new file, separate routine
+       for constructing ottava brackets.
+       
+       * lily/ottava-engraver.cc (acknowledge_grob): hang the bracket on
+       the note heads.
+
+       * Documentation/user/internals.itely (Engravers and performers):
+       fix broken link.
+
+       * scm/music-functions.scm (make-mark-set): new function.
+
+       * lily/lookup.cc: remove Lookup::horizontal_slope (): it is
+       functionally identical to beam.
+
+       * lily/mensural-ligature.cc (brew_flexa): replace horizontal_slope
+       () with beam (). 
+
+       * Documentation/user/refman.itely (Rehearsal marks): document new
+       functionality.
+
+       * input/regression/rehearsal-mark-number.ly: new file.
+
+       * input/regression/rehearsal-mark-letter.ly: new file.
+
+       * scm/translation-functions.scm (number->mark-string): new function
+       (format-mark-letters): new function
+       (format-mark-numbers): new function
+
+       * lily/mark-engraver.cc (process_music): rehearsalMark is now
+       integer; formatting is done through markFormatter property.
+       
+       * scm/define-translator-properties.scm: fold all *-done properties
+       into positioning-done.
+
+       * lily/beam.cc (position_beam): new function
+       (brew_molecule): make sure that positions are calced before making
+       the molecule.
+
+       * scm/output*.scm (beam):  take 4th argument for function.
+
+       * ps/music-drawing-routines.ps: take blot as 4th argument.
+
+       * lily/beam.cc (brew_molecule): fix beam offsets: overlap with the
+       stem to avoid small dents.
+       
+
+2004-01-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * VERSION: release 2.1.11
+
+       * input/regression/balloon.ly: new file.
+
+       * lily/balloon.cc (brew_molecule): new file: draw boxes around
+       objects, and make help texts. 
+
+       * scm/new-markup.scm (parse-simple-duration): parse duration
+       string to log & dots. (Thanks Nicolas!)
+
+       * scripts/convert-ly.py (FatalConversionError.sub_note): add \note rule.
+
+2004-01-17  Heikki Junes   <hjunes@cc.hut.fi>
+
+       * buildscripts/lilypond.words.py: remove unused files (THANKS Werner
+       Lemberg).
+
+       * THANKS: alphabetic order.
+
+2004-01-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * input/regression/note-head-harmonic.ly: new file.
+
+       * Documentation/user/internals.itely (Technical manual): explain
+       difference between music, translation, layout.
+
+       * mf/parmesan-heads.mf (overdone_heads): add 0harmonic head.
+
+       * scm/output-ascii-script.scm (bracket): rounding bfs.
+
+       * scripts/convert-ly.py (conv): add \include "paper" rule. 
+
+       * ly/paper*.ly: remove files. 
+       
+       * scm/paper.scm (set-staff-size): new function: set default
+       staff-size.
+
+       * scripts/convert-ly.py (conv): add conversion rule.
+
+       * lily/music-output-def.cc (LY_DEFINE): ly_output_def_scope: new
+       function.
+
+       * scm/paper.scm: new file.
+       (set-staff-size): new function 
+       (set-paper-size): new function
+
+       * lily/parser.yy (music_output_def_body): restructure definition,
+       so first Scheme statement in \paper also happens in new scope. 
+
+       * lily/system.cc (post_processing): move uniquify_list () to
+       dumping molecule stage.
+
+       * ly/engraver-init.ly: set barCheckSynchronize to #f. Warning:
+       this will mess up scores that use barchecks to shorten measures.
+
+       * mf/feta-bolletjes.mf (overdone_heads): make note heads rounder
+       at 20pt too.
+
+       * Documentation/user/tutorial.itely (Printing lyrics): document
+       \lyricsto
+
+       * lily/my-lily-lexer.cc: \newaddlyrics -> \lyricsto
+
+       * Documentation/user/refman.itely (Fermatas): document \lyricsto
+
+       * lily/new-lyric-combine-music-iterator.cc (process): don't crash
+       if Voice is not found.
+
+       * VERSION: release 2.1.10
+       
+       * input/{test,regression}/: remove old-relative 
+
+       * lily/lexer.ll: add empty markup signature. 
+
+       * scm/new-markup.scm (markup-functions-and-signatures): reinstate
+       strut markup
+
+       * lily/parser.yy (markup): MARKUP_HEAD_EMPTY
+
+       * scm/define-translator-properties.scm: update melismata property
+       doco.
+
+       * lily/system.cc (output_lines): revert uniquify_list() patch,
+       strange side effects seen.
+       
+       * lily/line-spanner.cc (dashed_line_molecule): return nothing if
+       dash-period < 0.
+
+       * scm/midi.scm (instrument-equalizer-alist): fix equalizer setting
+       for flute. 
+
+2004-01-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * input/regression/*.ly: use newaddlyrics iso. addlyrics
+
+       * input/regression/lyrics-multi-stanza.ly (texidoc): remove file.
+
+       * lily/lyric-extender.cc (brew_molecule): behave decently in case
+       of line breaks.
+       (brew_molecule): add padding to left, not right.
+
+       * lily/system.cc (uniquify_list): new function
+       (output_lines): uniquify_list () on all-elements. This fixes
+       double symbols in the output.
+
+       * lily/beam.cc (rest_collision_callback): don't move anything if
+       staff-position is set.
+
+       * input/regression/rest-pitch.ly (texidoc): add rest under beam.
+
+       * lily/system.cc (typeset_grob): warn if adding twice.
+
+       * lily/sequential-iterator.cc (run_always): implement run_always().
+       (also in other files.)
+       
+       * input/mutopia/F.Schubert/standchen.ly: use newaddlyrics. 
+
+       * lily/event.cc (to_relative_octave): add octave-check.
+
+       * Documentation/user/refman.itely (Line breaking): add noBreak.
+
+       * scm/new-markup.scm (normalsize-markup): add function.
+       (sans-markup): new function.
+
+       * lily/beam-engraver.cc (valid_end_point): opps, beam-stop-events
+       come earlier nowadays.  This fixes beams on grace notes.
+       
+       * scm/music-functions.scm (direction-polyphonic-grobs): new
+       variable, share between override and revert. This fixes script
+       directions in polyphonic sections. (backportme)
+
+2004-01-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/text-spanner.cc (brew_molecule): don't do shorten-pair for
+       breakpoints.
+
+       * lily/break-align-interface.cc: add doco
+
+       * Documentation/user/refman.itely (Rehearsal marks): add index marks. 
+
+2004-01-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * VERSION: release 2.1.9
+
+       * scm/document-markup.scm (markup-doc-node): add note about naming.
+
+       * scm/new-markup.scm (left-align-markup): bugfix. 
+
+       * Documentation/user/refman.itely (Ottava brackets): more doco for
+       ottava.
+
+       * lily/side-position-interface.cc (out_of_staff): also do
+       out_of_staff() correctly for d == DOWN.
+
+       * lily/text-spanner.cc (brew_molecule): only put vertical line and
+       horizontal line if they move to the right.
+       
+       * scm/define-grobs.scm (all-grob-descriptions): set
+       text-repeat-if-broken for ottava spanner
+
+       * lily/text-spanner.cc (brew_molecule): text-repeat-if-broken
+       property.
+
+       * mf/feta18.mf: design size is 18 not 22.5
+
+       * lily/new-lyric-combine-music-iterator.cc (process): new file.
+       Add a single LyricsVoice to a melody. Melismata may be set
+       individually.
+
+       * input/regression/lyric-combine-new.ly: new file. Demo \newaddlyrics.
+
+       * lily/dot-column.cc: add stdio.h
+
+2004-01-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/item.cc: documentation for break-visibility (Thanks, John).
+
+2004-01-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/bar-line.cc (compound_barline): add bartype :  (dotted).
+
+       * lily/translator-def.cc: rename Translator_def to Context_def.
+
+       * Documentation/user/internals.itely (Lexical details): clarify
+       string def.
+
+       * Documentation/user/refman.itely (Rhythmic music): add link to
+       RhythmicStaff 
+
+2004-01-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/translator.cc: document start_translation_timestep()
+
+       * scm/output-tex.scm (tex-encoded-fontswitch): use
+       round for rounding (inexact->exact yields rationals)
+
+       * lily/*.cc: remove superfluous start_translation_timestep() calls.
+
+       * lily/translator-group.cc (get_simple_trans_list): 
+       new function; construct simple_trans_list_ lazily.
+       
+2004-01-10  Jan Nieuwenhuizen  <janneke@gnu.org>
+
+       * lily/paper-outputter.cc (output_scope): Check if number before
+       checking exact (guile cvs).
+
+       * scm/*: Escape backslashes in scheme strings (guile cvs).
+
+2004-01-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * Documentation/user/refman.itely (Tablatures basic): annotate
+       seealso sections.
+
+       * lily/*.cc: cleanup of engraver initialize() functions.
+
+       * lily/repeat-acknowledge-engraver.cc
+       (start_translation_timestep): remove first_b_
+
+       * lily/tab-note-heads-engraver.cc: listen to string number events
+       inside < > too. (backportme).
+
+       * Documentation/user/refman.itely (Text scripts): add fatText to
+       index.
+
+2004-01-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * VERSION: 2.1.8
+
+       * stepmake/bin/add-html-footer.py (built): add Wiki links to
+       footer.
+
+       * lily/parser.yy (translator_mod): allow \with { \remove .. }
+
+       * lily/bar-check-iterator.cc (process): only warn if
+       barCheckLastFail was changed.
+
+       * scm/define-translator-properties.scm (barCheckLastFail): add
+       property.
+
+       * lily/main.cc (main_prog): print summary of failed files.
+
+       * lily/axis-group-engraver.cc: move all spanner creation to
+       process_music (). Now staffs can be adjusted with \override too.
+       (Jan, you are a brilliant programmer!)
+       
+       * lily/chord-tremolo-engraver.cc (try_music): fix spurious warning. 
+
+2004-01-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
+
+       * Documentation/user/tutorial.itely (Integrating text and music):
+       Show the commands to produce a PDF as well.
+
+2004-01-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/translator-def.cc (get_translator_names): accept user
+       tweaks too. 
+
+       * mf/feta-bolletjes.mf (overdone_heads): oops, slashes are twice
+       as big as normal heads. 
+
+       * input/*ly: run convert-ly
+       
+       * lily/tuplet-bracket.cc (brew_molecule): call after_line_breaking
+       () if dependencies are fluked.
+
+       * scm/document-translation.scm (engraver-doc-string): update on
+       latest string/symbol conventions.
+
+       * lily/translator-ctors.cc: use Scheme_hash_table.
+
+       * lily/translator-def.cc (get_translator_names): new function
+       (add_context_mod): new function
+       (get_accepted): new function
+
+       * lily/parser.yy (context_mod): put all modifications of
+       \translator { } in a single production, encode as SCM.
+
+       * lily/translator-def.cc (add_context_mod): rewrite Translator_def
+       to use read-only lists, so additions to the definition can be
+       prepended easily.  
+
+       * Documentation/user/invoking.itexi (Editor support): add node on
+       editor support.
+
+       * Documentation/user/refman.itely (Bar check): add lyrics example
+       of bar checks. 
+
+       * input/mutopia/F.Schubert/morgenlied.ly: add bar checks.
+
+       * scripts/convert-ly.py (conv): add conversion rule.
+
+       * lily/parser.yy: use \change iso. \translator for staff switch.
+
+       * lily/my-lily-lexer.cc: add \change.
+
+       * scm/define-translator-properties.scm
+       (default-melisma-properties): add definition.
+
+2004-01-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * Documentation/user/refman.itely (Bar lines): clarification of
+       systemStartDelimiter. 
+
+       * input/test/slur-shape.ly (x): remove file.
+
+       * lily/translator-group.cc (apply_property_operations): new function.
+
 2004-01-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * lily/parser.yy (optional_prop_ops): allow \with {
+       PROPERTYSETTINGS } following \context or \new.
+
+       * lily/my-lily-lexer.cc: add \with.
+
+       * lily/parser.yy (property_operation): clean up definition of
+       property operations.
+       (property_op_to_music): new function.
+       (context_spec_music): new function
+
+       * VERSION: 2.1.7 released.
+       
+       * input/regression/collision-merge-dots.ly: new file.
+
+       * lily/note-collision.cc (check_meshing_chords): if merging heads,
+       then kill the dots too. 
+
        * lily/separating-line-group-engraver.cc (acknowledge_grob):
        set/unset breakableSeparationItem
 
@@ -8,7 +569,8 @@
        * scm/define-grob-interfaces.scm (only-prebreak-interface): add
        only-prebreak-interface
 
-       * lily/system.cc (output_lines): only junk only-prebreak-interface grobs.
+       * lily/system.cc (output_lines): only junk only-prebreak-interface
+       grobs.
 
        * lily/multi-measure-rest-engraver.cc (stop_translation_timestep):
        read breakableSeparationItem
        (shift_one): idem
        (remove_collision): idem.
 
-       * input/regression/dots.ly: add  more test cases.
+       * input/regression/dots.ly: add more test cases.
 
 2004-01-06  Han-Wen Nienhuys   <hanwen@cs.uu.nl>
 
        use -n for head/tail commands. 
 
        * lily/tie-engraver.cc (acknowledge_grob): make ties only for note
-       heads with the same pitch. (backportme)
+       heads with the same pitch.
 
 2003-12-20  Han-Wen Nienhuys   <hanwen@cs.uu.nl>