(with-dimensions):
[lilypond/patrick.git] / ChangeLog
blob48dc685a44f7802738e1106e17ded7c9922fdd40
1 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3         * scm/define-markup-commands.scm (with-dimensions):
4         with-dimensions markup command.
6         * input/test/font-table.ly: use it.
8         * lily/open-type-font.cc (glyph_list): new function.
10         * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
12         * lily/ttf.cc: remove ly:font-glyph-list scheme function
14 2006-01-22  Nicolas Sceaux  <nicolas.sceaux@free.fr>
16         * ly/music-functions-init.ly (parallelMusic): new music function for parallel
17         music entry.
19         * scm/define-music-properties.scm (all-music-properties): new 'void music property
21         * scm/music-functions.scm (ly:music-message): make public, to be
22         used in music function definitions
24         * scm/lily-library.scm (collect-music-for-book): discard music
25         when the 'void property is set.
27 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
29         * lily/ttf.cc (LY_DEFINE): store name before destroying face.
31         * mf/GNUmakefile: idem.
33         * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
35         * stepmake/bin/install.py (dest): Only chmod/chown just created directories
37         * Documentation/user/notation-appendices.itely (The Feta font):
38         use it.
40         * input/test/font-table.ly: new file. Generate font table within lily.
42         * Documentation/user/notation-appendices.itely (The Feta font):
43         use new font-table.ly file. 
45         * stepmake/stepmake/install-out-targets.make
46         (local-install-outfiles): only create directory if
47         $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
49 2006-01-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
51         * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
53         * VERSION (PACKAGE_NAME): release 2.7.28
55         * scm/framework-ps.scm (write-preamble): use it to pick exactly
56         the right font from a Mac dfont.
57         (write-preamble): don't forget directory, only look at files.
59         This fixes problems with TTF files in dfonts that don't match
60         their PostScript names.
61          
62         * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
63         PS name from TTF font.
65         * input/regression/tie-manual.ly: document new feature.
67         * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
69         * VERSION (MY_PATCH_LEVEL): bump to .28
71         * Documentation/user/basic-notation.itely (Ties): add tie examples
72         refs.
74         * lily/tie-formatting-problem.cc (score_ties_configuration):
75         symmetry penalties for outer ties.
77 2006-01-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
79         * lily/tie-formatting-problem.cc (generate_configuration) 
80         (set_manual_tie_configuration): skip non-pair manual
81         tie-configuration, so you can set individual ties as
83           #'tie-configuration = #'((7 . 1) #t (-3 . 1))
85         * input/regression/tie-chord.ly: use generateTiePattern to
86         simplify file.
88         * lily/tie-formatting-problem.cc (peak_around): new function.
89         (score_configuration): use sliding criterion for staff line collisions. 
90         (score_configuration): idem for dot collisions.
91         (generate_configuration): use separate stem_gap for gap to stem.
93         * lily/include/tie-formatting-problem.hh (struct Tie_details):
94         separate penalty factors for x and y distance.
95         (struct Tie_details): separate penalties for tip and center line collisions.
97 2006-01-19 Han-Wen Nienhuys  <hanwen@xs4all.nl>
99         * lily/tie-formatting-problem.cc (generate_configuration): make
100         large ties avoid stafflines in the horizontal section.
101         (score_configuration): use softcoded penalties
102         (score_aptitude): idem.
104         * lily/tie-helper.cc (from_grob): softcode tie details
106         * lily/staff-symbol-referencer.cc (on_staff_line): new function
108         * lily/staff-symbol-referencer.cc (on_line): rename from
109         on_staffline 
111 2006-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
113         * ly/music-functions-init.ly: remove duplicate tag.
115         * lily/include/*.hh: GCC 4.1 fixes.
117 006-01-16  Erlend Aasland  <erlenda@gmail.com>
119         * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
121         * scm/define-music-types.scm: fix bug in desc. string
122         for OverrideProperty
124 2006-01-15 Erik Sandberg  <mandolaerik@gmail.com>
126         * scripts/lilypond-book.py: bugfix
128         * scm/define-music-types.scm: fix typos.
130 2006-01-14  Graham Percival  <gpermus@gmail.com>
132         * Documentation/user/ basic-notation.itely, global.itely,
133         advanced-notation.itely, instrument-notation.itely: small
134         additions (bugs and commonly tweaked properties).
136 2006-01-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
138         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
139         detection of mingw build.
140         (MINGW_BUILD): opps.
142 2006-01-12  Jan Nieuwenhuizen  <janneke@gnu.org>
144         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
145         i686-mingw32.
147 2006-01-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
149         * scm/music-functions.scm (skip->rest): add skip->rest
151 2006-01-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
153         * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
154         explicitly.
156         * lily/font-config-scheme.cc (LY_DEFINE): also display font and
157         config dirs. Aids debugging. 
158         (display_config): also display config files.
160 2006-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
162         * VERSION: release 2.7.27
164         * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
165         for determining bar size.
167         * lily/staff-symbol.cc (print): place lines at distance line-positions
169         * scm/define-grob-properties.scm (all-user-grob-properties): add
170         line-positions.
172         * lily/staff-symbol.cc (height): new function.
174         * input/regression/staff-line-positions.ly:  new file.
176 2006-01-06  Graham Percival  <gpermus@gmail.com>
178         * input/test/add-staccato.ly: remove reference to old file.
180 2006-01-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
182         * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
183         lilypond binary too.
185 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
187         * make/mutopia-rules.make (Module): use LILYPOND_BINARY
189 2006-01-06  Jan Nieuwenhuizen  <janneke@gnu.org>
191         * scripts/midi2ly.py: Bugfix: Declare datadir.
193         * make/ly-rules.make:
194         * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
195         that seems to be gone). Fixes make web.
197         * The grand 2005-2006 replace.
199         * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
201 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
203         * make/lilypond-vars.make: set LILYPOND_BINARY variable
204         (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
205         LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
206         like -dgs-font-load.
208         * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
209         remove absolute path to lilypond binary.
210         
211 2006-01-05 Pedro Kroeger    <kroeger@pedrokroeger.net>
213         * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
215 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
217         * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
219         * mf/GNUmakefile: remove broken dvips map symlink.
221 2006-01-04  Jan Nieuwenhuizen  <janneke@gnu.org>
223         * lily/main.cc: 
224         * configure.in: Cosmetic fixes.
226 2006-01-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
228         * Documentation/user/music-glossary.tely (Pitch names): Added
229         Spanish pitch names and durations, thanks to Ernesto Gancedo
231 2006-01-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
233         * scm/lily.scm (define-scheme-options): use quasi-quote for option
234         init. Fixes verbose printing of .scm files.
236         * stepmake/aclocal.m4: add spaces before - options.
237         
238 2006-01-03  Jan Nieuwenhuizen  <janneke@gnu.org>
240         * lily/relocate.cc (setup_paths): Bugfix: do not store result
241         of path search in local block variable.
243 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
245         * configure.in (NCSB_DIR): --enable-ncsb-dir
246         (LINK_GXX_STATICALLY): denko.
248         * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH. 
250         * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option. 
251         use locate to find c059033l.pfb. 
252         
253 2006-01-02  Jan Nieuwenhuizen  <janneke@gnu.org>
255         * lily/tie-formatting-problem.cc
256         (problem::generate_base_chord_configuration): Use my_round (was
257         round).
259         * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
260         do not invoke mbrtowc.
262         * lily/relocate.cc (setup_paths): Add more debugging verbosity.
264 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
266         * scm/lily.scm (lilypond-all): oops. remove debugging hack.
268 2005-01-02  Heikki Junes  <hjunes@cc.hut.fi>
270         * Documentation/user/invoking.itely (svg): revise.
272 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
274         * lily/lexer.ll: use sourcefilename iso. renameinput.
276 2006-01-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
278         * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
279         <PostScriptName>.ttf instead of c059XXXttf.
281         * lily/program-option.cc (LY_DEFINE): special support for
282         --verbose, so it works before option init too.
284         * mf/GNUmakefile (local-install): oops.
286         * lily/lyric-hyphen.cc (print): oops.
288         * buildscripts/pfx2ttf.fontforge: new file.
289         
290         * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
291         ($(outdir)/%.ttf): new rule. 
293         * scm/define-grobs.scm (all-grob-descriptions): add font-interface
294         to LyricHyphen.
296         * lily/lyric-hyphen.cc (print): multiply hyphen height by
297         font-size
299 2005-12-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
301         * VERSION: release 2.7.26
302         
303         * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
305 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
307         * lily/font-config.cc (init_fontconfig): verbosity.
309         * THANKS: add Muziekacademie Lede. 
311         * scripts/musicxml2ly.py (print_voice_definitions): new function 
312         (print_score_setup): new function
313         (convert): read part definition to output staves properly.
315         * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
316         Music_xml notes.
318         * python/musicexp.py (Output_printer.__init__): use _ in data
319         members.
320         (Output_printer.unformatted_output): new function: no formatting,
321         but count braces.
322         (Duration.get_length): remove isinstance() checks for
323         Output_printer everywhere.
325         * input/regression/lyrics-bar.ly (texidoc): add
326         Separating_line_group_engraver.
328 2005-12-29  Jan Nieuwenhuizen  <janneke@gnu.org>
330         * lily/relocate.cc (framework_relocation): New function,
331         factored from set_relocation ().
332         (prefix_relocation): Rename from set_relocation ().
333         (setup_paths): Use it.
335 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
337         * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
338         numbers. Patch by Erlend Aasland.
340 2005-12-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
342         * lily/font-config.cc (init_fontconfig): print warning if cache
343         file is not existant.
345         * lily/main.cc: don't use #ifdef but #if
347 2005-12-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
349         * lily/grob-property.cc (internal_set_property): don't abort on
350         calculation-in-progress.
352         * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
354         * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
355         connect-to-neighbor property not connect-to-other
357         * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
358         (LY_DEFINE): oops. don't forget protection.
360         * flower/parse-afm.cc (Module): strip AFM handling completely.
362         * lily/stencil-expression.cc: idem.
364         * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
366         * lily/function-documentation.cc (ly_add_function_documentation):
367         use static member iso. Protected_scm
369         * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
371         * config.make.in (prefix): remove HAVE_KPATHSEA_SO
373 2005-12-27  Jan Nieuwenhuizen  <janneke@gnu.org>
375         * lily/relocate.cc (set_env_dir): New function.
376         (set_relocation): Use it to fix setting PANGO_PREFIX.
378 2005-12-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
380         * input/regression/stem-direction-context.ly: remove rest.
382         * lily/melody-engraver.cc (process_music): restart for bar lines.
383         (acknowledge_slur): restart for slurs.
385 2005-12-27  Heikki Junes  <hjunes@cc.hut.fi>
387         * Documentation/user/invoking.itely: describe how to view SVG 
388         output using Inkscape which replace embedded fonts with OTF fonts.
390 2005-12-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
392         * lily/relocate.cc (set_relocation): set PANGO_PREFIX
394 2005-12-23  Jan Nieuwenhuizen  <janneke@gnu.org>
396         * lily/melody-engraver.cc (class Melody_engraver): Remove lying
397         comment.
399 2005-12-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
401         * VERSION (PACKAGE_NAME): release 2.7.25
403         * Documentation/topdocs/NEWS.tely (Top): document new feature.
405         * input/regression/stem-direction-context.ly: new file.
407         * lily/relocate.cc (set_relocation): add PANGO_PREFIX
409         * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
410         on rest.
412         * ly/engraver-init.ly: add Melody_engraver
414         * lily/beam.cc (calc_direction): use default-direction
415         iso. get_default_direction()
417         * scm/define-grob-properties.scm (all-user-grob-properties): add
418         default-direction property.
420         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
422         * lily/stem.cc (calc_default_direction): remove
423         Stem::get_default_direction, use default-direction with callback
424         instead.
426         * lily/melody-spanner.cc (calc_neutral_stem_direction): 
428         * lily/melody-engraver.cc: new file. Acknowledge stems for
429         interpolated stem directions. 
431         * lily/melody-spanner.cc: new file. Interpolate stem directions.
433         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
435         * lily/slur-configuration.cc (fit_factor): more robust check for
436         point in curve X-extent.
438         * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
439         (outside_slur_callback): check for 'outside avoidance.
441         * lily/slur-configuration.cc (score_extra_encompass): don't use
442         bound->column() == avoid->column() for checking extents, as this
443         doesn't work for accidentals. 
445         * lily/slur-engraver.cc (acknowledge_extra_object): remove
446         DynamicText hardcoding.
448         * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
449         crash if bound stem is NULL
451         * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
452         pedals.
454 2005-12-22  Graham Percival  <gpermus@gmail.com>
456         * scm/define-markup-commands.scm: typo.  @code{\raise}
457         => @code{\\raise}.
459         * darwin.patch: now used again, includes a
460         required patch from fink.
462 2005-12-21  Heikki Junes  <hjunes@cc.hut.fi>
464         * po/TODO: mention gtranslator along with kbabel.
465         * po/fi.po: update translations.
467 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
469         * lily/relocate.cc (setup_paths): Bugfix.
471 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
473         * lily/slur-configuration.cc (score_extra_encompass): don't use
474         "avoid" choice for avoid-slur.
476         * stepmake/bin/install.py (dest): don't create existing dir.
478 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
480         * stepmake/bin/install.py: Remove file before copying.
482         * config.make.in: 
483         * stepmake/aclocal.m4: Do not substitute INSTALL.
485 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
487         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
488         depend on link-tree.
490         * lily/relocate.cc (setup_paths): only check path for non-absolute
491         dir without directory part.
493         * flower/file-name.cc (is_absolute):  new method.
494         (is_absolute): check root_ too.
496 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
498         * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
499         relocation code.  Oops, don't comment out too much.
501         * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
502         iso itself.
504         * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h.  Fixes mingw
505         compile.
507 2005-12-20  Jan Nieuwenhuizen  <janneke@gnu.org>
509         * .cvsignore: Add install-sh.
511         * autogen.sh (srcdir): Typo.
513 2005-12-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
515         * autogen.sh (srcdir): urg. Touch install-sh.
517         * stepmake/bin/install-sh (Module): remove.
519         * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
521         * lily/include/relocate.hh: new file.
523         * lily/relocate.cc: new file. Contain relocation logic.
525         * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
526         (main): read LILYPOND_VERBOSE as the first thing.
528         * stepmake/aclocal.m4: remove INSTALL variable.
530         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
531         separate target for making font symlinks.
532         (documentation-dir): use $(if $(findstring )) for switching off
533         Documentation.
535         * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
536         something if DOCUMENTATION is no.
538 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
540         * VERSION: release 2.7.24
542         * lily/script-column-engraver.cc (stop_translation_timestep):
543         delay adding to script-column.
545         * lily/tuplet-bracket.cc (print): suicide if no control-points. 
547         * python/convertrules.py (conv): rule for number-visibility
549         * lily/slur-configuration.cc (score_extra_encompass): different
550         distance measure for avoid and inside avoidance.
551         (score_extra_encompass): use 1/(distance+eps) as penalty.
553         * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
554         encompass objects for generating slur curves.
556         * lily/slur.cc: use details iso. slur-details property.
558         * input/regression/slur-tuplet.ly: new file.
560         * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.  
562         * flower/include/offset.hh (class Offset): new operator /=
564         * lily/tuplet-number.cc (print): new file, new interface.
566         * scm/define-grob-properties.scm (all-user-grob-properties):
567         remove number-visibility property.
569         * lily/tuplet-bracket.cc (calc_control_points): new function
570         (calc_connect_to_neighbors): new function.
571         (print): remove text handling for tuplet numberdef.
573         * lily/tuplet-engraver.cc (struct Tuplet_description): create
574         TupletNumbers too. 
576         * lily/lily-guile.cc (robust_scm2booldrul): new function
578         * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
580         * lily/tuplet-bracket.cc (calc_position_and_height): use
581         staff-padding to control whether tuplet brackets are over staves.
583         * lily/grob.cc (suicide): clear dim_caches_.
585         * lily/dimension-cache.cc (clear): new function.
587         * lily/grob.cc (extent): swap order of min-extent and extent
588         calculations. This fixes hara kiri staves. 
590 2005-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>
592         * lily/main.cc: Nitpick: relocation is not based on path, but on
593         directory (location).
595 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
597         * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
599         * stepmake/stepmake/install-targets.make (local-uninstall): idem.
601         * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
603         * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
605         * stepmake/stepmake/generic-vars.make (Module): idem.
607         * stepmake/stepmake/executable-targets.make (default): use it.
609         * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
611         * make/GNUmakefile: don't install make rules.
613         * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
614         slashes.
615         (prepend_env_path): more verbosity.
617 2005-12-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
619         * GNUmakefile.in: add dir argument for find command.
621         * lily/parser.yy (bass_figure): set_spot() for bass figures. This
622         fixes weird line numbers for point & click.
624         * lily/source-file.cc (get_counts): init line/column/char counts.
626 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
628         * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
630 2005-12-16  Graham Percival  <gpermus@gmail.com>
632         * Documentation/user/basic-notation.itely, advanced-notation.itely:
633         minor fixes from Fredric.  Thanks!
635 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
637         * ly/music-functions-init.ly: add \bar and \clef music function 
639         * lily/lily-lexer.cc: idem.
641         * lily/parser.yy (FIXME): remove BAR and CLEF.
643 2005-12-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
645         * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
647         * lily/parser.yy (Generic_prefix_music_scm): allow strings as
648         function arguments too
650         * lily/main.cc (set_relocation): new function.
652         * scripts/musicxml2ly.py (convert): add \version
654         * lily/tie.cc: remove get_default_attachments()
656         * VERSION (PACKAGE_NAME): release 2.7.23
657         
658         * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
659         ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
661         * Documentation/topdocs/NEWS.tely (Top): document new feature.
663         * lily/tie-formatting-problem.cc (score_ties): new function
664         (get_variations): new function. Try flipping dirs for collisions.
665         (generate_optimal_chord_configuration): new function. 1-opt search
666         for better configuration.
668         * lily/tie-configuration.cc: new file.
670         * lily/tie.cc: junk Tie::get_configuration()
672         * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
673         (score_ties_configuration): new function.
674         (generate_ties_configuration): new function.
675         (generate_base_chord_configuration): new function.
676         (set_ties_config_standard_directions): Move body from tie-column-format.cc 
677         (set_manual_tie_configuration): Move body from tie-column-format.cc 
679         * input/regression/tie-dot.ly: new file.
681         * lily/tie-formatting-problem.cc (score_configuration): score
682         tie/dot collisions.
684         * lily/tie-helper.cc (get_transformed_bezier): new function
686         * Documentation/topdocs/NEWS.tely (Top): strip out-www.
688         * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
689         -undefined suppress iso. -framework Python 
691         * scm/define-grobs.scm (all-grob-descriptions): set
692         springs-and-rods (thanks Joe Neeman!)
694 2005-12-12  Nicolas Sceaux  <nicolas.sceaux@free.fr>
696         * input/no-notation/display-lily-tests.ly (test): 
697         * scm/display-lily.scm (tag->lily-string): the syntax for tags has
698         changed from \tag #'(a b) to \tag #'a \tag #'b
700 2005-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
702         * Documentation/topdocs/NEWS.tely: strip out-www.
704         * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
706         * config.make.in (AR): add AR and RANLIB
708         * flower/libc-extension.cc: include cassert
710         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
711         darwin check.
713 2005-12-11  Graham Percival  <gpermus@gmail.com>
715         * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
717         * stepmake/stepmake/python-modules-vars.make: define
718         SHARED_FLAGS for OSX.  Thanks Johannes Schindelin!
720         * THANKS: added Johannes Schindelin.
722 2005-12-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
724         * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
726         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
727         Span_arpeggio_engraver, add Tweak_engraver to Score context. 
729         * lily/parser.yy: reorganize file layout.
731         * ly/music-functions-init.ly: add tweak music function.
733         * lily/grob-info.cc (ultimate_music_cause): new function:
734         recursively lookup causes. 
736         * lily/parser.yy (chord_body_element): allow music functions for
737         post-events, allow music functions for chord elements. 
739         * lily/font-config-scheme.cc (display_fontset): add cast.
741         * python/convertrules.py (FatalConversionError.sub_syms): \tag
742         #'(a b) -> \tag #'a \tag #'b rule.
744         * python/musicexp.py (Output_printer.dump_version): new function
746 2005-12-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
748         * lily/parser.yy (FIXME): remove \tag
749         (FIXME): remove tag_music() function.
751         * lily/lily-lexer.cc: remove \tag
753         * ly/music-functions-init.ly: define music-function "tag"
755         * lily/parser.yy (chord_body_element): allow tags in chord bodies.
757 2005-12-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
759         * VERSION (PATCH_LEVEL): release 2.7.22
761         * input/regression/lyric-hyphen-retain.ly: renew.
763         * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
764         grob
766         * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
767         iso. minimum-length property for rods.
769         * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
770         LyricSpace item to keep lyrics spaced apart.
772         * ly/engraver-init.ly: remove Separating_line_group_engraver
774         * Documentation/user/music-glossary.tely: do setfilename before
775         music-glossary.
777 2005-12-07  Heikki Junes  <hjunes@cc.hut.fi>
779         * Documentation/user/lilypond-book.itely: use `,´ after xref:
780         See xref documentation, for example.
782 2005-12-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
784         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
785         pending_skip iso. ly_voice[-1]
786         (main): add if __main__ for debugging.
788         * python/musicxml.py (Accidental.__init__): new class.
790         * scripts/musicxml2ly.py (progress): new function
791         (musicxml_key_to_lily): don't barf on modeless keys.
792         (create_skip_music): new function.
793         (musicxml_spanner_to_lily_event): new function. Handle beams too.
794         (musicxml_note_to_lily_main_event): new function.
796         * python/musicexp.py (Music.__init__): add comment field.
797         (NestedMusic.append): new routine.
798         (SequentialMusic.print_ly): print comment.
799         (ArpeggioEvent.ly_expression): new class
800         (BeamEvent.ly_expression): new class
801         (NoteEvent.__init__): support for cautionary/forced accs.
803         * lily/lookup.cc (slur): normal order for array loop.
805         * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
806         to 0.0.
808         * ly/engraver-init.ly: set bar-size, so bar-lines aren't
809         collapsed.
811 2005-12-06 Erik Sandberg  <mandolaerik@gmail.com>
813         * scm/music-functions.scm: Make phrasing slurs follow voice direction
815         * scripts/lilypond-book.py: Introduce option
816         --preserve-line-breaks, for usage with srcltx
818 2005-12-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
820         * scm/output-lib.scm (print-circled-text-callback): draw circle
821         around text using make-circle-markup.
823         * Documentation/user/*: strip out-www from file names.
825 2005-12-05  Heikki Junes  <hjunes@cc.hut.fi>
827         * Documentation/user/lilypond.tely (direntry): remove empty lines;
828         fixes invalid info entry issue with makeinfo 4.8 in debian sid.
830 2005-12-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
832         * Documentation/user/GNUmakefile: idem.
834         * Documentation/user/macros.itexi: strip out-www
836         * python/rational.py: python 2.3 compat.
838         * VERSION (PATCH_LEVEL): release 2.7.21
840         * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
841         option formatting, lilypond style.
843         * python/musicexp.py: grab from Ikebana: a library for composing
844         ly music expressions. 
845         (Output_printer): class for advanced .ly printing.
846         (eg. tupletting) 
848         * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
849         convert to pythonesque structure.
851         * python/rational.py: PD rational number class.
853         * Documentation/user/converters.itely (Invoking musicxml2ly):  new node.
855 2005-12-04  Erik Sandberg  <mandolaerik@gmail.com>
857         * lily/part-combine-iterator.cc: Minor bugfix
858         
859         * THANKS: Update bughunters
861 2005-12-02  Werner Lemberg  <wl@gnu.org>
863         * mf/README: Document process for proper mf2pt1 conversion.
865         * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
866         overlapping.
868         * mf/feta-harmonica.mf: Removed.  Unused.
870 2005-12-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
872         * scripts/lilypond-book.py (do_file): fix thinkos.
874 2005-12-01  Jan Nieuwenhuizen  <janneke@gnu.org>
876         * lily/GNUmakefile ($(outdir)/FlexLexer.h):
877         ($(outdir)/parser.cc): 
878         ($(outdir)/lexer.cc): Bugfix: depend on config.h.
880 2005-11-30  Pedro Kröger  <kroeger@pedrokroeger.net>
882         * ly/titling-init.ly (tagline): it should be a space between
883         "Music engraving by LilyPond" and the version number.
885 2005-12-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
887         * VERSION (PACKAGE_NAME): release 2.7.20
889 2005-11-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
891         * scm/define-markup-commands.scm (pad-to-box): new markup command.
893         * scm/define-grobs.scm (all-grob-descriptions): set thickness to
894         1.0.
895         (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
897 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
899         * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
901         * kpath-guile/: remove directory
903         * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
904         file. Encapsulate kpathsea using commandline tools.
906         * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
907         kpathsea) module.
909 2005-11-29  Mats Bengtsson  <mabe@drongo.s3.kth.se>
911         * Documentation/user/advanced-notation.itely (Setting automatic
912         beam behavior): Correct a few typos. Thanks to David Bobroff.
914         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
915         \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
917 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
919         * scripts/*.py: gmane address for bugs.
921 2005-11-28 Pal Benko <benkop@freestart.hu>
922         
923         * make/ly-rules.make: add -f switch to mv
925         * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
927         * lily/bar-line.cc: interpret it
929 2005-11-28  Jan Nieuwenhuizen  <janneke@gnu.org>
931         * configure.in (--disable-documentation): New switch.
933         * GNUmakefile.in: Use it.
935         * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
937 2005-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
939         * scripts/lilypond-book.py (do_file): search chunks for
940         \\begin{document}
942         * GNUmakefile.in: add copy step in between so we can lose the
943         out-www directories.
945 2005-11-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
947         * lily/pango-font.cc (pango_item_string_stencil): put
948         geometry.width into glyph-string too.
950 2005-11-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
952         * scm/define-music-display-methods.scm (RevertProperty):
953         (OverrideProperty): Use grob-property-path property, a list of
954         symbols, instead of grob-property, which used to be a single
955         symbol.
956         (BassFigureEvent): a figure can be a plain number, not necessarily a
957         markup.
959 2005-11-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
961         * VERSION: release 2.7.19
962         
963         * lily/figured-bass-engraver.cc (process_music): check
964         figuredBassCenterContinuations first.
966         * scm/translation-functions.scm (format-bass-figure): make double
967         sharp larger. 
969         * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
970         determine X-parent.
972         * lily/system-start-delimiter-engraver.cc: move from
973         Nested_system_start_delimiter_engraver, rename
974         Nested_system_start_delimiter_engraver ->
975         System_start_delimiter_engraver.
977         * lily/nested-system-start-delimiter-engraver.cc (from_list): read
978         bracket type from hierarchy.
980 2005-11-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
982         * lily/rest.cc (y_offset_callback): read staff-position.
984         * scm/define-grob-properties.scm (all-user-grob-properties): don't
985         mark after-line-breaking-callback as internal.
987         * lily/self-aligment-interface.cc: remove self-[XY]-offset.
989 2005-11-25  Werner Lemberg  <wl@gnu.org>
991         * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
993 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
995         * stepmake/bin/add-html-footer.py (do_file): add google
997         * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
998         staff if first_start_ is true.
1000 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1002         * scripts/midi2ly.py (split_track): add __repr__ members.
1003         (track_first_item): only return Item if not None. This fixes a
1004         problem when dumping a track that starts with an empty channel.
1006         * python/midi.c: doc module.
1008 2005-11-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1010         * Documentation/user/global.itely (Creating MIDI files): Fix
1011         compilation problem.
1013 2005-11-22  Graham Percival  <gpermus@gmail.com>
1015         * Documentation/user/basic-notation.itely: clarify dynamic
1016         padding text.
1018         * Documentation/user/advanced-notation.itely: add unicode
1019         escape control example, whatever that is.  :)
1021         * Documentation/user/global.itely: added "removing dynamics
1022         from MIDI" code.
1024 2005-11-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1026         * VERSION (PATCH_LEVEL): release 2.7.18
1028         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
1029         System_start_delimiter_engraver by
1030         Nested_system_start_delimiter_engraver.
1032         * lily/nested-system-start-delimiter-engraver.cc (struct
1033         Bracket_nesting_node): new class.
1034         (struct Bracket_nesting_group): new class
1035         (struct Bracket_nesting_staff): new class.
1036         (process_music): create hierarchy of grobs. This allows separate
1037         tuning of different SSDs. 
1039         * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
1040         (all-grob-descriptions): remove old NestedSystemStartDelimiter.
1042 2005-11-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1044         * lily/side-position-interface.cc (aligned_side): multiply
1045         staff_radius by 2.
1047         * lily/script-engraver.cc (make_script_from_event): allow setting
1048         values to '()
1050 2005-11-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1052         * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
1054         * scm/define-grobs.scm (all-grob-descriptions): new grob
1055         NestedSystemStartDelimiter.
1057         * input/regression/system-start-heavy-bar.ly: new file.
1059         * lily/nested-system-start-delimiter-engraver.cc: new file.
1061         * lily/nested-system-start-delimiter.cc: new file.
1063         * input/regression/system-start-nesting.ly: new file.
1065         * scm/define-grobs.scm (all-grob-descriptions): use X side
1066         positioning for positioning braces for nested contexts.
1068         * lily/system-start-delimiter.cc (print): don't divide extent by
1069         staff_space.
1070         (print): use style iso. glyph.
1071         (staff_bracket): translate glyph inside routine already.
1073 2005-11-18  Michael Welsh Duggan <md5i@cs.cmu.edu>
1075         * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
1076         names.
1078 2005-11-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1080         * scm/define-context-properties.scm
1081         (all-user-translation-properties): rename figuredBassFormatter
1082         from newFiguredBassFormatter.
1084         * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
1086         * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
1088         * lily/stem.cc (calc_stem_info): trigger beaming calculation.
1090         * lily/beam.cc (calc_beaming): new function.
1091         (calc_shorten): new function.
1093         * THANKS: add Edward Neeman.
1095         * input/regression/accidental-clef-change.ly: new file.
1097         * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
1099         * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
1101         * lily/clef-engraver.cc (inspect_clef_properties): reset
1102         localKeySignature for clef changes.
1104 2005-11-17  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1106         * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3 
1107         add dummy definition that works in Linux and add information in
1108         INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
1110         * Documentation/user/changing-defaults.itely (Modifying context
1111         plug-ins): Add index for \with.
1113         * Documentation/user/music-glossary.tely (dal segno): Updated
1114         example to version >=2.6.
1116 2005-11-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1118         * Documentation/user/instrument-notation.itely (Printing chord
1119         names): Reorder \chordmode and \repeat in one example.
1121 2005-11-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1123         * VERSION: release 2.7.17
1124         
1125         * Documentation/topdocs/NEWS.tely (Top): add note about
1126         refactoring.
1128         * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
1129         new function. Search region of 3 positions for best tie.
1130         (score_configuration): new function.
1131         (score_aptitude): new function.
1132         (generate_configuration): new function.
1133         (get_configuration): new function.
1134         (Tie_formatting_problem): new function
1136         * input/regression/page-top-space.ly: a6 for page-top-space demo. 
1138         * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
1140         * THANKS: add Eduardo Vieira & Ralph Little
1142         * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
1143         narrower.
1145         * lily/include/tie-formatting-problem.hh (class
1146         Tie_formatting_problem): add Tie_details to
1147         Tie_formatting_problem. Update calling conventions.
1149         * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
1150         config.make.
1152         * Documentation/user/lilypond.tely: remove musedata2ly entry.
1154 2005-11-16  Jürgen Reuter  <reuter@ipd.uka.de>
1156         * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
1157         scm/define-context-properties.scm: Maintenance bugfix: make
1158         ligature brackets work again by removing obsolete ligature
1159         primitive callback push/pop.
1161         * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
1162         not call Tuplet_bracket::calc_direction.  Removed obsolete gap
1163         value.
1165 2005-11-15  Jan Nieuwenhuizen  <janneke@gnu.org>
1167         * stepmake/aclocal.m4 (depth): Explain why absolute directory is
1168         used and do not call it a path.
1169         (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
1171 2005-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1173         * lily/include/tie-formatting-problem.hh (class
1174         Tie_formatting_problem): new file.
1176         * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
1178         * Documentation/misc/ChangeLog-2.3:  new file.
1180         * lily/audio-staff.cc (output): degarianize.
1182 2005-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>
1184         * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
1185         Unset PYTHONOPTIMIZE.  Fixes install if set.
1187 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1189         * python/convertrules.py (conv): add warning about drums. 
1191         * make/stepmake.make: include toplevel-version.make after config.make.
1193         * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
1194         also allow python2.4
1196         * config.make.in (configure-srcdir): remove GXX GCC vars.
1198         * stepmake/aclocal.m4: don't do non-srcdir build with
1199         symlinks. Use inclusion, so the src directory name can be changed.
1201 2005-11-13  Jan Nieuwenhuizen  <janneke@gnu.org>
1203         * make/mutopia-vars.make:
1204         * make/ly-vars.make: Use src-wildcard iso wildcard for source
1205         files.
1207 2005-11-13  Werner Lemberg  <wl@gnu.org>
1209         * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
1210         but the affected path.  This ensures that the (overlapping) outlines
1211         have the same direction, which is a necessary prerequisite for
1212         FontForge's algorithm to remove overlaps.
1213         Formatting.
1215         * mf/feta-haak.mf: Formatting.
1216         (draw_bracket): Slightly modify outline to avoid an unnecessary
1217         corner.
1218         Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
1219         them from the affected paths.
1221 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1223         * mf/README: remove xpm / accordion notes.
1225         * lily/tie-column-format.cc (set_chord_outline): add dots into
1226         skyline extents. This fixes tie formatting if the left head has dots.
1228         * lily/tie.cc (get_configuration): only shift tie by a whole staff
1229         space inside the staff.
1230         (get_configuration): shift another position if necessary in case
1231         of left head tie  
1233 2005-11-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1235         * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
1236         buildscript-dir iso. $(depth)/buildscripts.
1238         * tex/GNUmakefile (local-uninstall): remove
1239         music-drawing-routines.ps juggling.
1241         * stepmake/stepmake/install-targets.make (local-install-files):
1242         prepend src-dir to install targets.
1244         * lily/system-start-delimiter-engraver.cc
1245         (acknowledge_system_start_delimiter): use
1246         add_offset_callback(). This fixes translation of nested
1247         staffgroups.
1249         * lily/grob-closure.cc (add_offset_callback): only encaps in
1250         simple_closure if it's a procedure.
1251         
1252         * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
1253         from bar-line.
1255         * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
1256         remove-empty where pertinent.
1258 2005-11-12  Graham Percival  <gpermus@gmail.com>
1260         * Documentation/user/instrument-notation.itely: added
1261         Cameron Horsburgh's multiple stanzas docs.  Thanks!
1263 2005-11-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1265         * lily/GNUmakefile
1266         ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
1267         make picture in builddir, not srcdir.
1269 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1271         * VERSION: release 2.7.16
1272         
1273         * scripts/lilypond-book.py (main): use commands.mkarg () to quote
1274         shell arguments. 
1276 2005-11-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1278         * Documentation/user/examples.itely (Piano templates): Minor
1279         modification to the Piano centered lyrics example.
1281 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1283         * scripts/lilypond-invoke-editor.scm (run-browser): look at
1284         $BROWSER.
1286         * Documentation/user/point-and-click.itely: simplify p&c
1287         instruction: don't configure firefox. Put lilypond-invoke-editor
1288         in front of the browser.
1290         * scripts/lilypond-invoke-editor.scm (run-editor): new function.
1291         (run-browser): new function.
1293         * lily/parser.yy (Lily_lexer): recognize Book
1295         * lily/book.cc (clone): new function
1297         * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
1299 2005-11-10  Jürgen Reuter  <reuter@ipd.uka.de>
1301         * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
1302         Maintenance bugfix: reduce number of font related warnings by
1303         updating naming conventions for glyph-name.
1305 2005-11-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1307         * scm/define-grobs.scm (all-grob-descriptions): add
1308         rhythmic-grob-interface to TabNoteHead.
1310         * scm/layout-beam.scm (check-quant-callbacks): remove
1311         set_stem_lengths()
1313 2005-11-08  Jürgen Reuter  <reuter@ipd.uka.de>
1315         * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
1316         alignment of centered divisiones.
1318         * scm/scripts.scm (articulations): Maintenance bugfix:
1319         follow-into-staff -> quantize-position.
1321         * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
1322         plica head in porrectus deminutus.
1324 2005-11-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1326         * make/lilypond.fedora.spec.in (Group): add %clean section.
1328         * lily/tuplet-bracket.cc (print): change check: remove bracket if
1329         less then 1/5th of total length.  
1330         (print): use gap too.  Fixes tupletUp-single-bracket.ly
1332         * scm/music-functions.scm (glue-mm-rest-texts): also put other
1333         events into EventChord. This fixes textspanners on mm rests. Fixes
1334         spanner-rest.ly
1336         * lily/side-position-interface.cc (get_axis): read side-axis
1337         (set_axis): set side-axis.
1339         * scm/define-grobs.scm (all-grob-descriptions): add side-axis
1340         properties everywhere.
1342         * lily/spacing-spanner.cc (breakable_column_spacing): add
1343         average-spacing-wishes. Take maximum if not set.
1344         (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
1346         * scm/define-grobs.scm (all-grob-descriptions): add
1347         average-spacing-wishes.
1349         * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
1350         offset callbacks. This fixes alignment for Fingering objects.
1352         * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
1353         space for key - timesig combination. 
1355         * input/regression/script-stem-tremolo.ly (Module): new file.
1357         * scm/define-grobs.scm (all-grob-descriptions): decrease distance
1358         to key sig.
1360         * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
1361         Fixes: c-tremolo-script.ly.
1362         
1363         * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
1365         * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
1366         
1367         * scm/define-grobs.scm (all-grob-descriptions): remove
1368         self-X-offset. Fixes alignment of octavate-8.
1370         * scripts/lilypond-book.py (datadir): look in
1371         LILYPONDPREFIX/share/lilypond/current/
1373         * GNUmakefile.in: symlink current to <VERSION>. 
1375 2005-11-07  Pedro Kroger  <kroeger@pedrokroeger.net>
1377         * lily/main.cc: eps listed as a backend.
1379 2005-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1381         * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
1383 2005-11-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1385         * lily/include/score.hh (class Score): remove texts_ member.
1387         * lily/beam.cc (set_stem_lengths): force direction callback.
1388         (print): read quantized-positions, so we can force
1389         Beam::set_stem_lengths to occur.
1390         (rest_collision_callback): use common X parent. 
1392 2005-11-03  Jan Nieuwenhuizen  <janneke@gnu.org>
1394         * flower/file-path.cc (find): Bugfix: Return name of file found.
1396         * lily/main.cc (setup_paths): Bugfix for argv0 logic.
1397         (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
1398         (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
1400 2005-11-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1402         * flower/offset.cc: idem.
1404         * mf/*.mf: update email address.
1406         * lily/font-config-scheme.cc:  new file.
1408         * GNUmakefile.in (SUBDIRS): remove debian/ directory.
1410         * lily/*:  cs.uu.nl -> xs4all.nl
1412         * VERSION (PATCH_LEVEL): release 2.7.15
1414         * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
1415         spec files.
1417         * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
1419 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1421         * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.   
1423         * lily/staff-performer.cc (process_music): add audio
1424         elements. This makes MIDI instrument changes work once again.
1426         * lily/main.cc (LY_DEFINE): add gmane address.
1428         * lily/beam.cc: remove calc_positions()
1430         * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
1431         original_ in private scope.
1432         (class Grob): drop pscore_ pointer, change to output_def pointer.
1433         (class Grob): cleanup class definition.
1435         * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
1437 2005-11-02  Jan Nieuwenhuizen  <janneke@gnu.org>
1439         * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
1440         absolute.  Better diagnostics.
1442         * GNUmakefile.in: Add bin/ to tree and populate with some links.
1443         This makes lilypond run from the build directory using argv0
1444         relocation (without any --prefix or LILYPONDPREFIX setting).
1446 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1448         * Documentation/topdocs/NEWS.tely (Top): document new backend design.
1450         * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
1451         with simple-closure.
1453         * lily/self-aligment-interface.cc (set_align_self): new function
1454         (set_center_parent): new function.
1456         * lily/side-position-interface.cc (set_axis): new function.
1458         * lily/new-fingering-engraver.cc (position_scripts): use drul for
1459         generic code. 
1461         * scm/define-grob-properties.scm (all-user-grob-properties):
1462         remove [XY]-offset-callbacks add [YX]-offset
1463         
1464 2005-11-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1466         * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
1467         entry for time signatures after breathing signs. Bug report by
1468         Scott Russell.
1470 2005-11-01  Jan Nieuwenhuizen  <janneke@gnu.org>
1472         * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
1473         not absolute, make it absolute using PATH.
1475 2005-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
1477         * python/midi.c (initmidi): Fix type for mingw.
1479 2005-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
1481         * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
1483         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
1484         cross compiling.
1486         * stepmake/aclocal.m4: Support python cross compiling.
1488         * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
1489         Add mingw section.
1491 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1493         * scm/output-lib.scm (chain-grob-member-functions): replace
1494         chained-callback.cc
1496         * lily/chained-callback.cc (Module): remove file.
1498         * lily/rest-collision.cc (force_shift_callback_rest): change to
1499         chained callback.
1501         * lily/rest.cc (y_offset_callback): merge function of 3 callbacks. 
1503         * lily/grob.cc (y_parent_positioning): remove axis argument from
1504         parent_positioning callbacks.
1505         (Grob): junk init code
1506         (get_offset): use generic property callbacks for
1507         X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
1508         (axis_parent_positioning): new function
1509         (axis_offset_symbol): new function
1510         (chain_offset_callback): new function
1511         (add_offset_callback): new function
1513         * lily/beam.cc (rest_collision_callback): change signature; this
1514         is now a chained callback.
1516         * lily/include/dimension-cache.hh (class Dimension_cache): remove
1517         callback administration.
1519         * lily/simple-closure.cc: new file. Smob type that allows "grob
1520         member functions",
1522             (ly:make-simple-closure FUNC A B)
1524         is evaluated as (FUNC grob A B). This allows chaining of callbacks
1525         in various ways.
1527         * lily/slur-engraver.cc (acknowledge_extra_object): use chained
1528         callbacks.
1530         * lily/slur.cc (outside_slur_callback): take 2 arguments.
1532         * lily/rest.cc (polyphonic_offset_callback): remove.
1534         * lily/script-engraver.cc (try_music): remove bool* argument.
1536         * scm/script.scm (default-script-alist): set quantize-position
1537         appropriately.
1539         * lily/script-engraver.cc: remove follow_into_staff_ special coding. 
1541         * lily/side-position-interface.cc (aligned_side): move staff
1542         position quantization from
1543         Side_position_interface::quantised_position().
1544         (quantised_position): remove
1545         
1546 2005-10-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1548         * input/regression/beam-quant-standard.ly: reindent, set
1549         debug-beam-quanting to #t.
1551         * lily/beam-concave.cc (calc_concaveness): set concaveness to
1552         10000 if this is a "hard" concave beam.
1554         * lily/beam.cc (calc_least_squares_positions): change from
1555         calc_least_squares_dy
1556         (set_stem_lengths): this is now a chained callback.
1558         * lily/context-property.cc (execute_general_pushpop_property):
1559         bugfix override with procedure should have effect.
1561         * scm/define-grob-properties.scm (all-internal-grob-properties):
1562         remove position-callbacks.
1564         * scm/define-grobs.scm (all-grob-descriptions): use
1565         ly:make-callback-chain for positions property.
1567         * scm/layout-beam.scm (check-quant-callbacks): return list of
1568         chained callbacks.
1570         * scm/lily.scm (type-p-name-alist): add callback-chain
1572         * lily/lily-guile.cc (type_check_assignment): type check failure
1573         is warning not message.
1575         * lily/grob-property.cc (try_callback): walk callback chain if
1576         appropriate.
1578         * lily/chained-callback.cc: new file. new smob type.
1580         * lily/lily-guile.cc (procedure_arity): new function.
1582 2005-10-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1584         * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
1586 2005-10-25  John Mandereau  <john.mandereau@free.fr>
1588         * Documentation/user/instrument-notation.itely (Figured bass):
1589         describe new features
1591 2005-10-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1593         * lily/beam.cc (calc_least_squares_dy): use property callback.
1595         * lily/beam-concave.cc (calc_concaveness): use property callback.
1597         * ly/paper-defaults.ly: move fixed dimensions from paper.scm 
1599 2005-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
1601         * HACKING: Update.
1603 2005-10-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1605         * scm/layout-page-layout.scm (page-headfoot): annotate
1606         pagetopspace too.
1608         * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit. 
1610         * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
1611         doesn't take y-space.
1613         * scm/paper.scm (paper-alist): fix A7 dimensions. 
1615 2005-10-24  Jan Nieuwenhuizen  <janneke@gnu.org>
1617         * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
1618         src-wildcard, remove $(wildcard).
1620         * po/GNUmakefile (PO_FILES): 
1621         * ps/GNUmakefile (PS_FILES): 
1622         * tex/GNUmakefile (TEX_FILES): 
1623         * cygwin/GNUmakefile (POSTINSTALLS):
1624         * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
1625         some wildcard calls.
1627 2005-10-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1629         * THANKS: add Thomas Bushnell.
1631 2005-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
1633         * scm/lily.scm: Remove horrendous running-from-gui? kludge.
1634         (lilypond-main): Redirect to gui-main if 'gui is set.
1635         Backportme.
1637         * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
1638         for alternative installations kludging s/share/lib/g
1639         LILYPONDPREFIX. Backportme.
1641         * SConstruct (libdir_package_version): Define.
1643         * python/SConscript: 
1644         * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
1645         module in libdir.  Backportme.
1647 2005-10-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1649         * lily/main.cc: clarify --safe.
1651 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1653         * VERSION: release 2.7.14
1654         
1655         * Documentation/user/*.itely: remove minimumVerticalExtent.
1657         * scm/define-grobs.scm (all-grob-descriptions): remove
1658         RemoveEmptyVerticalGroup
1660         * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
1662         * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
1663         compile on MOSX
1665         * python/convertrules.py (conv): add rules.
1667         * lily/grob.cc: remove is_empty()
1669         * lily/grob-property.cc: remove add_to_list_property().
1671         * scripts/convert-ly.py (datadir): add prefix switching hack to
1672         .py too.
1674         * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
1675         space-function tweak.
1677         * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
1679         * scm/define-grob-properties.scm (all-user-grob-properties):
1680         remove callback property.
1682         * lily/include/grob.hh (class Grob): remove property_callbacks_
1683         member. Properties of procedure type are assumed to be callbacks.
1685         * lily/ligature-engraver.cc (override_stencil_callback):
1686         rewrite. Use noteHeadLigaturePrimitive as source.
1688         * scm/define-grob-properties.scm (all-internal-grob-properties):
1689         remove ligature-primitive-callback
1691         * lily/include/dimension-cache.hh (class Dimension_cache): make
1692         class, with Grob as friend.
1694         * lily/grob.cc: remove set_extent_callback(), set_extent() and
1695         has_extent_callback()
1697         * scm/translation-functions.scm (format-new-bass-figure): read
1698         figuredBassPlusDirection
1700         * scm/define-context-properties.scm
1701         (all-user-translation-properties): add figuredBassPlusDirection.
1703         * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
1705         * lily/align-interface.cc (set_ordered): new function.
1707         * lily/grob.cc (flush_extent_cache): rewrite.
1709         * lily/dimension-cache.cc (Dimension_cache): cache extent as
1710         Interval pointer directly.
1712         * lily/main.cc (setup_paths): insert extra / .
1713         (setup_paths): junk cff entry.
1715         * lily/font-config.cc (init_fontconfig): only add type1 / otf
1716         directories.
1718         * lily/axis-group-engraver.cc (finalize): remove
1719         extraVerticalExtent, minimumVerticalExtent verticalExtent.
1721         * lily/grob.cc (Grob): don't set extent from ctor.
1722         (extent): use property callbacks. 
1724         * lily/axis-group-interface.cc: remove set_axes() function.
1726         * lily/grob-property.cc (del_property): new function.
1728 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1730         * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
1731         
1732 2005-10-20  Jan Nieuwenhuizen  <janneke@gnu.org>
1734         * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops.  Add.
1736 2005-10-19  Jan Nieuwenhuizen  <janneke@gnu.org>
1738         * mf/SConscript: Updates.
1740         * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
1742         * stepmake/stepmake/*:
1743         * */GNUmakefile:
1744         * config.make.in:
1745         * GNUmakefile.in:
1746         * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
1747         from any directory in build-dir.  Cleanups.
1749         * make/srcdir.make.in: Remove.
1751         * lily/main.cc (setup_paths): Fix and document build-dir hack.
1753         * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
1754         main).
1756         * lily/SConscript: Remove ttftools.
1758         * SConstruct: Resurrect.
1760 2005-10-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1762         * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
1763         Y coordinate. 
1765         * lily/paper-book.cc (add_score_title): put Paper_score title into
1766         systems_ list.
1768         * scm/translation-functions.scm (format-new-bass-figure): also
1769         allow plus in combination with _
1771 2005-10-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1773         * VERSION: 2.7.13 released.
1775         * lily/note-collision.cc (check_meshing_chords): don't wipe
1776         stencil, merely set transparent.
1778         * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau. 
1779         (Top): document #'callbacks.
1780         (Top): document nested \override.
1782         * input/regression/figured-bass.ly: update for slash and pluses.
1784         * input/regression/figured-bass-continuation-forbid.ly (Module):
1785         new file.
1787         * scm/translation-functions.scm (format-new-bass-figure): use
1788         slashed-digit if diminished is set.
1789         (format-new-bass-figure): add + if 'augmented is set.
1791         * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
1793         * input/test/piano-staff-distance.ly: remove file.
1795         * Documentation/user/advanced-notation.itely (Formatting cue
1796         notes): use length-fraction for making stems/beams smaller.
1798         * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
1799         modifications.
1801         * lily/new-figured-bass-engraver.cc: new property
1802         centerFiguredBassContinuations
1804         * Documentation/user/changing-defaults.itely (Difficult tweaks):
1805         use callbacks.
1807         * lily/context-property.cc (execute_general_pushpop_property):
1808         robustness checks.
1810         * input/regression/override-nest.ly: new file.
1812         * python/convertrules.py (FatalConversionError.subber): conversion
1813         rule for #'callbacks
1815         * input/regression/override-nest.ly: new function.
1817         * lily/parser.yy (music_property_def): allow \override #'a #'b =
1818         #c too. 
1820         * lily/context-property.cc (lookup_nested_property): new function.
1821         (evict_from_alist): new function.
1822         (general_pushpop_property): new function.
1823         (execute_general_pushpop_property): rewrite. Support nested
1824         properties too.
1826 2005-10-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1828         * lily/beam.cc: use length-fraction too.
1830         * scm/define-grob-properties.scm (all-user-grob-properties):
1831         remove property flag-width-function
1832         (all-user-grob-properties): remove space-function.
1834         * scm/layout-beam.scm: remove flag-width-function.
1836         * lily/beam.cc: remove flag-width-function
1838         * scm/layout-beam.scm: remove beam dir functions.
1840         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
1842         * lily/stem.cc (calc_length): multiply with length_fraction. Makes
1843         for easier grace tweaks.
1845         * lily/beam.cc: remove dir-function.
1847         * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
1849         * lily/grob.cc: remove spacing-procedure.
1851         * lily/note-head.cc (calc_stem_attachment): new function.
1852         (internal_print): use callback to get glyph-name.
1854         * lily/grob-property.cc (get_interfaces): new function.
1856         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
1858         * lily/stem.cc (calc_stem_end_position): new function.
1859         (calc_length): new function.
1860         document details for stem.
1861         remove Stem::get_direction()
1863         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback! 
1865         * lily/grob-property.cc (set_callback): new function.
1867         * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
1869         * lily/item-scheme.cc: new file.
1871         * lily/bar-line.cc (before_line_breaking): remove function.
1872         remove bar-size-procedure, break-glyph-function
1874         * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
1876         * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
1878         * lily/system-start-delimiter.cc (print): suicide from
1879         here. Remove after_line_breaking_callback.
1881         * lily/script-interface.cc (calc_direction): use callback for direction.
1883         * lily/side-position-interface.cc (aligned_side): don't use
1884         Side_position_interface::get_direction directly. Use callback. 
1886         * lily/grob.cc (get_stencil): simplify: use callback mechanism to
1887         calculate stencil.
1888         (get_print_stencil): rename from get_stencil: create stencil with
1889         transparency, color and cause. 
1891         * scm/define-grobs.scm: change print-function to stencil callback everywhere.
1893         * python/convertrules.py (conv): insert temporary warning rule.
1895         * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
1897         * lily/grob-property.cc (try_callback): remove marker if applicable.
1899         * lily/grob.cc: elucidate doc about after/before-line-breaking
1901         * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
1903         * lily/stem.cc (height): idem.
1905         * lily/stem-tremolo.cc: idem.
1907         * lily/slur.cc (height): don't use get_uncached_stencil()
1909         * lily/rest.cc (y_offset_callback): use offset callback
1910         iso. after-line-breaking callback.
1912         * lily/grob.cc: change after/before-line-breaking-callback to
1913         after/before-line-breaking dummy properties.
1915         * lily/include/grob.hh: remove Grob_status.
1917         * scm/define-context-properties.scm
1918         (all-user-translation-properties): remove verticalAlignmentChildCallback
1920         * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
1921         (calc_direction): use callback
1922         (calc_positions): use callback.
1924         * lily/tie.cc (calc_direction): use callback. Only call parent
1925         positioning for more than one tie.
1927         * lily/tie-column.cc (calc_positioning_done): use callback
1929         * lily/slur-scoring.cc (calc_control_points): use callback
1931         * lily/slur.cc (calc_direction): use callback.
1933         * lily/note-collision.cc (force_shift_callback): remove.
1935         * lily/dot-column.cc (force_shift_callback): remove. Use
1936         other_axis_parent_positioning.
1938         * lily/grob.cc (other_axis_parent_positioning): new function.
1939         (same_axis_parent_positioning): new function
1941         * lily/align-interface.cc (alignment_callback): remove function.
1943         * lily/note-collision.cc (calc_positioning_done): use callback.
1945         * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
1946         (calc_direction): idem.
1947         remove print function.
1949         * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
1951         * lily/dot-column.cc (calc_positioning_done): use callback.
1953         * lily/break-align-interface.cc (calc_positioning_done): use callback.
1955         * lily/beam.cc (calc_direction): use pseudo-property for beam
1956         direction callback.
1957         (calc_positions): use callback 
1959         * lily/align-interface.cc (calc_positioning_done): use
1960         callback. Fold fixed  distance and normal alignment in one function.
1962         * lily/stem.cc (calc_stem_end_position): use callback.
1963         (calc_positioning_done): idem.
1964         (calc_direction): idem.
1965         (calc_stem_end_position): idem
1966         (calc_stem_info): idem.
1968         * lily/grob-property.cc (get_property_data): new function: 
1969         (try_callback): new function.
1971         * scm/define-grob-properties.scm (all-user-grob-properties): doc
1972         callbacks property.
1974         * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
1976 2005-10-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1978         * lily/tie.cc (get_position): robustness fix. Don't crash if a
1979         tie
1980         has no heads.
1981         
1982         * lily/include/*.hh (Module): compile fixes.
1984 2005-10-14  Heikki Junes <hjunes@cc.hut.fi>
1986         * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil 
1987         as an argument for char-syntax: use (char-syntax (or nil 0)) 
1988         instead of (char-syntax nil), thanks to Milan Zamazal.
1990 2005-10-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1992         * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
1993         dist.
1995         * lily/tuplet-bracket.cc: check columns of bounds, not bounds
1996         themselves.
1998 2005-10-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2000         * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
2001         add class_name() method.
2003         * lily/music-scheme.cc: remove ly:music-name.
2005 2005-10-11  Jan Nieuwenhuizen  <janneke@gnu.org>
2007         * cygwin/postinstall-lilypond.sh: Remove cruft.
2009         * cygwin/postremove-lilypond.sh: Remove.
2011         * cygwin/GNUmakefile (default): Remove postremove rules.
2013 2005-10-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2015         * ly/titling-init.ly (evenHeaderMarkup): use space in header on
2016         even header too.
2017         
2018         * scm/define-markup-commands.scm (wordwrap-string): bugfix for
2019         MacOS 9 users.
2021         * lily/hara-kiri-group-spanner.cc (consider_suicide): only
2022         consider break index for broken spanner.
2024         * scm/define-markup-commands.scm (wordwrap-string): remove \r
2025         characters from string before splitting.
2027 2005-10-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2029         * scm/framework-ps.scm (output-preview-framework): use
2030         is-book-title to determine whether to chop off the booktitle.
2032         * lily/paper-book.cc (systems): init from book-title-properties
2033         (add_score_title): init score-title-properties.
2035         * ly/paper-defaults.ly: add {score,book}-title-properties.
2037         * scm/document-backend.scm (lookup-interface): error message if
2038         using unknown interface.
2040         * lily/volta-bracket.cc (after_line_breaking): new function. Set
2041         edge-height.
2043         * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
2044         make_bracket.
2045         (make_bracket): new function.
2047         * scm/lily.scm (define-scheme-options): add paper-size option.
2049         * ly/declarations-init.ly (laissezVibrer): get paper size from
2050         -dpaper-size
2052         * scm/translation-functions.scm: use \fontsize for changing the
2053         fontsize.
2055         * scm/define-grobs.scm (all-grob-descriptions): set
2056         between-length-limit to 1.0
2058         * lily/tie-helper.cc: add between_length_limit_ detail property.
2060         * mf/feta-bolletjes.mf: typos.
2062         * lily/note-head.cc (internal_print): don't shadow idx
2063         parameter. This fixes wrong attachment for do shape heads.
2065 2005-10-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2067         * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
2069         * scm/parser-clef.scm (supported-clefs): rename from clef.scm
2071         * scm/layout-slur.scm: rename from slur.scm
2073         * scm/layout-page-layout.scm: rename from page-layout.scm
2075         * scm/layout-beam.scm: rename from beam.scm
2077         * scm/define-grob-interfaces.scm (bass-figure-interface): add
2078         bass-figure-interface
2080         * lily/new-figured-bass-engraver.cc (process_music): add
2081         implicitBassFigures property.
2082         
2083         * scm/define-markup-commands.scm (pad-x): new markup.
2085         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
2086         minimumVerticalExtent on FiguredBass context.
2088         * lily/figured-bass-continuation.cc (center_on_figures): kludge in
2089         case the continuation crosses a line break.
2091 2005-10-09  Jan Nieuwenhuizen  <janneke@gnu.org>
2093         * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
2094         unconverted value if cygwin_conv_to_posix_path () fails.  Fixes
2095         absolute file name bug.  Backportme.
2097 2005-10-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2099         * VERSION (PACKAGE_NAME): release 2.7.12
2101         * input/regression/figured-bass-continuation-center.ly: new file.
2103         * input/regression/beam-outside-beamlets.ly: new file.
2105         * lily/beam.cc (set_beaming): don't clip edges.
2106         (connect_beams): don't clip edges.
2108         * lily/beaming-info.cc (clip_edges): new function.
2110         * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
2112         * Documentation/user/instrument-notation.itely (Figured bass):
2113         demonstrate extenders, update seealso links.
2115         * scm/titling.scm (marked-up-headfoot): change tagline
2116         handling. tagline = ##f will blank the tagline as well.
2118 2005-10-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2120         * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
2122         * lily/new-figured-bass-engraver.cc (struct
2123         New_figured_bass_engraver): add new_music_found_ member.
2125         * lily/lilypond-version.cc (Lilypond_version): deal with
2126         incorrectly formatted version strings. 
2128         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
2129         New_figured_bass_engraver by default.
2131         * lily/ttf.cc (print_trailer): only define glyph names when
2132         FT_Face has FT_FACE_FLAG_GLYPH_NAMES
2134 2005-10-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2136         * lily/horizontal-bracket.cc (make_bracket): new function.
2138         * scm/define-grobs.scm (all-grob-descriptions): new grobs
2139         NewBassFigure, BassFigureBracket, BassFigureContinuation,
2140         BassFigureLine, BassFigureAlignment
2142         * lily/new-figured-bass-engraver.cc (process_music): new file.
2144         * lily/figured-bass-continuation.cc: new file.
2146         * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
2147         new file.
2149 2005-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2151         * scripts/lilypond-book.py: Bug fix, put the quote around the
2152         actual score for LaTeX documents.
2154         * scm/define-grobs.scm (all-grob-descriptions): Change
2155         collapse-height of the SystemStartBracket grob to 5.0, 
2156         so the bracket disappears for single stave score lines (similarly
2157         to SystemStartBraces). 
2159         * Documentation/user/advanced-notation.itely (Polymetric
2160         notation): Clarify the use of compressMusic.
2162         * Documentation/user/basic-notation.itely (Grace notes): Clarify
2163         that the grace spacer note in other staves need the same duration
2164         and document the stroke-style property.
2166 2005-10-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2168         * Documentation/user/global.itely (Vertical spacing): document
2169         alignment-extra-space and fixed-alignment-extra-space.
2171         * Documentation/topdocs/NEWS.tely (Top): add entry.
2173         * input/regression/alignment-vertical-spacing.ly: new file.
2175         * python/convertrules.py (conv): add rule.
2177         * ly/music-functions-init.ly: rename outputProperty to overrideProperty
2179         * lily/align-interface.cc (stretch_after_break): new
2180         function. Read fixed-alignment-extra-space property.
2181         (align_elements_to_extents): read alignment-extra-space property.
2183         * lily/lily-guile.cc (robust_scm2dir): new function.
2185         * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
2186         (annotate-space-left): new function. Annotate space left on page. 
2187         (annotate-y-interval): new function.
2188         (paper-system-annotate-last): new function. Annotate bottom-space.
2190         * mf/feta-beugel.mf (y): 
2192 2005-10-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2194         * VERSION (PACKAGE_NAME):  release 2.7.11
2196         * scm/lily-library.scm (interval-translate): new function
2197         (interval-center): new function. 
2199         * scm/page-layout.scm (paper-system-annotate): new function. Add
2200         arrows for dimensions.
2202         * scm/stencil.scm (dimension-arrows): new function.
2204         * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
2206         * input/regression/page-spacing.ly: add annotatespacing
2208         * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
2209         (LY_DEFINE): new function ly:paper-system-set-property!
2211         * Documentation/user/global.itely (Paper size): explain how to add
2212         sizes.
2214         * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
2215         correspond to GS's definition.
2217         * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
2218         tuplet bracket.
2219         (print): only connect to next bracket if the next one is alive.
2220         (print): set padding to 0.0 if the bound is a breakable
2221         column. This makes tupletFullLength brackets reach up to the staff
2222         line if it doesn't connect to the next line.
2224 2005-09-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2226         * lily/bar-number-engraver.cc: correct docs.
2228         * scm/output-lib.scm (first-bar-number-invisible): rename from
2229         default-bar-number-visibility
2231 2005-09-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2233         * scm/define-music-properties.scm (all-music-properties): remove
2234         predicate property.
2236 2005-09-28  Heikki Junes  <hjunes@cc.hut.fi>
2238         * po/fi.po: refresh.
2240 2005-09-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2242         * input/regression/hara-kiri-pianostaff.ly (disappear): remove
2243         superfluous s1.
2244         (disappear): bugfix.
2246         * lily/stem-tremolo.cc (raw_stencil): read slope property.
2248         * lily/include/paper-system.hh (class Paper_system): remove
2249         staff_extents_ member.
2251         * lily/paper-system-scheme.cc (LY_DEFINE): remove.
2253         * lily/include/paper-system.hh (class Paper_system): remove
2254         number_ variable. Remove is_title_. Remove break_before_penalty_
2256         * lily/paper-book.cc (systems): use 'number property iso. number_
2257         member.
2259         * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
2260         remove ly:paper-system-number.
2262         * scm/lily-library.scm (paper-system-title?): new function.
2264         * lily/book.cc (process): bugfix: flip ?: cases. 
2266         * Documentation/user/changing-defaults.itely (Difficult tweaks):
2267         add outputProperty.
2269         * ly/music-functions-init.ly: add outputProperty music function.
2271         * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
2273         * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
2274         and next-padding.
2275         (optimal-page-breaks): rename from ly:optimal-page-breaks.
2277         * lily/paper-system-scheme.cc (LY_DEFINE): new function.
2279         * lily/paper-system.cc (internal_get_property): new function.
2281         * Documentation/user/global.itely (Vertical spacing): refer to
2282         page-spacing.ly
2284         * scm/page-layout.scm (ly:optimal-page-breaks): add support for
2285         pagetopspace
2287         * input/regression/page-spacing.ly: new file.
2289         * input/regression/page-top-space.ly: new file.
2291         * lily/spacing-spanner.cc: cmath -> math.h
2293         * lily/paper-system.cc (read_left_bound): new function. Read
2294         line-break-system-details from left bound to determine extents.
2296         * Documentation/user/programming-interface.itely (Using LilyPond
2297         syntax inside Scheme): change applyxxx -> applyXxx.
2299         * ly/music-functions-init.ly: add outputProperty music function.
2301         * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
2303         * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
2305         * python/convertrules.py (conv): rule
2307         * ly/music-functions-init.ly: applyxxx -> applyXxx
2309         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
2310         TabVoice to Voice.
2312 2005-09-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2314         * flower/include/real.hh: include <math.h> iso. <cmath>
2316         * flower/include/offset.hh: include real.hh
2318 2005-09-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2320         * Documentation/user/changing-defaults.itely (Difficult tweaks):
2321         fix example, now that 'interfaces is no longer directly available.
2323         * lily/book.cc (process): don't crash if paper == NULL.
2325         * po/fr.po: update.
2327 2005-09-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2329         * scm/define-music-types.scm (music-descriptions): set length and
2330         start-callback for QuoteMusic
2332 2005-09-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2334         * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
2335         arguments. Fixes compilation error with gcc 3.3.
2337 2005-09-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2339         * VERSION: release 2.7.10
2341         * stepmake/stepmake/python-module-rules.make
2342         ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.  
2344         * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
2345         real.hh
2347 2005-09-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2349         * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
2350         -Werror. Otherwise GCC barfs over various optimizations.
2352         * scm/define-grob-properties.scm (all-internal-grob-properties):
2353         add note-head property
2355         * Documentation/user/instrument-notation.itely (Laissez vibrer
2356         ties): new node.
2358         * input/regression/laissez-vibrer-ties.ly: new file.
2360         * lily/laissez-vibrer-engraver.cc: new file.    
2362         * lily/include/tie-column-format.hh: new file.
2364         * lily/tie-column-format.cc: new file. 
2366         * lily/tie-column.cc (set_manual_tie_configuration): new function.
2368         * lily/laissez-vibrer-tie.cc: new file.
2370         * lily/include/laissez-vibrer-tie.hh: new file.
2372         * ly/engraver-init.ly: add Laissez_vibrer_engraver
2374         * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
2376         * scm/define-grobs.scm (all-grob-descriptions): add
2377         LaissezVibrerTie, LaissezVibrerTieColumn
2379         * lily/tie-column.cc (set_tie_config_directions): new function
2380         (final_shape_adjustment): new function.
2381         (shift_small_ties): new function.
2383         * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
2385         * lily/include/tie.hh (struct Tie_details): add x_gap_
2386         (struct Tie_configuration): add head_position_
2388         * lily/tie-column.cc (set_chord_outline): new function.
2390         * mf/cmr.enc.in:  remove file.
2392 2005-09-11  Graham Percival  <gpermus@gmail.com>
2394         * Documentation/user/examples.itely: typo fix.  Thanks, Matevž
2396 2005-09-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2398         * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
2399         reduce aliasing effects.
2401         * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
2402         box in skyline.
2404 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2406         * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
2408         * flower/include/real.hh: std::fabs too.
2410 2005-09-08  Jan Nieuwenhuizen  <janneke@gnu.org>
2412         * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner). 
2414         * lily, flower: Include C++ iso C headers.  Import namespace std
2415         throughout.
2417         * lily/side-position-interface.cc: 
2418         * lily/scm-hash.cc: 
2419         * lily/note-head.cc: 
2420         * lily/include/includable-lexer.hh: 
2421         * flower/include/string-data.icc: Remove using std::*.
2423         * lily, flower: Include C++ iso C headers.  Import namespace std
2424         throughout.
2426         * lily/side-position-interface.cc: 
2427         * lily/scm-hash.cc: 
2428         * lily/note-head.cc: 
2429         * lily/include/includable-lexer.hh: 
2430         * flower/include/string-data.icc: Remove using std::*.
2432         * Documentation/user/instrument-notation.itely (Entering lyrics):
2433         Multiple latin-1->utf-8 conversion fix.
2435         * Documentation/user/*tely: Update Emacs cookie to utf-8.
2437 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2439         * lily/tie.cc (get_configuration): also avoid dots for non-space
2440         situations.
2442 2005-09-07  Jan Nieuwenhuizen  <janneke@gnu.org>
2444         * Documentation/user/instrument-notation.itely: Bugfix.
2446 2005-09-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2448         * tex/GNUmakefile: don't install texinfo.tex
2450         * tex/ : cleanup: remove unused files.
2452         * lily/general-scheme.cc: remove my_{isinf,isnan}.
2454         * flower/include/real.hh: using std::{isnan,isinf}
2455         
2456         * VERSION (PATCH_LEVEL): release 2.7.9
2458 2005-09-05  Graham Percival  <gpermus@gmail.com>
2460         * Documentation/user/ instrument-notation.itely,
2461         advanced-notation.itely: minor tweaks.
2463         * input/test/script-chart.ly: add item padding.
2465 2005-09-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2467         * flower/offset.cc: use math.h iso. <cmath>
2469         * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
2470         of IE users.
2472         * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
2473         (widen-left-stencil-edges): new function. Fix alignment problems
2474         with LaTeX includegraphics.
2476         * lily/text-interface.cc (interpret_markup): use abort().
2478 2005-09-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2480         * input/regression/tie-chord.ly (testLong): add a chord in 4ths
2482         * lily/tie.cc (get_configuration): update bezier shape as we
2483         change Y positions.
2484         (get_configuration): don't move large ties if we're outside of the
2485         staff.
2487 2005-09-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2489         * scm/define-markup-commands.scm (strut): swap X and Y dims.
2490         
2491 2005-09-03  Jan Nieuwenhuizen  <janneke@gnu.org>
2493         * .cvsignore: Add auto-generated configure files and then some.
2495 2005-09-02  Jan Nieuwenhuizen  <janneke@gnu.org>
2497         * scm/define-grobs.scm (DynamicLineSpanner): Add
2498         X-extent-callback.  Fixes hairpin-slur collision.
2500 2005-08-31  Graham Percival  <gpermus@gmail.com>
2502         * Documentation/user/advanced-notation.itely,
2503         basic-notation.itely: minor changes.
2505 2005-08-31  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2507         * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
2508         \linebreak between each .eps file if \betweenLilyPondSystem is
2509         undefined. 
2511         * Documentation/user/lilypond-book.itely (Integrating LaTeX and
2512         music): Document the \linebreak
2514         * Documentation/user/lilypond-book.itely,
2515         input/tutorial/lbook-latex-test.tex,
2516         Documentation/user/examples.itely: Remove \usepackage{graphics}
2518 2005-08-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2520         * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
2522         * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
2523         compat bugfix.
2525         * scripts/lilypond-book.py (PREAMBLE_LY): define
2526         inside-lilypond-book
2527         (modify_preamble): new function. Insert \RequirePackage{graphics}
2528         when no {graphics found in preamble.  
2530 2005-08030  Graham Percival  <gpermus@gmail.com>
2532         * Documentation/user/basic-notation.itely, global.itely,
2533         tutorial.itely: misc small changes.
2535 2005-08-30  Jan Nieuwenhuizen  <janneke@gnu.org>
2537         * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
2538         VERSION.
2540 2005-08-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2542         * lily/tie-column.cc (new_directions): put Tie down on center
2543         staff line. 
2545         * lily/script-interface.cc (before_line_breaking): use
2546         Grob::programming_error
2548         * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
2550         * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
2551         of splitext.
2553 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2555         * VERSION (PACKAGE_NAME): VERSION release 2.7.8
2557 2005-08-29  Werner Lemberg  <wl@gnu.org>
2559         * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
2560         the `*.scale.pfa' files to avoid warnings.
2562 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2564         * lily/tempo-performer.cc (process_music): idem.
2566         * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
2568 2005-08-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2570         * Documentation/user/advanced-notation.itely (Text markup): not a
2571         fragment.
2573         * lily/midi-item.cc (to_string): use to_int() iso. int cast.
2575         * lily/staff-performer.cc (initialize): add tempo/name to
2576         audio_staff_
2579 2005-08-26  Graham Percival  <gpermus@gmail.com>
2581         * Documentation/user/advanced.itely: add text-only example.
2583         * Documentation/user/invoking.itely: add index entries for
2584         convert-ly.
2586         * Documentation/user/ tutorial.itely, basic-notation.itely:
2587         small fixes suggested by Steve D.  Thanks!
2589 2005-08-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2591         * input/regression/markup-bidi-pango.ly: new file.
2593         * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
2594         standard. Remove #ifdef. Remove memleak.
2595         (text_stencil): use text_dir to decide how to composite items.
2596         (text_stencil): determine uniform text direction for the entire
2597         string.
2599         * scripts/lilypond-book.py (output_name): remove
2600         latex_filter_cmd. Non-portable to non-Unix systems. 
2601         (get_latex_textwidth): use File.write and os.unlink() instead.
2603         * THANKS: add Vicente & Trevor.
2605         * lily/grob.cc (discretionary_processing): look up origin for
2606         programming_error too. 
2608         * input/regression/tie-broken.ly: new file.
2610         * lily/tie-column.cc (set_chord_outlines): set outline for line
2611         break case too.
2612         
2613 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2615         * lily/pango-font.cc (text_stencil): don't translate glyphs in
2616         unscaled transform, just translate stencils.
2618         * ly/performer-init.ly: init timing to #t.  Fixes bar checks in
2619         MIDI.
2621         * scm/define-markup-commands.scm (wordwrap-string): use
2622         text-direction
2623         (wordwrap-stencils): idem.
2624         (line): idem.
2625         (fill-line): idem.
2626         (wordwrap-stencils): translate last line to right for
2627         text-direction = LEFT.
2629         * scm/define-grob-properties.scm (all-user-grob-properties): add
2630         text-direction.
2632 2005-08-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2634         * lily/lily-parser.cc (Lily_parser): also copy output_basename_
2635         when copying a Lily_parser object.
2637 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2639         * scm/define-markup-commands.scm (null): add null markup.
2641 2005-08-25  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2643         * lily/item.cc: Add documentation of center-invisible
2645 2005-08-24  Graham Percival  <gpermus@gmail.com>
2647         * Documentation/user/advanced-notation.itely: add info about
2648         raising text.
2650         * Documentation/user/programming-interface.itely: fix example
2651         involving raised text.
2653 2005-08-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2655         * lily/beam.cc (print): fix X start/end points of isolated
2656         beamlets.
2658         * scm/output-ps.scm (grob-cause): escape spaces in URLs.
2660         * lily/multi-measure-rest.cc (set_text_rods): new function.
2662         * lily/vertical-align-engraver.cc (process_music): call
2663         Align_interface::set_axis(). This forces #'elements to be ordered,
2664         preventing random vertical reordering of staves.
2666         * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
2667         add avoid-slur property. 
2669         * Documentation/user/basic-notation.itely (Measure repeats): add
2670         countPercentRepeats example.
2672         * Documentation/user/advanced-notation.itely (Other text markup
2673         issues): remove remark about normal-font.  We have \normal-text
2675         * input/regression/tie-chord.ly: add note about remaining bugs.
2677         * lily/tie.cc (print): try Tie_column::set_directions () if
2678         control-points not yet defined.
2680 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2682         * lily/system-start-delimiter.cc (staff_brace): don't remove brace
2683         extent. This fixes braces falling out of the EPS bbox.
2685         * mf/feta-beugel.mf (braces_per_font): make brace glyph align
2686         exactly to bbox.
2688 2005-08-23  Graham Percival  <gpermus@gmail.com>
2690         * {various} : change #up->#UP and #down->#DOWN.
2692         * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
2694         * Documentation/user/advanced-notation.itely: clarify
2695         what objects handles text on a multimeasure rest.
2697 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2699         * VERSION (PATCH_LEVEL): release 2.7.7
2701 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2703         * make/lilypond-vars.make: set -dgs-font-load for "make web" 
2705         * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
2707         * input/regression/*.ly: formatting clean-up. Default layout
2708         before music expression.
2710         * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
2711         romanze28-2 example.
2713         * scm/ps-to-png.scm: remove dir-re function.
2714         (make-ps-images): generate page names, instead of globbing them.
2715         This brings down LilyPond memory usage for make web by a factor
2716         10. (backportme?) 
2718         * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
2719         don't use glob. With 3000 files, globbing
2720         Documentation/user/out-www/ can take too much time. (backportme?)
2721         
2722         * lily/lily-guile.cc (gulp_file_to_string): take size argument.
2724         * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
2726         * input/regression/tie-manual.ly: new file
2728         * input/regression/tie-chord.ly: update.
2730         * flower/include/interval.hh (struct Interval_t): 
2732         * lily/tie.cc (distance): new function 
2733         (height): new function.
2734         (init): new function
2735         (Tie_details): new struct.
2737         * lily/skyline.cc (skyline_height): new function.
2739         * lily/tie-column.cc (set_chord_outlines): new function.
2740         (new_directions): read tie-configuration
2742         * lily/skyline.cc: fix ASCII art.
2743         
2744 2005-08-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2746         * python/convertrules.py (string_or_scheme): Fix spelling error
2748 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2749         
2750         * lily/tie-column.cc (set_directions): set directions only once.
2751         (add_configuration): new function.
2753         * lily/tie.cc (set_control_points): new function
2755         * lily/tie-column.cc (new_directions): new function.
2757         * ly/music-functions-init.ly: set 'pitch property
2758         iso. trill-pitch. This makes \relative work with \pitchedTrill
2760         * lily/tie.cc (get_configuration): new function. Don't generate
2761         control points, rather, generate configuration.
2762         remove head-pair property.
2764         * lily/include/tie.hh (struct Tie_configuration): new struct.
2766 2005-08-22  Heikki Junes  <hjunes@cc.hut.fi>
2768         * Documentation/topdocs/NEWS.tely: clarify.
2770 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2772         * lily/tie.cc: remove minimum-length
2774         * scm/define-grob-properties.scm (all-user-grob-properties):
2775         remove staffline-clearance, y-offset 
2777         * input/regression/tie-dots.ly (Module): remove.
2779         * lily/tie.cc (get_control_points): rewrite. Put short ties in
2780         staff-spaces, make long ties cross staff lines. Avoid flags and dots.
2782         * input/regression/tie-single.ly: new file.
2784 2005-08-21  Graham Percival  <gpermus@gmail.com>
2786         * ly/bagpipe.ly: fix compile problem.
2788 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2790         * lily/midi-item.cc (name): new method.
2792         * lily/staff-performer.cc (acknowledge_audio_element): use
2793         signature of baseclass.
2795         * lily/engraver-group.cc (do_announces): move recursion call out
2796         of while loop. 
2798         * lily/drum-note-performer.cc (class Drum_note_performer): use
2799         process_music everywhere.
2801         * ly/performer-init.ly: add default children everywhere.
2803         * lily/paper-book.cc (output): call paper-book-write-midis
2804         directly: always write MIDI, even if no \layout {} block. 
2806 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2808         * VERSION (PACKAGE_NAME): release 2.7.6
2810         * lily/percent-repeat-engraver.cc (try_music): don't print warning
2811         about not being able to handle repeat.
2813 2005-08-19  Jan Nieuwenhuizen  <janneke@gnu.org>
2815         * Documentation/user/examples.itely (Piano templates):
2816         * lily/include/performer-group.hh: Remove last traces of
2817         Performer_group_performer.  Fixes make web.
2819 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2821         * Documentation/user/examples.itely (Piano templates): change
2822         Engraver_group_engraver -> Engraver_group
2824         * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
2825         scm_stand_in_procs is not weak_any.
2827         * lily/volta-bracket.cc (print): don't use strcmp().
2829         * lily/volta-engraver.cc (process_music): use
2830         Text_interface::is_markup() for setting the 'text property of the
2831         volta bracket.
2833         * input/mutopia/claop.py (accents): update syntax to 2.6
2835         * scm/define-context-properties.scm
2836         (all-user-translation-properties): add countPercentRepeats.
2838         * Documentation/user/basic-notation.itely (Measure repeats): add
2839         isolated percent example.
2841 2005-08-18  Graham Percival  <gpermus@gmail.com>
2843         * input/ {various}: change direction #1, #-1 to
2844         #up/#down or \fooUp, \fooDown.
2846         * Documentation/user/music-glossary.tely: #-1 to #down.
2848         * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
2849         to #up, #-1 to #down.
2851 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2853         * lily/include/engraver-group.hh: rename.
2855         * lily/include/performer-group.hh: rename.
2857 2005-08-18  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2859         * input/test/script-abbreviations.ly: Removed some old LaTeX
2860         left overs.
2862 2005-08-18  Jan Nieuwenhuizen  <janneke@gnu.org>
2864         * python/convertrules.py (conv): inside-slur -> avoid-slur.
2865         Remove functions.  Remove if 1: constructs, reindent.
2867         * scripts/convert-ly.py (add_version): Add functions from
2868         convertrules.py
2870         * scm/script.scm (default-script-alist):
2871         s/priority/script-priority.  Fixes script stacking.  Backportme.
2872         (Fermata): Very low priority.
2874 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2876         * input/regression/*.ly: remove superfluous \score blocks. Reindent.
2878         * input/regression/slur-script.ly: remove padding tweaks. Add
2879         comment strings.
2881         * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
2882         time sigs and related stuff.
2884         * scm/define-grob-properties.scm (all-user-grob-properties): add
2885         @code{} tags to property description.
2887         * lily/include/line-group-group-engraver.hh (Module): remove file.
2889         * python/convertrules.py (conv): add rule for
2890         Engraver_group_engraver -> Engraver_group.
2892         * lily/include/performer-group-performer.hh: analogous.
2894         * lily/include/engraver-group-engraver.hh: rename to Engraver_group.
2896         * lily/context-def.cc (instantiate): check for
2897         Engraver_group_engraver and Performer_group_performer not
2898         Engraver/Performer. Fixes crashes when doing \with { \consists .. }
2900 2005-08-18  Jan Nieuwenhuizen  <janneke@gnu.org>
2902         * input/les-nereides.ly: Remove three fingering tweaks, update
2903         remaining one.
2905         * input/regression/slur-script-inside.ly: Update, fix doc.
2907         * scm/script.scm: Update to avoid-slur.
2909         * scm/define-grob-properties.scm (avoid-slur): New property.
2911         * lily/phrasing-slur-engraver.cc (acknowledge_extra_object):
2912         * lily/slur-engraver.cc (acknowledge_extra_object): Invoke
2913         outside_slur_callback if avoid-slur != #'inside.
2915         * scm/define-grobs.scm (Fingering, Textscript): No
2916         inside-slur/outside-slur preference.
2917         (DynamicLineSpanner): Always outside slur.
2919         * input/regression/slur-script.ly: More tests.
2921 2005-08-17  Graham Percival  <gpermus@gmail.com>
2923         * Documentation/user/lilypond-book: fix notime entry.
2925         * Documentation/user/advanced-notation.itely: add info on
2926         getting an I rehearsal mark.
2928         * Documentation/user/putting.itely: reinstate "I", re-enforce
2929         the fact that \override numbers are the result of
2930         experimentation and personal taste.
2932         * Documentation/user/invoking.itely: update convert-ly bugs.
2934 2005-08-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2936         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set timing
2937         to #t.
2939         * lily/timing-translator.cc (initialize): don't initialize timing.
2941         * input/regression/stem-spacing.ly (Module): remove file.
2943         * input/regression/spacing-stick-out.ly: specify Score context for
2944         \override
2946         * input/regression/clefs.ly: remove spurious {}s 
2948 2005-08-17  Heikki Junes  <hjunes@cc.hut.fi>
2950         * Documentation/topdocs/NEWS.tely,
2951         input/regression/repeat-percent-count.ly: clarify a bit.
2953 2005-08-16  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2955         * input/no-notation/display-lily-tests.ly: delete
2956         display-lily-init call.
2958         * ly/music-functions-init.ly (displayLilyMusic): move
2959         display-lily-init call at top level, so that the user should not
2960         have to call it.
2962         * scm/define-music-display-methods.scm (note-name->lily-string):
2963         retrieve note names directly from pitchnames using new function `rassoc'.
2964         (display-lily-init): note names list construction removed.
2966 2005-08-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2968         * THANKS: spello.
2970         * lily/lily-parser.cc (get_header): copy module, instead of
2971         returning it.
2973         * Documentation/topdocs/NEWS.tely (Top): add entry for percent
2974         counters.
2976         * Documentation/user/basic-notation.itely (Measure repeats): add
2977         links to Counter grobs.
2979         * scm/define-grobs.scm (all-grob-descriptions): add
2980         DoublePercentRepeatCounter
2981         (all-grob-descriptions): add PercentRepeatCounter
2983         * lily/percent-repeat-engraver.cc (class Percent_repeat_engraver):
2984         also create counter grobs.
2986         * lily/separation-item.cc (extremal_break_aligned_grob): don't
2987         return grob without space-alist.
2989         * input/proportional.ly: tune staff-padding.
2991         * input/regression/repeat-percent-count.ly: new file. 
2993 2005-08-16  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2995         * input/no-notation/display-lily-tests.ly: moved from
2996         input/regression/ to input/no-notation. Be sure to call
2997         `display-lily-init' before trying to use the display function.
2999 2005-08-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3001         * scripts/lilypond-book.py (option_definitions): Don't localize
3002         the empty string. Fixes bug when --psfonts was used with
3003         non-English locale.
3005 2005-08-15  Graham Percival  <gpermus@gmail.com>
3007         * lily/tuplet-bracket.cc: simple build fix.
3009         * Documentation/user/putting.itely: use "we" instead of "I".
3011         * Documentation/user/basic-notation.itely: cautionary accidentals
3012         work with naturals, too.
3014 2005-08-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3016         * lily/tuplet-bracket.cc (calc_position_and_height): add
3017         staff-padding support.
3019         * input/proportional.ly: set staff-padding.
3020         
3021         * VERSION (PATCH_LEVEL): release 2.7.5
3023         * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): text formatting
3024         fixes. Remove tweaks.
3026         * input/regression/tuplet-slope.ly: add a test case.
3028         * lily/tuplet-bracket.cc (calc_position_and_height): revert
3029         erroneous fix. Add spanner bounds to offset array with relative X
3030         positions.
3032         * ly/engraver-init.ly: add Rest_engraver only once.
3034         * scm/define-music-display-methods.scm (KeyChangeEvent): only do
3035         (*parser*) lookup if (*parser*) != #f.
3037 2005-08-15  Jan Nieuwenhuizen  <janneke@gnu.org>
3039         * lily/phrasing-slur-engraver.cc (acknowledge_extra_object):
3040         Cut-and paste update.
3042         * input/regression/slur-script.ly: Add example of reverting
3043         inside-slur for fingering.
3045         * scm/define-grobs.scm (DynamicLineSpanner, Fingering,
3046         TextScript): Explicitly set inside-slur #f, forcing these out of slur.
3048         * lily/slur-engraver.cc (acknowledge_extra_object): Only invoke
3049         outside_slur_callback if inside-slur == #f (as opposed to unset).
3051 2005-08-14  Jan Nieuwenhuizen  <janneke@gnu.org>
3053         * tex/GNUmakefile (INSTALLATION_FILES): Remove enc symlink setup,
3054         encoding files are already removed.
3056 2005-08-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3058         * Documentation/user/advanced-notation.itely (Instrument names):
3059         Document a workaround for instrument names that collide with
3060         system start braces/brackets.
3062 2005-08-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3064         * lily/rest-collision.cc (do_shift): spello.
3066         * input/proportional.ly: use #'used property. Set break-overshoot
3067         property.
3069         * mf/feta-arrow.mf: center on arrow tip center, iso. tip edge.
3071         * lily/paper-column.cc: add #'used property
3073         * lily/mark-engraver.cc (stop_translation_timestep): set grob
3074         array for staves found.
3076         * lily/metronome-engraver.cc (stop_translation_timestep): set grob
3077         array for stavesFound.
3079         * lily/staff-spacing.cc (next_note_correction): add fixed and
3080         space to calling convention. This fixes spacing of accidentals
3081         after barlines.
3083         * input/regression/spacing-accidental-stretch.ly: add barline -
3084         accidental case.
3086         * scm/framework-ps.scm (page-header): add version number to
3087         creator
3088         (eps-header): idem.
3090         * mf/feta-bolletjes.mf: swap d0 and u0 fa heads.
3091         
3092 2005-08-13  Graham Percival  <gpermus@gmail.com>
3094         * Documentation/user/global.itely: add "fit as much as
3095         possible onto this page" example (Vertical spacing).
3097 2005-08-13  Jan Nieuwenhuizen  <janneke@gnu.org>
3099         * *: Nitpick run.
3101         * buildscripts/fixcc.py: Fixes.
3103 2005-08-12  Graham Percival  <gpermus@gmail.com>
3105         * Documentation/user/advanced-notation.itely: add markup
3106         example to Text spanners.
3108 2005-08-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3110         * Documentation/user/basic-notation.itely (Ties): Add example of
3111         tying a tremolo to a chord. Thanks to Steve Doonan. 
3113         * lily/tie-engraver.cc: Add tieWaitForNote to the list of read
3114         properties and move tieMelismaBusy to the list of written
3115         properties. 
3117 2005-08-12  Heikki Junes  <hjunes@cc.hut.fi>
3119         * po/TODO: suggest to use a dedicated tool like kbabel.
3121         * po/fi.po: update using kbabel.
3123 2005-08-12  Jan Nieuwenhuizen  <janneke@gnu.org>
3125         * *: Remove obsolete files.  Nitpick run.
3127         * lily/lily-guile.cc (parse_symbol_list): Bugfix.
3129 2005-08-11  Jan Nieuwenhuizen  <janneke@gnu.org>
3131         * mf/GNUmakefile (get-*-fonts): Rename from get-*-pfa.  Copy SVG
3132         too.
3134         * Documentation/topdocs/NEWS.tely (Top): Add slur script feature.
3136         * lily/lily-guile.cc (parse_symbol_list): Rewrite.  Grok multiple
3137         whitespace as symbol separator.
3139         * lily/side-position-interface.cc: Add slur-padding.
3141         * input/regression/slur-script.ly: Fixed.  Backportme?  This is
3142         quite a large fix, and it never worked in a stable release; so not
3143         really a regression.
3145         * lily/phrasing-slur-engraver.cc (class Phrasing_slur_engraver):
3146         Update cut and paste code from Slur_engraver.
3148         * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
3149         Add.
3151         * scm/define-grobs.scm (DynamicLineSpanner): Add
3152         dynamic-line-spanner-interface.
3153         (DynamicLineSpanner, TextScript, Fingering): Add slur-padding.
3155 2005-08-09  Jan Nieuwenhuizen  <janneke@gnu.org>
3157         * lily/slur-engraver.cc (acknowledge_extra_object): Bugfix: use
3158         to_boolean () so that non-set 'inside-slur means false.
3160         * lily/slur.cc (outside_slur_callback): Bugfixes: make sure that
3161         slur has control-points.  Skip script without direction.  Always
3162         do_shift if script inside slur, even if slur not contained in
3163         script y-extent.  Increment k in loop.
3165 2005-08-11  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3167         * scm/define-markup-commands.scm: Improved regexp to search for
3168         EPS bounding boxes and corrected call to ly:warning.
3170 2005-08-10  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3172         * Documentation/user/programming-interface.itely (Displaying music
3173         expressions): doc for \displayLilyMusic. Also some precisions in
3174         "Markup construction in Scheme"
3176 2005-08-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3178         * scm/define-markup-commands.scm (normal-text): Added 2 new
3179         markup commands, \normal-text and \medium (the latter thanks to
3180         Bruce Fairchild). 
3182 2005-08-08  Graham Percival  <gpermus@gmail.com>
3184         * Documentation/user/programming-interface.itely: fix @{ @}.
3186         * scm/define-markup-commands.scm: add linewidth info to
3187         \justify and \wordwrap, add "upright is the opposite of italic".
3189         * Documentation/user/advanced-notation.itely: shaped->shape,
3190         add (cons (markup "foo")) type of example to text markup,
3191         reword multi-measure rests section.
3193         * lily/note-heads-engraver.cc: changed Shaped->Shape in a
3194         comment.  No actual code was touched.
3196         * Documentation/user/invoking.itely: add more info about
3197         \include.  Thanks, Bruce!
3199         * THANKS: add Bruce Fairchild, alphabetise.
3201         * Documentation/user/global.itely: document \score{\header{}}
3202         behavior.
3204         * Documentation/user/basic-notation.itely: reword multi-measure
3205         rest discussion in Rests.
3207 2005-08-08  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3209         * Documentation/user/programming-interface.itely (Markup
3210         construction in Scheme): Corrected example and tried to clarify
3211         the implicit \line in the table.
3213 2005-08-07  Graham Percival  <gpermus@gmail.com>
3215         * Documentation/user/instrument-notation.itely: moved
3216         some bagpipe info back into the bagpipe section.  Somehow
3217         it ended up in the "other vocal issues" section?!  :o_O
3219 2005-08-07  Jan Nieuwenhuizen  <janneke@gnu.org>
3221         * scm/framework-ps.scm (dir-join): Rename from path-join (joins
3222         directories, not paths).
3224 2005-08-06  Jan Nieuwenhuizen  <janneke@gnu.org>
3226         * scm/framework-ps.scm (munge-lily-font-name): Bugfix: Munge only
3227         plain emmentaler/aybabtu.  Backportme.
3229         * lily/tuplet-bracket.cc (calc_position_and_height): Bugfix:
3230         missing dir correction.
3232 2005-08-05  Graham Percival  <gperlist@shaw.ca>
3234         * scm/define-markup-commands: fix reversed justify/wordwrap
3235         doc strings.
3237 2005-08-05  Jürgen Reuter  <reuter@ipd.uka.de>
3239         * lily/ligature-engaver.cc, lily/coherent-ligature-engaver.cc,
3240         lily/gregorian-ligature-engaver.cc,
3241         lily/include/ligature-engraver.hh,
3242         lily/include/coherent-ligature-engraver.hh,
3243         lily/include/gregorian-ligature-engraver.hh: make these classes
3244         truely abstract.  This should fix some internal oddities such as
3245         duplicate as well as dead translator/property declarations, and
3246         also some dead code.
3248         * lily/ligature-bracket-engraver.cc, lily/ligature-engraver.cc:
3249         bugfix: avoid message "junking empty ligature" on ligature
3250         brackets by collecting dummy grobs.
3252 2005-08-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3254         * lily/tuplet-bracket.cc (print): default right overshoot to 0.0
3256         * input/proportional.ly (staffKind): bugfix.
3257         (staffKind): updates by Trevor Baca.
3259         * scm/define-grobs.scm (all-grob-descriptions): remove arrows as
3260         default layout. 
3262         * lily/tuplet-bracket.cc (print): check whether edge-text is a
3263         pair.
3265         * lily/beam.cc (rest_collision_callback): call position_beam() if
3266         necessary.
3268         * VERSION: release 2.7.4
3270         * input/regression/spacing-uniform-stretching.ly: new file.
3272         * lily/spacing-loose-columns.cc (set_loose_columns): use robust_relative_extent().
3274         * Documentation/topdocs/NEWS.tely (Top): add Nicolas as
3275         contributor.
3277         * lily/include/ly-module.hh: define MODULE_GC_KLUDGE globally.
3279         * input/proportional.ly: new file.
3281         * lily/tuplet-bracket.cc (after_line_breaking): don't suicide if
3282         columns is empty
3284         * lily/tuplet-engraver.cc (finalize): new function. Reset right
3285         bounds to currentCommandColumn for the last step.
3286         (start_translation_timestep): if tupletFullLength is set, set
3287         bound to Paper Column
3289         * input/regression/tuplet-full-length.ly (indent): new file.
3291         * lily/spacing-loose-columns.cc (set_loose_columns): space a whole
3292         clique of loose columns, eg. a set of grace notes in strict
3293         notespacing.
3295         * input/regression/spacing-strict-spacing-grace.ly: new file.
3297         * lily/key-signature-interface.cc: change property name to
3298         alteration-alist
3300         * lily/key-engraver.cc (read_event): read keyAlterationOrder, not
3301         keyAccidentalOrder
3303         * python/convertrules.py (conv): keyAccidentalOrder ->
3304         keyAlterationOrder
3306         * lily/key-engraver.cc (create_key): always print a cancellation
3307         for going to C-major/A-minor, regardless of printKeyCancellation.
3308         (create_key): remove typecheck for visibility. This fixes key
3309         signature not being printed.
3311         * lily/spacing-determine-loose-columns.cc: new file.
3313         * input/regression/spacing-strict-notespacing.ly: new file.
3315         * lily/spacing-spanner.cc (generate_springs): rename from
3316         do_measure. 
3317         (generate_pair_spacing): new function.
3318         (init, generate_pair_spacing): set between-cols for floating
3319         nonmusical columns.
3321         * lily/spaceable-grob.cc (get_spring): new function. 
3323         * lily/tuplet-bracket.cc (print): on the left, the overshoot is
3324         relative to the right edge of the prefatory matter.
3326         * lily/beam.cc (print): read break-overshoot to determine where to
3327         stop/start broken beams.
3329         * input/regression/spanner-break-overshoot.ly: new file.
3331 2005-08-04  Graham Percival  <gperlist@shaw.ca>
3333         * ly/bagpipe.ly: updated.
3335         * Documentat/user/instrument.itely: un-comment out bagpipe example.
3337 2005-08-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3339         * lily/dynamic-engraver.cc (acknowledge_slur): add slur to
3340         support: now (de)crescs avoid slurs as well.
3342         * Documentation/user/instrument-notation.itely (Bagpipe example):
3343         comment out non-functioning bagpipe example.
3344         (Bagpipe definitions): idem.
3346         * Documentation/topdocs/NEWS.tely (Top): add uniform-stretching example.
3347         (Top): add proportionalNotationDuration example.
3349         * input/regression/spacing-proportional.ly: new file.
3351         * lily/tuplet-bracket.cc (parallel_beam): broken bracket never is
3352         synched to a beam.
3354         * lily/beam.cc (shift_region_to_valid): divide by zero fix. This
3355         fixes beams with a single stem (eg. beams across linebreaks.)
3357         * lily/parser.yy (simple_string): allow \new STRING_IDENTIFIER.
3359         * flower/rational.cc (operator +): prevent overflow. This fixes
3360         heavily nested tuplets.
3362         * lily/auto-beam-engraver.cc (derived_mark): new method. Yes. We
3363         have to protect even those unlikely to be corrupted data members.  
3365 2005-08-04  Graham Percival  <gperlist@shaw.ca>
3367         * ly/bagpipe.ly: new file.
3369         * THANKS: added Sven Axelsson.
3371 2005-08-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3373         * lily/spacing-engraver.cc (stop_translation_timestep): directly
3374         copy proportionalNotationDuration into currentMusicalColumn if
3375         set.
3377         * lily/spacing-spanner.cc (musical_column_spacing): if
3378         uniform-stretching set, fixed space is 0.0
3380         * input/regression/spacing-multi-tuplet.ly: show
3381         uniform-stretching property.
3383         * lily/spacing-spanner.cc (effective_shortest_duration): new function.
3385         * lily/include/spacing-spanner.hh (class Spacing_spanner): new file.
3386         (struct Spacing_options): new struct.
3388         * lily/spacing-basic.cc: new file.
3390         * lily/spacing-spanner.cc (note_spacing): remove outdated code:
3391         delta_t doesn't have to be smaller than shortest_playing_len
3393 2005-08-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3395         * input/regression/markup-arrows.ly:  new file.
3397         * lily/tuplet-bracket.cc: document new behavior.
3399         * input/regression/tuplet-broken.ly: new file. Demonstrate tuplets
3400         with line breaks.
3402         * scm/define-markup-commands.scm (arrow-head): arrow-head markup command.
3404         * scm/define-grobs.scm (all-grob-descriptions): set arrows as
3405         default 
3407         * lily/tuplet-bracket.cc: add edge-text property.
3408         add break-overshoot.
3409         (print): read break-overshoot.
3410         (print): read edge-text, add stencils.
3412         * mf/feta-arrow.mf: new file.
3414         * mf/feta-generic.mf: add feta-arrow.
3416 2005-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3418         * Documentation/user/lilypond-book.itely (An example of a
3419         musicological document): Added flag -o to dvips for people who use
3420         the default setting in teTeX where output is sent to the printer. 
3422         * Documentation/user/global.itely (Vertical spacing): Added
3423         reference to the Axis_group_engraver which documents the *Extent
3424         properties.
3426 2005-08-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3428         * Documentation/user/basic-notation.itely (Tuplets): add note
3429         about nested tuplets. Remove BUG. 
3431         * input/regression/tuplet-nest.ly: update: remove manual hack. 
3433         * lily/tuplet-bracket.cc (print): use robust_scm2drul
3434         (print): manually call print() for subtuplets.
3435         (calc_position_and_height): add subtuplets to the
3436         support. Vertically shift outer tuplet 
3438         * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): set
3439         remove-first for Lyrics, ChordNames and FiguredBass
3441         * scm/define-grob-properties.scm (all-internal-grob-properties):
3442         use ly:grob-array? iso. grob-list?
3443         (all-internal-grob-properties): add tuplets grob-array.
3445         * lily/tuplet-bracket.cc (add_tuplet_bracket):
3446         new function
3448 2005-08-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3450         * input/test/time-signature-staff.ly: new file.
3452         * ly/declarations-init.ly (center): escape to Scheme. Fixes
3453         spurious #<Music FingerEvent> errors. Backportme.
3455 2005-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3457         * Documentation/user/programming-interface.itely (Markup
3458         construction in Scheme): Corrected markup syntax in the
3459         translation table.
3461 2005-08-03  Graham Percival  <gperlist@shaw.ca>
3463         * Documentation/user/instrument-notation.itely: small update
3464         to bagpipe notation docs; thanks Sven!
3466         * Documentation/user/basic-notation.itely: add link about trills.
3468 2005-08-02  Graham Percival  <gperlist@shaw.ca>
3470         * Documentation/user/music-glossary: remove accidentally committed
3471         fink patch.
3473 2005-08-02  Yoshinobu Ishizaki  <isizaki@mte.biglobe.ne.jp>
3475         * lily/lily-parser.cc (get_header): new function. Enable multiple
3476         \header definitions.
3478         * lily/parser.yy (lilypond_header_body): use get_header.
3480         * ly/init.ly:
3481         * scm/lily-library.scm (print-score-with-defaults): renamed
3482         $globalheader to $defaultheader
3483         
3484         * Documentation/user/global.itely (Creating titles): added short
3485         explanation that multiple headers are useable.
3488 2005-08-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3490         * lily/module-scheme.cc (LY_DEFINE): new file. 
3492         * Documentation/user/advanced-notation.itely (Font selection): add
3493         doco for make-pango-font-tree.
3495 2005-07-31  Graham Percival  <gperlist@shaw.ca>
3497         * Documentation/user/music-glossary: more languages
3498         for tenuto.
3500         * Docuemntation/user/instrument-notation.itely: minor
3501         update for bagpipe example.
3503 2005-07-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3505         * input/regression/+.ly (TODO): add some text.
3507 2005-07-28  Graham Percival  <gperlist@shaw.ca>
3509         * Documentation/user/invoking.itely: \score begins with music.
3511         * Documentation/user/ basic-notation.itely,
3512         instrument-notation.itely: minor changes.
3514         * Documentation/user/music-glossary.itely: began tenuto entry.
3516 2005-07-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3518         * scm/output-socket.scm (bezier-sandwich): add bezier-sandwich
3520         * mf/feta-bolletjes.mf: swap up and down for aiken heads.
3522 2005-07-27  Graham Percival  <gperlist@shaw.ca>
3524         * Documentation/user/examples.itely: remove bagpipe template.
3526         * Documentation/user/instrument-notation.itely: add bagpipe
3527         section, maybe fix quotes in lyrics.  I hate text encoding.
3528         Clarify chord durations, more bagpipe stuff.
3530 2005-07-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3532         * lily/accidental-engraver.cc: formatting fixes.
3534         * lily/spacing-spanner.cc (prune_loose_columns): right-items is a
3535         grob-array.
3537         * lily/arpeggio.cc (print): suicide arpeggio for single notehead.
3539         * lily/note-column.cc (arpeggio): new function.
3541         * lily/note-spacing.cc (get_spacing): also take arpeggio into
3542         account for spacing.
3544 2005-07-25  Jan Nieuwenhuizen  <janneke@gnu.org>
3546         * lily/main.cc (sane_setenv)[!ARGV0_RELOCATION]: Also define.
3547         (setup_guile_env): Use it instead of nonstandard setenv.  Fixes
3548         mingw build.
3549         
3550 2005-07-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3552         * scm/lily.scm (lilypond-all): clear anonymous modules after
3553         processing files.
3555 2005-07-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3557         * flower/include/guile-compatibility.hh (SCM_I_CONSP): add
3558         SCM_I_CONSP
3560         * VERSION: 2.7.3 released
3562         * Documentation/user/invoking.itely (Invoking lilypond): add
3563         LILYPOND_GC_YIELD documentation.
3565         * lily/*: cleanups: use scm_from_int iso. scm_int2num. Idem for
3566         scm_from_real / scm_make_real.
3568         * lily/main.cc (setup_guile_env): new function. Set GC min_yields
3569         higher. This increases memory footprint, but provides overall
3570         speedup of 15 to 20%. 
3572         * lily/include/translator.hh (class Translator): remove
3573         PRECOMPUTED_VIRTUAL everywhere.
3575         * lily/include/lily-guile.hh: inline scm_c[ad]r, scm_is_pair.
3577         * lily/context.cc (now_mom): non-recursive now_mom() 
3579         * lily/include/profile.hh: new file.
3581         * lily/profile.cc: new file.
3583         * lily/grob.cc (Grob::Grob): look properties up directly.
3585         * lily/open-type-font.cc (get_indexed_char): cache index -> bbox
3586         lookups.
3588         * lily/include/box.hh (class Box): smob Box type.
3590         * lily/smobs.cc (protect_smob): O(1) GC (un)protection.
3592         * lily/include/smobs.hh (DECLARE_BASE_SMOBS): add methods
3593         protect() and unprotect(). Use throughout.
3595 2005-07-24  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3597         * Documentation/topdocs/NEWS.tely: new item for \displayLilyMusic
3599         * scm/define-music-display-methods.scm (markup->lily-string):
3600         markup elements can also be strings (without simple-markup
3601         appended)
3603 2005-07-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3605         * lily/context.cc (where_defined): also assign value in
3606         where_defined().
3608         * lily/bezier.cc (get_other_coordinate): use curve_coordinate
3609         (curve_coordinate): new function
3611         * lily/simple-spacer.cc (add_columns): only add rods between
3612         column i and begin/end if keep-inside-line is set (this repleces
3613         allow-outside-line as default)
3615 2005-07-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3617         * lily/tuplet-engraver.cc (start_translation_timestep): only read
3618         tupletSpannerDuration if applicable.
3620         * lily/font-size-engraver.cc (process_music): read fontSize only
3621         once per timestep.
3623         * lily/engraver*cc: use throughout.
3624         
3625         * lily/include/translator.icc (ADD_ACKNOWLEDGER): new macro.
3627         * lily/translator.cc (add_acknowledger): new file. Directly jump
3628         into an Engraver::acknowledge_xxx () method based on a grobs
3629         interface-list.
3631         * lily/include/translator-dispatch-list.hh (class
3632         Engraver_dispatch_list): new struct, new file.
3634         * scm/define-context-properties.scm
3635         (all-internal-translation-properties): remove acceptHashTable,
3636         acknowledgeHashTable
3638         * lily/translator-group.cc (mark_smob): idem for acceptHashTable.
3640         * lily/engraver-group-engraver.cc (Engraver_group_engraver):
3641         change acknowledgeHashTable to C++ member. 
3643         * lily/rest-collision.cc (do_shift): use extract_grob_set().
3645 2005-07-22  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3647         * scm/display-lily.scm: new file. Define a `display-lily-music'
3648         function, that displays the music expression given as an argument,
3649         using LilyPond notation.
3651         * scm/define-music-display-methods.scm: new file. Implementation
3652         of display methods for each music type.
3654         * ly/music-functions-init.ly (displayLilyMusic): new function for
3655         displaying music with LilyPond notation.
3657         * input/regression/display-lily-tests.ly: new regression test file
3658         for `display-lily-music'.
3660         * scm/markup.scm: remove obsolete debugging code (for printing
3661         markups with LilyPond notation).
3663         * scm/define-music-types.scm (music-name-to-property-table):
3664         * scm/clef.scm (supported-clefs): export, in order to be accessible
3665         from the (scm display-lily) module.
3667 2005-07-22  Jan Nieuwenhuizen  <janneke@gnu.org>
3669         * Documentation/topdocs/NEWS.tely (Top): Typo.
3671 2005-07-22  Heikki Junes  <hjunes@cc.hut.fi>
3673         * Documentation/index.html.in, Documentation/texinfo.css,
3674           stepmake/bin/text2html.py, buildscripts/mutopia-index.py,
3675           Documentation/bibliography/index.html.in,
3676           Documentation/bibliography/html-long.bst: revert css-width patch,
3677           it does not work with IE6.
3679 2005-07-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3681         * Documentation/texinfo.css: revert 760px hack. 
3683         * VERSION: release 2.7.2
3685         * Documentation/topdocs/NEWS.tely (Top): mention barNumberCheck
3687         * Documentation/user/basic-notation.itely (Barnumber check): add
3688         section.
3690         * scm/music-functions.scm (skip-to-last): new function. Show only
3691         last showLastLength part of the \score.
3693         * lily/moment-scheme.cc (LY_DEFINE): new function ly:moment-sub
3695         * python/convertrules.py (conv): add ly:x-moment rule
3697         * lily/moment-scheme.cc (LY_DEFINE): rename ly:X-moment  -> ly:moment-X
3699         * Documentation/topdocs/NEWS.tely (Top): add new feature.
3701         * Documentation/user/instrument-notation.itely (Flexibility in
3702         alignment): options in subsections.
3704         * lily/lyric-engraver.cc (process_music): don't typeset text for _
3705         syllable text. Instead, assume that the previous lyric text is a
3706         melismated text.
3708         * Documentation/index.html.in: revert 800x600 change.
3710 2005-07-19  Jan Nieuwenhuizen  <janneke@gnu.org>
3712         * lily/main.cc (main): Remove invalid handle kludge.
3714         * scm/lily.scm (running-from-gui?): WINDOWS: check -dgui.
3715         (lambda): add gui define.
3717 2005-07-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3719         * Documentation/topdocs/NEWS.tely (Top): add note about Musica ficta.
3721         * Documentation/user/instrument-notation.itely (Musica ficta
3722         accidentals): add section Musica ficta accidentals
3724         * lily/accidental-engraver.cc (make_suggested_accidental): new
3725         function.
3726         (make_standard_accidental): move into new function.
3727         (create_accidental): new function.
3729         * scm/define-grobs.scm (all-grob-descriptions): new Grob
3730         AccidentalSuggestion
3732         * lily/output-def-scheme.cc (LY_DEFINE): take default  argument.
3734         * lily/output-def.cc (lookup_variable): return SCM_UNDEFINED if
3735         undefined.
3737         * Documentation/user/global.itely (Page formatting): document
3738         horizontalshift.
3740         * scm/page-layout.scm (default-page-music-height):
3741         horizontalshift: new variable, shift all systems by
3742         horizontalshift to the right, to make space for instrument names.
3744         * scm/paper.scm (set-paper-dimension-variables): add horizontalshift
3746         * lily/input-scheme.cc (LY_DEFINE): take format commands.
3748 2005-07-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3750         * lily/note-column.cc (dir): idem.
3752         * lily/spacing-spanner.cc (Module): idem.
3754         * lily/script-column.cc (before_line_breaking): use extract_grob_set()
3756         * lily/include/paper-column.hh (class Paper_column): add
3757         non-static get_rank() member.
3759         * VERSION: release 2.7.1
3760         
3761         * scm/framework-null.scm: new file, used for benchmarking.
3763 2005-07-20  Heikki Junes  <hjunes@cc.hut.fi>
3765         * Documentation/topdocs/INSTALL.texi, configure.in: fix
3766         version dependencies for fontforge and gs.
3768         * Documentation/index.html.in, Documentation/texinfo.css,
3769         stepmake/bin/text2html.py, buildscripts/mutopia-index.py,
3770         Documentation/bibliography/index.html.in, 
3771         Documentation/bibliography/html-long.bst: optimize width of
3772         html for a 800x600 screen (width:760), increases printability
3773         when 'fit to page' is not set and readability in wide screens.
3775         * stepmake/bin/add-html-footer.py: add missing </p>.
3777 2005-07-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3779         * scm/define-markup-commands.scm (beam): use polygon in beam
3780         command.
3782         * lily/grob-pq-engraver.cc (stop_translation_timestep): save up
3783         all acknowledged grobs, and do potentially expensive merge and
3784         write in one go.
3786         * buildscripts/mf-to-table.py (write_fontlist): enforce noBreak.
3788         * configure.in (reloc_b): add --enable-static-gxx to statically
3789         link to libstdc++
3791         * lily/GNUmakefile (static-gxx-libs): new target
3792         static-gxx-libs. Create symlink to libstdc++.a
3794         * lily/new-lyric-combine-music-iterator.cc: rename to
3795         Lyric_combine_music_iterator
3797         * lily/lyric-combine-music-iterator.cc
3798         (Old_lyric_combine_music_iterator): rename to
3799         Old_lyric_combine_music_iterator
3801         * lily/*-engraver.cc (various): remove double use of
3802         PRECOMPUTED_VIRTUAL function: only use
3803         start_translation_timestep() and stop_translation_timestep(), not
3804         both.
3806         * lily/break-substitution.cc (fast_substitute_grob_array): do
3807         fast_substitute_grob_array for all unordered grob_arrays.
3808         (substitute_grob): return Grob *. Saves packing/unpacking SCMs.
3809         (substitute_grob_array): optimize.
3811         * lily/align-interface.cc (set_axis): set ordered_ for 'elements
3813         * lily/include/grob-array.hh (class Grob_array): ordered_ member.
3815         * lily/parser.yy: revert $globalheader patch.
3816         
3817         * lily/include/translator.icc
3818         (IMPLEMENT_FETCH_PRECOMPUTABLE_METHODS): directly jump into
3819         Translator methods, without _static helper.
3821         * lily/grob-smob.cc (derived_mark): rename from
3822         do_derived_mark(). Return void.
3824         * scm/define-context-properties.scm
3825         (all-internal-translation-properties): remove tweakCount/tweakRank.
3827         * scm/output-lib.scm (begin-of-line-invisible): use vectors for
3828         predefined break-visibilities.
3830         * lily/item.cc (handle_prebroken_dependencies): use a vector of 3
3831         booleans for break-visibility.
3833         * Documentation/topdocs/NEWS.tely (Top): add note about engravers.
3835         * python/convertrules.py (conv): rule for Timing_translator. 
3837         * lily/include/translator.icc: new file. 
3839         * lily/paper-column-engraver.cc (process_music): new
3840         file. Separate Paper_column factory from Score_engraver.
3842         * lily/vertically-spaced-context-engraver.cc: administer
3843         spaceable-staves property of System.
3845         * lily/translator-group-ctors.cc: new file.
3847         * lily/context-property.cc (make_grob_from_properties): construct
3848         the right Grob class programmatically, looking at the class entry
3849         for the meta property.
3851         * lily/break-align-engraver.cc (stop_translation_timestep): call
3852         Break_align_interface::add_element() directly.
3854         * lily/context.cc (measure_position): measure_position() is now a
3855         normal function.
3857         * lily/include/translator.hh (class Translator): rename
3858         process_acknowledged_grobs() to process_acknowledged() and move to
3859         Translator.
3861         * scm/define-grobs.scm (all-grob-descriptions): add a 'class meta
3862         field for each grob description.
3864         * lily/include/translator-group.hh (class Translator_group):
3865         change to base class. Separate class from Translator. This gets
3866         rid of virtual inheritance for Engravers/Performers.
3868         * lily/staff-performer.cc (class Staff_performer): derive
3869         Staff_performer from Performer, not Performer_group_performer 
3871         * Lily/translator-group.cc (precomputed_recurse_over_translators):
3872         new function.
3873         (precompute_method_bindings): new function. Precompute lists of
3874         Translators, so we only call methods (process_music,
3875         start_translation_timestep, etc.) for Translators needing
3876         it. Also: dispose of pointer-to-member-function calls.
3878         * lily/engraver-group-engraver.cc: remove engraver_each,
3879         recurse_down_engravers ()
3881         * lily/note-head.cc (internal_print): only call
3882         glyph-name-procedure if style != default. 
3884 2005-07-16  Graham Percival  <gperlist@shaw.ca>
3886         * ly/titling-init.ly: add printallheaders option.
3888         * Documentation/user/global.itely: document printallheaders.
3890 2005-07-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3892         * lily/system.cc (do_derived_mark): don't mark from object_alist_
3893         anymore, but do it centrally.  
3895         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
3896         hammer hack.
3898         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-object
3900         * scm/output-lib.scm: remove hammer-print-function.
3902         * lily/include/pointer-group-interface.hh (extract_grob_set): new
3903         macro. Declare a Link_array<Grob> and fill it from a grob.
3904         (extract_item_set): idem for item.
3906         * lily/break-substitution.cc: add header.
3907         (fast_substitute_grob_array): rewrite for Grob_arrays.
3908         (substitute_grob_array): idem.
3910         * lily/group-interface.cc (add_thing): remove file.
3912         * flower/include/parray.hh (class Link_array): slice() is const.
3914         * lily/include/grob-array.hh: new file.
3916         * lily/grob-array.cc (spanner): new file.
3918         * lily/beam-quanting.cc (fill): read details property from beam.
3920         * lily/beam.cc: support details property.
3922         * total speedups below: approx 10%.
3924         * lily/include/beam.hh: new struct, softcode beam quanting parameters
3926         * lily/include/grob.hh (class Grob): add interfaces_ member.
3928         * lily/bezier.cc (init_polynomial_cache): new function: cache
3929         binom(3,j) t^j (1-t)^{3-j}
3930         (curve_point): opps, actually use the cache for t^j , (1-t)^j! 
3932         * lily/*.cc: substitution throughout.
3934         * lily/grob-property.cc (internal_get_object): new routine.
3935         (internal_set_object): idem. Store grob refrences in separate
3936         alist. This saves processing time, since properties aren't
3937         break-substituted, and the per grob namespace is smaller, both for
3938         grobs and non-grob properties.
3940         * scm/define-grob-properties.scm (all-internal-grob-properties):
3941         remove center-element.
3943         * lily/grob.cc: remove tweak-count, tweak-rank.
3945 2005-07-15  Graham Percival  <gperlist@shaw.ca>
3947         * Documentation/user/lilypond-book.itely: fixes example.
3949 2005-07-15  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3951         * Documentation/user/global.itely (Creating titles):    
3952         * Documentation/user/examples.itely (All headers): change the
3953         place of \header in \score blocks (after music block) to make
3954         examples compile (cf. changes on parser.yy on 2005-07-10)
3956 2005-07-13  Graham Percival  <gperlist@shaw.ca>
3958         * python/convertrules.py: add exc -> ecc rule.
3960         * scripts/convert-ly.py: add location of convertrules.py
3961         in a comment.
3963         * Documentation/user/changing-defaults.itely: fix language.
3965 2005-07-12  Jan Nieuwenhuizen  <janneke@gnu.org>
3967         * lily/lily-parser-scheme.cc (LY_DEFINE): Guile 1.6 fix.
3969 2005-07-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3971         * scm/output-socket.scm (grob-bbox): don't use inf? 
3973         * flower/include/rational.hh: add operator bool() 
3975         * scm/define-music-types.scm (music-descriptions): remove
3976         internal-class-name properties.
3978         * lily/include/event.hh: remove file.
3980         * lily/include/music-constructor.hh: remove file.
3982         * lily/parser.yy (Lily_lexer): check EVENT_IDENTIFIER using 'event
3983         in 'types property.
3985         * lily/music.cc (duration_length_callback): new function.
3987         * lily/event.cc: remove file.
3989         * lily/music-constructor.cc: remove file.
3991         * lily/music-scheme.cc (LY_DEFINE): rename to ly:make-music
3993         * lily/context.cc (get_grob_key): nop if use_object_keys not set.
3994         (get_context_key): idem.
3996         * scm/lily.scm (lambda): new option object-keys (default to #f)
3998         * scm/output-svg.scm (utf-8-string): rename  from utf8-string.
4000         * scm/output-gnome.scm: remove beam routine.
4002         * scm/output-ps.scm (scm): idem.
4004         * scm/output-svg.scm: remove beam.
4006         * ps/music-drawing-routines.ps: remove draw_beam.
4008         * lily/lookup.cc (beam): use round_filled_polygon() for beam.
4010         * flower/include/guile-compatibility.hh (scm_from_locale_string):
4011         add scm_from_locale_string compatibility glue. 
4013 2005-07-13  Yoshinobu Ishizaki  <isizaki@mte.biglobe.ne.jp>
4015         * scripts/lilypond-book.py: Prevent occuring error when
4016         'lilypond-book --output=foo/ somefile.ly' is executed multiple
4017         times and target file shoud be overwritten.  (Error message said
4018         'input file and output file is same'.)
4020 2005-07-13  Graham Percival  <gperlist@shaw.ca>
4022         * input/regression/slur-extreme.ly,
4023         input/regression/slur-scoring.ly, lily/slur-configuration.cc,
4024         lily/slur.cc, mf/feta-din-code.mf, mf/feta-timesig.mf,
4025         mf/parmesan-heads.mf, scm/define-grob-properties.scm: Change
4026         "excentricity" to "eccentricity".
4028         * Documentation/user/converters.itely: fix URL for Noteedit and
4029         Rosegarden.
4031         * THANKS: added Yoshinobu Ishizaki.
4033 2005-07-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4035         * scm/define-markup-commands.scm (justify-field): add. 
4037         * scm/define-grobs.scm (all-grob-descriptions): decrease font size.
4039 2005-07-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4041         * lily/lookup.cc (filled_box): express filled_box with
4042         round_filled_box
4044         * scm/midi.scm (paper-book-write-midis): new function. Write all
4045         performances in numbered MIDI files.
4047         * lily/performance-scheme.cc (LY_DEFINE): new file.
4048         (LY_DEFINE): new function ly:performance-write.
4050         * lily/lily-parser-scheme.cc (LY_DEFINE): ly:parser-output-name:
4051         new function.
4052         (LY_DEFINE): change name ly:parser-define -> ly:parser-define!
4054         * scm/framework-*.scm: use port arguments throughout.
4056         * lily/include/lily-guile.hh: rename ly_c_X_p -> ly_is_X
4058         * lily/paper-outputter.cc (Paper_outputter): take port argument.
4060         * lily/paper-outputter-scheme.cc (LY_DEFINE): take port argument.
4062         * scm/framework-texstr.scm (output-framework): 
4064         * input/regression/repeat-fold.ly (texidoc): remove TeX strings.
4066         * scm/output-lib.scm (tablature-stem-attachment-function):
4067         tablature stem attachment fix. 
4069 2005-07-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4071         * lily/bezier.cc: hardcode binomial coefficients of order 3.
4073         * lily/include/music-wrapper.hh: remove Music_wrapper as Music subtype.
4075         * scm/define-music-types.scm (music-descriptions): don't use
4076         Music_wrapper type.
4078         * lily/paper-column.cc (print): print moment too.
4080         * scripts/mup2ly.py (cp_to_dir): remove 1.5.2 compat glue.  
4081         remove compatibility cruft.
4083         * lily/parser.yy (score_body): \score can only begin with Music. 
4085         * lily/score-scheme.cc (LY_DEFINE): rename scorify to
4086         make-score. Take music argument only. Move parser interaction to
4087         Scheme.
4089         * scm/lily-library.scm (scorify-music): new function.
4091         * python/lilylib.py (datadir): remove 2.1 compat kludge.
4092         (datadir): remove resource import.
4093         (print_environment): remove get_bbox()
4094         (cp_to_dir): remove pre 1.5.2 compat glue.
4096 2005-07-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4098         * lily/include/simple-spacer.hh (Module): idem.
4100         * lily/include/spring.hh (struct Spring): store inverse
4101         strength. This prevents division by zero.
4103         * VERSION: release 2.7.0
4104         
4105         * lily/include/music.hh (class Music): remove Music::duration_log()
4107         * lily/stem-engraver.cc (make_stem): take duration log from event.
4109         * lily/chord-tremolo-engraver.cc: don't ack note-head-interface.
4111 2005-07-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4113         * scm/lily.scm (ly:load): load autochange.scm
4115         * Documentation/user/tutorial.itely (Running LilyPond for the
4116         first time): remove reference to DVI/TeX
4118         * scm/define-markup-commands.scm (text): add \text markup command.
4120         * configure.in (reloc_b): bump requirement to Python 2.2.
4122         * lily/include/dots.hh (class Dots): make has_interface() static.
4124         * python/convertrules.py (conv): add rule for ly:grob-default-font
4126         * scm/define-grobs.scm (all-grob-descriptions): reorganize in
4127         alphabetical order.
4129         * input/regression/trill-spanner-pitched.ly: new file.
4131         * lily/font-interface-scheme.cc (LY_DEFINE): function
4132         ly:grob-default-font (changed from get-default-font).
4134         * lily/axis-group-interface-scheme.cc (LY_DEFINE): new file.
4136         * lily/note-head.cc (internal_print): if style is not a symbol,
4137         set style to 'default. 
4138         (internal_print): no style suffix if glyph-name-procedure not
4139         set. Default to quarter head.
4141         * scm/define-grobs.scm (Module): new grob TrillPitchHead.
4143         * scm/define-music-properties.scm (all-music-properties): add trill-pitch.
4145         * ly/music-functions-init.ly: \pitchedTrill
4147         * lily/pitched-trill-engraver.cc (acknowledge_grob): new file.
4149         * ly/Welcome_to_LilyPond.ly: update to 2.6.0
4151         * lily/trill-spanner-engraver.cc (finalize): rename req -> event
4153         * scm/define-markup-commands.scm (pad-markup): pad-markup command.
4155         * po/fr.po: update
4157         * po/de.po: update.
4159 2005-07-06  Graham Percival  <gperlist@shaw.ca>
4161         * Documentation/user/changing-defaults.itely: add link
4162         to grob-iterface.
4164         * Documentation/user/advanced-notation.itely: add material
4165         to Setting automatic beam behaviour.  Thanks, Joe!
4167         * Documentation/user/lilypond.itely: change encoding to utf-8.
4169 2005-07-01  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4171         * Documentation/user/advanced-notation.itely (Setting automatic
4172         beam behavior): Correct the documentation of
4173         revert-auto-beam-setting (backportme)
4175 2005-07-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4177         * lily/ly-module.cc (ly_make_anonymous_module): define
4178         %module-public-interface of module. 
4180         * lily/lily-parser.cc (print_smob): allow printing of parser smob
4181         without lexer.
4183 2005-07-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4185         * input/regression/fret-diagrams.ly: stretch example.
4187 2005-06-30  Jan Nieuwenhuizen  <janneke@gnu.org>
4189         * cygwin/GNUmakefile ($(outdir)/%.sh): Bugfix: use TAB (Bertalan
4190         Fodor).
4192 2005-06-30  Graham Percival  <gperlist@shaw.ca>
4194         * Documentation/topdocs/AUTHORS.texi: update personal web address.
4196         * Documentation/user/examples.itely, lilypond-book.itely:
4197         change \RequirePackage to \usepackage.
4199         * Documentation/user/global.itely: document copyright and tagline.
4201 2005-06-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4203         * Documentation/user/basic-notation.itely (Transpose): remove link
4204         to nonexistent UntransposableMusic.
4206         * scm/output-svg.scm: remove old definitions.
4208         * scripts/lilypond-book.py (do_file): search for kpsewhich before
4209         invoking.
4211         * python/lilylib.py (search_exe_path): new function.
4213 2005-06-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4215         * python/lilylib.py (mkdir_p): remove setup_environment()
4216         (backportme)
4218         * buildscripts/mutopia-index.py (headertext): trim text.
4220         * Documentation/topdocs/NEWS.tely (Top): refresh.
4222         * scm/define-markup-commands.scm (wordwrap-string): new function:
4223         split string in paras and words.
4224         (wordwrap-markups): new function.
4225         (wordwrap-stencils): new function. 
4226         (justify): use it.
4227         (wordwrap): use it.
4228         (wordwrap-string): use it
4229         (justify-string): use it.
4231         * scm/lily-library.scm (regexp-split): new function.
4233         * scm/define-markup-commands.scm: remove encoded-simple. 
4234         remove font-markup.
4235         (fontsize): remove old version  of fontsize.
4236         (wordwrap): new markup function. Wrap into paragraphs.
4238         * VERSION: Branch lilypond_2_6
4239         (MINOR_VERSION): go to 2.7.0
4241 2005-06-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4243         * po/zh_TW.po: update from translation project.
4245 2005-06-28  Graham Percival  <gperlist@shaw.ca>
4247         * scm/midi.scm: compile fix.
4249 2005-06-28  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4251         * scripts/lilypond-book.py : Fix embarrassing bug in my previous
4252         patch. Now, the tempfile module is loaded too, not only used.
4254 2005-06-28  Stephen Charles McCarthy  <stecmccarthy@hotpop.com>
4256         * scm/midi.scm: changed midi volumes in absolute-volume-alist from
4257         0.05 - 1.00 to 0.25 - 1.00
4259         * scm/midi.scm: moved the default-instrument-equalizer procedure
4260         to just under the insturment-equalizer-alist it takes as an
4261         argument.
4263 2005-06-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4265         * Documentation/user/advanced-notation.itely (Font selection):
4266         remove CMR note.
4268         * scm/framework-ps.scm (write-preamble): ly:warning iso. ly:warn 
4270 2005-06-28  Jan Nieuwenhuizen  <janneke@gnu.org>
4272         * THANKS: Add UTF-8 marker.
4274         * Documentation/user/point-and-click.itely (http): Update: use
4275         lilypond-invoke-editor.  Fix: instruct to use user.js.
4277 2005-06-27  Graham Percival  <gperlist@shaw.ca>
4279         * ly/titling-init.ly: implements printpagenumber, increases
4280         space between dedication and title (to avoid collisions with
4281         "g" and "q" in dedication), and nicer logic about copyright
4282         and instrument fields being printed on the first page.
4283         Thanks Vincent!
4285         * Documentation/user/global.itely: document printpagenumber.
4287 2005-06-27  Jan Nieuwenhuizen  <janneke@gnu.org>
4289         * Documentation/topdocs/NEWS.tely: Update to 2.6.
4291 2005-06-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4293         * THANKS: update to 2.6
4295         * VERSION: 2.6.0 released.
4297 2005-06-27  Jan Nieuwenhuizen  <janneke@gnu.org>
4299         * cygwin/GNUmakefile (OUT_POSTREMOVES): Reinclude install script
4300         rule, errorneously removed probably because of misleading comment.
4302 2005-06-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4304         * python/lilylib.py (datadir): py2exe comments.
4306         * Documentation/topdocs/INSTALL.texi (Top): remove EC fonts requirement.
4308         * configure.in (reloc_b): make fontconfig REQUIRED.
4310 2005-06-27  Heikki Junes <hjunes@cc.hut.fi>
4312         * po/fi.po: add latest translations.
4314 2005-06-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4316         * ChangeLog: recode utf-8
4318         * Documentation/pictures/lilypond.xpm (Module): edited photo as
4319         logo.
4321         * Documentation/user/examples.itely (Module): 2.4.0 -> 2.6.0
4323         * input/*.ly (Module): 2.4 -> 2.6 grand convert-ly s/r. 
4325         * python/convertrules.py (do_conversion): don't print program_name
4326         from within a module
4328         * configure.in (reloc_b): bump fontforge requirement to 20050624.
4330         * python/convertrules.py (conv): add 2.6.0 dummy rule.
4332 2005-06-23  Graham Percival  <gperlist@shaw.ca>
4334         * Documentation/user/lilypond-book.itely,
4335         Documentation/user/examples.itely: add \RequirePackage{graphics}.
4337         * ly/titling.ly: checks printfirstpagenumber, adds meter, and
4338         fixes baseline-skip.  Thanks Vincent!
4340         * Documentation/user/advanced-notation.itely, global.itely:
4341         moved "Selecting font sizes" to global, since it deals with
4342         notation font size, not text fonts.
4344 2005-06-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4346         * buildscripts/gen-emmentaler-scripts.py (notice): add GPL notice
4347         to fonts.
4349 2005-06-23  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4351         * scripts/lilypond-book.py (LATEX_DOCUMENT): More or less ugly
4352         workaround since /dev/stdin doesn't work on Cygwin. Using a
4353         temporary file in the current directory since latex doesn't
4354         understand the path name to the default TMP in Cygwin (at least on
4355         win XP).
4356         
4357         * Documentation/user/global.itely (Creating titles): Correct
4358         misprint in example. Thanks to Rob Vlasaty.
4360 2005-06-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4362         * VERSION (PATCH_LEVEL): release 2.5.32
4364         * lily/lily-parser-scheme.cc (LY_DEFINE): don't set 'parser
4365         variable in lily module
4367         * scm/framework-ps.scm (output-classic-framework): error message
4368         regarding the classic framework.
4370         * Documentation/user/henle-flat-gray.png (Module): new file.
4372         * Documentation/user/baer-flat-gray.png (Module): new file.
4374         * scm/output-lib.scm (fret-number-tablature-format): vcenter and
4375         whiteout for markups.
4377         * buildscripts/substitute-encoding.py (note_glyph): include _ in
4378         regex too. This fixes change clef appearance in PDF. 
4380         * ttftool/include/*: remove.
4382         * configure.in (reloc_b): remove TTFTOOL_ENDIAN
4384         * config.make.in (WINDRES): remove TTFTOOL_ENDIAN.
4386         * lily/GNUmakefile (MODULE_INCLUDES): remove ttftool
4388         * ttftool/*: remove ttftool subdirectory.
4390         * GNUmakefile.in (SUBDIRS): remove ttftool subdirectory.
4392         * lily/ttf.cc (print_header): new file. Convert to type42, using
4393         FreeType to parse the TTF. 
4395         * ttftool/parse.c (readPostTable): ugh. Kludge: nglyphs in maxp
4396         and post table may differ. Pass around post_nglyphs as well.
4398 2005-06-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4400         * ly/music-functions-init.ly (musicMap): new music function
4401         musicMap. 
4402         
4403 2005-06-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4405         * make/mutopia-rules.make: anti-alias-factor = 2
4407         * scm/ps-to-png.scm (make-ps-images): cleanup multipage vs. single
4408         page switch.
4410         * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): set
4411         anti-alias-factor for lilypond-book runs.
4413         * scm/ps-to-png.scm (scale-down-image): new function.
4414         (my-system): new function.
4415         (make-ps-images): blow up GS resolution by anti-alias-factor,
4416         scale down image by anti-alias-factor.  This improves appearance
4417         of bitmaps
4418         (make-ps-images): remove showpage. Fixes spurious empty png at
4419         end.
4421         * scm/framework-ps.scm (write-preamble): downcase filename before
4422         string-matching. Should fix .TTF files (as opposed to ttf files)  
4424         * Documentation/user/tutorial.itely (Running LilyPond for the
4425         first time): separate subsections for windows, macos and unix.  
4427         * Documentation/user/invoking.itely (Updating files with
4428         convert-ly): add MacOS X note.
4430 2005-06-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4432         * Documentation/user/introduction.itely (Engraving): don't include
4433         file optical-spacing, add directly.
4435         * lily/paper-outputter.cc (file): open file in binary mode. This
4436         fixes OTF embedding on windows.
4438 2005-06-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4440         * scm/framework-ps.scm (write-preamble): remove debugging output.
4442         * mf/aybabtu.pe.in (i): don't generate aybabtu.cff
4444         * mf/GNUmakefile ($(outdir)/fonts.cache-1): create font cache for
4445         outdir.
4446         (install-fc-cache): install font cache in installation directories.
4448 2005-06-17  Jan Nieuwenhuizen  <janneke@gnu.org>
4450         * scm/editor.scm (editor-command-template-alist): Use char iso
4451         column, except for Emacs.
4452         (get-editor-command): Substitute char too (Bertalan Fodor).
4454 2005-06-16  Jan Nieuwenhuizen  <janneke@gnu.org>
4456         * scm/ps-to-png.scm (make-ps-images): Use ~S instead of single
4457         quoted ~s.  This should fix PNG output on Windows; single quotes
4458         are regular characters on Windows.
4460 2005-06-16  Graham Percival  <gperlist@shaw.ca>
4462         * Documentation/user/basic-notation.itely: include ChoirStaff
4463         in System start delimiters.
4465         * Documentation/user/putting.itely: new doc section on
4466         fixing overlapping notation.
4468 2005-06-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4470         * Documentation/user/global.itely (Paper size): \paper is in
4471         \book, not \score.
4473         * make/mutopia-rules.make: -ddelete-intermediate-files
4475         * ly/engraver-init.ly: make Staff default child of ChoirStaff.
4477 2005-06-16  Jan Nieuwenhuizen  <janneke@gnu.org>
4479         * ChangeLog: Recode utf-8.
4481         * python/GNUmakefile (INSTALLATION_OUT_DIR): Install .so module in
4482         datadir with .py modules.
4484 2005-06-15  Heikki Junes  <hjunes@cc.hut.fi>
4486         * Documentation/user/basic-notation.itely (Ties): add tieDashed.
4488 2005-06-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4490         * make/mutopia-rules.make: switch off ps, p&c for lilypond runs.
4491         
4492         * scm/framework-ps.scm (write-preamble): remove status check.
4494         * Documentation/user/invoking.itely (Updating files with
4495         convert-ly): remove -o option.
4497         * VERSION (PACKAGE_NAME): release 2.5.31
4499         * scm/framework-ps.scm (write-preamble): use ly:system.
4500         (write-preamble): verbosity.
4502         * scripts/convert-ly.py: cleanup. Use lilylib. Use convertrules.
4504         * python/convertrules.py: new file. Store conversion rules
4505         separately.
4507 2005-06-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4509         * scm/backend-library.scm (postprocess-output): remove debugging gobs.
4511 2005-06-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4513         * Documentation/topdocs/NEWS.tely (Top): Corrected name of
4514         \musicDisplay 
4516         * Documentation/user/instrument-notation.itely (More stanzas): Add
4517         reference to StanzaNumber.
4519 2005-06-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4521         * THANKS: separate section for website translators.
4523 2005-06-14  Graham Percival  <gperlist@shaw.ca>
4525         * Documentation/topdocs/INSTALL.texi: update vim info;
4526         thanks Simon Bailey!
4528         * Documentation/user/advanced-notation.itely: included
4529         color names.
4531         * Documentation/user/advanced-notation.itely,
4532         Documentation/usr/notation-appendices.itely: moved
4533         color names into an appendix.
4535 2005-06-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4536         
4537         * lily/program-option.cc (LY_DEFINE): new function ly_add_option.
4539         * scm/lily.scm (lambda): initialize program options from here.
4541         * scm/framework-*.scm: add header info.
4543         * lily/main.cc (parse_argv): only set output format to pdf if no
4544         other format specified.
4546         * scm/backend-library.scm (postprocess-output): process
4547         'delete-intermediate-files after running convert-to-*. This fixes
4548         PNG generation when 'delete-intermediate-files is set.
4549         
4550 2005-06-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4552         * buildscripts/mutopia-index.py (list_item): thinko. Fixes png
4553         links on website. 
4555 2005-06-13  Graham Percival  <gperlist@shaw.ca>
4557         * Documentation/topdocs/INSTALL.texi,
4558         Documentation/user/lilypond-book.itely: typos.
4560 2005-06-12  Pal Benko  <benkop@freestart.hu>
4562         * elisp/lilypond-mode.el (LilyPond-command-alist: 2PS): space
4563         added between program name and switch; -b changed to -f not
4564         to generate pdf
4566 2005-06-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4568         * elisp/lilypond-mode.el (LilyPond-command-alist): remove 2midi
4569         (LilyPond-command-alist): use -f ps (thanks to Pal Benko)
4571         * input/sakura-sakura.ly: add \midi.
4573         * buildscripts/mutopia-index.py (find): use /usr/bin/find
4574         iso. python find. 
4576         * ttftool/test.c (main): cosmetics.
4578         * ttftool/util.c (surely_lseek): use stdio FILE's for I/O 
4580         * ttftool/test.c: new file. If compiled with -DTEST_TTFTOOL,
4581         create a ttf2ps binary.
4583         * scm/ps-to-png.scm (make-ps-images): fix rename-page-1 functionality.
4585         * scm/backend-library.scm (postscript->png): set rename-page-1 to
4586         true.
4588 2005-06-11  Graham Percival <gperlist@shaw.ca>
4590         * Documentation/user/lilypond-book.itely: add warning about
4591         the font warnings in dvips.
4593 2005-06-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4595         * THANKS: typo
4597         * mf/GNUmakefile ($(outdir)/$(redhat-package)): Fedora-4 url.
4599         * GNUmakefile.in: remove links for .map, .enc
4600         don't fail if out/ doesn't exist yet.
4602 2005-06-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4604         * ttftool/util.c (surely_read): return nbytes
4606         * stepmake/bin/text2html.py (txt2html): add utf-8 marker. 
4608         * VERSION (PACKAGE_NAME): release 2.5.30
4610         * flower/string-convert.cc (precision_string): >? fix.
4612         * scm/ps-to-png.scm (make-ps-images): search-gs for multipage too.
4613         (make-ps-images): add verbose -q too.
4615         * lily/default-actions.cc (Module): new file. default
4616         {book,score}-print functions.
4618         * scm/ly-from-scheme.scm (ly:parse-string-result): use new setup:
4619         pass results via parseStringResult, lookup via ly:parser-lookup.  
4621         * lily/lily-parser.cc (Lily_parser): only clone lexer in
4622         constructors.
4623         (parse_file): encapsulate do_yyparse() in scm_set_current_module()
4624         (parse_string): idem.
4626         * ly/spanners-init.ly (assertBeamQuant): don't use #{ #} in init.
4628         * lily/main.cc (main_with_guile): copy be_verbose_global into
4629         ly_set_option()
4631 2005-06-10  Jan Nieuwenhuizen  <janneke@gnu.org>
4633         * scm/backend-library.scm (postscript->pdf):
4634         * scm/ps-to-png.scm (make-ps-images): Do not use gs -q switch in
4635         verbose mode.  Search for several names of gs executable.
4637 2005-06-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4639         * lily/ly-module.cc (ly_make_anonymous_module): call make-module
4640         directly. This fixes a massive memory leak, provided you use CVS
4641         GUILE.
4643 2005-06-10  Erik Sandberg  <ersa9195@student.uu.se>
4645         * ly/property-init.ly: Added tieDashed.
4647         * THANKS: Added some bughunters for 2.5.
4649 2005-06-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4651         * lily/program-option.cc: add debug-gc option.
4653         * lily/include/lily-guile-macros.hh: don't protect exported module
4654         objects.
4656         * lily/include/lily-parser.hh (class Lily_parser): remove beam_check().
4658         * scm/backend-library.scm (postscript->pdf): use
4659         delete-intermediate-files iso. running-from-gui? 
4661         * ttftool/util.c (surely_read): robustness. Allow read() to return
4662         less bytes than requested, as per posix standards.
4664         * lily/pfb.cc (LY_DEFINE): set ttf_verbosity from ttf-verbosity
4665         program option.
4667         * ttftool/include/ttftool.h ("C"): rename verbosity to
4668         ttf_verbosity. Add to public interface.
4670         * scm/music-functions.scm (unfold-repeats): remove debugging display.
4672         * lily/program-option.cc: rename from scm-option.cc
4674         * lily/scm-option.cc (LY_DEFINE): handle no-foobar option setting.
4675         (get_help_string): Print pretty help string.
4677         * scripts/lilypond-book.py (PREAMBLE_LY): add no-point-and-click
4678         to snippet preamble.
4680         * lily/scm-option.cc: remove command-line-settings option. Fold
4681         all command-line options plus default settings in a generic
4682         interface. 
4684         * flower/getopt-long.cc (table_string): indent 2nd lines of help
4685         texts too.
4687 2005-06-09  Jan Nieuwenhuizen  <janneke@gnu.org>
4689         * flower/file-name.cc: Bugfix: only append DIRSEP if BASE_
4690         or EXT_ components non-empty.
4692 2005-06-08  Jan Nieuwenhuizen  <janneke@gnu.org>
4694         * scm/lily.scm (running-from-gui?): Export.
4696         * lily/lily-parser-scheme.cc (ly:parse-file): Use it to generate
4697         output in .ly source directory.
4699 2005-06-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4701         * ttftool/util.c (surely_lseek): more verbosity.
4703         * lily/include/lily-proto.hh: add Context_def. This fixes FC4
4704         compile.
4706         * lily/parser.yy (Repeated_music): remove >? 
4708         * scm/backend-library.scm (postscript->pdf): Support for
4709         -dgs-font-load=1
4711         * scm/framework-ps.scm (write-preamble): make font loading
4712         switchable to GS via --define-default gs-font-load=1
4714 2005-06-09  Graham Percival  <gperlist@shaw.ca>
4716         * Documentation/user/global.itely: added \layout docs.
4718 2005-06-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4720         * lily/lily-parser-scheme.cc: add unistd.h
4722 2005-06-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4724         * scm/editor.scm: add char argument.
4726         * scripts/lilypond-invoke-editor.scm (dissect-uri): add char. 
4728         * ttftool/util.c (syserror): use errno for better error reporting.
4730         * lily/source-file.cc (get_counts): new function. Calc column,
4731         line and char count in one go.
4733         * lily/binary-source-file.cc (quote_input): rename to quote_input
4735         * lily/input.cc (set): new function.
4737 2005-06-08  Jan Nieuwenhuizen  <janneke@gnu.org>
4739         * flower/file-path.cc (find): Bugfix.  Append rather than prepend
4740         directory part of file name to search directory.
4742         * lily/lily-parser-scheme.cc (ly:parse-file): Prepend cwd to
4743         search path and chdir to DIR if --outname=DIR used.
4745         * lily/main.cc (prepend_env_path): Bugfix: Check directory
4746         existence before appending original path.
4748 2005-06-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4750         * ttftool/parse.c (readNamingTable): verbosity for "bad TTF
4751         file" massage.
4753         * Documentation/user/GNUmakefile (TEXINPUTS): set TEXINPUTS so our
4754         texinfo.tex is always used.
4755         
4756 2005-06-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4758         * flower/include/axis.hh: rename from axes.hh
4760         * lily/include/text-interface.hh (Module): rename from text-item.hh
4762         * VERSION (PATCH_LEVEL): release 2.5.29
4764         * ttftool/parse.c (readNamingTable): handle Apple/8bit encoding too.
4766         * scm/framework-ps.scm (font-file-as-ps-string): new function.
4767         (handle-macfont): new function. Call fondu for Native mac fonts.
4769         * scm/define-markup-commands.scm (fill-line): handle text-widths =
4770         '() case.
4772 2005-06-07  Jan Nieuwenhuizen  <janneke@gnu.org>
4774         * scm/ps-to-png.scm (make-ps-images): Bugfix: `Pages: 1\n' is not
4775         multi-page.  Fix .eps regular expression.
4777 2005-06-07  Graham Percival  <gperlist@shaw.ca>
4779         * Documentation/user/putting.itely: add info on modifying templates.
4781         * Documentation/user/lilypond.itely, converters.itely, invoking.itely:
4782         misc small changes.
4784 2005-06-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4786         * scm/ps-to-png.scm (make-ps-images): no paper size for multi-page.
4788         * scripts/lilypond-ps2png.scm
4790         * VERSION (PACKAGE_NAME): release 2.5.28
4792 2005-06-07  Jan Nieuwenhuizen  <janneke@gnu.org>
4794         * lily/main.cc (prepend_env_path): Do not append /, that does not
4795         work.  Localedir lives in datadir, not in prefix.
4797         * scm/framework-ps.scm (write-preamble): Remove load-font-via-GS
4798         hack for windows.
4800         * flower/include/file-cookie.hh: Compile fix.
4802 2005-06-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4804         * ly/engraver-init.ly: add \defaultchild to InnerStaffGroup. 
4806         * scm/ps-to-png.scm (gulp-port): rename from read. Don't redefine
4807         system primitives.
4808         (gulp-port): using read-string!/partial. We don't want to read an
4809         entire PS file  (GUILE 1.6 limits strings to 16M) 
4811         * scm/define-grobs.scm (all-grob-descriptions): remove arch-*
4812         properties. Add font-interface. 
4814         * scm/define-grob-properties.scm (all-user-grob-properties):
4815         remove old bracket properties.
4817         * scm/x11-color.scm: reformat. 
4819         * lily/ledger-line-engraver.cc (acknowledge_grob): create new
4820         LedgerLineSpanner if new StaffSymbol is found. 
4822         * lily/staff-symbol-engraver.cc (acknowledge_grob): also set
4823         staff-symbol for finishing staff. 
4825         * lily/GNUmakefile (OUT_DIST_FILES): don't dist Flex output
4827         * scm/output-svg.scm (setcolor): implement (re)setcolor with <g>
4828         change black to currentColor everywhere. This fixes color support
4829         in SVG.
4831 2005-06-06  Carl Sorensen  <carldsorensen@comcast.net>
4833         * input/regression/fret-diagrams.ly: new file to test fret diagram
4834         capability
4836         * scm/output-tex.scm: remove white-dot and white-text
4838         * scm/output-ps.scm: remove white-dot and white-text
4840         * scm/fret-diagrams.scm (sans-serif-stencil-white): removed -- 
4841         using ly:stencil-in-color instead
4842         (draw-dots) : remove call to white-dot
4844 2005-06-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4846         * flower/memory-stream.cc (Memory_out_stream): remove fopencookie
4847         support.
4849         * ttftool/ttfps.c: use lily_cookie functions everywhere. 
4851         * flower/include/file-cookie.hh: new file. lily_cookie extension 
4853         * flower/file-cookie.cc: new file. lily_cookie extension.
4854         
4855 2005-06-06  Jan Nieuwenhuizen  <janneke@gnu.org>
4857         * scm/editor.scm (editor-command-template-alist): Add syn
4858         editor (Jaap [de Vos]).
4860 2005-06-05  Jan Nieuwenhuizen  <janneke@gnu.org>
4862         * scripts/lilypond-ps2png.scm:
4863         * scm/ps-to-png.scm: New file.
4865         * scm/backend-library.scm (postscript->png): Use it.
4867         * scripts/lilypond-ps-to-png.py: Remove file.
4869         * python/lilylib.py (get_bbox, make_ps_images): Remove.
4871 2005-06-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4873         * lily/auto-beam-engraver.cc (acknowledge_grob): remove dead code.
4875         * scm/auto-beam.scm (default-auto-beam-check): only forbid beam
4876         start on grace moment. Fixes autobeam-grace.ly.
4878         * lily/auto-beam-engraver.cc (process_acknowledged_grobs): don't
4879         process anything unless we're at the end of a pending beam. Fixes
4880         syncopated 8ths beamed across a beat.
4882 2005-06-03  Jan Nieuwenhuizen  <janneke@gnu.org>
4884         * scm/editor.scm (editor-command-template-alist): Start emacs if
4885         emacslient fails.
4887         * lily/main.cc (setup_localisation): Listen to LILYPOND_LOCALEDIR.
4889         * flower/file-path.cc (is_file, is_dir): Export.
4891         * lily/main.cc (prepend_env_path, set_env_file): Use them.
4893 2005-06-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4895         * lily/easy-notation.cc: Added include cctype to correct
4896         compilation error.
4898 2005-06-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4900         * scm/backend-library.scm (postscript->pdf): set resolution to
4901         1200, so bitmap fonts aren't that ugly. 
4903         * Documentation/topdocs/NEWS.tely (Top): add entry about font family.
4905         * lily/dynamic-engraver.cc (acknowledge_grob): only center on
4906         parent if we have a notehead. Fixes incorrect offsets when
4907         Paper_column is very wide in the X direction.
4909         * input/regression/font-family-override.ly (Module): new file.
4911         * scm/font.scm (make-pango-font-tree): new function.
4913         * lily/beam.cc (before_line_breaking): remove warning about less
4914         than 2 visible stems. We still get a warning when there is only
4915         one stem.
4917 2005-06-01  Werner Lemberg  <wl@gnu.org>
4919         * buildscripts/substitute-encoding.py: Handle PFAemmentaler-xx.pfa
4920         correctly.
4922 2005-06-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4924         * lily/slur-scoring.cc (generate_avoid_offsets): new
4925         function. Generate avoid offsets once per slur.
4927         * lily/slur.cc (add_extra_encompass): add dependency to
4928         extra-encompass object. This fixes bugs/c-phrasing-slur.ly
4930         * lily/stencil.cc (is_empty): check dim_ field for is_empty()
4931         too. Fixes inf error with added bass notes.
4933         * scripts/lilypond-book.py (do_options): --psfonts doesn't take
4934         argument anymore.
4936         * make/ly-vars.make (DVIPS_FLAGS): use .psfonts as extension.
4938         * input/tutorial/lbook-latex-test.tex: add line length test.
4940         * scripts/lilypond-book.py (set_default_options): new
4941         function. Call this before dissecting snippets, so linewidth
4942         settings reach the snippets.
4944 2005-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>
4946         * scm/lily.scm (PLATFORM, slashify): Remove double slashes.
4948 2005-06-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4950         * input/mutopia/R.Schumann/romanze-op28-2.ly (leftb): bugfix.
4952 2005-05-31  Jan Nieuwenhuizen  <janneke@gnu.org>
4954         * stepmake/aclocal.m4: More autopackage friendliness.
4956 2005-05-31  Graham Percival  <gperlist@shaw.ca>
4958         * Documentation/index.html.in: remove link to LSR.
4960         * Documentation/user/global.itely: remove duplicate
4961         "dedication" \header{} section.
4963 2005-05-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4965         * VERSION (PACKAGE_NAME): release 2.5.27.
4967         * lily/lily-parser-scheme.cc (LY_DEFINE): unprotect paper
4968         too. Plugs memory leak.
4970         * make/lilypond.fedora.spec.in (Group): remove
4971         lilypond-pdfpc-helper.
4973         * scripts/GNUmakefile (SEXECUTABLES): remove
4974         lilypond-pdfpc-helper. Use lilypond-invoke-editor instead.
4976         * scm/font.scm (make-century-schoolbook-tree): add Mono as
4977         'typewriter family.
4979         * lily/score.cc (Score): unprotect copy of Output_def. Plugs
4980         memory leak.
4982         * lily/parser.yy (score_body): don't clone Score, that's done in
4983         Lily_lexer::try_special_identifiers(). This fixes a memory leak.
4985         * lily/score-engraver.cc (derived_mark): new function.
4986         (initialize): unprotect Paper_score. This fixes a memory leak.
4988         * lily/score-performer.cc (derived_mark): new function.
4990         * lily/score-translator.cc (get_output): use SCM for get_output() call.
4992         * stepmake/aclocal.m4: put FlexLexer.h test in conftest.cc. Fixes
4993         spurious warning.
4995         * scm/font.scm (make-century-schoolbook-tree): use Sans for sans
4996         serif.
4998 2005-05-31  Jan Nieuwenhuizen  <janneke@gnu.org>
5000         * configure.in (reloc_b): Add --enable-relocation.
5002 2005-05-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5004         * lily/pfb.cc (LY_DEFINE): show file name when loading PFB. 
5006         * input/regression/alignment-order.ly: add Staff example.
5008 2005-05-31  John Mandereau   <john.mandereau@free.fr>
5010         * po/fr.po: update.
5012 2005-05-31  Graham Percival  <gperlist@shaw.ca>
5014         * Documentation/index.html.in: add link to LSR.
5016 2005-05-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5018         * scm/define-stencil-commands.scm (Module): new file. Register all
5019         allowed stencil expression heads in a central place.
5021         * lily/stencil-scheme.cc (LY_DEFINE): check is_stencil_head in
5022         ly:make-stencil
5024         * lily/stencil-expression.cc (all_stencil_heads): registering
5025         stencil expressions.
5027         * lily/stencil-interpret.cc: new file. Stencil expression
5028         interpreting.
5030         * input/xiao-haizi-guai-guai.ly: move file back.
5032 2005-05-30  Graham Percival  <gperlist@shaw.ca>
5034         * Documentation/user/advanced.itely, converters.itely,
5035         instrument-notation.itely, lilypond-book.itely: misc small
5036         changes.
5038 2005-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
5040         * lily/lexer.ll: Skip UTF-8 BOM at BOF.
5042         * make/lilypond.fedora.spec.in: Fix source url.
5044         * cygwin: Update from mingw patches.
5046         * scm/editor.scm (editor-command-template-alist): Use jedit
5047         -reuseview (Bertalan), add uedit (Patrick Huberts).
5049         * input/xiao-hai-zi-guai-guai.ly: Rename from
5050         xiao-haizi-guai-guai.ly.
5052         * input/*: Reindent, do not use TAB.
5054         * Documentation/pictures/ly.xpm: Bugfix: do not anti-alias against
5055         white background.
5057 2005-05-29  Jan Nieuwenhuizen  <janneke@gnu.org>
5059         * scm/framework-ps.scm (dump-stencil-as-EPS): Add silly fix for
5060         numerical overflow error.
5062 2005-05-29 Laura Conrad <lconrad@laymusic.org>
5063         
5064         * abc2ly.py: fix to syntax error in multi-part output.
5066 2005-05-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5068         * lily/span-bar.cc (print): sort bar line extents. Fixes problem
5069         with disappearing span bars when alignAboveContext is active
5071         * lily/property-iterator.cc (check_grob): use is-grob?
5072         object-property. Fixes crash-key-sig-font-size.ly. 
5074 2005-05-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5076         * lily/bar-line.cc (print): don't round barlines; this produces
5077         odd aliasing effects in Acroread.
5079         * lily/timing-engraver.cc (process_music): robustness fix.
5081         * lily/context-def.cc (filter_engravers): bugfix.
5083 2005-05-28  Jan Nieuwenhuizen  <janneke@gnu.org>
5085         * lily/lilypond.rc.in: Add ly-icon.
5087         * lily/GNUmakefile: 
5088         * Documentation/pictures/GNUmakefile (OUT_DIST_FILES): Add ly-icon
5089         rules.
5091 2005-05-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5093         * lily/stencil-scheme.cc (LY_DEFINE): ly:stencil-in-color
5095         * ps/music-drawing-routines.ps: 
5097         * scm/output-ps.scm: remove draw ez_ball.
5099         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
5100         EasyNotation context definition.
5102         * lily/easy-notation.cc (brew_ez_stencil): new file. Use
5103         Text_interface and color for making easy note heads.
5105         * lily/stencil.cc (with_color): new function.
5107         * ps/music-drawing-routines.ps: remove draw_zigzag_line
5109         * lily/line-spanner.cc (zigzag_stencil): rewrite to use draw-line
5110         output routine. Zigzag now works in SVG too.
5112         * scm/output-tex.scm (filledbox): idem.
5114         * scm/output-svg.scm (filledbox): idem.
5116         * scm/output-ps.scm (lily-def): remove horizontal-line. 
5118         * lily/lookup.cc (horizontal_line): use draw-line. 
5120         * lily/system-start-delimiter.cc: remove old staff bracket code.
5122         * mf/feta-haak.mf: further tweaks.
5124         * lily/system-start-delimiter.cc (staff_bracket): use glyphs.
5126         * mf/feta-generic.mf: include feta-haak.
5128         * mf/feta-haak.mf: rewrite. Make separate glyphs for the tips 
5130         * scm/framework-ps.scm (write-preamble): only load fonts if their
5131         filename is a string. 
5133 2005-05-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5135         * scm/output-svg.scm (circle): support circle.
5136         (bracket): stub for bracket.
5138         * scripts/lilypond-book.py (main): make sure --psfonts warning is
5139         correct.
5141 2005-05-26  Graham Percival  <gperlist@shaw.ca>
5143         * Documentation/user/lilypond.tely, advanced-notation.itely,
5144         basic-notation.itely, instrument-notation.itely, global.itely,
5145         introduction.itely, tutorial.itely: rearranging, editing,
5146         clean-up.
5148         * mf/GNUmakefile: change a "make -C" to "${MAKE} -C", required
5149         for compiling on FreeBSD.
5151 2005-05-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5153         * lily/pfb.cc (LY_DEFINE): progress indication for opening ttf and
5154         otf files.
5156         * input/mutopia/E.Satie/petite-ouverture-a-danser.ly (lower):
5157         bugfixes.
5159         * VERSION: 2.5.26 released.
5161         * scm/titling.scm (marked-up-headfoot): revert Pedro's patch. 
5163 2005-05-25  Pedro Kroger  <kroeger@pedrokroeger.net>
5165         * scm/titling.scm (marked-up-headfoot): doesn't print pagenumbers
5166         if printpagenumber is false.
5168 2005-05-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5170         * lily/font-config.cc (init_fontconfig): comment out FontConfig
5171         cache warning.
5173         * lily/tie.cc (print): support dotted ties.
5174         
5175 2005-05-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5177         * scm/define-grobs.scm (all-grob-descriptions): switch off
5178         debugging
5179         (all-grob-descriptions): Arpeggio has Y-extent.
5181         * scm/define-music-properties.scm (all-music-properties): document
5182         length-callback and start-callback as "read-only".
5184         * scm/music-functions.scm (unfold-repeats): rewrite. Cannot set
5185         length-callback after creation. 
5187         * scripts/convert-ly.py (conv): unfoldrepeats -> unfoldRepeats,
5188         compressmusic -> compressMusic.
5190         * ly/music-functions-init.ly (oldaddlyrics): idem.
5192         * lily/parser.yy: NewLyricCombineMusic ->
5193         LyricCombineMusic. LyricCombineMusic -> OldLyricCombineMusic.
5195 2005-05-24  Pedro Kroger  <kroeger@pedrokroeger.net>
5197         * ly/Welcome_to_LilyPond.ly: typo.
5199 2005-05-24  Graham Percival  <gperlist@shaw.ca>
5201         * Documentation/user/lilypond.tely: move changing-defaults to be
5202         before global issues.
5204         * Documentation/user/basic-notation.itely: move Transpose section
5205         here from advanced/Other.
5207         * Documentation/user/changing-defaults.itely,
5208         advanced-notation.itely: move Fonts to advanced, edit.
5210 2005-05-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5212         * lily/parser.yy (bare_int): remove rule.  From now on, we require
5213         # before negative integers.
5215 2005-05-23  Graham Percival  <gperlist@shaw.ca>
5217         * ly/property.ly: Update tieDotted to have the same form as slurDotted.
5219         * Documentation/user/lilypond.tely: change Unified index to
5220         LilyPond index.
5222         * Documentation/user/advanced-notation.itely,
5223         instrument-notation.itely: editing.
5225 2005-05-23  Jan Nieuwenhuizen  <janneke@gnu.org>
5227         * scm/lily.scm (lilypond-all): Bugfix: return failed.
5229         * lily/main.cc (setup_paths)[__MINGW32__]: Normalize LILYPONDPREFIX.
5231 2005-05-21  Jan Nieuwenhuizen  <janneke@gnu.org>
5233         * lily/general-scheme.cc (ly:stderr-redirect): Rename from
5234         ly:port-move.  Needs to be stderr-specific on mingw.
5235         Run fixcc.
5237 2005-05-20  Jan Nieuwenhuizen  <janneke@gnu.org>
5239         * lily/general-scheme.cc (ly:port-move): Remove.
5241         * scm/backend-library.scm (postscript->pdf): Remove -dSAFER in
5242         windows.
5244         * lily/main.cc (setup_paths) [ARGV0_RELOCATION]: Reinstate GS_*
5245         variables.  This eliminates the need for a gs.bat wrapper, which
5246         opens a console.
5248         * scripts/lilypond-invoke-editor.scm (running-from-gui?): 
5249         * scm/lily.scm (running-from-gui?): 
5250         * lily/main.cc[MINGW]: Remove isatty inversion, this is an
5251         artifact of not compiling with -mwindows.
5253         * scm/editor.scm: Define PLATFORM.
5255 2005-05-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5257         * scripts/lilypond-book.py (PREAMBLE_LY): add marker, where people
5258         can start to cut & paste lilypond-book fragments.  
5260         * scm/define-music-types.scm (music-descriptions): remove
5261         UntransposableMusic
5263 2005-05-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5265         * scm/output-ps.scm (glyph-string): remove / before CIDs.
5267 2005-05-20  Graham Percival  <gperlist@shaw.ca>
5269         * Documentation/user/instrument-notation.itely: remove *Engraver.
5271         * Documentation/user/advanced-notation.itely: edit, rearrange.
5273 2005-05-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5275         * scm/output-ps.scm (glyph-string): take cid? argument. Use
5276         findresource iso. findfont for CID CFF fonts.
5278         * VERSION (PACKAGE_NAME): release 2.5.25
5280         * ly/Welcome_to_LilyPond.ly: add  \version
5282 2005-05-20  Graham Percival  <gperlist@shaw.ca>
5284         * Documentation/user/programming-interface.itely: move
5285         \displayMusic into its own section.
5287         * Documentation/user/basic-notation.itely: finish editing.
5289 2005-05-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5291         * flower/file-path.cc (find): don't throw away file_name.dir, but
5292         append to it. Fixes \include with directories.
5294         * flower/include/file-path.hh (class File_path): don't derive from
5295         Array<String>.
5297         * flower/include/file-name.hh (class File_name): remove to_str0()
5299         * lily/hara-kiri-engraver.cc (acknowledge_grob): split
5300         Hara_kiri_engraver in separate file.
5302         * lily/slur-configuration.cc (score_encompass): oops, <? to min()
5303         translation went wrong. Fixes vertically translated slurs.
5305 2005-05-19  Graham Percival  <gperlist@shaw.ca>
5307         * Documentation/user/basic-notaton.itely: editing.
5309 2005-05-18  Graham Percival  <gperlist@shaw.ca>
5311         * Documentation/user/macros.itexi, basic-notation.itely:
5312         add @commonprop (commonly used properties) macro.
5314 2005-05-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5316         * ly/Welcome_to_LilyPond.ly: talk about icon, not program.
5318         * scripts/lilypond-book.py (invokes_lilypond): new function
5319         (main): only run fontextract if invokes_lilypond() is true.
5321         * lily/function-documentation.cc (ly_add_function_documentation):
5322         duh, use !=
5324         * Documentation/topdocs/INSTALL.texi (Top): add MacOS command.
5326         * stepmake/aclocal.m4: remove kpathsea warning, change to OPTIONAL.
5328         * scm/lily.scm (running-from-gui?): lowercase Darwin.
5330         * lily/function-documentation.cc (ly_add_function_documentation):
5331         use scm_hash_table_p() for checking.
5333 2005-05-18  Jan Nieuwenhuizen  <janneke@gnu.org>
5335         * Documentation/user/advanced-notation.itely (Text scripts):
5336         Change nonexisting @internalsref{Text markup} to @ref{Text
5337         markup}.  Change @internalsref{Text script} to
5338         @internalsref{TextScript}.
5340         * lily/main.cc (setup_paths): Bugfix: pangorc is not pango.modules.
5342 2005-05-17  Graham Percival  <gperlist@shaw.ca>
5344         * Documentation/user/tutorial.itely, basic-notation.itely,
5345         changing-defaults.itely: remove duplicate cindex entries
5346         that appear on the same page.
5348         * scm/define-grobs.scm: change default padding for TextSpanner.
5350         * Documentation/topdocs/AUTHORS.texi: update email address.
5352         * Documentation/user/global.itely: add info about \include.
5354 2005-05-17  Jan Nieuwenhuizen  <janneke@gnu.org>
5356         * scm/backend-library.scm (postscript->pdf): Remove (useless) .ps
5357         when running-from-gui.
5359         * scm/editor.scm (get-editor): Add platform defaults.
5361         * scm/backend-library.scm (postscript->pdf): Typo.
5363 2005-05-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5365         * scm/lily.scm (running-from-gui?): Darwin never runs from GUI.
5367         * lily/font-config.cc (init_fontconfig): add warning about cache.
5369 2005-05-16  Jan Nieuwenhuizen  <janneke@gnu.org>
5371         * lily/main.cc (setup_paths)[ARGV0_RELOCATION]: Remove GS_*.
5373 2005-05-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5375         * lily/horizontal-bracket.cc (print): Take care of the direction
5376         property so brackets above the stave point downwards. 
5378         * scm/define-grobs.scm (all-grob-descriptions): Set staff-padding
5379         for HorizontalBracket so it doesn't end up within the stave.
5381 2005-05-16  Jan Nieuwenhuizen  <janneke@gnu.org>
5383         * lily/GNUmakefile (default): Typo.
5385         * scm/lily.scm (PLATFORM): Export.
5387         * scm/framework-ps.scm (write-preamble)[MINGW]: Use
5388         load-font-via-GS, ttftool or fopencookie is broken on windows.
5389         
5390         * scm/backend-library.scm (postscript->pdf)[MINGW]: Do not use
5391         -dSAFER, that is broken on windows.
5393 2005-05-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5395         * lily/GNUmakefile ($(outdir)/FlexLexer.h): conditional dependency
5396         for FlexLexer.h
5398         * scripts/lilypond-invoke-editor.scm: remove stray -
5400 2005-05-15  Jan Nieuwenhuizen  <janneke@gnu.org>
5402         * lily/lily-guile.cc (ly_scm2newstr): Use scm_i_string_length.
5403         Fixes deprecation warning.
5405         * flower/include/string.icc (to_string): Only inline if
5406         -DSTRING_UTILS_INLINED.
5408         * lily/pango-font.cc (pango_item_string_stencil): Normalize file
5409         name.  Remove windows comment.
5411         * scm/editor.scm (slashify): New function.
5412         (get-editor-command): Use it.
5413         (get-command-template): Do not alter editor command if
5414         environment value includes `%(file)s' magic.
5416         * scripts/lilypond-invoke-editor.scm (unquote-uri): New function.
5417         (dissect-uri): Use it.
5418         (unquote-uri): Bugfix.
5420 2005-05-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5422         * scm/framework-ps.scm (write-preamble): add TTF rule.
5424         * Documentation/topdocs/README.texi (Top): remove note about
5425         xdelta.
5427         * Documentation/topdocs/INSTALL.texi (Top): remove Flex
5428         requirement.
5430         * stepmake/aclocal.m4: STEPMAKE_FLEXLEXER_LOCATION: new
5431         function. Figure out where FlexLexer.h lives
5433         * lily/GNUmakefile (OUT_DIST_FILES): dist lexer.cc and FlexLexer.h
5434         
5435 2005-05-14  Jan Nieuwenhuizen  <janneke@gnu.org>
5437         * scripts/lilypond-invoke-editor.scm (dissect-uri): Handle URIs
5438         with Windows root in file name.
5440         * scm/backend-library.scm (ly:system): Only redirect output (using
5441         system and shell, ugh) if /dev/null is writable.
5443         * Documentation/pictures/GNUmakefile [PLATFORM_WINDOWS]: Build
5444         windows icon.
5446         * scm/lily.scm (is-absolute?): New function.  Fixes absolute files
5447         on Mingw.
5449         * scm/output-ps.scm (grob-cause): Use it.  Fixes PDF point and
5450         click.
5452         * flower/file-path.cc (is_dir, is_file): New function.  Actually
5453         use result of stat when available.
5455         * flower/file-path.cc (find): Use it.  Refactor.  Fixes Mingw,
5456         absolute file name and root.
5458         * scm/lily.scm (PLATFORM): On mingw, slashify getcwd.
5460         * scm/editor.scm (get-editor-command): Typo: do not apply editor.
5462         * flower/file-name.cc (slashify): Bugfix, do substitute if no
5463         slashes in file name.
5465 2005-05-13  Jan Nieuwenhuizen  <janneke@gnu.org>
5467         * Documentation/user/preface.itely (Preface): Run
5468         texinfo-all-menus-update.
5470         * scm/editor.scm (get-editor-command): Bugfix: allow full
5471         LYEDITOR setting, partial XEDITOR setting.  With typo fix.
5473         * Documentation/pictures/lilypond-48.xpm: New file.
5475         * flower/file-path.cc (to_string): Bugfix: use PATHSEP.
5477         * ly/Welcome_to_LilyPond.ly: New file.
5479         * lily/main.cc (main): Only identify if we have a terminal.
5481         * scm/backend-library.scm (postscript->png)
5482         (postscript->pdf): Fix file name quoting for GS/MINGW (ie,
5483         non-/bin/sh).
5485 2005-05-13  Heikki Junes  <hjunes@cc.hut.fi>
5487         * Documentation/topdocs/AUTHORS.texi: polish, update.
5489 2005-05-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5491         * Documentation/user/preface.itely (Notes for version 2.6): new
5492         notes for 2.6
5494         * lily/dynamic-engraver.cc (stop_translation_timestep): first set
5495         finished_span_, then call typeset_all(). Fixes spurious "Hairpin
5496         is not fully contained" warnings.
5498         * lily/slur-scoring.cc (get_bound_info): remove warning.
5500         * lily/staff-symbol-engraver.cc (process_music): start initial
5501         spanner in process_music(). This fixes overrides of StaffSymbol
5502         properties.
5504         * scm/framework-pdf.scm (Module): remove.
5506         * Documentation/topdocs/AUTHORS.texi (AUTHORS): clean up, update.
5508         * lily/ambitus-engraver.cc: formatting cleanups.
5510         * mf/feta-solfa.mf (Module): remove.
5512         * ChangeLog: more details about contributions.
5514 2005-05-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5516         * lily/align-interface.cc (align_elements_to_extents): warn if
5517         called too early. Fixes: disappearing-staff-lines.ly
5519         * VERSION (PACKAGE_NAME): release 2.5.24
5521 2005-05-12  Jan Nieuwenhuizen  <janneke@gnu.org>
5523         * stepmake/aclocal.m4: Typo.
5525         * flower/string.cc (substitute): Take two strings or two
5526         characters.  Update callers.
5528 2005-05-11  Jan Nieuwenhuizen  <janneke@gnu.org>
5530         * flower/file-name.cc (File_name): Slashify.
5532         * scm/lily.scm: Use gui-main iso lilypond-main on MINGW.
5534         * scripts/GNUmakefile (SEXECUTABLES): Add lilypond-invoke-editor.
5536         * stepmake/aclocal.m4 (STEPMAKE_WINDOWS): New function.
5538         * configure.in (gui_b): Use it.
5540         * lily/lilypond.rc.in: New file.
5542         * lily/GNUmakefile[PLATFROM_WINDOWS]: Compile it into executable.
5544 2005-05-12  Graham Percival  <gperlist@shaw.ca>
5546         * Documentation/user/advanced-notation.itely: edit of Text
5547         section; clarify text scripts vs. text markup.
5549 2005-05-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5551         * lily/multi-measure-rest-engraver.cc
5552         (Multi_measure_rest_engraver): init bar_seen_ to true. Notice
5553         separation items on start. Fixes mm rests in start of score.
5555         * lily/slur-scoring.cc (move_away_from_staffline): robustness,
5556         don't access StaffSymbol if not there.
5557         Fixes: crash-staff-symbol-engraver.ly.
5559         * lily/instrument-name-engraver.cc (class
5560         Instrument_name_engraver): data member first_. Create
5561         InstrumentName on start. 
5563 2005-05-12  Graham Percival  <gperlist@shaw.ca>
5565         * Documentation/user/instrument-notation.itely: add guitar
5566         position.
5568         * Documentation/user/introduction.itely,
5569         Documentation/user/lilypond.tely,
5570         Documentation/user/tutorial.itely: begin pruning
5571         unused (duplicated) cindex entries and misc cleanup.
5573 2005-05-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5575         * input/test/volta-chord-names.ly: Bring the explanation up to
5576         date.
5578 2005-05-11  Heikki Junes  <hjunes@cc.hut.fi>
5580         * Documentation/topdocs/{AUTHORS.texi,INSTALL.texi,README.texi}:
5581         Specify `@documentencoding utf-8' for html, ignore warnings.
5583 2005-05-11  Erik Sandberg  <ersa9195@student.uu.se>
5585         * THANKS: Added bughunters.
5587 2005-05-11  Heikki Junes  <hjunes@cc.hut.fi>
5589         * lily/main.cc: update help string for `lilypond -H'.
5591         * po/fi.po: update.
5592         
5593 2005-05-10  Graham Percival  <gperlist@shaw.ca>
5595         * Documentation/user/advanced-notation.itely: minor fixes.
5597 2005-05-10  Jan Nieuwenhuizen  <janneke@gnu.org>
5599         * scm/editor.scm: New module.
5601         * scm/lily.scm (gui-main): Use it.
5603         * scm/framework-gnome.scm (spawn-editor): Use it.
5605         * scripts/lilypond-invoke-editor.scm: Use it in new script.
5607 2005-05-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5609         * scm/framework-ps.scm (load-font-via-GS):  new function.
5611         * lily/pango-font.cc (pango_item_string_stencil): add support for
5612         CID keyed font.
5614         * scm/output-ps.scm (glyph-string): add support for CID keyed font.
5616 2005-05-10  Graham Percival  <gperlist@shaw.ca>
5618         * Documentation/user/basic-notation.itely: add @ref.
5620         * Documentation/user/advanced-notation.itely: add example
5621         of 5/8 beaming.
5623 2005-05-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5625         * scripts/lilypond-pdfpc-helper.py (ly_pc_editor): robustness fixes.
5627         * scm/backend-library.scm (postscript->pdf): Invoke gs instead of
5628         going through ps2pdf wrappers.
5630 2005-05-09  Jürgen Reuter  <reuter@ipd.uka.de>
5632         * Documentation/user/instrument-notation.itely: petrucci note
5633         heads: updated docu
5635         * input/regression/note-head-style.ly: updated regression test;
5636         indentation fixes
5638         * ly/engraver-init.ly: MensuralVoiceContext: use petrucci note
5639         heads as default
5641         * mf/parmesan-heads.mf: minor editing; use musicological names
5642         (rather than optical description) as note head names
5644         * scm/output-lib.scm: complete petrucci heads
5646 2005-05-09  Pal Benko  <benkop@freestart.hu>
5648         * mf/parmesan-heads.mf: add petrucci heads (like neo-mensural
5649         heads, but bigger)
5651 2005-05-09  Jan Nieuwenhuizen  <janneke@gnu.org>
5653         * lily/main.cc (main_with_guile): Remove no files check.
5655         * lily/main.cc (ly:usage): Export to Scheme.
5657         * scm/lily.scm (no-files-handler): New function.
5659         * scm/lily.scm (lilypond-main): Use it.
5661         * configure.in (gui_b): Add mbrtowc checking.
5662         Resurrect [utf8/]wchar.h checking.
5664 2005-05-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5666         * Documentation/user/advanced-notation.itely (Metronome marks):
5667         Add link to the program reference for MetronomeMark
5669         * Documentation/user/lilypond-book.itely (An example of a
5670         musicological document): Correct the example using psfonts 
5672 2005-05-09  Heikki Junes  <hjunes@cc.hut.fi>
5674         * po/fi.po: update after a lesson how to update entries against
5675         source.
5676         
5677         * po/TODO: document the lesson.
5679 2005-05-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5681         * configure.in (gui_b): remove wcrtomb checking.
5683         * lily/general-scheme.cc (LY_DEFINE): hand-convert utf8 to 32
5684         bits. Patch by Matthias Neeracher. <neeracher@mac.com>
5686 2005-05-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5688         * scripts/convert-ly.py: In the conversion to version 1.9.0, 
5689         keep Scheme expressions and strings unmodified when doing the
5690         conversion to postfix notation for slurs and beams. Should
5691         hopefully solve most related conversion problems. 
5693         * Documentation/user/lilypond-book.itely : Clarify and correct how
5694         to call dvips with -h psfonts.
5696 2005-05-09  Jan Nieuwenhuizen  <janneke@gnu.org>
5698         * Documentation/user/instrument-notation.itely (Entering lyrics):
5699         Typo.  Fixes build.
5701 2005-05-09  Graham Percival  <gperlist@shaw.ca>
5703         * Documentation/user/lilypond-book.itely: document PSFONTS file.
5705         * Documentation/user/lilypond.tely, lilypond-book.itely,
5706         tutorial.itely: change references to 2.5.x to 2.6.x.
5708         * Documentation/user/instrument-notation.itely: clarified \addlyrics
5709         vs \lyricmode.
5711         * Documentation/user/invoking.itely: remove old info about
5712         lilypond-profile.
5714         * Documentation/topdocs/INSTALL.texi: remove old info about
5715         lilypond-profile, add warning about needing international fonts
5716         to build docs.
5718 2005-05-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5720         * lily/include/grob-info.hh (class Grob_info): make data member
5721         private. Changes throughout.
5723         * input/regression/alignment-order.ly: new file. 
5725         * lily/vertical-align-engraver.cc (acknowledge_grob): read
5726         alignAboveContext and alignBelowContext
5728 2005-05-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5730         * lily/pfb.cc (LY_DEFINE): add cast.
5732         * scm/framework-ps.scm (write-preamble): embed CFFs if file name
5733         matches .otf
5734         (write-preamble): warn about unknown fonts.
5736         * lily/pfb.cc (Module): new function ly:otf->cff
5738         * lily/open-type-font.cc (get_otf_table): use ::get_otf_table
5739         (get_otf_table): new function.
5741 2005-05-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5743         * scm/backend-library.scm (postscript->png): call lilypond-ps2png
5744         iso. ps2png.
5746 2005-05-06  Heikki Junes  <hjunes@cc.hut.fi>
5748         * po/fi.po: apply second round of update.
5750 2005-05-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5752         * scm/x11-color.scm (make-x11-color-handler): don't use
5753         #\sp. Apparently doesn't work on all platforms. 
5755 2005-05-06  Graham Percival  <gperlist@shaw.ca>
5757         * Documentation/user/advanced-notation.itely, putting.itely,
5758         tutorial.itely, global.itely, introduction.itely: really minor fixes.
5760 2005-05-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5762         * VERSION (PACKAGE_NAME): release 2.5.23
5764 2005-05-06  Jan Nieuwenhuizen  <janneke@gnu.org>
5766         * Documentation/topdocs/AUTHORS.texi: Remove texinfo @accents,
5767         convert to utf-8.
5769         * THANKS: Add translators for this release, convert to utf-8.
5771         * mf/GNUmakefile (MFTRACE_FLAGS):
5772         * buildscripts/substitute-encoding.py (outdir): Build fix: pass
5773         outdir as option (WAS: hardcoded).
5775 2005-05-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5777         * lily/staff-symbol-engraver.cc (Staff_symbol_engraver): init
5778         finished_span_
5780         * THANKS: add Hans Forbrich.
5782         * Documentation/topdocs/NEWS.tely (Top): document new feature.
5784         * Documentation/user/basic-notation.itely (Staff symbol): document
5785         start/stop staff. Reference to ossia.ly
5787         * input/test/ossia.ly: new example using stop and startStaff.
5789         * lily/timing-engraver.cc: remove Timing_engraver::initialize(),
5790         in other words, don't create "|" barline at start of the score.
5791         (start_translation_timestep): don't set whichBar for start of score.
5793         * input/regression/staff-halfway.ly: use new functionality.
5795         * lily/staff-symbol-engraver.cc (try_music): take StaffSpanEvents,
5796         start and stop staff based on events.
5798         * scm/define-music-types.scm (music-descriptions): add StaffSpanEvent
5800         * ly/declarations-init.ly (startStaff, stopStaff): new identifiers.
5802 2005-05-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5804         * Documentation/user/programming-interface.itely (How markups work
5805         internally ): remove \encoding reference.
5807 2005-05-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5809         * scripts/convert-ly.py: Attempt to do a smarter update of 
5810         text markups from versions < 1.9.0 with arbitrary nesting.
5812 2005-05-04  Heikki Junes  <hjunes@cc.hut.fi>
5814         * po/fi.po: convert to utf-8, and update.
5816 2005-05-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5818         * make/lilypond.suse.spec.in: update from suse 2.4 package.
5820         * lily/*.cc: more <? >? to min/max changes
5822         * lily/include/interpretation-context-handle.hh: rename
5823         Interpretation_context_handle to Context_handle.
5825 2005-05-04  Heikki Junes  <hjunes@cc.hut.fi>
5827         * input/regression/GNUmakefile (local_delete): use `find` together 
5828         with `xargs` to avoid too long argument-lists in cmd line.
5830 2005-05-04  Graham Percival  <gperlist@shaw.ca>
5832         * Documentation/user/introduction.itely: updates "About this manual".
5834         * Documentation/user/advanced-notation.itely,
5835         invoking.itely: minor fixes.
5837 2005-05-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5839         * COPYING: add font exception. Update FSF address. 
5841         * lily/context-def.cc (path_to_acceptable_context): bugfix, depth
5842         should be taken without child context.
5844         * ly/chord-modifiers-init.ly (blackTriangleMarkup): use it.
5846         * scm/define-markup-commands.scm (triangle): new command, as
5847         robust replacement for unicode Delta/Triangle.
5849 2005-05-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5851         * ps/music-drawing-routines.ps: add fillp argument.
5853         * lily/lookup.cc (round_filled_polygon): polygon takes filled? argument
5855         * lily/font-config.cc (init_fontconfig): don't add cff/
5857         * VERSION (PACKAGE_NAME): release 2.5.22
5859         * mf/GNUmakefile: remove cff/cff.ps/.map install rules.
5861         * lily/grace-engraver.cc (consider_change_grace_settings): use
5862         is_alias(). Fixes problem with CueVoice grace notes. 
5864         * lily/simultaneous-music-iterator.cc (construct_children): call
5865         Music_iterator::quit() for iterators that start out invalid. This
5866         fixes indefinitely continuing contexts.
5868         * buildscripts/substitute-encoding.py: new file
5870         * Documentation/user/basic-notation.itely (Basic polyphony): fix
5871         missing @end 
5873         * scripts/lilypond-book.py (write_if_updated): print file name.
5875         * Documentation/user/basic-notation.itely (Explicitly
5876         instantiating voices): idem.
5878         * Documentation/user/advanced-notation.itely (Text spanners):
5879         remove stray { } 
5881         * lily/context.cc (default_child_context_name): the default child
5882         is now first in accepts_list_.
5884         * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
5885         \defaultchild to all relevant contexts.  This fixes:
5886         drums-pitch.ly.
5888         (Probably also fixes similar problems with ancient
5889         transcriptions getting CueVoices instead of the desired voices.)
5891         * lily/context-def.cc (get_default_child): new function.
5892         (get_accepted): place default child in front of list.
5894         * lily/parser.yy (FIXME): add DEFAULTCHILD token.
5896         * lily/include/context-def.hh (struct Context_def): add
5897         default_accept_
5899 2005-05-03  Graham Percival  <gperlist@shaw.ca>
5901         * scm/define-grobs.scm: remove "remove-first" line, since
5902         the absent property is set to #f anyway.
5904         * Documentation/user/basic-notation.itely,
5905         advanced-notation.itely, instrument-notation.itely: minor
5906         fixes.
5908         * ly/property-init.ly: add textSpanner{Up,Down,Neutral}.
5910         * Documentation/user/advanced-notation.itely,
5911         changing-defaults.itely: consolidate Text stuff in
5912         advanced notation.
5914         * Documentation/user/global.itely: better docs for \header.
5916         * Documentation/user/putting.itely: new chapter; placeholder
5917         for future expansion.
5919         * Documentation/user/examples.itely: moved "suggestions for
5920         writing LP files" section into putting.itely.
5922         * Documentation/user/lilypond.itely: added new chapter,
5923         fixed the short table of contents.
5925 2005-05-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5927         * lily/beam-quanting.cc (quanting): robustness fix, don't produce
5928         infinity for unfeasible beams.
5930         * make/lilypond.fedora.spec.in (Group): idem.
5932         * scripts/GNUmakefile (SEXECUTABLES): rename ps2png to lilypond-ps2png
5934         * mf/GNUmakefile (ALL_GEN_FILES): remove .map
5936         * scm/framework-ps.scm (write-preamble): extract CFF from OTF
5937         fonts directly.
5939         * buildscripts/gen-emmentaler-scripts.py (i): idem.
5941         * mf/GNUmakefile: remove all CFF rules.
5943         * scm/framework-ps.scm (ps-embed-cff): reinstate.
5945         * lily/open-type-font-scheme.cc (LY_DEFINE):
5946         new function ly:otf-font-table-data.
5947         (LY_DEFINE): new function otf-font?
5949 2005-05-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5951         * mf/GNUmakefile ($(outdir)/lilypond.map): remove rule.
5952         ($(outdir)/Fontmap.lily): idem.
5954         * buildscripts/gen-emmentaler-scripts.py (i): load fetaXX encoding
5955         for PFAEmmentaler-XXX.pfa. 
5957         * Documentation/user/music-glossary.tely (accidental): NL
5958         translation of accidental.
5960 2005-05-02  Jan Nieuwenhuizen  <janneke@gnu.org>
5962         * flower/include/international.hh: Bugfix: include "string.hh".
5964         * lily/include/mingw-compatibility.hh: New file.
5966         * flower/include/libc-extension.hh (memrev): Rename from strrev.
5968         * configure.in: Search for mingw wcrtomb library.
5970 2005-05-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5972         * scripts/convert-ly.py: Bug fix
5974         * Documentation/user/changing-defaults.itely (Common tweaks):
5975         Added example where the context has to be specified explicitly
5976         (MetronomeMark). 
5978 2005-05-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5980         * scripts/lilypond-book.py (ly_options): set timing to #f for
5981         notime option.
5983         * scripts/convert-ly.py (conv): typo.
5985         * flower/*.cc: remove <? and >?
5986         
5987         * lily/*.cc: remove <? and >?
5989         * lily/tweak-registration.cc (insert_tweak_from_file): Make sure
5990         that 0x0 isn't passed into scm_cons(). Fixes crash with tweak
5991         editor.
5993 2005-04-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5995         * lily/part-combine-engraver.cc: add space to variable list.
5997 2005-04-30  Graham Percival  <gperlist@shaw.ca>
5999         * scm/define-grobs.scm: changed RemoveEmptyVerticalGroup's
6000         remove-first to false (matches docs)
6002         * Documentation/user/advanced-notation.itely: corrected docs
6003         concerning remove-first.
6005 2005-04-29  Mats Bengtsson  <mabe@drongo.s3.kth.se>
6007         * lily/part-combine-engraver.cc: make sure that the relevant
6008         properties are included in the documentation.
6010 2005-04-28  Graham Percival  <gperlist@shaw.ca>
6012         * Documentation/user/lilypond-book.itely: Bernard's docs
6013         for \betweenLilyPondSystem.
6015 2005-04-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6017         * Documentation/topdocs/INSTALL.texi (Top): remove TeX outdated
6018         remarks.
6020 2005-04-28  Pal Benko  <benkop@freestart.hu>
6022         * lily/mensural-ligature.cc (brew_flexa): apply thickness property
6023         only on vertical lines of flexa shape, and use a constant
6024         thickness value for horizontal lines (patch slightly modified by
6025         Jürgen Reuter)
6027         * lily/include/mensural-ligature.hh: make 2 comments clearer
6029 2005-04-28  Jürgen Reuter  <reuter@ipd.uka.de>
6031         * lily/vaticana-ligature-engraver.cc (need_extra_space): renamed
6032         to need_extra_horizontal_space; bugfix: use class scope to avoid
6033         global namespace pollution
6035         * Documentation/user/instrument-notation.itely (ligatures): added
6036         comment on possible future syntax change and how to work around
6038         * lily/vaticana-ligature-engraver.cc, mf/parmesan-heads.mf
6039         (epiphonus, cephalicus): fine-tune shape of plica head for narrow
6040         intervals (fixes agnus dei example)
6042         * Documentation/user/instrument-notation.itely (white mensural
6043         ligatures): selected a more illustrative example
6045 2005-04-28  Heikki Junes <hjunes@cc.hut.fi>
6047         * Documentation/index.html.in: specify utf-8 charset in meta content.
6049 2005-04-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6051         * python/lilylib.py (make_ps_images): bugfixes; GS can produce
6052         empty 2nd page for single page.
6054         * scm/lily.scm: remove p&c definitions.
6056         * po/zh_TW.po (Module): new translation.
6058         * lily/lily-guile.cc (ly_chain_assoc): remove.
6060         * lily/general-scheme.cc (LY_DEFINE): export ly:chain_assoc_get
6061         (LY_DEFINE): recurse, iso. calling ly_chain_assoc.
6063 2005-04-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6065         * lily/beaming-info.cc: remove infinity_i
6067         * scripts/abc2ly.py (out_filename): fix thinko with \version.
6069 2005-04-26  Graham Percival  <gperlist@shaw.ca>
6071         * Documentation/user/basic-notation.itely,
6072         instrument-notation.itely, advanced-notation.itely,
6073         changing-defaults.itely: minor fixes.  Added docs
6074         for colors to advanced-notation.itely.
6076         * Documentation/user/advanced-notation.itely: fixed compile
6077         problem and added Bernard's x11-color doc patch.
6079 2005-04-25  Jan Nieuwenhuizen  <janneke@gnu.org>
6081         * scm/output-ps.scm (grob-cause): Yet another fix, hope it's
6082         alright this time round.
6084 2005-04-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6086         * Documentation/topdocs/INSTALL.texi (Top): idem.
6088         * Documentation/topdocs/README.texi (Top): remove clean-fonts refs.
6090         * VERSION (MAJOR_VERSION): release 2.5.21
6092         * scm/output-ps.scm (grob-cause): bugfix.
6094 2005-04-25  Jan Nieuwenhuizen  <janneke@gnu.org>
6096         * cygwin/*: Update.
6098         * cygwin/GNUmakefile (INSTALLATION_OUT_SUFFIXES): Remove profile
6099         stuff.
6101         * scm/output-ps.scm (grob-cause): Bugfix.
6103         * scm/lily.scm (ly:load): Remove x11-color.
6105         * stepmake/aclocal.m4 (STEPMAKE_GET_EXECUTABLE): Bugfix: do not
6106         quote executable, fixes getting version from program --with
6107         --options.
6108         (STEPMAKE_KPATHSEA): Bugfix for Cygwin cross building: use
6109         $ac_exeect.
6111         * Documentation/user/GNUmakefile: Only build music-glossary with
6112         rendered lilypond snippets during web.
6114 2005-04-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6116         * po/de.po: update.
6118         * lily/GNUmakefile (OUT_DIST_FILES): don't dist lexer.cc
6120 2005-04-22  Laura Conrad <lconrad@laymusic.org>
6122         * scripts/abc2ly:
6123         second title line append with punctuation dash character;
6124         encode abc2ly python strings in utf-8
6125        
6126 2005-04-21  Laura Conrad <lconrad@laymusic.org>
6128         * scripts/abc2ly fix chords (again)
6130 2005-04-22  Bernard Hurley  <bernard@fong-hurley.org.uk>
6132         * scm/x11-color.scm: new file
6133         All x11 color names can be accessed with:
6134         #(x11-color 'ColorName),
6135         #(x11-color "ColorName") or:
6136         #(x11-color "color name")
6137         If the x11 color name is not recognised then it defaults
6138         to black
6140         * scm/lily.scm: amended to call scm/x11-color.scm
6142 2005-04-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6144         * Documentation/user/invoking.itely (Reporting bugs): comment out
6145         reference to online PNG bug repository.
6147 2005-04-21  Jan Nieuwenhuizen  <janneke@gnu.org>
6149         * lily/translator-scheme.cc (ly:translator-property): Remove.
6150         Update callers.
6152         * lily/context-scheme.cc (ly:context-now): Move from translator.
6153         Update callers.
6155 2005-04-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6157         * input/regression/grid-lines.ly (skips): refine example.
6159         * scm/define-context-properties.scm
6160         (all-user-translation-properties): doc autoBeamCheck
6162         * input/regression/grid-lines.ly (Module): new file.
6164         * lily/grid-point-engraver.cc (Module): new file.
6166         * lily/grid-line.cc (Module): new file.
6168         * lily/grid-line-span-engraver.cc (Module): new file.
6170         * lily/grid-line-interface.cc (Module): new file.
6172 2005-04-21  Jan Nieuwenhuizen  <janneke@gnu.org>
6174         * scm/auto-beam.scm (revert-property-setting): Bugfixes: add
6175         missing parameter, actualy cdr through list.  Actually return a
6176         list with ENTRY removed (was '()).
6178         * scripts/convert-ly.py: Update.  Print warning if file cannot be
6179         opened.
6180         (do_conversion): Fix printing of continuation comma.
6182         * Documentation/user/advanced-notation.itely (Beam formatting):
6183         Remove refbugs about compound time and mixed duration.
6185         * scm/auto-beam.scm (default-auto-beam-settings): Write out all
6186         modulo moments explicitely.
6188         * lily/moment.cc (operator %): New function.
6190         * lily/moment-scheme.cc (ly:mod-moment): Wrap it.
6192         * lily/translator-scheme.cc (ly:translator-now,
6193         ly:translator-property): New function.
6195         * scm/auto-beam.scm (default-auto-beam-check): New function.
6197         * lily/auto-beam-engraver.cc (test_moment): Use it.
6199         * flower/rational.cc (operator %): Bugfix.
6201 2005-04-21  Erik Sandberg  <ersa9195@student.uu.se>
6203         * scripts/abc2ly: Bugfix
6205 2005-04-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6207         * python/fontextract.py (write_extracted_fonts): bugfix, too many
6208         %'s on EndFont comment.
6210         * lily/ledger-line-spanner.cc: some more words of explanation.
6212 2005-04-20  John Williams <williams@tni.com>  
6213         
6214         * scripts/lilypond-book.py: htmlquote bugfix.
6215         Allow snippets to be given distinct filenames.
6216         Allow the default alt text to be overridden.
6218 2005-04-20  Erik Sandberg  <ersa9195@student.uu.se>
6220         * ly/performer-init.ly: Bugfix
6222         * THANKS: Added bughunters.
6224 2005-04-20  Jan Nieuwenhuizen  <janneke@gnu.org>
6226         * SConstruct (test_lib): Bump mftrace requirement to 1.1.9.
6228         * lily/auto-beam-engraver.cc (test_moment): Test exact measure
6229         position (was: use modulo measure length).
6231         * configure.in (no gui_b): Remove optional gtk+ requirement.
6233 2005-04-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6235         * Documentation/user/basic-notation.itely (Pitches): add
6236         LedgerLineSpanner.
6238         * lily/dynamic-engraver.cc (process_music): set right bound to
6239         script if present. Else, do not set.
6240         (acknowledge_grob): only set right bound of finished spanner to
6241         note column if no other bound is set.
6243         * python/lilylib.py (make_ps_images): switch back to png16m.
6244         
6245 2005-04-19  Jan Nieuwenhuizen  <janneke@gnu.org>
6247         * scripts/lilypond-book.py (write_if_updated): Bugfix for not
6248         writing up to date file.  Add dvips usage suggestion.
6250         * scripts/convert-ly.py: Fix error message.
6251         Print usage if no files on command line.
6252         (usage): Add example usage.
6254         * input/test/compound-time.ly: New file.
6256         * input/test/circle.ly: New file.
6258         * Documentation/topdocs/NEWS.tely: Use them.
6260         * input/test/boxed-stencil.ly: Remove \score.
6262         * buildscripts/mf-to-table.py (base): Add .log dependency.
6264         * mf/GNUmakefile: Add PFAemmentaler and PFAaybabtu dependencies on
6265         pfa's.  Add .log dependency
6267         * scm/define-markup-commands.scm (lower): New command.
6269         * elisp/lilypond-mode.el (LilyPond-pdf-command): New command,
6270         make it default.
6272 2005-04-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6274         * lily/dynamic-engraver.cc (acknowledge_grob): add note-column
6275         also to finished cresc as right bound. This fixes:
6276         skip-string-decresc.ly
6278         * lily/slur-scoring.cc (get_bound_info): robustness: substitute
6279         relative_coordinate if extent is empty.
6281         * lily/stem.cc (width_callback): determine correct extent if flag
6282         is not there. This fixes slur-no-flag.ly
6284         * lily/grace-engraver.cc (consider_change_grace_settings): new
6285         function.
6286         (initialize): also consider_change_grace_settings() on
6287         initialization. Fixes large grace notes at start of score.
6289         * lily/break-align-interface.cc (do_alignment): don't translate if
6290         total_extent is empty.
6292         * buildscripts/lilypond-{login,profile}.sh (Module): remove file.
6294 2005-04-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6296         * scm/output-ps.scm (grob-cause): don't add cwd if path starts
6297         with slash.
6299 2005-04-18  Jan Nieuwenhuizen  <janneke@gnu.org>
6301         * stepmake/aclocal.m4: Remove tfm_path.
6303 2005-04-18  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6305         * scm/music-functions.scm (markup-expression->make-markup): fix
6306         bug with cons arguments of markup commands.
6307         (music->make-music): fix music expression property list building
6309 2005-04-18  Jan Nieuwenhuizen  <janneke@gnu.org>
6311         * aclocal.m4: Massage package names.
6313         * SCons updates.
6315 2005-04-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6317         * VERSION (PACKAGE_NAME): release 2.5.20
6319         * lily/stem.cc (calc_stem_info): add minimum Y extent of
6320         stem-tremolo.  Fixes: bugs/tremolo-stem-length-beamed
6322         * lily/percent-repeat-engraver.cc (try_music): add measure before
6323         next_moment to future processing moment. Fixes:
6324         percent-repeat-mm-rest.ly
6325         (process_music): don't add moment for 2nd time.
6327         * input/regression/repeat-percent.ly: add mmrests as extra test.
6329         * lily/axis-group-engraver.cc (acknowledge_grob): read
6330         keepAliveInterfaces to decide what to kill.
6332         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add
6333         percent-repeat-interface to keepAliveInterfaces. This fixes
6334         percent-repeat-harakiri.
6336 2005-04-17  Jan Nieuwenhuizen  <janneke@gnu.org>
6338         * SCons updates.
6340 2005-04-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6342         * config.make.in (TTFTOOL_ENDIAN): rm TFM_PATH
6344         * aclocal.m4: remove --enable-tfm-path configure option
6346         * input/test/ancient-font.ly (lowerStaff): clef name errors.
6348         * scm/backend-library.scm (postscript->png): newline after
6349         finishing command.
6351         * lily/paper-score-scheme.cc (LY_DEFINE): new file.
6352         (LY_DEFINE): ly:paper-score-paper-systems: new function 
6354         * lily/score-scheme.cc (LY_DEFINE): require music argument. 
6356         * lily/score.cc (default_rendering): use Music_output too.
6358         * input/test/chord-names-languages.ly (Module): rename file.
6360         * lily/text-spanner.cc: add bound-padding.
6362         * lily/paper-book.cc (systems): accept Paper_score
6363         iso. Paper_system vector. 
6365         * input/regression/line-arrows.ly: new file.
6367         * lily/paper-score.cc (process): run get_paper_systems() only once.
6369         * lily/line-spanner.cc (line_stencil): add arrows.
6371 2005-04-18  Jonatan Liljedahl  <lijon@kymatica.com>
6373         * lily/line-interface.cc (make_arrow): new function. 
6374         (arrows): idem.
6376 2005-04-18  Mathieu Giraud  <magiraud@free.fr>
6378         * input/test/chord-names-german.ly: update for italian/french
6379         chords.
6380         
6381         * Documentation/user/instrument-notation.itely (Printing chord
6382         names): update.
6384 2005-04-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6386         * lily/include/paper-score.hh (class Paper_score): remove unused
6387         prototypes.
6389         * lily/book.cc (process): add -COUNT to midi output.
6391         * lily/score.cc (book_rendering): remove outname argument
6392         (book_rendering): return list of Music_outputs. 
6394         * lily/global-context-scheme.cc (LY_DEFINE): remove outname argument.
6396         * lily/book.cc (process): loop over Music_outputs returned from
6397         Score::book_rendering().
6399         * lily/*.cc (width_callback): remove spurious "unused" warnings
6400         for assert (axis==[XY]_AXIS); 
6402         * lily/include/music-output.hh (class Music_output): smobify class.
6404         * lily/include/paper-score.hh (class Paper_score): make members
6405         private.
6407         * lily/performance.cc (process): return #f iso. #<undefined>. This
6408         prevents #<undefined> leaking into GUILE-userspace.
6410 2005-04-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6412         * config.hh.in: remove HAVE_PANGO_FC_FONT_MAP_ADD_DECODER_FIND_FUNC.
6414 2005-04-17  Mathieu Giraud  <magiraud@free.fr>
6416         * scm/chord-name.scm : support for italian and french
6417         chords names.
6419         * scm/chord-ignatzek-names.scm (ignatzek-chord-names): add
6420         a space defined by chordPrefixSpacer when the root name is
6421         direclty followed by a prefix.
6423         * ly/engraver-init.ly : chordPrefixSpacer       
6424         * scm/define-context-properties.scm : chordPrefixSpacer
6425         * ly/property-init.ly : italianChords, frenchChords 
6427 2005-04-17  Jan Nieuwenhuizen  <janneke@gnu.org>
6429         * mf/feta-din.mf: Remove.
6431         * mf/GNUmakefile (fontdir): Bugfix.
6433         * mf/SConstruct: Some updates.
6435         * SConstruct: Require pkg-config.
6436         (test_program): Bugfix for double digit version compares, use
6437         integer (not string-) compare.
6438         Optionally require gs 8.14.
6440         * stepmake/aclocal.m4 (STEPMAKE_PANGO_FT2): Define HAVE_PANGO16 too.
6442         * lily/*: s/ifdef HAVE_*/if have/.
6444         * SConstruct (test_lib): New function.  Update pkg-config and some
6445         other requirements.
6447         * configure.in: Require pkg-config.  Enforce REQUIRE and version for
6448         freetype, pangof2t.
6450 2005-04-16  Jan Nieuwenhuizen  <janneke@gnu.org>
6452         * po/lilypond.pot, ...: Update using bison-CVS.
6454         * python/lilylib.py (make_ps_images): Fixo.
6456 2005-04-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6458         * python/lilylib.py (make_ps_images): typo.
6460         * configure.in (gui_b): make bison optional.
6462         * lily/GNUmakefile (OUT_DIST_FILES): dist parser and lexer.
6464 2005-04-16  Bernard Hurley  <bernard@fong-hurley.org.uk>
6466         * framework-eps.scm: code added so that a macro \betweenLilyPondSystem
6467         with one parameter can be defined in a LaTeX file when processed
6468         by lilypond-book this will be evaluated between the systems of
6469         a multi-system score. The parameter is the number of systems processed.
6471 2005-04-16  Jan Nieuwenhuizen  <janneke@gnu.org>
6473         * python/lilylib.py (make_ps_images): Escape newline.
6475         * Documentation/user/music-glossary.tely: Run
6476         texinfo-all-menus-update.
6478 2005-04-14  Jan Nieuwenhuizen  <janneke@gnu.org>
6480         * scm/lily-library.scm (old-relative-not-used-message)
6481         (version-not-seen-message): Add input-file-name-location to message.
6483         * lily/parser.yy (lilypond): Add token aliases.
6485         * Documentation/user/music-glossary.tely (accidental): Fixes.  Do
6486         not confuse with alteration.
6487         (alteration): Add.
6489 2005-04-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6491         * python/lilylib.py (make_ps_images): use -dEPSCrop
6493         * VERSION (PACKAGE_NAME): release 2.5.19 
6495         * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
6496         only put xrefs in info documentation.
6498         * make/ly-rules.make ($(outdir)/%.html.omf): transplant .dvi ->
6499         .pdf rule to tex-rules.make.
6501         * scm/framework-eps.scm (dump-stencils-as-EPSes): remove comments
6502         from -systems.* output.
6504         * stepmake/stepmake/tex-rules.make ($(outdir)/%.pdf): make PDF
6505         directly, remove -$(PAGESIZE) target.
6507         * input/test/embedded-postscript.ly: update.
6509 2005-04-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6511         * make/lysdoc-targets.make (local-WWW): remove ps.gz target.
6513         * Documentation/user/changing-defaults.itely (Font selection):
6514         document font-name.
6516         * input/regression/font-name.ly: show Pango fonts for
6517         font-name. Update example. 
6519         * lily/pango-select.cc (properties_to_pango_description): don't
6520         convert symbol font-size to number, but use to lookup.
6522         * python/fontextract.py (write_extracted_fonts): add VMusage 0.
6524         * scm/framework-ps.scm (write-preamble): use (NAME . CONTENTS) and
6525         (NAME . FILE-NAME) tuples for font descriptions. 
6526         (write-preamble): display BeginFont DSC comments.
6528         * python/fontextract.py (write_extracted_fonts): new file. Extract
6529         font resources from a PS file.
6531         * scripts/lilypond-book.py (option_definitions): --psfonts option.
6532         (Compile_error.process_include): do_file returns chunks.
6534         * make/ly-vars.make (DVIPS_FLAGS): don't load .map file.
6536         * make/lysdoc-targets.make: .texi is .PRECIOUS
6538         * scripts/lilypond-book.py (write_if_updated): new function.
6540 2005-04-13  Jan Nieuwenhuizen  <janneke@gnu.org>
6542         * scm/framework-eps.scm (dump-stencils-as-EPSes): Massage messages.
6544 2005-04-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6546         * scm/framework-eps.scm (dump-stencils-as-EPSes): no massages.
6548         * input/regression/markup-syntax.ly: remove \score.
6550         * scm/define-markup-commands.scm (draw-circle): add fill argument
6552         * scm/stencil.scm (make-circle-stencil): add fill argument
6554         * ps/music-drawing-routines.ps: add fill argument.
6556         * ly/performer-init.ly: add CueVoice to MIDI too.
6558         * ps/music-drawing-routines.ps: new routine BeginEPSF /
6559         EndEPSF.
6561         * input/regression/markup-eps.ly: new file.
6563         * scm/framework-ps.scm (write-preamble): change order: vars should
6564         be inited before procedures.
6566         * scm/output-ps.scm (glyph-string): break lines. 255 chars is max
6567         for EPS files.
6569         * scm/define-markup-commands.scm (epsfile): add epsfile command.
6571 2005-04-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6573         * configure.in (gui_b): add check for ghostscript 8.15
6575 2005-04-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6577         * lily/hairpin.cc (after_line_breaking): suicide the hairpinlet at
6578         start of line. Fixes cresc-after-newline.ly
6580         * lily/source-file.cc (file_line_column_string): use get_column().
6582 2005-04-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6584         * lily/source-file.cc (get_column): utf-8 support for column numbers.
6586 2005-04-12  Jan Nieuwenhuizen  <janneke@gnu.org>
6588         * lily/*: use message () iso progress_indication () for messages.
6589         Revise/uniformise user messages.
6591         * flower/warn.cc (progress_indication): New function.
6592         (message): Use it.  Fixes newline problems.
6594         * config.make.in (webdir): Sort out install dirs.
6596         * stepmake/stepmake/generic-targets.make (final-install): Bugfix.
6598         * python/lilylib.py (command_name): Bugfix.
6599         (make_ps_images):
6601 2005-04-11  Pedro Kroger  <kroeger@pedrokroeger.net>
6603         * lily/main.cc: --help says what types of backends are availabe
6605 2005-04-11  Jan Nieuwenhuizen  <janneke@gnu.org>
6607         Fix ./VERSION dependency, and without need to reconfigure.
6609         * lily/main.cc (setup_paths): Update.
6611         * stepmake/bin/make-version.py (defs): Add TOPLEVEL_VERSION define..
6613         * config.hh.in (LILYPOND_DATADIR): Remove TOPLEVEL_VERSION.
6615         * scripts/convert-ly.py (\markup): Fix too simplistic regexps.
6616         Add \line for some simplistic cases.
6618         * lily/GNUmakefile (main.o): Add missing dependency on version.hh.
6620 2005-04-10  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6622         * elisp/lilypond-mode.el (LilyPond-lilypond-command): command used
6623         to compile LY files (useful for adding eg. "-I" args)
6624         (LilyPond-command-alist): use `LilyPond-lilypond-command'. Add a
6625         2Gnome command for gnome backend.
6626         (LilyPond-command-formatgnome): call the 2Gnome command. key
6627         binding: C-c C-g
6629 2005-04-10  Jan Nieuwenhuizen  <janneke@gnu.org>
6631         * Documentation/user/GNUmakefile (lilypond/index.html): Bugfix:
6632         depend on all PNG images.
6634 2005-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>
6636         * GNUmakefile.in: Bugfix: also link .map files.
6638 2005-04-09  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6640         * scm/music-functions.scm (music->make-music): generate 
6641         a (make-music ...) sexpr from a music expression.
6642         (display-scheme-music): use guile pretty printer to display the
6643         make-music sexpr.
6645 2005-04-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6647         * ly/engraver-init.ly: reindent.
6648         Add CueVoice.
6650         * scm/music-functions.scm (music-pretty-string): handle moments
6651         too.
6652         (music-pretty-string): only print non-empty lists.
6653         (cue-substitute): create CueVoice context, which has smaller type.
6655         * lily/moment-scheme.cc (LY_DEFINE): new methods
6656         ly:moment-grace-{numerator,denominator}
6658         * lily/context-handle.cc: remove quit() method. 
6660         * lily/font-config.cc (init_fontconfig): be verbose about font path.
6661         (init_fontconfig): success is 0, not !0
6663 2005-04-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6665         * mf/feta-nummer-code.mf (code): add plus glyph.
6667         * lily/tie.cc (print): idem.
6669         * lily/slur.cc (print): don't use thickness property for
6670         slur shape-thickness.
6672         * lily/stencil-scheme.cc (LY_DEFINE): don't reverse the order
6673         while adding stencils.
6675         * scm/define-markup-commands.scm (with-color): with-color markup
6676         command.
6677         (whiteout): new markup command 
6678         (filled-box): new markup command
6680 2005-04-07  Jan Nieuwenhuizen  <janneke@gnu.org>
6682         * Documentation/topdocs/NEWS.tely (Top): Make tex-able.  Handy
6683         test for PDF docs.
6685         * mf/GNUmakefile (lilypond.map): Add PFAEmmentaler,
6686         PFAAybabtu-Regular.  Fixes feta font in PDFs.
6687         
6688         Notes for tetex-3.0 make web:
6689            psclean.map: s/uhv8a/uhvr8a/
6690            config.ps add:
6691                 p +psfonts_t1.map
6692                 p +psclean.map
6693                 p +typeface.map
6695 2005-04-06  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6697         * scm/music-functions.scm (music-pretty-string): fix bug with
6698         string argument.
6700 2005-04-06  Jan Nieuwenhuizen  <jan.nieuwenhuizen@aspiratie.nl>
6702         * stepmake/bin/add-html-footer.py (i18n): Bugfix.
6704 2005-04-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6706         * scripts/lilypond-book.py (Lilypond_snippet.__init__): 
6707         only process options if they're there.
6708         (write_file_map): add version-seen? to snippet-map.ly
6710 2005-04-06  Jan Nieuwenhuizen  <jan.nieuwenhuizen@aspiratie.nl>
6712         * scripts/lilypond-book.py (split_options): Bugfix.  Small code
6713         formatting cleanups.
6715         * mf/GNUmakefile: Rewrite $addprefix, $addsuffix using % short-forms.
6716         Add PFAaybabtu.pfa dependency on aybabtu.subfonts.
6718 2005-04-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6720         * scm/framework-ps.scm (ps-font-command): don't hash, just use
6721         name directly.
6723         * lily/main.cc (setup_paths): either add mf/out to search path or 
6724         fonts/{otf,type1,etc}
6725         
6726         * lily/font-config.cc (init_fontconfig): either add mf/out to
6727         FontConfig or fonts/{otf,type1,etc}
6729         * GNUmakefile.in: don't put mf/ link in share/ dir.
6731         * lily/staff-spacing.cc: move same-direction-correction to
6732         note-spacing-interface
6734         * scm/lily.scm (lilypond-main): use variable argument count for
6735         exception handler.
6737         * lily/font-config.cc (init_fontconfig): add operator pacification
6738         message.
6740         * mf/aybabtu.pe.in (i): generate PFAAybabtu.pfa
6742         * buildscripts/gen-emmentaler-scripts.py (i): generate
6743         PFAEmmentaler as well.
6745         * scm/framework-ps.scm (munge-lily-font-name): new function
6746         (write-preamble): hack: insert PFA equivalent of CFF into
6747         .PS. This makes LilyPond output printable on normal PS printers
6748         again.
6750         * buildscripts/gen-emmentaler-scripts.py (i): generate
6751         PFAEmmentaler.pfa aswell.
6753 2005-04-06  John Williams <williams@tni.com>  
6754         
6755         * scripts/lilypond-book.py: refactor the compose_ly procedure.
6756         
6757 2005-04-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6759         * scm/page-layout.scm (default-page-make-stencil): always combine
6760         the header stencil, even if empty. This prevents the body text to
6761         reach up to the margins.
6763         * po/rw.po (Module): new file, for Kinyarwanda.
6765         * input/test/spacing-optical.ly (Module): new file.
6767         * lily/staff-spacing.cc: add same-direction-correction
6769 2005-04-06  Jan Nieuwenhuizen  <janneke@gnu.org>
6771         * Documentation/user/introduction.itely (Engraving): Comment-out
6772         non-existent file.
6774 2005-04-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6776         * scm/define-grob-properties.scm (all-user-grob-properties): add
6777         same-direction-correction
6779         * VERSION: release 2.5.18
6781 2005-04-05  Jan Nieuwenhuizen  <janneke@gnu.org>
6783         * lily/grob.cc (mark_smob): Check pscore->layout_ before
6784         dereferencing.  Fixes make web.
6786         * lily/midi-stream.cc: Handle unwritable midi file.  Include
6787         errno.h.
6789         * Documentation/user/: Fix links.
6791 2005-04-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6793         * lily/text-interface.cc (Module): rename from text-item.cc
6795         * input/regression/apply-output.ly (texidoc): function naming fix.
6797         * lily/time-signature-performer.cc (derived_mark): new function.
6799         * lily/lily-parser-scheme.cc:  print mapped file name for progress
6801         * scripts/lilypond-book.py (find_linestarts): new function.
6802         (find_toplevel_snippets): keep track of line numbers.
6804         * lily/key-performer.cc (try_music): remove FIXME warning, gobble
6805         all key changes.
6807         * ly/declarations-init.ly (partCombineListener): use
6808         ignoreBarChecks. Fixes: warn-partcombine-barcheck.ly
6810         * lily/bar-check-iterator.cc (process): ignoreBarChecks property.
6812 2005-04-04  Jan Nieuwenhuizen  <janneke@gnu.org>
6814         * lily/text-item.cc: Fix link.
6816         * Documentation/user/changing-defaults.itely (Changing defaults):
6817         Fix programs reference links.
6819         * Documentation/user/music-glossary.tely: Convert to utf-8.
6821 2005-04-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6823         * make/lilypond-vars.make: remove TEXMF from variables.
6824         remove DEB_BUILD pk font variables.
6825         remove GUILE_LOAD_PATH
6826         remove TeX memory vars.
6828 2005-04-04  Werner Lemberg  <wl@gnu.org>
6830         * lilypond/scm-option.cc (ly_option_usage): Add final newline.
6832 2005-04-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6834         * ps/lilyponddefs.ps: remove reencode-font
6836         * lily/simple-spacer.cc (add_columns): also compare
6837         directly. Column rank doesn't distinguish between broken and
6838         unbroken columns. This fixes large spaces before time sig changes.
6840         * Documentation/user/point-and-click.itely: document ly:set-option.
6842         * lily/grob.cc (get_uncached_stencil): only set grob-cause if
6843         point_and_click_global is set.
6845         * lily/scm-option.cc (LY_DEFINE): add point-and-click
6846         ly:set-option argument.
6848 2005-04-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6850         * GNUmakefile.in: Include symlinks in webball.
6852         * Documentation/user/GNUmakefile (source-links): Add symlinks to
6853         source dir for split and non-split manuals.
6855         * Documentation/user/*y: Fix @uref/@inputfile links for
6856         split/non-split HTML documents.
6858         * Documentation/user/GNUmakefile (local-WWW): Do not generate
6859         .ps.gz.
6860         
6861 2005-04-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6863         * GNUmakefile.in: Add newline.
6865 2005-04-01  Erlend Aasland  <erlenda@gmail.com>
6867         * tex/lilyponddefs.tex: use color instead of xcolor
6868         * scm/output-tex.scm: minor editing
6870 2005-04-02  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6872         * scm/music-functions.scm (display-scheme-music): pretty printer
6873         for music expressions.
6875 2005-04-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6877         * buildscripts/install-info-html.sh (index_file): Fix link.
6879 2005-04-01  Jan Nieuwenhuizen  <janneke@gnu.org>
6881         * input/test/dynamic-extra.ly (piuf): Use utf-8 iso TeX accent.
6883         * Documentation/index.html.in: Add size estimates with some big pages.
6885         * Documentation/user/tutorial.itely (Running LilyPond for the
6886         first time): Add/replace some @rglos links.  TODO: add more
6887         @rglos links in tutorial, test non-intrusiveness (.css).
6889         * stepmake/bin/add-html-footer.py (do_file): Remove info's
6890         annoying's indication of referencing external document.
6892         * Documentation/user/GNUmakefile: Split version of glossary too.
6893         * Documentation/user/macros.itexi (@rglos): Have makeinfo produce
6894         links, not only for html.
6896         * Documentation/user/introduction.itely: Fix some links for other
6897         than html, do not use `here' as link name.
6899 2005-03-31  Jan Nieuwenhuizen  <janneke@gnu.org>
6901         * scm/documentation-generate.scm (string-append): Fix @usermanref,
6902         @glossaryref.
6904 2005-03-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6906         * scm/page-layout.scm (default-page-make-stencil): only add header
6907         if existing and not empty. Fixes spurious programming error.
6909         * lily/span-bar.cc (print): don't make rounded edges for spanbars.
6911 2005-03-31  Erlend Aasland  <erlenda@gmail.com>
6913         * scm/output-tex.scm: implement {re,}setcolor
6914         * tex/lilyponddefs.tex: use color package
6916 2005-03-31  Jan Nieuwenhuizen  <janneke@gnu.org>
6918         * GNUmakefile.in (local-WWW-post): Restore .htaccess and .html
6919         additions to website.
6921         * Documentation/user/lilypond.tely: Remove reference to ps.gz.
6923         * Documentation/user/macros.itexi: Fix @usermanref html links in
6924         split documents: use @inforef.
6926 2005-03-30  Graham Percival  <gperlist@shaw.ca>
6928         * Documentation/user/programming-interface.itely: minor fix.
6930         * Documentation/user/advanced-notation.itely: added info to
6931         Metronome markings.
6933 2005-03-30  Jan Nieuwenhuizen  <janneke@gnu.org>
6935         * scm/output-lib.scm (make-stencil-boxer): Junk code duplication,
6936         use box-stencil.  Remove y-padding argument.
6937         (make-stencil-circler): New function.
6939         * buildscripts/lilypond-words.py (F): 
6940         * elisp/SConscript (a): 
6941         * elisp/GNUmakefile (LILYPOND_WORDS_DEPENDS):
6942         * vim/SConscript (a): 
6943         * vim/GNUmakefile (LILYPOND_WORDS_DEPENDS): Update.
6945         * lily/general-scheme.cc: Build fix.
6947         * scm/markup.scm:
6948         * input/regression/markup-scheme.ly: 
6949         * input/regression/markup-syntax.ly: Drop 'new-' from name.
6951         * scm/stencil.scm (make-circle-stencil): New function.
6953         * scm/define-markup-commands.scm (draw-circle): Use it.  New
6954         name (was cicle).  Update callers.
6955         (circle): New markup command, similar to box.
6957         * scm/stencil.scm (circle-stencil): New function.
6959 2005-03-29  David Jedlinsky  <lilypond@ipnh.com>
6961         * configure.in: Detect libutf8/wchar.h variant.
6963         * stepmake/aclocal.m4: Modify shared size test.
6965 2005-03-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6967         * make/lilypond.fedora.spec.in (Group): remove texmf profile stuff.
6969 2005-03-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6971         * scripts/convert-ly.py (conv): add stencil-aligned-to! rule.
6972         
6973         * VERSION (PACKAGE_NAME):  release 2.5.17
6975 2005-03-29  Jan Nieuwenhuizen  <janneke@gnu.org>
6977         * scm/backend-library.scm (postscript->png): Fix comment and png
6978         message.
6980         * GNUmakefile.in (link-tree): Fix locales.
6982 2005-03-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6984         * lily/stencil-scheme.cc (LY_DEFINE): change to
6985         ly:stencil-aligned-to, non mutating.
6987         * scm/safe-lily.scm (lambda): remove ly:stencil-set-extent!
6989         * lily/stencil-scheme.cc: remove ly:stencil-set-extent!
6991         * lily/quote-iterator.cc (derived_mark): call
6992         Music_wrapper_iterator::derived_mark() too.
6994         * lily/grace-engraver.cc (derived_mark): change signature, add
6995         const.
6997 2005-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
6999         * SConstruct (symlink): 
7000         * GNUmakefile.in (link-tree): Add scripts to prefix.
7002         * lily/general-scheme.cc (ly:effective-prefix): New function.
7004         * scm/backend-library.scm (postscript->png): Use it.
7006 2005-03-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7008         * lily/paper-score.cc (process): don't delete grobs after
7009         producing stencils. 
7011         * scm/part-combiner.scm (determine-split-list): switch off
7012         debugging info.
7014         * scm/backend-library.scm (postscript->png): explicitly use ps2png.py
7015         if available.
7017         * scm/define-context-properties.scm
7018         (all-user-translation-properties): add stringNumberOrientations.
7020         * lily/new-fingering-engraver.cc (position_scripts): make generic,
7021         so fingering and string-numbers are separately controlled.
7023 2005-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
7025         * stepmake/aclocal.m4: Fix shared size test: add missing comma, do
7026         not use debugging.
7028 2005-03-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7030         * GNUmakefile.in (local-WWW-post): remove UTF8 .htaccess.
7032         * config.hh.in: add HAVE_FONTCONFIG.
7034         * Documentation/user/instrument-notation.itely (String number
7035         indications): new node.
7037         * input/regression/new-markup-syntax.ly (texidoc): add circle.
7039         * lily/new-fingering-engraver.cc (add_string): new function. 
7040         (acknowledge_grob): accept string-number-event as well.
7042         * scm/define-markup-commands.scm (circle): new markup command.
7044         * scm/output-lib.scm (print-circled-text-callback): new function.
7046         * lily/GNUmakefile: move ifeq after include stepmake.make.
7048 2005-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
7050         * config.make.in (HAVE_LIBKPATHSEA_SO):
7051         * stepmake/aclocal.m4: Also subst HAVE_LIBKPATHSEA_SO.
7053         * lily/GNUmakefile (MODULE_LDFLAGS): Only if not HAVE_KPATHSEA_SO,
7054         add KPATHSEA_LIBS.
7056         * debian/watch: 
7057         * debian/control: Update.
7059 2005-03-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7061         * input/test/title-markup.ly (spaceTest): remove.
7063         * input/test/embedded-tex.ly (Module): remove.
7065         * input/test/music-box.ly: use 'name property, not ly:music-name.
7067         * lily/GNUmakefile (MODULE_LDFLAGS): add KPATHSEA_LIBS.
7069         * stepmake/aclocal.m4: STEPMAKE_FONTCONFIG: add.
7071 2005-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
7073         * Documentation/topdocs/INSTALL.texi (Top): Remove information
7074         about xdeltas.  Add information about CVS.
7076         * scm/lily.scm (lilypond-main): Fix invocation of handler,
7077         gracefully handle failed files.
7079         * lily/GNUmakefile (MODULE_LDFLAGS): Remove KPATHSEA_LIBS.
7081         * Documentation/topdocs/INSTALL.texi (Top): Whitespace and other
7082         small fixes.
7084         * scm/framework-tex.scm (convert-to-ps): Proper option spacing.
7085         No unnecessarily specific i18n messages.  Remove stray `1'.
7087 2005-03-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7089         * buildscripts/lys-to-tely.py (strip_extension): add utf-8
7090         documentencoding
7092         * scm/documentation-lib.scm (texi-file-head): set utf-8
7093         documentencoding.
7095         * ly/chord-modifiers-init.ly (whiteTriangleMarkup): use the greek
7096         Delta, not the Symbol one. 
7098         * mf/GNUmakefile ($(outdir)/lilypond.map): add -Regular to Aybabtu
7099         for the .map file.
7101         * Documentation/topdocs/INSTALL.texi (Top): add running
7102         requirement as compilation requirement.
7104 2005-03-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7106         * buildscripts/mutopia-index.py (headertext): add h1 header and
7107         utf-8 charset meta field.
7109         * input/GNUmakefile: prune example list.
7111         * scm/framework-tex.scm (convert-to-ps): add -ofoo.ps to dvips
7112         options.
7114         * lily/slur-scoring.cc (get_base_attachments): only look at stem
7115         extent for visible stems.
7117         * lily/grob.cc (mark_smob): mark \layout block from Grob::mark_smob().
7119 2005-03-27  Jan Nieuwenhuizen  <janneke@gnu.org>
7121         * Documentation/topdocs/INSTALL.texi (Top): Updates.
7123         * scripts/convert-ly.py: Python 2.2 compatibility (thanks Mats).
7125 2005-03-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7127         * lily/slur-scoring.cc (get_base_attachments): robustness. Don't
7128         pass inf/nan into slur scoring.
7130         * ly/titling-init.ly (oddHeaderMarkup): don't show page no. on 1st
7131         page.
7133         * scripts/abc2ly.py (dump_voices): use alphabet().
7135 2005-03-27  Jeff Smith <whydoubt@yahoo.com>
7136         
7137         * mf/GNUmakefile (depth): use $(FONTFORGE). 
7139 2005-03-27 Matthias Neeracher <neeracher@mac.com>
7140         
7141         * flower/include/virtual-methods.hh: simplify. Patch by
7143 2005-03-25  John Williams <williams@tni.com>  
7145         * scripts/lilypond-book.py (main): add png for HTML too, guess
7146         only if necessary. 
7148 2005-03-25  Graham Percival  <gperlist@shaw.ca>
7150         * Documentation/topdocs/INSTALL.texi: now recommends
7151         lexer-gcc-3.1.sh for gcc 3.1.1 or higher.
7153         * Documentation/user/basic-notation.itely,
7154         Documentation/user/tutoria.itely: warn about
7155         only one (phrasing) slur at once.
7157 2005-03-24  Pedro Kroger  <kroeger@pedrokroeger.net>
7159         * ly/music-functions-init.ly (removeWithTag): fixed to return "music".
7161 2005-03-23  Graham Percival  <gperlist@shaw.ca>
7163         * Documentation/user/basic-notation.itely: fixed info about
7164         ending a (de)cresc.
7166         * Documentation/user/lilypond-book.itely: fixed
7167         lilypond-book filter example and warned about not doing
7168         --filter and --process at the same time.
7170 2005-03-23  Mats Bengtsson  <mabe@drongo.s3.kth.se>
7172         * lily/parser.yy (bass_number),
7173         Documentation/user/instrument-notation.itely (Figured bass): 
7174         Add the possibility to use text markup in figured bass. 
7176 2005-03-19  Graham Percival  <gperlist@shaw.ca>
7178         * Documentation/user/global.itely: added info about naming
7179         identifiers and breakbefore.
7181         * Documentation/user/invoking.itely: added info about batch
7182         processing files with convert-ly, removed references to TeX
7183         in the jail section.
7185         * Documentation/user/examples.itely: possibly fixed piano
7186         dynamics.
7188         * Documentation/user/advanced-notation.itely: added info
7189         about removing other types of Staff.
7191         * Documentation/user/instrument-notation.itely: possibly
7192         fixed piano staff line switch.
7194         * Documentation/user/changing-defaults.itely: added info
7195         about using normal font in titles.
7197 2005-03-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7199         * VERSION (PATCH_LEVEL): release 2.5.16
7201         * make/ly-vars.make (DVIPS_FLAGS): include lilypond.map path
7202         explicitly.
7204 2005-03-18  Jan Nieuwenhuizen  <janneke@gnu.org>
7206         * scm/framework-tex.scm (convert-to-dvi): Barf if NAME contains
7207         whitespace.
7209         * python/lilylib.py (make_ps_images):
7210         * scm/backend-library.scm (postscript->pdf, postscript->png):
7211         Quote file name.  Use format rather than string-append juggling.
7213 2005-03-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7215         * python/lilylib.py (make_ps_images): add x to -g argument. 
7217         * lily/key-performer.cc (create_audio_elements): don't use
7218         scm_eval_string. Check for minor 3rd directly.
7219   
7220         * input/mutopia/J.S.Bach/baerenreiter-sarabande.ly
7221         (sarabandeCelloGlobal): key is D minor, not F major.
7223 2005-03-17  Jan Nieuwenhuizen  <janneke@gnu.org>
7225         Fix truncated --png output (Peter Danenberg).
7226         
7227         * python/lilylib.py (make_ps_images):
7228         * scripts/ps2png.py (copyright): Grok --papersize option.
7230         * scm/backend-library.scm (postscript->png): Add parameter
7231         PAPERSIZE.  Update callers.
7233         * scm/output-gnome.scm (music-font?): Bugfix: use "Emmentaler".
7234         Fixes symbol placement.
7236         * lily/spanner.cc: 
7237         * lily/stencil.cc: Use "libc-extension.hh" (WAS:
7238         <libc-extension.hh>).
7240 2005-03-16  Jan Nieuwenhuizen  <janneke@gnu.org>
7242         * Nitpick run.
7244         * buildscripts/fixcc.py: Update.
7246         Builddir run fixes.
7248         * HACKING (datadir): Add VERSION.
7250         * GNUmakefile.in (linktree): Bugfix: outconfdirs are one dir
7251         higher up.
7253 2005-03-15  Werner Lemberg  <wl@gnu.org>
7255         * mf/feta-klef.mf (draw_gclef): Move z10' slightly so that the
7256         diagonal stem doesn't become thinner.
7258 2005-03-15  Jan Nieuwenhuizen  <janneke@gnu.org>
7260         * buildscripts/fixcc.py: Fixes (Werner).
7262 2005-03-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7264         * mf/GNUmakefile ($(outdir)/lilypond.map): capitalize
7265         Emmentaler/Aybabtu.
7267         * GNUmakefile.in: fix lilypond-words path.
7269         * po/tr.po: update to 2.3.21
7271         * lily/new-fingering-engraver.cc (position_scripts): take priority
7272         from head position.
7274         * input/regression/finger-chords-order.ly (texidoc): new file.
7276 2005-03-14  Jan Nieuwenhuizen  <janneke@gnu.org>
7278         * make/ly-rules.make: 
7279         * stepmake/aclocal.m4: 
7280         * Documentation/user/GNUmakefile: Remove old makeinfo compatibility.
7282         * buildscripts/fixcc.py (rules): Leave space after operator.
7284 2005-03-14  Werner Lemberg  <wl@gnu.org>
7286         * mf/feta-klef.mf (draw_gclef): Replace `simple_serif' for
7287         top of the glyph with smooth curve.
7289 2005-03-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7291         * Documentation/user/global.itely (Page layout): remove
7292         printpagenumber.
7294 2005-03-13  Jürgen Reuter  <reuter@ipd.uka.de>
7296         * input/regression/mensural-ligatures.ly: new file (with examples
7297         compiled by Pal Benko).
7299         * Documentation/user/instrument-notation.itely: Bugfix: yet some
7300         other "custodes.*-u0" -> "custodes.*.u0" renaming victims in
7301         musicglyph access.  Many small beautifications in ancient
7302         examples.
7304         * input/test/divisiones.ly: fixed indentation; small
7305         beautifications
7307         * ly/engraver-init.ly: added FIXME comment
7309         * scripts/lilypond-book.py,
7310         Documentation/user/lilypond-book.itely: added music fragment
7311         option "packed" to lilypond-book
7313         * Documentation/user/instrument-notation.itely: Bugfix: added
7314         missing LedgerLineSpanner color setting in several places.  Added
7315         music fragment option "packed" to VaticanaContext example.
7317 2005-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7319         * scm/define-grobs.scm (all-grob-descriptions): switch off
7320         Hyphen_spanner::set_spacing_rods 
7322         * lily/lyric-hyphen.cc (print): add padding between syllable and
7323         hyphen.
7324         (print): shorten hyphen in tight situations (determine using
7325         minimum-length)
7327         * scm/paper.scm (layout-set-staff-size): increase blotdiameter to
7328         0.4pt.
7330 2005-03-13  Jan Nieuwenhuizen  <janneke@gnu.org>
7332         * ly/titling-init.ly (bookTitleMarkup): Refinements.
7334         * input/regression/page-breaks.ly (paper): Set not raggedlastbottom,
7335         header/footer markings for regression-test.
7337         * scm/backend-library.scm (output-scopes, header-to-file): Move
7338         from framework-tex.scm.
7340         * scm/framework-ps.scm (output-framework)
7341         (output-preview-framework):
7342         * scm/framework-eps.scm (output-classic-framework)
7343         (output-framework): Use it.  Fixes collated files.
7345 2005-03-12  Jan Nieuwenhuizen  <janneke@gnu.org>
7347         * input/sakura-sakura.ly: 
7348         * input/xiao-haizi-guai-guai.ly: Add from Debian package (Anthony).
7350         * buildscripts/guile-gnome.sh: Update.
7352         * mf/GNUmakefile (aybabtu.otf): Add dependency on .pe.
7354         * mf/aybabtu.pe.in: Capitalize Aybabtu.
7356 2005-03-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7358         * lily/separating-group-spanner.cc (find_rods): oops. Fix the real
7359         culprit: always exit the loop if we find a rod, even if it has
7360         distance < 0. 
7362         * lily/ledger-line-spanner.cc (set_spacing_rods): rewrite to O(n)
7363         algorithm.
7365         * stepmake/stepmake/metafont-rules.make ($(outdir)/%.pfb
7366         $(outdir)/%.svg $(outdir)/%.pfa): add --simplify.
7368         * scm/output-svg.scm (dashed-line): new  function body.
7369         
7370         * GNUmakefile.in: create .htaccess.
7372 2005-03-11  Jan Nieuwenhuizen  <janneke@gnu.org>
7374         * Documentation/topdocs/NEWS.tely (Top): Fix text example.
7376 2005-03-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7378         * VERSION (PACKAGE_NAME): release 2.5.15
7380         * scm/output-{pdf,pdftex,sketch}.scm (Module): remove bitrotted files.
7382         * scm/framework-svg.scm (output-framework): put scaling in
7383         document header. Apply scaling only once.
7384         (output-framework): dump page size in px, not mm. 
7386         * scm/lily-library.scm (modified-font-metric-font-scaling): rename
7387         from font-size.
7389         * lily/paper-outputter-scheme.cc (LY_DEFINE):
7390         ly:outputter-output-scheme, new function.
7392         * scm/output-svg.scm (pango-description-to-svg-font): new function
7394 2005-03-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7396         * Documentation/user/GNUmakefile (deep-symlinks): remove outimages
7397         target.
7399         * input/typography-demo.ly: new file.
7401 2005-03-10  Jan Nieuwenhuizen  <janneke@gnu.org>
7403         * Documentation/user/global.itely (File structure): Add markup blocks
7404         to toplevel expressions.
7405         (Multiple movements, Creating titles): Add markup blocks.
7407         * lily/stencil-scheme.cc: Use "libc-extension.hh" (WAS:
7408         <libc-extension.hh>).
7410         * lily/accidental.cc (accurate_boxes): Compile fix: 1.51 was broken.
7412         * flower
7413         * lily
7414         * kpath-guile: Nitpick run: buildscripts/fixcc.py.
7416 2005-03-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7418         * lily/accidental.cc: special bboxes for natural. 
7420         * mf/feta-toevallig.mf: make stems heavier.
7422         * lily/dynamic-text-spanner.cc (print): add bound padding for edge
7423         texts as well.
7425         * mf/feta-klef.mf: revise. 
7427         * mf/feta-schrift.mf: make thinning of accent less pronounced.
7429         * mf/feta-klef.mf: add rounded curve at top. 
7430         make thinnib a little heavier.
7432 2005-03-10  Jan Nieuwenhuizen  <janneke@gnu.org>
7434         * lily/parser.yy (book_body): Oops, allow \markup in \book too.
7436         * buildscripts/fixcc.py: New file.
7438         * input/regression/utf8.ly: Update Debian font description.
7440 2005-03-09  Jan Nieuwenhuizen  <janneke@gnu.org>
7442         * stepmake/aclocal.m4: Fix test.
7444 2005-03-09  Graham Percival  <gperlist@shaw.ca>
7446         * Documentation/user/invoking.itely: added Sebastino Vigna's
7447         docs for the --jail option.
7449 2005-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7451         * lily/stem.cc (print): only produce stemlets if there are no
7452         noteheads on this stem.
7454         * lily/note-spacing.cc (stem_dir_correction): robustness fix:
7455         don't crash on stemlet (visible stem without heads).
7457         * scm/define-grobs.scm (all-grob-descriptions): junk LeftEdge for
7458         unbroken situations. 
7460         * scm/output-lib.scm (center-invisible): new function.
7462         * lily/spacing-loose-columns.cc (set_loose_columns): use spacing
7463         wishes to determine loose column space.
7465         * lily/font-config.cc (init_fontconfig): add
7466         fonts/{otf,type1,cff}  to path.
7468         * lily/main.cc (setup_paths): add fonts/{otf,svg,tfm,cff} to path
7470         * mf/GNUmakefile (Module): install all fonts under otf/
7472         * scm/framework-ps.scm (Module): read fonts from fonts/extension,
7473         replace /fonts/otf/ by /ps/ 
7475         
7476 2005-03-09  Jan Nieuwenhuizen  <janneke@gnu.org>
7478         * lily/paper-book.cc (classic_output): Reinstate header_0_ hack.
7480         * lily/book.cc (process): Oops, add score_.header_.
7482         * lily/paper-book.cc: Fold hearders, score and texts into scores_.
7484         * lily/parser.yy: Handle toplevel and book texts as score.
7486         * scm/page-layout.scm (default-page-make-stencil):
7487         Bugfix: (page-properties rename.
7489         * scm/backend-library.scm (ly:system): Typo.
7491 2005-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7493         * stepmake/stepmake/executable-targets.make (installexe): don't
7494         strip installed executables
7496         * lily/font-select.cc (get_font_by_design_size): revert
7497         pango_description_string as well.
7499         * lily/system.cc (set_loose_columns): put loose column just left
7500         of next column.
7502         * lily/include/group-interface.hh (extract_grob_array): rename
7503         from Pointer_group_interface__extract_grobs
7505         * input/regression/ledger-line-minimum.ly (texidoc): new file.
7507         * lily/ledger-line-spanner.cc (set_spacing_rods): new
7508         function. Keep ledgered note heads at a minimum distance.
7509         Introduce minimum-length-fraction
7510         (print): introduce length-fraction property.
7512 2005-03-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7514         * tex/GNUmakefile: remove latin1.enc rules.
7516 2005-03-08  Jan Nieuwenhuizen  <janneke@gnu.org>
7518         * scm/titling.scm: Typo.
7520         * input/regression/score-text.ly: Really add.
7522         * lily/score.cc: Bugfixes for SCM header_ and texts_ members.
7524 2005-03-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7526         * lily/open-type-font-scheme.cc:  new file.
7528 2005-03-08  Jan Nieuwenhuizen  <janneke@gnu.org>
7530         * scm/titling.scm (layout-extract-page-properties): Rename from
7531         page-properties.  Update callers.
7533         * lily/lexer.ll (Lily_lexer):
7534         * lily/parser.yy: Junk lyric_markup state.
7536         * Documentation/topdocs/NEWS.tely (Top): Mention markup text feature.
7538         * scripts/lilypond-book.py (PREAMBLE_LY): toplevel-music-handler:
7539         Add texts parameter.
7541 2005-03-07  Jan Nieuwenhuizen  <janneke@gnu.org>
7543         * lily/lexer.ll (lyric_markup): New mode.
7544         (Lily_lexer::push_lyric_markup_state): New method.
7545         (MARKUPCOMMAND): Markup during lyric mode returns LYRIC_MARKUP.
7547         * lily/parser.yy (book_body):
7548         (toplevel_expression): Grok \markup texts.
7550         * lily/score-scheme.cc (ly:music-scorify): 
7551         * scm/lily-library.scm (collect-music-for-book): Take texts
7552         parameter.
7554         * lily/score.cc (texts_): New member.
7556         * lily/paper-book.cc (systems): Format score texts.
7558         * score-text.ly: New file.
7560         * ttftool/SConscript:
7561         * kpath-guile/SConscript: New file.
7563         * lily/SConscript:
7564         * SConstruct: Update.
7566 2005-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7568         * VERSION (PACKAGE_NAME): release 2.5.14
7570 2005-03-07  Jan Nieuwenhuizen  <janneke@gnu.org>
7572         * lily/main.cc: Add dummy xgettext markers.
7574 2005-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7576         * make/lilypond.fedora.spec.in (Requires): scrap kpathsea/tex
7577         requirements
7579         * stepmake/aclocal.m4: check dynamic link, by checking if kpathsea
7580         executable is < 40k
7582         * lily/main.cc (setup_paths): remove tfm1 tfm2 tfm3 include path
7583         hack.
7585 2005-03-06  Jan Nieuwenhuizen  <janneke@gnu.org>
7587         * flower/libc-extension.cc:
7588         * flower/include/libc-extension.hh: [Open]BSD simply cast
7589         cookie/funopen declarations.
7591         * stepmake/aclocal.m4: Check for libkpathsea.so.
7593         * kpath-guile/kpath.c (ly_kpathsea_expand_variable): Use
7594         dl_kpse_find_file.
7596 2005-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7598         * kpath-guile/kpath.c (open_library): dlopen libkpathsea.so
7599         (open_library): alternative for static library.
7601 2005-03-06  Jan Nieuwenhuizen  <janneke@gnu.org>
7603         * configure.in: Set TTFTOOL_ENDIAN iso global CFLAGS.
7605         * ttftool/GNUmakefile (MODULE_CFLAGS): Add $(TTFTOOL_ENDIAN).
7607         Drop run-time dependency on teTeX.
7609         * lily/kpath.cc (initialize_kpathsea): dlopen libkpathsea.
7611         * stepmake/aclocal.m4 (STEPMAKE_KPATHSEA): Do not include
7612         KPATHSEA_LIBS in LIBS.
7613         (STEPMAKE_DLOPEN): New function.
7615         * lily/font-config.cc (init_fontconfig): Use dir for directory,
7616         not path.
7618         * flower/file-path.cc (directories): Rename from paths, as this
7619         return an array of directories (a single path).
7621 2005-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7623         * lily/GNUmakefile (MODULE_LIBS): link with kpath-guile
7625         * lily/all-font-metrics.cc (kpathsea_find_file): wrapper around
7626         new ly:kpathsea-find-file
7628         * kpath-guile/kpath.c: new file. Put kpath bindings in lib.
7630         * kpath-guile/GNUmakefile: new file
7632         * buildscripts/gen-emmentaler-scripts.py (i): generate
7633         emmentaler-X.fontname as well.
7635         * buildscripts/ps-embed-cff.py: new script
7637         * scm/lily-library.scm: remove ps-embed-cff.
7639         * scm/framework-ps.scm (write-preamble): don't use kpathsea for
7640         font loading. 
7642         * scm/font.scm (add-music-fonts): load dynamics/numbers through
7643         fontconfig as well.
7645         * lily/font-config.cc (init_fontconfig): add cff/ too.
7647         * ly/generate-embedded-cff.ly: capitalize.
7649         * lily/pango-select.cc (select_pango_font): use ::find_pango_font,
7650         so as to register the pango font.
7652         * lily/font-config.cc (init_fontconfig): add
7653         prefix/{otf,type1,mf/out} to fontconfig path.
7655         * lily/main.cc: only look at one prefix directory, LILYPONDPREFIX
7656         overrides all. 
7658         * configure.in (gui_b): remove ec mftrace check
7660         * config.hh.in: use lilypond-Major.Minor as data directory.
7662         * scm/framework-ps.scm (dump-page): use output-units for landscape.
7664         * buildscripts/gen-emmentaler-scripts.py (i): lower case file
7665         name.
7667 2005-03-06  Jan Nieuwenhuizen  <janneke@gnu.org>
7669         * lily/main.cc (do_chroot_jail): Small cleanups.  Avoid constant
7670         error messages.
7672         * flower/libc-extension.cc:
7673         * flower/include/libc-extension.hh: [Open]BSD fixes for
7674         cookie/funopen declarations.
7676 2005-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7678         * buildscripts/gen-emmentaler-scripts.py (outdir): capitalize
7679         emmentaler.
7681         * lily/score-engraver.cc (initialize): remove check for ecrm10 /
7682         lcrm10.
7684         * scm/define-markup-commands.scm (fontsize): new markup
7685         command. Also set baseline-skip
7687 2005-03-06 Sebastiano Vigna <vigna@dsi.unimi.it>.
7688         
7689         * lily/main.cc (do_chroot_jail): paranoia security for webserver
7690         use.
7692 2005-03-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7694         * stepmake/bin/add-html-footer.py (do_file): make wiki link optional.
7696         * lily/pdf.cc: remove PDF related files
7698 2005-03-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7700         * ly/deutsch.ly: add quarter tones, patch by Arno Waschk.
7701         <hamamatsu@gmx.de>
7703 2005-03-05  Graham Percival  <gperlist@shaw.ca>
7705         * Documentation/user/advanced-notation.itely: first draft
7706         of reorg done.
7708         * Documentation/user/global.itely: fixed (sub)section
7709         bits of MIDI.
7711 2005-03-02  Jan Nieuwenhuizen  <janneke@gnu.org>
7713         * cygwin/mknetrel (extras): Bufix (Bertalan).
7715         * Documentation/user/basic-notation.itely (Chords): @ref fix.
7716         * Documentation/user/instrument-notation.itely (Introducing chord
7717         names): Compile fix: must have unique name.
7719 2005-03-02  Graham Percival  <gperlist@shaw.ca>
7721         * Documentation/user/instrument-notation.itely: reorg.
7723 2005-03-02  Jan Nieuwenhuizen  <janneke@gnu.org>
7725         * scm/output-gnome.scm:
7726         * scm/output-svg.scm: Fix font scaling.
7728 2005-03-01  Jan Nieuwenhuizen  <janneke@gnu.org>
7730         * ly/titling-init.ly (tagline): Use Engraving.  Add comment about
7731         what link to use best.
7733         * Documentation/user/instrument-notation.itely (Ancient accidentals): 
7734         * Documentation/user/tutorial.itely (Automatic and manual beams):
7735         Fix @ref.
7737         * lily/tweak-registration.cc (replace_grob_tweak): New function.
7738         * lily/tweak-registration-scheme.cc (LY_DEFINE): Wrap it.
7739         * scm/framework-gnome.scm (tweak): Use it.
7741 2005-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7743         * Documentation/topdocs/NEWS.tely (Top): elucidate GS problem.
7745         * scm/output-ps.scm (white-text): reinstate white-text
7747 2005-03-01  Jan Nieuwenhuizen  <janneke@gnu.org>
7749         * scm/output-ps.scm (offset-add): Remove.
7751         * scm/lily-library.scm (offset-flip-y): New function.
7752         * scm/framework-gnome.scm (tweak): Use it.
7754         * scm/output-gnome.scm (grob-cause): Add parameter.
7756         * scm/lily.scm (ly:all-stencil-expressions): Add url-link.
7757         * scm/output-ps.scm (url-link): Move.
7758         (white-text): Warn user about brokenness.
7760         * Documentation/topdocs/NEWS.tely: Be more accurate and respectful
7761         wrt ghostscript.
7763 2005-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7765         * lily/slash-repeat-engraver.cc (try_music): always make slashes
7766         if body length smaller than measure length.
7768         * scm/define-markup-commands.scm (with-url): oops. use Y extent
7769         for Y.
7771         * ly/titling-init.ly (tagline): put default tagline in \paper
7773 2005-03-01  Jan Nieuwenhuizen  <janneke@gnu.org>
7775         * lily/kpath.cc: 
7776         * lily/pdf.cc (Pdf_file): Use more generic error messages.
7778         * scm/lily-library.scm (version-not-seen-message): New function.
7779         * ly/init.ly: Use it.
7781         * scm/page-layout.scm (ly:optimal-page-breaks): Display page
7782         breaks as progess.
7784         * scripts/lilypond-book.py (do_process_cmd): Do not lump
7785         whitespace with l10n message.
7787         * scm/framework-tex.scm (convert-to-ps):
7788         (convert-to-dvi): Do not use overly specific l10n messages.
7790         * ly/titling-init.ly (bookTitleMarkup): Add baseline skips from 2.4.
7792         * tex/GNUmakefile $(outdir)/latin1.enc: Build fix:
7793         merge stderr with stdout.  
7795 2005-03-01  Jan Nieuwenhuizen  <janneke@gnu.org>
7797         * flower/libc-extension.cc: Tested BSD compile fix (Matthias
7798         Neeracher).
7800 2005-02-29  Graham Percival  <gperlist@shaw.ca>
7802         * Documentation/user/instrument-notation.teily: moved
7803         \arpeggio to Basic.
7805         * Documentation/user/advanced-notation.itely: Articulation to
7806         Basic, a bunch of stuff from Basic moved to Advanced.
7808         * Documentation/user/basic.itely: swapped various sections,
7809         reorganized Basic.
7811 2005-02-28  Jan Nieuwenhuizen  <janneke@gnu.org>
7813         * flower/memory-stream.cc: 
7814         * flower/libc-extension.cc: Remove obsolete #undefs.
7816         * flower/include/libc-extension.hh: Bugfix for BSD, place #ifdef
7817         more carefully.
7819 2005-02-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7821         * make/lilypond.fedora.spec.in (Requires): add GS 8.15 as
7822         dependency.
7824         * VERSION (PACKAGE_NAME): release 2.5.13
7826         * GNUmakefile.in (web-ext): don't ship ps.gz
7828         * tex/GNUmakefile ($(outdir)/latin1.enc): redirect stderr to
7829         stdout
7831 2005-02-28  Jan Nieuwenhuizen  <janneke@gnu.org>
7833         * lily/general-scheme.cc (LY_DEFINE): Compile fix for systems
7834         without libintl.  Now it compiles too.
7836 2005-02-28  Graham Percival  <gperlist@shaw.ca>
7838         * Documentation/user/basic-notation.itely,
7839         instument-notation.itely, advanced-notation.itely:
7840         split up contents of notation.itely.
7842         * Documentation/user/notation.itely: file removed.
7844         * Documentation/user/invoking.itely, converters.itely:
7845         moved convert-ly info to invoking.itely.
7847         * Documentation/user/global.itely, changing-defaults.itely,
7848         sound-output.itexi: moved global settings, file layout, and
7849         sound into global.itely.
7851         * Documentation/user/sound-output.itexi: file removed.
7853         * Documentation/user/lilypond.tely: removed links to
7854         notation.itely and sound.itely.
7856 2005-02-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7858         * scm/output-ps.scm (grob-cause): only do mark_URI if non-empty.
7860         * scm/framework-ps.scm (write-preamble): remove pdf-viewer code.
7862         * THANKS: add sponsor.
7864         * scm/define-markup-commands.scm (with-url): new markup command.
7866         * scm/page-layout.scm (TAGLINE): add www.lilypond.org with URL to
7867         tagline.
7868         
7869         * scm/output-tex.scm (url-link): stub.
7871         * scm/output-ps.scm (url-link): new function.
7873         * lily/lily-parser-scheme.cc (LY_DEFINE): deprecate
7874         ly:set-point-and-click
7876 2005-02-27  Jan Nieuwenhuizen  <janneke@gnu.org>
7878         * ps/music-drawing-routines.ps (mark_file_line): Switch Action
7879         based on pdf-viewer setting.
7881         * scm/framework-ps.scm (write-preamble): Find and set preferred
7882         pdf-viewer.
7884 2005-02-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7886         * Documentation/user/point-and-click.itely: update for PDF point &
7887         click.
7889         * scripts/lilypond-pdfpc-helper.py: new file. Invoke different
7890         editors based on EDITOR setting.
7892 2005-02-27  Jan Nieuwenhuizen  <janneke@gnu.org>
7894         * scm/*: Oops, more grand 2005 replace bits.
7896 2005-02-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7898         * ps/music-drawing-routines.ps: new routine: insert PDF mark
7900         * scm/output-ps.scm (grob-cause): point & click support for
7901         PostScript
7903 2005-02-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7905         * lily/input-scheme.cc (LY_DEFINE): rename to
7906         ly:input-file-line-column
7908 2005-02-26  Graham Percival  <gperlist@shaw.ca>
7910         * Documentation/user/examples.itely: small fix from Steve Doonan.
7912         * Documentation/user/scheme-tutorial.itely: small fix from Steve Doonan.
7914         * THANKS: added Yuval Harel.
7916         * Documentation/user/{various}: inserted two spaces after a period.
7918         * Documentation/user/lilypond.tely: added framework for reorg.
7920         * Documentation/user/basic-notation.itely, instrument-notation.itely,
7921         advanced-notation.itely, global.itely: new files, placeholder for
7922         future reorg.
7924 2005-02-26 Yuval Harel  <yuvalh@hotpop.com>
7926         * Documentation/user/notation.itely: revamped Polyphony section
7927         
7928 2005-02-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7930         * Documentation/user/lilypond-book.itely (Music fragment options):
7931         doc fontload.
7933         * Documentation/user/changing-defaults.itely (Text encoding): add
7934         fontload option to utf8 include
7936         * scripts/lilypond-book.py (compose_ly): add fontload option
7938         * scm/framework-eps.scm (dump-stencils-as-EPSes): add
7939         force-eps-font-include option.
7941         * ly/chord-modifiers-init.ly (blackTriangleMarkup): reinstate
7942         black triangle
7944         * Documentation/user/invoking.itely (Editor support): remove
7945         lilypond-latex section.
7947         * scripts/lilypond-latex.py (Module): remove script.
7949         * cygwin/lily-wins.py (stat): write to .lylog, so as not to
7950         overwrite .log. 
7952         * lily/main.cc: remove -m, --no-layout
7954         * flower/include/libc-extension.hh: add ALIAS_FILE_TO_FILECOOKIE
7955         to define. We don't want to override fprintf everywhere.
7957 2005-02-26  Jan Nieuwenhuizen  <janneke@gnu.org>
7959         * cygwin/lilypond.hint: 
7960         * cygwin/README.in: Update dependencies.
7962         * stepmake/aclocal.m4 (STEPMAKE_PANGO, STEPMAKE_PANGO_FT2):
7963         Bugfix: do not pollute CPPFLAGS, LIBS.
7965         * cygwin/mknetrel (extras): Cross compile fixes.
7967         * ttftool/util.c: 
7968         * ttftool/ttfps.c: 
7969         * ttftool/ps.c: #include libc-extension.hh
7971         * flower/include/libc-extension.hh:
7972         * flower/libc-extension.cc (fopencookie)[!HAVE_FOPENCOOKIE]: Add
7973         wrapper using funopen.
7974         (fopencookie, handle_cookie_io_fclose, handle_cookie_io_fprintf,
7975         handle_cookie_io_fprintf): Add wrappers catching Memory_out_stream.
7977         * config.hh.in:
7978         * configure.in (AC_CHECK_FUNCS): Add fopencookie, funopen.
7979         (AC_CHECK_HEADERS): Add libio.h
7981         * scripts/convert-ly.py: Uniformize, internationalize.
7982         (2.5.2): Remove fatal encoding rule.
7983         (2.5.13): Handle latin1 encoding gracefully.
7985 2005-02-23  Jan Nieuwenhuizen  <janneke@gnu.org>
7987         * HACKING: Fix line breaks.
7989 2005-02-23  Werner Lemberg  <wl@gnu.org>
7991         * mf/graycx.mf, mf/graylj.mf: Removed.  Any decent TeX distribution
7992         contains those two files.
7994 2005-02-21  Werner Lemberg  <wl@gnu.org>
7996         * mf/feta-nummer-code.mf ("Numeral 5"): Include intersection point
7997         to improve overlap removal process.
7999         * mf/feta-slag.mf (draw_trillelement): Add parameter to control
8000         left and right ending.  This ensures better overlapping.
8001         Update all callers.
8002         ("lineprall"): Don't use draw_gridline to get better overlapping.
8004 2005-02-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8006         * scm/lily-library.scm (ps-embed-cff): add \n after EndResource
8008         * Documentation/topdocs/NEWS.tely (Top): oops.
8010 2005-02-21  Pedro Kroger  <kroeger@pedrokroeger.net>
8012         * HACKING: new file.
8014         * input/regression/utf8.ly (portuguese): added a portuguese example
8015         to show latin1 accents.
8017 2005-02-21  Pal Benko  <benkop@freestart.hu>
8019         * lily/mensural-ligature-engraver.cc:
8020         * lily/mensural-ligature.cc:
8021         * lily/include/mensural-ligature.hh: new algorithm implemented
8023         * scm/define-grob-properties.scm: join-left killed (add-join may
8024         be used); join-left-amount changed to join-right-amount
8026 2005-02-21  Graham Percival  <gperlist@shaw.ca>
8028         * Documentation/user/notation.itely: small but urgent fix.
8030 2005-02-21  Jürgen Reuter  <reuter@ipd.uka.de>
8032         * lily/duration-scheme.cc: bugfix: correct parameters to
8033         SCM_ASSERT_TYPE.
8035         * THANKS: added Pal.
8037         * Documentation/user/notation.itely: bugfix: unTeXified
8038         $\\backslash$.  Bugfix: yet another glyph renaming victim:
8039         "timesig.*x/y" -> "timesig.*xy".
8041 2005-02-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8042         
8043         * VERSION (PACKAGE_NAME): release 2.5.12
8045 2005-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8047         * ly/engraver-init.ly: set tieWaitForNote to #t by default
8049         * configure.in (gui_b): bump GUILE requirement to 1.6.5 
8051         * Documentation/topdocs/NEWS.tely: add inputfileref macro.
8053         * scm/framework-ps.scm (supplies-or-needs): uniq font name list.
8055 2005-02-20  Jan Nieuwenhuizen  <janneke@gnu.org>
8057         * input/mutopia/E.Satie/petite-ouverture-a-danser.ly: recode
8058         latin1..utf-8.
8060         * input/regression/stanza-number.ly:
8061         * input/regression/utf8.ly (hebrew): Use addlyrics.  Update.
8063         * lily/tie-engraver.cc (acknowledge_grob): Compile fix.
8065 2005-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8067         * Documentation/topdocs/NEWS.tely (Top): only mention 2.5
8068         NEWS. Refer to website for older news.  
8070         * stepmake/bin/add-html-footer.py (i18n): don't strip .PNG /
8071         .HTML. This should be done for specific servers only.
8073         * Documentation/topdocs/NEWS.tely (Top): move to .tely. Add some
8074         .ly image examples.
8076         * scm/define-grobs.scm (all-grob-descriptions): put ledger lines
8077         in layer 0 too.
8079         * scm/define-context-properties.scm
8080         (all-user-translation-properties): add tieWaitForNote
8082         * scm/define-grobs.scm (all-grob-descriptions): add
8083         Tie_column::before_line_breaking
8085         * lily/tie.cc (get_column_rank): new function
8087         * lily/tie-column.cc (before_line_breaking): new function.
8088         (werner_directions): take into account ties that start on
8089         different columns.  
8091         * lily/score-engraver.cc (set_columns): move add_column() so we
8092         have column rank available.
8094         * lily/tie.cc (get_column_rank): new function.
8096         * input/regression/utf8.ly (japanese): add japanese lyrics.
8098         * lily/pfb.cc (LY_DEFINE): ly:ttf->pfa, new function.
8100         * THANKS: add Steve D
8102         * ttftool/*.c: add TTF -> Type42 conversion library. Based on
8103         Public Domain work by Juliusz Chroboczek <jch@pps.jussieu.fr>
8105 2005-02-20  Tatsuya Ono  <tats_ono@infoseek.jp>
8107         * mf/parmesan-heads.mf: "0harmonic" -> "s0harmonic"
8108         to show harmonic notes
8109         * scm/define-markup-commands.scm: in \markup-by-number
8110         "dots-dot" -> "dots.dot" to show dotted notes
8112 2005-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8114         * flower/include/memory-stream.hh (class Memory_out_stream): new file.
8116         * flower/memory-stream.cc (writer): new file.
8118         * configure.in: add endian test.
8120 2005-02-19  Jürgen Reuter  <reuter@ipd.uka.de>
8122         * Documentation/user/examples.itely: small
8123         simplification/beautification
8125         * Documentation/user/notation.ietly: bugfix: fixed many artefacts
8126         from the "x-y-z"->"x.y.z" renaming of glyphs throughout the whole
8127         notation manual.
8129         * lily/mensural-ligature.cc: bugfix: another few victims of the
8130         "x-y-z"->"x.y.s-z" symetrical notehead glyph renaming.
8132         * ly/gregorian-init.ly: commit some experimental code for hi-level
8133         ligature input language lying around here for several months.
8135         * lily/mensural-ligature-engraver.cc: bugfix: another victim of
8136         the "x-y-z"->"x.y.s-z" symetrical notehead glyph renaming.
8138         * lily/vaticana-ligature-engraver.cc: bugfix: another few
8139         "x-y-z"->"x.y.s-z" fixes.
8141 2005-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8143         * scm/framework-pdf.scm (scm): new file
8145         * lily/include/pdf.hh (class Pdf_file): new file.
8147         * lily/pdf.cc (write_trailer): new file.
8149 2005-02-18  Erlend Aasland  <erlenda@gmail.com>
8151         * input/regression/color.ly: new file
8153         * lily/stencil.cc (interpret_stencil_expression):
8154         when a color expression is encountered: save current color,
8155         process the rest of the expression, and restore previous color.
8157         * lily/system.cc (get_line): check all grobs for color property and
8158         prepare the stencil scheme expressions for further processing.
8159         Fix layer-loop.
8161         * scm/define-grob-properties.scm: introduce the color property.
8163         * scm/output-lib.scm: color helper functions.
8165         * scm/output-ps.scm: introduce setcolor/resetcolor.
8167 2005-02-07  Erik Sandberg  <ersa9195@student.uu.se>
8169         * ly/*.ly, input/regression/*.ly: Added missing \version
8170         statements in some files.
8172 2005-02-15  Graham Percival  <gperlist@shaw.ca>
8174         * Documentation/user/notation.itely: minor editing.
8176         * Documentation/user/converters.itely: updated convert-ly bugs.
8178         * Documentation/user/lilypond-book.itely: add info about using
8179         feta characters in latex.
8181 2005-02-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8183         * scripts/convert-ly.py: new slur dash patch by Bertalan Fodor.
8185 2005-02-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8187         * scm/define-grob-properties.scm (all-user-grob-properties):
8188         removed 'dashed property.
8190 2005-02-13  Nicolas Sceaux  <nicolas.sceaux@free.fr>
8192         * scm/lily.scm (define-safe-public): new macro for defining
8193         variables that can be used in --safe mode. Use it in *.scm
8194         instead of manually setting safe-objects in safe-lily.scm.
8196 2005-02-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8197         
8198         * lily/slur.cc: Slur-dash patch by Bertalan.
8200         * ly/engraver-init.ly (EasyNotation): glyph name dash -> period.
8202         * stepmake/bin/add-html-footer.py (do_file): do i18n only once. 
8204 2005-02-10  Jan Nieuwenhuizen  <janneke@gnu.org>
8206         * stepmake/aclocal.m4: teTeX-3.0 inimf fix.  Comment-out.
8208 2005-02-09  Jan Nieuwenhuizen  <janneke@gnu.org>
8210         * mf/GNUmakefile: teTeX-3.0 install fix.
8212         * Cygwin patch from Bertalan.
8214         * stepmake/stepmake/metafont-rules.make: Remove bashism.
8216 2005-02-08  Jan Nieuwenhuizen  <janneke@gnu.org>
8218         * GNUmakefile.in: 
8219         * SConstruct (symlink): teTeX-3.0 build fix: add map symlink.
8221         * tex/GNUmakefile: teTeX-3.0 fix: install .enc in fonts/enc.  Add
8222         2.0.x compatibility.
8224 2005-02-08  Werner Lemberg  <wl@gnu.org>
8226         * mf/feta-din-code.mf: Format; clean up code.
8227         Replace `---' with `--' plus explicit path directions.
8228         (linethickness#, stafflinethickness#): Remove.
8229         ("dynamic f"): Replace `draw' with `draw_rounded_block'.
8230         ("dynamic s"): Improve shape.
8231         ("dynamic p"): Improve shape.
8232         Replace `draw' with better outline approximation.
8233         ("dynamic r"): Improve shape.
8234         Don't call `fill' and `draw' at the same time.
8236 2005-02-08  Jan Nieuwenhuizen  <janneke@gnu.org>
8238         * SConstruct (symlink):
8239         * GNUmakefile.in ($(builddir)/share/lilypond-force): teTeX-3.0
8240         build fix: add enc symlink.
8242         * lily/general-scheme.cc: Compile fixes: include wchar.h, string.h.
8244         Support for DESTDIR besides prefix=/foo
8246         * vim/GNUmakefile (local-install): Use $(INSTALL) -d iso mkdir.
8248         * stepmake/stepmake/*.make:
8249         * */GNUmakefile:
8250         * GNUmakefile.in: Prepend $(DESTDIR) to installation directory.
8252         * config.make.in (prefix): Remove broken $(DESTDIR) hack.
8254         * stepmake/aclocal.m4: Use %0.f iso %d to quiet gawk < 3.1.4 and
8255         mawk in fontforge (date) test.
8257 2005-02-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8259         * scm/font.scm (make-century-schoolbook-tree): add NCS as
8260         font-family=roman. Add Luxi Sans as sans
8262 2005-02-07  Graham Percival  <gperlist@shaw.ca>
8264         * Documentation/user/notation.itely: add warning about
8265         percent repeats and Voice contexts.
8267         * Documentation/user/lilypond-book.itely: clarified the
8268         necessity of dvips -u arguments.
8270 2005-02-07  Erik Sandberg  <ersa9195@student.uu.se>
8272         * THANKS: Added a bunch of bug hunters.
8274 2005-02-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8276         * scm/framework-ps.scm (output-preview-framework): bugfix.
8278         * ly/chord-modifiers-init.ly (ignatzekExceptionMusic): use unicode
8279         o/ for chord modifier..
8281         * lily/general-scheme.cc (LY_DEFINE): new function ly:wide-char->utf-8.
8283         * lily/drum-note-performer.cc:  remove unused (thanks Michael
8284         Welsh Duggan). 
8286 2005-02-06  Jan Nieuwenhuizen  <janneke@gnu.org>
8288         * Documentation/user/changing-defaults.itely (Text encoding): Clarify.
8290         * ly/titling-init.ly: Do not also print intstrument in header on
8291         first page.  Do not print page number on first and only page.
8293 2005-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8295         * input/regression/*.ly: remove old-relative everywhere
8297         * lily/music-sequence.cc (simultaneous_relative_callback): do
8298         what-if analysis on copy, not on original. Fixes old-relative
8299         compatibility.
8301         * scm/backend-library.scm (postscript->png): space before
8302         --verbose.
8303         
8304 2005-02-05  Werner Lemberg  <wl@gnu.org>
8306         * mf/feta-autometric.mf (fet_beginchar): Check whether `feta_group'
8307         is defined.
8309         * mf/feta-alphabet.mf: Define `staffsize#'.
8310         Include `feta-params.mf'.
8311         s/staffheight/design_size/.
8313         * mf/feta-alphabet??.mf: s/staffheight/design_size/.
8315         * mf/feta-alphabet26.mf: Fix a serious bug (design size off by 8pt).
8317         * mf/feta-nummer-code.mf: Reformatted.
8318         (draw_six): Use outline intersection to avoid a self-intersecting
8319         path.
8320         ("Numeral comma"): Fix serious outline glitches.  This slightly
8321         changes the glyph shape.
8322         ("Numeral dash"): Use `draw_rounded_block'.
8323         ("Numeral dot"): Use `drawdot'.
8324         ("Numeral 1"): Assure identical tangent directions for the
8325         intersection points of paths.  The glyph shape improvement is only
8326         visible at very high magnifications.
8327         ("Numeral 2"): Use `solve' macro to make the lower right part of
8328         the glyph outline touch the x axis exactly.  This changes the
8329         glyph shape.
8330         Minor fixes for better overlap removal support.
8331         ("Numeral 4"): Make lefter corner `rounder'.
8332         ("Numeral 5"): Assure identical tangent directions for the
8333         intersection points of paths.  This improves the glyph shape at
8334         high magnifications.
8335         ("Numeral 7"): Use `solve' macro to make the upper right part of
8336         the glyph outline touch the metrics box exactly.  This changes the
8337         glyph shape.
8338         Avoid corner in the upper left part of the glyph (causing a minor
8339         shape change).
8341         * mf/feta-ital-*.mf: Removed.  Unused.
8343 2005-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8345         * VERSION (PATCH_LEVEL): release 2.5.11
8347         * input/regression/fill-line-test.ly: new file.
8349         * buildscripts/gen-emmentaler-scripts.py (i): insert dash in
8350         emmentaler name, eg. emmentaler-23. 
8352 2005-02-04  Christian Hitz  <chhitz@gmx.net>
8354         * scm/scm/define-markup-commands.scm (fill-line): rework for better
8355         alignment with centered texts
8357         * scm/stencil.scm (stack-stencils-padding-list): new function, takes a
8358         list of paddings
8360 2005-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8362         * mf/GNUmakefile ($(outdir)/lilypond.map): add aybabtu to .map file.
8364         * lily/note-column.cc (translate_rests): call flush_extent_cache()
8365         of parents when translating rests. Fixes: c-chord-rest.ly 
8367         * lily/include/dimension-cache.hh (struct Dimension_cache): add
8368         dimension_callback_ member.
8370         * lily/grob.cc (flush_extent_cache): new function. Force recompute
8371         of extents.
8373 2005-02-04  Jan Nieuwenhuizen  <janneke@gnu.org>
8375         * all but lily/*: The grand 2004/2005 replace.
8377 2005-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8379         * lily/*: add space after ,  
8381         * scm/music-functions.scm (has-request-chord): don't use
8382         ly:music-name anywhere. Fixes <<\\>> notation. 
8384         * scm/define-markup-commands.scm (box): use font-size for
8385         padding. Fixes boxed-rehearsal-marks.ly
8387         * lily/parser.yy (assignment_id): allow LYRICS_STRING as
8388         identifier definition too, so foo = \lyrics { ...   } bar = #1
8389         doesn't complain about "bar" being LYRICS_STRING.
8391         * lily/paper-def.cc (find_pango_font): new routine; Store
8392         pango_fonts in hash tab too. This is necessary for retrieving
8393         Pango_fonts::physical_font_tab() later on.
8395         * lily/pango-font.cc (pango_item_string_stencil): bugfix: don't
8396         crash if psname is null.
8398         * lily/lily-guile.cc (ly_hash2alist): new function
8400         * Documentation/user/changing-defaults.itely (Text encoding):
8401         rewrite. 
8403         * lily/pango-font.cc (physical_font_tab): new member. Store PSname
8404         -> font_filename mapping.
8406         * lily/pango-font-scheme.cc (LY_DEFINE): new file. New function
8407         ly_pango_font_physical_fonts
8409         * scm/framework-ps.scm (supplies-or-needs): extract names from
8410         physical Pango_fonts.
8412         * utf8.ly: new file.
8414 2005-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8416         * Documentation/user/changing-defaults.itely (Page layout): add
8417         doco about systemSeparatorMarkup.
8419         * scm/page-layout.scm (default-page-make-stencil): add-to-page
8420         function.
8421         (default-page-make-stencil): insert system separators.
8423         * scm/define-markup-commands.scm (hcenter): add
8424         (beam): add.
8426 2005-02-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8428         * scm/output-ps.scm (ez-ball): reinstate ez notation.
8430 2005-02-01  Jan Nieuwenhuizen  <janneke@gnu.org>
8432         * lily/main.cc: Spell backend consistently.  Sort options.
8434 2005-01-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8436         * scripts/lilypond-book.py (Module): revert @include.
8437         
8438 2005-01-31  Jan Nieuwenhuizen  <janneke@gnu.org>
8440         * scripts/lilypond-book.py: Resurrect HTML links to .ly source.
8441         Bugfix: @include .tex (not .texi).  Small cleanups.
8443         * stepmake/bin/add-html-footer.py (i18n): New function.
8445 2005-01-31  Werner Lemberg  <wl@gnu.org>
8447         * mf/feta-nummer.mf: Removed.  Unused.
8449 2005-01-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8451         * lily/ : 2004 -> 2005 s&r
8453         * scm/file-cache.scm (cached-file-contents): add file. Read each
8454         file only once.
8456         * scm/font.scm (add-pango-fonts): change order. Medium weight is
8457         now default.
8459         * VERSION: release 2.5.10
8460         
8461         * mf/GNUmakefile (INSTALLATION_OUT_FILES4): install cff.ps files.
8463         * make/ly-rules.make ($(outdir)/%.texi): detect new EOF marker.
8465         * scm/framework-ps.scm (dump-stencil-as-EPS): robustness: ensure
8466         that both X and Y extents of bbox are non-nil.
8468 2005-01-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8470         * scm/chord-name.scm (alteration->text-accidental-markup): change
8471         - to . 
8473         * scm/output-ps.scm (utf8-string): add utf8-string for completeness.
8475         * scm/framework-ps.scm (dump-stencil-as-EPS): new function
8477         * Documentation/user/invoking.itely (Invoking lilypond): add note
8478         about EPS backend.
8480         * scm/framework-eps.scm: new file: create per-system/per-page EPS
8481         files for inclusion in lilypond-book document.
8483         * input/tutorial/lbook-latex-test.tex: rename from lilbook.tex
8485         * input/tutorial/lbook-texi-test.texi: new file.
8487         * scm/safe-lily.scm (safe-objects): add
8488         {begin,end}-of-line-(in)?visible as safe.
8490 2005-01-30  Graham Percival  <gperlist@shaw.ca>
8492         * Documentation/user/changing-defaults.itely: fixed example
8493         of (dynamics).
8495 2005-01-29  Graham Percival  <gperlist@shaw.ca>
8497         * lily/main.cc: fix info about -o=FILE.
8499 2005-01-29  Werner Lemberg  <wl@gnu.org>
8501         * mf/feta-toevallig.mf ("Natural"): Completely changed the
8502         construction to assure smooth transition from straight to curved
8503         lines.
8505 2005-01-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8507         * lily/stencil.cc (moved_to_edge): don't halt on adding empty
8508         stencils.
8510         * ps/lilyponddefs.ps: add start-page, start-system doesn't
8511         translate to top of page. Fixes alignment problems of
8512         lilypond-generated EPS files.
8514 2005-01-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8516         * scm/part-combiner.scm (analyse-spanner-states): trigger on
8517         crescendo-end as well, since Decrescendo maybe ended with Stop
8518         Crescendo.). Fixes: partcombine-diminuendo.ly
8520         * scm/script.scm (default-script-alist): swap portato symbols.
8522         * lily/instrument-name-engraver.cc (acknowledge_grob): typo.
8524         * lily/paper-outputter-scheme.cc (LY_DEFINE):
8525         ly:outputter-port. New function.
8527         * scm/framework-ps.scm (output-classic-framework): dump a
8528         -systems.texi too
8529         (output-classic-framework): dump multiple systems on an "infinite"
8530         page EPS including fonts. 
8532         * scripts/lilypond-book.py (Lilypond_snippet.ly_is_outdated): use
8533         .eps files for both texi and tex formats. Use PNG coming from
8534         lilypond.
8535         
8536 2005-01-28  Graham Percival  <gperlist@shaw.ca>
8538         * Docuemntation/user/invoking.itely: fix info about -o=FILE.
8540         * scripts/lilypond-latex.py: fix info about -o=FILE.
8542 2005-01-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8544         * ly/generate-embedded-cff.ly: write .cff.ps files.
8546         * mf/GNUmakefile ($(outdir)/lilypond.map): add .cff.ps to .map file.
8548         * stepmake/stepmake/metafont-rules.make ($(outdir)/%.pfb
8549         $(outdir)/%.svg $(outdir)/%.pfa): remove --simplify
8551 2005-01-28  Jan Nieuwenhuizen  <janneke@gnu.org>
8553         * lily/include/guile-compatibility.hh (SCM_VECTOR_P): Compile fix.
8555 2005-01-28  Werner Lemberg  <wl@gnu.org>
8557         * mf/feta-macros.mf (soft_start_penstroke, soft_end_penstroke): New
8558         macros.
8559         (draw_bulb): Improved.
8561         * mf/feta-pendaal.mf ("Pedal asterisk"): Remove workaround for
8562         metapost bug.
8563         (draw_pedal_P): Use soft_end_penstroke.
8564         (draw_pedal_d): Use soft_start_penstroke.
8566         * mf/feta-schrift.mf ("Trill (`tr')"): Remove redundant point in
8567         path.
8568         ("Varied Coda"): Move some points to avoid fontforge warnings.  This
8569         doesn't change the glyph shape.
8571         * mf/feta-accordion.mf ("accOldEE"): Draw glyph differently (without
8572         changing the shape) to avoid fontforge warnings.
8574         * mf/feta-klef.mf (draw_tab_T, draw_tab_A, draw_tab_B): Use
8575         soft_end_penstroke and fix glyph shape.
8577 2005-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8579         * lily/*.cc: Scheme deprecation of SCM_VECTOR_* 
8581 2005-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8583         * scm/define-markup-commands.scm (line): filter out empty stencils
8584         from line command.
8586         * lily/stencil-scheme.cc (LY_DEFINE): only allow finite real
8587         amount.
8589 2005-01-27  Graham Percival  <gperlist@shaw.ca>
8591         * Documentation/user/notation.itely: added info about what
8592         \voiceFoo does.  Also rewrote warning about marks at
8593         a line break.
8595         * Documentation/user/changing-defaults.itely: added info
8596         about putting dynamics in parenthesis and brackets.
8598 2005-01-27  Werner Lemberg  <wl@gnu.org>
8600         * mf/feta-schrift.mf ("Trill (`tr')"): Fix typo.
8602 2005-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8604         * mf/feta-schrift.mf: reverse u and d portato. Fixes:
8605         portato-direction.ly
8607         * lily/beam.cc (consider_auto_knees): add beam height to
8608         threshold. Fixes: knee-multiple-beam.ly
8610         * lily/instrument-name-engraver.cc (acknowledge_grob): also ignore
8611         pedal line spanners. Fixes: instrument-center-pedal.ly
8613         * lily/auto-beam-engraver.cc (acknowledge_grob): stop beam
8614         if encountering barline. Fixes: auto-beam-repeat.ly
8616 2005-01-26  Werner Lemberg  <wl@gnu.org>
8618         * mf/feta-slag.mf (draw_trillelement): Fix shape to get clean
8619         overlapping.
8621         * mf/feta-toevallig.mf (draw_meta_sharp): Fix shape to avoid curves
8622         with inflections for the 1/2 sharp glyph.
8624         * mf/feta-schrift.mf ("Trill (`tr')"): Fix start position of
8625         connection between `t' and `r'.
8626         Unify bulb with the rest of `r' to avoid grazing outlines which
8627         confuses the overlap removal algorithm of fontforge.
8629         * mf/feta-bolletjes.mf (draw_slash): Fix shape to avoid curves with
8630         inflections.
8631         (draw_cross): Fix shape to have uniform thickness in corners.
8633         * mf/feta-pendaal.mf (draw_pedal_P): Break shape into smaller pieces
8634         to avoid an uneven number of self-intersections; this confuses
8635         fontforge.
8636         Fix a slight bug in the shape at left bottom (which is visible only
8637         at high magnifications).
8638         `Center' the stem horizontally to avoid overlapping.
8640 2005-01-24  Werner Lemberg  <wl@gnu.org>
8642         * mf/feta-autometric.mf (fet_beginfont): Set font_coding_scheme
8643         to `asis'.
8644         (fet_begingroup): Save group name in string `feta_group'.
8645         (fet_endgroup): Updated.
8646         (fet_beginchar): Emit `glyph_name' special for mf2pt1.
8648         * mf/feta-bolletjes.mf: s/p/pat/ for paths.
8650         * mf/feta-pendaal.mf ("Pedal asterisk"): Add workaround for bug
8651         in metapost.
8653 2005-01-24  Graham Percival  <gperlist@shaw.ca>
8655         * Documentation/user/notation.itely: really minor editing.
8657 2005-01-22  Graham Percival  <gperlist@shaw.ca>
8659         * Documentation/user/examples.itely: minor editing.
8661         * Documentation/user/changing-defaults.itely: minor editing.
8663         * Documentation/user/notation.itely: clarified info on polyphony
8664         and \addlyrics.
8666 2005-01-22  Jan Nieuwenhuizen  <janneke@gnu.org>
8668         * scm/output-gnome.scm: 
8669         * scm/output-svg.scm:
8670         * scm/lily-library.scm (font-name-style): Update font name
8671         kludging for fontconfig use.
8673 2005-01-20  Erlend Aasland  <erlenda@gmail.com>
8675         * scm/define-markup-commands.scm: Document right-align and
8676         larger markup commands. Remove "TODO" from the topmost comment
8677         "each markup function should have a doc string." More consistent
8678         use of new-lines.
8680 2005-01-22  Graham Percival  <gperlist@shaw.ca>
8682         * Documentation/user/changing-defaults: removed info about
8683         copyright symbol, since it's likely to change soon.
8684         Added info about betweensystemspace.
8686         * Documentation/user/notation.itely: minor fixes.
8688         * Documentation/user/lilypond.tely,
8689         Documentation/user/music-glossary.tely: changed copyright
8690         date to 2005 instead of 2004.
8692         * input/test/volta-chord-names.ly: added old example back.
8694 2005-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8696         * mf/feta-beugel.mf: use design size 20 (not 15).
8698         * mf/aybabtu.pe.in: scale brace fonts to design sizes.
8699         change name to aybabtu completely
8701 2005-01-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8703         * buildscripts/gen-emmentaler-scripts.py (outdir): add
8704         design_size to fontname
8706 2005-01-19  Werner Lemberg  <wl@gnu.org>
8708         * mf/feta-accordion.mf, mf/feta-klef.mf, mf/feta-pendaal.mf,
8709         mf/feta-schrift.mf: s/p/pat/ if a path variable.
8711         * mf/feta-autometric.mf (set_char_box): Add code which emits
8712         specials for mf2pt1 if run with metapost.
8713         (to_bp): New macro for mf2pt1.
8715 2005-01-18  Graham Percival  <gperlist@shaw.ca>
8717         * Documentation/user/changing-defaults: added info on
8718         creating a copyright symbol.
8720 2005-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8722         * VERSION: release 2.5.9
8723         
8724 2005-01-18  Erlend Aasland  <erlenda@gmail.com>
8726         * scm/auto-beam.scm: Simplify score-override-auto-beam-setting
8728         * Documentation/user/notation.itely: Document
8729         score-override-auto-beam-setting Fix documentation for
8730         revert-auto-beam-setting.
8732 2005-01-18  Werner Lemberg  <wl@gnu.org>
8734         * scm/framework-ps.scm (ps-embed-cff): Fix DSC comments.
8735         (procset): New function to define a procset resource.
8736         (ps-embed-pfa): New function to define a font resource.
8737         (setup): New function to define a `Setup' environment.
8738         (preamble): Use new functions.
8740         * ps/lilypond.defs (init-lilypond-parameters): New function to
8741         get rid of directly executed PS code.  Used in scm/framework-ps.scm.
8743 2005-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8745         * mf/GNUmakefile (MFTRACE_FLAGS): add --no-afm to MFTRACE_FLAGS
8747 2005-01-17  Erlend Aasland  <erlenda@gmail.com>
8749         * scm/define-markup-commands.scm: Change number->markletter-string
8750         to take two arguments (vector number). Add number->mark-alphabet-vector
8751         and markalphabet markup command.
8753         * scm/translation-functions.scm: Add format-mark-box-alphabet,
8754         format-mark-alphabet, format-mark-box-barnumbers and
8755         format-mark-barnumbers. Fix bug in format-mark-box-numbers.
8757 2005-01-17  Graham Percival  <gperlist@shaw.ca>
8759         * Documentation/user/examples.itely: add SATB automatic piano
8760         reduction template.
8762         * Documentation/user/notation.itely: added info about changing
8763         partcombine texts.  Also adds examples of alternate lyrics.
8765         * Documentation/user/changing-defaults.itely: added warning
8766         about \RemoveEmptyStaffContext overriding previous changes.
8768 2005-01-17  Werner Lemberg  <wl@gnu.org>
8770         * buildscripts/mf-to-table.py: Use `FetaAlphabetEncoding' for
8771         feta-alphabet*.
8773 2005-01-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8775         * python/lilylib.py (make_ps_images): don't do final showpage for
8776         multi-page documents.
8777         
8778         * VERSION (MY_PATCH_LEVEL): release 2.5.8
8780 2005-01-16  Graham Percival  <gperlist@shaw.ca>
8782         * Documentation/user/lilypond.tely: changed order of appendices;
8783         unified index should be last.
8785         * Documentation/user/notation.itely: add example of key signatures
8786         and info about Staff.printKeyCancellation.
8788 2005-01-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8790         * lily/include/repeated-music.hh (class Repeated_music): change
8791         into "namespace" class.
8793         * lily/event.cc: remove Key_change_event.
8795         * lily/include/transposed-music.hh (class Transposed_music): remove.
8797         * lily/transposed-music.cc: remove
8799         * lily/include/relative-music.hh: remove.
8801         * lily/include/music-sequence.hh (struct Music_sequence): change
8802         into "namespace" class.
8804         * lily/untransposable-music.cc (Module): remove
8806         * lily/include/un-relativable-music.hh (Module): remove
8808         * lily/include/untransposable-music.hh (Module): remove
8810         * lily/include/music-list.hh (Module): remove file
8812         * lily/un-relativable-music.cc: remove file.
8814 2005-01-14  Jan Nieuwenhuizen  <janneke@gnu.org>
8816         * lily/parser.yy: Compile fix.
8818 2005-01-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8820         * lily/include/music.hh (class Music): unvirtualize transpose().
8822         * lily/sequential-music.cc: remove file.
8824         * lily/include/lyric-combine-music.hh ("music.hh"): remove file.
8826         * lily/slur-scoring.cc (get_best_curve): only switch on
8827         DEBUG_SLUR_SCORING for non NDEBUG builds.
8829         * lily/include/music.hh (class Music): replace Music::start_mom()
8830         by start-callback property
8832         * lily/include/grace-music.hh: remove file. 
8834         * lily/stem.cc (height): robustness fix.
8836         * lily/time-scaled-music.cc: remove file.
8838         * lily/include/music.hh (class Music): include SCM init argument.
8839         (class Music): replace Music::get_length() virtual by
8840         length-callback property everywhere.
8842         * scripts/convert-ly.py (conv): add  # to \property scalar value.
8844         * mf/GNUmakefile: don't install *list.ly
8846 2005-01-14  Jan Nieuwenhuizen  <janneke@gnu.org>
8848         * mf/GNUmakefile (CFF_FILES): Bugfix: only big cheeses and braces.
8850 2005-01-12  Werner Lemberg  <wl@gnu.org>
8852         This patch addresses the following problems in the feta sources
8853         files which contribute to the fetaXX fonts.
8855         . Many fixes for rasterization at low resolutions (consistent use of
8856           `vround' and `hround', integer shift values for paths, applying
8857           `eps' for mirrored paths, use of `define_whole_pixels' and
8858           friends, etc.) -- while this probably looks like a waste of time
8859           it has revealed deficiencies in some glyph shapes.  See comment at
8860           the end of feta-params.mf how vertical symmetry is achieved.
8862         . The `---' operator has been replaced everywhere with `--'; this
8863           both improves and considerably reduces the font size after
8864           conversion with mf2pt1.
8866         These change aren't explicitly mentioned below since virtually all
8867         glyphs are affected.
8869         Other notable differences:
8871         . Glyphs from feta-accordion.mf now have charboxes around the
8872           outline.
8874         . Fixed incorrect charbox for `accDot'.
8876         . The `rcomma' and `lcomma' glyphs were distorted due to a typo.
8878         . Fixed position of the bow in the `upprall' glyph and its siblings.
8880         . The bulb size in the `2/2 meter' and `4/4 meter' glyphs is now
8881           dependent on the staff line thickness to avoid touching the middle
8882           staff line at smaller sizes.
8884         . Largely extended output for feta-testXX: Where useful, glyphs
8885         are shown both between and on staff lines.
8888         * mf/feta-params.mf (staff_space_rounded,
8889         stafflinethickness_rounded, linethickness_rounded,
8890         ledgerlinethickness_rounded, stemthickness_rounded): New variables.
8891         Update all code which uses them where appropriate.
8892         (feta_eps, feta_shift, feta_space_shift, feta_offset, feta_fillpen):
8893         New variables used to control rasterization at low resolutions.  Set
8894         to zero if feta code is processed with metapost.
8896         * mf/feta-macros.mf (draw_staff, draw_staff_outline): Updated.
8897         (draw_rounded_block, draw_square_block): Updated to use `--' only.
8898         (flare_path): Updated.
8899         Make it work with `filldraw' (but only circular pens).
8900         (hfloor, vfloor, hceiling, vceiling): New macros.
8902         * mf/feta-accordion.mf ("accDiscant", "accFreebase", "accStdbase"):
8903         Use `draw' again in mf mode to have good pixel dropout control.
8904         Fix intersection points of horizontal lines with circle.
8905         ("accDot"): Fix parameters for set_char_box.
8906         ("accOldEE"): Use `draw' again in mf mode to have good pixel dropout
8907         control.
8909         * mf/feta-banier.mf: Updated.
8911         * mf/feta-bolletjes.mf (remember_pic): New variable, used for
8912         testing.
8913         (undraw_inside_ellipse): Remove `center' argument.  Update all
8914         callers.
8915         (draw_brevis): New macro, called by "Brevis notehead".
8916         (draw_whole_triangle_head): New macro, called by "Whole
8917         trianglehead".
8918         (draw_small_triangle_head): Use `filldraw'.
8920         * mf/feta-eindelijk.mf: Remove useless global group.
8921         Updated.
8923         * mf/feta-klef.mf (draw_c_clef): Correct point positions for using
8924         `filldraw'.
8926         * mf/feta-pendaal.mf: Updated.
8928         * mf/feta-puntje.mf: Updated.
8930         * mf/feta-schrift.mf (draw_very_long_fermata): Simplified to use
8931         less points.
8932         ("Flageolet"): Use `draw' again in mf mode to have good pixel
8933         dropout control.
8934         ("Varied Coda"): Use `draw_block'.
8935         (draw_comma): Fix typo.
8936         (draw_arpeggio_arrow): Use `draw' also in mf mode to have good
8937         pixel dropout control.
8939         * mf/feta-slag.mf ("upprall", "downprall", "lineprall"): Fix start
8940         position of bow.
8942         * mf/feta-timesig.mf (draw_C): Reduce bulb size for smaller design
8943         sizes.
8945         * mf/feta-toevallig.mf (remember_pic): New variable, used for
8946         testing.
8947         (draw_meta_sharp): Much simplified.
8948         ("Sharp", "1/2 Sharp", "3/4 Sharp"): Don't rotate but shift.
8950         * mf/feta-test-generic.mf: Include all files as in feta-generic.mf.
8952 2005-01-13  Mats Bengtsson  <mabe@drongo.s3.kth.se>
8954         * Documentation/user/notation.itely (Ancient rests): Fix typo
8955         (thanks Anthony)
8957 2005-01-13  Jan Nieuwenhuizen  <janneke@gnu.org>
8959         * scm/auto-beam.scm (score-override-auto-beam-setting): New function.
8961         * lily/main.cc (setup_paths): Add cff.
8963         * mf/GNUmakefile (foe): Include actual target %.cff.
8964         (INSTALLATION_OUT_SUFFIXES): Install CFF and SVG fonts too.
8966 2005-01-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8968         * lily/include/lily-lexer.hh (class Lily_lexer): lose hungarian _b
8969         suffix for main_input_b_.
8971         * scm/music-functions.scm (toplevel-music-functions):
8972         precompute music lengths for music expressions.  
8974 2005-01-11  Nicolas Sceaux  <nicolas.sceaux@free.fr>
8976         * lily/include/input.hh (class Input): new `end_' slot for end of
8977         input. Renamed defined_str0_ to start_.
8979         * lily/input.cc (Input): Add Input::Input (Input const &) and
8980         remove Input::Input (Source_file*, char const *). Use the new
8981         slots.
8982         (set_location): method used by bison to propagate input
8983         locations (YYLLOC_DEFAULT).
8984         (end_line_number, end_column_number, step_forward): new methods
8985         
8986         * lily/input-scheme.cc (ly:input-both-locations): new function,
8987         similar to ly:input-location, but also return the end line and
8988         column.
8990         * lily/include/includable-lexer.hh: 
8991         * lily/includable-lexer.cc: 
8992         * lily/include/lily-lexer.hh (class Lily_lexer): 
8993         * lily/lily-lexer.cc (add_lexed_char): Move add_lexed_char from
8994         Includable_lexer to Lily_lexer, in order to update lexloc (the
8995         yylloc), a new slot of Lily_lexer.
8996         (here_input, LexerError): simplify by using the lexloc slot (aka
8997         yylloc)
8999         * lily/lexer.ll: #define yylloc to use input locations (it may
9000         be useless here?). Fixed the #embedded_scm rule (step the location
9001         forward in order to skip the sharp sign before parsing the scheme
9002         expression)
9004         * lily/include/lily-parser.hh (class Lily_parser): 
9005         * lily/lily-parser.cc: Remove push_spot(), pop_spot() and
9006         here_input()
9007         (parser_error): overload for more precise locations of errors.
9009         * lily/parser.yy (YYLTYPE): set location type to Input
9010         (YYLLOC_DEFAULT): use Input::set_location()
9011         (yylex): add the YYLTYPE* location parameter.
9012         Clean push_spot()/pop_spot()/here_input(), and use @$, @1, etc.
9013         Give an Input parameter to THIS->parser-error() for more accurate
9014         messages.
9016 2005-01-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9018         * stepmake/aclocal.m4: do NDEBUG for optimizing builds.
9020         * lily/include/beam.hh (DEBUG_QUANTING): performance: only switch
9021         on BEAMQUANTING for non-NDEBUG builds.
9023         * lily/stem.cc (head_count): performance: avoid String::String()
9024         inside oft called function.
9026 2005-01-09  Graham Percival  <gperlist@shaw.ca>
9028         * Documentation/user/examles.itely: attempted fix for broken
9029         string quartet template.
9031         * Documentation/user/notation.itely: remove unnecessary broken
9032         link.
9034 2005-01-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9036         * VERSION (PACKAGE_NAME): release 2.5.7
9038 2005-01-09  Jan Nieuwenhuizen  <janneke@gnu.org>
9040         * config.make.in (METAFONT): Append -progname=mf, fixes use with
9041         mf-nowin for teTeX-3.0.  Backportme.
9043         * scm/output-svg.scm (utf8-string): New function.
9045         * scm/output-gnome.scm (utf8-string): New function.
9046         (otf-name-mangling): Remove.
9048         * lily/pango-font.cc (Pango_font): Use font string iso font
9049         filename for utf8-text.
9051         * buildscripts/gen-emmentaler-scripts.py: Remove designsize from
9052         name.
9054 2005-01-08  Graham Percival  <gperlist@shaw.ca>
9056         * Documentation/user/notation.itely: add info about
9057         Staff.extraNatural = ##f in Pitches section.  Also
9058         fixed some minor issues in the Vocal music section.
9060 2005-01-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9062         * scm/output-ps.scm (white-text): comment out Helvetica font,
9063         which is broken for my GS install.
9065         * lily/pango-font.cc (pango_item_string_stencil): use ink_rect,
9066         which provides a tighter bbox.
9068         * scm/define-grobs.scm (all-grob-descriptions): remove all
9069         extra-offsets from definitions.
9071 2005-01-08  Erlend Aasland  <erlenda@gmail.com>
9073         * scm/output-lib.scm: Rename guitar-tunings to guitar-tuning and
9074         add tuning for 4-string bass and some common 4/5-string banjo
9075         tunings.  New function (four-string-banjo) turns a 5-string tuning
9076         into a 4-string tuning.  New function
9077         (fret-number-tablature-format-banjo) computes correct fret numbers
9078         on 5-string banjos.
9080         * ly/engraver-init.ly: Default stringTunings = #guitar-tuning
9081         Add beam correction to TabVoice.
9083         * scm/define-grobs.scm: Adjust notehead offset. Print fret numbers
9084         using bold font; makes tabs more readable.
9086 2005-01-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9088         * lily/font-select.cc (get_font_by_design_size): don't make
9089         Modified_font_metric; this causes trouble, since we don't know the
9090         font magnification from inside Pango_font::text_stencil()
9092         * lily/all-font-metrics.cc (find_pango_font): take magnification argument.
9094         * Documentation/user/notation.itely (The Lyrics context): comment out
9095         broken {Small ensembles} link.
9097         * scm/framework-svg.scm (output-framework): change calling convention.
9099         * lily/object-key-dumper-scheme.cc: new file.
9101         * lily/object-key-undumper-scheme.cc: new file.
9103         * lily/tweak-registration-scheme.cc: new file.
9105         * lily/pango-select.cc (symbol_to_pango_variant): init local variable.
9107         * Documentation/user/examples.itely (String quartet): uncomment
9108         broken example.
9110         * lily/font-config.cc: new file.
9112 2005-01-08  Jan Nieuwenhuizen  <janneke@gnu.org>
9114         * scm/output-svg.scm: 
9115         * scm/output-gnome.scm: s/bigcheese/emmentaler.
9117         * lily/score-engraver.cc (MUSIC_FONT): Use emmentaler20.
9119 2005-01-07  Jan Nieuwenhuizen  <janneke@gnu.org>
9121         * lily/general-scheme.cc (LY_DEFINE): Use snprintf (WAS: sprintf).
9122         Add headers.
9124         * lily/GNUmakefile (general-scheme.o): Add version.hh dependency.
9126 2005-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9128         * mf/GNUmakefile (debian-mirror): rename bigcheese to emmentaler.
9130         * lily/include/main.hh: lose _b hungarian suffixes for global
9131         variables.
9133         * lily/include/lily-guile-macros.hh: new file.
9135         * lily/pango-select-scheme.cc (LY_DEFINE): new file.
9137         * lily/general-scheme.cc: new file. 
9139         * lily/font-select.cc (get_font_by_design_size): retrieve
9140         PangoFont for (designsize . "pango-descr") entries.
9142         * lily/lily-parser-scheme.cc: new file.
9144         * lily/output-def-scheme.cc: new file.
9146         * lily/paper-book-scheme.cc: new file.
9148         * lily/duration-scheme.cc (LY_DEFINE): new file.
9150         * lily/pitch-scheme.cc:  new file.
9152         * scm/font.scm (add-cmr-fonts): use real dimens in font selection.
9154 2005-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9156         * lily/dimensions.cc (LY_DEFINE): add ly:{inch,cm,mm,bp,pt}.
9158 2005-01-06  Graham Percival  <gperlist@shaw.ca>
9160         * Documentation/user/notation.itely: minor editing.
9162         * Documentation/user/changing-defaults: minor editing.
9164         * Documentation/user/examples.itely: add template for
9165         string quartet part extraction; demonstrates tag.
9167 2005-01-06  Erlend Aasland  <erlenda@gmail.com>
9169         * Documentation/user/notation.itely: documents
9170         format-mark-box-letters and format-mark-box-numbers
9172         * scm/define-context-properties.scm: change comment.
9174 2005-01-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9176         * scm/framework-ps.scm (output-classic-framework): new function:
9177         dump systems as separate .eps files (without fonts) and write a
9178         single collecting .tex file.
9180 2005-01-05  Mats Bengtsson  <mabe@drongo.s3.kth.se>
9182         * Documentation/user/notation.itely (Setting simple songs):
9183         Correct several errors in the equivalent formulation of
9184         \addlyrics. 
9185         (The Lyrics context): Corrected link to the SATB example.
9187 2005-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9189         * scm/lily.scm (completize-formats): new function
9190         (postprocess-output): new function
9192         * lily/paper-book.cc (classic_output): change calling
9193         convention. Give basename as first argument. 
9194         remove Paper_book::post_processing().
9196         * lily/lily-guile.cc (LY_DEFINE): ly:output-backend, new function.
9198 2005-01-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9200         * lily/paper-outputter.cc (LY_DEFINE): new function
9201         ly:outputter-close.
9203         * lily/main.cc: change --format,-f to --backend,-b
9205         * lily/include/main.hh: rename format to backend.
9207         * scm/translation-functions.scm (format-mark-box-numbers): add.
9208         patch by Erlend Aasland
9210 2005-01-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9212         * lily/pango-font.cc (text_stencil): dump string as
9213         (utf-8-string FONTDESC UTF8) for use in -f gnome, -f svg.
9215 2005-01-03  Jan Nieuwenhuizen  <janneke@gnu.org>
9217         * configure.in (gui_b): Remove handy developer-only
9218         PKG_CONFIG_PATH settings that cater for Jan-and-Han-Wen ~/usr/pkg/
9219         CVS source installations (but break other non-default but correct
9220         PKG_CONFIG_PATH setups), as this is no longer developer-only.
9222         * SConstruct: 
9223         * ps/GNUmakefile (INSTALLATION_FILES): teTeX-3.0
9224         compatibility (backportme).
9226         * GNUmakefile.in: teTeX-3.0 compatibility (backportme).
9228 2005-01-03  Werner Lemberg  <wl@gnu.org>
9230         Prepare glyph shapes for mf2pt1 conversion.
9232         * mf/feta-accordion.mf (accreg_pen): Removed.  No longer used.
9233         (accDiscant, accFreebase, accStdbase): Replace `draw' with
9234         `penstroke'.
9235         (accDot): Use `drawdot'.
9236         (accBayanbase): Replace `draw' with `draw_gridline'.
9237         (print_penpos): Moved to feta-macros.mf.
9238         (accOldEE): Replace `filldraw' with `penstroke'.
9239         Replace `draw' with `penstroke' and `drawdot'.
9241         * mf/feta-banier.mf: Code clean-up.
9242         ("grace dash (up)", "grace dash (down)"): Replace `draw' with
9243         `fill'.
9245         * mf/feta-bolletjes (draw_cross): Remove call to `labels'.
9247         * mf/feta-eindelijk.mf (draw_rest_bulb, draw_eigth_rest): Add
9248         paremeter to control drawing of labels.  Update all callers.
9250         * mf/feta-klef.mf (draw_c_clef): Use `&' not `..' to connect paths.
9251         (new_bulb): Return a bulb as a single path.  To do that, it now
9252         takes some more parameters.  Updated all callers.
9253         (draw_gclef): Major clean-up.  `draw' has been replaced with
9254         `penstroke', unnecessary outlines have been removed.
9255         Remove (unused) gnome-canvas code.
9257         * mf/feta-macros.mf (print_penpos): New macro (from
9258         feta-accordion.mf).
9259         Other minor fixes.
9261         * mf/feta-pendaal.mf ("Pedal asterisk"): Use `undrawdot'.
9262         ("Pedal dot"): Use `drawdot'.
9263         (draw_pedal_P): Add parameter to control drawing of labels.  Update
9264         all callers.
9265         Fix shape at top.
9266         (draw_pedal_e): Add parameter to control drawing of labels.  Update
9267         all callers.
9268         (draw_pedal_d): Add parameter to control drawing of labels.  Update
9269         all callers.
9270         Revert drawing direction.
9272         * mf/feta-schrift.mf (draw_fermata): Use single path.
9273         (draw_short_fermata): Replace `filldraw' with `fill'.
9274         (draw_long_fermata, draw_very_long_fermata): Replace calls to
9275         `draw_rounded_block' with a single path.
9276         ("Thumb"): Draw full circle instead of mirroring segments.
9277         (draw_accent): New macro.
9278         ("> accent", "espr"): Use it.
9279         (draw_marcato): Replace `filldraw' and `draw' with `fill'.
9280         ("open (unstopped)"): Draw full circle instead of mirroring
9281         segments.
9282         (draw_vee): Removed.
9283         ("Upbow"): Use `draw_accent' instead of `draw_vee'.
9284         ("Downbow"): Replace calls to `draw_rounded_block' with a single
9285         path.
9286         ("Trill (`tr')"): Replace overlapping loop drawn with `draw' with
9287         partial pieces drawn with `fill' -- these do still overlap with the
9288         stem of the `t' but just once, not multiple times so that fontforge
9289         can handle it gracefully.
9290         Change other parts of the glyph so that fontforge's overlapping
9291         algorithm reliably works.
9292         (draw_heel): Replace `draw' with `fill'.
9293         (draw_toe): Use `draw_accent' instead of `draw_vee'.
9294         ("Flageolet"): Replace `draw' with `penstroke'.
9295         ("Segno"): Replace `filldraw' with `penstroke'.
9296         Replace `draw' with `drawdot'.
9297         ("Coda"): Replace `fill' with `penstroke', using a single path.
9298         ("Varied Coda"): Use less overlapping paths.
9299         (draw_arpeggio_arrow): Replace `filldraw' with `fill', using a
9300         single path.
9302         * mf/feta-slag.mf (draw_trillelement): Put `clearxy' outside of
9303         group to better control the `labels' command.
9304         Rename argument to `offset' and use it actually.  Update all
9305         callers.
9306         Replace `filldraw' with `fill'.
9307         ("mordent", "prallmordent", "upmordent", "downmordent",
9308         "lineprall"): Replace `draw' with `draw_gridline'.
9309         ("upprall", "downprall"): Replace `draw' with `fill'.
9311         * mf/feta-timesig.mf: Formatting.
9313         * mf feta-toevallig.mf (draw_meta_flag): Move code to draw labels
9314         to...
9315         ("Flat"): Here.
9316         (draw_paren): Move code to draw labels to...
9317         ("Right Parenthesis"): Here.
9319 2005-01-02  Graham Percival <gperlist@shaw.ca>
9321         * Documentation/user/notation.itely: add example of \setTextDecresc
9322         and \setTextDim.
9324 2005-01-02  Tatsuya Ono <tats_ono@infoseek.jp>
9326         * scm/define-markup-commands.scm :  fix glyph-strings of
9327         accidentals and \note-by-number
9329 2005-01-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9331         * VERSION: 2.5.6 released.
9332         
9333         * ps/lilyponddefs.ps: put mm -> pt scaling in here.
9335         * input/regression/new-markup-scheme.ly: oops. font-family=music
9336         -> font-encoding fetaMusic.  
9338         * lily/main.cc: put default to PS.
9340         * lily/tfm.cc: idem.
9342         * lily/afm.cc: idem.
9344         * lily/include/modified-font-metric.hh (struct
9345         Modified_font_metric): remove coding_scheme() method.
9347         * input/mutopia/F.Schubert/morgenlied.ly: convert to utf8
9349         * scripts/convert-ly.py (conv): crash on encountering \encoding.
9351         * input/les-nereides.ly: convert to utf8
9353         * lily/modified-font-metric.cc (text_dimension): idem.
9355         * lily/parser.yy (TODO): idem.
9357         * lily/include/lily-lexer.hh (class Lily_lexer): idem.
9359         * lily/lexer.ll: remove encoding
9361         * scm/framework-ps.scm (output-variables): separately scale the
9362         page to mm 
9364         * lily/pango-font.cc (Pango_font): fix scaling.
9366         * lily/font-metric.cc (design_size): design_size returns a
9367         dimension now as well.
9369 2004-12-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9371         * mf/GNUmakefile ($(outdir)/%.otf-table): use findstring. Fixes
9372         brace generation. 
9374         * lily/text-metrics.cc (LY_DEFINE): use scm_c_make_hash_table().
9376 2004-12-30  Jan Nieuwenhuizen  <janneke@gnu.org>
9378         * mf/GNUmakefile (INSTALLATION_OUT_SUFFIXES): Do not try to
9379         install unbuildable Fontmap and Fontmap.lily (Simon Aridis-Lang).
9381 2004-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9383         * mf/GNUmakefile ($(outdir)/%.otf-table): include parmesan20.lisp
9384         in first run as well.
9386         * scm/paper.scm (layout-set-staff-size): use text-font-size in
9387         dimension less points (ie. 12 = 12 point)
9389         * lily/pango-select.cc (select_pango_font): use find_scaled_font().
9391         * lily/all-font-metrics.cc (find_pango_font): set description_
9393         * lily/pango-font.cc (text_stencil): export size as well.
9394         (text_stencil): fix scaling and extents box.
9396 2004-12-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9398         * Documentation/topdocs/NEWS.texi (Top): add -f texstr
9400         * Documentation/user/invoking.itely (Invoking lilypond): document
9401         texstr
9403         * scripts/convert-ly.py (conv): add ancient rules.
9405         * scm/clef.scm (c0-pitch-alist): replace - with .
9407         * scripts/lilypond-book.py (process_snippets): add texstr support.
9409         * scm/framework-texstr.scm (header): change extension to .textmetrics
9411         * lily/lily-parser.cc (parse_file): do try_load_text_metrics for
9412         -f tex.
9414         * lily/text-metrics.cc: new file.
9415         (try_load_text_metrics): new function
9417         * lily/include/text-metrics.hh: new file.
9419 2004-12-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9421         * lily/include/lily-guile.hh (ly_lily_module_constant): rename
9422         ly_scheme_function to ly_lily_module_constant.
9424         * lily/modified-font-metric.cc (text_dimension): try
9425         lookup_tex_text_dimension() first.
9427         * lily/tfm.cc: new function ly:load-text-dimensions
9429 2004-12-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9431         * scm/output-texstr.scm (text): use \lilygetmetrics
9433         * scm/framework-texstr.scm (header): dump in new format.
9435         * tex/lilypond-tex-metrics: new file.
9436         
9437 2004-12-27  Jan Nieuwenhuizen  <janneke@gnu.org>
9439         * lily/pango-font.cc (text_stencil): Quick try at glyph->charcode
9440         mapping.
9441         (index_to_charcode): New method.
9443         * scm/output-ps.scm (glyph-string): 
9444         * scm/output-gnome.scm (glyph-string): Add FONT parameter.
9446 2004-12-26  Jan Nieuwenhuizen  <janneke@gnu.org>
9448         * scm/output-gnome.scm (FIXME-glyph-string): New function.  Cannot
9449         implement fully, need FONT to get to charcode.
9451         * scm/lily.scm (ly:all-stencil-expressions): Add glyph-string.
9453         * scm: Cleanups.
9455         * Documentation/user/changing-defaults.itely: Fix internalsrefs
9456         {Tunable context properties},
9457         {All layout objects},
9458         {Music definitions}.
9460 2004-12-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9462         * VERSION: release 2.5.5
9463         
9464         * lily/main.cc: use TeX as default output format.
9466         * flower/file-path.cc (find): try to open directly as well, so we
9467         find absolute path files. 
9469         * lily/pango-select.cc: new file.
9471         * scm/framework-ps.scm: remove all encoding code. 
9472         load pfb/pfa for PangoFont too.
9473         
9474         * lily/lily-guile.cc (ly_chain_assoc_get): new function.
9476 2004-12-22  Werner Lemberg  <wl@gnu.org>
9478         Prepare glyph shapes for mf2pt1 conversion.
9480         * mf/feta-toevallig.mf ("Double Sharp"): Minor path fix.
9482         * mf/feta-bolletjes.mf (penposx): New auxiliary macro.
9483         (define_triangle_shape): Use it to replace `draw' with `fill' and
9484         `unfill'.  Update all callers.
9485         (draw_slash): Replace `filldraw' with `fill'.  Update all callers.
9486         (draw_cross): Ditto.
9487         ("X-Circled notehead"): Replace `draw' with `fill' and `unfill'.
9488         Use penrazor for better conversion with mf2pt1.
9489         (generic_draw_solfa_note_shape, draw_solfa_note_shape,
9490         draw_solfa_quarter_note_shape, triangle): Removed.  Unused.
9491         (draw_do_head, draw_re_head, draw_mi_head, draw_fa_head,
9492         draw_la_head, draw_ti_head): Replace `filldraw' with
9493         `fill'.  Update all callers.
9495 2004-12-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9497         * lily/paper-book.cc (output): revert: only allow a single output
9498         format.
9500         * lily/include/pango-font.hh: new file.
9502         * lily/pango-font.cc: new file.
9504         * lily/font-metric.cc (text_stencil): new routine
9506         * lily/all-font-metrics.cc (find_pango_font): new routine.
9508         * lily/include/font-metric.hh (struct Font_metric): add
9509         text_stencil()
9511         * configure.in (PKG_CONFIG_PATH): require PANGO_FT2
9513 2004-12-22  Werner Lemberg  <wl@gnu.org>
9515         Prepare glyph shapes for mf2pt1 conversion.
9517         * mf/feta-macros.mf, mf_feta-eindelijk.mf: Some formatting.
9519         * mf/feta-toevallig.mf: Formatting.
9520         (draw_meta_sharp): Modify path to replace `filldraw' with `fill'.
9521         ("Natural"): Fix paths to allow better postprocessing.
9522         (draw_meta_flat): Use `z3l' as additional point in path to get
9523         better conversion with mf2pt1.
9524         Other minor cleanups.
9525         ("3/4 Flat"): Add auxiliary points and modify path to replace
9526         `draw' with `fill'.
9527         ("Double Sharp"): Mirror path segments instead of picture elements
9528         to get a single outline.
9529         Modify path to replace `filldraw' with `fill'.
9531 2004-12-22  Graham Percival  <gperlist@shaw.ca>
9533         * input/test/unfold-all-repeats.ly: added file back.
9535         * Documentation/user/notation.itely,
9536         Documentation/user/programming-interface.itely
9537         Documentation/user/changing-defaults.itely: fixed misc broken
9538         links to input/test/ files.
9540 2004-12-22  Jan Nieuwenhuizen  <janneke@gnu.org>
9542         * tex/texinfo.tex: Update.  We should not be distributing this,
9543         but since we do, use latest version.
9545         * Documentation/user/macros.itexi: Comment-out \fetaflat,
9546         \fetasharp.  Fixes make web.  FIXME: make usable (compatible?) TeX
9547         macros for feta glyphs.
9549 2004-12-22  Graham Percival  <gperlist@shaw.ca>
9551         * Documentation/user/changing-defaults.itely: fix index for set.
9553         * Documentation/user/converters.itely: added convert-ly bugs list
9554         from CVS.
9556 2004-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
9558         * python/lilylib.py (setup_environment): Set GS_FONTPATH, GS_LIB
9559         to empty.  Fixes make web, using gs-gpl-8.01.  In fact,
9560         gs-afpl-8.50 has more trouble with make web (ie, uses *a lot* more
9561         resourses; 3x MAXSIZE, 4x MAXRSS, 1.5x user).
9563         * mf/GNUmakefile (pfa_warning): Use less broken check.
9565         * python/lilylib.py (setup_environment): Remove cruft from
9566         GS_FONTPATH.
9568         * configure.in: Bump mftrace requirement to 1.1.1.
9570 2004-12-20  Jan Nieuwenhuizen  <janneke@gnu.org>
9572         * scm/output-svg.scm (beam): Use polygon.
9574         * scm/lily-library.scm: Bugfix.
9576         * Documentation/user/invoking.itely (Invoking lilypond): Bugfix.
9578         * mf/GNUmakefile (ALL_GEN_FILES): Remove unbuildable Fontmap.lily.
9580 2004-12-19  Werner Lemberg  <wl@gnu.org>
9582         Prepare glyph shapes for mf2pt1 conversion.
9584         * mf/feta-eindelijk: Some formatting.
9585         (multi_rest_x, multi_beam_height): Removed.  Unused.
9586         ("Quarter rest"): Use `intersectiontimes' to create a single
9587         outline.
9588         (rest_crook): Removed.  Unused.
9589         (draw_rest_bulb): Return path (without filling).  Update callers.
9590         Simplified.
9591         (draw_eighth_rest, "16th rest", "32th rest", "64th rest",
9592         "128th rest"): Simplify `pat'.
9593         Create single outline.
9595 2004-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>
9597         * mf/GNUmakefile (ALL_GEN_FILES):
9598         (INSTALLATION_OUT_SUFFIXES): Remove unbuildable fonts.scale.
9600         * scm/output-svg.scm (polygon, draw-line, dashed-line): New
9601         function.
9603 2004-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9605         * scm/output-texstr.scm (placebox): add routine
9607         * VERSION (PACKAGE_NAME): release 2.5.4
9609         * scm/framework-texstr.scm (output-framework): new file.  
9611         * scm/output-texstr.scm: new file. Collect (TEXT . ) calls for TeX
9612         processing.
9614         * Documentation/user/invoking.itely (Invoking lilypond): add SVG
9616         * stepmake/stepmake/metafont-rules.make: make single SVG/PFA/PFB
9617         rule.
9619         * configure.in (gui_b): bump mftrace requirement to 1.1.0
9621         * mf/feta-bolletjes.mf (triangle): add s to 0triangle.
9623         * mf/GNUmakefile (ALL_GEN_FILES): make SVG files too.
9625 2004-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>
9627         * scm/framework-svg.scm (dump-page): Implement landscape.
9629 2004-12-18  Jan Nieuwenhuizen  <janneke@gnu.org>
9631         * lily/main.cc (setup_paths): Add svg to search path.
9633         * scm/output-svg.scm:
9634         * scm/framework-svg.scm: Add pageSet.  Update.
9635         (dump-fonts): New function.
9636         (output-framework): Use it.
9638         * mf/GNUmakefile: 
9639         * buildscripts/gen-bigcheese-scripts.py: Also generate SVG font.
9641 2004-12-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9643         * tex/lilyponddefs.tex: comment out new ifpdf code.
9645 2004-12-17  Jan Nieuwenhuizen  <janneke@gnu.org>
9647         * GNUmakefile.in: 
9648         * SConstruct (symlink): Replace afm by otf.
9650         * scm/framework-gnome.scm (gnome-main): Remove invocation of
9651         ly:pango-add-afm-decoder.
9653         * lily/lily-guile.cc ("ly:pango-add-afm-decoder"): Build fix: Remove.
9655 2004-12-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9657         * scm/output-ps.scm (new-text): don't access t glyph for getting
9658         space dimension.
9660         * ly/init.ly: warn about \version
9662         * lily/lexer.ll: set version-seen?
9664 2004-12-17  Jan Nieuwenhuizen  <janneke@gnu.org>
9666         * scm/output-svg.scm (string->entities): Update.
9668 2004-12-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9670         * lily/main.cc (setup_paths): replace afm by otf for path. 
9672         * lily/pangofc-afm-decoder.cc: remove.
9674         * lily/include/pangofc-afm-decoder.hh: remove.
9676         * scm/framework-scm.scm (output-framework): new file.
9678         * mf/GNUmakefile: remove SAUTER_FONTS.
9679         remove SVG/sodipodi hacks.
9681         * scm/lily-library.scm (stderr): move stderr.
9683         * mf/GNUmakefile: remove AFM support.
9685         * buildscripts/mf-to-table.py (base): remove AFM support.
9687         * lily/open-type-font.cc (design_size): use design_size
9689 2004-12-17  Pedro Kroger  <kroeger@pedrokroeger.net>
9691         * lily/font-metric.cc (LY_DEFINE): Fix the docstring.
9693 2004-12-17  Jan Nieuwenhuizen  <janneke@gnu.org>
9695         * mf/GNUmakefile: Generate combined aybabtu info.
9696         * mf/aybabtu.pe.in (i): Load it.
9698         * scm/framework-tex.scm (otf-font-load-command): Bugfix: subfonts
9699         are not symbols.
9701         * lily/include/open-type-font.hh (count): New method.
9703         * mf/aybabtu.pe.in: Typo.
9705         * Documentation/user/out/lilypond-internals.nexi (Scheme
9706         functions): Typo.
9708         * lily/include/guile-compatibility.hh (SCM_HASHTABLE_P): Add compat.
9710 2004-12-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9712         * buildscripts/gen-bigcheese-scripts.py (i): use symbols for
9713         subfonts.
9715         * scm/output-tex.scm (named-glyph): new function. This fixes TeX output.
9717         * scm/framework-tex.scm (otf-font-load-command): load subfonts.
9718         (tex-font-command-raw): new function.
9720         * lily/include/virtual-font-metric.hh (Module): remove file
9722         * lily/virtual-font-metric.cc (Module): remove file.
9723         
9725         * lily/open-type-font.cc (LY_DEFINE): ly:otf-font-glyph-info
9726         (get_indexed_char): read bbox from lily table if present.
9728 2004-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9730         * mf/GNUmakefile ($(outdir)/aybabtu.subfonts): rule for
9731         aybabtu.subfonts
9733         * mf/feta-beugel.mf (y): don't number consecutively, instead, use
9734         global glyphname. Enables more than 64 glyphs in the OTF.
9736 2004-12-16  Jan Nieuwenhuizen  <janneke@gnu.org>
9738         * scm/font.scm (add-music-fonts): Load aybabtu iso all separate
9739         braces.
9741         * lily/open-type-font.cc (design_size): Use 12 as default for
9742         design size.
9744         * mf/aybabtu.pe.in: New file.  Merge all our braces.
9746         * mf/GNUmakefile: Generate aybabtu.
9748         * tex/lilyponddefs.tex: teTeX 3.0 pdfetex fix.
9750 2004-12-14  Jan Nieuwenhuizen  <janneke@gnu.org>
9752         * scm/lily-library.scm (char->unicode-index): Remove.
9754         * scm/output-gnome.scm (text): Bugfix for plain string input.
9755         Updates.
9757         * scm/output-svg.scm (svg-font): Add weight to font selection.
9759 2004-12-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
9761         * Documentation/topdocs/INSTALL.texi (Top): Point to
9762         buildscripts/out/clean-fonts instead of
9763         buildscripts/clean-fonts.sh. 
9765 2004-12-13  Graham Percival  <gperlist@shaw.ca>
9767         * input/regression/figured-bass.ly: attempt to clarify text.
9769         * Documentation/user/notation.tely: add cindex for tag, attempt to
9770         add figured bass example.
9772         * Documentation/user/changing-defaults: basic editing.
9774 2004-12-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9776         * buildscripts/gen-bigcheese-scripts.py (i): load .subfonts table. 
9778         * lily/open-type-font.cc (LY_DEFINE): new function
9779         ly:font-sub-fonts
9781         * lily/include/font-metric.hh (struct Font_metric): new method
9782         sub_fonts()
9784         * lily/vaticana-ligature-engraver.cc (transform_heads): replace
9785         . with - in add.stem.
9786         
9787 2004-12-13  Jan Nieuwenhuizen  <janneke@gnu.org>
9789         * scm/encoding.scm (coding-alist): Fix encodings for fetaNumber
9790         and fetaDynamic.
9792         * lily/rest.cc (glyph_name): Change - to . .
9794         * scm/output-gnome.scm (text): Hello world, again.
9796         * scm/output-svg.scm (named-glyph): New function.  Hello world!
9798         * lily/modified-font-metric.cc (index_to_charcode): New method.
9800         * lily/include/font-metric.hh (index_to_charcode): New function.
9802         * lily/font-metric.cc (ly:font-glyph-name-to-charcode): Use it in
9803         new function.
9804         (ly:font-glyph-to-index): Remove.
9806 2004-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9808         * lily/open-type-font.cc (make_index_to_charcode_map): new method.
9810         * mf/feta-autometric.mf (code): remove tex name from fet_beginchar.
9812         * lily/open-type-font.cc (load_scheme_table): new function
9814         * lily/dots.cc (print): replace - 
9816         * lily/open-type-font.cc (attachment_point): new function.
9817         (load_table): read LILC table
9819         * buildscripts/gen-bigcheese-scripts.py (Module): new
9820         file. Generate FF scripts.
9822         * mf/feta-din10.mf: idem.
9824         * mf/feta-nummer10.mf: remove mf files.
9826         * mf/feta-alphabet.mf (dynamic_design_size): merge din and number font.
9828 2004-12-12  Jan Nieuwenhuizen  <janneke@gnu.org>
9830         * lily/lily-guile.cc: Use scm_from_locale_stringn.
9832         * lily/include/guile-compatibility.hh (scm_from_locale_stringn): Add
9833         compatibility.
9835 2004-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9837         * lily/open-type-font.cc (get_indexed_char): scale metrics by
9838         design-size and units_per_EM.
9840         * mf/bigcheese.pe.in: set PUA codepoints before loading din & nummer.
9842 2004-12-12  Jan Nieuwenhuizen  <janneke@gnu.org>
9844         * mf/bigcheese.pe.in (i): Map to 0xe000 (PUA) for testing, which
9845         does not crash fontforge.
9847         * scm/lily-library.scm (char->unicode-index): Hack to map onto
9848         PUA.
9850 2004-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9852         * scm/framework-ps.scm (ps-embed-cff): new function.
9854         * lily/lily-guile.cc (LY_DEFINE): make ly:gulp-file binary proof.
9856 2004-12-12  Werner Lemberg  <wl@gnu.org>
9858         * mf/bigcheese.pe.in: Add PUA mapping.
9859         Don't create Type 42 but bare CFF font.
9861 2004-12-12  Jan Nieuwenhuizen  <janneke@gnu.org>
9863         * scm/output-gnome.scm (placebox): Hackery to get bigcheese symbols
9864         within canvas boundaries.
9866         * mf/merge.pe.in: Set font names, version, license GPL.
9868         * make/substitute.make: Add FONTFORGE.
9870         * config.make.in (FONTFORGE): Add.
9872         * configure.in (gui_b): Use PATH_PROG for fontforge.
9874 2004-12-11  Graham Percival  <gperlist@shaw.ca>
9876         * scm/define-markup-commands.scm: add baseline-skip to info
9877         about \column.
9879 2004-12-11  Jan Nieuwenhuizen  <janneke@gnu.org>
9881         * lily/font-metric.cc (ly:font-get-glyph-index): New function.
9883         * scm/output-gnome.scm (named-glyph): Use it.
9885         * scm/lily.scm (ly:all-stencil-expressions): Add named-glyph.
9887         * flower/string.cc (substitute_char): Rename, rewrite, modify this.
9888         (upper_string, lower_string, reverse_string): Remove.
9890         * configure.in (fontforge): Reinstate version check.
9892         * ly/engraver-init.ly: Fix clef glyph names.
9894         * lily/time-signature.cc (special_time_signature): Fix fraction
9895         glyph names.
9897 2004-12-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9899         * mf/merge.pe: new file.
9901         * lily/freetype.cc: new file.
9903         * lily/include/open-type-font.hh (class Open_type_font): new file.
9905         * lily/include/freetype.hh: new file.
9907         * lily/open-type-font.cc: new file.
9909         * lily/all-font-metrics.cc (find_otf): new function.
9911 2004-12-11  Jan Nieuwenhuizen  <janneke@gnu.org>
9913         * lily/time-signature.cc (special_time_signature): Fix.
9915         * configure.in (PKG_CONFIG_PATH): Remove stray `i'.  Check for
9916         GTK2 before checking for pango.  Fixes -fgnome.
9918         * lily/font-metric.cc (LY_DEFINE): Also rename C name to match
9919         Scheme name.
9921         * scm/define-markup-commands.scm:
9922         * scm/safe-lily.scm: Bugfix: ly:font-by-name.
9924         * configure.in: Require makeinfo 4.7 (needed for @ifdocbook).
9926         * stepmake/aclocal.m4 (STEPMAKE_GET_VERSION): Grok fontforge-like
9927         date versions.  Fixes configure.
9928         (STEPMAKE_CHECK_VERSION): Support optional actual program version
9929         argument.
9931 2004-12-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9933         * buildscripts/mf-to-table.py (write_ps_encoding): write real
9934         names in .enc
9936         * lily/*.cc: use '.' iso. '-' for separating glyph name elements.
9938 2004-12-09  Graham Percival  <gperlist@shaw.ca>
9940         * Documentation/user/changing-defaults.itely: add info about
9941         make-dynamic-script
9943         * Documentation/user/notation.itely: add link in dynamics to
9944         section about make-dynamic-script.
9946 2004-12-09  Christian hitz  <chhitz@gmx.net>
9948         * lily/lily-guile.cc: change MACOS_X to __APPLE__
9950 2004-12-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9952         * buildscripts/mf-to-table.py (parse_logfile): use . for
9953         concatting name and group.
9954         (parse_logfile): use M for Minus (negative.)
9956         * lily/include/type-swallow-translator.hh
9957         (DECLARE_EVENT_SWALLOWER): ENTER_DESCRIPTION -> ADD_TRANSLATOR
9959         * lily/*.cc: cosmetics around = sign.
9961         * lily/paper-column.cc (Paper_column): copy rank_. This fixes
9962         lyric spacing on the penultimate column.
9964 2004-12-05  Christian Hitz  <chhitz@gmx.net>
9966         * configure.in:
9967         * lily/accidental-placement.cc:
9968         * lily/bar-line.cc:
9969         * lily/beam-concave.cc:
9970         * lily/beam-quanting.cc:
9971         * lily/beam.cc:
9972         * lily/bezier-bow.cc:
9973         * lily/bezier.cc:
9974         * lily/break-align-interface.cc:
9975         * lily/custos.cc:
9976         * lily/dimension-cache.cc:
9977         * lily/dot-column.cc:
9978         * lily/font-metric.cc:
9979         * lily/font-select.cc:
9980         * lily/gourlay-breaking.cc:
9981         * lily/grob-property.cc:
9982         * lily/grob.cc:
9983         * lily/lily-guile.cc:
9984         * lily/line-spanner.cc:
9985         * lily/lookup.cc:
9986         * lily/lyric-extender.cc:
9987         * lily/lyric-hyphen.cc:
9988         * lily/mensural-ligature.cc:
9989         * lily/midi-def.cc:
9990         * lily/misc.cc:
9991         * lily/note-collision.cc:
9992         * lily/note-column.cc:
9993         * lily/note-head.cc:
9994         * lily/paper-outputter.cc:
9995         * lily/percent-repeat-item.cc:
9996         * lily/rest-collision.cc:
9997         * lily/side-position-interface.cc:
9998         * lily/simple-spacer.cc:
9999         * lily/slur-configuration.cc:
10000         * lily/slur-scoring.cc:
10001         * lily/slur.cc:
10002         * lily/spaceable-grob.cc:
10003         * lily/spacing-spanner.cc:
10004         * lily/spanner.cc:
10005         * lily/staff-symbol-referencer.cc:
10006         * lily/stem.cc:
10007         * lily/stencil.cc:
10008         * lily/system-start-delimiter.cc:
10009         * lily/system.cc:
10010         * lily/text-item.cc:
10011         * lily/tie.cc:
10012         * lily/tuplet-bracket.cc:
10013         * lily/vaticana-ligature.cc: Fix for MacOS X: use <math.h> instead of
10014         <cmath> beacause isinf/isnan is undefined in <cmath>
10016 2004-12-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
10018         * cygwin/lily-wins.py (stat): remove old flag -p when calling lilypond.
10020 2004-12-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10022         * VERSION: release 2.5.3
10023         
10024 2004-11-29  Arno Waschk <arno@arnowaschk.de>
10026         * mf/feta-schrift.mf: added <>-like articulation mark as "espressivo"
10028 2004-12-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10030         * scm/music-functions.scm (cue-substitute): voice counts start at 0.
10032         * lily/note-head.cc (internal_print): always try the "s" head if
10033         u/d not found.
10035         * scm/titling.scm (marked-up-headfoot): reinstate default tagline.
10037 2004-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10039         * mf/parmesan-heads.mf (overdone_heads): typos.
10041 2004-11-30  Nicolas Sceaux  <nicolas.sceaux@free.fr>
10043         * lily/parser.yy (markup): in markups, { .. } without command
10044         before are also flattened, ie \line must be explicitely used.
10046         * Documentation/user/changing-defaults.itely:
10047         * Documentation/user/notation.itely: 
10048         * input/wilhelmus.ly: 
10049         * input/regression/instrument-name-markup.ly: 
10050         * input/regression/markup-score.ly: 
10051         * input/regression/new-markup-scheme.ly: 
10052         * input/regression/new-markup-syntax.ly: 
10053         * input/test/coriolan-margin.ly: use \line in markups where
10054         appropriate
10055         
10056 2004-11-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
10058         * scm/new-markup.scm (map-markup-command-list): helper function
10059         used in parser.yy to map markup commands on a markup list.
10061         * lily/parser.yy: get rid off < > in markups by treating { } as
10062         real lists.
10064         * lily/lexer.ll: remove < > from markup lexer mode.
10066         * scripts/convert-ly.py (conv): add rule for converting 
10067         \markup < > to \markup { }
10069         * ly/titling-init.ly: 
10070         * input/test/coriolan-margin.ly: 
10071         * input/regression/new-markup-syntax.ly: 
10072         * input/regression/new-markup-scheme.ly: 
10073         * input/regression/multi-measure-rest-text.ly: 
10074         * input/regression/markup-stack.ly: 
10075         * input/regression/markup-score.ly: 
10076         * input/regression/instrument-name-markup.ly: 
10077         * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: 
10078         * input/mutopia/R.Schumann/romanze-op28-2.ly: 
10079         * input/mutopia/J.S.Bach/wtk1-fugue2.ly: 
10080         * input/wilhelmus.ly: 
10081         * Documentation/user/notation.itely: 
10082         * Documentation/user/music-glossary.tely: 
10083         * Documentation/user/changing-defaults.itely: change < > to { } in
10084         markups
10086 2004-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10088         * lily/accidental-placement.cc (position_accidentals): shortcut if
10089         no accidentals to place.
10091 2004-11-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
10093         * scm/define-grob-properties.scm (all-user-grob-properties): fixed
10094         typo s/ly:dimension ?/ly:dimension?/
10096         * input/regression/lily-in-scheme.ly: 
10097         * input/regression/music-function.ly: 
10098         * ly/spanners-init.ly (assertBeamSlope): 
10099         * scm/music-functions.scm (def-grace-function): add the paper
10100         argument to music function definitions.
10102 2004-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10104         * lily/moment.cc (LY_DEFINE):
10105         ly:moment-main-{denominator,numberator}, new function.
10107         * lily/score-engraver.cc (typeset_all): assign to column on basis
10108         of axis-group-parent-X setting.
10110         * lily/axis-group-engraver.cc (process_acknowledged_grobs): do
10111         add_element() on basis of axis-group-parent-Y setting.
10113         * lily/grob.cc: add axis-group-parent-{XY} properties.
10115         * input/regression/spacing-stick-out.ly: new file.
10117         * lily/simple-spacer.cc (add_columns): use binary search for
10118         setting column rods. Changes O(n^2) to O(n log(n)) for
10119         constructing spacing problem from columns.
10120         (add_columns): read allow-outside-line to make sure no texts stick
10121         out.
10122         (solve): Simple_spacer::is_active() only determines
10123         satisfies_constraints_ for non-ragged typesetting.
10125         * lily/simultaneous-music.cc (to_relative_octave): only set
10126         old_relative_used if return pitch actually changed.
10128         * scm/define-context-properties.scm
10129         (all-user-translation-properties): change to match implementation.
10131         * python/lilylib.py: Replace re.match by re.search and adds "-c
10132         showpage" to the gs command line (Johannes Schindelin)
10134         * scm/framework-ps.scm (output-preview-framework): sanitize bbox
10135         before processing. Prevents crash when inf is in the extent.
10137         * scm/define-markup-commands.scm (note-by-number): add "s" to
10138         "noteheads-" glyphname.
10140         * lily/parser.yy (Generic_prefix_music): supply parser argument to
10141         music function as well.
10142         
10143 2004-11-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10145         * VERSION: release 2.5.2
10147         * Documentation/user/changing-defaults.itely (Creating titles):
10148         add breakbefore variable.
10150         * lily/paper-book.cc (set_system_penalty): new function. Set
10151         penalty_ based on breakBefore setting
10153         * lily/context-specced-music-iterator.cc (construct_children):
10154         interpret special context id $uniqueContextId 
10156         * lily/context.cc (create_unique_context): new method. Move
10157         creation of unique (\new) contexts into interpreting phase. This
10158         makes
10160           foo= \new Staff ..
10161           << \foo \foo >>
10163         produce 2 staves.
10164         
10166         * scm/define-music-properties.scm (all-music-properties): add
10167         quoted-voice-direction
10169         * ly/music-functions-init.ly: killCues function.
10171         * scm/music-functions.scm (cue-substitute): move creation of voice
10172         contexts further to the back. 
10174 2004-11-25  Werner Lemberg  <wl@gnu.org>
10176         * tex/GNUmakefile ($(outdir)/latin1.enc): Replace `/minus' with
10177         `/hyphen' in encoding vector to get correct glyph name for EC fonts.
10179 2004-11-24  Erik Sandberg  <ersa9195@student.uu.se>
10181         * buildscripts/guile-gnome.sh: Fixed typo.
10183 2004-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10185         * lily/lexer.ll: add < >  to markup lexer mode (backportme)
10187         * scripts/abc2ly.py (dump_slyrics): add ord(). 
10189         * lily/note-heads-engraver.cc (process_music): add shapeNoteStyles
10190         to regular engraver. 
10192 2004-11-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10194         * mf/feta-bolletjes.mf (triangle): rewrite solfa heads.
10196 2004-11-22  Jan Nieuwenhuizen  <janneke@gnu.org>
10198         * scm/define-markup-commands.scm (fill-line): Typo.
10200         * buildscripts/guile-gnome.sh (GGVERSION): Build update for 2.7.96
10201         and newer.
10203 2004-11-22  Erik Sandberg  <ersa9195@student.uu.se>
10205         * ly/dynamic-scripts-init.ly: Fixed typo.
10207 2004-11-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10209         * mf/feta-bolletjes.mf (overdone_heads): cleanup triangle
10210         note-head, to have different attachment points for up and down.
10212         * mf/feta-bolletjes.mf: merge solfa heads into main note heads.
10214         * mf/feta-generic.mf (else): remove solfa.
10216         * mf/feta-bolletjes.mf (tishape): remove unicode test.
10218         * scm/define-context-properties.scm
10219         (all-user-translation-properties): add shapeNoteStyles property.
10221         * lily/shape-note-heads-engraver.cc (process_music): new file.
10223         * lily/event.cc (transpose): call Event::transpose() for
10224         transposing the tonic.
10226 2004-11-21  Jan Nieuwenhuizen  <janneke@gnu.org>
10228         * scm/output-gnome.scm: Save some pointers about pango/fontconfig
10229         Unicode/OpenType and AFM.
10231         * lily/include/guile-compatibility.hh (scm_from_bool): Add.
10233 2004-11-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10235         * lily/grob.cc (Grob): idem. Plugs mem leaks. 
10237         * lily/context.cc (Context): unprotect key from ctor.
10239         * scm/stencil.scm (stack-lines): return empty-stencil if argument
10240         is '()
10241         (stack-stencils): idem.
10243         * Documentation/user/changing-defaults.itely (Creating titles):
10244         document new title layout options.
10246         * lily/parser.yy (lilypond_header_body): copy previous
10247         $globalheader if present.
10249         * lily/ly-module.cc (LY_DEFINE): rename ly:import-module to
10250         ly:module-copy
10251         
10252         * scm/page-layout.scm (marked-up-headfoot): remove old functions.
10254         * scm/titling.scm: remove old titling functions
10256         * lily/stencil.cc (translate): remove absolute dimension.
10258         * ly/titling-init.ly (oddFooterMarkup): new file. Generate titles
10259         via markup.
10261         * scm/page-layout.scm (marked-up-headfoot): create header/footer
10262         field from user-supplied markup
10264         * scm/define-markup-commands.scm (on-the-fly): new markup
10265         command. Enter SCM markup procedure directly in Scheme.
10266         (fromproperty): new markup command. Read markup from props argument.
10268         * scm/titling.scm (marked-up-title): create title via
10269         user-specified markup. 
10271         * scm/define-markup-commands.scm (column): remove empty stencils
10272         from column.
10274         * lily/ly-module.cc (LY_DEFINE): use ly_module_lookup(). This does
10275         not have side-effect of creating variable stub.
10277         * lily/stencil-scheme.cc (LY_DEFINE): add ly:stencil-empty?
10279 2004-11-21  Jan Nieuwenhuizen  <janneke@gnu.org>
10281         * scm/encoding.scm (coding-alist): 
10282         * scm/font.scm (add-ec-fonts):
10283         * ly/paper-defaults.ly: Use actual name for EC fontencoding:
10284         Extended-TeX-Font-Encoding---Latin.
10286         * lily/side-position-interface.cc (general_side_position): Add
10287         actual offset to error message (avoid constant error messages).
10289         * lily/all-font-metrics.cc (find_font): Add "lm" to try-AFM-first
10290         block.
10292         * lily/font-select.cc (select_encoded_font)
10293         (get_font_by_mag_step, get_font_by_design_size): 
10294         * lily/modified-font-metric.cc (Modified_font_metric): 
10295         * lily/paper-def.cc (find_scaled_font): Add font_encoding parameter.
10297         * scm/encoding.scm (coding-alist): Add fetaDynamic.
10298         (read-encoding-file): Bugfix: do not require space after bracket.
10300         * scm/font.scm (add-cork-lm-fonts): Remove lmbxi8 and lmbxi14,
10301         these do not exist.
10303 2004-11-20  Graham Percival  <gperlist@shaw.ca>
10305         * Documentation/user/notation.itely: added info about typesetting
10306         boxed bar numbers.
10308 2004-11-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10310         * flower/interval.cc (T_to_string): gcc4 fixes.
10312         * scm/define-markup-commands.scm (fill-line): use
10313         stack-stencils. This fixes problems with putting already centered
10314         stencils in a line.
10316         * VERSION: release 2.5.1
10318         * lily/bar-line.cc (get_staff_bar_size): add line thickness.
10320 2004-11-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10322         * input/example-[1-3].ly: simplify.
10324         * lily/cluster-engraver.cc (try_music): react to busy-playing-event
10326         * scm/output-ps.scm (new-text): new function. Use glyphshow to
10327         show glyphs.
10329         * scm/encoding.scm (decode-byte-string): new function.
10331         * scripts/convert-ly.py (conv): add warning about
10332         set-global-staff-size.
10334         * Doxyfile: add. 
10336         * scripts/convert-ly.py (conv): add raggedlastbottom rule
10337         (conv): warn for TextSpanner split.
10338         (conv): warn for textheight.
10340 2004-11-19  Jan Nieuwenhuizen  <janneke@gnu.org>
10342         * GNUmakefile.in (install-WWW): Invoke install-info, so that when
10343         building the documentation, info with images are installed.
10344         (final-install): Fix description.  Mention sourcing of login
10345         scripts (instead of running).
10347 2004-11-18  Jan Nieuwenhuizen  <janneke@gnu.org>
10349         * Debian lmodern support.  Note that LilyPond will issue warnings
10350         
10351             no such encoding: "FontSpecific"
10353           The font selection mechanism wants to get the encoding from the
10354           font itself, but the idea of lmodern is that it is usable with
10355           different encodings, ie, Lily should get the encoding from the
10356           font tree, rather than the font itself.  This would require some
10357           more work.
10358         
10359         * configure.in: Test for and accept lmodern if EC fonts not found.
10361         * scm/framework-tex.scm (font-load-command): TeX font name
10362         mangling for latin1 encoded cork-lm fonts.
10363         (convert-to-ps): Load lm.map if available.
10365         * ly/paper-defaults.ly: Use cork-lm encoding if ec is not
10366         available.
10368         * scm/encoding.scm (coding-alist): Add cork-lm encoding.
10370         * scm/font.scm: Add header.  Autoload cork-lm and ec fonts if
10371         available.
10373         * lily/kpath.cc (ly_kpathsea_find_file): Rename.  Do not use
10374         path for absolute file name, that is silly.
10376         * lily/score-engraver.cc (initialize): 
10378         * Documentation/user/GNUmakefile (local-install-info): Invoke
10379         install-info --remove first.
10381         * #include cleanup (Andreas Scherer).
10383 2004-11-18  Heikki Junes  <hjunes@cc.hut.fi>
10385         * input/test/script-abbreviations.ly: fix typos.
10387 2004-11-17  Werner Lemberg  <wl@gnu.org>
10389         * python/lilylib.py (options_help_str): Support pretty-printing of
10390         newlines in fourth element of option description.
10392         * scripts/lilypond-book.py (option_definitions): Use new lilylib
10393         feature.
10394         Sort options.
10396         * Documentation/user/lilypond-book.itely: Finish update.
10398 2004-11-17  Jan Nieuwenhuizen  <janneke@gnu.org>
10400         * Documentation/user/macros.itexi: Add comment about \command.
10402         * Documentation/user/lilypond.tely:
10403         * Documentation/user/lilypond-book.itely: Fix names of lilypond
10404         and lilypond-book nodes, so that `info lilypond' visits the manual
10405         at top level, and `info lilypond-book' visits the lilypond-book
10406         section.
10408         * Documentation/user/GNUmakefile (local-install-info): Fix rules
10409         and packager messages.
10411         * lily/pangofc-afm-decoder.cc: Update test.
10413 2004-11-16  Jan Nieuwenhuizen  <janneke@gnu.org>
10415         * scm/lily-library.scm (char->unicode-index): New function.
10417         * scm/output-gnome.scm: 
10418         * scm/output-svg.scm: Cleanup.  Map custom fonts to PUA.
10420         * Proper naming of file name throughout; s/filename/file[-_]name/.
10422         * lily/modified-font-metric.cc ("ly:font-encoding"): New function.
10424         * lily/pangofc-afm-decoder.cc (pango_fc_afm_get_glyph): Map onto PUA.
10426 2004-11-16  Werner Lemberg  <wl@gnu.org>
10428         * scripts/lilypond-book.py: The Lord has commanded me to use only
10429         tabs for indentation.  Your humble servant obeys.
10431 2004-11-16  Jan Nieuwenhuizen  <janneke@gnu.org>
10433         * scm/output-svg.scm: Font fixes.  Sodipodi now groks svg
10434         including font, if LilyPond-feta font is only feta font in path.
10436         * scm/output-gnome.scm (text): Revert to file name of font if font
10437         has no name.  Fixes ec font selection.
10438         (char): Bugfix: do not utf8 twice.  Fixes clefs.
10440         * scm/framework-svg.scm:
10441         * scm/output-svg.scm: New file.  TODO: figure out how to
10442         do character by index in font.
10444         * scm/output-sodipodi.scm: Remove.
10446         * scm/output-ps.scm (stem): Remove.
10448 2004-11-15  Jan Nieuwenhuizen  <janneke@gnu.org>
10450         * scm/output-gnome.scm (beam): New function.
10451         (slur): Round corners.
10452         (round-filled-box): Round corners.
10454 2004-11-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10456         * scm/output-gnome.scm (beam): add function.
10457         (draw-line): new routine.
10458         (dashed-line): stub; call draw-line
10459         (polygon): new routine.
10461 2004-11-15  Werner Lemberg  <wl@gnu.org>
10463         * Documentation/user/lilypond-book.itely: Revise section on
10464         lilypond-book options.
10465         Other minor fixes.
10467         * scripts/lilypond-book.py: Change indentation to 4.
10468         Minor formatting.
10470 2004-11-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10472         * lily/system.cc (apply_tweaks): new function. Run tweaks on all
10473         grobs that have tweaks specced.
10474         
10475 2004-11-14  Heikki Junes  <hjunes@cc.hut.fi>
10477         * Documentation/user/sound-output.itexi: add code snippets for MIDI.
10479 2004-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>
10481         * lily/font-metric.cc (get_indexed_char_stencil): Bugfix: get
10482         actual char #, not 0 based index.
10484         * lily/system-start-delimiter.cc (staff_brace): Start at 65.
10486         * mf/feta-beugel.mf: Actually start at char #65.  Add header.
10487         Warning: do make -C mf clean.
10489         * lily/context-property.cc: Compile fix.
10491         * scm/output-gnome.scm: Add ec-fonts-mftraced to ~/.fonts.conf.
10492         Grok ec-fonts, braces and dynamics.
10494         * scm/framework-gnome.scm (gnome-main): Register braces with pango.
10496 2004-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10498         * lily/include/tweak-registration.hh: new file.
10500         * lily/tweak-registration.cc: new file.
10502         * scm/framework-gnome.scm (save-tweaks): use new key mechanism for
10503         saving tweaks.
10505         * scm/output-gnome.scm (text): comment dribble.
10507 2004-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>
10509         * lily/pangofc-afm-decoder.cc (main): Test more feta fonts.
10511         * scm/output-gnome.scm (bezier-sandwich): New function.  Reset
10512         path-def before using.  Fixes muchtomany slurs in wrong places
10513         bug.
10515 2004-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10517         * lily/grob-scheme.cc (LY_DEFINE): add new function ly:grob-key.
10519         * lily/include/object-key-undumper.hh (Module): new file.
10521         * lily/object-key-undumper.cc (Module): New file. Deserialize
10522         keys. SCM bindings
10524         * lily/object-key-dumper.cc (Object_key_dumper): idem.
10525         Provide SCM bindings.
10527         * lily/include/object-key-dumper.hh (class Object_key_dumper): 
10528         new file. Serialize object keys.
10529         
10530         * lily/object-key.cc (dump): new function.
10531         (as_scheme): new virtual function
10532         (undump): new function
10533         (undumpers): new table.
10535         * lily/include/global-context.hh (Context): take \score key upon init.
10537         * lily/object-key-dumper.cc (serialize_key): new file.
10539         * lily/include/object-key-dumper.hh (class Object_key_dumper): new file.
10541         * lily/lily-lexer.cc: remove \quote.
10543         * lily/lookup.cc (triangle): rewrite, obviating symmetric_x_triangle().
10545         * lily/context.cc (Context): take key argument in ctor.
10546         (create_context): new function
10548         * lily/grob.cc (Grob): take key argument in ctor.  
10550         * lily/lilypond-key.cc (do_compare): new file.
10552         * lily/object-key.cc (Object_key): new file.
10554         * lily/include/object-key.hh (class Object_key): new file.
10556         * lily/include/lilypond-key.hh (class Lilypond_context_key): new file.
10558 2004-11-13  Graham Percival  <gperlist@shaw.ca>
10560         * Documentation/user/lilypond-book.itely: add small warning about
10561         noindent default in lilypond-book.
10563         * Documentation/user/converters.itely: add examples for convert-ly.
10565         * Documentation/user/examples.itely: change version string in templates
10566         to 2.4.0.
10568 2004-11-12  Karl Hammar  <karl@aspodata.se>
10570         * GNUmakefile.in (local-WWW-post): `find ...` overflows the
10571         cmdline, use xargs instead (backportme)
10573 2004-11-10  Andreas Scherer  <andreas_mutopia@freenet.de>
10574         
10575         * Documentation/user/: Numerous fixes in the user manual.
10577 2004-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10579         * lily/parser.yy (re_rhythmed_music): search music expression for
10580         context-id, surround by \new Voice if not found. Fixes:
10581         addlyrics-second-staff.ly
10583         * VERSION: 2.5.0 released.
10584         
10585 2004-11-12  Jan Nieuwenhuizen  <janneke@gnu.org>
10587         * Documentation/index.html.in: Fix url to one big page.  (backportme)
10589         * Documentation/user/GNUmakefile: Separate rules for split and
10590         unsplit html documents.  Remove perl massaging.  (backportme)
10592 2004-11-11  Graham Percival  <gperlist@shaw.ca>
10594         * Documentation/user/lilypond-book.itely: add short warning about
10595         \lilypond{} in LaTeX docs.
10597 2004-11-11  Jan Nieuwenhuizen  <janneke@gnu.org>
10599         * stepmake/aclocal.m4: Barf if kpathsea/kpathsea.h is not
10600         found.  (backportme)
10602         * Documentation/topdocs/INSTALL.texi (ec-fonts-mtraced): Add
10603         version requirement.  (backportme)
10605         * configure.in: Be explicit about old versions of
10606         ec-fonts-mtraced.  (backportme)
10608         * lily/context-selector.cc (set_tweaks): New function.
10609         * lily/grob-selector.cc (set_tweaks): (Re)set hash table.  Fixes
10610         web with -DTWEAK.
10612         * Documentation/user/introduction.itely (Automated engraving):
10613         Remove fragment option.  Fixes web.
10615         * lily/context-property.cc (make_item_from_properties):
10616         * lily/context.cc (add_context)[TWEAK]: Tweak registration behind
10617         #ifdef.
10619         * scm/define-context-properties.scm
10620         (all-internal-translation-properties): Add tweakRank and tweakCount.
10622         * lily/grob.cc: 
10623         * scm/define-grob-properties.scm (all-internal-grob-properties):
10624         Add tweak-rank and tweak-count.
10626 2004-11-10  Jan Nieuwenhuizen  <janneke@gnu.org>
10628         * scm/output-gnome.scm (string->utf8-string, char->utf8-string):
10629         New function.
10630         (text): Use them.
10632         * scm/framework-gnome.scm (item-event): Add support from TLA.  Support
10633         animated/opaque grob dragging tweaks.
10635         * buildscripts/guile-gnome.sh: Update.
10637 2004-11-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
10639         * scm/define-grobs.scm (all-grob-descriptions): Added
10640         line-interface to the LigatureBracket object.
10642 2004-11-10  Jan Nieuwenhuizen  <janneke@gnu.org>
10644         * scm/framework-gnome.scm (item-event): Support non-animated mouse
10645         dragging tweaks.
10647         * lily/lily-guile.cc (ly_to_string, ly_to_symbol): New function.
10649         * lily/context-selector.cc (store_context): New function.
10651         * lily/grob-selector.cc (register_grob)[TWEAK]: Apply tweak.
10652         (store_grob): New function.
10653         (identify_grob): Add Moment parameter.
10655         * lily/lily-parser.cc (parse_file)[TWEAK]: Read .ly.t file if it
10656         exists.
10658         * scm/framework-gnome.scm (save-tweaks): Write as alist.
10660 2004-11-09  Jan Nieuwenhuizen  <janneke@gnu.org>
10662         * scm/framework-gnome.scm (item-event): Print grob id.
10663         (save-tweaks): New function.
10664         (tweak): New funtion.
10665         (item-event): Use it, bound to arrow keys.
10667         * lily/context-property.cc (make_item_from_properties): Register grob.
10668         * lily/context.cc (add_context): Register context.
10670         * lily/include/context-selector.hh:
10671         * lily/include/grob-selector.hh:
10672         * lily/context-selector.cc:
10673         * lily/grob-selector.cc: New file.
10675 2004-11-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10677         * lily/slur.cc: add 'positions to interface
10679         * lily/main.cc: reinstate PS as standard output format. 
10681         * scm/framework-tex.scm (output-preview-framework): print systems
10682         up to first non title system.
10684         * lily/grace-engraver.cc (start_translation_timestep): split
10685         scm_cadddr
10686         
10687 2004-11-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10689         * lily/quote-iterator.cc (Module): remove old quote-iterator
10691         * scm/define-music-types.scm (music-descriptions): move
10692         NewQuoteMusic over QuoteMusic
10694         * Documentation/user/notation.itely (Formatting cue notes): use
10695         \cueDuring.
10697         * lily/new-quote-iterator.cc (quote_ok): new function.
10699         * input/regression/quote-cue-during.ly: new file.
10701         * input/regression/quote-grace.ly: new file.
10703         * scm/define-context-properties.scm (Module): change definition of
10704         graceSettings
10706         * lily/context-property.cc (Module): rename from
10707         translator-property.cc
10709         * lily/context.cc (context_name_symbol): new function
10711         * lily/grace-engraver.cc: new file. Set properties for grobs based
10712         on the grace-ness of now_moment().
10714         * scm/music-functions.scm (add-grace-property): use list
10715         iso. vector for graceSettings
10716         remove set-{start,stop}-grace-properties. 
10718         * lily/new-quote-iterator.cc (construct_children): set
10719         quote_outlet_ if no quoted-context-{id,type} specified.
10721         * scripts/convert-ly.py (conv): \quote -> \quoteDuring.
10723         * lily/parser.yy (command_element): remove \quote.
10725         * ly/music-functions-init.ly (location): add quoteDuring music
10726         function. 
10728         * lily/lexer.ll: allow \encoding in lyrics as well.  Remove
10729         optional semicolon. (backportme)
10731 2004-11-06  Jan Nieuwenhuizen  <janneke@gnu.org>
10733         * python/GNUmakefile (STEPMAKE_TEMPLATES): Unset USER_LDFLAGS, no
10734         need to link to GUILE et al.
10736 2004-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10738         * scm/define-music-properties.scm (all-music-properties): add
10739         quoted-context-type, quoted-context-id.
10741         * scm/lily.scm (type-check-list): new function.
10742         
10743         * scm/lily-library.scm: new file. Generic library routines.
10745         * lily/parser.yy (Generic_prefix_music): move typechecking out of
10746         parser.
10748         * ly/music-functions-init.ly: add quoteDuring function.
10750         * lily/include/music-iterator.hh (class Music_iterator): rename
10751         set_translator -> set_context
10753         * lily/parser.yy (Generic_prefix_music_scm): add
10754         MUSIC_FUNCTION_SCM_SCM_MUSIC
10756         * scm/lily.scm (sanitize-command-option): new function. (backportme)
10758         * scm/framework-tex.scm (header): sanitize TeX paper size.
10759         (backportme)
10761 2004-11-06  Jan Nieuwenhuizen  <janneke@gnu.org>
10763         * elisp/lilypond-indent.el (LilyPond-indent-level): 2 is now standard.
10765         * tex/lilyponddefs.tex: If no inputencoding use latin1.  (backportme)
10767         * scm/framework-tex.scm (font-load-command): Use T1 if no
10768         font-encoding set.  (backportme)
10770         * scm/lily.scm (postscript->pdf): Remove .pdf file if it
10771         exists before converting.  (backportme)
10773         * scm/framework-tex.scm (convert-to-dvi): Remove .dvi file if it
10774         exists before converting.  (backportme)
10775         (convert-to-ps): Remove .ps file if it exists before
10776         converting.  (backportme)
10778         * lily/lexer.ll: Remove extra progress newline, use present tense.
10780         * scm/paper.scm (paper-alist): public.
10781         * scm/framework-tex.scm (convert-to-ps):
10782         * scm/lily.scm (postscript->pdf): Do not leak papersizename into
10783         command line.
10785 2004-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10787         * scm/lily.scm (ly:system): add > /dev/null 2>&1 . (backportme)
10789         * lily/recording-group-engraver.cc (derived_mark): mark
10790         now_events_. (backportme)
10792 2004-11-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10794         * mf/GNUmakefile: use Fedora-3 in download link. (backportme.)
10796         * scm/framework-tex.scm (convert-to-dvi): use ly:system for
10797         invoking latex. (backportme.)
10799         * lily/stem.cc (off_callback): center stems for all rest stems.
10801 2004-11-05  Werner Lemberg  <wl@gnu.org>
10803         * Documentation/user/lilypond.tely: Add more guidelines for writing
10804         lilypond texinfo documents.
10806 2004-11-05  Heikki Junes  <hjunes@cc.hut.fi>
10808         * Documentation/index.html.in: remove <hr>.
10810         * THANKS: change 2.3 to 2.4.
10812 2004-11-05  Jan Nieuwenhuizen  <jannneke@gnu.org>
10814         * scm/output-gnome.scm: More fontconfig comment.
10816 2004-11-05  Pedro Kroger  <kroeger@pedrokroeger.net>
10818         * GNUmakefile.in ($(builddir)/share/lilypond-force): create the
10819         <package> directory in $(builddir)/share according with
10820         PACKAGE_NAME defined in the VERSION file.
10822 2004-11-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10824         * lily/beam.cc (rest_collision_callback): use local beam
10825         multiplicity.
10827         * input/regression/stem-stemlet.ly: new file.
10829         * lily/stem.cc (add_head): store rests as well.
10831         * scm/define-grob-properties.scm (all-user-grob-properties): add
10832         stemlet-length
10834         * lily/stem.cc: store rests as well.
10835         
10836         * input/regression/new-slur.ly: mention forcing.
10838 2004-11-04  Werner Lemberg  <wl@gnu.org>
10840         * Documentation/user/*: A new round of layout fixes and document
10841         structure cleanup.
10843 2004-11-04  Heikki Junes <hjunes@cc.hut.fi>
10845         * Documentation/user/lilypond.tely: changes 2.3.x to 2.5.x.
10847 2004-11-04  Jan Nieuwenhuizen  <janneke@gnu.org>
10849         * Documentation/topdocs/INSTALL.texi (Top): Remove geometry.
10851 2004-11-03  Jan Nieuwenhuizen  <janneke@gnu.org>
10853         * Documentation/topdocs/INSTALL.texi (Top): Fix geometry url (dax).
10855         * lily/lily-parser.cc (LY_DEFINE): Remove "Now " from message.
10857         * lily/main.cc (main): Invoke identify.
10859         * scm/lily.scm (postscript->pdf): Remove progress newline.
10860         Write progress to stderr.
10862         * lily/paper-book.cc (output): Remove progress newline.
10864         * scm/framework-tex.scm (convert-to-dvi, convert-to-ps): Call
10865         gettext on user messages, and remove whitespace.
10867         * lily/paper-outputter.cc (get_paper_outputter): Add progress newline.
10869         * scripts/lilypond-latex.py (program_name): Bugfix: use only basename of
10870         argv[0] (Thomas Scharkowski).
10872         * configure.in: Bugfix: add REQUIRED parameter to STEPMAKE_TEXMF
10873         call (carlyannehorse).  Also check for mf and mf-nowin.  Add check
10874         for ec-fonts-mtraced.
10876         * GNUmakefile.in (builddir-exec): Add symlink tex/out.  Fixes
10877         --srcdir build (Bertalan).
10879         * stepmake/aclocal.m4 (STEPMAKE_GUILE_DEVEL): Check for guile
10880         headers and library too (Laura Conrad).
10882         * Documentation/topdocs/INSTALL.texi (Top): Mention development
10883         package for guile too (Laura Conrad).
10885         * lily/main.cc (usage): Typo.
10887 2004-11-02  Werner Lemberg  <wl@gnu.org>
10889         * Documentation/user/notation.ly: More fixes to improve appearance.
10891         * tex/texinfo.tex: Updated from texinfo CVS -- this version provides
10892         better output for multicolumn tables.
10894 2004-11-01  Mats Bengtsson  <mabe@drongo.s3.kth.se>
10896         * lily/main.cc (dir_info): Fixed typo in the printouts.
10898 2004-11-01  Werner Lemberg  <wl@gnu.org>
10900         * buildscripts/mf-to-table.py (write_fontlist): Improve formatting
10901         of output.
10902         Set `per_line' to 2; replace hard-coded value with it.
10904         * Documentation/user/*: Many fixes to improve appearance of
10905         printed manual.
10907 2004-11-01  Werner Lemberg  <wl@gnu.org>
10909         * Documentation/user/changing-defaults.itely,
10910         Documentation/user/notation.ly,
10911         Documentation/user/programming-interface.itely: Use @/.
10912         Fix formatting of some lilypond snippets and tables.
10914         * scripts/lilypond-book.py (compose_ly): Provide useful default
10915         for LINEWIDTH in `override'.
10917 2004-10-31  Graham Percival  <gperlist@shaw.ca>
10919         * Documentation/user/invoking.itely: change "3.0" -> "2.4"
10921 2004-10-31  Werner Lemberg  <wl@gnu.org>
10923         Resetting @exampleindent to `5' gives ugly results with texinfo's
10924         DVI output.  Use `@format @exampleindent 0 ... @end format' instead
10925         (if not quoting) to change @exampleindent only locally.
10927         * scripts/lilypond-book.py (NOQUOTE): New variable.
10928         (output) [LATEX]: Remove AFTER and BEFORE.
10929         [TEXINFO]: Remove AFTER and BEFORE.
10930         Fix QUOTE and VERBATIM pattern.
10931         Add NOQUOTE pattern.
10932         (Lilypond_snippet) [output_info, output_latex]: Don't handle AFTER
10933         and BEFORE.
10934         [output_texinfo]: Use NOQUOTE.
10936 2004-10-31  Graham Percival  <gperlist@shaw.ca>
10938         * Documentation/user/changing-defaults.itely: clarify paper
10939         size commands with correct info.
10941         * Documentation/user/lilypond-book.itely: add more docs for
10942         filename extensions.
10944 2004-10-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10946         * VERSION (PATCH_LEVEL): Branch lilypond_2_4, release 2.4.0
10947         (PATCH_LEVEL): start 2.5.0.
10949 #Local variables:
10950 #coding: utf-8
10951 #End: