+2004-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * 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-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
+
+ * lily/separation-item.cc (relative_width): add function.
+
+ * scm/define-grob-interfaces.scm (only-prebreak-interface): add
+ only-prebreak-interface
+
+ * lily/system.cc (output_lines): only junk only-prebreak-interface
+ grobs.
+
+ * lily/multi-measure-rest-engraver.cc (stop_translation_timestep):
+ read breakableSeparationItem
+
+ * input/regression/multi-measure-rest-multi-staff-center.ly: new file.
+
+ * lily/system.cc (output_lines): don't suicide Spacing_items.
+
+ * lily/dot-column.cc (dot_config_badness): new function:
+ select the best scoring dot configuration: dots should go close to
+ the note heads, but be shifted up or down according to conventions.
+ (print_dot_configuration): idem.
+ (shift_one): idem
+ (remove_collision): idem.
+
+ * input/regression/dots.ly: add more test cases.
+
+2004-01-06 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/include/scm-hash.hh (class Scheme_hash_table): idem.
+
+ * flower/include/interval.hh: rename elem_b to contains
+
+ * lily/tie.cc: change 'heads to 'head-pair.
+
+ * lily/lyric-phrasing-engraver.cc (process_acknowledged_grobs):
+ fill in 'heads field.
+
+ * lily/lyric-extender.cc (brew_molecule): use heads for width, use
+ minimum-length for short ones, and shorten so collisions with the
+ next syllable are avoided.
+
+ * lily/beam-quanting.cc (score_slopes_dy): add extra points for
+ near-zero slopes.
+ Only do DAMPING_DIRECTION_PENALTY for non-horizontal dy
+
+ * lily/dots.cc: remove quantized_position callback. All Y
+ positioning is done by dot-column.cc
+
+ * lily/dot-column.cc (do_shifts): rewrite shifting routine: do
+ exhaustive test of all dot positions. This fixes disappearing dots
+ in dotted chords.
+
+2004-01-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * mf/feta-klef.mf (test_staff): fatten up G clef
+ (test_staff): fatten up f clef.
+
+
+2004-01-05 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * input/mutopia/E.Satie/petite-ouverture-a-danser.ly:
+ * input/les-nereides.ly: Use latin1 characters for title, like
+ Morgenlied.
+
+2004-01-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * scm/font.scm (paper20-font-vector): add bold-narrow series (only
+ cmb10).
+
+ * lily/lyric-extender.cc (brew_molecule): add little space before
+ extender line.
+
+ * lily/beam-quanting.cc (score_forbidden_quants): check if
+ outer stafflines fall in any beam gaps.
+
+ * scm/define-grobs.scm (all-grob-descriptions): use bold-narrow
+ for lyric texts.
+
+2004-01-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * VERSION: 2.1.6 released.
+
+ * lily/beam-quanting.cc (quanting): add inspect-quants property:
+ this shows the demerits of a user-defined beam position pair.
+
+ * scm/define-grobs.scm (all-grob-descriptions): set
+ beamed-extreme-minimum-free-lengths to a different value.
+
+ * lily/scm-option.cc: add debug-beam scm-option
+
+ * mf/feta-bolletjes.mf (overdone_heads): fix stem attachments.
+
+2004-01-03 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/beam.cc (brew_molecule): rewrite debug output: split up scores.
+
+ * scm/define-grobs.scm (all-grob-descriptions): use semi-fixed
+ space after barline.
+
+ * mf/feta-eindelijk.mf (tracingvariables): make top of 8th rest fatter.
+
+ * lily/spacing-spanner.cc (breakable_column_spacing): take average
+ of spacing wishes, not maximum. Only do this for delta-t == 0. In
+ the other case, take standard column-breakable spacing. Do not
+ warn about "no spacing wishes".
+
+ This fixes wide spaces after barlines in very loose lines.
+
+ * lily/multi-measure-rest.cc (big_rest): bugfix for blots.
+
+2004-01-02 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/stanza-number-engraver.cc (acknowledge_grob): bugfix:
+ acknowledge_grob lyric-syllable, not lyric-text.
+
+ * lily/hyphen-spanner.cc (brew_molecule): rewrite. Make multiple
+ dashes of length #'length separated by #'dash-period.
+
+ * lily/lyric-extender.cc (brew_molecule): idem
+
+ * lily/multi-measure-rest.cc (big_rest): idem
+
+ * lily/system-start-delimiter.cc (simple_bar): idem
+
+ * lily/bar-line.cc (simple_barline): use rounded box
+
+ * VERSION: release 2.1.5
+
+ * Documentation/user/lilypond-book.itely (Integrating LaTeX and
+ music): move note about dvips to more visible place.
+
+ * lily/lyric-phrasing-engraver.cc: move from
+ new-phrasing-engraver.cc, remove old cruft (syllable-group,
+ lyric-phrasing-engraver.hh)
+
+ * lyric-align.ly: remove file
+
+ * scripts/convert-ly.py (FatalConversionError.func): add removal
+ rule for automaticMelismata
+
+ * ly/engraver-init.ly (ScoreContext): switch on
+ New_phrasing_engraver by default.
+
+ * lily/slur-engraver.cc (class Slur_engraver):
+ process_acknowledged_grobs -> process_music.
+ (try_music): signal melismata correctly.
+
+ * lily/lyric-extender.cc (brew_molecule): cleanup. Junk
+ word-space, right-trim-amount, and extend past right bound only
+ for note heads.
+
+ * lily/new-phrasing-engraver.cc (acknowledge_grob): add
+ lyric-extender support: add note-heads to the extender
+ automatically.
+
+ * lily/parser.yy: extender is now post_event.
+
+ * lily/accidental-engraver.cc (number_accidentals): remove
+ spurious warning about non-parent contexts.
+
+ * lily/music-output-def.cc (assign_translator): \translator { }
+ for a Foo context implicitly redefines \FooContext.
+
+ * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): many layout
+ fixes.
+
+ * lily/slur.cc (brew_molecule): don't use stafflinethickness
+ doubly in slur weight.
+
+ * input/regression/prefatory-spacing-matter.ly (TODO): add clef :|
+ combination.
+
+ * scm/define-grobs.scm (all-grob-descriptions): change clef -
+ staffbar distance.
+
+ * scripts/lilypond.py (global_latex_preamble): crank down size of
+ the margins. Now there is a 12 mm top and bottom margin, which
+ should correspond with the printable area of modern printers.
+
+ This enlarges the music height of the printable page a little.
+
+ * mf/feta-accordion.mf (accreg_pen): remove circled-R, BB and SB
+ signs. Use \markup instead.
+ (accreg_pen): tweak for accordeon asterisk.
+
+2003-12-31 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
+ * lily/melisma-engraver.cc (try_music): use melisma_busy()
+
+ * lily/lyric-engraver.cc (process_music): remove alignment kludge
+
+ * lily/lyric-combine-music-iterator.cc (melisma_busy): new function.
+
+ * lily/stanza-number-engraver.cc (acknowledge_grob): rewrite
+
+ * scm/define-grobs.scm (all-grob-descriptions): change
+ StanzaNumber description: make side support, i.s.o. breakable.
+ use Instrument_name_engraver for texts in the margin.
+
+ * scm/define-translator-properties.scm: remove
+ melismaEngraverBusy, stz property.
+
+ * *.cc: naming: change empty_b () into is_empty ()
+
+ * lily/self-aligment-interface.cc (aligned_on_parent): new function.
+
+ * input/regression/lyric-phrasing-new.ly: new file.
+
+ * lily/new-phrasing-engraver.cc (process_acknowledged_grobs): new
+ engraver, redo lyric phrasing, but cleaner and simpler. Lyrics on
+ melismata are now left-aligned.
+
2003-12-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ * input/mutopia/F.Schubert/GNUmakefile: add morgenlied.ly
+
+ * mf/feta19.mf: remove.
+
+ * mf/feta-klef.mf (test_staff): more tweaks
+
+ * mf/feta-toevallig.mf: more small size tweaks.
+
+ * mf/feta-eindelijk.mf (lower_brush): adjust quarter and shorter
+ rests for smaller sizes.
+
+ * mf/feta-bolletjes.mf: fix cross heads.
+
+ * VERSION: release 2.1.4
+
+ * scripts/convert-ly.py (FatalConversionError.func): add rule for
+ deprecated #'ancient font family
+
+ * lily/mark-engraver.cc (process_music): only set rehearsalMark if
+ it is a string or number.
+
+ * scm/output-lib.scm (note-head-style->attachment-coordinates):
+ change calling convention of stem-attachment function.
+
+ * buildscripts/mf-to-table.py: read and dump WX/WY fields
+
+ * mf/feta-autometric.mf: dump WX/WY fields too
+
+ * mf/parmesan-heads.mf: idem.
+
+ * mf/feta-bolletjes.mf (slash_slope): set WX/WY fields for
+ attachment coordinates.
+
+ * lily/note-head.cc (stem_attachment_coordinate): read stem
+ attachment from the notehead glyphs WX/WY fields.
+
+ * lily/include/font-metric.hh (struct Font_metric): add methods
+ get_indexed_wxwy (), make a distinction between looking up by
+ index and ASCII
+
* mf/feta-bolletjes.mf: rewrite note head MF code.
(test_outlines): make heads more rotund for smaller sizes.
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>