+2004-12-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/music-functions.scm (cue-substitute): voice counts start at 0.
+
+ * lily/note-head.cc (internal_print): always try the "s" head if
+ u/d not found.
+
+ * scm/titling.scm (marked-up-headfoot): reinstate default tagline.
+
+2004-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * mf/parmesan-heads.mf (overdone_heads): typos.
+
+2004-11-30 Nicolas Sceaux <nicolas.sceaux@free.fr>
+
+ * lily/parser.yy (markup): in markups, { .. } without command
+ before are also flattened, ie \line must be explicitely used.
+
+ * Documentation/user/changing-defaults.itely:
+ * Documentation/user/notation.itely:
+ * input/wilhelmus.ly:
+ * input/regression/instrument-name-markup.ly:
+ * input/regression/markup-score.ly:
+ * input/regression/new-markup-scheme.ly:
+ * input/regression/new-markup-syntax.ly:
+ * input/test/coriolan-margin.ly: use \line in markups where
+ appropriate
+
+2004-11-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
+
+ * scm/new-markup.scm (map-markup-command-list): helper function
+ used in parser.yy to map markup commands on a markup list.
+
+ * lily/parser.yy: get rid off < > in markups by treating { } as
+ real lists.
+
+ * lily/lexer.ll: remove < > from markup lexer mode.
+
+ * scripts/convert-ly.py (conv): add rule for converting
+ \markup < > to \markup { }
+
+ * ly/titling-init.ly:
+ * input/test/coriolan-margin.ly:
+ * input/regression/new-markup-syntax.ly:
+ * input/regression/new-markup-scheme.ly:
+ * input/regression/multi-measure-rest-text.ly:
+ * input/regression/markup-stack.ly:
+ * input/regression/markup-score.ly:
+ * input/regression/instrument-name-markup.ly:
+ * input/mutopia/W.A.Mozart/mozart-hrn-3.ly:
+ * input/mutopia/R.Schumann/romanze-op28-2.ly:
+ * input/mutopia/J.S.Bach/wtk1-fugue2.ly:
+ * input/wilhelmus.ly:
+ * Documentation/user/notation.itely:
+ * Documentation/user/music-glossary.tely:
+ * Documentation/user/changing-defaults.itely: change < > to { } in
+ markups
+
+2004-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/accidental-placement.cc (position_accidentals): shortcut if
+ no accidentals to place.
+
+2004-11-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
+
+ * scm/define-grob-properties.scm (all-user-grob-properties): fixed
+ typo s/ly:dimension ?/ly:dimension?/
+
+ * input/regression/lily-in-scheme.ly:
+ * input/regression/music-function.ly:
+ * ly/spanners-init.ly (assertBeamSlope):
+ * scm/music-functions.scm (def-grace-function): add the paper
+ argument to music function definitions.
+
+2004-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/moment.cc (LY_DEFINE):
+ ly:moment-main-{denominator,numberator}, new function.
+
+ * lily/score-engraver.cc (typeset_all): assign to column on basis
+ of axis-group-parent-X setting.
+
+ * lily/axis-group-engraver.cc (process_acknowledged_grobs): do
+ add_element() on basis of axis-group-parent-Y setting.
+
+ * lily/grob.cc: add axis-group-parent-{XY} properties.
+
+ * input/regression/spacing-stick-out.ly: new file.
+
+ * lily/simple-spacer.cc (add_columns): use binary search for
+ setting column rods. Changes O(n^2) to O(n log(n)) for
+ constructing spacing problem from columns.
+ (add_columns): read allow-outside-line to make sure no texts stick
+ out.
+ (solve): Simple_spacer::is_active() only determines
+ satisfies_constraints_ for non-ragged typesetting.
+
+ * lily/simultaneous-music.cc (to_relative_octave): only set
+ old_relative_used if return pitch actually changed.
+
+ * scm/define-context-properties.scm
+ (all-user-translation-properties): change to match implementation.
+
+ * python/lilylib.py: Replace re.match by re.search and adds "-c
+ showpage" to the gs command line (Johannes Schindelin)
+
+ * scm/framework-ps.scm (output-preview-framework): sanitize bbox
+ before processing. Prevents crash when inf is in the extent.
+
+ * scm/define-markup-commands.scm (note-by-number): add "s" to
+ "noteheads-" glyphname.
+
+ * lily/parser.yy (Generic_prefix_music): supply parser argument to
+ music function as well.
+
+2004-11-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * VERSION: release 2.5.2
+
+ * Documentation/user/changing-defaults.itely (Creating titles):
+ add breakbefore variable.
+
+ * lily/paper-book.cc (set_system_penalty): new function. Set
+ penalty_ based on breakBefore setting
+
+ * lily/context-specced-music-iterator.cc (construct_children):
+ interpret special context id $uniqueContextId
+
+ * lily/context.cc (create_unique_context): new method. Move
+ creation of unique (\new) contexts into interpreting phase. This
+ makes
+
+ foo= \new Staff ..
+ << \foo \foo >>
+
+ produce 2 staves.
+
+
+ * scm/define-music-properties.scm (all-music-properties): add
+ quoted-voice-direction
+
+ * ly/music-functions-init.ly: killCues function.
+
+ * scm/music-functions.scm (cue-substitute): move creation of voice
+ contexts further to the back.
+
+2004-11-25 Werner Lemberg <wl@gnu.org>
+
+ * tex/GNUmakefile ($(outdir)/latin1.enc): Replace `/minus' with
+ `/hyphen' in encoding vector to get correct glyph name for EC fonts.
+
+2004-11-24 Erik Sandberg <ersa9195@student.uu.se>
+
+ * buildscripts/guile-gnome.sh: Fixed typo.
+
+2004-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/lexer.ll: add < > to markup lexer mode (backportme)
+
+ * scripts/abc2ly.py (dump_slyrics): add ord().
+
+ * lily/note-heads-engraver.cc (process_music): add shapeNoteStyles
+ to regular engraver.
+
+2004-11-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * mf/feta-bolletjes.mf (triangle): rewrite solfa heads.
+
+2004-11-22 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/define-markup-commands.scm (fill-line): Typo.
+
+ * buildscripts/guile-gnome.sh (GGVERSION): Build update for 2.7.96
+ and newer.
+
+2004-11-22 Erik Sandberg <ersa9195@student.uu.se>
+
+ * ly/dynamic-scripts-init.ly: Fixed typo.
+
+2004-11-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * mf/feta-bolletjes.mf (overdone_heads): cleanup triangle
+ note-head, to have different attachment points for up and down.
+
+ * mf/feta-bolletjes.mf: merge solfa heads into main note heads.
+
+ * mf/feta-generic.mf (else): remove solfa.
+
+ * mf/feta-bolletjes.mf (tishape): remove unicode test.
+
+ * scm/define-context-properties.scm
+ (all-user-translation-properties): add shapeNoteStyles property.
+
+ * lily/shape-note-heads-engraver.cc (process_music): new file.
+
+ * lily/event.cc (transpose): call Event::transpose() for
+ transposing the tonic.
+
+2004-11-21 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm: Save some pointers about pango/fontconfig
+ Unicode/OpenType and AFM.
+
+ * lily/include/guile-compatibility.hh (scm_from_bool): Add.
+
+2004-11-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/grob.cc (Grob): idem. Plugs mem leaks.
+
+ * lily/context.cc (Context): unprotect key from ctor.
+
+ * scm/stencil.scm (stack-lines): return empty-stencil if argument
+ is '()
+ (stack-stencils): idem.
+
+ * Documentation/user/changing-defaults.itely (Creating titles):
+ document new title layout options.
+
+ * lily/parser.yy (lilypond_header_body): copy previous
+ $globalheader if present.
+
+ * lily/ly-module.cc (LY_DEFINE): rename ly:import-module to
+ ly:module-copy
+
+ * scm/page-layout.scm (marked-up-headfoot): remove old functions.
+
+ * scm/titling.scm: remove old titling functions
+
+ * lily/stencil.cc (translate): remove absolute dimension.
+
+ * ly/titling-init.ly (oddFooterMarkup): new file. Generate titles
+ via markup.
+
+ * scm/page-layout.scm (marked-up-headfoot): create header/footer
+ field from user-supplied markup
+
+ * scm/define-markup-commands.scm (on-the-fly): new markup
+ command. Enter SCM markup procedure directly in Scheme.
+ (fromproperty): new markup command. Read markup from props argument.
+
+ * scm/titling.scm (marked-up-title): create title via
+ user-specified markup.
+
+ * scm/define-markup-commands.scm (column): remove empty stencils
+ from column.
+
+ * lily/ly-module.cc (LY_DEFINE): use ly_module_lookup(). This does
+ not have side-effect of creating variable stub.
+
+ * lily/stencil-scheme.cc (LY_DEFINE): add ly:stencil-empty?
+
+2004-11-21 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/encoding.scm (coding-alist):
+ * scm/font.scm (add-ec-fonts):
+ * ly/paper-defaults.ly: Use actual name for EC fontencoding:
+ Extended-TeX-Font-Encoding---Latin.
+
+ * lily/side-position-interface.cc (general_side_position): Add
+ actual offset to error message (avoid constant error messages).
+
+ * lily/all-font-metrics.cc (find_font): Add "lm" to try-AFM-first
+ block.
+
+ * lily/font-select.cc (select_encoded_font)
+ (get_font_by_mag_step, get_font_by_design_size):
+ * lily/modified-font-metric.cc (Modified_font_metric):
+ * lily/paper-def.cc (find_scaled_font): Add font_encoding parameter.
+
+ * scm/encoding.scm (coding-alist): Add fetaDynamic.
+ (read-encoding-file): Bugfix: do not require space after bracket.
+
+ * scm/font.scm (add-cork-lm-fonts): Remove lmbxi8 and lmbxi14,
+ these do not exist.
+
+2004-11-20 Graham Percival <gperlist@shaw.ca>
+
+ * Documentation/user/notation.itely: added info about typesetting
+ boxed bar numbers.
+
+2004-11-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * flower/interval.cc (T_to_string): gcc4 fixes.
+
+ * scm/define-markup-commands.scm (fill-line): use
+ stack-stencils. This fixes problems with putting already centered
+ stencils in a line.
+
+ * VERSION: release 2.5.1
+
+ * lily/bar-line.cc (get_staff_bar_size): add line thickness.
+
+2004-11-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * input/example-[1-3].ly: simplify.
+
+ * lily/cluster-engraver.cc (try_music): react to busy-playing-event
+
+ * scm/output-ps.scm (new-text): new function. Use glyphshow to
+ show glyphs.
+
+ * scm/encoding.scm (decode-byte-string): new function.
+
+ * scripts/convert-ly.py (conv): add warning about
+ set-global-staff-size.
+
+ * Doxyfile: add.
+
+ * scripts/convert-ly.py (conv): add raggedlastbottom rule
+ (conv): warn for TextSpanner split.
+ (conv): warn for textheight.
+
+2004-11-19 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * GNUmakefile.in (install-WWW): Invoke install-info, so that when
+ building the documentation, info with images are installed.
+ (final-install): Fix description. Mention sourcing of login
+ scripts (instead of running).
+
+2004-11-18 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Debian lmodern support. Note that LilyPond will issue warnings
+
+ no such encoding: "FontSpecific"
+
+ The font selection mechanism wants to get the encoding from the
+ font itself, but the idea of lmodern is that it is usable with
+ different encodings, ie, Lily should get the encoding from the
+ font tree, rather than the font itself. This would require some
+ more work.
+
+ * configure.in: Test for and accept lmodern if EC fonts not found.
+
+ * scm/framework-tex.scm (font-load-command): TeX font name
+ mangling for latin1 encoded cork-lm fonts.
+ (convert-to-ps): Load lm.map if available.
+
+ * ly/paper-defaults.ly: Use cork-lm encoding if ec is not
+ available.
+
+ * scm/encoding.scm (coding-alist): Add cork-lm encoding.
+
+ * scm/font.scm: Add header. Autoload cork-lm and ec fonts if
+ available.
+
+ * lily/kpath.cc (ly_kpathsea_find_file): Rename. Do not use
+ path for absolute file name, that is silly.
+
+ * lily/score-engraver.cc (initialize):
+
+ * Documentation/user/GNUmakefile (local-install-info): Invoke
+ install-info --remove first.
+
+ * #include cleanup (Andreas Scherer).
+
+2004-11-18 Heikki Junes <hjunes@cc.hut.fi>
+
+ * input/test/script-abbreviations.ly: fix typos.
+
+2004-11-17 Werner Lemberg <wl@gnu.org>
+
+ * python/lilylib.py (options_help_str): Support pretty-printing of
+ newlines in fourth element of option description.
+
+ * scripts/lilypond-book.py (option_definitions): Use new lilylib
+ feature.
+ Sort options.
+
+ * Documentation/user/lilypond-book.itely: Finish update.
+
+2004-11-17 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/user/macros.itexi: Add comment about \command.
+
+ * Documentation/user/lilypond.tely:
+ * Documentation/user/lilypond-book.itely: Fix names of lilypond
+ and lilypond-book nodes, so that `info lilypond' visits the manual
+ at top level, and `info lilypond-book' visits the lilypond-book
+ section.
+
+ * Documentation/user/GNUmakefile (local-install-info): Fix rules
+ and packager messages.
+
+ * lily/pangofc-afm-decoder.cc: Update test.
+
+2004-11-16 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/lily-library.scm (char->unicode-index): New function.
+
+ * scm/output-gnome.scm:
+ * scm/output-svg.scm: Cleanup. Map custom fonts to PUA.
+
+ * Proper naming of file name throughout; s/filename/file[-_]name/.
+
+ * lily/modified-font-metric.cc ("ly:font-encoding"): New function.
+
+ * lily/pangofc-afm-decoder.cc (pango_fc_afm_get_glyph): Map onto PUA.
+
+2004-11-16 Werner Lemberg <wl@gnu.org>
+
+ * scripts/lilypond-book.py: The Lord has commanded me to use only
+ tabs for indentation. Your humble servant obeys.
+
+2004-11-16 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-svg.scm: Font fixes. Sodipodi now groks svg
+ including font, if LilyPond-feta font is only feta font in path.
+
+ * scm/output-gnome.scm (text): Revert to file name of font if font
+ has no name. Fixes ec font selection.
+ (char): Bugfix: do not utf8 twice. Fixes clefs.
+
+ * scm/framework-svg.scm:
+ * scm/output-svg.scm: New file. TODO: figure out how to
+ do character by index in font.
+
+ * scm/output-sodipodi.scm: Remove.
+
+ * scm/output-ps.scm (stem): Remove.
+
+2004-11-15 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm (beam): New function.
+ (slur): Round corners.
+ (round-filled-box): Round corners.
+
+2004-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/output-gnome.scm (beam): add function.
+ (draw-line): new routine.
+ (dashed-line): stub; call draw-line
+ (polygon): new routine.
+
+2004-11-15 Werner Lemberg <wl@gnu.org>
+
+ * Documentation/user/lilypond-book.itely: Revise section on
+ lilypond-book options.
+ Other minor fixes.
+
+ * scripts/lilypond-book.py: Change indentation to 4.
+ Minor formatting.
+
+2004-11-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/system.cc (apply_tweaks): new function. Run tweaks on all
+ grobs that have tweaks specced.
+
+2004-11-14 Heikki Junes <hjunes@cc.hut.fi>
+
+ * Documentation/user/sound-output.itexi: add code snippets for MIDI.
+
+2004-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/font-metric.cc (get_indexed_char_stencil): Bugfix: get
+ actual char #, not 0 based index.
+
+ * lily/system-start-delimiter.cc (staff_brace): Start at 65.
+
+ * mf/feta-beugel.mf: Actually start at char #65. Add header.
+ Warning: do make -C mf clean.
+
+ * lily/context-property.cc: Compile fix.
+
+ * scm/output-gnome.scm: Add ec-fonts-mftraced to ~/.fonts.conf.
+ Grok ec-fonts, braces and dynamics.
+
+ * scm/framework-gnome.scm (gnome-main): Register braces with pango.
+
+2004-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/include/tweak-registration.hh: new file.
+
+ * lily/tweak-registration.cc: new file.
+
+ * scm/framework-gnome.scm (save-tweaks): use new key mechanism for
+ saving tweaks.
+
+ * scm/output-gnome.scm (text): comment dribble.
+
+2004-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * lily/pangofc-afm-decoder.cc (main): Test more feta fonts.
+
+ * scm/output-gnome.scm (bezier-sandwich): New function. Reset
+ path-def before using. Fixes muchtomany slurs in wrong places
+ bug.
+
+2004-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/grob-scheme.cc (LY_DEFINE): add new function ly:grob-key.
+
+ * lily/include/object-key-undumper.hh (Module): new file.
+
+ * lily/object-key-undumper.cc (Module): New file. Deserialize
+ keys. SCM bindings
+
+ * lily/object-key-dumper.cc (Object_key_dumper): idem.
+ Provide SCM bindings.
+
+ * lily/include/object-key-dumper.hh (class Object_key_dumper):
+ new file. Serialize object keys.
+
+ * lily/object-key.cc (dump): new function.
+ (as_scheme): new virtual function
+ (undump): new function
+ (undumpers): new table.
+
+ * lily/include/global-context.hh (Context): take \score key upon init.
+
+ * lily/object-key-dumper.cc (serialize_key): new file.
+
+ * lily/include/object-key-dumper.hh (class Object_key_dumper): new file.
+
+ * lily/lily-lexer.cc: remove \quote.
+
+ * lily/lookup.cc (triangle): rewrite, obviating symmetric_x_triangle().
+
+ * lily/context.cc (Context): take key argument in ctor.
+ (create_context): new function
+
+ * lily/grob.cc (Grob): take key argument in ctor.
+
+ * lily/lilypond-key.cc (do_compare): new file.
+
+ * lily/object-key.cc (Object_key): new file.
+
+ * lily/include/object-key.hh (class Object_key): new file.
+
+ * lily/include/lilypond-key.hh (class Lilypond_context_key): new file.
+
+2004-11-13 Graham Percival <gperlist@shaw.ca>
+
+ * Documentation/user/lilypond-book.itely: add small warning about
+ noindent default in lilypond-book.
+
+ * Documentation/user/converters.itely: add examples for convert-ly.
+
+ * Documentation/user/examples.itely: change version string in templates
+ to 2.4.0.
+
+2004-11-12 Karl Hammar <karl@aspodata.se>
+
+ * GNUmakefile.in (local-WWW-post): `find ...` overflows the
+ cmdline, use xargs instead (backportme)
+
+2004-11-10 Andreas Scherer <andreas_mutopia@freenet.de>
+
+ * Documentation/user/: Numerous fixes in the user manual.
+
+2004-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * lily/parser.yy (re_rhythmed_music): search music expression for
+ context-id, surround by \new Voice if not found. Fixes:
+ addlyrics-second-staff.ly
+
+ * VERSION: 2.5.0 released.
+
+2004-11-12 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * Documentation/index.html.in: Fix url to one big page. (backportme)
+
+ * Documentation/user/GNUmakefile: Separate rules for split and
+ unsplit html documents. Remove perl massaging. (backportme)
+
+2004-11-11 Graham Percival <gperlist@shaw.ca>
+
+ * Documentation/user/lilypond-book.itely: add short warning about
+ \lilypond{} in LaTeX docs.
+
+2004-11-11 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * stepmake/aclocal.m4: Barf if kpathsea/kpathsea.h is not
+ found. (backportme)
+
+ * Documentation/topdocs/INSTALL.texi (ec-fonts-mtraced): Add
+ version requirement. (backportme)
+
+ * configure.in: Be explicit about old versions of
+ ec-fonts-mtraced. (backportme)
+
+ * lily/context-selector.cc (set_tweaks): New function.
+ * lily/grob-selector.cc (set_tweaks): (Re)set hash table. Fixes
+ web with -DTWEAK.
+
+ * Documentation/user/introduction.itely (Automated engraving):
+ Remove fragment option. Fixes web.
+
+ * lily/context-property.cc (make_item_from_properties):
+ * lily/context.cc (add_context)[TWEAK]: Tweak registration behind
+ #ifdef.
+
+ * scm/define-context-properties.scm
+ (all-internal-translation-properties): Add tweakRank and tweakCount.
+
+ * lily/grob.cc:
+ * scm/define-grob-properties.scm (all-internal-grob-properties):
+ Add tweak-rank and tweak-count.
+
+2004-11-10 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/output-gnome.scm (string->utf8-string, char->utf8-string):
+ New function.
+ (text): Use them.
+
+ * scm/framework-gnome.scm (item-event): Add support from TLA. Support
+ animated/opaque grob dragging tweaks.
+
+ * buildscripts/guile-gnome.sh: Update.
+
+2004-11-10 Mats Bengtsson <mabe@drongo.s3.kth.se>
+
+ * scm/define-grobs.scm (all-grob-descriptions): Added
+ line-interface to the LigatureBracket object.
+
+2004-11-10 Jan Nieuwenhuizen <janneke@gnu.org>
+
+ * scm/framework-gnome.scm (item-event): Support non-animated mouse
+ dragging tweaks.
+
+ * lily/lily-guile.cc (ly_to_string, ly_to_symbol): New function.
+
+ * lily/context-selector.cc (store_context): New function.
+
+ * lily/grob-selector.cc (register_grob)[TWEAK]: Apply tweak.
+ (store_grob): New function.
+ (identify_grob): Add Moment parameter.
+
+ * lily/lily-parser.cc (parse_file)[TWEAK]: Read .ly.t file if it
+ exists.
+
+ * scm/framework-gnome.scm (save-tweaks): Write as alist.
+
2004-11-09 Jan Nieuwenhuizen <janneke@gnu.org>
* scm/framework-gnome.scm (item-event): Print grob id.