release commit
[lilypond.git] / ChangeLog
blob87826fc6b876a355763e92f338b3af783d5da40a
1 2006-05-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
3         * VERSION (PATCH_LEVEL): release 2.8.3
5         * config.make.in: add TARGET_PYTHON
7         * lily/key-engraver.cc (create_key): use
8         explicitKeySignatureVisibility on cancellation too.
10         * lily/font-config.cc (init_fontconfig): only close non-NULL file.
12         * scripts/*.py: use TARGET_PYTHON iso PYTHON
14 2006-05-09  Graham Percival  <gpermus@gmail.com>
16         * Documentation/user/tweaking.itely, advanced-notation.itely:
17         backport from 2.9.
19 2006-05-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
21         * flower/file-name.cc: add unistd.h
23         * scm/define-grob-properties.scm (all-internal-grob-properties):
24         read chord-tremolo.
26 2006-05-09  Graham Percival  <gpermus@gmail.com>
28         * Documentation/user/changing-defaults.itely: oops, \item -> @item.
29         Also general editing.
31 2006-05-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
33         * mf/GNUmakefile: remove pfa download stuff.
35         * stepmake/aclocal.m4: use python-config for x-compile flags. Backport.
37         * scripts/lilypond-book.py (do_process_cmd): backport: create .png
38         for html files. Backport.
40         * scm/framework-ps.scm (write-preamble): use mac-font? even if
41         gs-font-load is set. Backport.
43         * mf/feta-bolletjes.mf: fix attachment of triangle head. backport.
45         * mf/GNUmakefile ($(NCSB_OTFS)): backport: gen and install OTF
46         files, new NCSB dir handling.  backport.
48         * lily/music-sequence.cc (maximum_length): backport robustness fix.
50         * input/tutorial/GNUmakefile (EXTRA_DIST_FILES): dist html file too.
52         * configure.in (LINK_GXX_STATICALLY): new --with-ncsb-dir. (backport)
54         * config.make.in: NCSB_SOURCE_FILES
56         * flower/include/std-vector.hh:
57         (default_compare): backport: use only 1 compare optor.
59 2006-05-07  Graham Percival  <gpermus@gmail.com>
61         * Documentation/user/ all: backport everything from 2.9 docs.
63         * Documentation/user/ README.txt, working.itely, tweaks.itely:
64         new files, backported from 2.9.
66 2006-05-04  Graham Percival  <gpermus@gmail.com>
68         * Documentation/user/baer-flat-bw.png: backport remove alpha
69         channel to permit printing on windows.
71 2006-05-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
73         * VERSION (PATCH_LEVEL): bump version.
75         * lily/relocate.cc (setup_paths): backport relocation file stuff
76         from 2.9.
78 2006-04-17  Erlend Aasland  <erlenda@gmail.com>
80         * scm/define-grobs.scm: backport stem-attachment fix for tablature
81         note heads.
83 2006-04-09  Graham Percival  <gpermus@gmail.com>
85         * Documentation/user/*: backport doc changes from 2.9.
87         * scm/define-context-properties.scm: backport fix for
88         old \property stuff.
90         * scm/define-grob-properties.scm: backport updated direction docs.
92 2006-04-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
94         * scripts/lilypond-book.py
95         (Lilypond_snippet.output_print_filename): backport href fix
97         * scm/backend-library.scm (search-gs): backport gs searching fix.
99 2006-04-06  Werner Lemberg  <wl@gnu.org>
101         * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes
102         (bugfix backport).
104 2006-04-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
106         * scripts/musicxml2ly.py (bindir): gub relocation. (bugfix backport.)
108         * scm/music-functions.scm (toplevel-music-functions): set
109         ly:quote-iterator::constructor from
110         toplevel-music-functions. (bugfix backport for mutual quotes.)
112 2006-03-31  Graham Percival  <gpermus@gmail.com>
114         * Documentation/user/ advanced-notation, changing-defaults,
115         instrument-notation, invoking, music-glossary: backport doc.
117 2006-03-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
119         * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
120         BSTINPUTS
121         ($(outdir)/%.html): backport of fix.
123         * VERSION: release 2.8.1
125         * lily/pango-font.cc (pango_item_string_stencil): update from 2.9.x
127 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
129         * lily/ttf.cc (print_trailer): only print existing glyphs. 
131 2006-03-30  Joe Neeman  <joeneeman@gmail.com>
133         * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
134         position the tremolo based on the position of the notehead.
136         * input/regression/stem-tremolo.ly: add example of unbeamed eighth
137         notes and update the texidoc line with the new positioning rules.
139 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
141         * lily/ttf.cc (print_trailer): oops. Backport brown paper bag bugfix.
143 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
145         * backports:
147         * input/regression/stem-tremolo-position.ly: new file.
149         * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
151 2006-03-28  Joe Neeman  <joeneeman@gmail.com>
153         * lily/stem-tremolo.cc (print): position
154         the tremolo depending only on the end of the stem
155         and not on the notehead
156         (raw_stencil): center, on the middle staff line, the
157         flag that is closest to the end of the stem (previously
158         the bottom flag)
159         (calc_width): add this callback to shorten a tremolo when
160         it is beamed or it is stemup with a flag
161         (style): add this callback to make a tremolo rectangular when
162         it is beamed or it is stemup with a flag
163         (rotated_box): this is like Lookup::beam but makes a rotated
164         rectangle instead of a parallelogram
166         * lily/stem.cc (calc_stem_info): make sure the stem
167         is long enough to fit the tremolo
168         (calc-length): reduce the length of tremolo stems since the
169         tremolo code is now capable of better positioning
171         * scm/define-grobs.scm: make calc_width the default beam-width
172         callback for stem-tremolo and add the style callback
173                 
174 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
176         * lily/tuplet-bracket.cc (calc_control_points): handle suicide
177         case. 
179 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
181         * lily/ttf.cc (make_index_to_charcode_map): restore old
182         cmap. 
184 2006-03-28  Werner Lemberg  <wl@gnu.org>
186         * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
188 2006-03-28  Graham Percival  <gpermus@gmail.com>
190         * THANKS: update for 2.9, add section for Documentation helpers.
192         * Documentation/topdocs/NEWS.tely: compile fix.
194         * Documentation/user/ basic-notation, global, advanced-notation,
195         examples.itely: minor fixes from mailist.
197 2006-03-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
199         * mf/feta-bolletjes.mf: match width of solfa notes with normal
200         note heads. 
202         * lily/ttf.cc (print_trailer): use it.
204         * lily/pango-font.cc (get_unicode_name): new function.
206         * lily/ttf.cc (make_index_to_charcode_map): move function from
207         open-type-font.cc
208         (print_trailer): substitute uniXXXX name if applicable. 
210         * lily/pango-font.cc (get_index_to_charcode_map): new function.
211         (pango_item_string_stencil): use it to generate uniXXXX names.
212   
213         * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
214         note heads, for uniform widths in shape note output.
215         (overdone_heads): hmm. remove them again.
216   
217         * scripts/lilypond-book.py (output): add links to filenames.
219         * Documentation/topdocs/INSTALL.texi (Top): update versions.
221         * lily/note-collision.cc (get_clash_groups): only consider when
222         Note_column::dir <> CENTER. 
224         * scripts/lilypond-book.py (get_option_parser): init output_name
225         to ''. 
227 2006-03-24  Graham Percival  <gpermus@gmail.com>
229         * Documentation/topdocs/NEWS.tely: add @end itemize
231         * Documentation/user/ global, advanced-notation: minor
232         stuff from mailist.
234 2006-03-23  Graham Percival  <gpermus@gmail.com>
236         * Documentation/user/ lilypond.tely, music-glossary,
237         preface: housekeeping; 2005->2006, remove "notes for 2.6"
239 2006-03-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
241         * mf/GNUmakefile: don't install .enc files.
243         * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
245         * VERSION (PATCH_LEVEL): bump to 2.9.0
247 2006-03-22  Graham Percival  <gpermus@gmail.com>
249         * Documentation/user/advanced-notation.itely: minor fixes
250         from mailist.
252 2006-03-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
254         * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
255         
256 2006-03-28  Graham Percival  <gpermus@gmail.com>
258         * Documentation/user/advanced-notation.itely: backport fixes
259         from 2.9.  (this is mostly a test; more backporting will occur)
261 2006-03-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
263         * Documentation/topdocs/NEWS.tely (Top): change to 2.8
265         * VERSION (PATCH_LEVEL): bump version to 2.8
267         * Documentation/user/preface.itely (Preface): remove "notes for
268         2.6" section.
270         * branch lilypond_2_8
271         
272         * scripts/lilypond-book.py (samefile): new function, for windoze
273         compatibility.
275 2006-03-21  Graham Percival  <gpermus@gmail.com>
277         * ly/engraver-init.ly: add info about StaffGroup.
279 2006-03-21  Han-Wen Nienhuys  <lilydev@localhost.localdomain>
281         * input/regression/stem-direction-context.ly: idem.
283         * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
285         * THANKS: add Mats.
287         * input/regression/page-layout-twopass.ly: comment out \markup so
288         tweak-file is left.
290         * lily/instrument-name-engraver.cc (finalize): add to instrument
291         name global System. This also fixes chopped instrument names, but
292         doesn't crash when there are slurs/beams.
294         * lily/slur-configuration.cc (add_score): disallow negative slur
295         scores.
296         
297 2006-03-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
299         * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
301         * lily/instrument-name-engraver.cc (process_music): kludge: add
302         InstrumentName spanner to axis group of left bound. Fixes chopped
303         off instrument names in EPS images.
305         * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
307         * scripts/abc2ly.py (option_parser): update to 2.7.40
309 2006-03-20  Graham Percival  <gpermus@gmail.com>
311         * THANKS: move small doc contributors to SUGGESTIONS.
313         * Documentation/user/ basic-notation, advanced-notation,
314         global: small changes from mailist.
316 2006-03-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
318         * Documentation/user/advanced-notation.itely (Text marks): update
319         for new rehearsalMarkAlignSymbol convention.
321         * VERSION (PATCH_LEVEL): bump version.
323         * input/test/instrument-name-align.ly: new file.
325         * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
327         * input/test/instrument-name-align.ly: new file. Document how to
328         align instrument names.
330         * lily/mark-engraver.cc: remove properties.
332         * scm/define-context-properties.scm
333         (all-user-translation-properties): remove align symbol properties
334         for barnumber/reh. mark.
336         * lily/break-align-interface.cc (self_align_callback): new
337         interface, new function. Look at complete alignment. This handles
338         tunable break alignments in case break-align-symbols are missing.
340         * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
342         * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
344         * python/convertrules.py (conv): mark/bar number alignment rule.
346         * lily/break-align-interface.cc (calc_positioning_done): also
347         store offset from last visible break-alignment to its
348         neighbor. This makes alignment on non-visible objects more reliable.
350         * po/lilypond.pot (Module): ran po-replace.
352         * input/regression/tie-single-manual.ly (Module): new file.
354         * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
355         look at has_manual_position_.
356         (from_ties): set has_manual_position_ if tie has staff-position set.
358         * lily/tuplet-bracket.cc (calc_positions): idem.
360         * lily/tuplet-number.cc (print): don't print tupletnumber if it
361         doesn't span time.
363 2006-03-19  Nicolas Sceaux  <nicolas.sceaux@free.fr>
365         * scm/define-markup-commands.scm (smallCaps): new markup command
366         for turning a text to small caps using smaller font size and upper
367         casing.
369 2006-03-17  Graham Percival  <gpermus@gmail.com>
371         * Documentation/user/ examples, instrument-notation,
372         advnaced-notation: minor fixes from mailist.
374 2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
376         * Documentation/user/tutorial.itely (First steps): change example
377         to verbatim.  
379 2006-03-17  Graham Percival  <gpermus@gmail.com>
381         * Documentation/user/ examples, advanced: minor changes from mailist.
383         * THANKS: add Geoff Horton, for documentation stuff.
385 2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
387         * python/lilylib.py (system): revert have_select kludge.
389         * Documentation/user/tutorial.itely (Commenting input files):
390         update version numbers in doc. 
392         * scm/define-grob-interfaces.scm (multi-measure-interface): add
393         bound-padding to multi-measure-interface
395 2006-03-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
397         * input/test/engraver-example.ily: update version number.
399         * VERSION (PACKAGE_NAME): release 2.7.39
401         * lily/note-spacing.cc (get_spacing): heighten threshold where
402         accidentals/arpeggios influence previous spacing fully.
404         * lily/rest.cc (y_offset_callback): only use direction if
405         staff-position wasn't set before.
407         * lily/bar-number-engraver.cc: add support for
408         barNumberAlignSymbol. 
409         add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
411         * lily/pointer-group-interface.cc (set_ordered): new function. 
412         (add_unordered_grob): new function.
414         * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
415         to ordered, unless the opposite has been proved.  This fixes
416         random reordering of large object groups across linebreaks,
417         eg. beams.
419         * lily/main.cc (do_chroot_jail): printf format fix.
421         * lily/tie-formatting-problem.cc (generate_configuration):
422         multiply y-shift for dot with direction.
424         * scm/define-markup-commands.scm (note-by-number): put (magstep
425         size) in y-attach too.
427         * Documentation/topdocs/NEWS.tely (Top): show override.
429         * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
430         direction for stems.
431         
432 2006-03-15  Graham Percival  <gpermus@gmail.com>
434         * Documentation/user/ changing-defaults, global: minor
435         fixes from mailist.
437 2006-03-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
439         * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
441         * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
442         breakable items after uniformly stretched notes.
444         * lily/tie-formatting-problem.cc (set_chord_outline): initialize
445         outline with outer edge of note heads. This prevents infinity
446         problems with tied whole notes.
448         * scripts/lilypond-book.py (do_file): use os.popen
450         * python/convertrules.py (conv): add rule for Stem #'beamed-*
452 2006-03-14 Erik Sandberg  <mandolaerik@gmail.com>
454         * Documentation/user/invoking.itely: Add ragged-right to bug report
455         guidelines.
457 2006-03-14  Graham Percival  <gpermus@gmail.com>
459         * Documentation/user/global.itely: small fix from mailist.
461 2006-03-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
463         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
464         file descriptor returned by tempfile.mkstemp() when writing
465         to tmpfile and closing it. Solves problem with unlink(tmpfile)
466         on mingw.
468 2006-03-14  Jan Nieuwenhuizen  <janneke@gnu.org>
470         * po/fi.po: newline bugfix.
472 2006-03-12  Jan Nieuwenhuizen  <janneke@gnu.org>
474         * scm/paper.scm (paper-alist): Rounding fixes.
476 2006-03-13  Graham Percival  <gpermus@gmail.com>
478         * Documentation/user/ changing-defaults, instrument-notation,
479         tutorial: small fixes from mailist, mostly from Mats.  Thanks!
481 2006-03-13 Heikki Junes  <hjunes@cc.hut.fi>
483         * po/fi.po: update.
485 2006-03-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
487         * stepmake/bin/add-html-footer.py (mail_address_url): don't add
488         mailto: to http:// 
490         * python/lilylib.py (print_environment): move ps_page_count to
491         lilypond-book.py
493 2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
495         * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
497         * scm/framework-ps.scm (embed-document): new function. Use to
498         embed PFA files.
500         * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
502 2006-03-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
504         * Documentation/user/instrument-notation.itely (Setting simple
505         songs): Added \book{...} around the full example, so the separate
506         markups are included in the printed example. 
508 2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
510         * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
511         tmphandle.
513         * python/lilylib.py (system): rewrite system() using
514         subprocess. Remove >& redirection trickery.
516 2006-03-11  Graham Percival  <gpermus@gmail.com>
518         * Documentation/user/ changing-defaults, global, scheme-tutorial,
519         notation-appendices.itely: minor fixes from mailist.
521 2006-03-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
523         * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
524         unsplit man also needs images.
526         * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
528         * VERSION (PACKAGE_NAME): 2.7.38 released.
530 2006-03-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
532         * scripts/lilypond-book.py (get_latex_textwidth): look for latex
533         log in output dir.
535 2006-03-08  Johannes Schindelin  <Johannes.Schindelin@gmx.de>
537         * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
538         respects the Score.skipTypesetting property.
539         
540 2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
542         * scm/framework-ps.scm (ps-embed-cff): no Setup section in
543         Prolog. No %%EOF after CFF file.
545 2006-03-08  Joe Neeman  <joeneeman@gmail.com>
546         
547         * lily/constrained-breaking.cc (get_max_systems): used to return a
548         much too big value
549         (combine_demerits): use pointers to reduce copying data
550         (calc_subproblem): idem
551         (get_page_penalty): add page turn penalties
552         
553 2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
555         * Documentation/user/invoking.itely (Invoking lilypond): better
556         explanation of -e usage.
558         * lily/main.cc (main_with_guile): don't append to
559         init_scheme_code_string
561         * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
563         * Documentation/user/invoking.itely: add note about MacOS X scripts.
565         * scripts/convert-ly.py (do_options): don't print help for
566         --show-rules rule.
568         * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
569         @code and @example. Update from texinfo.tex from CVS.
571 2006-03-08  Graham Percival  <gpermus@gmail.com>
573         * Documentation/user/scheme-tutorial.itely: clarifies distances
574         measured in staff-spaces.
576 2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
578         * lily/slur.cc (outside_slur_callback): only calculate offsets if
579         consider[k] is true.
581         * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
583         * lily/spacing-basic.cc (standard_breakable_column_spacing): also
584         consider columns that have originals.  Unifies spacing for mm
585         rests around line breaks.
587         * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
588         (set_text_rods): idem.
589         (calculate_spacing_rods): new function: share code between
590         set_text_rods and set_spacing_rods.
591         (set_text_rods): take extents of bounds into account.  
593 2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
595         * Documentation/user/basic-notation.itely (Writing music in
596         parallel): don't use relative.
598 2006-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
600         * ly/music-functions-init.ly (Module): add shiftDurations
602         * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
604         * scm/paper.scm (paper-alist): no decimals for Ax paper sizes. 
606         * ly/engraver-init.ly: init vocalName to nil.
608 2006-03-05 Erik Sandberg  <mandolaerik@gmail.com>
610         * scm/music-functions.scm (music->make-music): bugfix,
611         KeyChangeEvents are now handled correctly.
613         * scripts/lilypond-book.py: Add --debug option.
615 2006-03-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
617         * python/lilylib.py: add tempfile.
619 2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
621         * VERSION (PACKAGE_NAME): release 2.7.37
623         * python/lilylib.py (ps_page_count): remove make_ps_images().
624         (ps_page_count): remove mkdir_p
625         (system): remove cleanup_temp.
626         (exit): remove lilypond_version_(check)
627         (error_log): remove pseudo_filter_p
628         remove read_pipe
629         remove cp_to_dir
630         remove identify
632         * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
633         use __main__
635         * lily/accidental-engraver.cc (make_standard_accidental): only add
636         support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
638         * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
639         $(outdir)/emmentaler-%.svg): rewrite without functions; too many
640         Make incompatibilities.
642         * scm/output-ps.scm (grob-cause): replace backslashes by /
643         (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
645 2006-03-02  Jan Nieuwenhuizen  <janneke@gnu.org>
647         * cygwin/GNUmakefile: Install fixes.
649         * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
651         * lily/note-head.cc (head::get_balltype): Compile fix.
653         * flower/file-name.cc (dos_to_posix): Flower string fix.
655 2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
657         * python/lilylib.py: pychecker cleanups.
659         * scripts/lilypond-book.py
660         (Lilypond_snippet.output_print_filename): pychecker cleanups
662         * scripts/midi2ly.py (Key.dump): pychecker cleanups.
664         * python/lilylib.py (underscore): remove identify() , warranty()
666         * ps/music-drawing-routines.ps: change Border routine for GSView
667         compatibility.
669         * lily/stem.cc (height): use quantize-positions.  This triggers
670         set_stem_lengths, so scripts on beamed stems are handled correctly.
672         * lily/side-position-interface.cc (aligned_side): check if edges
673         of script are inside staff. Fixes accent of edge of the staff.
675         * input/regression/staccato-pos.ly: more examples.
677         * stepmake/aclocal.m4 (depth): fix bashism.
679         * lily/lyric-combine-music-iterator.cc: move from
680         new-lyric-combine-iterator.cc
681         (process): add pending_grace_lyric_ member to delay lyrics on
682         grace notes.
684         * lily/system-start-text.cc (print): suicide if we don't have any
685         elements. Fixes hara kiri'd instrument names.
687         * scripts/mup2ly.py (Module): remove.
689 2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
691         * Documentation/user/global.itely (A single music expression):
692         close @lilypond properly
694         * lily/volta-bracket.cc (modify_edge_height): change from
695         after_line_breaking_callback. Suicide last bracket if appropriate.
697         * python/lilylib.py: strip getopt support
699         * scripts/etf2ly.py (do_options): use optparse
701         * scripts/midi2ly.py: optparse, strip lilylib copy. 
703         * scripts/abc2ly.py (voices): use optparse.
705         * stepmake/stepmake/generic-vars.make: new function absdir.
707         * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
709         * scripts/lilypond-book.py (find_file): use global_options for
710         include path
712         * scm/ps-to-png.scm (ps-page-count): prevent null characters
713         entering C code.
715 2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
717         * python/lilylib.py (get_global_option): ughness for extracting
718         global options from lilylib.
719         (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
721         * scripts/lilypond-book.py (get_option_parser): use optparse for
722         option handling.  Put options in global_options variable.
724 2006-02-28  Heikki Junes  <hjunes@cc.hut.fi>
726         * Documentation/index.html.in: clarify.
728 2006-02-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
730         * scm/layout-page-layout.scm (write-page-breaks): add a
731         music-system-heights property to the page layout output.
733         * scm/page.scm (make-page-stencil): take footer into account when
734         computing the 'space-left page property
735         (annotate-space-left): take footer into account when annonating
736         space left.
738 2006-02-28  Graham Percival  <gpermus@gmail.com>
740         * Documentation/user/ advanced-notation, global: more (final)
741         docs for music expressions, removed special fermatas.
743 2006-02-27  Graham Percival  <gpermus@gmail.com>
745         * Documentation/user/ basic-notation, global: minor changes
746         from mailist.
748 2006-02-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
750         * scm/framework-ps.scm:         
751         * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
752         layer for inf? and nan? from framework-ps to lily-library.
754 2006-02-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
756         * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
757         $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
759         * buildscripts/substitute-encoding.py (Module): remove file.
761         * mf/GNUmakefile: more PFA strippage.
763         * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
765         * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
766         generation
768         * scm/framework-ps.scm: remove font name munging.
770         * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
772 2006-02-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
774         * scm/markup.scm (define-markup-command): change
775         def-markup-command to define-markup-command
777         * scm/music-functions.scm (define-music-function): change
778         def-music-function to define-music-function.
780         * python/convertrules.py (conv): rules for def-music-function
781         and def-markup-commands
783         * Documentation/user/programming-interface.itely,
784         input/no-notation/display-lily-tests.ly,
785         input/regression/lily-in-scheme.ly,
786         input/regression/markup-user.ly,
787         input/regression/music-function.ly, input/regression/tie-chord.ly,
788         scm/fret-diagrams.scm, ly/music-functions-init.ly,
789         ly/gregorian-init.ly: use new macro names (define-music-function,
790         define-markup-command).
792 2006-02-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
794         * scripts/lilypond-book.py (main): write Makefile dependencies file. 
795         (output): add comments to lp-book latex output.
797         * GNUmakefile.in (footifymail): use gmane address for webpage bug
798         address.
800 2006-02-23  Graham Percival  <gpermus@gmail.com>
802         * Documentation/user/ tutorial, global: minor changes.
804 2006-02-23  Nicolas Sceaux  <nicolas.sceaux@free.fr>
806         * mf/GNUmakefile: add '\' in multi-line "define ... endef"
807         blocks (for make 3.80)
809         * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
810         \notemode so that user should not have to explicitely type it.
812         * scm/define-music-display-methods.scm: various
813         fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
814         constructs)
816         * input/no-notation/display-lily-tests.ly: new tests for
817         \applyOutput and \applyContext
819 2006-02-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
821         * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
822         changed it slightly so that the number of systems returned by
823         solve () will be the same as the last value passed to resize
824         (). I've also added more documentation, removed casts, fixed style
825         problems and put in some recovery if constraints aren't satisfied."
827 2006-02-23  Jan Nieuwenhuizen  <janneke@gnu.org>
829         * elisp/lilypond-mode.el (count-matches-as-number): New funtion
830         for emacs < 22 compatibility.
831         (count-rexp): Use it.
832         (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
833         substring juggling (Milan Zamazal).
835 2006-02-23  Graham Percival  <gpermus@gmail.com>
837         * Documentation/user/ basic-notation, advanced-notation,
838         global.itely, invoking.itely, tutorial,itely:
839         minor fixes from mailist.
841         * scm/define-markup-commands.scm: improve docs of \filled-box.
843 2006-02-23  Heikki Junes  <hjunes@cc.hut.fi>
845         * Documentation/index.html.in: changes concern the previous release.
847         * input/regression/+.ly: cultivate typographical terminology.
849 2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
851         * scm/define-grob-interfaces.scm (parentheses-interface): add
852         padding to parentheses-interface.
854         * Documentation/user/GNUmakefile: remove $(CROSS) support from
855         Documentation/user/GNUmakefile. Use --disable-documentation for that.
857         * VERSION (PATCH_LEVEL): release 2.7.36
859         * lily/slur.cc: add avoid-slur (ugh.)
860         
861         * lily/slur-configuration.cc (fit_factor): oops, skip point if
862         intersection gets smaller. This fixes slurs over extreme points.
864         * lily/melody-engraver.cc (stop_translation_timestep): ignore
865         stems with neutral-direction set.
867         * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
869         * lily/open-type-font.cc (load_table): format error.
871         * lily/change-iterator.cc (process): format fix.
873         * flower/include/international.hh (_f): idem.
875         * flower/include/std-string.hh: add format printf attribute.
877         * scm/define-grobs.scm (all-grob-descriptions): height of all
878         PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
880         * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
881         ambitus lines.
883         * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
885 2006-02-22 Erik Sandberg  <mandolaerik@gmail.com>
887         * input/regression/: upgraded syntax for some files.
889         * THANKS: Add bughunters.
891 2006-02-22  Graham Percival  <gpermus@gmail.com>
893         * Documentation/user/ invoking.itely, advanced-notation.itely,
894         global.itely: long-awaited "let's make chapter 10 not suck"
895         update.  Rearrange chapter 10; now called "global issues",
896         addresses file structure, etc.  Some info from other files
897         moved into global.itely.
899 2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
901         * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
902         catch trill-span-event notes.
904         * Documentation/user/examples.itely (Ancient notation templates): typo.
905         (Jazz combo): typo.
907         * scripts/lilypond-book.py (main): scrap invokes_lilypond(). 
909         * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
911         * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
913         * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
915         * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
916         froum Laissez_vibrer_engraver.
918         * ly/declarations-init.ly (repeatTie): add \repeatTie
920         * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
922         * scm/define-grob-properties.scm (all-user-grob-properties): add
923         head-direction property.
925         * lily/tie-formatting-problem.cc (from_semi_ties): rename from
926         from_lv_ties. Take head direction argument.
928         * lily/semi-tie-column.cc: rename from
929         laissez-vibrer-tie-column.cc. Rename class too.
931         * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
932         class too.
934         * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
936         * lily/break-algorithm.cc (find_break_indices): remove linewidth <
937         0 case.
938         (find_breaks): idem.
940 2006-02-21  Graham Percival  <gpermus@gmail.com>
942         * Documentation/user/advanced-notation.itely: fixed make-moment]
943         example.
945         * Documentation/user/basic-notation.itely: more clarification to
946         transpose.
948 2006-02-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
950         * lily/include/constrained-breaking.hh (class
951         Constrained_breaking): new file.
953         * lily/constrained-breaking.cc (resize): new file.
955         * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
957         * Documentation/user/advanced-notation.itely (Clusters): insert
958         end ignore too.
960         * lily/tie-column.cc (calc_positioning_done): support for
961         tie-score debugging
963         * lily/tie-formatting-problem.cc
964         (generate_extremal_tie_variations): factor out.
965         (score_ties_configuration): annotate all tie 
966         (print_ties_configuration): new routine.
967         (generate_configuration): nudge extremal ties outside of the head
968         Y extents.
969         (score_ties_configuration): oops. convert to staff-space before
970         determining position symmetry.
972 2006-02-20  Graham Percival  <gpermus@gmail.com>
974         * Documentation/user/*-notation.itely: misc minor editing,
975         shifting doc sections around.
977         * Documentation/user/*-notation-itely, global.itely,
978         changing-defaults.itely: added new stuff from NEWS.
980 2006-02-20  Heikki Junes  <hjunes@cc.hut.fi>
982         * po/fi.po: update.
984 2006-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
986         * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
987         lilypond --verbose for lp-book.
989         * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
990         $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
992         * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
993         $(buildscript-dir) iso. absolute depth.
995         * buildscripts/genicon.py (dir): thinko.
997         * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
999 2006-02-19 Erik Sandberg  <mandolaerik@gmail.com>
1001         * scm/output-lib.scm: swap darkcyan/darkyellow
1003         * THANKS: Add bughunters.
1005 2006-02-19  Graham Percival  <gpermus@gmail.com>
1007         * Documentation/user/programming-interfaces.itely: fixed example.
1009         * Documentation/user/instrument-notation.itely: fix @{ @}.
1011         * scm/script.scm: add avoid-slur for \open.
1013 2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1015         * lily/tie-formatting-problem.cc (score_configuration): use
1016         sliding score for min-length. 
1018         * Documentation/pictures/GNUmakefile (local-dist): loose the rule
1019         spaghetti for icons.
1021         * buildscripts/genicon.py (program_name): new file.
1023         * lily/tie-formatting-problem.cc (set_chord_outline): put dots
1024         in outline too.  
1025         (generate_configuration): for small ties, also look for collisions
1026         at Y + DIR*h + DELTA_Y.
1027         (get_variations): consider variation for dot positions too.
1029         * lily/side-position-interface.cc (aligned_side): take abs for
1030         quantized rounded position. Fixes tenuto below staff.
1032         * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
1033         markers when necessary.
1035         * lily/program-option.cc (internal_set_option): add
1036         strict_infinity_checking option.
1038         * scm/output-lib.scm (cyan): swap yellow and cyan.
1040 2006-02-19  Graham Percival  <gpermus@gmail.com>
1042         * darwin.patch: trivial linenumber update.
1044         * Documentation/user/ {various}: `\context foo = named' changed
1045         to `\new foo = "name"' in docs.
1047 2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1049         * scm/stencil.scm (annotate-y-interval): use it.
1051         * scm/lily-library.scm (interval-sane?): new function.
1053         * buildscripts/mf-to-table.py (Char_metric.__init__): remove
1054         tfm_checksum stuff.
1056         * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
1057         common refpoint.
1059         * flower/include/std-vector.hh (iterof): add iterof macro.
1061         * lily/enclosing-bracket.cc (width): new function.
1063         * lily/align-interface.cc (align_elements_to_extents): reinstate
1064         warning.
1066 2006-02-18  Heikki Junes  <hjunes@cc.hut.fi>
1068         * Documentation/index.html.in: fix spelling: thankyous.
1070 2006-02-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1072         * lily/lyric-hyphen.cc: typo.
1074 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1076         * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
1077         $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
1078         builds don't work. 
1080         * VERSION: release 2.7.35
1082         * lily/beam.cc (get_default_dir): oops. Take abs () for
1083         extremes[DOWN].
1084         (get_default_dir): use extreme position criterion only in absence
1085         of forced stem directions.
1087         * VERSION (PATCH_LEVEL): bump VERSION.
1089         * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
1090         dependencies. Necessary for -jX builds.  
1092 2006-02-17  Jan Nieuwenhuizen  <janneke@gnu.org>
1094         * lily/relocate.cc (setup_paths): Yet another const fix.
1096 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1098         * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
1100         * lily/relocate.cc (setup_paths): oops.
1102 2006-02-17  Heikki Junes  <hjunes@cc.hut.fi>
1104         * Documentation/index.html.in: order links: html before PDF.
1106 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1108         * lily/tie-column-format.cc (Module): remove.
1110         * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
1112         * lily/text-spanner.cc (print): idem.
1114         * lily/dynamic-text-spanner.cc (print): only print line if longer
1115         than dash-period.
1117         * lily/auto-change-iterator.cc (change_to): formatting.
1119         * lily/beam.cc (get_default_dir): take extreme note head as input
1120         for stem direction.
1122         * lily/tie.cc (get_default_dir): only look directions for visible
1123         stems. 
1125         * lily/side-position-interface.cc (aligned_side): oops. Don't
1126         mutiply with direction. This fixes quantized (staccato, tenuto)
1127         scripts below notes.
1129         * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
1130         direction. Fixes c-lyrics-center-align.ly
1132 2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>
1134         * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
1135         constructor.
1137         * lily/std-string.cc:
1138         * lily/include/std-vector.hh (split_string): Move and rename from
1139         lily/include/misc.hh, lily/misc.cc.  Update callers.
1141 2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1143         * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
1145 2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>
1147         * flower/test-file.cc: New file.
1149         * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
1150         libraries.
1152         * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
1154 2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1156         * flower/include/file-storage.hh: remove file.
1158         * lily/include/midi-item.hh (class Midi_track): idem.
1160         * lily/include/source.hh (class Sources): idem.
1162         * lily/include/performance.hh (class Performance): use vector
1163         iso. Cons<>
1165         * flower/include/cons.hh (class Cons): remove file.
1167         * flower/include/flower-proto.hh: remove template cruft.
1169         * lily/include/font-metric.hh: use size_t not vsize for indices.
1171         * flower/include/flower-proto.hh (Module): remove std-vector.hh
1172         from proto.
1174         * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
1176         * lily/include/paper-book.hh (class Paper_book):
1177         make get_system_specs() public.
1179         * scm/layout-page-layout.scm (optimal-page-breaks): only consider
1180         the force=10000 case if we don't have a current-best. 
1182         * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
1183         vsize 
1185         * flower/include/flower-proto.hh: remove outdated templates.
1187         * scm/page.scm: use annotate-spacing
1189 2006-02-15  Graham Percival  <gpermus@gmail.com>
1191         * scm/translation-functions.scm: circle patch from Erlend, thanks!
1193         * THANKS: moved Erlend Aasland to contributors.
1195 2006-02-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1197         * config.hh.in: remove HAVE_PANGO_16
1199         * lily/tuplet-bracket.cc (calc_positions): multiply with
1200         staff-space for beam case. This fixes tuplets+beams on scaled
1201         staves.
1203         * config.hh.in: remove all Kpathsea related defines.
1205         * lily/dot-column.cc (side_position): reach stem via dots->
1206         head->stem. Inspect all stems for dot collisions. 
1208         * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
1209         stem handling.
1211         * lily/bar-number-engraver.cc (process_music): document function
1212         of whichBar.
1214         * lily/score.cc (default_rendering): add pscore, not systems
1215         themselves.
1217         * lily/paper-book.cc (get_system_specs): separate generation of
1218         titles and systems.
1220         * flower/include/std-vector.hh: don't include config.hh
1222 2006-02-15  Jan Nieuwenhuizen  <janneke@gnu.org>
1224         * flower/include/std-vector.hh: Better wrapper compatibility with
1225         std::vector.
1227         * flower/include/flower-proto.hh: Remove cheap forward declaration
1228         attempts.
1230         * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
1232 2006-02-14  Graham Percival  <gpermus@gmail.com>
1234         * Documentation/user/invoking.itely: add warning about command line.
1236 2006-02-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1238         * lily/include/lily-proto.hh: add Prob, rm Page.
1240         * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
1242         * VERSION: release 2.7.34
1244         * lily/relocate.cc (framework_relocation): show canary if
1245         GHOSTSCRIPT_VERSION undefined.
1247         * GNUmakefile.in: remove $(VERSION) symlink.
1249         * lily/relocate.cc (setup_paths): add + 
1251 2006-02-13  Heikki Junes  <hjunes@cc.hut.fi>
1253         * Documentation/index.html.in: specify sizes for all big HTML pages.
1255 2006-02-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1257         * config.hh.in: remove @FRAMEWORKDIR@
1259         * lily/system-start-text.cc (get_stencil): new file: separate out
1260         system-start-delimiter text support.
1262         * input/**ly: replace \context with \new where appropriate.
1263         
1264         * THANKS: add Don.
1266         * lily/slur-scoring.cc (get_base_attachments): use
1267         robust_relative_extent. This fixes problems with empty paper-columns. 
1269 2006-02-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1271         * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
1273         * scm/define-music-properties.scm (all-music-properties):
1274         create-new property.
1276         * lily/context-specced-music-iterator.cc (construct_children):
1277         inspect 'create-new property iso. magical $uniqueContextId context
1278         id.
1280         * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
1282         * lily/context-key-manager.cc (Module): new file. Encapsulate
1283         object key generation.
1285         * lily/include/context-key-manager.hh (Module): new file.
1287 2006-02-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1289         * scm/define-grobs.scm (all-grob-descriptions): center instrument
1290         names vertically
1292         * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
1293         options.
1294         (reloc_b): excise --enable-framework-dir
1296         * lily/relocate.cc (framework_relocation): use getenv
1297         LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
1299 2006-02-11  Jan Nieuwenhuizen  <janneke@gnu.org>
1301         * flower/include/std-string.hh: 
1302         * flower/include/std-vector.hh: Finish std:: conversion; move
1303         flower extensions from std:: namespace.  Update users.
1305         * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
1306         their expansion to vector<*>.  Update users.
1308 2006-02-10  Graham Percival  <gpermus@gmail.com>
1310         * Documentation/user/invoking.itely: add example to File structure.
1312         * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
1313         examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
1315 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1317         * ly/paper-defaults.ly: typo.
1319         * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
1320         set_parent() for parentheses. This will make it show up in bbox
1321         calculations.
1323         * scm/output-lib.scm (parentheses-item::print): rewrite, using
1324         ly:grob-common* functions.
1326         * lily/grob-scheme.cc (LY_DEFINE):
1327         ly:grob-common-refpoint-of-array: new function 
1328         ly:grob-common-refpoint: new function 
1329         ly:grob-relative-coordinate: new function 
1331         * lily/instrument-name-engraver.cc (process_music): use
1332         Text_interface::is_markup(). This fixes \markup on instrument names.  
1334         * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
1335         for ties and slurs.
1337         * lily/slur.cc (print): idem.
1339         * lily/tie.cc: add line-thickness for ties. 
1341 2006-02-10  Jan Nieuwenhuizen  <janneke@gnu.org>
1343         * scm/output-svg.scm: Document diversion from GNU coding standards
1344         as a workaround for a bug in Microsoft Internet Explorer.
1346 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1348         * lily/instrument-name-engraver.cc (process_music): use
1349         is_markup() iso. is_string()
1351         * Documentation/user/changing-defaults.itely (Module): add menu entry.
1353         * lily/percent-repeat-engraver.cc (process_music): only look at
1354         main_part_ for % repeats.
1356         * lily/stem-tremolo.cc (get_beam_translation): new function.
1357         (calc_slope): new function.
1358         (height): don't use real slope.
1360 2006-02-10  Jürgen Reuter  <reuter@ipd.uka.de>
1362         * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
1363         new connect-to-neighbor, control-points and staff-padding
1364         properties to make ligature brackets showing up again.
1366 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1368         * VERSION: release 2.7.33
1370         * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
1371         too many.
1373         * Documentation/user/changing-defaults.itely (Difficult tweaks):
1374         remove applyOutput example.
1375         (Objects connected to the input): document \tweak, \parenthesize
1377         * lily/relocate.cc (prefix_relocation): allow "current"
1378         iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
1379         changing VERSION in a lily tree less painful.
1381         * input/regression/parenthesize.ly: new file. 
1383         * scm/output-lib.scm (parenthesize-element): new function.
1385         * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
1387         * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
1389         * lily/accidental-engraver.cc (make_standard_accidental): reroute
1390         cause: accidentals are caused by note heads, not note events. 
1392 2006-02-08  Graham Percival  <gpermus@gmail.com>
1394         * darwin.patch: small patch from Erlend, thanks!
1396         * Documentation/user/basic-notation.itely: add stem-neutral example.
1398         * Documentation/user/putting.itely: clarifications.
1400 2006-02-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1402         * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
1403         note, add more guidelines to what should go into NEWS.
1405         * input/sakura-sakura.ly: document how to override font.
1407         * input/regression/font-family-override.ly:  doc -dshow-available-fonts
1409 2006-02-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1411         * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
1413 2006-02-08  Jan Nieuwenhuizen  <janneke@gnu.org>
1415         * scripts/convert-ly.py (lilypond_version_re_str): Move from
1416         convertrules.  Add explicit grouping, needed for python2.2.
1418 2006-02-07  Jan Nieuwenhuizen  <janneke@gnu.org>
1420         * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
1422 2006-02-07  Graham Percival  <gpermus@gmail.com>
1424         * Documentation/user/global.itely: fix line-width in (text) docs.
1426         * Documentation/user/lilypond-book.itely: same.
1428 2006-02-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1430         * VERSION (PACKAGE_NAME): release 2.7.32
1432         * Documentation/topdocs/NEWS.tely (Top): document new variable
1433         naming.
1435         * flower/include/array.icc (Message): remove file.
1437         * flower/include/std-vector.hh: make sure vsize and VPOS are
1438         defined for binary_search_bounds().
1440         * flower/std-string.cc (std): add to_string(long unsigned).
1442         * configure.in (gui_b): excise std_string option.
1443         (gui_b): excise std_vector option.
1445         * flower/string.cc (Module): excise flower array & string
1447         * flower/include/std-string.hh: excise flower string.
1449         * {ly,lily,scm}/*: use dashes in \paper and \layout variables
1451         * python/convertrules.py (lilypond_version_re_str): require
1452         only numbers and dots in \version string.
1454 2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1456         * lily/system-start-delimiter.cc (print): allow style = text too.
1458         * lily/system-start-delimiter-engraver.cc
1459         (acknowledge_system_start_text): new function, also add add to
1460         support of system-start-text (instrument names). This fixes
1461         instrument names on piano staves.
1463         * lily/instrument-name-engraver.cc: rewrite. Use
1464         system-start-delimiter approach. This save memory and cpu.
1466         * scm/define-grobs.scm (all-grob-descriptions): remove
1467         instrument-name from break-alignment.
1469         * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
1471 2006-02-05  Jan Nieuwenhuizen  <janneke@gnu.org>
1473         * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
1474         jobserver going.
1476         * configure.in (std_vector): On by default.
1478         * lily/include/font-metric.hh:
1479         * lily/include/tfm-reader.hh: 
1480         * lily/include/spanner.hh: Use unsigned for indices and sizes.
1481         Update users.
1483         * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
1485 2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1487         * VERSION (PACKAGE_NAME): 2.7.31
1489         * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
1490         EPS edge at 0, but take minimum with left-overshoot. This fixes
1491         cut off system start delims. 
1493         * lily/instrument-name-engraver.cc (stop_translation_timestep):
1494         hack: add to axis group if not added yet. This fixes hara kiri'd
1495         piano staves.
1497         * lily/hara-kiri-group-spanner.cc
1498         (force_hara_kiri_in_y_parent_callback): fix signatures.
1500         * lily/hairpin.cc (print): check next hairpin to see whether or
1501         not to be continuing.
1503 2006-02-04  Jan Nieuwenhuizen  <janneke@gnu.org>
1505         * Remove trailing whitespace from makefiles.
1506         
1507         * flower/include/std-vector.hh: Add binary_search_bounds workaround
1508         for earlier gcc.
1510         * .cvsignore: Add out*, out-www, config-*.  Remove lots of cruft.
1512         * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
1514         * config.hh.in (HAVE_STL_DATA_METHOD): Add.
1516         * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
1518         * configure.in: Use it.
1520 2006-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1522         * scm/music-functions.scm (pitch-of-note): new function.
1524         * ly/music-functions-init.ly: add \octave and \addquote
1526         * lily/parser.yy (music_function_chord_body): softcode \octave.
1527         (lilypond_header): softcode \addquote
1529 2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
1531         * flower/include/std-vector.hh[STD_VECTOR]: Do not include
1532         array.hh, parray.hh at all.  Getting ready to flip the
1533         configure default.
1535         * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
1537         * lily/source-file.cc (file::get_line): Help binary_search_bounds
1538         a bit.
1540         * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
1542 2006-02-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1544         * flower/include/array.hh: typo. 
1546 2006-02-02  Graham Percival  <gpermus@gmail.com>
1548         * Documentation/user/advanced-notation.itely: doc "\#" in text.
1550 2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
1552         * flower/include/pqueue.hh: Derive from std::vector.
1554         * flower/include/parray.hh: Conform to std::vector interface.
1555         Update users.
1557 2006-02-02  Graham Percival  <gpermus@gmail.com>
1559         * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
1561 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1563         * flower/file-path.cc (is_file): remove if 0 section.
1565         * buildscripts/pfx2ttf.fontforge (err): robustness fix for
1566         selecting afii61352.
1568 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
1570         * flower/include/std-vector.hh (boundary): Oops, reverse.
1572         * flower/string-convert.cc (convert::unsigned_string): Bugfix:
1573         remove superfluous `d'.
1575         * flower/include/std-vector.hh (boundary, top): Detach from class.
1576         Remove empty vector shell.
1578         * flower/include/array.hh (reverse, swap): Detach from class.
1579         Update users.
1580         
1581         * flower/include/std-vector.hh
1582         * flower/include/array.hh (concat): Globally change to insert ().
1584         
1585         * flower/include/std-vector.hh
1586         * flower/include/parray.hh
1587         * flower/include/array.hh (elem, elem_ref): Globally replace by
1588         at ().
1590 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1592         * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
1594         * python/convertrules.py (FatalConversionError.sub_cxx_id):
1595         anticipate on identifier substitutions.
1597 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
1599         * flower/include/std-vector.hh (insert): Remove, replace by
1600         std::vector interface.  Update callers.
1602         * flower/include/array.icc (insert): Change signature to
1603         match std::vector interface.
1604         
1605         * flower/include/array.icc (vector_sort): Bugfix.
1607 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1609         * lily/parser.yy (output_def_head_with_mode_switch): new
1610         production. Result: dashes and underscores may be used in the
1611         \paper block.
1613         * lily/lexer.ll: add DASHED_WORD.  Accept in INITIAL mode.
1615         * python/convertrules.py (conv): oops. One slash too much.
1617 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
1619         * flower/include/std-vector.hh (sort): Remove, replace by
1620         ::vector_sort.  Update callers.
1622         * flower/include/std-vector.hh (slice): Remove.  Update callers.
1623         (sort): Bugfix.
1625         * flower/test-std.cc (vector_sort): New test.
1627 2006-02-01  Graham Percival  <gpermus@gmail.com>
1629         * Documentation/user/putting.itely: fixes from Erik.
1631 2006-02-01  Jan Nieuwenhuizen  <janneke@gnu.org>
1633         * flower/test-std.cc: Add simple unit test for vector migration.
1635         * stepmake/stepmake/test*: Unit test support.
1637         * flower/include/std-vector.hh (del): Remove.  Use erase (),
1638         update callers.
1640         * flower/include/array.hh (begin, end): Add.
1641         (del, get): Remove.
1643 2006-02-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1645         * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
1646         std::string not String. 
1648         * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
1649         iso UINT_MAX.
1651         * lily/prob.cc (Prob): copy type_ too.
1653         * lily/lily-guile.cc (mangle_cxx_identifier): new
1654         function. Class_bla::foo_bar_[px] ->
1655         ly:class-bla::foo-bar[?!]. Changes throughout
1657 2006-01-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1659         * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
1661         * lily/beam.cc (calc_direction): take dir from visible stem in
1662         degenerate case.
1664 2006-01-31  Jan Nieuwenhuizen  <janneke@gnu.org>
1666         * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
1667         Fix -1, >=0 boundary checks for unsigned vsize.
1669         * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
1670         loop for unsigned vsize.
1672         * configure.in (--enable-std-vector): New option.
1673         (--enable-std-string): On by default.
1675         * flower/include/std-vector.hh: New file.  Enable switch to
1676         std::vector, update client code.
1678 2006-01-30  Graham Percival  <gpermus@gmail.com>
1680         * scm/document-translation.scm: clarify "this context is also
1681         known as".  Thanks, Werner!
1683         * Documentation/user/putting.itely: small fixes from Don Blaheta.
1685         * Documentation/user/invoking.itely: small fix from Don.
1687 2006-01-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1689         * scm/lily.scm (define-scheme-options): rename option
1690         preview-include-book-title to book-title-preview
1691         (define-scheme-options): move force-eps-font-include (from paper
1692         block) to eps-font-include -d option.
1694         * VERSION (PATCH_LEVEL): release 2.7.30
1696         * input/bach-schenker.ly (staffPiano): new file.
1698         * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
1700         * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
1701         credits to Nicolas.
1703         * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
1705         * ps/lilyponddefs.ps: remove start-system, stop-system,
1706         start-page fluff. This saves putting { } code on the stack, fixing
1707         stack overflows when including EPS files.
1709 2006-01-29  Graham Percival  <gpermus@gmail.com>
1711         * Documentation/user/putting.itely: minor fixes (comments on -devel).
1713 2006-01-29  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1715         * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
1717 2006-01-28  Graham Percival  <gpermus@gmail.com>
1719         * Documentation/user/putting.itely: minor fixes (mostly tab->space).
1721 2006-01-28  Jan Nieuwenhuizen  <janneke@gnu.org>
1723         * input/mutopia/claop.py: Update.
1725 2006-01-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1727         * input/regression/completion-heads.ly (texidoc): fix.
1729         * lily/staff-symbol-referencer.cc (on_staff_line): idem.
1731         * lily/tie-formatting-problem.cc
1732         (set_ties_config_standard_directions): use abs iso fabs for ints.
1734         * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
1736         * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
1737         little less than noteheight, to prevent overlaps in chords.
1739         * lily/note-collision.cc (check_meshing_chords): wipe upper FA
1740         head, and fudge stem-attachment.
1742         * scm/lily-library.scm (not): define hash-for-each for guile 1.6
1744         * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
1746 2006-01-27  Jan Nieuwenhuizen  <janneke@gnu.org>
1748         * lily/main.cc (main): Debugging aid: catch exceptions.
1750         * flower/std-string.cc (to_string): Robustification.  Fixes midi
1751         output with std::string.
1753 2006-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1755         * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
1757 2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>
1759         * Fix -DSTRING_UTILS_INLINED.
1761 2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1763         * VERSION (PATCH_LEVEL): release 2.7.29
1765         * lily/relocate.cc (setup_paths): mingw uses std string too.
1767         * lily/*.cc: various fixes for substr(ARG).
1769         * lily/sustain-pedal.cc (print): 
1771         * flower/file-name.cc (slashify): use std strings.
1773         * flower/string-convert.cc: remove publib.h
1775         * scm/define-markup-commands.scm (verbatim-file): new markup
1776         command \verbatim-file
1778         * Documentation/topdocs/NEWS.tely: fixup URLs
1780         * input/regression/alignment-vertical-manual-setting.ly (Module):
1781         new file.
1783         * lily/align-interface.cc (align_elements_to_extents): overwrite
1784         translations with numbers in alignment-offsets from left bound
1786         * scm/page.scm (make-page-stencil): read X-offset from paper-system.
1787         (page-translate-systems): new function: take into account Y-offset.
1789         * Documentation/topdocs/NEWS.tely (Top): document new features.
1791         * input/regression/page-layout-manual-position.ly (Module): new
1792         file.
1794 2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>
1796         * flower/file-path.cc (path::parse_path): Oops.
1798         * Finish std::string interface.  For now, use std:: marker
1799         throughout for easy s/r.
1801 2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1803         * Documentation/user/putting.itely (Score is a single musical
1804         expression): typo.
1805         (Score is a single musical expression): more typos.
1807         * scm/page.scm (annotate-space-left): thinko.
1808         (annotate-page): more thinkos.
1810 2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1812         * scm/layout-page-layout.scm (write-page-breaks): record tweaks
1813         for different \score blocks separately.
1814         (post-process-pages): put write-page-layout into paper block.
1816         * lily/output-def.cc (get_parser): new file.
1818         * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
1819         file.
1821         * lily/include/output-def.hh (class Output_def): add parser_ member.
1823         * input/regression/page-layout-twopass.ly (Module): new file.
1825         * scm/lily.scm: remove cpp hack.
1827         * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
1829 2006-01-25  Jan Nieuwenhuizen  <janneke@gnu.org>
1831         * GNUmakefile.in (c-clean): New target.
1833         * flower/include/std-string.hh: String/std::string compatibility:
1834         Use NPOS for `not found' (iso -1), use ssize for length () and pos
1835         type.
1837         * flower/rational.cc: 
1838         * flower/include/rational.hh: 
1840         * flower/offset.cc: 
1841         * flower/include/offset.hh: 
1843         * flower/interval.cc: 
1844         * flower/include/interval.hh: 
1846         * flower/string-convert.cc: 
1847         * flower/include/string-convert.hh: Use std::string [interface].
1848         Update callers.
1850 2006-01-25  Heikki Junes  <hjunes@cc.hut.fi>
1852         * Documentation/index.html.in: clean up.
1854 2006-01-25  Graham Percival  <gpermus@gmail.com>
1856         * Documentation/user/putting.itely: another new untested doc section.
1858 2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1860         * scm/layout-page-layout.scm (write-page-breaks): write
1861         \spacingTweaks #ALIST. Handle grace timing.
1863         * scm/: more imports.
1865         * scm/page.scm (make-page): add footer/header.
1866         (annotate-space-left): revise: only take page argument.
1867         (layout->page-init): new function.
1869         * scm/layout-page-layout.scm (write-page-breaks): preliminary
1870         version of the system/spacing/linebreak hack writing to the output
1872         * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
1873         ly:make-prob.
1875         * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
1876         ly:spanner-bound
1878 2006-01-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1880         * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
1882         * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
1884         * scm/layout-page-layout.scm (optimal-page-breaks): move all page
1885         handling to page.scm
1887         * lily/prob-scheme.cc (LY_DEFINE): new file.
1888         (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
1890         * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
1891         prob functions.
1893         * lily/music.cc (derived_mark): derive Music from Prob.
1895         * lily/paper-system.cc (LY_DEFINE): derive from Prob.
1897         * lily/prob.cc (Module): Implement Prob (Property Object), object
1898         with shared and r/w property alists.  
1900         * lily/include/prob.hh (Module): new file. Declare Prob.
1902         * flower/string.cc: remove is_empty().
1904         * flower/include/string.hh (class String): remove String:: qualifier.
1906         * buildscripts/analyse-cxx-log.py: new file. Read compile log to
1907         substitute appropriate functions.
1909         * flower/include/string.hh (class String): remove to_str0 and
1910         is_empty(). S&R everywhere.
1912 2006-01-23  Graham Percival  <gpermus@gmail.com>
1914         * Documentation/user/basic-notation.itely: add hairpin
1915         after-linebreak tweak to commonprop.
1917         * Documentation/user/putting.itely: added two new sections.
1919 2006-01-23  Jan Nieuwenhuizen  <janneke@gnu.org>
1921         * flower/international.cc: 
1922         * flower/include/international.hh: 
1924         * flower/getopt-long.cc: 
1925         * flower/include/getopt-long.hh: Use std::string [interface].
1926         Update callers.
1928         * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
1930         * stepmake/stepmake/executable-rules.make: Add dependency on
1931         module libraries.
1933 2006-01-22  Jan Nieuwenhuizen  <janneke@gnu.org>
1935         * flower/file-path.cc: 
1936         * flower/include/file-path.hh: Use std::string [interface].
1937         Update callers.
1939         * flower/direction.cc: 
1940         * flower/axis.cc: Unused.  Remove.
1942         * configure.in (--enable-std-string): New option.
1944         * flower/std-string.cc: 
1945         * flower/include/std-string.hh: New file.
1947         * flower/file-name.cc[STD_STRING]:
1948         * flower/include/file-name.hh[STD_STRING]: Use it.  Update callers.
1950 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1952         * scm/output-svg.scm (placebox): no GNU coding standards in SVG output. 
1954         * scm/define-markup-commands.scm (with-dimensions):
1955         with-dimensions markup command.
1957         * input/test/font-table.ly: use it.
1959         * lily/open-type-font.cc (glyph_list): new function.
1961         * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
1963         * lily/ttf.cc: remove ly:font-glyph-list scheme function
1965 2006-01-22  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1967         * ly/music-functions-init.ly (parallelMusic): new music function
1968         for parallel music entry.
1970         * scm/define-music-properties.scm (all-music-properties): new
1971         'void music property
1973         * scm/music-functions.scm (ly:music-message): make public, to be
1974         used in music function definitions
1976         * scm/lily-library.scm (collect-music-for-book): discard music
1977         when the 'void property is set.
1979 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
1981         * lily/ttf.cc (LY_DEFINE): store name before destroying face.
1983         * mf/GNUmakefile: idem.
1985         * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
1987         * stepmake/bin/install.py (dest): Only chmod/chown just created directories
1989         * Documentation/user/notation-appendices.itely (The Feta font):
1990         use it.
1992         * input/test/font-table.ly: new file. Generate font table within lily.
1994         * Documentation/user/notation-appendices.itely (The Feta font):
1995         use new font-table.ly file. 
1997         * stepmake/stepmake/install-out-targets.make
1998         (local-install-outfiles): only create directory if
1999         $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
2001 2006-01-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2003         * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
2005         * VERSION (PACKAGE_NAME): release 2.7.28
2007         * scm/framework-ps.scm (write-preamble): use it to pick exactly
2008         the right font from a Mac dfont.
2009         (write-preamble): don't forget directory, only look at files.
2011         This fixes problems with TTF files in dfonts that don't match
2012         their PostScript names.
2013          
2014         * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
2015         PS name from TTF font.
2017         * input/regression/tie-manual.ly: document new feature.
2019         * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
2021         * VERSION (MY_PATCH_LEVEL): bump to .28
2023         * Documentation/user/basic-notation.itely (Ties): add tie examples
2024         refs.
2026         * lily/tie-formatting-problem.cc (score_ties_configuration):
2027         symmetry penalties for outer ties.
2029 2006-01-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2031         * lily/tie-formatting-problem.cc (generate_configuration) 
2032         (set_manual_tie_configuration): skip non-pair manual
2033         tie-configuration, so you can set individual ties as
2035           #'tie-configuration = #'((7 . 1) #t (-3 . 1))
2037         * input/regression/tie-chord.ly: use generateTiePattern to
2038         simplify file.
2040         * lily/tie-formatting-problem.cc (peak_around): new function.
2041         (score_configuration): use sliding criterion for staff line collisions. 
2042         (score_configuration): idem for dot collisions.
2043         (generate_configuration): use separate stem_gap for gap to stem.
2045         * lily/include/tie-formatting-problem.hh (struct Tie_details):
2046         separate penalty factors for x and y distance.
2047         (struct Tie_details): separate penalties for tip and center line collisions.
2049 2006-01-19 Han-Wen Nienhuys  <hanwen@xs4all.nl>
2051         * lily/tie-formatting-problem.cc (generate_configuration): make
2052         large ties avoid stafflines in the horizontal section.
2053         (score_configuration): use softcoded penalties
2054         (score_aptitude): idem.
2056         * lily/tie-helper.cc (from_grob): softcode tie details
2058         * lily/staff-symbol-referencer.cc (on_staff_line): new function
2060         * lily/staff-symbol-referencer.cc (on_line): rename from
2061         on_staffline 
2063 2006-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2065         * ly/music-functions-init.ly: remove duplicate tag.
2067         * lily/include/*.hh: GCC 4.1 fixes.
2069 006-01-16  Erlend Aasland  <erlenda@gmail.com>
2071         * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
2073         * scm/define-music-types.scm: fix bug in desc. string
2074         for OverrideProperty
2076 2006-01-15 Erik Sandberg  <mandolaerik@gmail.com>
2078         * scripts/lilypond-book.py: bugfix
2080         * scm/define-music-types.scm: fix typos.
2082 2006-01-14  Graham Percival  <gpermus@gmail.com>
2084         * Documentation/user/ basic-notation.itely, global.itely,
2085         advanced-notation.itely, instrument-notation.itely: small
2086         additions (bugs and commonly tweaked properties).
2088 2006-01-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2090         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
2091         detection of mingw build.
2092         (MINGW_BUILD): opps.
2094 2006-01-12  Jan Nieuwenhuizen  <janneke@gnu.org>
2096         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
2097         i686-mingw32.
2099 2006-01-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2101         * scm/music-functions.scm (skip->rest): add skip->rest
2103 2006-01-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2105         * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
2106         explicitly.
2108         * lily/font-config-scheme.cc (LY_DEFINE): also display font and
2109         config dirs. Aids debugging. 
2110         (display_config): also display config files.
2112 2006-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2114         * VERSION: release 2.7.27
2116         * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
2117         for determining bar size.
2119         * lily/staff-symbol.cc (print): place lines at distance line-positions
2121         * scm/define-grob-properties.scm (all-user-grob-properties): add
2122         line-positions.
2124         * lily/staff-symbol.cc (height): new function.
2126         * input/regression/staff-line-positions.ly:  new file.
2128 2006-01-06  Graham Percival  <gpermus@gmail.com>
2130         * input/test/add-staccato.ly: remove reference to old file.
2132 2006-01-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2134         * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
2135         lilypond binary too.
2137 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2139         * make/mutopia-rules.make (Module): use LILYPOND_BINARY
2141 2006-01-06  Jan Nieuwenhuizen  <janneke@gnu.org>
2143         * scripts/midi2ly.py: Bugfix: Declare datadir.
2145         * make/ly-rules.make:
2146         * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
2147         that seems to be gone). Fixes make web.
2149         * The grand 2005-2006 replace.
2151         * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
2153 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2155         * make/lilypond-vars.make: set LILYPOND_BINARY variable
2156         (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
2157         LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
2158         like -dgs-font-load.
2160         * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
2161         remove absolute path to lilypond binary.
2162         
2163 2006-01-05 Pedro Kroeger    <kroeger@pedrokroeger.net>
2165         * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
2167 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2169         * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
2171         * mf/GNUmakefile: remove broken dvips map symlink.
2173 2006-01-04  Jan Nieuwenhuizen  <janneke@gnu.org>
2175         * lily/main.cc: 
2176         * configure.in: Cosmetic fixes.
2178 2006-01-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2180         * Documentation/user/music-glossary.tely (Pitch names): Added
2181         Spanish pitch names and durations, thanks to Ernesto Gancedo
2183 2006-01-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2185         * scm/lily.scm (define-scheme-options): use quasi-quote for option
2186         init. Fixes verbose printing of .scm files.
2188         * stepmake/aclocal.m4: add spaces before - options.
2189         
2190 2006-01-03  Jan Nieuwenhuizen  <janneke@gnu.org>
2192         * lily/relocate.cc (setup_paths): Bugfix: do not store result
2193         of path search in local block variable.
2195 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2197         * configure.in (NCSB_DIR): --enable-ncsb-dir
2198         (LINK_GXX_STATICALLY): denko.
2200         * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH. 
2202         * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option. 
2203         use locate to find c059033l.pfb. 
2204         
2205 2006-01-02  Jan Nieuwenhuizen  <janneke@gnu.org>
2207         * lily/tie-formatting-problem.cc
2208         (problem::generate_base_chord_configuration): Use my_round (was
2209         round).
2211         * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
2212         do not invoke mbrtowc.
2214         * lily/relocate.cc (setup_paths): Add more debugging verbosity.
2216 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2218         * scm/lily.scm (lilypond-all): oops. remove debugging hack.
2220 2005-01-02  Heikki Junes  <hjunes@cc.hut.fi>
2222         * Documentation/user/invoking.itely (svg): revise.
2224 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2226         * lily/lexer.ll: use sourcefilename iso. renameinput.
2228 2006-01-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2230         * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
2231         <PostScriptName>.ttf instead of c059XXXttf.
2233         * lily/program-option.cc (LY_DEFINE): special support for
2234         --verbose, so it works before option init too.
2236         * mf/GNUmakefile (local-install): oops.
2238         * lily/lyric-hyphen.cc (print): oops.
2240         * buildscripts/pfx2ttf.fontforge: new file.
2241         
2242         * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
2243         ($(outdir)/%.ttf): new rule. 
2245         * scm/define-grobs.scm (all-grob-descriptions): add font-interface
2246         to LyricHyphen.
2248         * lily/lyric-hyphen.cc (print): multiply hyphen height by
2249         font-size
2251 2005-12-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2253         * VERSION: release 2.7.26
2254         
2255         * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
2257 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2259         * lily/font-config.cc (init_fontconfig): verbosity.
2261         * THANKS: add Muziekacademie Lede. 
2263         * scripts/musicxml2ly.py (print_voice_definitions): new function 
2264         (print_score_setup): new function
2265         (convert): read part definition to output staves properly.
2267         * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
2268         Music_xml notes.
2270         * python/musicexp.py (Output_printer.__init__): use _ in data
2271         members.
2272         (Output_printer.unformatted_output): new function: no formatting,
2273         but count braces.
2274         (Duration.get_length): remove isinstance() checks for
2275         Output_printer everywhere.
2277         * input/regression/lyrics-bar.ly (texidoc): add
2278         Separating_line_group_engraver.
2280 2005-12-29  Jan Nieuwenhuizen  <janneke@gnu.org>
2282         * lily/relocate.cc (framework_relocation): New function,
2283         factored from set_relocation ().
2284         (prefix_relocation): Rename from set_relocation ().
2285         (setup_paths): Use it.
2287 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2289         * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
2290         numbers. Patch by Erlend Aasland.
2292 2005-12-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2294         * lily/font-config.cc (init_fontconfig): print warning if cache
2295         file is not existant.
2297         * lily/main.cc: don't use #ifdef but #if
2299 2005-12-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2301         * lily/grob-property.cc (internal_set_property): don't abort on
2302         calculation-in-progress.
2304         * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
2306         * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
2307         connect-to-neighbor property not connect-to-other
2309         * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
2310         (LY_DEFINE): oops. don't forget protection.
2312         * flower/parse-afm.cc (Module): strip AFM handling completely.
2314         * lily/stencil-expression.cc: idem.
2316         * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
2318         * lily/function-documentation.cc (ly_add_function_documentation):
2319         use static member iso. Protected_scm
2321         * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
2323         * config.make.in (prefix): remove HAVE_KPATHSEA_SO
2325 2005-12-27  Jan Nieuwenhuizen  <janneke@gnu.org>
2327         * lily/relocate.cc (set_env_dir): New function.
2328         (set_relocation): Use it to fix setting PANGO_PREFIX.
2330 2005-12-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2332         * input/regression/stem-direction-context.ly: remove rest.
2334         * lily/melody-engraver.cc (process_music): restart for bar lines.
2335         (acknowledge_slur): restart for slurs.
2337 2005-12-27  Heikki Junes  <hjunes@cc.hut.fi>
2339         * Documentation/user/invoking.itely: describe how to view SVG 
2340         output using Inkscape which replace embedded fonts with OTF fonts.
2342 2005-12-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2344         * lily/relocate.cc (set_relocation): set PANGO_PREFIX
2346 2005-12-23  Jan Nieuwenhuizen  <janneke@gnu.org>
2348         * lily/melody-engraver.cc (class Melody_engraver): Remove lying
2349         comment.
2351 2005-12-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2353         * VERSION (PACKAGE_NAME): release 2.7.25
2355         * Documentation/topdocs/NEWS.tely (Top): document new feature.
2357         * input/regression/stem-direction-context.ly: new file.
2359         * lily/relocate.cc (set_relocation): add PANGO_PREFIX
2361         * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
2362         on rest.
2364         * ly/engraver-init.ly: add Melody_engraver
2366         * lily/beam.cc (calc_direction): use default-direction
2367         iso. get_default_direction()
2369         * scm/define-grob-properties.scm (all-user-grob-properties): add
2370         default-direction property.
2372         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
2374         * lily/stem.cc (calc_default_direction): remove
2375         Stem::get_default_direction, use default-direction with callback
2376         instead.
2378         * lily/melody-spanner.cc (calc_neutral_stem_direction): 
2380         * lily/melody-engraver.cc: new file. Acknowledge stems for
2381         interpolated stem directions. 
2383         * lily/melody-spanner.cc: new file. Interpolate stem directions.
2385         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
2387         * lily/slur-configuration.cc (fit_factor): more robust check for
2388         point in curve X-extent.
2390         * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
2391         (outside_slur_callback): check for 'outside avoidance.
2393         * lily/slur-configuration.cc (score_extra_encompass): don't use
2394         bound->column() == avoid->column() for checking extents, as this
2395         doesn't work for accidentals. 
2397         * lily/slur-engraver.cc (acknowledge_extra_object): remove
2398         DynamicText hardcoding.
2400         * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
2401         crash if bound stem is NULL
2403         * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
2404         pedals.
2406 2005-12-22  Graham Percival  <gpermus@gmail.com>
2408         * scm/define-markup-commands.scm: typo.  @code{\raise}
2409         => @code{\\raise}.
2411         * darwin.patch: now used again, includes a
2412         required patch from fink.
2414 2005-12-21  Heikki Junes  <hjunes@cc.hut.fi>
2416         * po/TODO: mention gtranslator along with kbabel.
2417         * po/fi.po: update translations.
2419 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
2421         * lily/relocate.cc (setup_paths): Bugfix.
2423 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2425         * lily/slur-configuration.cc (score_extra_encompass): don't use
2426         "avoid" choice for avoid-slur.
2428         * stepmake/bin/install.py (dest): don't create existing dir.
2430 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
2432         * stepmake/bin/install.py: Remove file before copying.
2434         * config.make.in: 
2435         * stepmake/aclocal.m4: Do not substitute INSTALL.
2437 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2439         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
2440         depend on link-tree.
2442         * lily/relocate.cc (setup_paths): only check path for non-absolute
2443         dir without directory part.
2445         * flower/file-name.cc (is_absolute):  new method.
2446         (is_absolute): check root_ too.
2448 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
2450         * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
2451         relocation code.  Oops, don't comment out too much.
2453         * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
2454         iso itself.
2456         * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h.  Fixes mingw
2457         compile.
2459 2005-12-20  Jan Nieuwenhuizen  <janneke@gnu.org>
2461         * .cvsignore: Add install-sh.
2463         * autogen.sh (srcdir): Typo.
2465 2005-12-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2467         * autogen.sh (srcdir): urg. Touch install-sh.
2469         * stepmake/bin/install-sh (Module): remove.
2471         * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
2473         * lily/include/relocate.hh: new file.
2475         * lily/relocate.cc: new file. Contain relocation logic.
2477         * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
2478         (main): read LILYPOND_VERBOSE as the first thing.
2480         * stepmake/aclocal.m4: remove INSTALL variable.
2482         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
2483         separate target for making font symlinks.
2484         (documentation-dir): use $(if $(findstring )) for switching off
2485         Documentation.
2487         * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
2488         something if DOCUMENTATION is no.
2490 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2492         * VERSION: release 2.7.24
2494         * lily/script-column-engraver.cc (stop_translation_timestep):
2495         delay adding to script-column.
2497         * lily/tuplet-bracket.cc (print): suicide if no control-points. 
2499         * python/convertrules.py (conv): rule for number-visibility
2501         * lily/slur-configuration.cc (score_extra_encompass): different
2502         distance measure for avoid and inside avoidance.
2503         (score_extra_encompass): use 1/(distance+eps) as penalty.
2505         * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
2506         encompass objects for generating slur curves.
2508         * lily/slur.cc: use details iso. slur-details property.
2510         * input/regression/slur-tuplet.ly: new file.
2512         * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.  
2514         * flower/include/offset.hh (class Offset): new operator /=
2516         * lily/tuplet-number.cc (print): new file, new interface.
2518         * scm/define-grob-properties.scm (all-user-grob-properties):
2519         remove number-visibility property.
2521         * lily/tuplet-bracket.cc (calc_control_points): new function
2522         (calc_connect_to_neighbors): new function.
2523         (print): remove text handling for tuplet numberdef.
2525         * lily/tuplet-engraver.cc (struct Tuplet_description): create
2526         TupletNumbers too. 
2528         * lily/lily-guile.cc (robust_scm2booldrul): new function
2530         * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
2532         * lily/tuplet-bracket.cc (calc_position_and_height): use
2533         staff-padding to control whether tuplet brackets are over staves.
2535         * lily/grob.cc (suicide): clear dim_caches_.
2537         * lily/dimension-cache.cc (clear): new function.
2539         * lily/grob.cc (extent): swap order of min-extent and extent
2540         calculations. This fixes hara kiri staves. 
2542 2005-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>
2544         * lily/main.cc: Nitpick: relocation is not based on path, but on
2545         directory (location).
2547 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2549         * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
2551         * stepmake/stepmake/install-targets.make (local-uninstall): idem.
2553         * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
2555         * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
2557         * stepmake/stepmake/generic-vars.make (Module): idem.
2559         * stepmake/stepmake/executable-targets.make (default): use it.
2561         * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
2563         * make/GNUmakefile: don't install make rules.
2565         * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
2566         slashes.
2567         (prepend_env_path): more verbosity.
2569 2005-12-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2571         * GNUmakefile.in: add dir argument for find command.
2573         * lily/parser.yy (bass_figure): set_spot() for bass figures. This
2574         fixes weird line numbers for point & click.
2576         * lily/source-file.cc (get_counts): init line/column/char counts.
2578 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2580         * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
2582 2005-12-16  Graham Percival  <gpermus@gmail.com>
2584         * Documentation/user/basic-notation.itely, advanced-notation.itely:
2585         minor fixes from Fredric.  Thanks!
2587 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2589         * ly/music-functions-init.ly: add \bar and \clef music function 
2591         * lily/lily-lexer.cc: idem.
2593         * lily/parser.yy (FIXME): remove BAR and CLEF.
2595 2005-12-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2597         * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
2599         * lily/parser.yy (Generic_prefix_music_scm): allow strings as
2600         function arguments too
2602         * lily/main.cc (set_relocation): new function.
2604         * scripts/musicxml2ly.py (convert): add \version
2606         * lily/tie.cc: remove get_default_attachments()
2608         * VERSION (PACKAGE_NAME): release 2.7.23
2609         
2610         * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
2611         ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
2613         * Documentation/topdocs/NEWS.tely (Top): document new feature.
2615         * lily/tie-formatting-problem.cc (score_ties): new function
2616         (get_variations): new function. Try flipping dirs for collisions.
2617         (generate_optimal_chord_configuration): new function. 1-opt search
2618         for better configuration.
2620         * lily/tie-configuration.cc: new file.
2622         * lily/tie.cc: junk Tie::get_configuration()
2624         * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
2625         (score_ties_configuration): new function.
2626         (generate_ties_configuration): new function.
2627         (generate_base_chord_configuration): new function.
2628         (set_ties_config_standard_directions): Move body from tie-column-format.cc 
2629         (set_manual_tie_configuration): Move body from tie-column-format.cc 
2631         * input/regression/tie-dot.ly: new file.
2633         * lily/tie-formatting-problem.cc (score_configuration): score
2634         tie/dot collisions.
2636         * lily/tie-helper.cc (get_transformed_bezier): new function
2638         * Documentation/topdocs/NEWS.tely (Top): strip out-www.
2640         * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
2641         -undefined suppress iso. -framework Python 
2643         * scm/define-grobs.scm (all-grob-descriptions): set
2644         springs-and-rods (thanks Joe Neeman!)
2646 2005-12-12  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2648         * input/no-notation/display-lily-tests.ly (test): 
2649         * scm/display-lily.scm (tag->lily-string): the syntax for tags has
2650         changed from \tag #'(a b) to \tag #'a \tag #'b
2652 2005-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2654         * Documentation/topdocs/NEWS.tely: strip out-www.
2656         * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
2658         * config.make.in (AR): add AR and RANLIB
2660         * flower/libc-extension.cc: include cassert
2662         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
2663         darwin check.
2665 2005-12-11  Graham Percival  <gpermus@gmail.com>
2667         * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
2669         * stepmake/stepmake/python-modules-vars.make: define
2670         SHARED_FLAGS for OSX.  Thanks Johannes Schindelin!
2672         * THANKS: added Johannes Schindelin.
2674 2005-12-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2676         * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
2678         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2679         Span_arpeggio_engraver, add Tweak_engraver to Score context. 
2681         * lily/parser.yy: reorganize file layout.
2683         * ly/music-functions-init.ly: add tweak music function.
2685         * lily/grob-info.cc (ultimate_music_cause): new function:
2686         recursively lookup causes. 
2688         * lily/parser.yy (chord_body_element): allow music functions for
2689         post-events, allow music functions for chord elements. 
2691         * lily/font-config-scheme.cc (display_fontset): add cast.
2693         * python/convertrules.py (FatalConversionError.sub_syms): \tag
2694         #'(a b) -> \tag #'a \tag #'b rule.
2696         * python/musicexp.py (Output_printer.dump_version): new function
2698 2005-12-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2700         * lily/parser.yy (FIXME): remove \tag
2701         (FIXME): remove tag_music() function.
2703         * lily/lily-lexer.cc: remove \tag
2705         * ly/music-functions-init.ly: define music-function "tag"
2707         * lily/parser.yy (chord_body_element): allow tags in chord bodies.
2709 2005-12-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2711         * VERSION (PATCH_LEVEL): release 2.7.22
2713         * input/regression/lyric-hyphen-retain.ly: renew.
2715         * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
2716         grob
2718         * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
2719         iso. minimum-length property for rods.
2721         * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
2722         LyricSpace item to keep lyrics spaced apart.
2724         * ly/engraver-init.ly: remove Separating_line_group_engraver
2726         * Documentation/user/music-glossary.tely: do setfilename before
2727         music-glossary.
2729 2005-12-07  Heikki Junes  <hjunes@cc.hut.fi>
2731         * Documentation/user/lilypond-book.itely: use `,´ after xref:
2732         See xref documentation, for example.
2734 2005-12-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2736         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
2737         pending_skip iso. ly_voice[-1]
2738         (main): add if __main__ for debugging.
2740         * python/musicxml.py (Accidental.__init__): new class.
2742         * scripts/musicxml2ly.py (progress): new function
2743         (musicxml_key_to_lily): don't barf on modeless keys.
2744         (create_skip_music): new function.
2745         (musicxml_spanner_to_lily_event): new function. Handle beams too.
2746         (musicxml_note_to_lily_main_event): new function.
2748         * python/musicexp.py (Music.__init__): add comment field.
2749         (NestedMusic.append): new routine.
2750         (SequentialMusic.print_ly): print comment.
2751         (ArpeggioEvent.ly_expression): new class
2752         (BeamEvent.ly_expression): new class
2753         (NoteEvent.__init__): support for cautionary/forced accs.
2755         * lily/lookup.cc (slur): normal order for array loop.
2757         * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
2758         to 0.0.
2760         * ly/engraver-init.ly: set bar-size, so bar-lines aren't
2761         collapsed.
2763 2005-12-06 Erik Sandberg  <mandolaerik@gmail.com>
2765         * scm/music-functions.scm: Make phrasing slurs follow voice direction
2767         * scripts/lilypond-book.py: Introduce option
2768         --preserve-line-breaks, for usage with srcltx
2770 2005-12-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2772         * scm/output-lib.scm (print-circled-text-callback): draw circle
2773         around text using make-circle-markup.
2775         * Documentation/user/*: strip out-www from file names.
2777 2005-12-05  Heikki Junes  <hjunes@cc.hut.fi>
2779         * Documentation/user/lilypond.tely (direntry): remove empty lines;
2780         fixes invalid info entry issue with makeinfo 4.8 in debian sid.
2782 2005-12-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2784         * Documentation/user/GNUmakefile: idem.
2786         * Documentation/user/macros.itexi: strip out-www
2788         * python/rational.py: python 2.3 compat.
2790         * VERSION (PATCH_LEVEL): release 2.7.21
2792         * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
2793         option formatting, lilypond style.
2795         * python/musicexp.py: grab from Ikebana: a library for composing
2796         ly music expressions. 
2797         (Output_printer): class for advanced .ly printing.
2798         (eg. tupletting) 
2800         * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
2801         convert to pythonesque structure.
2803         * python/rational.py: PD rational number class.
2805         * Documentation/user/converters.itely (Invoking musicxml2ly):  new node.
2807 2005-12-04  Erik Sandberg  <mandolaerik@gmail.com>
2809         * lily/part-combine-iterator.cc: Minor bugfix
2810         
2811         * THANKS: Update bughunters
2813 2005-12-02  Werner Lemberg  <wl@gnu.org>
2815         * mf/README: Document process for proper mf2pt1 conversion.
2817         * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
2818         overlapping.
2820         * mf/feta-harmonica.mf: Removed.  Unused.
2822 2005-12-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2824         * scripts/lilypond-book.py (do_file): fix thinkos.
2826 2005-12-01  Jan Nieuwenhuizen  <janneke@gnu.org>
2828         * lily/GNUmakefile ($(outdir)/FlexLexer.h):
2829         ($(outdir)/parser.cc): 
2830         ($(outdir)/lexer.cc): Bugfix: depend on config.h.
2832 2005-11-30  Pedro Kröger  <kroeger@pedrokroeger.net>
2834         * ly/titling-init.ly (tagline): it should be a space between
2835         "Music engraving by LilyPond" and the version number.
2837 2005-12-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2839         * VERSION (PACKAGE_NAME): release 2.7.20
2841 2005-11-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2843         * scm/define-markup-commands.scm (pad-to-box): new markup command.
2845         * scm/define-grobs.scm (all-grob-descriptions): set thickness to
2846         1.0.
2847         (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
2849 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2851         * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
2853         * kpath-guile/: remove directory
2855         * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
2856         file. Encapsulate kpathsea using commandline tools.
2858         * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
2859         kpathsea) module.
2861 2005-11-29  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2863         * Documentation/user/advanced-notation.itely (Setting automatic
2864         beam behavior): Correct a few typos. Thanks to David Bobroff.
2866         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
2867         \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
2869 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2871         * scripts/*.py: gmane address for bugs.
2873 2005-11-28 Pal Benko <benkop@freestart.hu>
2874         
2875         * make/ly-rules.make: add -f switch to mv
2877         * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
2879         * lily/bar-line.cc: interpret it
2881 2005-11-28  Jan Nieuwenhuizen  <janneke@gnu.org>
2883         * configure.in (--disable-documentation): New switch.
2885         * GNUmakefile.in: Use it.
2887         * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
2889 2005-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2891         * scripts/lilypond-book.py (do_file): search chunks for
2892         \\begin{document}
2894         * GNUmakefile.in: add copy step in between so we can lose the
2895         out-www directories.
2897 2005-11-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2899         * lily/pango-font.cc (pango_item_string_stencil): put
2900         geometry.width into glyph-string too.
2902 2005-11-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2904         * scm/define-music-display-methods.scm (RevertProperty):
2905         (OverrideProperty): Use grob-property-path property, a list of
2906         symbols, instead of grob-property, which used to be a single
2907         symbol.
2908         (BassFigureEvent): a figure can be a plain number, not necessarily a
2909         markup.
2911 2005-11-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2913         * VERSION: release 2.7.19
2914         
2915         * lily/figured-bass-engraver.cc (process_music): check
2916         figuredBassCenterContinuations first.
2918         * scm/translation-functions.scm (format-bass-figure): make double
2919         sharp larger. 
2921         * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
2922         determine X-parent.
2924         * lily/system-start-delimiter-engraver.cc: move from
2925         Nested_system_start_delimiter_engraver, rename
2926         Nested_system_start_delimiter_engraver ->
2927         System_start_delimiter_engraver.
2929         * lily/nested-system-start-delimiter-engraver.cc (from_list): read
2930         bracket type from hierarchy.
2932 2005-11-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2934         * lily/rest.cc (y_offset_callback): read staff-position.
2936         * scm/define-grob-properties.scm (all-user-grob-properties): don't
2937         mark after-line-breaking-callback as internal.
2939         * lily/self-aligment-interface.cc: remove self-[XY]-offset.
2941 2005-11-25  Werner Lemberg  <wl@gnu.org>
2943         * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
2945 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2947         * stepmake/bin/add-html-footer.py (do_file): add google
2949         * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
2950         staff if first_start_ is true.
2952 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2954         * scripts/midi2ly.py (split_track): add __repr__ members.
2955         (track_first_item): only return Item if not None. This fixes a
2956         problem when dumping a track that starts with an empty channel.
2958         * python/midi.c: doc module.
2960 2005-11-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2962         * Documentation/user/global.itely (Creating MIDI files): Fix
2963         compilation problem.
2965 2005-11-22  Graham Percival  <gpermus@gmail.com>
2967         * Documentation/user/basic-notation.itely: clarify dynamic
2968         padding text.
2970         * Documentation/user/advanced-notation.itely: add unicode
2971         escape control example, whatever that is.  :)
2973         * Documentation/user/global.itely: added "removing dynamics
2974         from MIDI" code.
2976 2005-11-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2978         * VERSION (PATCH_LEVEL): release 2.7.18
2980         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
2981         System_start_delimiter_engraver by
2982         Nested_system_start_delimiter_engraver.
2984         * lily/nested-system-start-delimiter-engraver.cc (struct
2985         Bracket_nesting_node): new class.
2986         (struct Bracket_nesting_group): new class
2987         (struct Bracket_nesting_staff): new class.
2988         (process_music): create hierarchy of grobs. This allows separate
2989         tuning of different SSDs. 
2991         * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
2992         (all-grob-descriptions): remove old NestedSystemStartDelimiter.
2994 2005-11-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
2996         * lily/side-position-interface.cc (aligned_side): multiply
2997         staff_radius by 2.
2999         * lily/script-engraver.cc (make_script_from_event): allow setting
3000         values to '()
3002 2005-11-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3004         * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
3006         * scm/define-grobs.scm (all-grob-descriptions): new grob
3007         NestedSystemStartDelimiter.
3009         * input/regression/system-start-heavy-bar.ly: new file.
3011         * lily/nested-system-start-delimiter-engraver.cc: new file.
3013         * lily/nested-system-start-delimiter.cc: new file.
3015         * input/regression/system-start-nesting.ly: new file.
3017         * scm/define-grobs.scm (all-grob-descriptions): use X side
3018         positioning for positioning braces for nested contexts.
3020         * lily/system-start-delimiter.cc (print): don't divide extent by
3021         staff_space.
3022         (print): use style iso. glyph.
3023         (staff_bracket): translate glyph inside routine already.
3025 2005-11-18  Michael Welsh Duggan <md5i@cs.cmu.edu>
3027         * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
3028         names.
3030 2005-11-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3032         * scm/define-context-properties.scm
3033         (all-user-translation-properties): rename figuredBassFormatter
3034         from newFiguredBassFormatter.
3036         * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
3038         * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
3040         * lily/stem.cc (calc_stem_info): trigger beaming calculation.
3042         * lily/beam.cc (calc_beaming): new function.
3043         (calc_shorten): new function.
3045         * THANKS: add Edward Neeman.
3047         * input/regression/accidental-clef-change.ly: new file.
3049         * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
3051         * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
3053         * lily/clef-engraver.cc (inspect_clef_properties): reset
3054         localKeySignature for clef changes.
3056 2005-11-17  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3058         * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3 
3059         add dummy definition that works in Linux and add information in
3060         INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
3062         * Documentation/user/changing-defaults.itely (Modifying context
3063         plug-ins): Add index for \with.
3065         * Documentation/user/music-glossary.tely (dal segno): Updated
3066         example to version >=2.6.
3068 2005-11-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3070         * Documentation/user/instrument-notation.itely (Printing chord
3071         names): Reorder \chordmode and \repeat in one example.
3073 2005-11-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3075         * VERSION: release 2.7.17
3076         
3077         * Documentation/topdocs/NEWS.tely (Top): add note about
3078         refactoring.
3080         * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
3081         new function. Search region of 3 positions for best tie.
3082         (score_configuration): new function.
3083         (score_aptitude): new function.
3084         (generate_configuration): new function.
3085         (get_configuration): new function.
3086         (Tie_formatting_problem): new function
3088         * input/regression/page-top-space.ly: a6 for page-top-space demo. 
3090         * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
3092         * THANKS: add Eduardo Vieira & Ralph Little
3094         * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
3095         narrower.
3097         * lily/include/tie-formatting-problem.hh (class
3098         Tie_formatting_problem): add Tie_details to
3099         Tie_formatting_problem. Update calling conventions.
3101         * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
3102         config.make.
3104         * Documentation/user/lilypond.tely: remove musedata2ly entry.
3106 2005-11-16  Jürgen Reuter  <reuter@ipd.uka.de>
3108         * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
3109         scm/define-context-properties.scm: Maintenance bugfix: make
3110         ligature brackets work again by removing obsolete ligature
3111         primitive callback push/pop.
3113         * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
3114         not call Tuplet_bracket::calc_direction.  Removed obsolete gap
3115         value.
3117 2005-11-15  Jan Nieuwenhuizen  <janneke@gnu.org>
3119         * stepmake/aclocal.m4 (depth): Explain why absolute directory is
3120         used and do not call it a path.
3121         (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
3123 2005-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3125         * lily/include/tie-formatting-problem.hh (class
3126         Tie_formatting_problem): new file.
3128         * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
3130         * Documentation/misc/ChangeLog-2.3:  new file.
3132         * lily/audio-staff.cc (output): degarianize.
3134 2005-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>
3136         * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
3137         Unset PYTHONOPTIMIZE.  Fixes install if set.
3139 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3141         * python/convertrules.py (conv): add warning about drums. 
3143         * make/stepmake.make: include toplevel-version.make after config.make.
3145         * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
3146         also allow python2.4
3148         * config.make.in (configure-srcdir): remove GXX GCC vars.
3150         * stepmake/aclocal.m4: don't do non-srcdir build with
3151         symlinks. Use inclusion, so the src directory name can be changed.
3153 2005-11-13  Jan Nieuwenhuizen  <janneke@gnu.org>
3155         * make/mutopia-vars.make:
3156         * make/ly-vars.make: Use src-wildcard iso wildcard for source
3157         files.
3159 2005-11-13  Werner Lemberg  <wl@gnu.org>
3161         * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
3162         but the affected path.  This ensures that the (overlapping) outlines
3163         have the same direction, which is a necessary prerequisite for
3164         FontForge's algorithm to remove overlaps.
3165         Formatting.
3167         * mf/feta-haak.mf: Formatting.
3168         (draw_bracket): Slightly modify outline to avoid an unnecessary
3169         corner.
3170         Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
3171         them from the affected paths.
3173 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3175         * mf/README: remove xpm / accordion notes.
3177         * lily/tie-column-format.cc (set_chord_outline): add dots into
3178         skyline extents. This fixes tie formatting if the left head has dots.
3180         * lily/tie.cc (get_configuration): only shift tie by a whole staff
3181         space inside the staff.
3182         (get_configuration): shift another position if necessary in case
3183         of left head tie  
3185 2005-11-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3187         * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
3188         buildscript-dir iso. $(depth)/buildscripts.
3190         * tex/GNUmakefile (local-uninstall): remove
3191         music-drawing-routines.ps juggling.
3193         * stepmake/stepmake/install-targets.make (local-install-files):
3194         prepend src-dir to install targets.
3196         * lily/system-start-delimiter-engraver.cc
3197         (acknowledge_system_start_delimiter): use
3198         add_offset_callback(). This fixes translation of nested
3199         staffgroups.
3201         * lily/grob-closure.cc (add_offset_callback): only encaps in
3202         simple_closure if it's a procedure.
3203         
3204         * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
3205         from bar-line.
3207         * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
3208         remove-empty where pertinent.
3210 2005-11-12  Graham Percival  <gpermus@gmail.com>
3212         * Documentation/user/instrument-notation.itely: added
3213         Cameron Horsburgh's multiple stanzas docs.  Thanks!
3215 2005-11-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3217         * lily/GNUmakefile
3218         ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
3219         make picture in builddir, not srcdir.
3221 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3223         * VERSION: release 2.7.16
3224         
3225         * scripts/lilypond-book.py (main): use commands.mkarg () to quote
3226         shell arguments. 
3228 2005-11-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3230         * Documentation/user/examples.itely (Piano templates): Minor
3231         modification to the Piano centered lyrics example.
3233 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3235         * scripts/lilypond-invoke-editor.scm (run-browser): look at
3236         $BROWSER.
3238         * Documentation/user/point-and-click.itely: simplify p&c
3239         instruction: don't configure firefox. Put lilypond-invoke-editor
3240         in front of the browser.
3242         * scripts/lilypond-invoke-editor.scm (run-editor): new function.
3243         (run-browser): new function.
3245         * lily/parser.yy (Lily_lexer): recognize Book
3247         * lily/book.cc (clone): new function
3249         * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
3251 2005-11-10  Jürgen Reuter  <reuter@ipd.uka.de>
3253         * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
3254         Maintenance bugfix: reduce number of font related warnings by
3255         updating naming conventions for glyph-name.
3257 2005-11-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3259         * scm/define-grobs.scm (all-grob-descriptions): add
3260         rhythmic-grob-interface to TabNoteHead.
3262         * scm/layout-beam.scm (check-quant-callbacks): remove
3263         set_stem_lengths()
3265 2005-11-08  Jürgen Reuter  <reuter@ipd.uka.de>
3267         * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
3268         alignment of centered divisiones.
3270         * scm/scripts.scm (articulations): Maintenance bugfix:
3271         follow-into-staff -> quantize-position.
3273         * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
3274         plica head in porrectus deminutus.
3276 2005-11-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3278         * make/lilypond.fedora.spec.in (Group): add %clean section.
3280         * lily/tuplet-bracket.cc (print): change check: remove bracket if
3281         less then 1/5th of total length.  
3282         (print): use gap too.  Fixes tupletUp-single-bracket.ly
3284         * scm/music-functions.scm (glue-mm-rest-texts): also put other
3285         events into EventChord. This fixes textspanners on mm rests. Fixes
3286         spanner-rest.ly
3288         * lily/side-position-interface.cc (get_axis): read side-axis
3289         (set_axis): set side-axis.
3291         * scm/define-grobs.scm (all-grob-descriptions): add side-axis
3292         properties everywhere.
3294         * lily/spacing-spanner.cc (breakable_column_spacing): add
3295         average-spacing-wishes. Take maximum if not set.
3296         (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
3298         * scm/define-grobs.scm (all-grob-descriptions): add
3299         average-spacing-wishes.
3301         * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
3302         offset callbacks. This fixes alignment for Fingering objects.
3304         * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
3305         space for key - timesig combination. 
3307         * input/regression/script-stem-tremolo.ly (Module): new file.
3309         * scm/define-grobs.scm (all-grob-descriptions): decrease distance
3310         to key sig.
3312         * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
3313         Fixes: c-tremolo-script.ly.
3314         
3315         * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
3317         * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
3318         
3319         * scm/define-grobs.scm (all-grob-descriptions): remove
3320         self-X-offset. Fixes alignment of octavate-8.
3322         * scripts/lilypond-book.py (datadir): look in
3323         LILYPONDPREFIX/share/lilypond/current/
3325         * GNUmakefile.in: symlink current to <VERSION>. 
3327 2005-11-07  Pedro Kroger  <kroeger@pedrokroeger.net>
3329         * lily/main.cc: eps listed as a backend.
3331 2005-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3333         * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
3335 2005-11-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3337         * lily/include/score.hh (class Score): remove texts_ member.
3339         * lily/beam.cc (set_stem_lengths): force direction callback.
3340         (print): read quantized-positions, so we can force
3341         Beam::set_stem_lengths to occur.
3342         (rest_collision_callback): use common X parent. 
3344 2005-11-03  Jan Nieuwenhuizen  <janneke@gnu.org>
3346         * flower/file-path.cc (find): Bugfix: Return name of file found.
3348         * lily/main.cc (setup_paths): Bugfix for argv0 logic.
3349         (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
3350         (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
3352 2005-11-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3354         * flower/offset.cc: idem.
3356         * mf/*.mf: update email address.
3358         * lily/font-config-scheme.cc:  new file.
3360         * GNUmakefile.in (SUBDIRS): remove debian/ directory.
3362         * lily/*:  cs.uu.nl -> xs4all.nl
3364         * VERSION (PATCH_LEVEL): release 2.7.15
3366         * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
3367         spec files.
3369         * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
3371 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3373         * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.   
3375         * lily/staff-performer.cc (process_music): add audio
3376         elements. This makes MIDI instrument changes work once again.
3378         * lily/main.cc (LY_DEFINE): add gmane address.
3380         * lily/beam.cc: remove calc_positions()
3382         * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
3383         original_ in private scope.
3384         (class Grob): drop pscore_ pointer, change to output_def pointer.
3385         (class Grob): cleanup class definition.
3387         * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
3389 2005-11-02  Jan Nieuwenhuizen  <janneke@gnu.org>
3391         * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
3392         absolute.  Better diagnostics.
3394         * GNUmakefile.in: Add bin/ to tree and populate with some links.
3395         This makes lilypond run from the build directory using argv0
3396         relocation (without any --prefix or LILYPONDPREFIX setting).
3398 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3400         * Documentation/topdocs/NEWS.tely (Top): document new backend design.
3402         * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
3403         with simple-closure.
3405         * lily/self-aligment-interface.cc (set_align_self): new function
3406         (set_center_parent): new function.
3408         * lily/side-position-interface.cc (set_axis): new function.
3410         * lily/new-fingering-engraver.cc (position_scripts): use drul for
3411         generic code. 
3413         * scm/define-grob-properties.scm (all-user-grob-properties):
3414         remove [XY]-offset-callbacks add [YX]-offset
3415         
3416 2005-11-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3418         * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
3419         entry for time signatures after breathing signs. Bug report by
3420         Scott Russell.
3422 2005-11-01  Jan Nieuwenhuizen  <janneke@gnu.org>
3424         * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
3425         not absolute, make it absolute using PATH.
3427 2005-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
3429         * python/midi.c (initmidi): Fix type for mingw.
3431 2005-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
3433         * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
3435         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
3436         cross compiling.
3438         * stepmake/aclocal.m4: Support python cross compiling.
3440         * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
3441         Add mingw section.
3443 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3445         * scm/output-lib.scm (chain-grob-member-functions): replace
3446         chained-callback.cc
3448         * lily/chained-callback.cc (Module): remove file.
3450         * lily/rest-collision.cc (force_shift_callback_rest): change to
3451         chained callback.
3453         * lily/rest.cc (y_offset_callback): merge function of 3 callbacks. 
3455         * lily/grob.cc (y_parent_positioning): remove axis argument from
3456         parent_positioning callbacks.
3457         (Grob): junk init code
3458         (get_offset): use generic property callbacks for
3459         X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
3460         (axis_parent_positioning): new function
3461         (axis_offset_symbol): new function
3462         (chain_offset_callback): new function
3463         (add_offset_callback): new function
3465         * lily/beam.cc (rest_collision_callback): change signature; this
3466         is now a chained callback.
3468         * lily/include/dimension-cache.hh (class Dimension_cache): remove
3469         callback administration.
3471         * lily/simple-closure.cc: new file. Smob type that allows "grob
3472         member functions",
3474             (ly:make-simple-closure FUNC A B)
3476         is evaluated as (FUNC grob A B). This allows chaining of callbacks
3477         in various ways.
3479         * lily/slur-engraver.cc (acknowledge_extra_object): use chained
3480         callbacks.
3482         * lily/slur.cc (outside_slur_callback): take 2 arguments.
3484         * lily/rest.cc (polyphonic_offset_callback): remove.
3486         * lily/script-engraver.cc (try_music): remove bool* argument.
3488         * scm/script.scm (default-script-alist): set quantize-position
3489         appropriately.
3491         * lily/script-engraver.cc: remove follow_into_staff_ special coding. 
3493         * lily/side-position-interface.cc (aligned_side): move staff
3494         position quantization from
3495         Side_position_interface::quantised_position().
3496         (quantised_position): remove
3497         
3498 2005-10-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3500         * input/regression/beam-quant-standard.ly: reindent, set
3501         debug-beam-quanting to #t.
3503         * lily/beam-concave.cc (calc_concaveness): set concaveness to
3504         10000 if this is a "hard" concave beam.
3506         * lily/beam.cc (calc_least_squares_positions): change from
3507         calc_least_squares_dy
3508         (set_stem_lengths): this is now a chained callback.
3510         * lily/context-property.cc (execute_general_pushpop_property):
3511         bugfix override with procedure should have effect.
3513         * scm/define-grob-properties.scm (all-internal-grob-properties):
3514         remove position-callbacks.
3516         * scm/define-grobs.scm (all-grob-descriptions): use
3517         ly:make-callback-chain for positions property.
3519         * scm/layout-beam.scm (check-quant-callbacks): return list of
3520         chained callbacks.
3522         * scm/lily.scm (type-p-name-alist): add callback-chain
3524         * lily/lily-guile.cc (type_check_assignment): type check failure
3525         is warning not message.
3527         * lily/grob-property.cc (try_callback): walk callback chain if
3528         appropriate.
3530         * lily/chained-callback.cc: new file. new smob type.
3532         * lily/lily-guile.cc (procedure_arity): new function.
3534 2005-10-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3536         * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
3538 2005-10-25  John Mandereau  <john.mandereau@free.fr>
3540         * Documentation/user/instrument-notation.itely (Figured bass):
3541         describe new features
3543 2005-10-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3545         * lily/beam.cc (calc_least_squares_dy): use property callback.
3547         * lily/beam-concave.cc (calc_concaveness): use property callback.
3549         * ly/paper-defaults.ly: move fixed dimensions from paper.scm 
3551 2005-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
3553         * HACKING: Update.
3555 2005-10-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3557         * scm/layout-page-layout.scm (page-headfoot): annotate
3558         pagetopspace too.
3560         * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit. 
3562         * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
3563         doesn't take y-space.
3565         * scm/paper.scm (paper-alist): fix A7 dimensions. 
3567 2005-10-24  Jan Nieuwenhuizen  <janneke@gnu.org>
3569         * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
3570         src-wildcard, remove $(wildcard).
3572         * po/GNUmakefile (PO_FILES): 
3573         * ps/GNUmakefile (PS_FILES): 
3574         * tex/GNUmakefile (TEX_FILES): 
3575         * cygwin/GNUmakefile (POSTINSTALLS):
3576         * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
3577         some wildcard calls.
3579 2005-10-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3581         * THANKS: add Thomas Bushnell.
3583 2005-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
3585         * scm/lily.scm: Remove horrendous running-from-gui? kludge.
3586         (lilypond-main): Redirect to gui-main if 'gui is set.
3587         
3589         * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
3590         for alternative installations kludging s/share/lib/g
3591         LILYPONDPREFIX. 
3593         * SConstruct (libdir_package_version): Define.
3595         * python/SConscript: 
3596         * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
3597         module in libdir.  
3599 2005-10-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3601         * lily/main.cc: clarify --safe.
3603 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3605         * VERSION: release 2.7.14
3606         
3607         * Documentation/user/*.itely: remove minimumVerticalExtent.
3609         * scm/define-grobs.scm (all-grob-descriptions): remove
3610         RemoveEmptyVerticalGroup
3612         * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
3614         * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
3615         compile on MOSX
3617         * python/convertrules.py (conv): add rules.
3619         * lily/grob.cc: remove is_empty()
3621         * lily/grob-property.cc: remove add_to_list_property().
3623         * scripts/convert-ly.py (datadir): add prefix switching hack to
3624         .py too.
3626         * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
3627         space-function tweak.
3629         * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
3631         * scm/define-grob-properties.scm (all-user-grob-properties):
3632         remove callback property.
3634         * lily/include/grob.hh (class Grob): remove property_callbacks_
3635         member. Properties of procedure type are assumed to be callbacks.
3637         * lily/ligature-engraver.cc (override_stencil_callback):
3638         rewrite. Use noteHeadLigaturePrimitive as source.
3640         * scm/define-grob-properties.scm (all-internal-grob-properties):
3641         remove ligature-primitive-callback
3643         * lily/include/dimension-cache.hh (class Dimension_cache): make
3644         class, with Grob as friend.
3646         * lily/grob.cc: remove set_extent_callback(), set_extent() and
3647         has_extent_callback()
3649         * scm/translation-functions.scm (format-new-bass-figure): read
3650         figuredBassPlusDirection
3652         * scm/define-context-properties.scm
3653         (all-user-translation-properties): add figuredBassPlusDirection.
3655         * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
3657         * lily/align-interface.cc (set_ordered): new function.
3659         * lily/grob.cc (flush_extent_cache): rewrite.
3661         * lily/dimension-cache.cc (Dimension_cache): cache extent as
3662         Interval pointer directly.
3664         * lily/main.cc (setup_paths): insert extra / .
3665         (setup_paths): junk cff entry.
3667         * lily/font-config.cc (init_fontconfig): only add type1 / otf
3668         directories.
3670         * lily/axis-group-engraver.cc (finalize): remove
3671         extraVerticalExtent, minimumVerticalExtent verticalExtent.
3673         * lily/grob.cc (Grob): don't set extent from ctor.
3674         (extent): use property callbacks. 
3676         * lily/axis-group-interface.cc: remove set_axes() function.
3678         * lily/grob-property.cc (del_property): new function.
3680 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3682         * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
3683         
3684 2005-10-20  Jan Nieuwenhuizen  <janneke@gnu.org>
3686         * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops.  Add.
3688 2005-10-19  Jan Nieuwenhuizen  <janneke@gnu.org>
3690         * mf/SConscript: Updates.
3692         * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
3694         * stepmake/stepmake/*:
3695         * */GNUmakefile:
3696         * config.make.in:
3697         * GNUmakefile.in:
3698         * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
3699         from any directory in build-dir.  Cleanups.
3701         * make/srcdir.make.in: Remove.
3703         * lily/main.cc (setup_paths): Fix and document build-dir hack.
3705         * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
3706         main).
3708         * lily/SConscript: Remove ttftools.
3710         * SConstruct: Resurrect.
3712 2005-10-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3714         * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
3715         Y coordinate. 
3717         * lily/paper-book.cc (add_score_title): put Paper_score title into
3718         systems_ list.
3720         * scm/translation-functions.scm (format-new-bass-figure): also
3721         allow plus in combination with _
3723 2005-10-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3725         * VERSION: 2.7.13 released.
3727         * lily/note-collision.cc (check_meshing_chords): don't wipe
3728         stencil, merely set transparent.
3730         * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau. 
3731         (Top): document #'callbacks.
3732         (Top): document nested \override.
3734         * input/regression/figured-bass.ly: update for slash and pluses.
3736         * input/regression/figured-bass-continuation-forbid.ly (Module):
3737         new file.
3739         * scm/translation-functions.scm (format-new-bass-figure): use
3740         slashed-digit if diminished is set.
3741         (format-new-bass-figure): add + if 'augmented is set.
3743         * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
3745         * input/test/piano-staff-distance.ly: remove file.
3747         * Documentation/user/advanced-notation.itely (Formatting cue
3748         notes): use length-fraction for making stems/beams smaller.
3750         * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
3751         modifications.
3753         * lily/new-figured-bass-engraver.cc: new property
3754         centerFiguredBassContinuations
3756         * Documentation/user/changing-defaults.itely (Difficult tweaks):
3757         use callbacks.
3759         * lily/context-property.cc (execute_general_pushpop_property):
3760         robustness checks.
3762         * input/regression/override-nest.ly: new file.
3764         * python/convertrules.py (FatalConversionError.subber): conversion
3765         rule for #'callbacks
3767         * input/regression/override-nest.ly: new function.
3769         * lily/parser.yy (music_property_def): allow \override #'a #'b =
3770         #c too. 
3772         * lily/context-property.cc (lookup_nested_property): new function.
3773         (evict_from_alist): new function.
3774         (general_pushpop_property): new function.
3775         (execute_general_pushpop_property): rewrite. Support nested
3776         properties too.
3778 2005-10-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3780         * lily/beam.cc: use length-fraction too.
3782         * scm/define-grob-properties.scm (all-user-grob-properties):
3783         remove property flag-width-function
3784         (all-user-grob-properties): remove space-function.
3786         * scm/layout-beam.scm: remove flag-width-function.
3788         * lily/beam.cc: remove flag-width-function
3790         * scm/layout-beam.scm: remove beam dir functions.
3792         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
3794         * lily/stem.cc (calc_length): multiply with length_fraction. Makes
3795         for easier grace tweaks.
3797         * lily/beam.cc: remove dir-function.
3799         * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
3801         * lily/grob.cc: remove spacing-procedure.
3803         * lily/note-head.cc (calc_stem_attachment): new function.
3804         (internal_print): use callback to get glyph-name.
3806         * lily/grob-property.cc (get_interfaces): new function.
3808         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
3810         * lily/stem.cc (calc_stem_end_position): new function.
3811         (calc_length): new function.
3812         document details for stem.
3813         remove Stem::get_direction()
3815         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback! 
3817         * lily/grob-property.cc (set_callback): new function.
3819         * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
3821         * lily/item-scheme.cc: new file.
3823         * lily/bar-line.cc (before_line_breaking): remove function.
3824         remove bar-size-procedure, break-glyph-function
3826         * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
3828         * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
3830         * lily/system-start-delimiter.cc (print): suicide from
3831         here. Remove after_line_breaking_callback.
3833         * lily/script-interface.cc (calc_direction): use callback for direction.
3835         * lily/side-position-interface.cc (aligned_side): don't use
3836         Side_position_interface::get_direction directly. Use callback. 
3838         * lily/grob.cc (get_stencil): simplify: use callback mechanism to
3839         calculate stencil.
3840         (get_print_stencil): rename from get_stencil: create stencil with
3841         transparency, color and cause. 
3843         * scm/define-grobs.scm: change print-function to stencil callback everywhere.
3845         * python/convertrules.py (conv): insert temporary warning rule.
3847         * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
3849         * lily/grob-property.cc (try_callback): remove marker if applicable.
3851         * lily/grob.cc: elucidate doc about after/before-line-breaking
3853         * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
3855         * lily/stem.cc (height): idem.
3857         * lily/stem-tremolo.cc: idem.
3859         * lily/slur.cc (height): don't use get_uncached_stencil()
3861         * lily/rest.cc (y_offset_callback): use offset callback
3862         iso. after-line-breaking callback.
3864         * lily/grob.cc: change after/before-line-breaking-callback to
3865         after/before-line-breaking dummy properties.
3867         * lily/include/grob.hh: remove Grob_status.
3869         * scm/define-context-properties.scm
3870         (all-user-translation-properties): remove verticalAlignmentChildCallback
3872         * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
3873         (calc_direction): use callback
3874         (calc_positions): use callback.
3876         * lily/tie.cc (calc_direction): use callback. Only call parent
3877         positioning for more than one tie.
3879         * lily/tie-column.cc (calc_positioning_done): use callback
3881         * lily/slur-scoring.cc (calc_control_points): use callback
3883         * lily/slur.cc (calc_direction): use callback.
3885         * lily/note-collision.cc (force_shift_callback): remove.
3887         * lily/dot-column.cc (force_shift_callback): remove. Use
3888         other_axis_parent_positioning.
3890         * lily/grob.cc (other_axis_parent_positioning): new function.
3891         (same_axis_parent_positioning): new function
3893         * lily/align-interface.cc (alignment_callback): remove function.
3895         * lily/note-collision.cc (calc_positioning_done): use callback.
3897         * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
3898         (calc_direction): idem.
3899         remove print function.
3901         * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
3903         * lily/dot-column.cc (calc_positioning_done): use callback.
3905         * lily/break-align-interface.cc (calc_positioning_done): use callback.
3907         * lily/beam.cc (calc_direction): use pseudo-property for beam
3908         direction callback.
3909         (calc_positions): use callback 
3911         * lily/align-interface.cc (calc_positioning_done): use
3912         callback. Fold fixed  distance and normal alignment in one function.
3914         * lily/stem.cc (calc_stem_end_position): use callback.
3915         (calc_positioning_done): idem.
3916         (calc_direction): idem.
3917         (calc_stem_end_position): idem
3918         (calc_stem_info): idem.
3920         * lily/grob-property.cc (get_property_data): new function: 
3921         (try_callback): new function.
3923         * scm/define-grob-properties.scm (all-user-grob-properties): doc
3924         callbacks property.
3926         * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
3928 2005-10-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3930         * lily/tie.cc (get_position): robustness fix. Don't crash if a
3931         tie
3932         has no heads.
3933         
3934         * lily/include/*.hh (Module): compile fixes.
3936 2005-10-14  Heikki Junes <hjunes@cc.hut.fi>
3938         * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil 
3939         as an argument for char-syntax: use (char-syntax (or nil 0)) 
3940         instead of (char-syntax nil), thanks to Milan Zamazal.
3942 2005-10-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3944         * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
3945         dist.
3947         * lily/tuplet-bracket.cc: check columns of bounds, not bounds
3948         themselves.
3950 2005-10-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3952         * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
3953         add class_name() method.
3955         * lily/music-scheme.cc: remove ly:music-name.
3957 2005-10-11  Jan Nieuwenhuizen  <janneke@gnu.org>
3959         * cygwin/postinstall-lilypond.sh: Remove cruft.
3961         * cygwin/postremove-lilypond.sh: Remove.
3963         * cygwin/GNUmakefile (default): Remove postremove rules.
3965 2005-10-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3967         * ly/titling-init.ly (evenHeaderMarkup): use space in header on
3968         even header too.
3969         
3970         * scm/define-markup-commands.scm (wordwrap-string): bugfix for
3971         MacOS 9 users.
3973         * lily/hara-kiri-group-spanner.cc (consider_suicide): only
3974         consider break index for broken spanner.
3976         * scm/define-markup-commands.scm (wordwrap-string): remove \r
3977         characters from string before splitting.
3979 2005-10-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
3981         * scm/framework-ps.scm (output-preview-framework): use
3982         is-book-title to determine whether to chop off the booktitle.
3984         * lily/paper-book.cc (systems): init from book-title-properties
3985         (add_score_title): init score-title-properties.
3987         * ly/paper-defaults.ly: add {score,book}-title-properties.
3989         * scm/document-backend.scm (lookup-interface): error message if
3990         using unknown interface.
3992         * lily/volta-bracket.cc (after_line_breaking): new function. Set
3993         edge-height.
3995         * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
3996         make_bracket.
3997         (make_bracket): new function.
3999         * scm/lily.scm (define-scheme-options): add paper-size option.
4001         * ly/declarations-init.ly (laissezVibrer): get paper size from
4002         -dpaper-size
4004         * scm/translation-functions.scm: use \fontsize for changing the
4005         fontsize.
4007         * scm/define-grobs.scm (all-grob-descriptions): set
4008         between-length-limit to 1.0
4010         * lily/tie-helper.cc: add between_length_limit_ detail property.
4012         * mf/feta-bolletjes.mf: typos.
4014         * lily/note-head.cc (internal_print): don't shadow idx
4015         parameter. This fixes wrong attachment for do shape heads.
4017 2005-10-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4019         * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
4021         * scm/parser-clef.scm (supported-clefs): rename from clef.scm
4023         * scm/layout-slur.scm: rename from slur.scm
4025         * scm/layout-page-layout.scm: rename from page-layout.scm
4027         * scm/layout-beam.scm: rename from beam.scm
4029         * scm/define-grob-interfaces.scm (bass-figure-interface): add
4030         bass-figure-interface
4032         * lily/new-figured-bass-engraver.cc (process_music): add
4033         implicitBassFigures property.
4034         
4035         * scm/define-markup-commands.scm (pad-x): new markup.
4037         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
4038         minimumVerticalExtent on FiguredBass context.
4040         * lily/figured-bass-continuation.cc (center_on_figures): kludge in
4041         case the continuation crosses a line break.
4043 2005-10-09  Jan Nieuwenhuizen  <janneke@gnu.org>
4045         * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
4046         unconverted value if cygwin_conv_to_posix_path () fails.  Fixes
4047         absolute file name bug.  Backportme.
4049 2005-10-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4051         * VERSION (PACKAGE_NAME): release 2.7.12
4053         * input/regression/figured-bass-continuation-center.ly: new file.
4055         * input/regression/beam-outside-beamlets.ly: new file.
4057         * lily/beam.cc (set_beaming): don't clip edges.
4058         (connect_beams): don't clip edges.
4060         * lily/beaming-info.cc (clip_edges): new function.
4062         * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
4064         * Documentation/user/instrument-notation.itely (Figured bass):
4065         demonstrate extenders, update seealso links.
4067         * scm/titling.scm (marked-up-headfoot): change tagline
4068         handling. tagline = ##f will blank the tagline as well.
4070 2005-10-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4072         * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
4074         * lily/new-figured-bass-engraver.cc (struct
4075         New_figured_bass_engraver): add new_music_found_ member.
4077         * lily/lilypond-version.cc (Lilypond_version): deal with
4078         incorrectly formatted version strings. 
4080         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
4081         New_figured_bass_engraver by default.
4083         * lily/ttf.cc (print_trailer): only define glyph names when
4084         FT_Face has FT_FACE_FLAG_GLYPH_NAMES
4086 2005-10-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4088         * lily/horizontal-bracket.cc (make_bracket): new function.
4090         * scm/define-grobs.scm (all-grob-descriptions): new grobs
4091         NewBassFigure, BassFigureBracket, BassFigureContinuation,
4092         BassFigureLine, BassFigureAlignment
4094         * lily/new-figured-bass-engraver.cc (process_music): new file.
4096         * lily/figured-bass-continuation.cc: new file.
4098         * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
4099         new file.
4101 2005-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4103         * scripts/lilypond-book.py: Bug fix, put the quote around the
4104         actual score for LaTeX documents.
4106         * scm/define-grobs.scm (all-grob-descriptions): Change
4107         collapse-height of the SystemStartBracket grob to 5.0, 
4108         so the bracket disappears for single stave score lines (similarly
4109         to SystemStartBraces). 
4111         * Documentation/user/advanced-notation.itely (Polymetric
4112         notation): Clarify the use of compressMusic.
4114         * Documentation/user/basic-notation.itely (Grace notes): Clarify
4115         that the grace spacer note in other staves need the same duration
4116         and document the stroke-style property.
4118 2005-10-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4120         * Documentation/user/global.itely (Vertical spacing): document
4121         alignment-extra-space and fixed-alignment-extra-space.
4123         * Documentation/topdocs/NEWS.tely (Top): add entry.
4125         * input/regression/alignment-vertical-spacing.ly: new file.
4127         * python/convertrules.py (conv): add rule.
4129         * ly/music-functions-init.ly: rename outputProperty to overrideProperty
4131         * lily/align-interface.cc (stretch_after_break): new
4132         function. Read fixed-alignment-extra-space property.
4133         (align_elements_to_extents): read alignment-extra-space property.
4135         * lily/lily-guile.cc (robust_scm2dir): new function.
4137         * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
4138         (annotate-space-left): new function. Annotate space left on page. 
4139         (annotate-y-interval): new function.
4140         (paper-system-annotate-last): new function. Annotate bottom-space.
4142         * mf/feta-beugel.mf (y): 
4144 2005-10-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4146         * VERSION (PACKAGE_NAME):  release 2.7.11
4148         * scm/lily-library.scm (interval-translate): new function
4149         (interval-center): new function. 
4151         * scm/page-layout.scm (paper-system-annotate): new function. Add
4152         arrows for dimensions.
4154         * scm/stencil.scm (dimension-arrows): new function.
4156         * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
4158         * input/regression/page-spacing.ly: add annotatespacing
4160         * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
4161         (LY_DEFINE): new function ly:paper-system-set-property!
4163         * Documentation/user/global.itely (Paper size): explain how to add
4164         sizes.
4166         * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
4167         correspond to GS's definition.
4169         * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
4170         tuplet bracket.
4171         (print): only connect to next bracket if the next one is alive.
4172         (print): set padding to 0.0 if the bound is a breakable
4173         column. This makes tupletFullLength brackets reach up to the staff
4174         line if it doesn't connect to the next line.
4176 2005-09-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4178         * lily/bar-number-engraver.cc: correct docs.
4180         * scm/output-lib.scm (first-bar-number-invisible): rename from
4181         default-bar-number-visibility
4183 2005-09-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4185         * scm/define-music-properties.scm (all-music-properties): remove
4186         predicate property.
4188 2005-09-28  Heikki Junes  <hjunes@cc.hut.fi>
4190         * po/fi.po: refresh.
4192 2005-09-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4194         * input/regression/hara-kiri-pianostaff.ly (disappear): remove
4195         superfluous s1.
4196         (disappear): bugfix.
4198         * lily/stem-tremolo.cc (raw_stencil): read slope property.
4200         * lily/include/paper-system.hh (class Paper_system): remove
4201         staff_extents_ member.
4203         * lily/paper-system-scheme.cc (LY_DEFINE): remove.
4205         * lily/include/paper-system.hh (class Paper_system): remove
4206         number_ variable. Remove is_title_. Remove break_before_penalty_
4208         * lily/paper-book.cc (systems): use 'number property iso. number_
4209         member.
4211         * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
4212         remove ly:paper-system-number.
4214         * scm/lily-library.scm (paper-system-title?): new function.
4216         * lily/book.cc (process): bugfix: flip ?: cases. 
4218         * Documentation/user/changing-defaults.itely (Difficult tweaks):
4219         add outputProperty.
4221         * ly/music-functions-init.ly: add outputProperty music function.
4223         * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
4225         * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
4226         and next-padding.
4227         (optimal-page-breaks): rename from ly:optimal-page-breaks.
4229         * lily/paper-system-scheme.cc (LY_DEFINE): new function.
4231         * lily/paper-system.cc (internal_get_property): new function.
4233         * Documentation/user/global.itely (Vertical spacing): refer to
4234         page-spacing.ly
4236         * scm/page-layout.scm (ly:optimal-page-breaks): add support for
4237         pagetopspace
4239         * input/regression/page-spacing.ly: new file.
4241         * input/regression/page-top-space.ly: new file.
4243         * lily/spacing-spanner.cc: cmath -> math.h
4245         * lily/paper-system.cc (read_left_bound): new function. Read
4246         line-break-system-details from left bound to determine extents.
4248         * Documentation/user/programming-interface.itely (Using LilyPond
4249         syntax inside Scheme): change applyxxx -> applyXxx.
4251         * ly/music-functions-init.ly: add outputProperty music function.
4253         * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
4255         * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
4257         * python/convertrules.py (conv): rule
4259         * ly/music-functions-init.ly: applyxxx -> applyXxx
4261         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
4262         TabVoice to Voice.
4264 2005-09-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4266         * flower/include/real.hh: include <math.h> iso. <cmath>
4268         * flower/include/offset.hh: include real.hh
4270 2005-09-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4272         * Documentation/user/changing-defaults.itely (Difficult tweaks):
4273         fix example, now that 'interfaces is no longer directly available.
4275         * lily/book.cc (process): don't crash if paper == NULL.
4277         * po/fr.po: update.
4279 2005-09-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4281         * scm/define-music-types.scm (music-descriptions): set length and
4282         start-callback for QuoteMusic
4284 2005-09-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4286         * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
4287         arguments. Fixes compilation error with gcc 3.3.
4289 2005-09-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4291         * VERSION: release 2.7.10
4293         * stepmake/stepmake/python-module-rules.make
4294         ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.  
4296         * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
4297         real.hh
4299 2005-09-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4301         * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
4302         -Werror. Otherwise GCC barfs over various optimizations.
4304         * scm/define-grob-properties.scm (all-internal-grob-properties):
4305         add note-head property
4307         * Documentation/user/instrument-notation.itely (Laissez vibrer
4308         ties): new node.
4310         * input/regression/laissez-vibrer-ties.ly: new file.
4312         * lily/laissez-vibrer-engraver.cc: new file.    
4314         * lily/include/tie-column-format.hh: new file.
4316         * lily/tie-column-format.cc: new file. 
4318         * lily/tie-column.cc (set_manual_tie_configuration): new function.
4320         * lily/laissez-vibrer-tie.cc: new file.
4322         * lily/include/laissez-vibrer-tie.hh: new file.
4324         * ly/engraver-init.ly: add Laissez_vibrer_engraver
4326         * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
4328         * scm/define-grobs.scm (all-grob-descriptions): add
4329         LaissezVibrerTie, LaissezVibrerTieColumn
4331         * lily/tie-column.cc (set_tie_config_directions): new function
4332         (final_shape_adjustment): new function.
4333         (shift_small_ties): new function.
4335         * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
4337         * lily/include/tie.hh (struct Tie_details): add x_gap_
4338         (struct Tie_configuration): add head_position_
4340         * lily/tie-column.cc (set_chord_outline): new function.
4342         * mf/cmr.enc.in:  remove file.
4344 2005-09-11  Graham Percival  <gpermus@gmail.com>
4346         * Documentation/user/examples.itely: typo fix.  Thanks, Matevž
4348 2005-09-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4350         * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
4351         reduce aliasing effects.
4353         * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
4354         box in skyline.
4356 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4358         * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
4360         * flower/include/real.hh: std::fabs too.
4362 2005-09-08  Jan Nieuwenhuizen  <janneke@gnu.org>
4364         * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner). 
4366         * lily, flower: Include C++ iso C headers.  Import namespace std
4367         throughout.
4369         * lily/side-position-interface.cc: 
4370         * lily/scm-hash.cc: 
4371         * lily/note-head.cc: 
4372         * lily/include/includable-lexer.hh: 
4373         * flower/include/string-data.icc: Remove using std::*.
4375         * lily, flower: Include C++ iso C headers.  Import namespace std
4376         throughout.
4378         * lily/side-position-interface.cc: 
4379         * lily/scm-hash.cc: 
4380         * lily/note-head.cc: 
4381         * lily/include/includable-lexer.hh: 
4382         * flower/include/string-data.icc: Remove using std::*.
4384         * Documentation/user/instrument-notation.itely (Entering lyrics):
4385         Multiple latin-1->utf-8 conversion fix.
4387         * Documentation/user/*tely: Update Emacs cookie to utf-8.
4389 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4391         * lily/tie.cc (get_configuration): also avoid dots for non-space
4392         situations.
4394 2005-09-07  Jan Nieuwenhuizen  <janneke@gnu.org>
4396         * Documentation/user/instrument-notation.itely: Bugfix.
4398 2005-09-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4400         * tex/GNUmakefile: don't install texinfo.tex
4402         * tex/ : cleanup: remove unused files.
4404         * lily/general-scheme.cc: remove my_{isinf,isnan}.
4406         * flower/include/real.hh: using std::{isnan,isinf}
4407         
4408         * VERSION (PATCH_LEVEL): release 2.7.9
4410 2005-09-05  Graham Percival  <gpermus@gmail.com>
4412         * Documentation/user/ instrument-notation.itely,
4413         advanced-notation.itely: minor tweaks.
4415         * input/test/script-chart.ly: add item padding.
4417 2005-09-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4419         * flower/offset.cc: use math.h iso. <cmath>
4421         * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
4422         of IE users.
4424         * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
4425         (widen-left-stencil-edges): new function. Fix alignment problems
4426         with LaTeX includegraphics.
4428         * lily/text-interface.cc (interpret_markup): use abort().
4430 2005-09-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4432         * input/regression/tie-chord.ly (testLong): add a chord in 4ths
4434         * lily/tie.cc (get_configuration): update bezier shape as we
4435         change Y positions.
4436         (get_configuration): don't move large ties if we're outside of the
4437         staff.
4439 2005-09-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4441         * scm/define-markup-commands.scm (strut): swap X and Y dims.
4442         
4443 2005-09-03  Jan Nieuwenhuizen  <janneke@gnu.org>
4445         * .cvsignore: Add auto-generated configure files and then some.
4447 2005-09-02  Jan Nieuwenhuizen  <janneke@gnu.org>
4449         * scm/define-grobs.scm (DynamicLineSpanner): Add
4450         X-extent-callback.  Fixes hairpin-slur collision.
4452 2005-08-31  Graham Percival  <gpermus@gmail.com>
4454         * Documentation/user/advanced-notation.itely,
4455         basic-notation.itely: minor changes.
4457 2005-08-31  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4459         * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
4460         \linebreak between each .eps file if \betweenLilyPondSystem is
4461         undefined. 
4463         * Documentation/user/lilypond-book.itely (Integrating LaTeX and
4464         music): Document the \linebreak
4466         * Documentation/user/lilypond-book.itely,
4467         input/tutorial/lbook-latex-test.tex,
4468         Documentation/user/examples.itely: Remove \usepackage{graphics}
4470 2005-08-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4472         * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
4474         * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
4475         compat bugfix.
4477         * scripts/lilypond-book.py (PREAMBLE_LY): define
4478         inside-lilypond-book
4479         (modify_preamble): new function. Insert \RequirePackage{graphics}
4480         when no {graphics found in preamble.  
4482 2005-08030  Graham Percival  <gpermus@gmail.com>
4484         * Documentation/user/basic-notation.itely, global.itely,
4485         tutorial.itely: misc small changes.
4487 2005-08-30  Jan Nieuwenhuizen  <janneke@gnu.org>
4489         * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
4490         VERSION.
4492 2005-08-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4494         * lily/tie-column.cc (new_directions): put Tie down on center
4495         staff line. 
4497         * lily/script-interface.cc (before_line_breaking): use
4498         Grob::programming_error
4500         * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
4502         * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
4503         of splitext.
4505 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4507         * VERSION (PACKAGE_NAME): VERSION release 2.7.8
4509 2005-08-29  Werner Lemberg  <wl@gnu.org>
4511         * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
4512         the `*.scale.pfa' files to avoid warnings.
4514 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4516         * lily/tempo-performer.cc (process_music): idem.
4518         * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
4520 2005-08-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4522         * Documentation/user/advanced-notation.itely (Text markup): not a
4523         fragment.
4525         * lily/midi-item.cc (to_string): use to_int() iso. int cast.
4527         * lily/staff-performer.cc (initialize): add tempo/name to
4528         audio_staff_
4531 2005-08-26  Graham Percival  <gpermus@gmail.com>
4533         * Documentation/user/advanced.itely: add text-only example.
4535         * Documentation/user/invoking.itely: add index entries for
4536         convert-ly.
4538         * Documentation/user/ tutorial.itely, basic-notation.itely:
4539         small fixes suggested by Steve D.  Thanks!
4541 2005-08-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4543         * input/regression/markup-bidi-pango.ly: new file.
4545         * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
4546         standard. Remove #ifdef. Remove memleak.
4547         (text_stencil): use text_dir to decide how to composite items.
4548         (text_stencil): determine uniform text direction for the entire
4549         string.
4551         * scripts/lilypond-book.py (output_name): remove
4552         latex_filter_cmd. Non-portable to non-Unix systems. 
4553         (get_latex_textwidth): use File.write and os.unlink() instead.
4555         * THANKS: add Vicente & Trevor.
4557         * lily/grob.cc (discretionary_processing): look up origin for
4558         programming_error too. 
4560         * input/regression/tie-broken.ly: new file.
4562         * lily/tie-column.cc (set_chord_outlines): set outline for line
4563         break case too.
4564         
4565 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4567         * lily/pango-font.cc (text_stencil): don't translate glyphs in
4568         unscaled transform, just translate stencils.
4570         * ly/performer-init.ly: init timing to #t.  Fixes bar checks in
4571         MIDI.
4573         * scm/define-markup-commands.scm (wordwrap-string): use
4574         text-direction
4575         (wordwrap-stencils): idem.
4576         (line): idem.
4577         (fill-line): idem.
4578         (wordwrap-stencils): translate last line to right for
4579         text-direction = LEFT.
4581         * scm/define-grob-properties.scm (all-user-grob-properties): add
4582         text-direction.
4584 2005-08-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
4586         * lily/lily-parser.cc (Lily_parser): also copy output_basename_
4587         when copying a Lily_parser object.
4589 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4591         * scm/define-markup-commands.scm (null): add null markup.
4593 2005-08-25  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4595         * lily/item.cc: Add documentation of center-invisible
4597 2005-08-24  Graham Percival  <gpermus@gmail.com>
4599         * Documentation/user/advanced-notation.itely: add info about
4600         raising text.
4602         * Documentation/user/programming-interface.itely: fix example
4603         involving raised text.
4605 2005-08-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4607         * lily/beam.cc (print): fix X start/end points of isolated
4608         beamlets.
4610         * scm/output-ps.scm (grob-cause): escape spaces in URLs.
4612         * lily/multi-measure-rest.cc (set_text_rods): new function.
4614         * lily/vertical-align-engraver.cc (process_music): call
4615         Align_interface::set_axis(). This forces #'elements to be ordered,
4616         preventing random vertical reordering of staves.
4618         * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
4619         add avoid-slur property. 
4621         * Documentation/user/basic-notation.itely (Measure repeats): add
4622         countPercentRepeats example.
4624         * Documentation/user/advanced-notation.itely (Other text markup
4625         issues): remove remark about normal-font.  We have \normal-text
4627         * input/regression/tie-chord.ly: add note about remaining bugs.
4629         * lily/tie.cc (print): try Tie_column::set_directions () if
4630         control-points not yet defined.
4632 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4634         * lily/system-start-delimiter.cc (staff_brace): don't remove brace
4635         extent. This fixes braces falling out of the EPS bbox.
4637         * mf/feta-beugel.mf (braces_per_font): make brace glyph align
4638         exactly to bbox.
4640 2005-08-23  Graham Percival  <gpermus@gmail.com>
4642         * {various} : change #up->#UP and #down->#DOWN.
4644         * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
4646         * Documentation/user/advanced-notation.itely: clarify
4647         what objects handles text on a multimeasure rest.
4649 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4651         * VERSION (PATCH_LEVEL): release 2.7.7
4653 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4655         * make/lilypond-vars.make: set -dgs-font-load for "make web" 
4657         * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
4659         * input/regression/*.ly: formatting clean-up. Default layout
4660         before music expression.
4662         * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
4663         romanze28-2 example.
4665         * scm/ps-to-png.scm: remove dir-re function.
4666         (make-ps-images): generate page names, instead of globbing them.
4667         This brings down LilyPond memory usage for make web by a factor
4668         10. (backportme?) 
4670         * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
4671         don't use glob. With 3000 files, globbing
4672         Documentation/user/out-www/ can take too much time. (backportme?)
4673         
4674         * lily/lily-guile.cc (gulp_file_to_string): take size argument.
4676         * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
4678         * input/regression/tie-manual.ly: new file
4680         * input/regression/tie-chord.ly: update.
4682         * flower/include/interval.hh (struct Interval_t): 
4684         * lily/tie.cc (distance): new function 
4685         (height): new function.
4686         (init): new function
4687         (Tie_details): new struct.
4689         * lily/skyline.cc (skyline_height): new function.
4691         * lily/tie-column.cc (set_chord_outlines): new function.
4692         (new_directions): read tie-configuration
4694         * lily/skyline.cc: fix ASCII art.
4695         
4696 2005-08-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4698         * python/convertrules.py (string_or_scheme): Fix spelling error
4700 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4701         
4702         * lily/tie-column.cc (set_directions): set directions only once.
4703         (add_configuration): new function.
4705         * lily/tie.cc (set_control_points): new function
4707         * lily/tie-column.cc (new_directions): new function.
4709         * ly/music-functions-init.ly: set 'pitch property
4710         iso. trill-pitch. This makes \relative work with \pitchedTrill
4712         * lily/tie.cc (get_configuration): new function. Don't generate
4713         control points, rather, generate configuration.
4714         remove head-pair property.
4716         * lily/include/tie.hh (struct Tie_configuration): new struct.
4718 2005-08-22  Heikki Junes  <hjunes@cc.hut.fi>
4720         * Documentation/topdocs/NEWS.tely: clarify.
4722 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4724         * lily/tie.cc: remove minimum-length
4726         * scm/define-grob-properties.scm (all-user-grob-properties):
4727         remove staffline-clearance, y-offset 
4729         * input/regression/tie-dots.ly (Module): remove.
4731         * lily/tie.cc (get_control_points): rewrite. Put short ties in
4732         staff-spaces, make long ties cross staff lines. Avoid flags and dots.
4734         * input/regression/tie-single.ly: new file.
4736 2005-08-21  Graham Percival  <gpermus@gmail.com>
4738         * ly/bagpipe.ly: fix compile problem.
4740 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4742         * lily/midi-item.cc (name): new method.
4744         * lily/staff-performer.cc (acknowledge_audio_element): use
4745         signature of baseclass.
4747         * lily/engraver-group.cc (do_announces): move recursion call out
4748         of while loop. 
4750         * lily/drum-note-performer.cc (class Drum_note_performer): use
4751         process_music everywhere.
4753         * ly/performer-init.ly: add default children everywhere.
4755         * lily/paper-book.cc (output): call paper-book-write-midis
4756         directly: always write MIDI, even if no \layout {} block. 
4758 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4760         * VERSION (PACKAGE_NAME): release 2.7.6
4762         * lily/percent-repeat-engraver.cc (try_music): don't print warning
4763         about not being able to handle repeat.
4765 2005-08-19  Jan Nieuwenhuizen  <janneke@gnu.org>
4767         * Documentation/user/examples.itely (Piano templates):
4768         * lily/include/performer-group.hh: Remove last traces of
4769         Performer_group_performer.  Fixes make web.
4771 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4773         * Documentation/user/examples.itely (Piano templates): change
4774         Engraver_group_engraver -> Engraver_group
4776         * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
4777         scm_stand_in_procs is not weak_any.
4779         * lily/volta-bracket.cc (print): don't use strcmp().
4781         * lily/volta-engraver.cc (process_music): use
4782         Text_interface::is_markup() for setting the 'text property of the
4783         volta bracket.
4785         * input/mutopia/claop.py (accents): update syntax to 2.6
4787         * scm/define-context-properties.scm
4788         (all-user-translation-properties): add countPercentRepeats.
4790         * Documentation/user/basic-notation.itely (Measure repeats): add
4791         isolated percent example.
4793 2005-08-18  Graham Percival  <gpermus@gmail.com>
4795         * input/ {various}: change direction #1, #-1 to
4796         #up/#down or \fooUp, \fooDown.
4798         * Documentation/user/music-glossary.tely: #-1 to #down.
4800         * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
4801         to #up, #-1 to #down.
4803 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4805         * lily/include/engraver-group.hh: rename.
4807         * lily/include/performer-group.hh: rename.
4809 2005-08-18  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4811         * input/test/script-abbreviations.ly: Removed some old LaTeX
4812         left overs.
4814 2005-08-18  Jan Nieuwenhuizen  <janneke@gnu.org>
4816         * python/convertrules.py (conv): inside-slur -> avoid-slur.
4817         Remove functions.  Remove if 1: constructs, reindent.
4819         * scripts/convert-ly.py (add_version): Add functions from
4820         convertrules.py
4822         * scm/script.scm (default-script-alist):
4823         s/priority/script-priority.  Fixes script stacking.  Backportme.
4824         (Fermata): Very low priority.
4826 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4828         * input/regression/*.ly: remove superfluous \score blocks. Reindent.
4830         * input/regression/slur-script.ly: remove padding tweaks. Add
4831         comment strings.
4833         * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
4834         time sigs and related stuff.
4836         * scm/define-grob-properties.scm (all-user-grob-properties): add
4837         @code{} tags to property description.
4839         * lily/include/line-group-group-engraver.hh (Module): remove file.
4841         * python/convertrules.py (conv): add rule for
4842         Engraver_group_engraver -> Engraver_group.
4844         * lily/include/performer-group-performer.hh: analogous.
4846         * lily/include/engraver-group-engraver.hh: rename to Engraver_group.
4848         * lily/context-def.cc (instantiate): check for
4849         Engraver_group_engraver and Performer_group_performer not
4850         Engraver/Performer. Fixes crashes when doing \with { \consists .. }
4852 2005-08-18  Jan Nieuwenhuizen  <janneke@gnu.org>
4854         * input/les-nereides.ly: Remove three fingering tweaks, update
4855         remaining one.
4857         * input/regression/slur-script-inside.ly: Update, fix doc.
4859         * scm/script.scm: Update to avoid-slur.
4861         * scm/define-grob-properties.scm (avoid-slur): New property.
4863         * lily/phrasing-slur-engraver.cc (acknowledge_extra_object):
4864         * lily/slur-engraver.cc (acknowledge_extra_object): Invoke
4865         outside_slur_callback if avoid-slur != #'inside.
4867         * scm/define-grobs.scm (Fingering, Textscript): No
4868         inside-slur/outside-slur preference.
4869         (DynamicLineSpanner): Always outside slur.
4871         * input/regression/slur-script.ly: More tests.
4873 2005-08-17  Graham Percival  <gpermus@gmail.com>
4875         * Documentation/user/lilypond-book: fix notime entry.
4877         * Documentation/user/advanced-notation.itely: add info on
4878         getting an I rehearsal mark.
4880         * Documentation/user/putting.itely: reinstate "I", re-enforce
4881         the fact that \override numbers are the result of
4882         experimentation and personal taste.
4884         * Documentation/user/invoking.itely: update convert-ly bugs.
4886 2005-08-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4888         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set timing
4889         to #t.
4891         * lily/timing-translator.cc (initialize): don't initialize timing.
4893         * input/regression/stem-spacing.ly (Module): remove file.
4895         * input/regression/spacing-stick-out.ly: specify Score context for
4896         \override
4898         * input/regression/clefs.ly: remove spurious {}s 
4900 2005-08-17  Heikki Junes  <hjunes@cc.hut.fi>
4902         * Documentation/topdocs/NEWS.tely,
4903         input/regression/repeat-percent-count.ly: clarify a bit.
4905 2005-08-16  Nicolas Sceaux  <nicolas.sceaux@free.fr>
4907         * input/no-notation/display-lily-tests.ly: delete
4908         display-lily-init call.
4910         * ly/music-functions-init.ly (displayLilyMusic): move
4911         display-lily-init call at top level, so that the user should not
4912         have to call it.
4914         * scm/define-music-display-methods.scm (note-name->lily-string):
4915         retrieve note names directly from pitchnames using new function `rassoc'.
4916         (display-lily-init): note names list construction removed.
4918 2005-08-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4920         * THANKS: spello.
4922         * lily/lily-parser.cc (get_header): copy module, instead of
4923         returning it.
4925         * Documentation/topdocs/NEWS.tely (Top): add entry for percent
4926         counters.
4928         * Documentation/user/basic-notation.itely (Measure repeats): add
4929         links to Counter grobs.
4931         * scm/define-grobs.scm (all-grob-descriptions): add
4932         DoublePercentRepeatCounter
4933         (all-grob-descriptions): add PercentRepeatCounter
4935         * lily/percent-repeat-engraver.cc (class Percent_repeat_engraver):
4936         also create counter grobs.
4938         * lily/separation-item.cc (extremal_break_aligned_grob): don't
4939         return grob without space-alist.
4941         * input/proportional.ly: tune staff-padding.
4943         * input/regression/repeat-percent-count.ly: new file. 
4945 2005-08-16  Nicolas Sceaux  <nicolas.sceaux@free.fr>
4947         * input/no-notation/display-lily-tests.ly: moved from
4948         input/regression/ to input/no-notation. Be sure to call
4949         `display-lily-init' before trying to use the display function.
4951 2005-08-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
4953         * scripts/lilypond-book.py (option_definitions): Don't localize
4954         the empty string. Fixes bug when --psfonts was used with
4955         non-English locale.
4957 2005-08-15  Graham Percival  <gpermus@gmail.com>
4959         * lily/tuplet-bracket.cc: simple build fix.
4961         * Documentation/user/putting.itely: use "we" instead of "I".
4963         * Documentation/user/basic-notation.itely: cautionary accidentals
4964         work with naturals, too.
4966 2005-08-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4968         * lily/tuplet-bracket.cc (calc_position_and_height): add
4969         staff-padding support.
4971         * input/proportional.ly: set staff-padding.
4972         
4973         * VERSION (PATCH_LEVEL): release 2.7.5
4975         * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): text formatting
4976         fixes. Remove tweaks.
4978         * input/regression/tuplet-slope.ly: add a test case.
4980         * lily/tuplet-bracket.cc (calc_position_and_height): revert
4981         erroneous fix. Add spanner bounds to offset array with relative X
4982         positions.
4984         * ly/engraver-init.ly: add Rest_engraver only once.
4986         * scm/define-music-display-methods.scm (KeyChangeEvent): only do
4987         (*parser*) lookup if (*parser*) != #f.
4989 2005-08-15  Jan Nieuwenhuizen  <janneke@gnu.org>
4991         * lily/phrasing-slur-engraver.cc (acknowledge_extra_object):
4992         Cut-and paste update.
4994         * input/regression/slur-script.ly: Add example of reverting
4995         inside-slur for fingering.
4997         * scm/define-grobs.scm (DynamicLineSpanner, Fingering,
4998         TextScript): Explicitly set inside-slur #f, forcing these out of slur.
5000         * lily/slur-engraver.cc (acknowledge_extra_object): Only invoke
5001         outside_slur_callback if inside-slur == #f (as opposed to unset).
5003 2005-08-14  Jan Nieuwenhuizen  <janneke@gnu.org>
5005         * tex/GNUmakefile (INSTALLATION_FILES): Remove enc symlink setup,
5006         encoding files are already removed.
5008 2005-08-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5010         * Documentation/user/advanced-notation.itely (Instrument names):
5011         Document a workaround for instrument names that collide with
5012         system start braces/brackets.
5014 2005-08-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5016         * lily/rest-collision.cc (do_shift): spello.
5018         * input/proportional.ly: use #'used property. Set break-overshoot
5019         property.
5021         * mf/feta-arrow.mf: center on arrow tip center, iso. tip edge.
5023         * lily/paper-column.cc: add #'used property
5025         * lily/mark-engraver.cc (stop_translation_timestep): set grob
5026         array for staves found.
5028         * lily/metronome-engraver.cc (stop_translation_timestep): set grob
5029         array for stavesFound.
5031         * lily/staff-spacing.cc (next_note_correction): add fixed and
5032         space to calling convention. This fixes spacing of accidentals
5033         after barlines.
5035         * input/regression/spacing-accidental-stretch.ly: add barline -
5036         accidental case.
5038         * scm/framework-ps.scm (page-header): add version number to
5039         creator
5040         (eps-header): idem.
5042         * mf/feta-bolletjes.mf: swap d0 and u0 fa heads.
5043         
5044 2005-08-13  Graham Percival  <gpermus@gmail.com>
5046         * Documentation/user/global.itely: add "fit as much as
5047         possible onto this page" example (Vertical spacing).
5049 2005-08-13  Jan Nieuwenhuizen  <janneke@gnu.org>
5051         * *: Nitpick run.
5053         * buildscripts/fixcc.py: Fixes.
5055 2005-08-12  Graham Percival  <gpermus@gmail.com>
5057         * Documentation/user/advanced-notation.itely: add markup
5058         example to Text spanners.
5060 2005-08-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5062         * Documentation/user/basic-notation.itely (Ties): Add example of
5063         tying a tremolo to a chord. Thanks to Steve Doonan. 
5065         * lily/tie-engraver.cc: Add tieWaitForNote to the list of read
5066         properties and move tieMelismaBusy to the list of written
5067         properties. 
5069 2005-08-12  Heikki Junes  <hjunes@cc.hut.fi>
5071         * po/TODO: suggest to use a dedicated tool like kbabel.
5073         * po/fi.po: update using kbabel.
5075 2005-08-12  Jan Nieuwenhuizen  <janneke@gnu.org>
5077         * *: Remove obsolete files.  Nitpick run.
5079         * lily/lily-guile.cc (parse_symbol_list): Bugfix.
5081 2005-08-11  Jan Nieuwenhuizen  <janneke@gnu.org>
5083         * mf/GNUmakefile (get-*-fonts): Rename from get-*-pfa.  Copy SVG
5084         too.
5086         * Documentation/topdocs/NEWS.tely (Top): Add slur script feature.
5088         * lily/lily-guile.cc (parse_symbol_list): Rewrite.  Grok multiple
5089         whitespace as symbol separator.
5091         * lily/side-position-interface.cc: Add slur-padding.
5093         * input/regression/slur-script.ly: Fixed.  Backportme?  This is
5094         quite a large fix, and it never worked in a stable release; so not
5095         really a regression.
5097         * lily/phrasing-slur-engraver.cc (class Phrasing_slur_engraver):
5098         Update cut and paste code from Slur_engraver.
5100         * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
5101         Add.
5103         * scm/define-grobs.scm (DynamicLineSpanner): Add
5104         dynamic-line-spanner-interface.
5105         (DynamicLineSpanner, TextScript, Fingering): Add slur-padding.
5107 2005-08-09  Jan Nieuwenhuizen  <janneke@gnu.org>
5109         * lily/slur-engraver.cc (acknowledge_extra_object): Bugfix: use
5110         to_boolean () so that non-set 'inside-slur means false.
5112         * lily/slur.cc (outside_slur_callback): Bugfixes: make sure that
5113         slur has control-points.  Skip script without direction.  Always
5114         do_shift if script inside slur, even if slur not contained in
5115         script y-extent.  Increment k in loop.
5117 2005-08-11  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5119         * scm/define-markup-commands.scm: Improved regexp to search for
5120         EPS bounding boxes and corrected call to ly:warning.
5122 2005-08-10  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5124         * Documentation/user/programming-interface.itely (Displaying music
5125         expressions): doc for \displayLilyMusic. Also some precisions in
5126         "Markup construction in Scheme"
5128 2005-08-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5130         * scm/define-markup-commands.scm (normal-text): Added 2 new
5131         markup commands, \normal-text and \medium (the latter thanks to
5132         Bruce Fairchild). 
5134 2005-08-08  Graham Percival  <gpermus@gmail.com>
5136         * Documentation/user/programming-interface.itely: fix @{ @}.
5138         * scm/define-markup-commands.scm: add linewidth info to
5139         \justify and \wordwrap, add "upright is the opposite of italic".
5141         * Documentation/user/advanced-notation.itely: shaped->shape,
5142         add (cons (markup "foo")) type of example to text markup,
5143         reword multi-measure rests section.
5145         * lily/note-heads-engraver.cc: changed Shaped->Shape in a
5146         comment.  No actual code was touched.
5148         * Documentation/user/invoking.itely: add more info about
5149         \include.  Thanks, Bruce!
5151         * THANKS: add Bruce Fairchild, alphabetise.
5153         * Documentation/user/global.itely: document \score{\header{}}
5154         behavior.
5156         * Documentation/user/basic-notation.itely: reword multi-measure
5157         rest discussion in Rests.
5159 2005-08-08  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5161         * Documentation/user/programming-interface.itely (Markup
5162         construction in Scheme): Corrected example and tried to clarify
5163         the implicit \line in the table.
5165 2005-08-07  Graham Percival  <gpermus@gmail.com>
5167         * Documentation/user/instrument-notation.itely: moved
5168         some bagpipe info back into the bagpipe section.  Somehow
5169         it ended up in the "other vocal issues" section?!  :o_O
5171 2005-08-07  Jan Nieuwenhuizen  <janneke@gnu.org>
5173         * scm/framework-ps.scm (dir-join): Rename from path-join (joins
5174         directories, not paths).
5176 2005-08-06  Jan Nieuwenhuizen  <janneke@gnu.org>
5178         * scm/framework-ps.scm (munge-lily-font-name): Bugfix: Munge only
5179         plain emmentaler/aybabtu.  Backportme.
5181         * lily/tuplet-bracket.cc (calc_position_and_height): Bugfix:
5182         missing dir correction.
5184 2005-08-05  Graham Percival  <gperlist@shaw.ca>
5186         * scm/define-markup-commands: fix reversed justify/wordwrap
5187         doc strings.
5189 2005-08-05  Jürgen Reuter  <reuter@ipd.uka.de>
5191         * lily/ligature-engaver.cc, lily/coherent-ligature-engaver.cc,
5192         lily/gregorian-ligature-engaver.cc,
5193         lily/include/ligature-engraver.hh,
5194         lily/include/coherent-ligature-engraver.hh,
5195         lily/include/gregorian-ligature-engraver.hh: make these classes
5196         truely abstract.  This should fix some internal oddities such as
5197         duplicate as well as dead translator/property declarations, and
5198         also some dead code.
5200         * lily/ligature-bracket-engraver.cc, lily/ligature-engraver.cc:
5201         bugfix: avoid message "junking empty ligature" on ligature
5202         brackets by collecting dummy grobs.
5204 2005-08-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5206         * lily/tuplet-bracket.cc (print): default right overshoot to 0.0
5208         * input/proportional.ly (staffKind): bugfix.
5209         (staffKind): updates by Trevor Baca.
5211         * scm/define-grobs.scm (all-grob-descriptions): remove arrows as
5212         default layout. 
5214         * lily/tuplet-bracket.cc (print): check whether edge-text is a
5215         pair.
5217         * lily/beam.cc (rest_collision_callback): call position_beam() if
5218         necessary.
5220         * VERSION: release 2.7.4
5222         * input/regression/spacing-uniform-stretching.ly: new file.
5224         * lily/spacing-loose-columns.cc (set_loose_columns): use robust_relative_extent().
5226         * Documentation/topdocs/NEWS.tely (Top): add Nicolas as
5227         contributor.
5229         * lily/include/ly-module.hh: define MODULE_GC_KLUDGE globally.
5231         * input/proportional.ly: new file.
5233         * lily/tuplet-bracket.cc (after_line_breaking): don't suicide if
5234         columns is empty
5236         * lily/tuplet-engraver.cc (finalize): new function. Reset right
5237         bounds to currentCommandColumn for the last step.
5238         (start_translation_timestep): if tupletFullLength is set, set
5239         bound to Paper Column
5241         * input/regression/tuplet-full-length.ly (indent): new file.
5243         * lily/spacing-loose-columns.cc (set_loose_columns): space a whole
5244         clique of loose columns, eg. a set of grace notes in strict
5245         notespacing.
5247         * input/regression/spacing-strict-spacing-grace.ly: new file.
5249         * lily/key-signature-interface.cc: change property name to
5250         alteration-alist
5252         * lily/key-engraver.cc (read_event): read keyAlterationOrder, not
5253         keyAccidentalOrder
5255         * python/convertrules.py (conv): keyAccidentalOrder ->
5256         keyAlterationOrder
5258         * lily/key-engraver.cc (create_key): always print a cancellation
5259         for going to C-major/A-minor, regardless of printKeyCancellation.
5260         (create_key): remove typecheck for visibility. This fixes key
5261         signature not being printed.
5263         * lily/spacing-determine-loose-columns.cc: new file.
5265         * input/regression/spacing-strict-notespacing.ly: new file.
5267         * lily/spacing-spanner.cc (generate_springs): rename from
5268         do_measure. 
5269         (generate_pair_spacing): new function.
5270         (init, generate_pair_spacing): set between-cols for floating
5271         nonmusical columns.
5273         * lily/spaceable-grob.cc (get_spring): new function. 
5275         * lily/tuplet-bracket.cc (print): on the left, the overshoot is
5276         relative to the right edge of the prefatory matter.
5278         * lily/beam.cc (print): read break-overshoot to determine where to
5279         stop/start broken beams.
5281         * input/regression/spanner-break-overshoot.ly: new file.
5283 2005-08-04  Graham Percival  <gperlist@shaw.ca>
5285         * ly/bagpipe.ly: updated.
5287         * Documentat/user/instrument.itely: un-comment out bagpipe example.
5289 2005-08-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5291         * lily/dynamic-engraver.cc (acknowledge_slur): add slur to
5292         support: now (de)crescs avoid slurs as well.
5294         * Documentation/user/instrument-notation.itely (Bagpipe example):
5295         comment out non-functioning bagpipe example.
5296         (Bagpipe definitions): idem.
5298         * Documentation/topdocs/NEWS.tely (Top): add uniform-stretching example.
5299         (Top): add proportionalNotationDuration example.
5301         * input/regression/spacing-proportional.ly: new file.
5303         * lily/tuplet-bracket.cc (parallel_beam): broken bracket never is
5304         synched to a beam.
5306         * lily/beam.cc (shift_region_to_valid): divide by zero fix. This
5307         fixes beams with a single stem (eg. beams across linebreaks.)
5309         * lily/parser.yy (simple_string): allow \new STRING_IDENTIFIER.
5311         * flower/rational.cc (operator +): prevent overflow. This fixes
5312         heavily nested tuplets.
5314         * lily/auto-beam-engraver.cc (derived_mark): new method. Yes. We
5315         have to protect even those unlikely to be corrupted data members.  
5317 2005-08-04  Graham Percival  <gperlist@shaw.ca>
5319         * ly/bagpipe.ly: new file.
5321         * THANKS: added Sven Axelsson.
5323 2005-08-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5325         * lily/spacing-engraver.cc (stop_translation_timestep): directly
5326         copy proportionalNotationDuration into currentMusicalColumn if
5327         set.
5329         * lily/spacing-spanner.cc (musical_column_spacing): if
5330         uniform-stretching set, fixed space is 0.0
5332         * input/regression/spacing-multi-tuplet.ly: show
5333         uniform-stretching property.
5335         * lily/spacing-spanner.cc (effective_shortest_duration): new function.
5337         * lily/include/spacing-spanner.hh (class Spacing_spanner): new file.
5338         (struct Spacing_options): new struct.
5340         * lily/spacing-basic.cc: new file.
5342         * lily/spacing-spanner.cc (note_spacing): remove outdated code:
5343         delta_t doesn't have to be smaller than shortest_playing_len
5345 2005-08-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5347         * input/regression/markup-arrows.ly:  new file.
5349         * lily/tuplet-bracket.cc: document new behavior.
5351         * input/regression/tuplet-broken.ly: new file. Demonstrate tuplets
5352         with line breaks.
5354         * scm/define-markup-commands.scm (arrow-head): arrow-head markup command.
5356         * scm/define-grobs.scm (all-grob-descriptions): set arrows as
5357         default 
5359         * lily/tuplet-bracket.cc: add edge-text property.
5360         add break-overshoot.
5361         (print): read break-overshoot.
5362         (print): read edge-text, add stencils.
5364         * mf/feta-arrow.mf: new file.
5366         * mf/feta-generic.mf: add feta-arrow.
5368 2005-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5370         * Documentation/user/lilypond-book.itely (An example of a
5371         musicological document): Added flag -o to dvips for people who use
5372         the default setting in teTeX where output is sent to the printer. 
5374         * Documentation/user/global.itely (Vertical spacing): Added
5375         reference to the Axis_group_engraver which documents the *Extent
5376         properties.
5378 2005-08-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5380         * Documentation/user/basic-notation.itely (Tuplets): add note
5381         about nested tuplets. Remove BUG. 
5383         * input/regression/tuplet-nest.ly: update: remove manual hack. 
5385         * lily/tuplet-bracket.cc (print): use robust_scm2drul
5386         (print): manually call print() for subtuplets.
5387         (calc_position_and_height): add subtuplets to the
5388         support. Vertically shift outer tuplet 
5390         * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): set
5391         remove-first for Lyrics, ChordNames and FiguredBass
5393         * scm/define-grob-properties.scm (all-internal-grob-properties):
5394         use ly:grob-array? iso. grob-list?
5395         (all-internal-grob-properties): add tuplets grob-array.
5397         * lily/tuplet-bracket.cc (add_tuplet_bracket):
5398         new function
5400 2005-08-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5402         * input/test/time-signature-staff.ly: new file.
5404         * ly/declarations-init.ly (center): escape to Scheme. Fixes
5405         spurious #<Music FingerEvent> errors. Backportme.
5407 2005-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
5409         * Documentation/user/programming-interface.itely (Markup
5410         construction in Scheme): Corrected markup syntax in the
5411         translation table.
5413 2005-08-03  Graham Percival  <gperlist@shaw.ca>
5415         * Documentation/user/instrument-notation.itely: small update
5416         to bagpipe notation docs; thanks Sven!
5418         * Documentation/user/basic-notation.itely: add link about trills.
5420 2005-08-02  Graham Percival  <gperlist@shaw.ca>
5422         * Documentation/user/music-glossary: remove accidentally committed
5423         fink patch.
5425 2005-08-02  Yoshinobu Ishizaki  <isizaki@mte.biglobe.ne.jp>
5427         * lily/lily-parser.cc (get_header): new function. Enable multiple
5428         \header definitions.
5430         * lily/parser.yy (lilypond_header_body): use get_header.
5432         * ly/init.ly:
5433         * scm/lily-library.scm (print-score-with-defaults): renamed
5434         $globalheader to $defaultheader
5435         
5436         * Documentation/user/global.itely (Creating titles): added short
5437         explanation that multiple headers are useable.
5440 2005-08-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5442         * lily/module-scheme.cc (LY_DEFINE): new file. 
5444         * Documentation/user/advanced-notation.itely (Font selection): add
5445         doco for make-pango-font-tree.
5447 2005-07-31  Graham Percival  <gperlist@shaw.ca>
5449         * Documentation/user/music-glossary: more languages
5450         for tenuto.
5452         * Docuemntation/user/instrument-notation.itely: minor
5453         update for bagpipe example.
5455 2005-07-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5457         * input/regression/+.ly (TODO): add some text.
5459 2005-07-28  Graham Percival  <gperlist@shaw.ca>
5461         * Documentation/user/invoking.itely: \score begins with music.
5463         * Documentation/user/ basic-notation.itely,
5464         instrument-notation.itely: minor changes.
5466         * Documentation/user/music-glossary.itely: began tenuto entry.
5468 2005-07-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5470         * scm/output-socket.scm (bezier-sandwich): add bezier-sandwich
5472         * mf/feta-bolletjes.mf: swap up and down for aiken heads.
5474 2005-07-27  Graham Percival  <gperlist@shaw.ca>
5476         * Documentation/user/examples.itely: remove bagpipe template.
5478         * Documentation/user/instrument-notation.itely: add bagpipe
5479         section, maybe fix quotes in lyrics.  I hate text encoding.
5480         Clarify chord durations, more bagpipe stuff.
5482 2005-07-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5484         * lily/accidental-engraver.cc: formatting fixes.
5486         * lily/spacing-spanner.cc (prune_loose_columns): right-items is a
5487         grob-array.
5489         * lily/arpeggio.cc (print): suicide arpeggio for single notehead.
5491         * lily/note-column.cc (arpeggio): new function.
5493         * lily/note-spacing.cc (get_spacing): also take arpeggio into
5494         account for spacing.
5496 2005-07-25  Jan Nieuwenhuizen  <janneke@gnu.org>
5498         * lily/main.cc (sane_setenv)[!ARGV0_RELOCATION]: Also define.
5499         (setup_guile_env): Use it instead of nonstandard setenv.  Fixes
5500         mingw build.
5501         
5502 2005-07-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5504         * scm/lily.scm (lilypond-all): clear anonymous modules after
5505         processing files.
5507 2005-07-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5509         * flower/include/guile-compatibility.hh (SCM_I_CONSP): add
5510         SCM_I_CONSP
5512         * VERSION: 2.7.3 released
5514         * Documentation/user/invoking.itely (Invoking lilypond): add
5515         LILYPOND_GC_YIELD documentation.
5517         * lily/*: cleanups: use scm_from_int iso. scm_int2num. Idem for
5518         scm_from_real / scm_make_real.
5520         * lily/main.cc (setup_guile_env): new function. Set GC min_yields
5521         higher. This increases memory footprint, but provides overall
5522         speedup of 15 to 20%. 
5524         * lily/include/translator.hh (class Translator): remove
5525         PRECOMPUTED_VIRTUAL everywhere.
5527         * lily/include/lily-guile.hh: inline scm_c[ad]r, scm_is_pair.
5529         * lily/context.cc (now_mom): non-recursive now_mom() 
5531         * lily/include/profile.hh: new file.
5533         * lily/profile.cc: new file.
5535         * lily/grob.cc (Grob::Grob): look properties up directly.
5537         * lily/open-type-font.cc (get_indexed_char): cache index -> bbox
5538         lookups.
5540         * lily/include/box.hh (class Box): smob Box type.
5542         * lily/smobs.cc (protect_smob): O(1) GC (un)protection.
5544         * lily/include/smobs.hh (DECLARE_BASE_SMOBS): add methods
5545         protect() and unprotect(). Use throughout.
5547 2005-07-24  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5549         * Documentation/topdocs/NEWS.tely: new item for \displayLilyMusic
5551         * scm/define-music-display-methods.scm (markup->lily-string):
5552         markup elements can also be strings (without simple-markup
5553         appended)
5555 2005-07-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5557         * lily/context.cc (where_defined): also assign value in
5558         where_defined().
5560         * lily/bezier.cc (get_other_coordinate): use curve_coordinate
5561         (curve_coordinate): new function
5563         * lily/simple-spacer.cc (add_columns): only add rods between
5564         column i and begin/end if keep-inside-line is set (this repleces
5565         allow-outside-line as default)
5567 2005-07-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5569         * lily/tuplet-engraver.cc (start_translation_timestep): only read
5570         tupletSpannerDuration if applicable.
5572         * lily/font-size-engraver.cc (process_music): read fontSize only
5573         once per timestep.
5575         * lily/engraver*cc: use throughout.
5576         
5577         * lily/include/translator.icc (ADD_ACKNOWLEDGER): new macro.
5579         * lily/translator.cc (add_acknowledger): new file. Directly jump
5580         into an Engraver::acknowledge_xxx () method based on a grobs
5581         interface-list.
5583         * lily/include/translator-dispatch-list.hh (class
5584         Engraver_dispatch_list): new struct, new file.
5586         * scm/define-context-properties.scm
5587         (all-internal-translation-properties): remove acceptHashTable,
5588         acknowledgeHashTable
5590         * lily/translator-group.cc (mark_smob): idem for acceptHashTable.
5592         * lily/engraver-group-engraver.cc (Engraver_group_engraver):
5593         change acknowledgeHashTable to C++ member. 
5595         * lily/rest-collision.cc (do_shift): use extract_grob_set().
5597 2005-07-22  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5599         * scm/display-lily.scm: new file. Define a `display-lily-music'
5600         function, that displays the music expression given as an argument,
5601         using LilyPond notation.
5603         * scm/define-music-display-methods.scm: new file. Implementation
5604         of display methods for each music type.
5606         * ly/music-functions-init.ly (displayLilyMusic): new function for
5607         displaying music with LilyPond notation.
5609         * input/regression/display-lily-tests.ly: new regression test file
5610         for `display-lily-music'.
5612         * scm/markup.scm: remove obsolete debugging code (for printing
5613         markups with LilyPond notation).
5615         * scm/define-music-types.scm (music-name-to-property-table):
5616         * scm/clef.scm (supported-clefs): export, in order to be accessible
5617         from the (scm display-lily) module.
5619 2005-07-22  Jan Nieuwenhuizen  <janneke@gnu.org>
5621         * Documentation/topdocs/NEWS.tely (Top): Typo.
5623 2005-07-22  Heikki Junes  <hjunes@cc.hut.fi>
5625         * Documentation/index.html.in, Documentation/texinfo.css,
5626           stepmake/bin/text2html.py, buildscripts/mutopia-index.py,
5627           Documentation/bibliography/index.html.in,
5628           Documentation/bibliography/html-long.bst: revert css-width patch,
5629           it does not work with IE6.
5631 2005-07-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5633         * Documentation/texinfo.css: revert 760px hack. 
5635         * VERSION: release 2.7.2
5637         * Documentation/topdocs/NEWS.tely (Top): mention barNumberCheck
5639         * Documentation/user/basic-notation.itely (Barnumber check): add
5640         section.
5642         * scm/music-functions.scm (skip-to-last): new function. Show only
5643         last showLastLength part of the \score.
5645         * lily/moment-scheme.cc (LY_DEFINE): new function ly:moment-sub
5647         * python/convertrules.py (conv): add ly:x-moment rule
5649         * lily/moment-scheme.cc (LY_DEFINE): rename ly:X-moment  -> ly:moment-X
5651         * Documentation/topdocs/NEWS.tely (Top): add new feature.
5653         * Documentation/user/instrument-notation.itely (Flexibility in
5654         alignment): options in subsections.
5656         * lily/lyric-engraver.cc (process_music): don't typeset text for _
5657         syllable text. Instead, assume that the previous lyric text is a
5658         melismated text.
5660         * Documentation/index.html.in: revert 800x600 change.
5662 2005-07-19  Jan Nieuwenhuizen  <janneke@gnu.org>
5664         * lily/main.cc (main): Remove invalid handle kludge.
5666         * scm/lily.scm (running-from-gui?): WINDOWS: check -dgui.
5667         (lambda): add gui define.
5669 2005-07-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5671         * Documentation/topdocs/NEWS.tely (Top): add note about Musica ficta.
5673         * Documentation/user/instrument-notation.itely (Musica ficta
5674         accidentals): add section Musica ficta accidentals
5676         * lily/accidental-engraver.cc (make_suggested_accidental): new
5677         function.
5678         (make_standard_accidental): move into new function.
5679         (create_accidental): new function.
5681         * scm/define-grobs.scm (all-grob-descriptions): new Grob
5682         AccidentalSuggestion
5684         * lily/output-def-scheme.cc (LY_DEFINE): take default  argument.
5686         * lily/output-def.cc (lookup_variable): return SCM_UNDEFINED if
5687         undefined.
5689         * Documentation/user/global.itely (Page formatting): document
5690         horizontalshift.
5692         * scm/page-layout.scm (default-page-music-height):
5693         horizontalshift: new variable, shift all systems by
5694         horizontalshift to the right, to make space for instrument names.
5696         * scm/paper.scm (set-paper-dimension-variables): add horizontalshift
5698         * lily/input-scheme.cc (LY_DEFINE): take format commands.
5700 2005-07-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5702         * lily/note-column.cc (dir): idem.
5704         * lily/spacing-spanner.cc (Module): idem.
5706         * lily/script-column.cc (before_line_breaking): use extract_grob_set()
5708         * lily/include/paper-column.hh (class Paper_column): add
5709         non-static get_rank() member.
5711         * VERSION: release 2.7.1
5712         
5713         * scm/framework-null.scm: new file, used for benchmarking.
5715 2005-07-20  Heikki Junes  <hjunes@cc.hut.fi>
5717         * Documentation/topdocs/INSTALL.texi, configure.in: fix
5718         version dependencies for fontforge and gs.
5720         * Documentation/index.html.in, Documentation/texinfo.css,
5721         stepmake/bin/text2html.py, buildscripts/mutopia-index.py,
5722         Documentation/bibliography/index.html.in, 
5723         Documentation/bibliography/html-long.bst: optimize width of
5724         html for a 800x600 screen (width:760), increases printability
5725         when 'fit to page' is not set and readability in wide screens.
5727         * stepmake/bin/add-html-footer.py: add missing </p>.
5729 2005-07-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5731         * scm/define-markup-commands.scm (beam): use polygon in beam
5732         command.
5734         * lily/grob-pq-engraver.cc (stop_translation_timestep): save up
5735         all acknowledged grobs, and do potentially expensive merge and
5736         write in one go.
5738         * buildscripts/mf-to-table.py (write_fontlist): enforce noBreak.
5740         * configure.in (reloc_b): add --enable-static-gxx to statically
5741         link to libstdc++
5743         * lily/GNUmakefile (static-gxx-libs): new target
5744         static-gxx-libs. Create symlink to libstdc++.a
5746         * lily/new-lyric-combine-music-iterator.cc: rename to
5747         Lyric_combine_music_iterator
5749         * lily/lyric-combine-music-iterator.cc
5750         (Old_lyric_combine_music_iterator): rename to
5751         Old_lyric_combine_music_iterator
5753         * lily/*-engraver.cc (various): remove double use of
5754         PRECOMPUTED_VIRTUAL function: only use
5755         start_translation_timestep() and stop_translation_timestep(), not
5756         both.
5758         * lily/break-substitution.cc (fast_substitute_grob_array): do
5759         fast_substitute_grob_array for all unordered grob_arrays.
5760         (substitute_grob): return Grob *. Saves packing/unpacking SCMs.
5761         (substitute_grob_array): optimize.
5763         * lily/align-interface.cc (set_axis): set ordered_ for 'elements
5765         * lily/include/grob-array.hh (class Grob_array): ordered_ member.
5767         * lily/parser.yy: revert $globalheader patch.
5768         
5769         * lily/include/translator.icc
5770         (IMPLEMENT_FETCH_PRECOMPUTABLE_METHODS): directly jump into
5771         Translator methods, without _static helper.
5773         * lily/grob-smob.cc (derived_mark): rename from
5774         do_derived_mark(). Return void.
5776         * scm/define-context-properties.scm
5777         (all-internal-translation-properties): remove tweakCount/tweakRank.
5779         * scm/output-lib.scm (begin-of-line-invisible): use vectors for
5780         predefined break-visibilities.
5782         * lily/item.cc (handle_prebroken_dependencies): use a vector of 3
5783         booleans for break-visibility.
5785         * Documentation/topdocs/NEWS.tely (Top): add note about engravers.
5787         * python/convertrules.py (conv): rule for Timing_translator. 
5789         * lily/include/translator.icc: new file. 
5791         * lily/paper-column-engraver.cc (process_music): new
5792         file. Separate Paper_column factory from Score_engraver.
5794         * lily/vertically-spaced-context-engraver.cc: administer
5795         spaceable-staves property of System.
5797         * lily/translator-group-ctors.cc: new file.
5799         * lily/context-property.cc (make_grob_from_properties): construct
5800         the right Grob class programmatically, looking at the class entry
5801         for the meta property.
5803         * lily/break-align-engraver.cc (stop_translation_timestep): call
5804         Break_align_interface::add_element() directly.
5806         * lily/context.cc (measure_position): measure_position() is now a
5807         normal function.
5809         * lily/include/translator.hh (class Translator): rename
5810         process_acknowledged_grobs() to process_acknowledged() and move to
5811         Translator.
5813         * scm/define-grobs.scm (all-grob-descriptions): add a 'class meta
5814         field for each grob description.
5816         * lily/include/translator-group.hh (class Translator_group):
5817         change to base class. Separate class from Translator. This gets
5818         rid of virtual inheritance for Engravers/Performers.
5820         * lily/staff-performer.cc (class Staff_performer): derive
5821         Staff_performer from Performer, not Performer_group_performer 
5823         * Lily/translator-group.cc (precomputed_recurse_over_translators):
5824         new function.
5825         (precompute_method_bindings): new function. Precompute lists of
5826         Translators, so we only call methods (process_music,
5827         start_translation_timestep, etc.) for Translators needing
5828         it. Also: dispose of pointer-to-member-function calls.
5830         * lily/engraver-group-engraver.cc: remove engraver_each,
5831         recurse_down_engravers ()
5833         * lily/note-head.cc (internal_print): only call
5834         glyph-name-procedure if style != default. 
5836 2005-07-16  Graham Percival  <gperlist@shaw.ca>
5838         * ly/titling-init.ly: add printallheaders option.
5840         * Documentation/user/global.itely: document printallheaders.
5842 2005-07-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5844         * lily/system.cc (do_derived_mark): don't mark from object_alist_
5845         anymore, but do it centrally.  
5847         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
5848         hammer hack.
5850         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-object
5852         * scm/output-lib.scm: remove hammer-print-function.
5854         * lily/include/pointer-group-interface.hh (extract_grob_set): new
5855         macro. Declare a Link_array<Grob> and fill it from a grob.
5856         (extract_item_set): idem for item.
5858         * lily/break-substitution.cc: add header.
5859         (fast_substitute_grob_array): rewrite for Grob_arrays.
5860         (substitute_grob_array): idem.
5862         * lily/group-interface.cc (add_thing): remove file.
5864         * flower/include/parray.hh (class Link_array): slice() is const.
5866         * lily/include/grob-array.hh: new file.
5868         * lily/grob-array.cc (spanner): new file.
5870         * lily/beam-quanting.cc (fill): read details property from beam.
5872         * lily/beam.cc: support details property.
5874         * total speedups below: approx 10%.
5876         * lily/include/beam.hh: new struct, softcode beam quanting parameters
5878         * lily/include/grob.hh (class Grob): add interfaces_ member.
5880         * lily/bezier.cc (init_polynomial_cache): new function: cache
5881         binom(3,j) t^j (1-t)^{3-j}
5882         (curve_point): opps, actually use the cache for t^j , (1-t)^j! 
5884         * lily/*.cc: substitution throughout.
5886         * lily/grob-property.cc (internal_get_object): new routine.
5887         (internal_set_object): idem. Store grob refrences in separate
5888         alist. This saves processing time, since properties aren't
5889         break-substituted, and the per grob namespace is smaller, both for
5890         grobs and non-grob properties.
5892         * scm/define-grob-properties.scm (all-internal-grob-properties):
5893         remove center-element.
5895         * lily/grob.cc: remove tweak-count, tweak-rank.
5897 2005-07-15  Graham Percival  <gperlist@shaw.ca>
5899         * Documentation/user/lilypond-book.itely: fixes example.
5901 2005-07-15  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5903         * Documentation/user/global.itely (Creating titles):    
5904         * Documentation/user/examples.itely (All headers): change the
5905         place of \header in \score blocks (after music block) to make
5906         examples compile (cf. changes on parser.yy on 2005-07-10)
5908 2005-07-13  Graham Percival  <gperlist@shaw.ca>
5910         * python/convertrules.py: add exc -> ecc rule.
5912         * scripts/convert-ly.py: add location of convertrules.py
5913         in a comment.
5915         * Documentation/user/changing-defaults.itely: fix language.
5917 2005-07-12  Jan Nieuwenhuizen  <janneke@gnu.org>
5919         * lily/lily-parser-scheme.cc (LY_DEFINE): Guile 1.6 fix.
5921 2005-07-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5923         * scm/output-socket.scm (grob-bbox): don't use inf? 
5925         * flower/include/rational.hh: add operator bool() 
5927         * scm/define-music-types.scm (music-descriptions): remove
5928         internal-class-name properties.
5930         * lily/include/event.hh: remove file.
5932         * lily/include/music-constructor.hh: remove file.
5934         * lily/parser.yy (Lily_lexer): check EVENT_IDENTIFIER using 'event
5935         in 'types property.
5937         * lily/music.cc (duration_length_callback): new function.
5939         * lily/event.cc: remove file.
5941         * lily/music-constructor.cc: remove file.
5943         * lily/music-scheme.cc (LY_DEFINE): rename to ly:make-music
5945         * lily/context.cc (get_grob_key): nop if use_object_keys not set.
5946         (get_context_key): idem.
5948         * scm/lily.scm (lambda): new option object-keys (default to #f)
5950         * scm/output-svg.scm (utf-8-string): rename  from utf8-string.
5952         * scm/output-gnome.scm: remove beam routine.
5954         * scm/output-ps.scm (scm): idem.
5956         * scm/output-svg.scm: remove beam.
5958         * ps/music-drawing-routines.ps: remove draw_beam.
5960         * lily/lookup.cc (beam): use round_filled_polygon() for beam.
5962         * flower/include/guile-compatibility.hh (scm_from_locale_string):
5963         add scm_from_locale_string compatibility glue. 
5965 2005-07-13  Yoshinobu Ishizaki  <isizaki@mte.biglobe.ne.jp>
5967         * scripts/lilypond-book.py: Prevent occuring error when
5968         'lilypond-book --output=foo/ somefile.ly' is executed multiple
5969         times and target file shoud be overwritten.  (Error message said
5970         'input file and output file is same'.)
5972 2005-07-13  Graham Percival  <gperlist@shaw.ca>
5974         * input/regression/slur-extreme.ly,
5975         input/regression/slur-scoring.ly, lily/slur-configuration.cc,
5976         lily/slur.cc, mf/feta-din-code.mf, mf/feta-timesig.mf,
5977         mf/parmesan-heads.mf, scm/define-grob-properties.scm: Change
5978         "excentricity" to "eccentricity".
5980         * Documentation/user/converters.itely: fix URL for Noteedit and
5981         Rosegarden.
5983         * THANKS: added Yoshinobu Ishizaki.
5985 2005-07-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5987         * scm/define-markup-commands.scm (justify-field): add. 
5989         * scm/define-grobs.scm (all-grob-descriptions): decrease font size.
5991 2005-07-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5993         * lily/lookup.cc (filled_box): express filled_box with
5994         round_filled_box
5996         * scm/midi.scm (paper-book-write-midis): new function. Write all
5997         performances in numbered MIDI files.
5999         * lily/performance-scheme.cc (LY_DEFINE): new file.
6000         (LY_DEFINE): new function ly:performance-write.
6002         * lily/lily-parser-scheme.cc (LY_DEFINE): ly:parser-output-name:
6003         new function.
6004         (LY_DEFINE): change name ly:parser-define -> ly:parser-define!
6006         * scm/framework-*.scm: use port arguments throughout.
6008         * lily/include/lily-guile.hh: rename ly_c_X_p -> ly_is_X
6010         * lily/paper-outputter.cc (Paper_outputter): take port argument.
6012         * lily/paper-outputter-scheme.cc (LY_DEFINE): take port argument.
6014         * scm/framework-texstr.scm (output-framework): 
6016         * input/regression/repeat-fold.ly (texidoc): remove TeX strings.
6018         * scm/output-lib.scm (tablature-stem-attachment-function):
6019         tablature stem attachment fix. 
6021 2005-07-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6023         * lily/bezier.cc: hardcode binomial coefficients of order 3.
6025         * lily/include/music-wrapper.hh: remove Music_wrapper as Music subtype.
6027         * scm/define-music-types.scm (music-descriptions): don't use
6028         Music_wrapper type.
6030         * lily/paper-column.cc (print): print moment too.
6032         * scripts/mup2ly.py (cp_to_dir): remove 1.5.2 compat glue.  
6033         remove compatibility cruft.
6035         * lily/parser.yy (score_body): \score can only begin with Music. 
6037         * lily/score-scheme.cc (LY_DEFINE): rename scorify to
6038         make-score. Take music argument only. Move parser interaction to
6039         Scheme.
6041         * scm/lily-library.scm (scorify-music): new function.
6043         * python/lilylib.py (datadir): remove 2.1 compat kludge.
6044         (datadir): remove resource import.
6045         (print_environment): remove get_bbox()
6046         (cp_to_dir): remove pre 1.5.2 compat glue.
6048 2005-07-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6050         * lily/include/simple-spacer.hh (Module): idem.
6052         * lily/include/spring.hh (struct Spring): store inverse
6053         strength. This prevents division by zero.
6055         * VERSION: release 2.7.0
6056         
6057         * lily/include/music.hh (class Music): remove Music::duration_log()
6059         * lily/stem-engraver.cc (make_stem): take duration log from event.
6061         * lily/chord-tremolo-engraver.cc: don't ack note-head-interface.
6063 2005-07-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6065         * scm/lily.scm (ly:load): load autochange.scm
6067         * Documentation/user/tutorial.itely (Running LilyPond for the
6068         first time): remove reference to DVI/TeX
6070         * scm/define-markup-commands.scm (text): add \text markup command.
6072         * configure.in (reloc_b): bump requirement to Python 2.2.
6074         * lily/include/dots.hh (class Dots): make has_interface() static.
6076         * python/convertrules.py (conv): add rule for ly:grob-default-font
6078         * scm/define-grobs.scm (all-grob-descriptions): reorganize in
6079         alphabetical order.
6081         * input/regression/trill-spanner-pitched.ly: new file.
6083         * lily/font-interface-scheme.cc (LY_DEFINE): function
6084         ly:grob-default-font (changed from get-default-font).
6086         * lily/axis-group-interface-scheme.cc (LY_DEFINE): new file.
6088         * lily/note-head.cc (internal_print): if style is not a symbol,
6089         set style to 'default. 
6090         (internal_print): no style suffix if glyph-name-procedure not
6091         set. Default to quarter head.
6093         * scm/define-grobs.scm (Module): new grob TrillPitchHead.
6095         * scm/define-music-properties.scm (all-music-properties): add trill-pitch.
6097         * ly/music-functions-init.ly: \pitchedTrill
6099         * lily/pitched-trill-engraver.cc (acknowledge_grob): new file.
6101         * ly/Welcome_to_LilyPond.ly: update to 2.6.0
6103         * lily/trill-spanner-engraver.cc (finalize): rename req -> event
6105         * scm/define-markup-commands.scm (pad-markup): pad-markup command.
6107         * po/fr.po: update
6109         * po/de.po: update.
6111 2005-07-06  Graham Percival  <gperlist@shaw.ca>
6113         * Documentation/user/changing-defaults.itely: add link
6114         to grob-iterface.
6116         * Documentation/user/advanced-notation.itely: add material
6117         to Setting automatic beam behaviour.  Thanks, Joe!
6119         * Documentation/user/lilypond.itely: change encoding to utf-8.
6121 2005-07-01  Mats Bengtsson  <mabe@drongo.s3.kth.se>
6123         * Documentation/user/advanced-notation.itely (Setting automatic
6124         beam behavior): Correct the documentation of
6125         revert-auto-beam-setting (backportme)
6127 2005-07-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6129         * lily/ly-module.cc (ly_make_anonymous_module): define
6130         %module-public-interface of module. 
6132         * lily/lily-parser.cc (print_smob): allow printing of parser smob
6133         without lexer.
6135 2005-07-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6137         * input/regression/fret-diagrams.ly: stretch example.
6139 2005-06-30  Jan Nieuwenhuizen  <janneke@gnu.org>
6141         * cygwin/GNUmakefile ($(outdir)/%.sh): Bugfix: use TAB (Bertalan
6142         Fodor).
6144 2005-06-30  Graham Percival  <gperlist@shaw.ca>
6146         * Documentation/topdocs/AUTHORS.texi: update personal web address.
6148         * Documentation/user/examples.itely, lilypond-book.itely:
6149         change \RequirePackage to \usepackage.
6151         * Documentation/user/global.itely: document copyright and tagline.
6153 2005-06-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6155         * Documentation/user/basic-notation.itely (Transpose): remove link
6156         to nonexistent UntransposableMusic.
6158         * scm/output-svg.scm: remove old definitions.
6160         * scripts/lilypond-book.py (do_file): search for kpsewhich before
6161         invoking.
6163         * python/lilylib.py (search_exe_path): new function.
6165 2005-06-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6167         * python/lilylib.py (mkdir_p): remove setup_environment()
6168         (backportme)
6170         * buildscripts/mutopia-index.py (headertext): trim text.
6172         * Documentation/topdocs/NEWS.tely (Top): refresh.
6174         * scm/define-markup-commands.scm (wordwrap-string): new function:
6175         split string in paras and words.
6176         (wordwrap-markups): new function.
6177         (wordwrap-stencils): new function. 
6178         (justify): use it.
6179         (wordwrap): use it.
6180         (wordwrap-string): use it
6181         (justify-string): use it.
6183         * scm/lily-library.scm (regexp-split): new function.
6185         * scm/define-markup-commands.scm: remove encoded-simple. 
6186         remove font-markup.
6187         (fontsize): remove old version  of fontsize.
6188         (wordwrap): new markup function. Wrap into paragraphs.
6190         * VERSION: Branch lilypond_2_6
6191         (MINOR_VERSION): go to 2.7.0
6193 2005-06-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6195         * po/zh_TW.po: update from translation project.
6197 2005-06-28  Graham Percival  <gperlist@shaw.ca>
6199         * scm/midi.scm: compile fix.
6201 2005-06-28  Mats Bengtsson  <mabe@drongo.s3.kth.se>
6203         * scripts/lilypond-book.py : Fix embarrassing bug in my previous
6204         patch. Now, the tempfile module is loaded too, not only used.
6206 2005-06-28  Stephen Charles McCarthy  <stecmccarthy@hotpop.com>
6208         * scm/midi.scm: changed midi volumes in absolute-volume-alist from
6209         0.05 - 1.00 to 0.25 - 1.00
6211         * scm/midi.scm: moved the default-instrument-equalizer procedure
6212         to just under the insturment-equalizer-alist it takes as an
6213         argument.
6215 2005-06-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6217         * Documentation/user/advanced-notation.itely (Font selection):
6218         remove CMR note.
6220         * scm/framework-ps.scm (write-preamble): ly:warning iso. ly:warn 
6222 2005-06-28  Jan Nieuwenhuizen  <janneke@gnu.org>
6224         * THANKS: Add UTF-8 marker.
6226         * Documentation/user/point-and-click.itely (http): Update: use
6227         lilypond-invoke-editor.  Fix: instruct to use user.js.
6229 2005-06-27  Graham Percival  <gperlist@shaw.ca>
6231         * ly/titling-init.ly: implements printpagenumber, increases
6232         space between dedication and title (to avoid collisions with
6233         "g" and "q" in dedication), and nicer logic about copyright
6234         and instrument fields being printed on the first page.
6235         Thanks Vincent!
6237         * Documentation/user/global.itely: document printpagenumber.
6239 2005-06-27  Jan Nieuwenhuizen  <janneke@gnu.org>
6241         * Documentation/topdocs/NEWS.tely: Update to 2.6.
6243 2005-06-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6245         * THANKS: update to 2.6
6247         * VERSION: 2.6.0 released.
6249 2005-06-27  Jan Nieuwenhuizen  <janneke@gnu.org>
6251         * cygwin/GNUmakefile (OUT_POSTREMOVES): Reinclude install script
6252         rule, errorneously removed probably because of misleading comment.
6254 2005-06-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6256         * python/lilylib.py (datadir): py2exe comments.
6258         * Documentation/topdocs/INSTALL.texi (Top): remove EC fonts requirement.
6260         * configure.in (reloc_b): make fontconfig REQUIRED.
6262 2005-06-27  Heikki Junes <hjunes@cc.hut.fi>
6264         * po/fi.po: add latest translations.
6266 2005-06-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6268         * ChangeLog: recode utf-8
6270         * Documentation/pictures/lilypond.xpm (Module): edited photo as
6271         logo.
6273         * Documentation/user/examples.itely (Module): 2.4.0 -> 2.6.0
6275         * input/*.ly (Module): 2.4 -> 2.6 grand convert-ly s/r. 
6277         * python/convertrules.py (do_conversion): don't print program_name
6278         from within a module
6280         * configure.in (reloc_b): bump fontforge requirement to 20050624.
6282         * python/convertrules.py (conv): add 2.6.0 dummy rule.
6284 2005-06-23  Graham Percival  <gperlist@shaw.ca>
6286         * Documentation/user/lilypond-book.itely,
6287         Documentation/user/examples.itely: add \RequirePackage{graphics}.
6289         * ly/titling.ly: checks printfirstpagenumber, adds meter, and
6290         fixes baseline-skip.  Thanks Vincent!
6292         * Documentation/user/advanced-notation.itely, global.itely:
6293         moved "Selecting font sizes" to global, since it deals with
6294         notation font size, not text fonts.
6296 2005-06-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6298         * buildscripts/gen-emmentaler-scripts.py (notice): add GPL notice
6299         to fonts.
6301 2005-06-23  Mats Bengtsson  <mabe@drongo.s3.kth.se>
6303         * scripts/lilypond-book.py (LATEX_DOCUMENT): More or less ugly
6304         workaround since /dev/stdin doesn't work on Cygwin. Using a
6305         temporary file in the current directory since latex doesn't
6306         understand the path name to the default TMP in Cygwin (at least on
6307         win XP).
6308         
6309         * Documentation/user/global.itely (Creating titles): Correct
6310         misprint in example. Thanks to Rob Vlasaty.
6312 2005-06-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6314         * VERSION (PATCH_LEVEL): release 2.5.32
6316         * lily/lily-parser-scheme.cc (LY_DEFINE): don't set 'parser
6317         variable in lily module
6319         * scm/framework-ps.scm (output-classic-framework): error message
6320         regarding the classic framework.
6322         * Documentation/user/henle-flat-gray.png (Module): new file.
6324         * Documentation/user/baer-flat-gray.png (Module): new file.
6326         * scm/output-lib.scm (fret-number-tablature-format): vcenter and
6327         whiteout for markups.
6329         * buildscripts/substitute-encoding.py (note_glyph): include _ in
6330         regex too. This fixes change clef appearance in PDF. 
6332         * ttftool/include/*: remove.
6334         * configure.in (reloc_b): remove TTFTOOL_ENDIAN
6336         * config.make.in (WINDRES): remove TTFTOOL_ENDIAN.
6338         * lily/GNUmakefile (MODULE_INCLUDES): remove ttftool
6340         * ttftool/*: remove ttftool subdirectory.
6342         * GNUmakefile.in (SUBDIRS): remove ttftool subdirectory.
6344         * lily/ttf.cc (print_header): new file. Convert to type42, using
6345         FreeType to parse the TTF. 
6347         * ttftool/parse.c (readPostTable): ugh. Kludge: nglyphs in maxp
6348         and post table may differ. Pass around post_nglyphs as well.
6350 2005-06-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6352         * ly/music-functions-init.ly (musicMap): new music function
6353         musicMap. 
6354         
6355 2005-06-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6357         * make/mutopia-rules.make: anti-alias-factor = 2
6359         * scm/ps-to-png.scm (make-ps-images): cleanup multipage vs. single
6360         page switch.
6362         * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): set
6363         anti-alias-factor for lilypond-book runs.
6365         * scm/ps-to-png.scm (scale-down-image): new function.
6366         (my-system): new function.
6367         (make-ps-images): blow up GS resolution by anti-alias-factor,
6368         scale down image by anti-alias-factor.  This improves appearance
6369         of bitmaps
6370         (make-ps-images): remove showpage. Fixes spurious empty png at
6371         end.
6373         * scm/framework-ps.scm (write-preamble): downcase filename before
6374         string-matching. Should fix .TTF files (as opposed to ttf files)  
6376         * Documentation/user/tutorial.itely (Running LilyPond for the
6377         first time): separate subsections for windows, macos and unix.  
6379         * Documentation/user/invoking.itely (Updating files with
6380         convert-ly): add MacOS X note.
6382 2005-06-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6384         * Documentation/user/introduction.itely (Engraving): don't include
6385         file optical-spacing, add directly.
6387         * lily/paper-outputter.cc (file): open file in binary mode. This
6388         fixes OTF embedding on windows.
6390 2005-06-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6392         * scm/framework-ps.scm (write-preamble): remove debugging output.
6394         * mf/aybabtu.pe.in (i): don't generate aybabtu.cff
6396         * mf/GNUmakefile ($(outdir)/fonts.cache-1): create font cache for
6397         outdir.
6398         (install-fc-cache): install font cache in installation directories.
6400 2005-06-17  Jan Nieuwenhuizen  <janneke@gnu.org>
6402         * scm/editor.scm (editor-command-template-alist): Use char iso
6403         column, except for Emacs.
6404         (get-editor-command): Substitute char too (Bertalan Fodor).
6406 2005-06-16  Jan Nieuwenhuizen  <janneke@gnu.org>
6408         * scm/ps-to-png.scm (make-ps-images): Use ~S instead of single
6409         quoted ~s.  This should fix PNG output on Windows; single quotes
6410         are regular characters on Windows.
6412 2005-06-16  Graham Percival  <gperlist@shaw.ca>
6414         * Documentation/user/basic-notation.itely: include ChoirStaff
6415         in System start delimiters.
6417         * Documentation/user/putting.itely: new doc section on
6418         fixing overlapping notation.
6420 2005-06-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6422         * Documentation/user/global.itely (Paper size): \paper is in
6423         \book, not \score.
6425         * make/mutopia-rules.make: -ddelete-intermediate-files
6427         * ly/engraver-init.ly: make Staff default child of ChoirStaff.
6429 2005-06-16  Jan Nieuwenhuizen  <janneke@gnu.org>
6431         * ChangeLog: Recode utf-8.
6433         * python/GNUmakefile (INSTALLATION_OUT_DIR): Install .so module in
6434         datadir with .py modules.
6436 2005-06-15  Heikki Junes  <hjunes@cc.hut.fi>
6438         * Documentation/user/basic-notation.itely (Ties): add tieDashed.
6440 2005-06-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6442         * make/mutopia-rules.make: switch off ps, p&c for lilypond runs.
6443         
6444         * scm/framework-ps.scm (write-preamble): remove status check.
6446         * Documentation/user/invoking.itely (Updating files with
6447         convert-ly): remove -o option.
6449         * VERSION (PACKAGE_NAME): release 2.5.31
6451         * scm/framework-ps.scm (write-preamble): use ly:system.
6452         (write-preamble): verbosity.
6454         * scripts/convert-ly.py: cleanup. Use lilylib. Use convertrules.
6456         * python/convertrules.py: new file. Store conversion rules
6457         separately.
6459 2005-06-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6461         * scm/backend-library.scm (postprocess-output): remove debugging gobs.
6463 2005-06-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
6465         * Documentation/topdocs/NEWS.tely (Top): Corrected name of
6466         \musicDisplay 
6468         * Documentation/user/instrument-notation.itely (More stanzas): Add
6469         reference to StanzaNumber.
6471 2005-06-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6473         * THANKS: separate section for website translators.
6475 2005-06-14  Graham Percival  <gperlist@shaw.ca>
6477         * Documentation/topdocs/INSTALL.texi: update vim info;
6478         thanks Simon Bailey!
6480         * Documentation/user/advanced-notation.itely: included
6481         color names.
6483         * Documentation/user/advanced-notation.itely,
6484         Documentation/usr/notation-appendices.itely: moved
6485         color names into an appendix.
6487 2005-06-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6488         
6489         * lily/program-option.cc (LY_DEFINE): new function ly_add_option.
6491         * scm/lily.scm (lambda): initialize program options from here.
6493         * scm/framework-*.scm: add header info.
6495         * lily/main.cc (parse_argv): only set output format to pdf if no
6496         other format specified.
6498         * scm/backend-library.scm (postprocess-output): process
6499         'delete-intermediate-files after running convert-to-*. This fixes
6500         PNG generation when 'delete-intermediate-files is set.
6501         
6502 2005-06-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6504         * buildscripts/mutopia-index.py (list_item): thinko. Fixes png
6505         links on website. 
6507 2005-06-13  Graham Percival  <gperlist@shaw.ca>
6509         * Documentation/topdocs/INSTALL.texi,
6510         Documentation/user/lilypond-book.itely: typos.
6512 2005-06-12  Pal Benko  <benkop@freestart.hu>
6514         * elisp/lilypond-mode.el (LilyPond-command-alist: 2PS): space
6515         added between program name and switch; -b changed to -f not
6516         to generate pdf
6518 2005-06-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6520         * elisp/lilypond-mode.el (LilyPond-command-alist): remove 2midi
6521         (LilyPond-command-alist): use -f ps (thanks to Pal Benko)
6523         * input/sakura-sakura.ly: add \midi.
6525         * buildscripts/mutopia-index.py (find): use /usr/bin/find
6526         iso. python find. 
6528         * ttftool/test.c (main): cosmetics.
6530         * ttftool/util.c (surely_lseek): use stdio FILE's for I/O 
6532         * ttftool/test.c: new file. If compiled with -DTEST_TTFTOOL,
6533         create a ttf2ps binary.
6535         * scm/ps-to-png.scm (make-ps-images): fix rename-page-1 functionality.
6537         * scm/backend-library.scm (postscript->png): set rename-page-1 to
6538         true.
6540 2005-06-11  Graham Percival <gperlist@shaw.ca>
6542         * Documentation/user/lilypond-book.itely: add warning about
6543         the font warnings in dvips.
6545 2005-06-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6547         * THANKS: typo
6549         * mf/GNUmakefile ($(outdir)/$(redhat-package)): Fedora-4 url.
6551         * GNUmakefile.in: remove links for .map, .enc
6552         don't fail if out/ doesn't exist yet.
6554 2005-06-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6556         * ttftool/util.c (surely_read): return nbytes
6558         * stepmake/bin/text2html.py (txt2html): add utf-8 marker. 
6560         * VERSION (PACKAGE_NAME): release 2.5.30
6562         * flower/string-convert.cc (precision_string): >? fix.
6564         * scm/ps-to-png.scm (make-ps-images): search-gs for multipage too.
6565         (make-ps-images): add verbose -q too.
6567         * lily/default-actions.cc (Module): new file. default
6568         {book,score}-print functions.
6570         * scm/ly-from-scheme.scm (ly:parse-string-result): use new setup:
6571         pass results via parseStringResult, lookup via ly:parser-lookup.  
6573         * lily/lily-parser.cc (Lily_parser): only clone lexer in
6574         constructors.
6575         (parse_file): encapsulate do_yyparse() in scm_set_current_module()
6576         (parse_string): idem.
6578         * ly/spanners-init.ly (assertBeamQuant): don't use #{ #} in init.
6580         * lily/main.cc (main_with_guile): copy be_verbose_global into
6581         ly_set_option()
6583 2005-06-10  Jan Nieuwenhuizen  <janneke@gnu.org>
6585         * scm/backend-library.scm (postscript->pdf):
6586         * scm/ps-to-png.scm (make-ps-images): Do not use gs -q switch in
6587         verbose mode.  Search for several names of gs executable.
6589 2005-06-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6591         * lily/ly-module.cc (ly_make_anonymous_module): call make-module
6592         directly. This fixes a massive memory leak, provided you use CVS
6593         GUILE.
6595 2005-06-10  Erik Sandberg  <ersa9195@student.uu.se>
6597         * ly/property-init.ly: Added tieDashed.
6599         * THANKS: Added some bughunters for 2.5.
6601 2005-06-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6603         * lily/program-option.cc: add debug-gc option.
6605         * lily/include/lily-guile-macros.hh: don't protect exported module
6606         objects.
6608         * lily/include/lily-parser.hh (class Lily_parser): remove beam_check().
6610         * scm/backend-library.scm (postscript->pdf): use
6611         delete-intermediate-files iso. running-from-gui? 
6613         * ttftool/util.c (surely_read): robustness. Allow read() to return
6614         less bytes than requested, as per posix standards.
6616         * lily/pfb.cc (LY_DEFINE): set ttf_verbosity from ttf-verbosity
6617         program option.
6619         * ttftool/include/ttftool.h ("C"): rename verbosity to
6620         ttf_verbosity. Add to public interface.
6622         * scm/music-functions.scm (unfold-repeats): remove debugging display.
6624         * lily/program-option.cc: rename from scm-option.cc
6626         * lily/scm-option.cc (LY_DEFINE): handle no-foobar option setting.
6627         (get_help_string): Print pretty help string.
6629         * scripts/lilypond-book.py (PREAMBLE_LY): add no-point-and-click
6630         to snippet preamble.
6632         * lily/scm-option.cc: remove command-line-settings option. Fold
6633         all command-line options plus default settings in a generic
6634         interface. 
6636         * flower/getopt-long.cc (table_string): indent 2nd lines of help
6637         texts too.
6639 2005-06-09  Jan Nieuwenhuizen  <janneke@gnu.org>
6641         * flower/file-name.cc: Bugfix: only append DIRSEP if BASE_
6642         or EXT_ components non-empty.
6644 2005-06-08  Jan Nieuwenhuizen  <janneke@gnu.org>
6646         * scm/lily.scm (running-from-gui?): Export.
6648         * lily/lily-parser-scheme.cc (ly:parse-file): Use it to generate
6649         output in .ly source directory.
6651 2005-06-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6653         * ttftool/util.c (surely_lseek): more verbosity.
6655         * lily/include/lily-proto.hh: add Context_def. This fixes FC4
6656         compile.
6658         * lily/parser.yy (Repeated_music): remove >? 
6660         * scm/backend-library.scm (postscript->pdf): Support for
6661         -dgs-font-load=1
6663         * scm/framework-ps.scm (write-preamble): make font loading
6664         switchable to GS via --define-default gs-font-load=1
6666 2005-06-09  Graham Percival  <gperlist@shaw.ca>
6668         * Documentation/user/global.itely: added \layout docs.
6670 2005-06-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6672         * lily/lily-parser-scheme.cc: add unistd.h
6674 2005-06-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6676         * scm/editor.scm: add char argument.
6678         * scripts/lilypond-invoke-editor.scm (dissect-uri): add char. 
6680         * ttftool/util.c (syserror): use errno for better error reporting.
6682         * lily/source-file.cc (get_counts): new function. Calc column,
6683         line and char count in one go.
6685         * lily/binary-source-file.cc (quote_input): rename to quote_input
6687         * lily/input.cc (set): new function.
6689 2005-06-08  Jan Nieuwenhuizen  <janneke@gnu.org>
6691         * flower/file-path.cc (find): Bugfix.  Append rather than prepend
6692         directory part of file name to search directory.
6694         * lily/lily-parser-scheme.cc (ly:parse-file): Prepend cwd to
6695         search path and chdir to DIR if --outname=DIR used.
6697         * lily/main.cc (prepend_env_path): Bugfix: Check directory
6698         existence before appending original path.
6700 2005-06-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6702         * ttftool/parse.c (readNamingTable): verbosity for "bad TTF
6703         file" massage.
6705         * Documentation/user/GNUmakefile (TEXINPUTS): set TEXINPUTS so our
6706         texinfo.tex is always used.
6707         
6708 2005-06-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6710         * flower/include/axis.hh: rename from axes.hh
6712         * lily/include/text-interface.hh (Module): rename from text-item.hh
6714         * VERSION (PATCH_LEVEL): release 2.5.29
6716         * ttftool/parse.c (readNamingTable): handle Apple/8bit encoding too.
6718         * scm/framework-ps.scm (font-file-as-ps-string): new function.
6719         (handle-macfont): new function. Call fondu for Native mac fonts.
6721         * scm/define-markup-commands.scm (fill-line): handle text-widths =
6722         '() case.
6724 2005-06-07  Jan Nieuwenhuizen  <janneke@gnu.org>
6726         * scm/ps-to-png.scm (make-ps-images): Bugfix: `Pages: 1\n' is not
6727         multi-page.  Fix .eps regular expression.
6729 2005-06-07  Graham Percival  <gperlist@shaw.ca>
6731         * Documentation/user/putting.itely: add info on modifying templates.
6733         * Documentation/user/lilypond.itely, converters.itely, invoking.itely:
6734         misc small changes.
6736 2005-06-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6738         * scm/ps-to-png.scm (make-ps-images): no paper size for multi-page.
6740         * scripts/lilypond-ps2png.scm
6742         * VERSION (PACKAGE_NAME): release 2.5.28
6744 2005-06-07  Jan Nieuwenhuizen  <janneke@gnu.org>
6746         * lily/main.cc (prepend_env_path): Do not append /, that does not
6747         work.  Localedir lives in datadir, not in prefix.
6749         * scm/framework-ps.scm (write-preamble): Remove load-font-via-GS
6750         hack for windows.
6752         * flower/include/file-cookie.hh: Compile fix.
6754 2005-06-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6756         * ly/engraver-init.ly: add \defaultchild to InnerStaffGroup. 
6758         * scm/ps-to-png.scm (gulp-port): rename from read. Don't redefine
6759         system primitives.
6760         (gulp-port): using read-string!/partial. We don't want to read an
6761         entire PS file  (GUILE 1.6 limits strings to 16M) 
6763         * scm/define-grobs.scm (all-grob-descriptions): remove arch-*
6764         properties. Add font-interface. 
6766         * scm/define-grob-properties.scm (all-user-grob-properties):
6767         remove old bracket properties.
6769         * scm/x11-color.scm: reformat. 
6771         * lily/ledger-line-engraver.cc (acknowledge_grob): create new
6772         LedgerLineSpanner if new StaffSymbol is found. 
6774         * lily/staff-symbol-engraver.cc (acknowledge_grob): also set
6775         staff-symbol for finishing staff. 
6777         * lily/GNUmakefile (OUT_DIST_FILES): don't dist Flex output
6779         * scm/output-svg.scm (setcolor): implement (re)setcolor with <g>
6780         change black to currentColor everywhere. This fixes color support
6781         in SVG.
6783 2005-06-06  Carl Sorensen  <carldsorensen@comcast.net>
6785         * input/regression/fret-diagrams.ly: new file to test fret diagram
6786         capability
6788         * scm/output-tex.scm: remove white-dot and white-text
6790         * scm/output-ps.scm: remove white-dot and white-text
6792         * scm/fret-diagrams.scm (sans-serif-stencil-white): removed -- 
6793         using ly:stencil-in-color instead
6794         (draw-dots) : remove call to white-dot
6796 2005-06-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6798         * flower/memory-stream.cc (Memory_out_stream): remove fopencookie
6799         support.
6801         * ttftool/ttfps.c: use lily_cookie functions everywhere. 
6803         * flower/include/file-cookie.hh: new file. lily_cookie extension 
6805         * flower/file-cookie.cc: new file. lily_cookie extension.
6806         
6807 2005-06-06  Jan Nieuwenhuizen  <janneke@gnu.org>
6809         * scm/editor.scm (editor-command-template-alist): Add syn
6810         editor (Jaap [de Vos]).
6812 2005-06-05  Jan Nieuwenhuizen  <janneke@gnu.org>
6814         * scripts/lilypond-ps2png.scm:
6815         * scm/ps-to-png.scm: New file.
6817         * scm/backend-library.scm (postscript->png): Use it.
6819         * scripts/lilypond-ps-to-png.py: Remove file.
6821         * python/lilylib.py (get_bbox, make_ps_images): Remove.
6823 2005-06-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6825         * lily/auto-beam-engraver.cc (acknowledge_grob): remove dead code.
6827         * scm/auto-beam.scm (default-auto-beam-check): only forbid beam
6828         start on grace moment. Fixes autobeam-grace.ly.
6830         * lily/auto-beam-engraver.cc (process_acknowledged_grobs): don't
6831         process anything unless we're at the end of a pending beam. Fixes
6832         syncopated 8ths beamed across a beat.
6834 2005-06-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6836         * scm/editor.scm (editor-command-template-alist): Start emacs if
6837         emacslient fails.
6839         * lily/main.cc (setup_localisation): Listen to LILYPOND_LOCALEDIR.
6841         * flower/file-path.cc (is_file, is_dir): Export.
6843         * lily/main.cc (prepend_env_path, set_env_file): Use them.
6845 2005-06-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
6847         * lily/easy-notation.cc: Added include cctype to correct
6848         compilation error.
6850 2005-06-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6852         * scm/backend-library.scm (postscript->pdf): set resolution to
6853         1200, so bitmap fonts aren't that ugly. 
6855         * Documentation/topdocs/NEWS.tely (Top): add entry about font family.
6857         * lily/dynamic-engraver.cc (acknowledge_grob): only center on
6858         parent if we have a notehead. Fixes incorrect offsets when
6859         Paper_column is very wide in the X direction.
6861         * input/regression/font-family-override.ly (Module): new file.
6863         * scm/font.scm (make-pango-font-tree): new function.
6865         * lily/beam.cc (before_line_breaking): remove warning about less
6866         than 2 visible stems. We still get a warning when there is only
6867         one stem.
6869 2005-06-01  Werner Lemberg  <wl@gnu.org>
6871         * buildscripts/substitute-encoding.py: Handle PFAemmentaler-xx.pfa
6872         correctly.
6874 2005-06-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6876         * lily/slur-scoring.cc (generate_avoid_offsets): new
6877         function. Generate avoid offsets once per slur.
6879         * lily/slur.cc (add_extra_encompass): add dependency to
6880         extra-encompass object. This fixes bugs/c-phrasing-slur.ly
6882         * lily/stencil.cc (is_empty): check dim_ field for is_empty()
6883         too. Fixes inf error with added bass notes.
6885         * scripts/lilypond-book.py (do_options): --psfonts doesn't take
6886         argument anymore.
6888         * make/ly-vars.make (DVIPS_FLAGS): use .psfonts as extension.
6890         * input/tutorial/lbook-latex-test.tex: add line length test.
6892         * scripts/lilypond-book.py (set_default_options): new
6893         function. Call this before dissecting snippets, so linewidth
6894         settings reach the snippets.
6896 2005-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>
6898         * scm/lily.scm (PLATFORM, slashify): Remove double slashes.
6900 2005-06-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6902         * input/mutopia/R.Schumann/romanze-op28-2.ly (leftb): bugfix.
6904 2005-05-31  Jan Nieuwenhuizen  <janneke@gnu.org>
6906         * stepmake/aclocal.m4: More autopackage friendliness.
6908 2005-05-31  Graham Percival  <gperlist@shaw.ca>
6910         * Documentation/index.html.in: remove link to LSR.
6912         * Documentation/user/global.itely: remove duplicate
6913         "dedication" \header{} section.
6915 2005-05-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6917         * VERSION (PACKAGE_NAME): release 2.5.27.
6919         * lily/lily-parser-scheme.cc (LY_DEFINE): unprotect paper
6920         too. Plugs memory leak.
6922         * make/lilypond.fedora.spec.in (Group): remove
6923         lilypond-pdfpc-helper.
6925         * scripts/GNUmakefile (SEXECUTABLES): remove
6926         lilypond-pdfpc-helper. Use lilypond-invoke-editor instead.
6928         * scm/font.scm (make-century-schoolbook-tree): add Mono as
6929         'typewriter family.
6931         * lily/score.cc (Score): unprotect copy of Output_def. Plugs
6932         memory leak.
6934         * lily/parser.yy (score_body): don't clone Score, that's done in
6935         Lily_lexer::try_special_identifiers(). This fixes a memory leak.
6937         * lily/score-engraver.cc (derived_mark): new function.
6938         (initialize): unprotect Paper_score. This fixes a memory leak.
6940         * lily/score-performer.cc (derived_mark): new function.
6942         * lily/score-translator.cc (get_output): use SCM for get_output() call.
6944         * stepmake/aclocal.m4: put FlexLexer.h test in conftest.cc. Fixes
6945         spurious warning.
6947         * scm/font.scm (make-century-schoolbook-tree): use Sans for sans
6948         serif.
6950 2005-05-31  Jan Nieuwenhuizen  <janneke@gnu.org>
6952         * configure.in (reloc_b): Add --enable-relocation.
6954 2005-05-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6956         * lily/pfb.cc (LY_DEFINE): show file name when loading PFB. 
6958         * input/regression/alignment-order.ly: add Staff example.
6960 2005-05-31  John Mandereau   <john.mandereau@free.fr>
6962         * po/fr.po: update.
6964 2005-05-31  Graham Percival  <gperlist@shaw.ca>
6966         * Documentation/index.html.in: add link to LSR.
6968 2005-05-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6970         * scm/define-stencil-commands.scm (Module): new file. Register all
6971         allowed stencil expression heads in a central place.
6973         * lily/stencil-scheme.cc (LY_DEFINE): check is_stencil_head in
6974         ly:make-stencil
6976         * lily/stencil-expression.cc (all_stencil_heads): registering
6977         stencil expressions.
6979         * lily/stencil-interpret.cc: new file. Stencil expression
6980         interpreting.
6982         * input/xiao-haizi-guai-guai.ly: move file back.
6984 2005-05-30  Graham Percival  <gperlist@shaw.ca>
6986         * Documentation/user/advanced.itely, converters.itely,
6987         instrument-notation.itely, lilypond-book.itely: misc small
6988         changes.
6990 2005-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
6992         * lily/lexer.ll: Skip UTF-8 BOM at BOF.
6994         * make/lilypond.fedora.spec.in: Fix source url.
6996         * cygwin: Update from mingw patches.
6998         * scm/editor.scm (editor-command-template-alist): Use jedit
6999         -reuseview (Bertalan), add uedit (Patrick Huberts).
7001         * input/xiao-hai-zi-guai-guai.ly: Rename from
7002         xiao-haizi-guai-guai.ly.
7004         * input/*: Reindent, do not use TAB.
7006         * Documentation/pictures/ly.xpm: Bugfix: do not anti-alias against
7007         white background.
7009 2005-05-29  Jan Nieuwenhuizen  <janneke@gnu.org>
7011         * scm/framework-ps.scm (dump-stencil-as-EPS): Add silly fix for
7012         numerical overflow error.
7014 2005-05-29 Laura Conrad <lconrad@laymusic.org>
7015         
7016         * abc2ly.py: fix to syntax error in multi-part output.
7018 2005-05-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7020         * lily/span-bar.cc (print): sort bar line extents. Fixes problem
7021         with disappearing span bars when alignAboveContext is active
7023         * lily/property-iterator.cc (check_grob): use is-grob?
7024         object-property. Fixes crash-key-sig-font-size.ly. 
7026 2005-05-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7028         * lily/bar-line.cc (print): don't round barlines; this produces
7029         odd aliasing effects in Acroread.
7031         * lily/timing-engraver.cc (process_music): robustness fix.
7033         * lily/context-def.cc (filter_engravers): bugfix.
7035 2005-05-28  Jan Nieuwenhuizen  <janneke@gnu.org>
7037         * lily/lilypond.rc.in: Add ly-icon.
7039         * lily/GNUmakefile: 
7040         * Documentation/pictures/GNUmakefile (OUT_DIST_FILES): Add ly-icon
7041         rules.
7043 2005-05-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7045         * lily/stencil-scheme.cc (LY_DEFINE): ly:stencil-in-color
7047         * ps/music-drawing-routines.ps: 
7049         * scm/output-ps.scm: remove draw ez_ball.
7051         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7052         EasyNotation context definition.
7054         * lily/easy-notation.cc (brew_ez_stencil): new file. Use
7055         Text_interface and color for making easy note heads.
7057         * lily/stencil.cc (with_color): new function.
7059         * ps/music-drawing-routines.ps: remove draw_zigzag_line
7061         * lily/line-spanner.cc (zigzag_stencil): rewrite to use draw-line
7062         output routine. Zigzag now works in SVG too.
7064         * scm/output-tex.scm (filledbox): idem.
7066         * scm/output-svg.scm (filledbox): idem.
7068         * scm/output-ps.scm (lily-def): remove horizontal-line. 
7070         * lily/lookup.cc (horizontal_line): use draw-line. 
7072         * lily/system-start-delimiter.cc: remove old staff bracket code.
7074         * mf/feta-haak.mf: further tweaks.
7076         * lily/system-start-delimiter.cc (staff_bracket): use glyphs.
7078         * mf/feta-generic.mf: include feta-haak.
7080         * mf/feta-haak.mf: rewrite. Make separate glyphs for the tips 
7082         * scm/framework-ps.scm (write-preamble): only load fonts if their
7083         filename is a string. 
7085 2005-05-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7087         * scm/output-svg.scm (circle): support circle.
7088         (bracket): stub for bracket.
7090         * scripts/lilypond-book.py (main): make sure --psfonts warning is
7091         correct.
7093 2005-05-26  Graham Percival  <gperlist@shaw.ca>
7095         * Documentation/user/lilypond.tely, advanced-notation.itely,
7096         basic-notation.itely, instrument-notation.itely, global.itely,
7097         introduction.itely, tutorial.itely: rearranging, editing,
7098         clean-up.
7100         * mf/GNUmakefile: change a "make -C" to "${MAKE} -C", required
7101         for compiling on FreeBSD.
7103 2005-05-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7105         * lily/pfb.cc (LY_DEFINE): progress indication for opening ttf and
7106         otf files.
7108         * input/mutopia/E.Satie/petite-ouverture-a-danser.ly (lower):
7109         bugfixes.
7111         * VERSION: 2.5.26 released.
7113         * scm/titling.scm (marked-up-headfoot): revert Pedro's patch. 
7115 2005-05-25  Pedro Kroger  <kroeger@pedrokroeger.net>
7117         * scm/titling.scm (marked-up-headfoot): doesn't print pagenumbers
7118         if printpagenumber is false.
7120 2005-05-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7122         * lily/font-config.cc (init_fontconfig): comment out FontConfig
7123         cache warning.
7125         * lily/tie.cc (print): support dotted ties.
7126         
7127 2005-05-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7129         * scm/define-grobs.scm (all-grob-descriptions): switch off
7130         debugging
7131         (all-grob-descriptions): Arpeggio has Y-extent.
7133         * scm/define-music-properties.scm (all-music-properties): document
7134         length-callback and start-callback as "read-only".
7136         * scm/music-functions.scm (unfold-repeats): rewrite. Cannot set
7137         length-callback after creation. 
7139         * scripts/convert-ly.py (conv): unfoldrepeats -> unfoldRepeats,
7140         compressmusic -> compressMusic.
7142         * ly/music-functions-init.ly (oldaddlyrics): idem.
7144         * lily/parser.yy: NewLyricCombineMusic ->
7145         LyricCombineMusic. LyricCombineMusic -> OldLyricCombineMusic.
7147 2005-05-24  Pedro Kroger  <kroeger@pedrokroeger.net>
7149         * ly/Welcome_to_LilyPond.ly: typo.
7151 2005-05-24  Graham Percival  <gperlist@shaw.ca>
7153         * Documentation/user/lilypond.tely: move changing-defaults to be
7154         before global issues.
7156         * Documentation/user/basic-notation.itely: move Transpose section
7157         here from advanced/Other.
7159         * Documentation/user/changing-defaults.itely,
7160         advanced-notation.itely: move Fonts to advanced, edit.
7162 2005-05-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7164         * lily/parser.yy (bare_int): remove rule.  From now on, we require
7165         # before negative integers.
7167 2005-05-23  Graham Percival  <gperlist@shaw.ca>
7169         * ly/property.ly: Update tieDotted to have the same form as slurDotted.
7171         * Documentation/user/lilypond.tely: change Unified index to
7172         LilyPond index.
7174         * Documentation/user/advanced-notation.itely,
7175         instrument-notation.itely: editing.
7177 2005-05-23  Jan Nieuwenhuizen  <janneke@gnu.org>
7179         * scm/lily.scm (lilypond-all): Bugfix: return failed.
7181         * lily/main.cc (setup_paths)[__MINGW32__]: Normalize LILYPONDPREFIX.
7183 2005-05-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7185         * lily/general-scheme.cc (ly:stderr-redirect): Rename from
7186         ly:port-move.  Needs to be stderr-specific on mingw.
7187         Run fixcc.
7189 2005-05-20  Jan Nieuwenhuizen  <janneke@gnu.org>
7191         * lily/general-scheme.cc (ly:port-move): Remove.
7193         * scm/backend-library.scm (postscript->pdf): Remove -dSAFER in
7194         windows.
7196         * lily/main.cc (setup_paths) [ARGV0_RELOCATION]: Reinstate GS_*
7197         variables.  This eliminates the need for a gs.bat wrapper, which
7198         opens a console.
7200         * scripts/lilypond-invoke-editor.scm (running-from-gui?): 
7201         * scm/lily.scm (running-from-gui?): 
7202         * lily/main.cc[MINGW]: Remove isatty inversion, this is an
7203         artifact of not compiling with -mwindows.
7205         * scm/editor.scm: Define PLATFORM.
7207 2005-05-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7209         * scripts/lilypond-book.py (PREAMBLE_LY): add marker, where people
7210         can start to cut & paste lilypond-book fragments.  
7212         * scm/define-music-types.scm (music-descriptions): remove
7213         UntransposableMusic
7215 2005-05-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7217         * scm/output-ps.scm (glyph-string): remove / before CIDs.
7219 2005-05-20  Graham Percival  <gperlist@shaw.ca>
7221         * Documentation/user/instrument-notation.itely: remove *Engraver.
7223         * Documentation/user/advanced-notation.itely: edit, rearrange.
7225 2005-05-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7227         * scm/output-ps.scm (glyph-string): take cid? argument. Use
7228         findresource iso. findfont for CID CFF fonts.
7230         * VERSION (PACKAGE_NAME): release 2.5.25
7232         * ly/Welcome_to_LilyPond.ly: add  \version
7234 2005-05-20  Graham Percival  <gperlist@shaw.ca>
7236         * Documentation/user/programming-interface.itely: move
7237         \displayMusic into its own section.
7239         * Documentation/user/basic-notation.itely: finish editing.
7241 2005-05-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7243         * flower/file-path.cc (find): don't throw away file_name.dir, but
7244         append to it. Fixes \include with directories.
7246         * flower/include/file-path.hh (class File_path): don't derive from
7247         Array<String>.
7249         * flower/include/file-name.hh (class File_name): remove to_str0()
7251         * lily/hara-kiri-engraver.cc (acknowledge_grob): split
7252         Hara_kiri_engraver in separate file.
7254         * lily/slur-configuration.cc (score_encompass): oops, <? to min()
7255         translation went wrong. Fixes vertically translated slurs.
7257 2005-05-19  Graham Percival  <gperlist@shaw.ca>
7259         * Documentation/user/basic-notaton.itely: editing.
7261 2005-05-18  Graham Percival  <gperlist@shaw.ca>
7263         * Documentation/user/macros.itexi, basic-notation.itely:
7264         add @commonprop (commonly used properties) macro.
7266 2005-05-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7268         * ly/Welcome_to_LilyPond.ly: talk about icon, not program.
7270         * scripts/lilypond-book.py (invokes_lilypond): new function
7271         (main): only run fontextract if invokes_lilypond() is true.
7273         * lily/function-documentation.cc (ly_add_function_documentation):
7274         duh, use !=
7276         * Documentation/topdocs/INSTALL.texi (Top): add MacOS command.
7278         * stepmake/aclocal.m4: remove kpathsea warning, change to OPTIONAL.
7280         * scm/lily.scm (running-from-gui?): lowercase Darwin.
7282         * lily/function-documentation.cc (ly_add_function_documentation):
7283         use scm_hash_table_p() for checking.
7285 2005-05-18  Jan Nieuwenhuizen  <janneke@gnu.org>
7287         * Documentation/user/advanced-notation.itely (Text scripts):
7288         Change nonexisting @internalsref{Text markup} to @ref{Text
7289         markup}.  Change @internalsref{Text script} to
7290         @internalsref{TextScript}.
7292         * lily/main.cc (setup_paths): Bugfix: pangorc is not pango.modules.
7294 2005-05-17  Graham Percival  <gperlist@shaw.ca>
7296         * Documentation/user/tutorial.itely, basic-notation.itely,
7297         changing-defaults.itely: remove duplicate cindex entries
7298         that appear on the same page.
7300         * scm/define-grobs.scm: change default padding for TextSpanner.
7302         * Documentation/topdocs/AUTHORS.texi: update email address.
7304         * Documentation/user/global.itely: add info about \include.
7306 2005-05-17  Jan Nieuwenhuizen  <janneke@gnu.org>
7308         * scm/backend-library.scm (postscript->pdf): Remove (useless) .ps
7309         when running-from-gui.
7311         * scm/editor.scm (get-editor): Add platform defaults.
7313         * scm/backend-library.scm (postscript->pdf): Typo.
7315 2005-05-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7317         * scm/lily.scm (running-from-gui?): Darwin never runs from GUI.
7319         * lily/font-config.cc (init_fontconfig): add warning about cache.
7321 2005-05-16  Jan Nieuwenhuizen  <janneke@gnu.org>
7323         * lily/main.cc (setup_paths)[ARGV0_RELOCATION]: Remove GS_*.
7325 2005-05-16  Mats Bengtsson  <mabe@drongo.s3.kth.se>
7327         * lily/horizontal-bracket.cc (print): Take care of the direction
7328         property so brackets above the stave point downwards. 
7330         * scm/define-grobs.scm (all-grob-descriptions): Set staff-padding
7331         for HorizontalBracket so it doesn't end up within the stave.
7333 2005-05-16  Jan Nieuwenhuizen  <janneke@gnu.org>
7335         * lily/GNUmakefile (default): Typo.
7337         * scm/lily.scm (PLATFORM): Export.
7339         * scm/framework-ps.scm (write-preamble)[MINGW]: Use
7340         load-font-via-GS, ttftool or fopencookie is broken on windows.
7341         
7342         * scm/backend-library.scm (postscript->pdf)[MINGW]: Do not use
7343         -dSAFER, that is broken on windows.
7345 2005-05-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7347         * lily/GNUmakefile ($(outdir)/FlexLexer.h): conditional dependency
7348         for FlexLexer.h
7350         * scripts/lilypond-invoke-editor.scm: remove stray -
7352 2005-05-15  Jan Nieuwenhuizen  <janneke@gnu.org>
7354         * lily/lily-guile.cc (ly_scm2newstr): Use scm_i_string_length.
7355         Fixes deprecation warning.
7357         * flower/include/string.icc (to_string): Only inline if
7358         -DSTRING_UTILS_INLINED.
7360         * lily/pango-font.cc (pango_item_string_stencil): Normalize file
7361         name.  Remove windows comment.
7363         * scm/editor.scm (slashify): New function.
7364         (get-editor-command): Use it.
7365         (get-command-template): Do not alter editor command if
7366         environment value includes `%(file)s' magic.
7368         * scripts/lilypond-invoke-editor.scm (unquote-uri): New function.
7369         (dissect-uri): Use it.
7370         (unquote-uri): Bugfix.
7372 2005-05-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7374         * scm/framework-ps.scm (write-preamble): add TTF rule.
7376         * Documentation/topdocs/README.texi (Top): remove note about
7377         xdelta.
7379         * Documentation/topdocs/INSTALL.texi (Top): remove Flex
7380         requirement.
7382         * stepmake/aclocal.m4: STEPMAKE_FLEXLEXER_LOCATION: new
7383         function. Figure out where FlexLexer.h lives
7385         * lily/GNUmakefile (OUT_DIST_FILES): dist lexer.cc and FlexLexer.h
7386         
7387 2005-05-14  Jan Nieuwenhuizen  <janneke@gnu.org>
7389         * scripts/lilypond-invoke-editor.scm (dissect-uri): Handle URIs
7390         with Windows root in file name.
7392         * scm/backend-library.scm (ly:system): Only redirect output (using
7393         system and shell, ugh) if /dev/null is writable.
7395         * Documentation/pictures/GNUmakefile [PLATFORM_WINDOWS]: Build
7396         windows icon.
7398         * scm/lily.scm (is-absolute?): New function.  Fixes absolute files
7399         on Mingw.
7401         * scm/output-ps.scm (grob-cause): Use it.  Fixes PDF point and
7402         click.
7404         * flower/file-path.cc (is_dir, is_file): New function.  Actually
7405         use result of stat when available.
7407         * flower/file-path.cc (find): Use it.  Refactor.  Fixes Mingw,
7408         absolute file name and root.
7410         * scm/lily.scm (PLATFORM): On mingw, slashify getcwd.
7412         * scm/editor.scm (get-editor-command): Typo: do not apply editor.
7414         * flower/file-name.cc (slashify): Bugfix, do substitute if no
7415         slashes in file name.
7417 2005-05-13  Jan Nieuwenhuizen  <janneke@gnu.org>
7419         * Documentation/user/preface.itely (Preface): Run
7420         texinfo-all-menus-update.
7422         * scm/editor.scm (get-editor-command): Bugfix: allow full
7423         LYEDITOR setting, partial XEDITOR setting.  With typo fix.
7425         * Documentation/pictures/lilypond-48.xpm: New file.
7427         * flower/file-path.cc (to_string): Bugfix: use PATHSEP.
7429         * ly/Welcome_to_LilyPond.ly: New file.
7431         * lily/main.cc (main): Only identify if we have a terminal.
7433         * scm/backend-library.scm (postscript->png)
7434         (postscript->pdf): Fix file name quoting for GS/MINGW (ie,
7435         non-/bin/sh).
7437 2005-05-13  Heikki Junes  <hjunes@cc.hut.fi>
7439         * Documentation/topdocs/AUTHORS.texi: polish, update.
7441 2005-05-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7443         * Documentation/user/preface.itely (Notes for version 2.6): new
7444         notes for 2.6
7446         * lily/dynamic-engraver.cc (stop_translation_timestep): first set
7447         finished_span_, then call typeset_all(). Fixes spurious "Hairpin
7448         is not fully contained" warnings.
7450         * lily/slur-scoring.cc (get_bound_info): remove warning.
7452         * lily/staff-symbol-engraver.cc (process_music): start initial
7453         spanner in process_music(). This fixes overrides of StaffSymbol
7454         properties.
7456         * scm/framework-pdf.scm (Module): remove.
7458         * Documentation/topdocs/AUTHORS.texi (AUTHORS): clean up, update.
7460         * lily/ambitus-engraver.cc: formatting cleanups.
7462         * mf/feta-solfa.mf (Module): remove.
7464         * ChangeLog: more details about contributions.
7466 2005-05-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7468         * lily/align-interface.cc (align_elements_to_extents): warn if
7469         called too early. Fixes: disappearing-staff-lines.ly
7471         * VERSION (PACKAGE_NAME): release 2.5.24
7473 2005-05-12  Jan Nieuwenhuizen  <janneke@gnu.org>
7475         * stepmake/aclocal.m4: Typo.
7477         * flower/string.cc (substitute): Take two strings or two
7478         characters.  Update callers.
7480 2005-05-11  Jan Nieuwenhuizen  <janneke@gnu.org>
7482         * flower/file-name.cc (File_name): Slashify.
7484         * scm/lily.scm: Use gui-main iso lilypond-main on MINGW.
7486         * scripts/GNUmakefile (SEXECUTABLES): Add lilypond-invoke-editor.
7488         * stepmake/aclocal.m4 (STEPMAKE_WINDOWS): New function.
7490         * configure.in (gui_b): Use it.
7492         * lily/lilypond.rc.in: New file.
7494         * lily/GNUmakefile[PLATFROM_WINDOWS]: Compile it into executable.
7496 2005-05-12  Graham Percival  <gperlist@shaw.ca>
7498         * Documentation/user/advanced-notation.itely: edit of Text
7499         section; clarify text scripts vs. text markup.
7501 2005-05-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7503         * lily/multi-measure-rest-engraver.cc
7504         (Multi_measure_rest_engraver): init bar_seen_ to true. Notice
7505         separation items on start. Fixes mm rests in start of score.
7507         * lily/slur-scoring.cc (move_away_from_staffline): robustness,
7508         don't access StaffSymbol if not there.
7509         Fixes: crash-staff-symbol-engraver.ly.
7511         * lily/instrument-name-engraver.cc (class
7512         Instrument_name_engraver): data member first_. Create
7513         InstrumentName on start. 
7515 2005-05-12  Graham Percival  <gperlist@shaw.ca>
7517         * Documentation/user/instrument-notation.itely: add guitar
7518         position.
7520         * Documentation/user/introduction.itely,
7521         Documentation/user/lilypond.tely,
7522         Documentation/user/tutorial.itely: begin pruning
7523         unused (duplicated) cindex entries and misc cleanup.
7525 2005-05-12  Mats Bengtsson  <mabe@drongo.s3.kth.se>
7527         * input/test/volta-chord-names.ly: Bring the explanation up to
7528         date.
7530 2005-05-11  Heikki Junes  <hjunes@cc.hut.fi>
7532         * Documentation/topdocs/{AUTHORS.texi,INSTALL.texi,README.texi}:
7533         Specify `@documentencoding utf-8' for html, ignore warnings.
7535 2005-05-11  Erik Sandberg  <ersa9195@student.uu.se>
7537         * THANKS: Added bughunters.
7539 2005-05-11  Heikki Junes  <hjunes@cc.hut.fi>
7541         * lily/main.cc: update help string for `lilypond -H'.
7543         * po/fi.po: update.
7544         
7545 2005-05-10  Graham Percival  <gperlist@shaw.ca>
7547         * Documentation/user/advanced-notation.itely: minor fixes.
7549 2005-05-10  Jan Nieuwenhuizen  <janneke@gnu.org>
7551         * scm/editor.scm: New module.
7553         * scm/lily.scm (gui-main): Use it.
7555         * scm/framework-gnome.scm (spawn-editor): Use it.
7557         * scripts/lilypond-invoke-editor.scm: Use it in new script.
7559 2005-05-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7561         * scm/framework-ps.scm (load-font-via-GS):  new function.
7563         * lily/pango-font.cc (pango_item_string_stencil): add support for
7564         CID keyed font.
7566         * scm/output-ps.scm (glyph-string): add support for CID keyed font.
7568 2005-05-10  Graham Percival  <gperlist@shaw.ca>
7570         * Documentation/user/basic-notation.itely: add @ref.
7572         * Documentation/user/advanced-notation.itely: add example
7573         of 5/8 beaming.
7575 2005-05-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7577         * scripts/lilypond-pdfpc-helper.py (ly_pc_editor): robustness fixes.
7579         * scm/backend-library.scm (postscript->pdf): Invoke gs instead of
7580         going through ps2pdf wrappers.
7582 2005-05-09  Jürgen Reuter  <reuter@ipd.uka.de>
7584         * Documentation/user/instrument-notation.itely: petrucci note
7585         heads: updated docu
7587         * input/regression/note-head-style.ly: updated regression test;
7588         indentation fixes
7590         * ly/engraver-init.ly: MensuralVoiceContext: use petrucci note
7591         heads as default
7593         * mf/parmesan-heads.mf: minor editing; use musicological names
7594         (rather than optical description) as note head names
7596         * scm/output-lib.scm: complete petrucci heads
7598 2005-05-09  Pal Benko  <benkop@freestart.hu>
7600         * mf/parmesan-heads.mf: add petrucci heads (like neo-mensural
7601         heads, but bigger)
7603 2005-05-09  Jan Nieuwenhuizen  <janneke@gnu.org>
7605         * lily/main.cc (main_with_guile): Remove no files check.
7607         * lily/main.cc (ly:usage): Export to Scheme.
7609         * scm/lily.scm (no-files-handler): New function.
7611         * scm/lily.scm (lilypond-main): Use it.
7613         * configure.in (gui_b): Add mbrtowc checking.
7614         Resurrect [utf8/]wchar.h checking.
7616 2005-05-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
7618         * Documentation/user/advanced-notation.itely (Metronome marks):
7619         Add link to the program reference for MetronomeMark
7621         * Documentation/user/lilypond-book.itely (An example of a
7622         musicological document): Correct the example using psfonts 
7624 2005-05-09  Heikki Junes  <hjunes@cc.hut.fi>
7626         * po/fi.po: update after a lesson how to update entries against
7627         source.
7628         
7629         * po/TODO: document the lesson.
7631 2005-05-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7633         * configure.in (gui_b): remove wcrtomb checking.
7635         * lily/general-scheme.cc (LY_DEFINE): hand-convert utf8 to 32
7636         bits. Patch by Matthias Neeracher. <neeracher@mac.com>
7638 2005-05-09  Mats Bengtsson  <mabe@drongo.s3.kth.se>
7640         * scripts/convert-ly.py: In the conversion to version 1.9.0, 
7641         keep Scheme expressions and strings unmodified when doing the
7642         conversion to postfix notation for slurs and beams. Should
7643         hopefully solve most related conversion problems. 
7645         * Documentation/user/lilypond-book.itely : Clarify and correct how
7646         to call dvips with -h psfonts.
7648 2005-05-09  Jan Nieuwenhuizen  <janneke@gnu.org>
7650         * Documentation/user/instrument-notation.itely (Entering lyrics):
7651         Typo.  Fixes build.
7653 2005-05-09  Graham Percival  <gperlist@shaw.ca>
7655         * Documentation/user/lilypond-book.itely: document PSFONTS file.
7657         * Documentation/user/lilypond.tely, lilypond-book.itely,
7658         tutorial.itely: change references to 2.5.x to 2.6.x.
7660         * Documentation/user/instrument-notation.itely: clarified \addlyrics
7661         vs \lyricmode.
7663         * Documentation/user/invoking.itely: remove old info about
7664         lilypond-profile.
7666         * Documentation/topdocs/INSTALL.texi: remove old info about
7667         lilypond-profile, add warning about needing international fonts
7668         to build docs.
7670 2005-05-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7672         * lily/include/grob-info.hh (class Grob_info): make data member
7673         private. Changes throughout.
7675         * input/regression/alignment-order.ly: new file. 
7677         * lily/vertical-align-engraver.cc (acknowledge_grob): read
7678         alignAboveContext and alignBelowContext
7680 2005-05-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7682         * lily/pfb.cc (LY_DEFINE): add cast.
7684         * scm/framework-ps.scm (write-preamble): embed CFFs if file name
7685         matches .otf
7686         (write-preamble): warn about unknown fonts.
7688         * lily/pfb.cc (Module): new function ly:otf->cff
7690         * lily/open-type-font.cc (get_otf_table): use ::get_otf_table
7691         (get_otf_table): new function.
7693 2005-05-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7695         * scm/backend-library.scm (postscript->png): call lilypond-ps2png
7696         iso. ps2png.
7698 2005-05-06  Heikki Junes  <hjunes@cc.hut.fi>
7700         * po/fi.po: apply second round of update.
7702 2005-05-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7704         * scm/x11-color.scm (make-x11-color-handler): don't use
7705         #\sp. Apparently doesn't work on all platforms. 
7707 2005-05-06  Graham Percival  <gperlist@shaw.ca>
7709         * Documentation/user/advanced-notation.itely, putting.itely,
7710         tutorial.itely, global.itely, introduction.itely: really minor fixes.
7712 2005-05-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7714         * VERSION (PACKAGE_NAME): release 2.5.23
7716 2005-05-06  Jan Nieuwenhuizen  <janneke@gnu.org>
7718         * Documentation/topdocs/AUTHORS.texi: Remove texinfo @accents,
7719         convert to utf-8.
7721         * THANKS: Add translators for this release, convert to utf-8.
7723         * mf/GNUmakefile (MFTRACE_FLAGS):
7724         * buildscripts/substitute-encoding.py (outdir): Build fix: pass
7725         outdir as option (WAS: hardcoded).
7727 2005-05-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7729         * lily/staff-symbol-engraver.cc (Staff_symbol_engraver): init
7730         finished_span_
7732         * THANKS: add Hans Forbrich.
7734         * Documentation/topdocs/NEWS.tely (Top): document new feature.
7736         * Documentation/user/basic-notation.itely (Staff symbol): document
7737         start/stop staff. Reference to ossia.ly
7739         * input/test/ossia.ly: new example using stop and startStaff.
7741         * lily/timing-engraver.cc: remove Timing_engraver::initialize(),
7742         in other words, don't create "|" barline at start of the score.
7743         (start_translation_timestep): don't set whichBar for start of score.
7745         * input/regression/staff-halfway.ly: use new functionality.
7747         * lily/staff-symbol-engraver.cc (try_music): take StaffSpanEvents,
7748         start and stop staff based on events.
7750         * scm/define-music-types.scm (music-descriptions): add StaffSpanEvent
7752         * ly/declarations-init.ly (startStaff, stopStaff): new identifiers.
7754 2005-05-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7756         * Documentation/user/programming-interface.itely (How markups work
7757         internally ): remove \encoding reference.
7759 2005-05-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
7761         * scripts/convert-ly.py: Attempt to do a smarter update of 
7762         text markups from versions < 1.9.0 with arbitrary nesting.
7764 2005-05-04  Heikki Junes  <hjunes@cc.hut.fi>
7766         * po/fi.po: convert to utf-8, and update.
7768 2005-05-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7770         * make/lilypond.suse.spec.in: update from suse 2.4 package.
7772         * lily/*.cc: more <? >? to min/max changes
7774         * lily/include/interpretation-context-handle.hh: rename
7775         Interpretation_context_handle to Context_handle.
7777 2005-05-04  Heikki Junes  <hjunes@cc.hut.fi>
7779         * input/regression/GNUmakefile (local_delete): use `find` together 
7780         with `xargs` to avoid too long argument-lists in cmd line.
7782 2005-05-04  Graham Percival  <gperlist@shaw.ca>
7784         * Documentation/user/introduction.itely: updates "About this manual".
7786         * Documentation/user/advanced-notation.itely,
7787         invoking.itely: minor fixes.
7789 2005-05-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7791         * COPYING: add font exception. Update FSF address. 
7793         * lily/context-def.cc (path_to_acceptable_context): bugfix, depth
7794         should be taken without child context.
7796         * ly/chord-modifiers-init.ly (blackTriangleMarkup): use it.
7798         * scm/define-markup-commands.scm (triangle): new command, as
7799         robust replacement for unicode Delta/Triangle.
7801 2005-05-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7803         * ps/music-drawing-routines.ps: add fillp argument.
7805         * lily/lookup.cc (round_filled_polygon): polygon takes filled? argument
7807         * lily/font-config.cc (init_fontconfig): don't add cff/
7809         * VERSION (PACKAGE_NAME): release 2.5.22
7811         * mf/GNUmakefile: remove cff/cff.ps/.map install rules.
7813         * lily/grace-engraver.cc (consider_change_grace_settings): use
7814         is_alias(). Fixes problem with CueVoice grace notes. 
7816         * lily/simultaneous-music-iterator.cc (construct_children): call
7817         Music_iterator::quit() for iterators that start out invalid. This
7818         fixes indefinitely continuing contexts.
7820         * buildscripts/substitute-encoding.py: new file
7822         * Documentation/user/basic-notation.itely (Basic polyphony): fix
7823         missing @end 
7825         * scripts/lilypond-book.py (write_if_updated): print file name.
7827         * Documentation/user/basic-notation.itely (Explicitly
7828         instantiating voices): idem.
7830         * Documentation/user/advanced-notation.itely (Text spanners):
7831         remove stray { } 
7833         * lily/context.cc (default_child_context_name): the default child
7834         is now first in accepts_list_.
7836         * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7837         \defaultchild to all relevant contexts.  This fixes:
7838         drums-pitch.ly.
7840         (Probably also fixes similar problems with ancient
7841         transcriptions getting CueVoices instead of the desired voices.)
7843         * lily/context-def.cc (get_default_child): new function.
7844         (get_accepted): place default child in front of list.
7846         * lily/parser.yy (FIXME): add DEFAULTCHILD token.
7848         * lily/include/context-def.hh (struct Context_def): add
7849         default_accept_
7851 2005-05-03  Graham Percival  <gperlist@shaw.ca>
7853         * scm/define-grobs.scm: remove "remove-first" line, since
7854         the absent property is set to #f anyway.
7856         * Documentation/user/basic-notation.itely,
7857         advanced-notation.itely, instrument-notation.itely: minor
7858         fixes.
7860         * ly/property-init.ly: add textSpanner{Up,Down,Neutral}.
7862         * Documentation/user/advanced-notation.itely,
7863         changing-defaults.itely: consolidate Text stuff in
7864         advanced notation.
7866         * Documentation/user/global.itely: better docs for \header.
7868         * Documentation/user/putting.itely: new chapter; placeholder
7869         for future expansion.
7871         * Documentation/user/examples.itely: moved "suggestions for
7872         writing LP files" section into putting.itely.
7874         * Documentation/user/lilypond.itely: added new chapter,
7875         fixed the short table of contents.
7877 2005-05-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7879         * lily/beam-quanting.cc (quanting): robustness fix, don't produce
7880         infinity for unfeasible beams.
7882         * make/lilypond.fedora.spec.in (Group): idem.
7884         * scripts/GNUmakefile (SEXECUTABLES): rename ps2png to lilypond-ps2png
7886         * mf/GNUmakefile (ALL_GEN_FILES): remove .map
7888         * scm/framework-ps.scm (write-preamble): extract CFF from OTF
7889         fonts directly.
7891         * buildscripts/gen-emmentaler-scripts.py (i): idem.
7893         * mf/GNUmakefile: remove all CFF rules.
7895         * scm/framework-ps.scm (ps-embed-cff): reinstate.
7897         * lily/open-type-font-scheme.cc (LY_DEFINE):
7898         new function ly:otf-font-table-data.
7899         (LY_DEFINE): new function otf-font?
7901 2005-05-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7903         * mf/GNUmakefile ($(outdir)/lilypond.map): remove rule.
7904         ($(outdir)/Fontmap.lily): idem.
7906         * buildscripts/gen-emmentaler-scripts.py (i): load fetaXX encoding
7907         for PFAEmmentaler-XXX.pfa. 
7909         * Documentation/user/music-glossary.tely (accidental): NL
7910         translation of accidental.
7912 2005-05-02  Jan Nieuwenhuizen  <janneke@gnu.org>
7914         * flower/include/international.hh: Bugfix: include "string.hh".
7916         * lily/include/mingw-compatibility.hh: New file.
7918         * flower/include/libc-extension.hh (memrev): Rename from strrev.
7920         * configure.in: Search for mingw wcrtomb library.
7922 2005-05-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
7924         * scripts/convert-ly.py: Bug fix
7926         * Documentation/user/changing-defaults.itely (Common tweaks):
7927         Added example where the context has to be specified explicitly
7928         (MetronomeMark). 
7930 2005-05-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7932         * scripts/lilypond-book.py (ly_options): set timing to #f for
7933         notime option.
7935         * scripts/convert-ly.py (conv): typo.
7937         * flower/*.cc: remove <? and >?
7938         
7939         * lily/*.cc: remove <? and >?
7941         * lily/tweak-registration.cc (insert_tweak_from_file): Make sure
7942         that 0x0 isn't passed into scm_cons(). Fixes crash with tweak
7943         editor.
7945 2005-04-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7947         * lily/part-combine-engraver.cc: add space to variable list.
7949 2005-04-30  Graham Percival  <gperlist@shaw.ca>
7951         * scm/define-grobs.scm: changed RemoveEmptyVerticalGroup's
7952         remove-first to false (matches docs)
7954         * Documentation/user/advanced-notation.itely: corrected docs
7955         concerning remove-first.
7957 2005-04-29  Mats Bengtsson  <mabe@drongo.s3.kth.se>
7959         * lily/part-combine-engraver.cc: make sure that the relevant
7960         properties are included in the documentation.
7962 2005-04-28  Graham Percival  <gperlist@shaw.ca>
7964         * Documentation/user/lilypond-book.itely: Bernard's docs
7965         for \betweenLilyPondSystem.
7967 2005-04-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7969         * Documentation/topdocs/INSTALL.texi (Top): remove TeX outdated
7970         remarks.
7972 2005-04-28  Pal Benko  <benkop@freestart.hu>
7974         * lily/mensural-ligature.cc (brew_flexa): apply thickness property
7975         only on vertical lines of flexa shape, and use a constant
7976         thickness value for horizontal lines (patch slightly modified by
7977         Jürgen Reuter)
7979         * lily/include/mensural-ligature.hh: make 2 comments clearer
7981 2005-04-28  Jürgen Reuter  <reuter@ipd.uka.de>
7983         * lily/vaticana-ligature-engraver.cc (need_extra_space): renamed
7984         to need_extra_horizontal_space; bugfix: use class scope to avoid
7985         global namespace pollution
7987         * Documentation/user/instrument-notation.itely (ligatures): added
7988         comment on possible future syntax change and how to work around
7990         * lily/vaticana-ligature-engraver.cc, mf/parmesan-heads.mf
7991         (epiphonus, cephalicus): fine-tune shape of plica head for narrow
7992         intervals (fixes agnus dei example)
7994         * Documentation/user/instrument-notation.itely (white mensural
7995         ligatures): selected a more illustrative example
7997 2005-04-28  Heikki Junes <hjunes@cc.hut.fi>
7999         * Documentation/index.html.in: specify utf-8 charset in meta content.
8001 2005-04-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8003         * python/lilylib.py (make_ps_images): bugfixes; GS can produce
8004         empty 2nd page for single page.
8006         * scm/lily.scm: remove p&c definitions.
8008         * po/zh_TW.po (Module): new translation.
8010         * lily/lily-guile.cc (ly_chain_assoc): remove.
8012         * lily/general-scheme.cc (LY_DEFINE): export ly:chain_assoc_get
8013         (LY_DEFINE): recurse, iso. calling ly_chain_assoc.
8015 2005-04-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8017         * lily/beaming-info.cc: remove infinity_i
8019         * scripts/abc2ly.py (out_filename): fix thinko with \version.
8021 2005-04-26  Graham Percival  <gperlist@shaw.ca>
8023         * Documentation/user/basic-notation.itely,
8024         instrument-notation.itely, advanced-notation.itely,
8025         changing-defaults.itely: minor fixes.  Added docs
8026         for colors to advanced-notation.itely.
8028         * Documentation/user/advanced-notation.itely: fixed compile
8029         problem and added Bernard's x11-color doc patch.
8031 2005-04-25  Jan Nieuwenhuizen  <janneke@gnu.org>
8033         * scm/output-ps.scm (grob-cause): Yet another fix, hope it's
8034         alright this time round.
8036 2005-04-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8038         * Documentation/topdocs/INSTALL.texi (Top): idem.
8040         * Documentation/topdocs/README.texi (Top): remove clean-fonts refs.
8042         * VERSION (MAJOR_VERSION): release 2.5.21
8044         * scm/output-ps.scm (grob-cause): bugfix.
8046 2005-04-25  Jan Nieuwenhuizen  <janneke@gnu.org>
8048         * cygwin/*: Update.
8050         * cygwin/GNUmakefile (INSTALLATION_OUT_SUFFIXES): Remove profile
8051         stuff.
8053         * scm/output-ps.scm (grob-cause): Bugfix.
8055         * scm/lily.scm (ly:load): Remove x11-color.
8057         * stepmake/aclocal.m4 (STEPMAKE_GET_EXECUTABLE): Bugfix: do not
8058         quote executable, fixes getting version from program --with
8059         --options.
8060         (STEPMAKE_KPATHSEA): Bugfix for Cygwin cross building: use
8061         $ac_exeect.
8063         * Documentation/user/GNUmakefile: Only build music-glossary with
8064         rendered lilypond snippets during web.
8066 2005-04-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8068         * po/de.po: update.
8070         * lily/GNUmakefile (OUT_DIST_FILES): don't dist lexer.cc
8072 2005-04-22  Laura Conrad <lconrad@laymusic.org>
8074         * scripts/abc2ly:
8075         second title line append with punctuation dash character;
8076         encode abc2ly python strings in utf-8
8077        
8078 2005-04-21  Laura Conrad <lconrad@laymusic.org>
8080         * scripts/abc2ly fix chords (again)
8082 2005-04-22  Bernard Hurley  <bernard@fong-hurley.org.uk>
8084         * scm/x11-color.scm: new file
8085         All x11 color names can be accessed with:
8086         #(x11-color 'ColorName),
8087         #(x11-color "ColorName") or:
8088         #(x11-color "color name")
8089         If the x11 color name is not recognised then it defaults
8090         to black
8092         * scm/lily.scm: amended to call scm/x11-color.scm
8094 2005-04-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8096         * Documentation/user/invoking.itely (Reporting bugs): comment out
8097         reference to online PNG bug repository.
8099 2005-04-21  Jan Nieuwenhuizen  <janneke@gnu.org>
8101         * lily/translator-scheme.cc (ly:translator-property): Remove.
8102         Update callers.
8104         * lily/context-scheme.cc (ly:context-now): Move from translator.
8105         Update callers.
8107 2005-04-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8109         * input/regression/grid-lines.ly (skips): refine example.
8111         * scm/define-context-properties.scm
8112         (all-user-translation-properties): doc autoBeamCheck
8114         * input/regression/grid-lines.ly (Module): new file.
8116         * lily/grid-point-engraver.cc (Module): new file.
8118         * lily/grid-line.cc (Module): new file.
8120         * lily/grid-line-span-engraver.cc (Module): new file.
8122         * lily/grid-line-interface.cc (Module): new file.
8124 2005-04-21  Jan Nieuwenhuizen  <janneke@gnu.org>
8126         * scm/auto-beam.scm (revert-property-setting): Bugfixes: add
8127         missing parameter, actualy cdr through list.  Actually return a
8128         list with ENTRY removed (was '()).
8130         * scripts/convert-ly.py: Update.  Print warning if file cannot be
8131         opened.
8132         (do_conversion): Fix printing of continuation comma.
8134         * Documentation/user/advanced-notation.itely (Beam formatting):
8135         Remove refbugs about compound time and mixed duration.
8137         * scm/auto-beam.scm (default-auto-beam-settings): Write out all
8138         modulo moments explicitely.
8140         * lily/moment.cc (operator %): New function.
8142         * lily/moment-scheme.cc (ly:mod-moment): Wrap it.
8144         * lily/translator-scheme.cc (ly:translator-now,
8145         ly:translator-property): New function.
8147         * scm/auto-beam.scm (default-auto-beam-check): New function.
8149         * lily/auto-beam-engraver.cc (test_moment): Use it.
8151         * flower/rational.cc (operator %): Bugfix.
8153 2005-04-21  Erik Sandberg  <ersa9195@student.uu.se>
8155         * scripts/abc2ly: Bugfix
8157 2005-04-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8159         * python/fontextract.py (write_extracted_fonts): bugfix, too many
8160         %'s on EndFont comment.
8162         * lily/ledger-line-spanner.cc: some more words of explanation.
8164 2005-04-20  John Williams <williams@tni.com>  
8165         
8166         * scripts/lilypond-book.py: htmlquote bugfix.
8167         Allow snippets to be given distinct filenames.
8168         Allow the default alt text to be overridden.
8170 2005-04-20  Erik Sandberg  <ersa9195@student.uu.se>
8172         * ly/performer-init.ly: Bugfix
8174         * THANKS: Added bughunters.
8176 2005-04-20  Jan Nieuwenhuizen  <janneke@gnu.org>
8178         * SConstruct (test_lib): Bump mftrace requirement to 1.1.9.
8180         * lily/auto-beam-engraver.cc (test_moment): Test exact measure
8181         position (was: use modulo measure length).
8183         * configure.in (no gui_b): Remove optional gtk+ requirement.
8185 2005-04-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8187         * Documentation/user/basic-notation.itely (Pitches): add
8188         LedgerLineSpanner.
8190         * lily/dynamic-engraver.cc (process_music): set right bound to
8191         script if present. Else, do not set.
8192         (acknowledge_grob): only set right bound of finished spanner to
8193         note column if no other bound is set.
8195         * python/lilylib.py (make_ps_images): switch back to png16m.
8196         
8197 2005-04-19  Jan Nieuwenhuizen  <janneke@gnu.org>
8199         * scripts/lilypond-book.py (write_if_updated): Bugfix for not
8200         writing up to date file.  Add dvips usage suggestion.
8202         * scripts/convert-ly.py: Fix error message.
8203         Print usage if no files on command line.
8204         (usage): Add example usage.
8206         * input/test/compound-time.ly: New file.
8208         * input/test/circle.ly: New file.
8210         * Documentation/topdocs/NEWS.tely: Use them.
8212         * input/test/boxed-stencil.ly: Remove \score.
8214         * buildscripts/mf-to-table.py (base): Add .log dependency.
8216         * mf/GNUmakefile: Add PFAemmentaler and PFAaybabtu dependencies on
8217         pfa's.  Add .log dependency
8219         * scm/define-markup-commands.scm (lower): New command.
8221         * elisp/lilypond-mode.el (LilyPond-pdf-command): New command,
8222         make it default.
8224 2005-04-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8226         * lily/dynamic-engraver.cc (acknowledge_grob): add note-column
8227         also to finished cresc as right bound. This fixes:
8228         skip-string-decresc.ly
8230         * lily/slur-scoring.cc (get_bound_info): robustness: substitute
8231         relative_coordinate if extent is empty.
8233         * lily/stem.cc (width_callback): determine correct extent if flag
8234         is not there. This fixes slur-no-flag.ly
8236         * lily/grace-engraver.cc (consider_change_grace_settings): new
8237         function.
8238         (initialize): also consider_change_grace_settings() on
8239         initialization. Fixes large grace notes at start of score.
8241         * lily/break-align-interface.cc (do_alignment): don't translate if
8242         total_extent is empty.
8244         * buildscripts/lilypond-{login,profile}.sh (Module): remove file.
8246 2005-04-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8248         * scm/output-ps.scm (grob-cause): don't add cwd if path starts
8249         with slash.
8251 2005-04-18  Jan Nieuwenhuizen  <janneke@gnu.org>
8253         * stepmake/aclocal.m4: Remove tfm_path.
8255 2005-04-18  Nicolas Sceaux  <nicolas.sceaux@free.fr>
8257         * scm/music-functions.scm (markup-expression->make-markup): fix
8258         bug with cons arguments of markup commands.
8259         (music->make-music): fix music expression property list building
8261 2005-04-18  Jan Nieuwenhuizen  <janneke@gnu.org>
8263         * aclocal.m4: Massage package names.
8265         * SCons updates.
8267 2005-04-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8269         * VERSION (PACKAGE_NAME): release 2.5.20
8271         * lily/stem.cc (calc_stem_info): add minimum Y extent of
8272         stem-tremolo.  Fixes: bugs/tremolo-stem-length-beamed
8274         * lily/percent-repeat-engraver.cc (try_music): add measure before
8275         next_moment to future processing moment. Fixes:
8276         percent-repeat-mm-rest.ly
8277         (process_music): don't add moment for 2nd time.
8279         * input/regression/repeat-percent.ly: add mmrests as extra test.
8281         * lily/axis-group-engraver.cc (acknowledge_grob): read
8282         keepAliveInterfaces to decide what to kill.
8284         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add
8285         percent-repeat-interface to keepAliveInterfaces. This fixes
8286         percent-repeat-harakiri.
8288 2005-04-17  Jan Nieuwenhuizen  <janneke@gnu.org>
8290         * SCons updates.
8292 2005-04-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8294         * config.make.in (TTFTOOL_ENDIAN): rm TFM_PATH
8296         * aclocal.m4: remove --enable-tfm-path configure option
8298         * input/test/ancient-font.ly (lowerStaff): clef name errors.
8300         * scm/backend-library.scm (postscript->png): newline after
8301         finishing command.
8303         * lily/paper-score-scheme.cc (LY_DEFINE): new file.
8304         (LY_DEFINE): ly:paper-score-paper-systems: new function 
8306         * lily/score-scheme.cc (LY_DEFINE): require music argument. 
8308         * lily/score.cc (default_rendering): use Music_output too.
8310         * input/test/chord-names-languages.ly (Module): rename file.
8312         * lily/text-spanner.cc: add bound-padding.
8314         * lily/paper-book.cc (systems): accept Paper_score
8315         iso. Paper_system vector. 
8317         * input/regression/line-arrows.ly: new file.
8319         * lily/paper-score.cc (process): run get_paper_systems() only once.
8321         * lily/line-spanner.cc (line_stencil): add arrows.
8323 2005-04-18  Jonatan Liljedahl  <lijon@kymatica.com>
8325         * lily/line-interface.cc (make_arrow): new function. 
8326         (arrows): idem.
8328 2005-04-18  Mathieu Giraud  <magiraud@free.fr>
8330         * input/test/chord-names-german.ly: update for italian/french
8331         chords.
8332         
8333         * Documentation/user/instrument-notation.itely (Printing chord
8334         names): update.
8336 2005-04-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8338         * lily/include/paper-score.hh (class Paper_score): remove unused
8339         prototypes.
8341         * lily/book.cc (process): add -COUNT to midi output.
8343         * lily/score.cc (book_rendering): remove outname argument
8344         (book_rendering): return list of Music_outputs. 
8346         * lily/global-context-scheme.cc (LY_DEFINE): remove outname argument.
8348         * lily/book.cc (process): loop over Music_outputs returned from
8349         Score::book_rendering().
8351         * lily/*.cc (width_callback): remove spurious "unused" warnings
8352         for assert (axis==[XY]_AXIS); 
8354         * lily/include/music-output.hh (class Music_output): smobify class.
8356         * lily/include/paper-score.hh (class Paper_score): make members
8357         private.
8359         * lily/performance.cc (process): return #f iso. #<undefined>. This
8360         prevents #<undefined> leaking into GUILE-userspace.
8362 2005-04-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8364         * config.hh.in: remove HAVE_PANGO_FC_FONT_MAP_ADD_DECODER_FIND_FUNC.
8366 2005-04-17  Mathieu Giraud  <magiraud@free.fr>
8368         * scm/chord-name.scm : support for italian and french
8369         chords names.
8371         * scm/chord-ignatzek-names.scm (ignatzek-chord-names): add
8372         a space defined by chordPrefixSpacer when the root name is
8373         direclty followed by a prefix.
8375         * ly/engraver-init.ly : chordPrefixSpacer       
8376         * scm/define-context-properties.scm : chordPrefixSpacer
8377         * ly/property-init.ly : italianChords, frenchChords 
8379 2005-04-17  Jan Nieuwenhuizen  <janneke@gnu.org>
8381         * mf/feta-din.mf: Remove.
8383         * mf/GNUmakefile (fontdir): Bugfix.
8385         * mf/SConstruct: Some updates.
8387         * SConstruct: Require pkg-config.
8388         (test_program): Bugfix for double digit version compares, use
8389         integer (not string-) compare.
8390         Optionally require gs 8.14.
8392         * stepmake/aclocal.m4 (STEPMAKE_PANGO_FT2): Define HAVE_PANGO16 too.
8394         * lily/*: s/ifdef HAVE_*/if have/.
8396         * SConstruct (test_lib): New function.  Update pkg-config and some
8397         other requirements.
8399         * configure.in: Require pkg-config.  Enforce REQUIRE and version for
8400         freetype, pangof2t.
8402 2005-04-16  Jan Nieuwenhuizen  <janneke@gnu.org>
8404         * po/lilypond.pot, ...: Update using bison-CVS.
8406         * python/lilylib.py (make_ps_images): Fixo.
8408 2005-04-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8410         * python/lilylib.py (make_ps_images): typo.
8412         * configure.in (gui_b): make bison optional.
8414         * lily/GNUmakefile (OUT_DIST_FILES): dist parser and lexer.
8416 2005-04-16  Bernard Hurley  <bernard@fong-hurley.org.uk>
8418         * framework-eps.scm: code added so that a macro \betweenLilyPondSystem
8419         with one parameter can be defined in a LaTeX file when processed
8420         by lilypond-book this will be evaluated between the systems of
8421         a multi-system score. The parameter is the number of systems processed.
8423 2005-04-16  Jan Nieuwenhuizen  <janneke@gnu.org>
8425         * python/lilylib.py (make_ps_images): Escape newline.
8427         * Documentation/user/music-glossary.tely: Run
8428         texinfo-all-menus-update.
8430 2005-04-14  Jan Nieuwenhuizen  <janneke@gnu.org>
8432         * scm/lily-library.scm (old-relative-not-used-message)
8433         (version-not-seen-message): Add input-file-name-location to message.
8435         * lily/parser.yy (lilypond): Add token aliases.
8437         * Documentation/user/music-glossary.tely (accidental): Fixes.  Do
8438         not confuse with alteration.
8439         (alteration): Add.
8441 2005-04-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8443         * python/lilylib.py (make_ps_images): use -dEPSCrop
8445         * VERSION (PACKAGE_NAME): release 2.5.19 
8447         * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
8448         only put xrefs in info documentation.
8450         * make/ly-rules.make ($(outdir)/%.html.omf): transplant .dvi ->
8451         .pdf rule to tex-rules.make.
8453         * scm/framework-eps.scm (dump-stencils-as-EPSes): remove comments
8454         from -systems.* output.
8456         * stepmake/stepmake/tex-rules.make ($(outdir)/%.pdf): make PDF
8457         directly, remove -$(PAGESIZE) target.
8459         * input/test/embedded-postscript.ly: update.
8461 2005-04-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8463         * make/lysdoc-targets.make (local-WWW): remove ps.gz target.
8465         * Documentation/user/changing-defaults.itely (Font selection):
8466         document font-name.
8468         * input/regression/font-name.ly: show Pango fonts for
8469         font-name. Update example. 
8471         * lily/pango-select.cc (properties_to_pango_description): don't
8472         convert symbol font-size to number, but use to lookup.
8474         * python/fontextract.py (write_extracted_fonts): add VMusage 0.
8476         * scm/framework-ps.scm (write-preamble): use (NAME . CONTENTS) and
8477         (NAME . FILE-NAME) tuples for font descriptions. 
8478         (write-preamble): display BeginFont DSC comments.
8480         * python/fontextract.py (write_extracted_fonts): new file. Extract
8481         font resources from a PS file.
8483         * scripts/lilypond-book.py (option_definitions): --psfonts option.
8484         (Compile_error.process_include): do_file returns chunks.
8486         * make/ly-vars.make (DVIPS_FLAGS): don't load .map file.
8488         * make/lysdoc-targets.make: .texi is .PRECIOUS
8490         * scripts/lilypond-book.py (write_if_updated): new function.
8492 2005-04-13  Jan Nieuwenhuizen  <janneke@gnu.org>
8494         * scm/framework-eps.scm (dump-stencils-as-EPSes): Massage messages.
8496 2005-04-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8498         * scm/framework-eps.scm (dump-stencils-as-EPSes): no massages.
8500         * input/regression/markup-syntax.ly: remove \score.
8502         * scm/define-markup-commands.scm (draw-circle): add fill argument
8504         * scm/stencil.scm (make-circle-stencil): add fill argument
8506         * ps/music-drawing-routines.ps: add fill argument.
8508         * ly/performer-init.ly: add CueVoice to MIDI too.
8510         * ps/music-drawing-routines.ps: new routine BeginEPSF /
8511         EndEPSF.
8513         * input/regression/markup-eps.ly: new file.
8515         * scm/framework-ps.scm (write-preamble): change order: vars should
8516         be inited before procedures.
8518         * scm/output-ps.scm (glyph-string): break lines. 255 chars is max
8519         for EPS files.
8521         * scm/define-markup-commands.scm (epsfile): add epsfile command.
8523 2005-04-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8525         * configure.in (gui_b): add check for ghostscript 8.15
8527 2005-04-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8529         * lily/hairpin.cc (after_line_breaking): suicide the hairpinlet at
8530         start of line. Fixes cresc-after-newline.ly
8532         * lily/source-file.cc (file_line_column_string): use get_column().
8534 2005-04-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8536         * lily/source-file.cc (get_column): utf-8 support for column numbers.
8538 2005-04-12  Jan Nieuwenhuizen  <janneke@gnu.org>
8540         * lily/*: use message () iso progress_indication () for messages.
8541         Revise/uniformise user messages.
8543         * flower/warn.cc (progress_indication): New function.
8544         (message): Use it.  Fixes newline problems.
8546         * config.make.in (webdir): Sort out install dirs.
8548         * stepmake/stepmake/generic-targets.make (final-install): Bugfix.
8550         * python/lilylib.py (command_name): Bugfix.
8551         (make_ps_images):
8553 2005-04-11  Pedro Kroger  <kroeger@pedrokroeger.net>
8555         * lily/main.cc: --help says what types of backends are availabe
8557 2005-04-11  Jan Nieuwenhuizen  <janneke@gnu.org>
8559         Fix ./VERSION dependency, and without need to reconfigure.
8561         * lily/main.cc (setup_paths): Update.
8563         * stepmake/bin/make-version.py (defs): Add TOPLEVEL_VERSION define..
8565         * config.hh.in (LILYPOND_DATADIR): Remove TOPLEVEL_VERSION.
8567         * scripts/convert-ly.py (\markup): Fix too simplistic regexps.
8568         Add \line for some simplistic cases.
8570         * lily/GNUmakefile (main.o): Add missing dependency on version.hh.
8572 2005-04-10  Nicolas Sceaux  <nicolas.sceaux@free.fr>
8574         * elisp/lilypond-mode.el (LilyPond-lilypond-command): command used
8575         to compile LY files (useful for adding eg. "-I" args)
8576         (LilyPond-command-alist): use `LilyPond-lilypond-command'. Add a
8577         2Gnome command for gnome backend.
8578         (LilyPond-command-formatgnome): call the 2Gnome command. key
8579         binding: C-c C-g
8581 2005-04-10  Jan Nieuwenhuizen  <janneke@gnu.org>
8583         * Documentation/user/GNUmakefile (lilypond/index.html): Bugfix:
8584         depend on all PNG images.
8586 2005-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>
8588         * GNUmakefile.in: Bugfix: also link .map files.
8590 2005-04-09  Nicolas Sceaux  <nicolas.sceaux@free.fr>
8592         * scm/music-functions.scm (music->make-music): generate 
8593         a (make-music ...) sexpr from a music expression.
8594         (display-scheme-music): use guile pretty printer to display the
8595         make-music sexpr.
8597 2005-04-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8599         * ly/engraver-init.ly: reindent.
8600         Add CueVoice.
8602         * scm/music-functions.scm (music-pretty-string): handle moments
8603         too.
8604         (music-pretty-string): only print non-empty lists.
8605         (cue-substitute): create CueVoice context, which has smaller type.
8607         * lily/moment-scheme.cc (LY_DEFINE): new methods
8608         ly:moment-grace-{numerator,denominator}
8610         * lily/context-handle.cc: remove quit() method. 
8612         * lily/font-config.cc (init_fontconfig): be verbose about font path.
8613         (init_fontconfig): success is 0, not !0
8615 2005-04-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8617         * mf/feta-nummer-code.mf (code): add plus glyph.
8619         * lily/tie.cc (print): idem.
8621         * lily/slur.cc (print): don't use thickness property for
8622         slur shape-thickness.
8624         * lily/stencil-scheme.cc (LY_DEFINE): don't reverse the order
8625         while adding stencils.
8627         * scm/define-markup-commands.scm (with-color): with-color markup
8628         command.
8629         (whiteout): new markup command 
8630         (filled-box): new markup command
8632 2005-04-07  Jan Nieuwenhuizen  <janneke@gnu.org>
8634         * Documentation/topdocs/NEWS.tely (Top): Make tex-able.  Handy
8635         test for PDF docs.
8637         * mf/GNUmakefile (lilypond.map): Add PFAEmmentaler,
8638         PFAAybabtu-Regular.  Fixes feta font in PDFs.
8639         
8640         Notes for tetex-3.0 make web:
8641            psclean.map: s/uhv8a/uhvr8a/
8642            config.ps add:
8643                 p +psfonts_t1.map
8644                 p +psclean.map
8645                 p +typeface.map
8647 2005-04-06  Nicolas Sceaux  <nicolas.sceaux@free.fr>
8649         * scm/music-functions.scm (music-pretty-string): fix bug with
8650         string argument.
8652 2005-04-06  Jan Nieuwenhuizen  <jan.nieuwenhuizen@aspiratie.nl>
8654         * stepmake/bin/add-html-footer.py (i18n): Bugfix.
8656 2005-04-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8658         * scripts/lilypond-book.py (Lilypond_snippet.__init__): 
8659         only process options if they're there.
8660         (write_file_map): add version-seen? to snippet-map.ly
8662 2005-04-06  Jan Nieuwenhuizen  <jan.nieuwenhuizen@aspiratie.nl>
8664         * scripts/lilypond-book.py (split_options): Bugfix.  Small code
8665         formatting cleanups.
8667         * mf/GNUmakefile: Rewrite $addprefix, $addsuffix using % short-forms.
8668         Add PFAaybabtu.pfa dependency on aybabtu.subfonts.
8670 2005-04-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8672         * scm/framework-ps.scm (ps-font-command): don't hash, just use
8673         name directly.
8675         * lily/main.cc (setup_paths): either add mf/out to search path or 
8676         fonts/{otf,type1,etc}
8677         
8678         * lily/font-config.cc (init_fontconfig): either add mf/out to
8679         FontConfig or fonts/{otf,type1,etc}
8681         * GNUmakefile.in: don't put mf/ link in share/ dir.
8683         * lily/staff-spacing.cc: move same-direction-correction to
8684         note-spacing-interface
8686         * scm/lily.scm (lilypond-main): use variable argument count for
8687         exception handler.
8689         * lily/font-config.cc (init_fontconfig): add operator pacification
8690         message.
8692         * mf/aybabtu.pe.in (i): generate PFAAybabtu.pfa
8694         * buildscripts/gen-emmentaler-scripts.py (i): generate
8695         PFAEmmentaler as well.
8697         * scm/framework-ps.scm (munge-lily-font-name): new function
8698         (write-preamble): hack: insert PFA equivalent of CFF into
8699         .PS. This makes LilyPond output printable on normal PS printers
8700         again.
8702         * buildscripts/gen-emmentaler-scripts.py (i): generate
8703         PFAEmmentaler.pfa aswell.
8705 2005-04-06  John Williams <williams@tni.com>  
8706         
8707         * scripts/lilypond-book.py: refactor the compose_ly procedure.
8708         
8709 2005-04-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8711         * scm/page-layout.scm (default-page-make-stencil): always combine
8712         the header stencil, even if empty. This prevents the body text to
8713         reach up to the margins.
8715         * po/rw.po (Module): new file, for Kinyarwanda.
8717         * input/test/spacing-optical.ly (Module): new file.
8719         * lily/staff-spacing.cc: add same-direction-correction
8721 2005-04-06  Jan Nieuwenhuizen  <janneke@gnu.org>
8723         * Documentation/user/introduction.itely (Engraving): Comment-out
8724         non-existent file.
8726 2005-04-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8728         * scm/define-grob-properties.scm (all-user-grob-properties): add
8729         same-direction-correction
8731         * VERSION: release 2.5.18
8733 2005-04-05  Jan Nieuwenhuizen  <janneke@gnu.org>
8735         * lily/grob.cc (mark_smob): Check pscore->layout_ before
8736         dereferencing.  Fixes make web.
8738         * lily/midi-stream.cc: Handle unwritable midi file.  Include
8739         errno.h.
8741         * Documentation/user/: Fix links.
8743 2005-04-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8745         * lily/text-interface.cc (Module): rename from text-item.cc
8747         * input/regression/apply-output.ly (texidoc): function naming fix.
8749         * lily/time-signature-performer.cc (derived_mark): new function.
8751         * lily/lily-parser-scheme.cc:  print mapped file name for progress
8753         * scripts/lilypond-book.py (find_linestarts): new function.
8754         (find_toplevel_snippets): keep track of line numbers.
8756         * lily/key-performer.cc (try_music): remove FIXME warning, gobble
8757         all key changes.
8759         * ly/declarations-init.ly (partCombineListener): use
8760         ignoreBarChecks. Fixes: warn-partcombine-barcheck.ly
8762         * lily/bar-check-iterator.cc (process): ignoreBarChecks property.
8764 2005-04-04  Jan Nieuwenhuizen  <janneke@gnu.org>
8766         * lily/text-item.cc: Fix link.
8768         * Documentation/user/changing-defaults.itely (Changing defaults):
8769         Fix programs reference links.
8771         * Documentation/user/music-glossary.tely: Convert to utf-8.
8773 2005-04-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8775         * make/lilypond-vars.make: remove TEXMF from variables.
8776         remove DEB_BUILD pk font variables.
8777         remove GUILE_LOAD_PATH
8778         remove TeX memory vars.
8780 2005-04-04  Werner Lemberg  <wl@gnu.org>
8782         * lilypond/scm-option.cc (ly_option_usage): Add final newline.
8784 2005-04-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8786         * ps/lilyponddefs.ps: remove reencode-font
8788         * lily/simple-spacer.cc (add_columns): also compare
8789         directly. Column rank doesn't distinguish between broken and
8790         unbroken columns. This fixes large spaces before time sig changes.
8792         * Documentation/user/point-and-click.itely: document ly:set-option.
8794         * lily/grob.cc (get_uncached_stencil): only set grob-cause if
8795         point_and_click_global is set.
8797         * lily/scm-option.cc (LY_DEFINE): add point-and-click
8798         ly:set-option argument.
8800 2005-04-03  Jan Nieuwenhuizen  <janneke@gnu.org>
8802         * GNUmakefile.in: Include symlinks in webball.
8804         * Documentation/user/GNUmakefile (source-links): Add symlinks to
8805         source dir for split and non-split manuals.
8807         * Documentation/user/*y: Fix @uref/@inputfile links for
8808         split/non-split HTML documents.
8810         * Documentation/user/GNUmakefile (local-WWW): Do not generate
8811         .ps.gz.
8812         
8813 2005-04-02  Jan Nieuwenhuizen  <janneke@gnu.org>
8815         * GNUmakefile.in: Add newline.
8817 2005-04-01  Erlend Aasland  <erlenda@gmail.com>
8819         * tex/lilyponddefs.tex: use color instead of xcolor
8820         * scm/output-tex.scm: minor editing
8822 2005-04-02  Nicolas Sceaux  <nicolas.sceaux@free.fr>
8824         * scm/music-functions.scm (display-scheme-music): pretty printer
8825         for music expressions.
8827 2005-04-02  Jan Nieuwenhuizen  <janneke@gnu.org>
8829         * buildscripts/install-info-html.sh (index_file): Fix link.
8831 2005-04-01  Jan Nieuwenhuizen  <janneke@gnu.org>
8833         * input/test/dynamic-extra.ly (piuf): Use utf-8 iso TeX accent.
8835         * Documentation/index.html.in: Add size estimates with some big pages.
8837         * Documentation/user/tutorial.itely (Running LilyPond for the
8838         first time): Add/replace some @rglos links.  TODO: add more
8839         @rglos links in tutorial, test non-intrusiveness (.css).
8841         * stepmake/bin/add-html-footer.py (do_file): Remove info's
8842         annoying's indication of referencing external document.
8844         * Documentation/user/GNUmakefile: Split version of glossary too.
8845         * Documentation/user/macros.itexi (@rglos): Have makeinfo produce
8846         links, not only for html.
8848         * Documentation/user/introduction.itely: Fix some links for other
8849         than html, do not use `here' as link name.
8851 2005-03-31  Jan Nieuwenhuizen  <janneke@gnu.org>
8853         * scm/documentation-generate.scm (string-append): Fix @usermanref,
8854         @glossaryref.
8856 2005-03-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8858         * scm/page-layout.scm (default-page-make-stencil): only add header
8859         if existing and not empty. Fixes spurious programming error.
8861         * lily/span-bar.cc (print): don't make rounded edges for spanbars.
8863 2005-03-31  Erlend Aasland  <erlenda@gmail.com>
8865         * scm/output-tex.scm: implement {re,}setcolor
8866         * tex/lilyponddefs.tex: use color package
8868 2005-03-31  Jan Nieuwenhuizen  <janneke@gnu.org>
8870         * GNUmakefile.in (local-WWW-post): Restore .htaccess and .html
8871         additions to website.
8873         * Documentation/user/lilypond.tely: Remove reference to ps.gz.
8875         * Documentation/user/macros.itexi: Fix @usermanref html links in
8876         split documents: use @inforef.
8878 2005-03-30  Graham Percival  <gperlist@shaw.ca>
8880         * Documentation/user/programming-interface.itely: minor fix.
8882         * Documentation/user/advanced-notation.itely: added info to
8883         Metronome markings.
8885 2005-03-30  Jan Nieuwenhuizen  <janneke@gnu.org>
8887         * scm/output-lib.scm (make-stencil-boxer): Junk code duplication,
8888         use box-stencil.  Remove y-padding argument.
8889         (make-stencil-circler): New function.
8891         * buildscripts/lilypond-words.py (F): 
8892         * elisp/SConscript (a): 
8893         * elisp/GNUmakefile (LILYPOND_WORDS_DEPENDS):
8894         * vim/SConscript (a): 
8895         * vim/GNUmakefile (LILYPOND_WORDS_DEPENDS): Update.
8897         * lily/general-scheme.cc: Build fix.
8899         * scm/markup.scm:
8900         * input/regression/markup-scheme.ly: 
8901         * input/regression/markup-syntax.ly: Drop 'new-' from name.
8903         * scm/stencil.scm (make-circle-stencil): New function.
8905         * scm/define-markup-commands.scm (draw-circle): Use it.  New
8906         name (was cicle).  Update callers.
8907         (circle): New markup command, similar to box.
8909         * scm/stencil.scm (circle-stencil): New function.
8911 2005-03-29  David Jedlinsky  <lilypond@ipnh.com>
8913         * configure.in: Detect libutf8/wchar.h variant.
8915         * stepmake/aclocal.m4: Modify shared size test.
8917 2005-03-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8919         * make/lilypond.fedora.spec.in (Group): remove texmf profile stuff.
8921 2005-03-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8923         * scripts/convert-ly.py (conv): add stencil-aligned-to! rule.
8924         
8925         * VERSION (PACKAGE_NAME):  release 2.5.17
8927 2005-03-29  Jan Nieuwenhuizen  <janneke@gnu.org>
8929         * scm/backend-library.scm (postscript->png): Fix comment and png
8930         message.
8932         * GNUmakefile.in (link-tree): Fix locales.
8934 2005-03-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8936         * lily/stencil-scheme.cc (LY_DEFINE): change to
8937         ly:stencil-aligned-to, non mutating.
8939         * scm/safe-lily.scm (lambda): remove ly:stencil-set-extent!
8941         * lily/stencil-scheme.cc: remove ly:stencil-set-extent!
8943         * lily/quote-iterator.cc (derived_mark): call
8944         Music_wrapper_iterator::derived_mark() too.
8946         * lily/grace-engraver.cc (derived_mark): change signature, add
8947         const.
8949 2005-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
8951         * SConstruct (symlink): 
8952         * GNUmakefile.in (link-tree): Add scripts to prefix.
8954         * lily/general-scheme.cc (ly:effective-prefix): New function.
8956         * scm/backend-library.scm (postscript->png): Use it.
8958 2005-03-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8960         * lily/paper-score.cc (process): don't delete grobs after
8961         producing stencils. 
8963         * scm/part-combiner.scm (determine-split-list): switch off
8964         debugging info.
8966         * scm/backend-library.scm (postscript->png): explicitly use ps2png.py
8967         if available.
8969         * scm/define-context-properties.scm
8970         (all-user-translation-properties): add stringNumberOrientations.
8972         * lily/new-fingering-engraver.cc (position_scripts): make generic,
8973         so fingering and string-numbers are separately controlled.
8975 2005-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
8977         * stepmake/aclocal.m4: Fix shared size test: add missing comma, do
8978         not use debugging.
8980 2005-03-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8982         * GNUmakefile.in (local-WWW-post): remove UTF8 .htaccess.
8984         * config.hh.in: add HAVE_FONTCONFIG.
8986         * Documentation/user/instrument-notation.itely (String number
8987         indications): new node.
8989         * input/regression/new-markup-syntax.ly (texidoc): add circle.
8991         * lily/new-fingering-engraver.cc (add_string): new function. 
8992         (acknowledge_grob): accept string-number-event as well.
8994         * scm/define-markup-commands.scm (circle): new markup command.
8996         * scm/output-lib.scm (print-circled-text-callback): new function.
8998         * lily/GNUmakefile: move ifeq after include stepmake.make.
9000 2005-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
9002         * config.make.in (HAVE_LIBKPATHSEA_SO):
9003         * stepmake/aclocal.m4: Also subst HAVE_LIBKPATHSEA_SO.
9005         * lily/GNUmakefile (MODULE_LDFLAGS): Only if not HAVE_KPATHSEA_SO,
9006         add KPATHSEA_LIBS.
9008         * debian/watch: 
9009         * debian/control: Update.
9011 2005-03-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9013         * input/test/title-markup.ly (spaceTest): remove.
9015         * input/test/embedded-tex.ly (Module): remove.
9017         * input/test/music-box.ly: use 'name property, not ly:music-name.
9019         * lily/GNUmakefile (MODULE_LDFLAGS): add KPATHSEA_LIBS.
9021         * stepmake/aclocal.m4: STEPMAKE_FONTCONFIG: add.
9023 2005-03-28  Jan Nieuwenhuizen  <janneke@gnu.org>
9025         * Documentation/topdocs/INSTALL.texi (Top): Remove information
9026         about xdeltas.  Add information about CVS.
9028         * scm/lily.scm (lilypond-main): Fix invocation of handler,
9029         gracefully handle failed files.
9031         * lily/GNUmakefile (MODULE_LDFLAGS): Remove KPATHSEA_LIBS.
9033         * Documentation/topdocs/INSTALL.texi (Top): Whitespace and other
9034         small fixes.
9036         * scm/framework-tex.scm (convert-to-ps): Proper option spacing.
9037         No unnecessarily specific i18n messages.  Remove stray `1'.
9039 2005-03-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9041         * buildscripts/lys-to-tely.py (strip_extension): add utf-8
9042         documentencoding
9044         * scm/documentation-lib.scm (texi-file-head): set utf-8
9045         documentencoding.
9047         * ly/chord-modifiers-init.ly (whiteTriangleMarkup): use the greek
9048         Delta, not the Symbol one. 
9050         * mf/GNUmakefile ($(outdir)/lilypond.map): add -Regular to Aybabtu
9051         for the .map file.
9053         * Documentation/topdocs/INSTALL.texi (Top): add running
9054         requirement as compilation requirement.
9056 2005-03-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9058         * buildscripts/mutopia-index.py (headertext): add h1 header and
9059         utf-8 charset meta field.
9061         * input/GNUmakefile: prune example list.
9063         * scm/framework-tex.scm (convert-to-ps): add -ofoo.ps to dvips
9064         options.
9066         * lily/slur-scoring.cc (get_base_attachments): only look at stem
9067         extent for visible stems.
9069         * lily/grob.cc (mark_smob): mark \layout block from Grob::mark_smob().
9071 2005-03-27  Jan Nieuwenhuizen  <janneke@gnu.org>
9073         * Documentation/topdocs/INSTALL.texi (Top): Updates.
9075         * scripts/convert-ly.py: Python 2.2 compatibility (thanks Mats).
9077 2005-03-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9079         * lily/slur-scoring.cc (get_base_attachments): robustness. Don't
9080         pass inf/nan into slur scoring.
9082         * ly/titling-init.ly (oddHeaderMarkup): don't show page no. on 1st
9083         page.
9085         * scripts/abc2ly.py (dump_voices): use alphabet().
9087 2005-03-27  Jeff Smith <whydoubt@yahoo.com>
9088         
9089         * mf/GNUmakefile (depth): use $(FONTFORGE). 
9091 2005-03-27 Matthias Neeracher <neeracher@mac.com>
9092         
9093         * flower/include/virtual-methods.hh: simplify. Patch by
9095 2005-03-25  John Williams <williams@tni.com>  
9097         * scripts/lilypond-book.py (main): add png for HTML too, guess
9098         only if necessary. 
9100 2005-03-25  Graham Percival  <gperlist@shaw.ca>
9102         * Documentation/topdocs/INSTALL.texi: now recommends
9103         lexer-gcc-3.1.sh for gcc 3.1.1 or higher.
9105         * Documentation/user/basic-notation.itely,
9106         Documentation/user/tutoria.itely: warn about
9107         only one (phrasing) slur at once.
9109 2005-03-24  Pedro Kroger  <kroeger@pedrokroeger.net>
9111         * ly/music-functions-init.ly (removeWithTag): fixed to return "music".
9113 2005-03-23  Graham Percival  <gperlist@shaw.ca>
9115         * Documentation/user/basic-notation.itely: fixed info about
9116         ending a (de)cresc.
9118         * Documentation/user/lilypond-book.itely: fixed
9119         lilypond-book filter example and warned about not doing
9120         --filter and --process at the same time.
9122 2005-03-23  Mats Bengtsson  <mabe@drongo.s3.kth.se>
9124         * lily/parser.yy (bass_number),
9125         Documentation/user/instrument-notation.itely (Figured bass): 
9126         Add the possibility to use text markup in figured bass. 
9128 2005-03-19  Graham Percival  <gperlist@shaw.ca>
9130         * Documentation/user/global.itely: added info about naming
9131         identifiers and breakbefore.
9133         * Documentation/user/invoking.itely: added info about batch
9134         processing files with convert-ly, removed references to TeX
9135         in the jail section.
9137         * Documentation/user/examples.itely: possibly fixed piano
9138         dynamics.
9140         * Documentation/user/advanced-notation.itely: added info
9141         about removing other types of Staff.
9143         * Documentation/user/instrument-notation.itely: possibly
9144         fixed piano staff line switch.
9146         * Documentation/user/changing-defaults.itely: added info
9147         about using normal font in titles.
9149 2005-03-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9151         * VERSION (PATCH_LEVEL): release 2.5.16
9153         * make/ly-vars.make (DVIPS_FLAGS): include lilypond.map path
9154         explicitly.
9156 2005-03-18  Jan Nieuwenhuizen  <janneke@gnu.org>
9158         * scm/framework-tex.scm (convert-to-dvi): Barf if NAME contains
9159         whitespace.
9161         * python/lilylib.py (make_ps_images):
9162         * scm/backend-library.scm (postscript->pdf, postscript->png):
9163         Quote file name.  Use format rather than string-append juggling.
9165 2005-03-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9167         * python/lilylib.py (make_ps_images): add x to -g argument. 
9169         * lily/key-performer.cc (create_audio_elements): don't use
9170         scm_eval_string. Check for minor 3rd directly.
9171   
9172         * input/mutopia/J.S.Bach/baerenreiter-sarabande.ly
9173         (sarabandeCelloGlobal): key is D minor, not F major.
9175 2005-03-17  Jan Nieuwenhuizen  <janneke@gnu.org>
9177         Fix truncated --png output (Peter Danenberg).
9178         
9179         * python/lilylib.py (make_ps_images):
9180         * scripts/ps2png.py (copyright): Grok --papersize option.
9182         * scm/backend-library.scm (postscript->png): Add parameter
9183         PAPERSIZE.  Update callers.
9185         * scm/output-gnome.scm (music-font?): Bugfix: use "Emmentaler".
9186         Fixes symbol placement.
9188         * lily/spanner.cc: 
9189         * lily/stencil.cc: Use "libc-extension.hh" (WAS:
9190         <libc-extension.hh>).
9192 2005-03-16  Jan Nieuwenhuizen  <janneke@gnu.org>
9194         * Nitpick run.
9196         * buildscripts/fixcc.py: Update.
9198         Builddir run fixes.
9200         * HACKING (datadir): Add VERSION.
9202         * GNUmakefile.in (linktree): Bugfix: outconfdirs are one dir
9203         higher up.
9205 2005-03-15  Werner Lemberg  <wl@gnu.org>
9207         * mf/feta-klef.mf (draw_gclef): Move z10' slightly so that the
9208         diagonal stem doesn't become thinner.
9210 2005-03-15  Jan Nieuwenhuizen  <janneke@gnu.org>
9212         * buildscripts/fixcc.py: Fixes (Werner).
9214 2005-03-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9216         * mf/GNUmakefile ($(outdir)/lilypond.map): capitalize
9217         Emmentaler/Aybabtu.
9219         * GNUmakefile.in: fix lilypond-words path.
9221         * po/tr.po: update to 2.3.21
9223         * lily/new-fingering-engraver.cc (position_scripts): take priority
9224         from head position.
9226         * input/regression/finger-chords-order.ly (texidoc): new file.
9228 2005-03-14  Jan Nieuwenhuizen  <janneke@gnu.org>
9230         * make/ly-rules.make: 
9231         * stepmake/aclocal.m4: 
9232         * Documentation/user/GNUmakefile: Remove old makeinfo compatibility.
9234         * buildscripts/fixcc.py (rules): Leave space after operator.
9236 2005-03-14  Werner Lemberg  <wl@gnu.org>
9238         * mf/feta-klef.mf (draw_gclef): Replace `simple_serif' for
9239         top of the glyph with smooth curve.
9241 2005-03-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9243         * Documentation/user/global.itely (Page layout): remove
9244         printpagenumber.
9246 2005-03-13  Jürgen Reuter  <reuter@ipd.uka.de>
9248         * input/regression/mensural-ligatures.ly: new file (with examples
9249         compiled by Pal Benko).
9251         * Documentation/user/instrument-notation.itely: Bugfix: yet some
9252         other "custodes.*-u0" -> "custodes.*.u0" renaming victims in
9253         musicglyph access.  Many small beautifications in ancient
9254         examples.
9256         * input/test/divisiones.ly: fixed indentation; small
9257         beautifications
9259         * ly/engraver-init.ly: added FIXME comment
9261         * scripts/lilypond-book.py,
9262         Documentation/user/lilypond-book.itely: added music fragment
9263         option "packed" to lilypond-book
9265         * Documentation/user/instrument-notation.itely: Bugfix: added
9266         missing LedgerLineSpanner color setting in several places.  Added
9267         music fragment option "packed" to VaticanaContext example.
9269 2005-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9271         * scm/define-grobs.scm (all-grob-descriptions): switch off
9272         Hyphen_spanner::set_spacing_rods 
9274         * lily/lyric-hyphen.cc (print): add padding between syllable and
9275         hyphen.
9276         (print): shorten hyphen in tight situations (determine using
9277         minimum-length)
9279         * scm/paper.scm (layout-set-staff-size): increase blotdiameter to
9280         0.4pt.
9282 2005-03-13  Jan Nieuwenhuizen  <janneke@gnu.org>
9284         * ly/titling-init.ly (bookTitleMarkup): Refinements.
9286         * input/regression/page-breaks.ly (paper): Set not raggedlastbottom,
9287         header/footer markings for regression-test.
9289         * scm/backend-library.scm (output-scopes, header-to-file): Move
9290         from framework-tex.scm.
9292         * scm/framework-ps.scm (output-framework)
9293         (output-preview-framework):
9294         * scm/framework-eps.scm (output-classic-framework)
9295         (output-framework): Use it.  Fixes collated files.
9297 2005-03-12  Jan Nieuwenhuizen  <janneke@gnu.org>
9299         * input/sakura-sakura.ly: 
9300         * input/xiao-haizi-guai-guai.ly: Add from Debian package (Anthony).
9302         * buildscripts/guile-gnome.sh: Update.
9304         * mf/GNUmakefile (aybabtu.otf): Add dependency on .pe.
9306         * mf/aybabtu.pe.in: Capitalize Aybabtu.
9308 2005-03-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9310         * lily/separating-group-spanner.cc (find_rods): oops. Fix the real
9311         culprit: always exit the loop if we find a rod, even if it has
9312         distance < 0. 
9314         * lily/ledger-line-spanner.cc (set_spacing_rods): rewrite to O(n)
9315         algorithm.
9317         * stepmake/stepmake/metafont-rules.make ($(outdir)/%.pfb
9318         $(outdir)/%.svg $(outdir)/%.pfa): add --simplify.
9320         * scm/output-svg.scm (dashed-line): new  function body.
9321         
9322         * GNUmakefile.in: create .htaccess.
9324 2005-03-11  Jan Nieuwenhuizen  <janneke@gnu.org>
9326         * Documentation/topdocs/NEWS.tely (Top): Fix text example.
9328 2005-03-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9330         * VERSION (PACKAGE_NAME): release 2.5.15
9332         * scm/output-{pdf,pdftex,sketch}.scm (Module): remove bitrotted files.
9334         * scm/framework-svg.scm (output-framework): put scaling in
9335         document header. Apply scaling only once.
9336         (output-framework): dump page size in px, not mm. 
9338         * scm/lily-library.scm (modified-font-metric-font-scaling): rename
9339         from font-size.
9341         * lily/paper-outputter-scheme.cc (LY_DEFINE):
9342         ly:outputter-output-scheme, new function.
9344         * scm/output-svg.scm (pango-description-to-svg-font): new function
9346 2005-03-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9348         * Documentation/user/GNUmakefile (deep-symlinks): remove outimages
9349         target.
9351         * input/typography-demo.ly: new file.
9353 2005-03-10  Jan Nieuwenhuizen  <janneke@gnu.org>
9355         * Documentation/user/global.itely (File structure): Add markup blocks
9356         to toplevel expressions.
9357         (Multiple movements, Creating titles): Add markup blocks.
9359         * lily/stencil-scheme.cc: Use "libc-extension.hh" (WAS:
9360         <libc-extension.hh>).
9362         * lily/accidental.cc (accurate_boxes): Compile fix: 1.51 was broken.
9364         * flower
9365         * lily
9366         * kpath-guile: Nitpick run: buildscripts/fixcc.py.
9368 2005-03-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9370         * lily/accidental.cc: special bboxes for natural. 
9372         * mf/feta-toevallig.mf: make stems heavier.
9374         * lily/dynamic-text-spanner.cc (print): add bound padding for edge
9375         texts as well.
9377         * mf/feta-klef.mf: revise. 
9379         * mf/feta-schrift.mf: make thinning of accent less pronounced.
9381         * mf/feta-klef.mf: add rounded curve at top. 
9382         make thinnib a little heavier.
9384 2005-03-10  Jan Nieuwenhuizen  <janneke@gnu.org>
9386         * lily/parser.yy (book_body): Oops, allow \markup in \book too.
9388         * buildscripts/fixcc.py: New file.
9390         * input/regression/utf8.ly: Update Debian font description.
9392 2005-03-09  Jan Nieuwenhuizen  <janneke@gnu.org>
9394         * stepmake/aclocal.m4: Fix test.
9396 2005-03-09  Graham Percival  <gperlist@shaw.ca>
9398         * Documentation/user/invoking.itely: added Sebastino Vigna's
9399         docs for the --jail option.
9401 2005-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9403         * lily/stem.cc (print): only produce stemlets if there are no
9404         noteheads on this stem.
9406         * lily/note-spacing.cc (stem_dir_correction): robustness fix:
9407         don't crash on stemlet (visible stem without heads).
9409         * scm/define-grobs.scm (all-grob-descriptions): junk LeftEdge for
9410         unbroken situations. 
9412         * scm/output-lib.scm (center-invisible): new function.
9414         * lily/spacing-loose-columns.cc (set_loose_columns): use spacing
9415         wishes to determine loose column space.
9417         * lily/font-config.cc (init_fontconfig): add
9418         fonts/{otf,type1,cff}  to path.
9420         * lily/main.cc (setup_paths): add fonts/{otf,svg,tfm,cff} to path
9422         * mf/GNUmakefile (Module): install all fonts under otf/
9424         * scm/framework-ps.scm (Module): read fonts from fonts/extension,
9425         replace /fonts/otf/ by /ps/ 
9427         
9428 2005-03-09  Jan Nieuwenhuizen  <janneke@gnu.org>
9430         * lily/paper-book.cc (classic_output): Reinstate header_0_ hack.
9432         * lily/book.cc (process): Oops, add score_.header_.
9434         * lily/paper-book.cc: Fold hearders, score and texts into scores_.
9436         * lily/parser.yy: Handle toplevel and book texts as score.
9438         * scm/page-layout.scm (default-page-make-stencil):
9439         Bugfix: (page-properties rename.
9441         * scm/backend-library.scm (ly:system): Typo.
9443 2005-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9445         * stepmake/stepmake/executable-targets.make (installexe): don't
9446         strip installed executables
9448         * lily/font-select.cc (get_font_by_design_size): revert
9449         pango_description_string as well.
9451         * lily/system.cc (set_loose_columns): put loose column just left
9452         of next column.
9454         * lily/include/group-interface.hh (extract_grob_array): rename
9455         from Pointer_group_interface__extract_grobs
9457         * input/regression/ledger-line-minimum.ly (texidoc): new file.
9459         * lily/ledger-line-spanner.cc (set_spacing_rods): new
9460         function. Keep ledgered note heads at a minimum distance.
9461         Introduce minimum-length-fraction
9462         (print): introduce length-fraction property.
9464 2005-03-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9466         * tex/GNUmakefile: remove latin1.enc rules.
9468 2005-03-08  Jan Nieuwenhuizen  <janneke@gnu.org>
9470         * scm/titling.scm: Typo.
9472         * input/regression/score-text.ly: Really add.
9474         * lily/score.cc: Bugfixes for SCM header_ and texts_ members.
9476 2005-03-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9478         * lily/open-type-font-scheme.cc:  new file.
9480 2005-03-08  Jan Nieuwenhuizen  <janneke@gnu.org>
9482         * scm/titling.scm (layout-extract-page-properties): Rename from
9483         page-properties.  Update callers.
9485         * lily/lexer.ll (Lily_lexer):
9486         * lily/parser.yy: Junk lyric_markup state.
9488         * Documentation/topdocs/NEWS.tely (Top): Mention markup text feature.
9490         * scripts/lilypond-book.py (PREAMBLE_LY): toplevel-music-handler:
9491         Add texts parameter.
9493 2005-03-07  Jan Nieuwenhuizen  <janneke@gnu.org>
9495         * lily/lexer.ll (lyric_markup): New mode.
9496         (Lily_lexer::push_lyric_markup_state): New method.
9497         (MARKUPCOMMAND): Markup during lyric mode returns LYRIC_MARKUP.
9499         * lily/parser.yy (book_body):
9500         (toplevel_expression): Grok \markup texts.
9502         * lily/score-scheme.cc (ly:music-scorify): 
9503         * scm/lily-library.scm (collect-music-for-book): Take texts
9504         parameter.
9506         * lily/score.cc (texts_): New member.
9508         * lily/paper-book.cc (systems): Format score texts.
9510         * score-text.ly: New file.
9512         * ttftool/SConscript:
9513         * kpath-guile/SConscript: New file.
9515         * lily/SConscript:
9516         * SConstruct: Update.
9518 2005-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9520         * VERSION (PACKAGE_NAME): release 2.5.14
9522 2005-03-07  Jan Nieuwenhuizen  <janneke@gnu.org>
9524         * lily/main.cc: Add dummy xgettext markers.
9526 2005-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9528         * make/lilypond.fedora.spec.in (Requires): scrap kpathsea/tex
9529         requirements
9531         * stepmake/aclocal.m4: check dynamic link, by checking if kpathsea
9532         executable is < 40k
9534         * lily/main.cc (setup_paths): remove tfm1 tfm2 tfm3 include path
9535         hack.
9537 2005-03-06  Jan Nieuwenhuizen  <janneke@gnu.org>
9539         * flower/libc-extension.cc:
9540         * flower/include/libc-extension.hh: [Open]BSD simply cast
9541         cookie/funopen declarations.
9543         * stepmake/aclocal.m4: Check for libkpathsea.so.
9545         * kpath-guile/kpath.c (ly_kpathsea_expand_variable): Use
9546         dl_kpse_find_file.
9548 2005-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9550         * kpath-guile/kpath.c (open_library): dlopen libkpathsea.so
9551         (open_library): alternative for static library.
9553 2005-03-06  Jan Nieuwenhuizen  <janneke@gnu.org>
9555         * configure.in: Set TTFTOOL_ENDIAN iso global CFLAGS.
9557         * ttftool/GNUmakefile (MODULE_CFLAGS): Add $(TTFTOOL_ENDIAN).
9559         Drop run-time dependency on teTeX.
9561         * lily/kpath.cc (initialize_kpathsea): dlopen libkpathsea.
9563         * stepmake/aclocal.m4 (STEPMAKE_KPATHSEA): Do not include
9564         KPATHSEA_LIBS in LIBS.
9565         (STEPMAKE_DLOPEN): New function.
9567         * lily/font-config.cc (init_fontconfig): Use dir for directory,
9568         not path.
9570         * flower/file-path.cc (directories): Rename from paths, as this
9571         return an array of directories (a single path).
9573 2005-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9575         * lily/GNUmakefile (MODULE_LIBS): link with kpath-guile
9577         * lily/all-font-metrics.cc (kpathsea_find_file): wrapper around
9578         new ly:kpathsea-find-file
9580         * kpath-guile/kpath.c: new file. Put kpath bindings in lib.
9582         * kpath-guile/GNUmakefile: new file
9584         * buildscripts/gen-emmentaler-scripts.py (i): generate
9585         emmentaler-X.fontname as well.
9587         * buildscripts/ps-embed-cff.py: new script
9589         * scm/lily-library.scm: remove ps-embed-cff.
9591         * scm/framework-ps.scm (write-preamble): don't use kpathsea for
9592         font loading. 
9594         * scm/font.scm (add-music-fonts): load dynamics/numbers through
9595         fontconfig as well.
9597         * lily/font-config.cc (init_fontconfig): add cff/ too.
9599         * ly/generate-embedded-cff.ly: capitalize.
9601         * lily/pango-select.cc (select_pango_font): use ::find_pango_font,
9602         so as to register the pango font.
9604         * lily/font-config.cc (init_fontconfig): add
9605         prefix/{otf,type1,mf/out} to fontconfig path.
9607         * lily/main.cc: only look at one prefix directory, LILYPONDPREFIX
9608         overrides all. 
9610         * configure.in (gui_b): remove ec mftrace check
9612         * config.hh.in: use lilypond-Major.Minor as data directory.
9614         * scm/framework-ps.scm (dump-page): use output-units for landscape.
9616         * buildscripts/gen-emmentaler-scripts.py (i): lower case file
9617         name.
9619 2005-03-06  Jan Nieuwenhuizen  <janneke@gnu.org>
9621         * lily/main.cc (do_chroot_jail): Small cleanups.  Avoid constant
9622         error messages.
9624         * flower/libc-extension.cc:
9625         * flower/include/libc-extension.hh: [Open]BSD fixes for
9626         cookie/funopen declarations.
9628 2005-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9630         * buildscripts/gen-emmentaler-scripts.py (outdir): capitalize
9631         emmentaler.
9633         * lily/score-engraver.cc (initialize): remove check for ecrm10 /
9634         lcrm10.
9636         * scm/define-markup-commands.scm (fontsize): new markup
9637         command. Also set baseline-skip
9639 2005-03-06 Sebastiano Vigna <vigna@dsi.unimi.it>.
9640         
9641         * lily/main.cc (do_chroot_jail): paranoia security for webserver
9642         use.
9644 2005-03-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9646         * stepmake/bin/add-html-footer.py (do_file): make wiki link optional.
9648         * lily/pdf.cc: remove PDF related files
9650 2005-03-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9652         * ly/deutsch.ly: add quarter tones, patch by Arno Waschk.
9653         <hamamatsu@gmx.de>
9655 2005-03-05  Graham Percival  <gperlist@shaw.ca>
9657         * Documentation/user/advanced-notation.itely: first draft
9658         of reorg done.
9660         * Documentation/user/global.itely: fixed (sub)section
9661         bits of MIDI.
9663 2005-03-02  Jan Nieuwenhuizen  <janneke@gnu.org>
9665         * cygwin/mknetrel (extras): Bufix (Bertalan).
9667         * Documentation/user/basic-notation.itely (Chords): @ref fix.
9668         * Documentation/user/instrument-notation.itely (Introducing chord
9669         names): Compile fix: must have unique name.
9671 2005-03-02  Graham Percival  <gperlist@shaw.ca>
9673         * Documentation/user/instrument-notation.itely: reorg.
9675 2005-03-02  Jan Nieuwenhuizen  <janneke@gnu.org>
9677         * scm/output-gnome.scm:
9678         * scm/output-svg.scm: Fix font scaling.
9680 2005-03-01  Jan Nieuwenhuizen  <janneke@gnu.org>
9682         * ly/titling-init.ly (tagline): Use Engraving.  Add comment about
9683         what link to use best.
9685         * Documentation/user/instrument-notation.itely (Ancient accidentals): 
9686         * Documentation/user/tutorial.itely (Automatic and manual beams):
9687         Fix @ref.
9689         * lily/tweak-registration.cc (replace_grob_tweak): New function.
9690         * lily/tweak-registration-scheme.cc (LY_DEFINE): Wrap it.
9691         * scm/framework-gnome.scm (tweak): Use it.
9693 2005-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9695         * Documentation/topdocs/NEWS.tely (Top): elucidate GS problem.
9697         * scm/output-ps.scm (white-text): reinstate white-text
9699 2005-03-01  Jan Nieuwenhuizen  <janneke@gnu.org>
9701         * scm/output-ps.scm (offset-add): Remove.
9703         * scm/lily-library.scm (offset-flip-y): New function.
9704         * scm/framework-gnome.scm (tweak): Use it.
9706         * scm/output-gnome.scm (grob-cause): Add parameter.
9708         * scm/lily.scm (ly:all-stencil-expressions): Add url-link.
9709         * scm/output-ps.scm (url-link): Move.
9710         (white-text): Warn user about brokenness.
9712         * Documentation/topdocs/NEWS.tely: Be more accurate and respectful
9713         wrt ghostscript.
9715 2005-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9717         * lily/slash-repeat-engraver.cc (try_music): always make slashes
9718         if body length smaller than measure length.
9720         * scm/define-markup-commands.scm (with-url): oops. use Y extent
9721         for Y.
9723         * ly/titling-init.ly (tagline): put default tagline in \paper
9725 2005-03-01  Jan Nieuwenhuizen  <janneke@gnu.org>
9727         * lily/kpath.cc: 
9728         * lily/pdf.cc (Pdf_file): Use more generic error messages.
9730         * scm/lily-library.scm (version-not-seen-message): New function.
9731         * ly/init.ly: Use it.
9733         * scm/page-layout.scm (ly:optimal-page-breaks): Display page
9734         breaks as progess.
9736         * scripts/lilypond-book.py (do_process_cmd): Do not lump
9737         whitespace with l10n message.
9739         * scm/framework-tex.scm (convert-to-ps):
9740         (convert-to-dvi): Do not use overly specific l10n messages.
9742         * ly/titling-init.ly (bookTitleMarkup): Add baseline skips from 2.4.
9744         * tex/GNUmakefile $(outdir)/latin1.enc: Build fix:
9745         merge stderr with stdout.  
9747 2005-03-01  Jan Nieuwenhuizen  <janneke@gnu.org>
9749         * flower/libc-extension.cc: Tested BSD compile fix (Matthias
9750         Neeracher).
9752 2005-02-29  Graham Percival  <gperlist@shaw.ca>
9754         * Documentation/user/instrument-notation.teily: moved
9755         \arpeggio to Basic.
9757         * Documentation/user/advanced-notation.itely: Articulation to
9758         Basic, a bunch of stuff from Basic moved to Advanced.
9760         * Documentation/user/basic.itely: swapped various sections,
9761         reorganized Basic.
9763 2005-02-28  Jan Nieuwenhuizen  <janneke@gnu.org>
9765         * flower/memory-stream.cc: 
9766         * flower/libc-extension.cc: Remove obsolete #undefs.
9768         * flower/include/libc-extension.hh: Bugfix for BSD, place #ifdef
9769         more carefully.
9771 2005-02-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9773         * make/lilypond.fedora.spec.in (Requires): add GS 8.15 as
9774         dependency.
9776         * VERSION (PACKAGE_NAME): release 2.5.13
9778         * GNUmakefile.in (web-ext): don't ship ps.gz
9780         * tex/GNUmakefile ($(outdir)/latin1.enc): redirect stderr to
9781         stdout
9783 2005-02-28  Jan Nieuwenhuizen  <janneke@gnu.org>
9785         * lily/general-scheme.cc (LY_DEFINE): Compile fix for systems
9786         without libintl.  Now it compiles too.
9788 2005-02-28  Graham Percival  <gperlist@shaw.ca>
9790         * Documentation/user/basic-notation.itely,
9791         instument-notation.itely, advanced-notation.itely:
9792         split up contents of notation.itely.
9794         * Documentation/user/notation.itely: file removed.
9796         * Documentation/user/invoking.itely, converters.itely:
9797         moved convert-ly info to invoking.itely.
9799         * Documentation/user/global.itely, changing-defaults.itely,
9800         sound-output.itexi: moved global settings, file layout, and
9801         sound into global.itely.
9803         * Documentation/user/sound-output.itexi: file removed.
9805         * Documentation/user/lilypond.tely: removed links to
9806         notation.itely and sound.itely.
9808 2005-02-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9810         * scm/output-ps.scm (grob-cause): only do mark_URI if non-empty.
9812         * scm/framework-ps.scm (write-preamble): remove pdf-viewer code.
9814         * THANKS: add sponsor.
9816         * scm/define-markup-commands.scm (with-url): new markup command.
9818         * scm/page-layout.scm (TAGLINE): add www.lilypond.org with URL to
9819         tagline.
9820         
9821         * scm/output-tex.scm (url-link): stub.
9823         * scm/output-ps.scm (url-link): new function.
9825         * lily/lily-parser-scheme.cc (LY_DEFINE): deprecate
9826         ly:set-point-and-click
9828 2005-02-27  Jan Nieuwenhuizen  <janneke@gnu.org>
9830         * ps/music-drawing-routines.ps (mark_file_line): Switch Action
9831         based on pdf-viewer setting.
9833         * scm/framework-ps.scm (write-preamble): Find and set preferred
9834         pdf-viewer.
9836 2005-02-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9838         * Documentation/user/point-and-click.itely: update for PDF point &
9839         click.
9841         * scripts/lilypond-pdfpc-helper.py: new file. Invoke different
9842         editors based on EDITOR setting.
9844 2005-02-27  Jan Nieuwenhuizen  <janneke@gnu.org>
9846         * scm/*: Oops, more grand 2005 replace bits.
9848 2005-02-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9850         * ps/music-drawing-routines.ps: new routine: insert PDF mark
9852         * scm/output-ps.scm (grob-cause): point & click support for
9853         PostScript
9855 2005-02-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9857         * lily/input-scheme.cc (LY_DEFINE): rename to
9858         ly:input-file-line-column
9860 2005-02-26  Graham Percival  <gperlist@shaw.ca>
9862         * Documentation/user/examples.itely: small fix from Steve Doonan.
9864         * Documentation/user/scheme-tutorial.itely: small fix from Steve Doonan.
9866         * THANKS: added Yuval Harel.
9868         * Documentation/user/{various}: inserted two spaces after a period.
9870         * Documentation/user/lilypond.tely: added framework for reorg.
9872         * Documentation/user/basic-notation.itely, instrument-notation.itely,
9873         advanced-notation.itely, global.itely: new files, placeholder for
9874         future reorg.
9876 2005-02-26 Yuval Harel  <yuvalh@hotpop.com>
9878         * Documentation/user/notation.itely: revamped Polyphony section
9879         
9880 2005-02-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9882         * Documentation/user/lilypond-book.itely (Music fragment options):
9883         doc fontload.
9885         * Documentation/user/changing-defaults.itely (Text encoding): add
9886         fontload option to utf8 include
9888         * scripts/lilypond-book.py (compose_ly): add fontload option
9890         * scm/framework-eps.scm (dump-stencils-as-EPSes): add
9891         force-eps-font-include option.
9893         * ly/chord-modifiers-init.ly (blackTriangleMarkup): reinstate
9894         black triangle
9896         * Documentation/user/invoking.itely (Editor support): remove
9897         lilypond-latex section.
9899         * scripts/lilypond-latex.py (Module): remove script.
9901         * cygwin/lily-wins.py (stat): write to .lylog, so as not to
9902         overwrite .log. 
9904         * lily/main.cc: remove -m, --no-layout
9906         * flower/include/libc-extension.hh: add ALIAS_FILE_TO_FILECOOKIE
9907         to define. We don't want to override fprintf everywhere.
9909 2005-02-26  Jan Nieuwenhuizen  <janneke@gnu.org>
9911         * cygwin/lilypond.hint: 
9912         * cygwin/README.in: Update dependencies.
9914         * stepmake/aclocal.m4 (STEPMAKE_PANGO, STEPMAKE_PANGO_FT2):
9915         Bugfix: do not pollute CPPFLAGS, LIBS.
9917         * cygwin/mknetrel (extras): Cross compile fixes.
9919         * ttftool/util.c: 
9920         * ttftool/ttfps.c: 
9921         * ttftool/ps.c: #include libc-extension.hh
9923         * flower/include/libc-extension.hh:
9924         * flower/libc-extension.cc (fopencookie)[!HAVE_FOPENCOOKIE]: Add
9925         wrapper using funopen.
9926         (fopencookie, handle_cookie_io_fclose, handle_cookie_io_fprintf,
9927         handle_cookie_io_fprintf): Add wrappers catching Memory_out_stream.
9929         * config.hh.in:
9930         * configure.in (AC_CHECK_FUNCS): Add fopencookie, funopen.
9931         (AC_CHECK_HEADERS): Add libio.h
9933         * scripts/convert-ly.py: Uniformize, internationalize.
9934         (2.5.2): Remove fatal encoding rule.
9935         (2.5.13): Handle latin1 encoding gracefully.
9937 2005-02-23  Jan Nieuwenhuizen  <janneke@gnu.org>
9939         * HACKING: Fix line breaks.
9941 2005-02-23  Werner Lemberg  <wl@gnu.org>
9943         * mf/graycx.mf, mf/graylj.mf: Removed.  Any decent TeX distribution
9944         contains those two files.
9946 2005-02-21  Werner Lemberg  <wl@gnu.org>
9948         * mf/feta-nummer-code.mf ("Numeral 5"): Include intersection point
9949         to improve overlap removal process.
9951         * mf/feta-slag.mf (draw_trillelement): Add parameter to control
9952         left and right ending.  This ensures better overlapping.
9953         Update all callers.
9954         ("lineprall"): Don't use draw_gridline to get better overlapping.
9956 2005-02-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9958         * scm/lily-library.scm (ps-embed-cff): add \n after EndResource
9960         * Documentation/topdocs/NEWS.tely (Top): oops.
9962 2005-02-21  Pedro Kroger  <kroeger@pedrokroeger.net>
9964         * HACKING: new file.
9966         * input/regression/utf8.ly (portuguese): added a portuguese example
9967         to show latin1 accents.
9969 2005-02-21  Pal Benko  <benkop@freestart.hu>
9971         * lily/mensural-ligature-engraver.cc:
9972         * lily/mensural-ligature.cc:
9973         * lily/include/mensural-ligature.hh: new algorithm implemented
9975         * scm/define-grob-properties.scm: join-left killed (add-join may
9976         be used); join-left-amount changed to join-right-amount
9978 2005-02-21  Graham Percival  <gperlist@shaw.ca>
9980         * Documentation/user/notation.itely: small but urgent fix.
9982 2005-02-21  Jürgen Reuter  <reuter@ipd.uka.de>
9984         * lily/duration-scheme.cc: bugfix: correct parameters to
9985         SCM_ASSERT_TYPE.
9987         * THANKS: added Pal.
9989         * Documentation/user/notation.itely: bugfix: unTeXified
9990         $\\backslash$.  Bugfix: yet another glyph renaming victim:
9991         "timesig.*x/y" -> "timesig.*xy".
9993 2005-02-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9994         
9995         * VERSION (PACKAGE_NAME): release 2.5.12
9997 2005-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9999         * ly/engraver-init.ly: set tieWaitForNote to #t by default
10001         * configure.in (gui_b): bump GUILE requirement to 1.6.5 
10003         * Documentation/topdocs/NEWS.tely: add inputfileref macro.
10005         * scm/framework-ps.scm (supplies-or-needs): uniq font name list.
10007 2005-02-20  Jan Nieuwenhuizen  <janneke@gnu.org>
10009         * input/mutopia/E.Satie/petite-ouverture-a-danser.ly: recode
10010         latin1..utf-8.
10012         * input/regression/stanza-number.ly:
10013         * input/regression/utf8.ly (hebrew): Use addlyrics.  Update.
10015         * lily/tie-engraver.cc (acknowledge_grob): Compile fix.
10017 2005-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10019         * Documentation/topdocs/NEWS.tely (Top): only mention 2.5
10020         NEWS. Refer to website for older news.  
10022         * stepmake/bin/add-html-footer.py (i18n): don't strip .PNG /
10023         .HTML. This should be done for specific servers only.
10025         * Documentation/topdocs/NEWS.tely (Top): move to .tely. Add some
10026         .ly image examples.
10028         * scm/define-grobs.scm (all-grob-descriptions): put ledger lines
10029         in layer 0 too.
10031         * scm/define-context-properties.scm
10032         (all-user-translation-properties): add tieWaitForNote
10034         * scm/define-grobs.scm (all-grob-descriptions): add
10035         Tie_column::before_line_breaking
10037         * lily/tie.cc (get_column_rank): new function
10039         * lily/tie-column.cc (before_line_breaking): new function.
10040         (werner_directions): take into account ties that start on
10041         different columns.  
10043         * lily/score-engraver.cc (set_columns): move add_column() so we
10044         have column rank available.
10046         * lily/tie.cc (get_column_rank): new function.
10048         * input/regression/utf8.ly (japanese): add japanese lyrics.
10050         * lily/pfb.cc (LY_DEFINE): ly:ttf->pfa, new function.
10052         * THANKS: add Steve D
10054         * ttftool/*.c: add TTF -> Type42 conversion library. Based on
10055         Public Domain work by Juliusz Chroboczek <jch@pps.jussieu.fr>
10057 2005-02-20  Tatsuya Ono  <tats_ono@infoseek.jp>
10059         * mf/parmesan-heads.mf: "0harmonic" -> "s0harmonic"
10060         to show harmonic notes
10061         * scm/define-markup-commands.scm: in \markup-by-number
10062         "dots-dot" -> "dots.dot" to show dotted notes
10064 2005-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10066         * flower/include/memory-stream.hh (class Memory_out_stream): new file.
10068         * flower/memory-stream.cc (writer): new file.
10070         * configure.in: add endian test.
10072 2005-02-19  Jürgen Reuter  <reuter@ipd.uka.de>
10074         * Documentation/user/examples.itely: small
10075         simplification/beautification
10077         * Documentation/user/notation.ietly: bugfix: fixed many artefacts
10078         from the "x-y-z"->"x.y.z" renaming of glyphs throughout the whole
10079         notation manual.
10081         * lily/mensural-ligature.cc: bugfix: another few victims of the
10082         "x-y-z"->"x.y.s-z" symetrical notehead glyph renaming.
10084         * ly/gregorian-init.ly: commit some experimental code for hi-level
10085         ligature input language lying around here for several months.
10087         * lily/mensural-ligature-engraver.cc: bugfix: another victim of
10088         the "x-y-z"->"x.y.s-z" symetrical notehead glyph renaming.
10090         * lily/vaticana-ligature-engraver.cc: bugfix: another few
10091         "x-y-z"->"x.y.s-z" fixes.
10093 2005-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10095         * scm/framework-pdf.scm (scm): new file
10097         * lily/include/pdf.hh (class Pdf_file): new file.
10099         * lily/pdf.cc (write_trailer): new file.
10101 2005-02-18  Erlend Aasland  <erlenda@gmail.com>
10103         * input/regression/color.ly: new file
10105         * lily/stencil.cc (interpret_stencil_expression):
10106         when a color expression is encountered: save current color,
10107         process the rest of the expression, and restore previous color.
10109         * lily/system.cc (get_line): check all grobs for color property and
10110         prepare the stencil scheme expressions for further processing.
10111         Fix layer-loop.
10113         * scm/define-grob-properties.scm: introduce the color property.
10115         * scm/output-lib.scm: color helper functions.
10117         * scm/output-ps.scm: introduce setcolor/resetcolor.
10119 2005-02-07  Erik Sandberg  <ersa9195@student.uu.se>
10121         * ly/*.ly, input/regression/*.ly: Added missing \version
10122         statements in some files.
10124 2005-02-15  Graham Percival  <gperlist@shaw.ca>
10126         * Documentation/user/notation.itely: minor editing.
10128         * Documentation/user/converters.itely: updated convert-ly bugs.
10130         * Documentation/user/lilypond-book.itely: add info about using
10131         feta characters in latex.
10133 2005-02-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10135         * scripts/convert-ly.py: new slur dash patch by Bertalan Fodor.
10137 2005-02-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10139         * scm/define-grob-properties.scm (all-user-grob-properties):
10140         removed 'dashed property.
10142 2005-02-13  Nicolas Sceaux  <nicolas.sceaux@free.fr>
10144         * scm/lily.scm (define-safe-public): new macro for defining
10145         variables that can be used in --safe mode. Use it in *.scm
10146         instead of manually setting safe-objects in safe-lily.scm.
10148 2005-02-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10149         
10150         * lily/slur.cc: Slur-dash patch by Bertalan.
10152         * ly/engraver-init.ly (EasyNotation): glyph name dash -> period.
10154         * stepmake/bin/add-html-footer.py (do_file): do i18n only once. 
10156 2005-02-10  Jan Nieuwenhuizen  <janneke@gnu.org>
10158         * stepmake/aclocal.m4: teTeX-3.0 inimf fix.  Comment-out.
10160 2005-02-09  Jan Nieuwenhuizen  <janneke@gnu.org>
10162         * mf/GNUmakefile: teTeX-3.0 install fix.
10164         * Cygwin patch from Bertalan.
10166         * stepmake/stepmake/metafont-rules.make: Remove bashism.
10168 2005-02-08  Jan Nieuwenhuizen  <janneke@gnu.org>
10170         * GNUmakefile.in: 
10171         * SConstruct (symlink): teTeX-3.0 build fix: add map symlink.
10173         * tex/GNUmakefile: teTeX-3.0 fix: install .enc in fonts/enc.  Add
10174         2.0.x compatibility.
10176 2005-02-08  Werner Lemberg  <wl@gnu.org>
10178         * mf/feta-din-code.mf: Format; clean up code.
10179         Replace `---' with `--' plus explicit path directions.
10180         (linethickness#, stafflinethickness#): Remove.
10181         ("dynamic f"): Replace `draw' with `draw_rounded_block'.
10182         ("dynamic s"): Improve shape.
10183         ("dynamic p"): Improve shape.
10184         Replace `draw' with better outline approximation.
10185         ("dynamic r"): Improve shape.
10186         Don't call `fill' and `draw' at the same time.
10188 2005-02-08  Jan Nieuwenhuizen  <janneke@gnu.org>
10190         * SConstruct (symlink):
10191         * GNUmakefile.in ($(builddir)/share/lilypond-force): teTeX-3.0
10192         build fix: add enc symlink.
10194         * lily/general-scheme.cc: Compile fixes: include wchar.h, string.h.
10196         Support for DESTDIR besides prefix=/foo
10198         * vim/GNUmakefile (local-install): Use $(INSTALL) -d iso mkdir.
10200         * stepmake/stepmake/*.make:
10201         * */GNUmakefile:
10202         * GNUmakefile.in: Prepend $(DESTDIR) to installation directory.
10204         * config.make.in (prefix): Remove broken $(DESTDIR) hack.
10206         * stepmake/aclocal.m4: Use %0.f iso %d to quiet gawk < 3.1.4 and
10207         mawk in fontforge (date) test.
10209 2005-02-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10211         * scm/font.scm (make-century-schoolbook-tree): add NCS as
10212         font-family=roman. Add Luxi Sans as sans
10214 2005-02-07  Graham Percival  <gperlist@shaw.ca>
10216         * Documentation/user/notation.itely: add warning about
10217         percent repeats and Voice contexts.
10219         * Documentation/user/lilypond-book.itely: clarified the
10220         necessity of dvips -u arguments.
10222 2005-02-07  Erik Sandberg  <ersa9195@student.uu.se>
10224         * THANKS: Added a bunch of bug hunters.
10226 2005-02-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10228         * scm/framework-ps.scm (output-preview-framework): bugfix.
10230         * ly/chord-modifiers-init.ly (ignatzekExceptionMusic): use unicode
10231         o/ for chord modifier..
10233         * lily/general-scheme.cc (LY_DEFINE): new function ly:wide-char->utf-8.
10235         * lily/drum-note-performer.cc:  remove unused (thanks Michael
10236         Welsh Duggan). 
10238 2005-02-06  Jan Nieuwenhuizen  <janneke@gnu.org>
10240         * Documentation/user/changing-defaults.itely (Text encoding): Clarify.
10242         * ly/titling-init.ly: Do not also print intstrument in header on
10243         first page.  Do not print page number on first and only page.
10245 2005-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10247         * input/regression/*.ly: remove old-relative everywhere
10249         * lily/music-sequence.cc (simultaneous_relative_callback): do
10250         what-if analysis on copy, not on original. Fixes old-relative
10251         compatibility.
10253         * scm/backend-library.scm (postscript->png): space before
10254         --verbose.
10255         
10256 2005-02-05  Werner Lemberg  <wl@gnu.org>
10258         * mf/feta-autometric.mf (fet_beginchar): Check whether `feta_group'
10259         is defined.
10261         * mf/feta-alphabet.mf: Define `staffsize#'.
10262         Include `feta-params.mf'.
10263         s/staffheight/design_size/.
10265         * mf/feta-alphabet??.mf: s/staffheight/design_size/.
10267         * mf/feta-alphabet26.mf: Fix a serious bug (design size off by 8pt).
10269         * mf/feta-nummer-code.mf: Reformatted.
10270         (draw_six): Use outline intersection to avoid a self-intersecting
10271         path.
10272         ("Numeral comma"): Fix serious outline glitches.  This slightly
10273         changes the glyph shape.
10274         ("Numeral dash"): Use `draw_rounded_block'.
10275         ("Numeral dot"): Use `drawdot'.
10276         ("Numeral 1"): Assure identical tangent directions for the
10277         intersection points of paths.  The glyph shape improvement is only
10278         visible at very high magnifications.
10279         ("Numeral 2"): Use `solve' macro to make the lower right part of
10280         the glyph outline touch the x axis exactly.  This changes the
10281         glyph shape.
10282         Minor fixes for better overlap removal support.
10283         ("Numeral 4"): Make lefter corner `rounder'.
10284         ("Numeral 5"): Assure identical tangent directions for the
10285         intersection points of paths.  This improves the glyph shape at
10286         high magnifications.
10287         ("Numeral 7"): Use `solve' macro to make the upper right part of
10288         the glyph outline touch the metrics box exactly.  This changes the
10289         glyph shape.
10290         Avoid corner in the upper left part of the glyph (causing a minor
10291         shape change).
10293         * mf/feta-ital-*.mf: Removed.  Unused.
10295 2005-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10297         * VERSION (PATCH_LEVEL): release 2.5.11
10299         * input/regression/fill-line-test.ly: new file.
10301         * buildscripts/gen-emmentaler-scripts.py (i): insert dash in
10302         emmentaler name, eg. emmentaler-23. 
10304 2005-02-04  Christian Hitz  <chhitz@gmx.net>
10306         * scm/scm/define-markup-commands.scm (fill-line): rework for better
10307         alignment with centered texts
10309         * scm/stencil.scm (stack-stencils-padding-list): new function, takes a
10310         list of paddings
10312 2005-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10314         * mf/GNUmakefile ($(outdir)/lilypond.map): add aybabtu to .map file.
10316         * lily/note-column.cc (translate_rests): call flush_extent_cache()
10317         of parents when translating rests. Fixes: c-chord-rest.ly 
10319         * lily/include/dimension-cache.hh (struct Dimension_cache): add
10320         dimension_callback_ member.
10322         * lily/grob.cc (flush_extent_cache): new function. Force recompute
10323         of extents.
10325 2005-02-04  Jan Nieuwenhuizen  <janneke@gnu.org>
10327         * all but lily/*: The grand 2004/2005 replace.
10329 2005-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10331         * lily/*: add space after ,  
10333         * scm/music-functions.scm (has-request-chord): don't use
10334         ly:music-name anywhere. Fixes <<\\>> notation. 
10336         * scm/define-markup-commands.scm (box): use font-size for
10337         padding. Fixes boxed-rehearsal-marks.ly
10339         * lily/parser.yy (assignment_id): allow LYRICS_STRING as
10340         identifier definition too, so foo = \lyrics { ...   } bar = #1
10341         doesn't complain about "bar" being LYRICS_STRING.
10343         * lily/paper-def.cc (find_pango_font): new routine; Store
10344         pango_fonts in hash tab too. This is necessary for retrieving
10345         Pango_fonts::physical_font_tab() later on.
10347         * lily/pango-font.cc (pango_item_string_stencil): bugfix: don't
10348         crash if psname is null.
10350         * lily/lily-guile.cc (ly_hash2alist): new function
10352         * Documentation/user/changing-defaults.itely (Text encoding):
10353         rewrite. 
10355         * lily/pango-font.cc (physical_font_tab): new member. Store PSname
10356         -> font_filename mapping.
10358         * lily/pango-font-scheme.cc (LY_DEFINE): new file. New function
10359         ly_pango_font_physical_fonts
10361         * scm/framework-ps.scm (supplies-or-needs): extract names from
10362         physical Pango_fonts.
10364         * utf8.ly: new file.
10366 2005-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10368         * Documentation/user/changing-defaults.itely (Page layout): add
10369         doco about systemSeparatorMarkup.
10371         * scm/page-layout.scm (default-page-make-stencil): add-to-page
10372         function.
10373         (default-page-make-stencil): insert system separators.
10375         * scm/define-markup-commands.scm (hcenter): add
10376         (beam): add.
10378 2005-02-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10380         * scm/output-ps.scm (ez-ball): reinstate ez notation.
10382 2005-02-01  Jan Nieuwenhuizen  <janneke@gnu.org>
10384         * lily/main.cc: Spell backend consistently.  Sort options.
10386 2005-01-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10388         * scripts/lilypond-book.py (Module): revert @include.
10389         
10390 2005-01-31  Jan Nieuwenhuizen  <janneke@gnu.org>
10392         * scripts/lilypond-book.py: Resurrect HTML links to .ly source.
10393         Bugfix: @include .tex (not .texi).  Small cleanups.
10395         * stepmake/bin/add-html-footer.py (i18n): New function.
10397 2005-01-31  Werner Lemberg  <wl@gnu.org>
10399         * mf/feta-nummer.mf: Removed.  Unused.
10401 2005-01-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10403         * lily/ : 2004 -> 2005 s&r
10405         * scm/file-cache.scm (cached-file-contents): add file. Read each
10406         file only once.
10408         * scm/font.scm (add-pango-fonts): change order. Medium weight is
10409         now default.
10411         * VERSION: release 2.5.10
10412         
10413         * mf/GNUmakefile (INSTALLATION_OUT_FILES4): install cff.ps files.
10415         * make/ly-rules.make ($(outdir)/%.texi): detect new EOF marker.
10417         * scm/framework-ps.scm (dump-stencil-as-EPS): robustness: ensure
10418         that both X and Y extents of bbox are non-nil.
10420 2005-01-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10422         * scm/chord-name.scm (alteration->text-accidental-markup): change
10423         - to . 
10425         * scm/output-ps.scm (utf8-string): add utf8-string for completeness.
10427         * scm/framework-ps.scm (dump-stencil-as-EPS): new function
10429         * Documentation/user/invoking.itely (Invoking lilypond): add note
10430         about EPS backend.
10432         * scm/framework-eps.scm: new file: create per-system/per-page EPS
10433         files for inclusion in lilypond-book document.
10435         * input/tutorial/lbook-latex-test.tex: rename from lilbook.tex
10437         * input/tutorial/lbook-texi-test.texi: new file.
10439         * scm/safe-lily.scm (safe-objects): add
10440         {begin,end}-of-line-(in)?visible as safe.
10442 2005-01-30  Graham Percival  <gperlist@shaw.ca>
10444         * Documentation/user/changing-defaults.itely: fixed example
10445         of (dynamics).
10447 2005-01-29  Graham Percival  <gperlist@shaw.ca>
10449         * lily/main.cc: fix info about -o=FILE.
10451 2005-01-29  Werner Lemberg  <wl@gnu.org>
10453         * mf/feta-toevallig.mf ("Natural"): Completely changed the
10454         construction to assure smooth transition from straight to curved
10455         lines.
10457 2005-01-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10459         * lily/stencil.cc (moved_to_edge): don't halt on adding empty
10460         stencils.
10462         * ps/lilyponddefs.ps: add start-page, start-system doesn't
10463         translate to top of page. Fixes alignment problems of
10464         lilypond-generated EPS files.
10466 2005-01-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10468         * scm/part-combiner.scm (analyse-spanner-states): trigger on
10469         crescendo-end as well, since Decrescendo maybe ended with Stop
10470         Crescendo.). Fixes: partcombine-diminuendo.ly
10472         * scm/script.scm (default-script-alist): swap portato symbols.
10474         * lily/instrument-name-engraver.cc (acknowledge_grob): typo.
10476         * lily/paper-outputter-scheme.cc (LY_DEFINE):
10477         ly:outputter-port. New function.
10479         * scm/framework-ps.scm (output-classic-framework): dump a
10480         -systems.texi too
10481         (output-classic-framework): dump multiple systems on an "infinite"
10482         page EPS including fonts. 
10484         * scripts/lilypond-book.py (Lilypond_snippet.ly_is_outdated): use
10485         .eps files for both texi and tex formats. Use PNG coming from
10486         lilypond.
10487         
10488 2005-01-28  Graham Percival  <gperlist@shaw.ca>
10490         * Docuemntation/user/invoking.itely: fix info about -o=FILE.
10492         * scripts/lilypond-latex.py: fix info about -o=FILE.
10494 2005-01-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10496         * ly/generate-embedded-cff.ly: write .cff.ps files.
10498         * mf/GNUmakefile ($(outdir)/lilypond.map): add .cff.ps to .map file.
10500         * stepmake/stepmake/metafont-rules.make ($(outdir)/%.pfb
10501         $(outdir)/%.svg $(outdir)/%.pfa): remove --simplify
10503 2005-01-28  Jan Nieuwenhuizen  <janneke@gnu.org>
10505         * lily/include/guile-compatibility.hh (SCM_VECTOR_P): Compile fix.
10507 2005-01-28  Werner Lemberg  <wl@gnu.org>
10509         * mf/feta-macros.mf (soft_start_penstroke, soft_end_penstroke): New
10510         macros.
10511         (draw_bulb): Improved.
10513         * mf/feta-pendaal.mf ("Pedal asterisk"): Remove workaround for
10514         metapost bug.
10515         (draw_pedal_P): Use soft_end_penstroke.
10516         (draw_pedal_d): Use soft_start_penstroke.
10518         * mf/feta-schrift.mf ("Trill (`tr')"): Remove redundant point in
10519         path.
10520         ("Varied Coda"): Move some points to avoid fontforge warnings.  This
10521         doesn't change the glyph shape.
10523         * mf/feta-accordion.mf ("accOldEE"): Draw glyph differently (without
10524         changing the shape) to avoid fontforge warnings.
10526         * mf/feta-klef.mf (draw_tab_T, draw_tab_A, draw_tab_B): Use
10527         soft_end_penstroke and fix glyph shape.
10529 2005-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10531         * lily/*.cc: Scheme deprecation of SCM_VECTOR_* 
10533 2005-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10535         * scm/define-markup-commands.scm (line): filter out empty stencils
10536         from line command.
10538         * lily/stencil-scheme.cc (LY_DEFINE): only allow finite real
10539         amount.
10541 2005-01-27  Graham Percival  <gperlist@shaw.ca>
10543         * Documentation/user/notation.itely: added info about what
10544         \voiceFoo does.  Also rewrote warning about marks at
10545         a line break.
10547         * Documentation/user/changing-defaults.itely: added info
10548         about putting dynamics in parenthesis and brackets.
10550 2005-01-27  Werner Lemberg  <wl@gnu.org>
10552         * mf/feta-schrift.mf ("Trill (`tr')"): Fix typo.
10554 2005-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10556         * mf/feta-schrift.mf: reverse u and d portato. Fixes:
10557         portato-direction.ly
10559         * lily/beam.cc (consider_auto_knees): add beam height to
10560         threshold. Fixes: knee-multiple-beam.ly
10562         * lily/instrument-name-engraver.cc (acknowledge_grob): also ignore
10563         pedal line spanners. Fixes: instrument-center-pedal.ly
10565         * lily/auto-beam-engraver.cc (acknowledge_grob): stop beam
10566         if encountering barline. Fixes: auto-beam-repeat.ly
10568 2005-01-26  Werner Lemberg  <wl@gnu.org>
10570         * mf/feta-slag.mf (draw_trillelement): Fix shape to get clean
10571         overlapping.
10573         * mf/feta-toevallig.mf (draw_meta_sharp): Fix shape to avoid curves
10574         with inflections for the 1/2 sharp glyph.
10576         * mf/feta-schrift.mf ("Trill (`tr')"): Fix start position of
10577         connection between `t' and `r'.
10578         Unify bulb with the rest of `r' to avoid grazing outlines which
10579         confuses the overlap removal algorithm of fontforge.
10581         * mf/feta-bolletjes.mf (draw_slash): Fix shape to avoid curves with
10582         inflections.
10583         (draw_cross): Fix shape to have uniform thickness in corners.
10585         * mf/feta-pendaal.mf (draw_pedal_P): Break shape into smaller pieces
10586         to avoid an uneven number of self-intersections; this confuses
10587         fontforge.
10588         Fix a slight bug in the shape at left bottom (which is visible only
10589         at high magnifications).
10590         `Center' the stem horizontally to avoid overlapping.
10592 2005-01-24  Werner Lemberg  <wl@gnu.org>
10594         * mf/feta-autometric.mf (fet_beginfont): Set font_coding_scheme
10595         to `asis'.
10596         (fet_begingroup): Save group name in string `feta_group'.
10597         (fet_endgroup): Updated.
10598         (fet_beginchar): Emit `glyph_name' special for mf2pt1.
10600         * mf/feta-bolletjes.mf: s/p/pat/ for paths.
10602         * mf/feta-pendaal.mf ("Pedal asterisk"): Add workaround for bug
10603         in metapost.
10605 2005-01-24  Graham Percival  <gperlist@shaw.ca>
10607         * Documentation/user/notation.itely: really minor editing.
10609 2005-01-22  Graham Percival  <gperlist@shaw.ca>
10611         * Documentation/user/examples.itely: minor editing.
10613         * Documentation/user/changing-defaults.itely: minor editing.
10615         * Documentation/user/notation.itely: clarified info on polyphony
10616         and \addlyrics.
10618 2005-01-22  Jan Nieuwenhuizen  <janneke@gnu.org>
10620         * scm/output-gnome.scm: 
10621         * scm/output-svg.scm:
10622         * scm/lily-library.scm (font-name-style): Update font name
10623         kludging for fontconfig use.
10625 2005-01-20  Erlend Aasland  <erlenda@gmail.com>
10627         * scm/define-markup-commands.scm: Document right-align and
10628         larger markup commands. Remove "TODO" from the topmost comment
10629         "each markup function should have a doc string." More consistent
10630         use of new-lines.
10632 2005-01-22  Graham Percival  <gperlist@shaw.ca>
10634         * Documentation/user/changing-defaults: removed info about
10635         copyright symbol, since it's likely to change soon.
10636         Added info about betweensystemspace.
10638         * Documentation/user/notation.itely: minor fixes.
10640         * Documentation/user/lilypond.tely,
10641         Documentation/user/music-glossary.tely: changed copyright
10642         date to 2005 instead of 2004.
10644         * input/test/volta-chord-names.ly: added old example back.
10646 2005-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10648         * mf/feta-beugel.mf: use design size 20 (not 15).
10650         * mf/aybabtu.pe.in: scale brace fonts to design sizes.
10651         change name to aybabtu completely
10653 2005-01-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10655         * buildscripts/gen-emmentaler-scripts.py (outdir): add
10656         design_size to fontname
10658 2005-01-19  Werner Lemberg  <wl@gnu.org>
10660         * mf/feta-accordion.mf, mf/feta-klef.mf, mf/feta-pendaal.mf,
10661         mf/feta-schrift.mf: s/p/pat/ if a path variable.
10663         * mf/feta-autometric.mf (set_char_box): Add code which emits
10664         specials for mf2pt1 if run with metapost.
10665         (to_bp): New macro for mf2pt1.
10667 2005-01-18  Graham Percival  <gperlist@shaw.ca>
10669         * Documentation/user/changing-defaults: added info on
10670         creating a copyright symbol.
10672 2005-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10674         * VERSION: release 2.5.9
10675         
10676 2005-01-18  Erlend Aasland  <erlenda@gmail.com>
10678         * scm/auto-beam.scm: Simplify score-override-auto-beam-setting
10680         * Documentation/user/notation.itely: Document
10681         score-override-auto-beam-setting Fix documentation for
10682         revert-auto-beam-setting.
10684 2005-01-18  Werner Lemberg  <wl@gnu.org>
10686         * scm/framework-ps.scm (ps-embed-cff): Fix DSC comments.
10687         (procset): New function to define a procset resource.
10688         (ps-embed-pfa): New function to define a font resource.
10689         (setup): New function to define a `Setup' environment.
10690         (preamble): Use new functions.
10692         * ps/lilypond.defs (init-lilypond-parameters): New function to
10693         get rid of directly executed PS code.  Used in scm/framework-ps.scm.
10695 2005-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10697         * mf/GNUmakefile (MFTRACE_FLAGS): add --no-afm to MFTRACE_FLAGS
10699 2005-01-17  Erlend Aasland  <erlenda@gmail.com>
10701         * scm/define-markup-commands.scm: Change number->markletter-string
10702         to take two arguments (vector number). Add number->mark-alphabet-vector
10703         and markalphabet markup command.
10705         * scm/translation-functions.scm: Add format-mark-box-alphabet,
10706         format-mark-alphabet, format-mark-box-barnumbers and
10707         format-mark-barnumbers. Fix bug in format-mark-box-numbers.
10709 2005-01-17  Graham Percival  <gperlist@shaw.ca>
10711         * Documentation/user/examples.itely: add SATB automatic piano
10712         reduction template.
10714         * Documentation/user/notation.itely: added info about changing
10715         partcombine texts.  Also adds examples of alternate lyrics.
10717         * Documentation/user/changing-defaults.itely: added warning
10718         about \RemoveEmptyStaffContext overriding previous changes.
10720 2005-01-17  Werner Lemberg  <wl@gnu.org>
10722         * buildscripts/mf-to-table.py: Use `FetaAlphabetEncoding' for
10723         feta-alphabet*.
10725 2005-01-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10727         * python/lilylib.py (make_ps_images): don't do final showpage for
10728         multi-page documents.
10729         
10730         * VERSION (MY_PATCH_LEVEL): release 2.5.8
10732 2005-01-16  Graham Percival  <gperlist@shaw.ca>
10734         * Documentation/user/lilypond.tely: changed order of appendices;
10735         unified index should be last.
10737         * Documentation/user/notation.itely: add example of key signatures
10738         and info about Staff.printKeyCancellation.
10740 2005-01-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10742         * lily/include/repeated-music.hh (class Repeated_music): change
10743         into "namespace" class.
10745         * lily/event.cc: remove Key_change_event.
10747         * lily/include/transposed-music.hh (class Transposed_music): remove.
10749         * lily/transposed-music.cc: remove
10751         * lily/include/relative-music.hh: remove.
10753         * lily/include/music-sequence.hh (struct Music_sequence): change
10754         into "namespace" class.
10756         * lily/untransposable-music.cc (Module): remove
10758         * lily/include/un-relativable-music.hh (Module): remove
10760         * lily/include/untransposable-music.hh (Module): remove
10762         * lily/include/music-list.hh (Module): remove file
10764         * lily/un-relativable-music.cc: remove file.
10766 2005-01-14  Jan Nieuwenhuizen  <janneke@gnu.org>
10768         * lily/parser.yy: Compile fix.
10770 2005-01-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10772         * lily/include/music.hh (class Music): unvirtualize transpose().
10774         * lily/sequential-music.cc: remove file.
10776         * lily/include/lyric-combine-music.hh ("music.hh"): remove file.
10778         * lily/slur-scoring.cc (get_best_curve): only switch on
10779         DEBUG_SLUR_SCORING for non NDEBUG builds.
10781         * lily/include/music.hh (class Music): replace Music::start_mom()
10782         by start-callback property
10784         * lily/include/grace-music.hh: remove file. 
10786         * lily/stem.cc (height): robustness fix.
10788         * lily/time-scaled-music.cc: remove file.
10790         * lily/include/music.hh (class Music): include SCM init argument.
10791         (class Music): replace Music::get_length() virtual by
10792         length-callback property everywhere.
10794         * scripts/convert-ly.py (conv): add  # to \property scalar value.
10796         * mf/GNUmakefile: don't install *list.ly
10798 2005-01-14  Jan Nieuwenhuizen  <janneke@gnu.org>
10800         * mf/GNUmakefile (CFF_FILES): Bugfix: only big cheeses and braces.
10802 2005-01-12  Werner Lemberg  <wl@gnu.org>
10804         This patch addresses the following problems in the feta sources
10805         files which contribute to the fetaXX fonts.
10807         . Many fixes for rasterization at low resolutions (consistent use of
10808           `vround' and `hround', integer shift values for paths, applying
10809           `eps' for mirrored paths, use of `define_whole_pixels' and
10810           friends, etc.) -- while this probably looks like a waste of time
10811           it has revealed deficiencies in some glyph shapes.  See comment at
10812           the end of feta-params.mf how vertical symmetry is achieved.
10814         . The `---' operator has been replaced everywhere with `--'; this
10815           both improves and considerably reduces the font size after
10816           conversion with mf2pt1.
10818         These change aren't explicitly mentioned below since virtually all
10819         glyphs are affected.
10821         Other notable differences:
10823         . Glyphs from feta-accordion.mf now have charboxes around the
10824           outline.
10826         . Fixed incorrect charbox for `accDot'.
10828         . The `rcomma' and `lcomma' glyphs were distorted due to a typo.
10830         . Fixed position of the bow in the `upprall' glyph and its siblings.
10832         . The bulb size in the `2/2 meter' and `4/4 meter' glyphs is now
10833           dependent on the staff line thickness to avoid touching the middle
10834           staff line at smaller sizes.
10836         . Largely extended output for feta-testXX: Where useful, glyphs
10837         are shown both between and on staff lines.
10840         * mf/feta-params.mf (staff_space_rounded,
10841         stafflinethickness_rounded, linethickness_rounded,
10842         ledgerlinethickness_rounded, stemthickness_rounded): New variables.
10843         Update all code which uses them where appropriate.
10844         (feta_eps, feta_shift, feta_space_shift, feta_offset, feta_fillpen):
10845         New variables used to control rasterization at low resolutions.  Set
10846         to zero if feta code is processed with metapost.
10848         * mf/feta-macros.mf (draw_staff, draw_staff_outline): Updated.
10849         (draw_rounded_block, draw_square_block): Updated to use `--' only.
10850         (flare_path): Updated.
10851         Make it work with `filldraw' (but only circular pens).
10852         (hfloor, vfloor, hceiling, vceiling): New macros.
10854         * mf/feta-accordion.mf ("accDiscant", "accFreebase", "accStdbase"):
10855         Use `draw' again in mf mode to have good pixel dropout control.
10856         Fix intersection points of horizontal lines with circle.
10857         ("accDot"): Fix parameters for set_char_box.
10858         ("accOldEE"): Use `draw' again in mf mode to have good pixel dropout
10859         control.
10861         * mf/feta-banier.mf: Updated.
10863         * mf/feta-bolletjes.mf (remember_pic): New variable, used for
10864         testing.
10865         (undraw_inside_ellipse): Remove `center' argument.  Update all
10866         callers.
10867         (draw_brevis): New macro, called by "Brevis notehead".
10868         (draw_whole_triangle_head): New macro, called by "Whole
10869         trianglehead".
10870         (draw_small_triangle_head): Use `filldraw'.
10872         * mf/feta-eindelijk.mf: Remove useless global group.
10873         Updated.
10875         * mf/feta-klef.mf (draw_c_clef): Correct point positions for using
10876         `filldraw'.
10878         * mf/feta-pendaal.mf: Updated.
10880         * mf/feta-puntje.mf: Updated.
10882         * mf/feta-schrift.mf (draw_very_long_fermata): Simplified to use
10883         less points.
10884         ("Flageolet"): Use `draw' again in mf mode to have good pixel
10885         dropout control.
10886         ("Varied Coda"): Use `draw_block'.
10887         (draw_comma): Fix typo.
10888         (draw_arpeggio_arrow): Use `draw' also in mf mode to have good
10889         pixel dropout control.
10891         * mf/feta-slag.mf ("upprall", "downprall", "lineprall"): Fix start
10892         position of bow.
10894         * mf/feta-timesig.mf (draw_C): Reduce bulb size for smaller design
10895         sizes.
10897         * mf/feta-toevallig.mf (remember_pic): New variable, used for
10898         testing.
10899         (draw_meta_sharp): Much simplified.
10900         ("Sharp", "1/2 Sharp", "3/4 Sharp"): Don't rotate but shift.
10902         * mf/feta-test-generic.mf: Include all files as in feta-generic.mf.
10904 2005-01-13  Mats Bengtsson  <mabe@drongo.s3.kth.se>
10906         * Documentation/user/notation.itely (Ancient rests): Fix typo
10907         (thanks Anthony)
10909 2005-01-13  Jan Nieuwenhuizen  <janneke@gnu.org>
10911         * scm/auto-beam.scm (score-override-auto-beam-setting): New function.
10913         * lily/main.cc (setup_paths): Add cff.
10915         * mf/GNUmakefile (foe): Include actual target %.cff.
10916         (INSTALLATION_OUT_SUFFIXES): Install CFF and SVG fonts too.
10918 2005-01-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10920         * lily/include/lily-lexer.hh (class Lily_lexer): lose hungarian _b
10921         suffix for main_input_b_.
10923         * scm/music-functions.scm (toplevel-music-functions):
10924         precompute music lengths for music expressions.  
10926 2005-01-11  Nicolas Sceaux  <nicolas.sceaux@free.fr>
10928         * lily/include/input.hh (class Input): new `end_' slot for end of
10929         input. Renamed defined_str0_ to start_.
10931         * lily/input.cc (Input): Add Input::Input (Input const &) and
10932         remove Input::Input (Source_file*, char const *). Use the new
10933         slots.
10934         (set_location): method used by bison to propagate input
10935         locations (YYLLOC_DEFAULT).
10936         (end_line_number, end_column_number, step_forward): new methods
10937         
10938         * lily/input-scheme.cc (ly:input-both-locations): new function,
10939         similar to ly:input-location, but also return the end line and
10940         column.
10942         * lily/include/includable-lexer.hh: 
10943         * lily/includable-lexer.cc: 
10944         * lily/include/lily-lexer.hh (class Lily_lexer): 
10945         * lily/lily-lexer.cc (add_lexed_char): Move add_lexed_char from
10946         Includable_lexer to Lily_lexer, in order to update lexloc (the
10947         yylloc), a new slot of Lily_lexer.
10948         (here_input, LexerError): simplify by using the lexloc slot (aka
10949         yylloc)
10951         * lily/lexer.ll: #define yylloc to use input locations (it may
10952         be useless here?). Fixed the #embedded_scm rule (step the location
10953         forward in order to skip the sharp sign before parsing the scheme
10954         expression)
10956         * lily/include/lily-parser.hh (class Lily_parser): 
10957         * lily/lily-parser.cc: Remove push_spot(), pop_spot() and
10958         here_input()
10959         (parser_error): overload for more precise locations of errors.
10961         * lily/parser.yy (YYLTYPE): set location type to Input
10962         (YYLLOC_DEFAULT): use Input::set_location()
10963         (yylex): add the YYLTYPE* location parameter.
10964         Clean push_spot()/pop_spot()/here_input(), and use @$, @1, etc.
10965         Give an Input parameter to THIS->parser-error() for more accurate
10966         messages.
10968 2005-01-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10970         * stepmake/aclocal.m4: do NDEBUG for optimizing builds.
10972         * lily/include/beam.hh (DEBUG_QUANTING): performance: only switch
10973         on BEAMQUANTING for non-NDEBUG builds.
10975         * lily/stem.cc (head_count): performance: avoid String::String()
10976         inside oft called function.
10978 2005-01-09  Graham Percival  <gperlist@shaw.ca>
10980         * Documentation/user/examles.itely: attempted fix for broken
10981         string quartet template.
10983         * Documentation/user/notation.itely: remove unnecessary broken
10984         link.
10986 2005-01-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
10988         * VERSION (PACKAGE_NAME): release 2.5.7
10990 2005-01-09  Jan Nieuwenhuizen  <janneke@gnu.org>
10992         * config.make.in (METAFONT): Append -progname=mf, fixes use with
10993         mf-nowin for teTeX-3.0.  Backportme.
10995         * scm/output-svg.scm (utf8-string): New function.
10997         * scm/output-gnome.scm (utf8-string): New function.
10998         (otf-name-mangling): Remove.
11000         * lily/pango-font.cc (Pango_font): Use font string iso font
11001         filename for utf8-text.
11003         * buildscripts/gen-emmentaler-scripts.py: Remove designsize from
11004         name.
11006 2005-01-08  Graham Percival  <gperlist@shaw.ca>
11008         * Documentation/user/notation.itely: add info about
11009         Staff.extraNatural = ##f in Pitches section.  Also
11010         fixed some minor issues in the Vocal music section.
11012 2005-01-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11014         * scm/output-ps.scm (white-text): comment out Helvetica font,
11015         which is broken for my GS install.
11017         * lily/pango-font.cc (pango_item_string_stencil): use ink_rect,
11018         which provides a tighter bbox.
11020         * scm/define-grobs.scm (all-grob-descriptions): remove all
11021         extra-offsets from definitions.
11023 2005-01-08  Erlend Aasland  <erlenda@gmail.com>
11025         * scm/output-lib.scm: Rename guitar-tunings to guitar-tuning and
11026         add tuning for 4-string bass and some common 4/5-string banjo
11027         tunings.  New function (four-string-banjo) turns a 5-string tuning
11028         into a 4-string tuning.  New function
11029         (fret-number-tablature-format-banjo) computes correct fret numbers
11030         on 5-string banjos.
11032         * ly/engraver-init.ly: Default stringTunings = #guitar-tuning
11033         Add beam correction to TabVoice.
11035         * scm/define-grobs.scm: Adjust notehead offset. Print fret numbers
11036         using bold font; makes tabs more readable.
11038 2005-01-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11040         * lily/font-select.cc (get_font_by_design_size): don't make
11041         Modified_font_metric; this causes trouble, since we don't know the
11042         font magnification from inside Pango_font::text_stencil()
11044         * lily/all-font-metrics.cc (find_pango_font): take magnification argument.
11046         * Documentation/user/notation.itely (The Lyrics context): comment out
11047         broken {Small ensembles} link.
11049         * scm/framework-svg.scm (output-framework): change calling convention.
11051         * lily/object-key-dumper-scheme.cc: new file.
11053         * lily/object-key-undumper-scheme.cc: new file.
11055         * lily/tweak-registration-scheme.cc: new file.
11057         * lily/pango-select.cc (symbol_to_pango_variant): init local variable.
11059         * Documentation/user/examples.itely (String quartet): uncomment
11060         broken example.
11062         * lily/font-config.cc: new file.
11064 2005-01-08  Jan Nieuwenhuizen  <janneke@gnu.org>
11066         * scm/output-svg.scm: 
11067         * scm/output-gnome.scm: s/bigcheese/emmentaler.
11069         * lily/score-engraver.cc (MUSIC_FONT): Use emmentaler20.
11071 2005-01-07  Jan Nieuwenhuizen  <janneke@gnu.org>
11073         * lily/general-scheme.cc (LY_DEFINE): Use snprintf (WAS: sprintf).
11074         Add headers.
11076         * lily/GNUmakefile (general-scheme.o): Add version.hh dependency.
11078 2005-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11080         * mf/GNUmakefile (debian-mirror): rename bigcheese to emmentaler.
11082         * lily/include/main.hh: lose _b hungarian suffixes for global
11083         variables.
11085         * lily/include/lily-guile-macros.hh: new file.
11087         * lily/pango-select-scheme.cc (LY_DEFINE): new file.
11089         * lily/general-scheme.cc: new file. 
11091         * lily/font-select.cc (get_font_by_design_size): retrieve
11092         PangoFont for (designsize . "pango-descr") entries.
11094         * lily/lily-parser-scheme.cc: new file.
11096         * lily/output-def-scheme.cc: new file.
11098         * lily/paper-book-scheme.cc: new file.
11100         * lily/duration-scheme.cc (LY_DEFINE): new file.
11102         * lily/pitch-scheme.cc:  new file.
11104         * scm/font.scm (add-cmr-fonts): use real dimens in font selection.
11106 2005-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11108         * lily/dimensions.cc (LY_DEFINE): add ly:{inch,cm,mm,bp,pt}.
11110 2005-01-06  Graham Percival  <gperlist@shaw.ca>
11112         * Documentation/user/notation.itely: minor editing.
11114         * Documentation/user/changing-defaults: minor editing.
11116         * Documentation/user/examples.itely: add template for
11117         string quartet part extraction; demonstrates tag.
11119 2005-01-06  Erlend Aasland  <erlenda@gmail.com>
11121         * Documentation/user/notation.itely: documents
11122         format-mark-box-letters and format-mark-box-numbers
11124         * scm/define-context-properties.scm: change comment.
11126 2005-01-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11128         * scm/framework-ps.scm (output-classic-framework): new function:
11129         dump systems as separate .eps files (without fonts) and write a
11130         single collecting .tex file.
11132 2005-01-05  Mats Bengtsson  <mabe@drongo.s3.kth.se>
11134         * Documentation/user/notation.itely (Setting simple songs):
11135         Correct several errors in the equivalent formulation of
11136         \addlyrics. 
11137         (The Lyrics context): Corrected link to the SATB example.
11139 2005-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11141         * scm/lily.scm (completize-formats): new function
11142         (postprocess-output): new function
11144         * lily/paper-book.cc (classic_output): change calling
11145         convention. Give basename as first argument. 
11146         remove Paper_book::post_processing().
11148         * lily/lily-guile.cc (LY_DEFINE): ly:output-backend, new function.
11150 2005-01-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11152         * lily/paper-outputter.cc (LY_DEFINE): new function
11153         ly:outputter-close.
11155         * lily/main.cc: change --format,-f to --backend,-b
11157         * lily/include/main.hh: rename format to backend.
11159         * scm/translation-functions.scm (format-mark-box-numbers): add.
11160         patch by Erlend Aasland
11162 2005-01-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11164         * lily/pango-font.cc (text_stencil): dump string as
11165         (utf-8-string FONTDESC UTF8) for use in -f gnome, -f svg.
11167 2005-01-03  Jan Nieuwenhuizen  <janneke@gnu.org>
11169         * configure.in (gui_b): Remove handy developer-only
11170         PKG_CONFIG_PATH settings that cater for Jan-and-Han-Wen ~/usr/pkg/
11171         CVS source installations (but break other non-default but correct
11172         PKG_CONFIG_PATH setups), as this is no longer developer-only.
11174         * SConstruct: 
11175         * ps/GNUmakefile (INSTALLATION_FILES): teTeX-3.0
11176         compatibility (backportme).
11178         * GNUmakefile.in: teTeX-3.0 compatibility (backportme).
11180 2005-01-03  Werner Lemberg  <wl@gnu.org>
11182         Prepare glyph shapes for mf2pt1 conversion.
11184         * mf/feta-accordion.mf (accreg_pen): Removed.  No longer used.
11185         (accDiscant, accFreebase, accStdbase): Replace `draw' with
11186         `penstroke'.
11187         (accDot): Use `drawdot'.
11188         (accBayanbase): Replace `draw' with `draw_gridline'.
11189         (print_penpos): Moved to feta-macros.mf.
11190         (accOldEE): Replace `filldraw' with `penstroke'.
11191         Replace `draw' with `penstroke' and `drawdot'.
11193         * mf/feta-banier.mf: Code clean-up.
11194         ("grace dash (up)", "grace dash (down)"): Replace `draw' with
11195         `fill'.
11197         * mf/feta-bolletjes (draw_cross): Remove call to `labels'.
11199         * mf/feta-eindelijk.mf (draw_rest_bulb, draw_eigth_rest): Add
11200         paremeter to control drawing of labels.  Update all callers.
11202         * mf/feta-klef.mf (draw_c_clef): Use `&' not `..' to connect paths.
11203         (new_bulb): Return a bulb as a single path.  To do that, it now
11204         takes some more parameters.  Updated all callers.
11205         (draw_gclef): Major clean-up.  `draw' has been replaced with
11206         `penstroke', unnecessary outlines have been removed.
11207         Remove (unused) gnome-canvas code.
11209         * mf/feta-macros.mf (print_penpos): New macro (from
11210         feta-accordion.mf).
11211         Other minor fixes.
11213         * mf/feta-pendaal.mf ("Pedal asterisk"): Use `undrawdot'.
11214         ("Pedal dot"): Use `drawdot'.
11215         (draw_pedal_P): Add parameter to control drawing of labels.  Update
11216         all callers.
11217         Fix shape at top.
11218         (draw_pedal_e): Add parameter to control drawing of labels.  Update
11219         all callers.
11220         (draw_pedal_d): Add parameter to control drawing of labels.  Update
11221         all callers.
11222         Revert drawing direction.
11224         * mf/feta-schrift.mf (draw_fermata): Use single path.
11225         (draw_short_fermata): Replace `filldraw' with `fill'.
11226         (draw_long_fermata, draw_very_long_fermata): Replace calls to
11227         `draw_rounded_block' with a single path.
11228         ("Thumb"): Draw full circle instead of mirroring segments.
11229         (draw_accent): New macro.
11230         ("> accent", "espr"): Use it.
11231         (draw_marcato): Replace `filldraw' and `draw' with `fill'.
11232         ("open (unstopped)"): Draw full circle instead of mirroring
11233         segments.
11234         (draw_vee): Removed.
11235         ("Upbow"): Use `draw_accent' instead of `draw_vee'.
11236         ("Downbow"): Replace calls to `draw_rounded_block' with a single
11237         path.
11238         ("Trill (`tr')"): Replace overlapping loop drawn with `draw' with
11239         partial pieces drawn with `fill' -- these do still overlap with the
11240         stem of the `t' but just once, not multiple times so that fontforge
11241         can handle it gracefully.
11242         Change other parts of the glyph so that fontforge's overlapping
11243         algorithm reliably works.
11244         (draw_heel): Replace `draw' with `fill'.
11245         (draw_toe): Use `draw_accent' instead of `draw_vee'.
11246         ("Flageolet"): Replace `draw' with `penstroke'.
11247         ("Segno"): Replace `filldraw' with `penstroke'.
11248         Replace `draw' with `drawdot'.
11249         ("Coda"): Replace `fill' with `penstroke', using a single path.
11250         ("Varied Coda"): Use less overlapping paths.
11251         (draw_arpeggio_arrow): Replace `filldraw' with `fill', using a
11252         single path.
11254         * mf/feta-slag.mf (draw_trillelement): Put `clearxy' outside of
11255         group to better control the `labels' command.
11256         Rename argument to `offset' and use it actually.  Update all
11257         callers.
11258         Replace `filldraw' with `fill'.
11259         ("mordent", "prallmordent", "upmordent", "downmordent",
11260         "lineprall"): Replace `draw' with `draw_gridline'.
11261         ("upprall", "downprall"): Replace `draw' with `fill'.
11263         * mf/feta-timesig.mf: Formatting.
11265         * mf feta-toevallig.mf (draw_meta_flag): Move code to draw labels
11266         to...
11267         ("Flat"): Here.
11268         (draw_paren): Move code to draw labels to...
11269         ("Right Parenthesis"): Here.
11271 2005-01-02  Graham Percival <gperlist@shaw.ca>
11273         * Documentation/user/notation.itely: add example of \setTextDecresc
11274         and \setTextDim.
11276 2005-01-02  Tatsuya Ono <tats_ono@infoseek.jp>
11278         * scm/define-markup-commands.scm :  fix glyph-strings of
11279         accidentals and \note-by-number
11281 2005-01-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11283         * VERSION: 2.5.6 released.
11284         
11285         * ps/lilyponddefs.ps: put mm -> pt scaling in here.
11287         * input/regression/new-markup-scheme.ly: oops. font-family=music
11288         -> font-encoding fetaMusic.  
11290         * lily/main.cc: put default to PS.
11292         * lily/tfm.cc: idem.
11294         * lily/afm.cc: idem.
11296         * lily/include/modified-font-metric.hh (struct
11297         Modified_font_metric): remove coding_scheme() method.
11299         * input/mutopia/F.Schubert/morgenlied.ly: convert to utf8
11301         * scripts/convert-ly.py (conv): crash on encountering \encoding.
11303         * input/les-nereides.ly: convert to utf8
11305         * lily/modified-font-metric.cc (text_dimension): idem.
11307         * lily/parser.yy (TODO): idem.
11309         * lily/include/lily-lexer.hh (class Lily_lexer): idem.
11311         * lily/lexer.ll: remove encoding
11313         * scm/framework-ps.scm (output-variables): separately scale the
11314         page to mm 
11316         * lily/pango-font.cc (Pango_font): fix scaling.
11318         * lily/font-metric.cc (design_size): design_size returns a
11319         dimension now as well.
11321 2004-12-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11323         * mf/GNUmakefile ($(outdir)/%.otf-table): use findstring. Fixes
11324         brace generation. 
11326         * lily/text-metrics.cc (LY_DEFINE): use scm_c_make_hash_table().
11328 2004-12-30  Jan Nieuwenhuizen  <janneke@gnu.org>
11330         * mf/GNUmakefile (INSTALLATION_OUT_SUFFIXES): Do not try to
11331         install unbuildable Fontmap and Fontmap.lily (Simon Aridis-Lang).
11333 2004-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11335         * mf/GNUmakefile ($(outdir)/%.otf-table): include parmesan20.lisp
11336         in first run as well.
11338         * scm/paper.scm (layout-set-staff-size): use text-font-size in
11339         dimension less points (ie. 12 = 12 point)
11341         * lily/pango-select.cc (select_pango_font): use find_scaled_font().
11343         * lily/all-font-metrics.cc (find_pango_font): set description_
11345         * lily/pango-font.cc (text_stencil): export size as well.
11346         (text_stencil): fix scaling and extents box.
11348 2004-12-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11350         * Documentation/topdocs/NEWS.texi (Top): add -f texstr
11352         * Documentation/user/invoking.itely (Invoking lilypond): document
11353         texstr
11355         * scripts/convert-ly.py (conv): add ancient rules.
11357         * scm/clef.scm (c0-pitch-alist): replace - with .
11359         * scripts/lilypond-book.py (process_snippets): add texstr support.
11361         * scm/framework-texstr.scm (header): change extension to .textmetrics
11363         * lily/lily-parser.cc (parse_file): do try_load_text_metrics for
11364         -f tex.
11366         * lily/text-metrics.cc: new file.
11367         (try_load_text_metrics): new function
11369         * lily/include/text-metrics.hh: new file.
11371 2004-12-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11373         * lily/include/lily-guile.hh (ly_lily_module_constant): rename
11374         ly_scheme_function to ly_lily_module_constant.
11376         * lily/modified-font-metric.cc (text_dimension): try
11377         lookup_tex_text_dimension() first.
11379         * lily/tfm.cc: new function ly:load-text-dimensions
11381 2004-12-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11383         * scm/output-texstr.scm (text): use \lilygetmetrics
11385         * scm/framework-texstr.scm (header): dump in new format.
11387         * tex/lilypond-tex-metrics: new file.
11388         
11389 2004-12-27  Jan Nieuwenhuizen  <janneke@gnu.org>
11391         * lily/pango-font.cc (text_stencil): Quick try at glyph->charcode
11392         mapping.
11393         (index_to_charcode): New method.
11395         * scm/output-ps.scm (glyph-string): 
11396         * scm/output-gnome.scm (glyph-string): Add FONT parameter.
11398 2004-12-26  Jan Nieuwenhuizen  <janneke@gnu.org>
11400         * scm/output-gnome.scm (FIXME-glyph-string): New function.  Cannot
11401         implement fully, need FONT to get to charcode.
11403         * scm/lily.scm (ly:all-stencil-expressions): Add glyph-string.
11405         * scm: Cleanups.
11407         * Documentation/user/changing-defaults.itely: Fix internalsrefs
11408         {Tunable context properties},
11409         {All layout objects},
11410         {Music definitions}.
11412 2004-12-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11414         * VERSION: release 2.5.5
11415         
11416         * lily/main.cc: use TeX as default output format.
11418         * flower/file-path.cc (find): try to open directly as well, so we
11419         find absolute path files. 
11421         * lily/pango-select.cc: new file.
11423         * scm/framework-ps.scm: remove all encoding code. 
11424         load pfb/pfa for PangoFont too.
11425         
11426         * lily/lily-guile.cc (ly_chain_assoc_get): new function.
11428 2004-12-22  Werner Lemberg  <wl@gnu.org>
11430         Prepare glyph shapes for mf2pt1 conversion.
11432         * mf/feta-toevallig.mf ("Double Sharp"): Minor path fix.
11434         * mf/feta-bolletjes.mf (penposx): New auxiliary macro.
11435         (define_triangle_shape): Use it to replace `draw' with `fill' and
11436         `unfill'.  Update all callers.
11437         (draw_slash): Replace `filldraw' with `fill'.  Update all callers.
11438         (draw_cross): Ditto.
11439         ("X-Circled notehead"): Replace `draw' with `fill' and `unfill'.
11440         Use penrazor for better conversion with mf2pt1.
11441         (generic_draw_solfa_note_shape, draw_solfa_note_shape,
11442         draw_solfa_quarter_note_shape, triangle): Removed.  Unused.
11443         (draw_do_head, draw_re_head, draw_mi_head, draw_fa_head,
11444         draw_la_head, draw_ti_head): Replace `filldraw' with
11445         `fill'.  Update all callers.
11447 2004-12-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11449         * lily/paper-book.cc (output): revert: only allow a single output
11450         format.
11452         * lily/include/pango-font.hh: new file.
11454         * lily/pango-font.cc: new file.
11456         * lily/font-metric.cc (text_stencil): new routine
11458         * lily/all-font-metrics.cc (find_pango_font): new routine.
11460         * lily/include/font-metric.hh (struct Font_metric): add
11461         text_stencil()
11463         * configure.in (PKG_CONFIG_PATH): require PANGO_FT2
11465 2004-12-22  Werner Lemberg  <wl@gnu.org>
11467         Prepare glyph shapes for mf2pt1 conversion.
11469         * mf/feta-macros.mf, mf_feta-eindelijk.mf: Some formatting.
11471         * mf/feta-toevallig.mf: Formatting.
11472         (draw_meta_sharp): Modify path to replace `filldraw' with `fill'.
11473         ("Natural"): Fix paths to allow better postprocessing.
11474         (draw_meta_flat): Use `z3l' as additional point in path to get
11475         better conversion with mf2pt1.
11476         Other minor cleanups.
11477         ("3/4 Flat"): Add auxiliary points and modify path to replace
11478         `draw' with `fill'.
11479         ("Double Sharp"): Mirror path segments instead of picture elements
11480         to get a single outline.
11481         Modify path to replace `filldraw' with `fill'.
11483 2004-12-22  Graham Percival  <gperlist@shaw.ca>
11485         * input/test/unfold-all-repeats.ly: added file back.
11487         * Documentation/user/notation.itely,
11488         Documentation/user/programming-interface.itely
11489         Documentation/user/changing-defaults.itely: fixed misc broken
11490         links to input/test/ files.
11492 2004-12-22  Jan Nieuwenhuizen  <janneke@gnu.org>
11494         * tex/texinfo.tex: Update.  We should not be distributing this,
11495         but since we do, use latest version.
11497         * Documentation/user/macros.itexi: Comment-out \fetaflat,
11498         \fetasharp.  Fixes make web.  FIXME: make usable (compatible?) TeX
11499         macros for feta glyphs.
11501 2004-12-22  Graham Percival  <gperlist@shaw.ca>
11503         * Documentation/user/changing-defaults.itely: fix index for set.
11505         * Documentation/user/converters.itely: added convert-ly bugs list
11506         from CVS.
11508 2004-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
11510         * python/lilylib.py (setup_environment): Set GS_FONTPATH, GS_LIB
11511         to empty.  Fixes make web, using gs-gpl-8.01.  In fact,
11512         gs-afpl-8.50 has more trouble with make web (ie, uses *a lot* more
11513         resourses; 3x MAXSIZE, 4x MAXRSS, 1.5x user).
11515         * mf/GNUmakefile (pfa_warning): Use less broken check.
11517         * python/lilylib.py (setup_environment): Remove cruft from
11518         GS_FONTPATH.
11520         * configure.in: Bump mftrace requirement to 1.1.1.
11522 2004-12-20  Jan Nieuwenhuizen  <janneke@gnu.org>
11524         * scm/output-svg.scm (beam): Use polygon.
11526         * scm/lily-library.scm: Bugfix.
11528         * Documentation/user/invoking.itely (Invoking lilypond): Bugfix.
11530         * mf/GNUmakefile (ALL_GEN_FILES): Remove unbuildable Fontmap.lily.
11532 2004-12-19  Werner Lemberg  <wl@gnu.org>
11534         Prepare glyph shapes for mf2pt1 conversion.
11536         * mf/feta-eindelijk: Some formatting.
11537         (multi_rest_x, multi_beam_height): Removed.  Unused.
11538         ("Quarter rest"): Use `intersectiontimes' to create a single
11539         outline.
11540         (rest_crook): Removed.  Unused.
11541         (draw_rest_bulb): Return path (without filling).  Update callers.
11542         Simplified.
11543         (draw_eighth_rest, "16th rest", "32th rest", "64th rest",
11544         "128th rest"): Simplify `pat'.
11545         Create single outline.
11547 2004-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>
11549         * mf/GNUmakefile (ALL_GEN_FILES):
11550         (INSTALLATION_OUT_SUFFIXES): Remove unbuildable fonts.scale.
11552         * scm/output-svg.scm (polygon, draw-line, dashed-line): New
11553         function.
11555 2004-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11557         * scm/output-texstr.scm (placebox): add routine
11559         * VERSION (PACKAGE_NAME): release 2.5.4
11561         * scm/framework-texstr.scm (output-framework): new file.  
11563         * scm/output-texstr.scm: new file. Collect (TEXT . ) calls for TeX
11564         processing.
11566         * Documentation/user/invoking.itely (Invoking lilypond): add SVG
11568         * stepmake/stepmake/metafont-rules.make: make single SVG/PFA/PFB
11569         rule.
11571         * configure.in (gui_b): bump mftrace requirement to 1.1.0
11573         * mf/feta-bolletjes.mf (triangle): add s to 0triangle.
11575         * mf/GNUmakefile (ALL_GEN_FILES): make SVG files too.
11577 2004-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>
11579         * scm/framework-svg.scm (dump-page): Implement landscape.
11581 2004-12-18  Jan Nieuwenhuizen  <janneke@gnu.org>
11583         * lily/main.cc (setup_paths): Add svg to search path.
11585         * scm/output-svg.scm:
11586         * scm/framework-svg.scm: Add pageSet.  Update.
11587         (dump-fonts): New function.
11588         (output-framework): Use it.
11590         * mf/GNUmakefile: 
11591         * buildscripts/gen-bigcheese-scripts.py: Also generate SVG font.
11593 2004-12-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11595         * tex/lilyponddefs.tex: comment out new ifpdf code.
11597 2004-12-17  Jan Nieuwenhuizen  <janneke@gnu.org>
11599         * GNUmakefile.in: 
11600         * SConstruct (symlink): Replace afm by otf.
11602         * scm/framework-gnome.scm (gnome-main): Remove invocation of
11603         ly:pango-add-afm-decoder.
11605         * lily/lily-guile.cc ("ly:pango-add-afm-decoder"): Build fix: Remove.
11607 2004-12-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11609         * scm/output-ps.scm (new-text): don't access t glyph for getting
11610         space dimension.
11612         * ly/init.ly: warn about \version
11614         * lily/lexer.ll: set version-seen?
11616 2004-12-17  Jan Nieuwenhuizen  <janneke@gnu.org>
11618         * scm/output-svg.scm (string->entities): Update.
11620 2004-12-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11622         * lily/main.cc (setup_paths): replace afm by otf for path. 
11624         * lily/pangofc-afm-decoder.cc: remove.
11626         * lily/include/pangofc-afm-decoder.hh: remove.
11628         * scm/framework-scm.scm (output-framework): new file.
11630         * mf/GNUmakefile: remove SAUTER_FONTS.
11631         remove SVG/sodipodi hacks.
11633         * scm/lily-library.scm (stderr): move stderr.
11635         * mf/GNUmakefile: remove AFM support.
11637         * buildscripts/mf-to-table.py (base): remove AFM support.
11639         * lily/open-type-font.cc (design_size): use design_size
11641 2004-12-17  Pedro Kroger  <kroeger@pedrokroeger.net>
11643         * lily/font-metric.cc (LY_DEFINE): Fix the docstring.
11645 2004-12-17  Jan Nieuwenhuizen  <janneke@gnu.org>
11647         * mf/GNUmakefile: Generate combined aybabtu info.
11648         * mf/aybabtu.pe.in (i): Load it.
11650         * scm/framework-tex.scm (otf-font-load-command): Bugfix: subfonts
11651         are not symbols.
11653         * lily/include/open-type-font.hh (count): New method.
11655         * mf/aybabtu.pe.in: Typo.
11657         * Documentation/user/out/lilypond-internals.nexi (Scheme
11658         functions): Typo.
11660         * lily/include/guile-compatibility.hh (SCM_HASHTABLE_P): Add compat.
11662 2004-12-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11664         * buildscripts/gen-bigcheese-scripts.py (i): use symbols for
11665         subfonts.
11667         * scm/output-tex.scm (named-glyph): new function. This fixes TeX output.
11669         * scm/framework-tex.scm (otf-font-load-command): load subfonts.
11670         (tex-font-command-raw): new function.
11672         * lily/include/virtual-font-metric.hh (Module): remove file
11674         * lily/virtual-font-metric.cc (Module): remove file.
11675         
11677         * lily/open-type-font.cc (LY_DEFINE): ly:otf-font-glyph-info
11678         (get_indexed_char): read bbox from lily table if present.
11680 2004-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11682         * mf/GNUmakefile ($(outdir)/aybabtu.subfonts): rule for
11683         aybabtu.subfonts
11685         * mf/feta-beugel.mf (y): don't number consecutively, instead, use
11686         global glyphname. Enables more than 64 glyphs in the OTF.
11688 2004-12-16  Jan Nieuwenhuizen  <janneke@gnu.org>
11690         * scm/font.scm (add-music-fonts): Load aybabtu iso all separate
11691         braces.
11693         * lily/open-type-font.cc (design_size): Use 12 as default for
11694         design size.
11696         * mf/aybabtu.pe.in: New file.  Merge all our braces.
11698         * mf/GNUmakefile: Generate aybabtu.
11700         * tex/lilyponddefs.tex: teTeX 3.0 pdfetex fix.
11702 2004-12-14  Jan Nieuwenhuizen  <janneke@gnu.org>
11704         * scm/lily-library.scm (char->unicode-index): Remove.
11706         * scm/output-gnome.scm (text): Bugfix for plain string input.
11707         Updates.
11709         * scm/output-svg.scm (svg-font): Add weight to font selection.
11711 2004-12-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
11713         * Documentation/topdocs/INSTALL.texi (Top): Point to
11714         buildscripts/out/clean-fonts instead of
11715         buildscripts/clean-fonts.sh. 
11717 2004-12-13  Graham Percival  <gperlist@shaw.ca>
11719         * input/regression/figured-bass.ly: attempt to clarify text.
11721         * Documentation/user/notation.tely: add cindex for tag, attempt to
11722         add figured bass example.
11724         * Documentation/user/changing-defaults: basic editing.
11726 2004-12-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11728         * buildscripts/gen-bigcheese-scripts.py (i): load .subfonts table. 
11730         * lily/open-type-font.cc (LY_DEFINE): new function
11731         ly:font-sub-fonts
11733         * lily/include/font-metric.hh (struct Font_metric): new method
11734         sub_fonts()
11736         * lily/vaticana-ligature-engraver.cc (transform_heads): replace
11737         . with - in add.stem.
11738         
11739 2004-12-13  Jan Nieuwenhuizen  <janneke@gnu.org>
11741         * scm/encoding.scm (coding-alist): Fix encodings for fetaNumber
11742         and fetaDynamic.
11744         * lily/rest.cc (glyph_name): Change - to . .
11746         * scm/output-gnome.scm (text): Hello world, again.
11748         * scm/output-svg.scm (named-glyph): New function.  Hello world!
11750         * lily/modified-font-metric.cc (index_to_charcode): New method.
11752         * lily/include/font-metric.hh (index_to_charcode): New function.
11754         * lily/font-metric.cc (ly:font-glyph-name-to-charcode): Use it in
11755         new function.
11756         (ly:font-glyph-to-index): Remove.
11758 2004-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11760         * lily/open-type-font.cc (make_index_to_charcode_map): new method.
11762         * mf/feta-autometric.mf (code): remove tex name from fet_beginchar.
11764         * lily/open-type-font.cc (load_scheme_table): new function
11766         * lily/dots.cc (print): replace - 
11768         * lily/open-type-font.cc (attachment_point): new function.
11769         (load_table): read LILC table
11771         * buildscripts/gen-bigcheese-scripts.py (Module): new
11772         file. Generate FF scripts.
11774         * mf/feta-din10.mf: idem.
11776         * mf/feta-nummer10.mf: remove mf files.
11778         * mf/feta-alphabet.mf (dynamic_design_size): merge din and number font.
11780 2004-12-12  Jan Nieuwenhuizen  <janneke@gnu.org>
11782         * lily/lily-guile.cc: Use scm_from_locale_stringn.
11784         * lily/include/guile-compatibility.hh (scm_from_locale_stringn): Add
11785         compatibility.
11787 2004-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11789         * lily/open-type-font.cc (get_indexed_char): scale metrics by
11790         design-size and units_per_EM.
11792         * mf/bigcheese.pe.in: set PUA codepoints before loading din & nummer.
11794 2004-12-12  Jan Nieuwenhuizen  <janneke@gnu.org>
11796         * mf/bigcheese.pe.in (i): Map to 0xe000 (PUA) for testing, which
11797         does not crash fontforge.
11799         * scm/lily-library.scm (char->unicode-index): Hack to map onto
11800         PUA.
11802 2004-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11804         * scm/framework-ps.scm (ps-embed-cff): new function.
11806         * lily/lily-guile.cc (LY_DEFINE): make ly:gulp-file binary proof.
11808 2004-12-12  Werner Lemberg  <wl@gnu.org>
11810         * mf/bigcheese.pe.in: Add PUA mapping.
11811         Don't create Type 42 but bare CFF font.
11813 2004-12-12  Jan Nieuwenhuizen  <janneke@gnu.org>
11815         * scm/output-gnome.scm (placebox): Hackery to get bigcheese symbols
11816         within canvas boundaries.
11818         * mf/merge.pe.in: Set font names, version, license GPL.
11820         * make/substitute.make: Add FONTFORGE.
11822         * config.make.in (FONTFORGE): Add.
11824         * configure.in (gui_b): Use PATH_PROG for fontforge.
11826 2004-12-11  Graham Percival  <gperlist@shaw.ca>
11828         * scm/define-markup-commands.scm: add baseline-skip to info
11829         about \column.
11831 2004-12-11  Jan Nieuwenhuizen  <janneke@gnu.org>
11833         * lily/font-metric.cc (ly:font-get-glyph-index): New function.
11835         * scm/output-gnome.scm (named-glyph): Use it.
11837         * scm/lily.scm (ly:all-stencil-expressions): Add named-glyph.
11839         * flower/string.cc (substitute_char): Rename, rewrite, modify this.
11840         (upper_string, lower_string, reverse_string): Remove.
11842         * configure.in (fontforge): Reinstate version check.
11844         * ly/engraver-init.ly: Fix clef glyph names.
11846         * lily/time-signature.cc (special_time_signature): Fix fraction
11847         glyph names.
11849 2004-12-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11851         * mf/merge.pe: new file.
11853         * lily/freetype.cc: new file.
11855         * lily/include/open-type-font.hh (class Open_type_font): new file.
11857         * lily/include/freetype.hh: new file.
11859         * lily/open-type-font.cc: new file.
11861         * lily/all-font-metrics.cc (find_otf): new function.
11863 2004-12-11  Jan Nieuwenhuizen  <janneke@gnu.org>
11865         * lily/time-signature.cc (special_time_signature): Fix.
11867         * configure.in (PKG_CONFIG_PATH): Remove stray `i'.  Check for
11868         GTK2 before checking for pango.  Fixes -fgnome.
11870         * lily/font-metric.cc (LY_DEFINE): Also rename C name to match
11871         Scheme name.
11873         * scm/define-markup-commands.scm:
11874         * scm/safe-lily.scm: Bugfix: ly:font-by-name.
11876         * configure.in: Require makeinfo 4.7 (needed for @ifdocbook).
11878         * stepmake/aclocal.m4 (STEPMAKE_GET_VERSION): Grok fontforge-like
11879         date versions.  Fixes configure.
11880         (STEPMAKE_CHECK_VERSION): Support optional actual program version
11881         argument.
11883 2004-12-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11885         * buildscripts/mf-to-table.py (write_ps_encoding): write real
11886         names in .enc
11888         * lily/*.cc: use '.' iso. '-' for separating glyph name elements.
11890 2004-12-09  Graham Percival  <gperlist@shaw.ca>
11892         * Documentation/user/changing-defaults.itely: add info about
11893         make-dynamic-script
11895         * Documentation/user/notation.itely: add link in dynamics to
11896         section about make-dynamic-script.
11898 2004-12-09  Christian hitz  <chhitz@gmx.net>
11900         * lily/lily-guile.cc: change MACOS_X to __APPLE__
11902 2004-12-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11904         * buildscripts/mf-to-table.py (parse_logfile): use . for
11905         concatting name and group.
11906         (parse_logfile): use M for Minus (negative.)
11908         * lily/include/type-swallow-translator.hh
11909         (DECLARE_EVENT_SWALLOWER): ENTER_DESCRIPTION -> ADD_TRANSLATOR
11911         * lily/*.cc: cosmetics around = sign.
11913         * lily/paper-column.cc (Paper_column): copy rank_. This fixes
11914         lyric spacing on the penultimate column.
11916 2004-12-05  Christian Hitz  <chhitz@gmx.net>
11918         * configure.in:
11919         * lily/accidental-placement.cc:
11920         * lily/bar-line.cc:
11921         * lily/beam-concave.cc:
11922         * lily/beam-quanting.cc:
11923         * lily/beam.cc:
11924         * lily/bezier-bow.cc:
11925         * lily/bezier.cc:
11926         * lily/break-align-interface.cc:
11927         * lily/custos.cc:
11928         * lily/dimension-cache.cc:
11929         * lily/dot-column.cc:
11930         * lily/font-metric.cc:
11931         * lily/font-select.cc:
11932         * lily/gourlay-breaking.cc:
11933         * lily/grob-property.cc:
11934         * lily/grob.cc:
11935         * lily/lily-guile.cc:
11936         * lily/line-spanner.cc:
11937         * lily/lookup.cc:
11938         * lily/lyric-extender.cc:
11939         * lily/lyric-hyphen.cc:
11940         * lily/mensural-ligature.cc:
11941         * lily/midi-def.cc:
11942         * lily/misc.cc:
11943         * lily/note-collision.cc:
11944         * lily/note-column.cc:
11945         * lily/note-head.cc:
11946         * lily/paper-outputter.cc:
11947         * lily/percent-repeat-item.cc:
11948         * lily/rest-collision.cc:
11949         * lily/side-position-interface.cc:
11950         * lily/simple-spacer.cc:
11951         * lily/slur-configuration.cc:
11952         * lily/slur-scoring.cc:
11953         * lily/slur.cc:
11954         * lily/spaceable-grob.cc:
11955         * lily/spacing-spanner.cc:
11956         * lily/spanner.cc:
11957         * lily/staff-symbol-referencer.cc:
11958         * lily/stem.cc:
11959         * lily/stencil.cc:
11960         * lily/system-start-delimiter.cc:
11961         * lily/system.cc:
11962         * lily/text-item.cc:
11963         * lily/tie.cc:
11964         * lily/tuplet-bracket.cc:
11965         * lily/vaticana-ligature.cc: Fix for MacOS X: use <math.h> instead of
11966         <cmath> beacause isinf/isnan is undefined in <cmath>
11968 2004-12-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
11970         * cygwin/lily-wins.py (stat): remove old flag -p when calling lilypond.
11972 2004-12-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11974         * VERSION: release 2.5.3
11975         
11976 2004-11-29  Arno Waschk <arno@arnowaschk.de>
11978         * mf/feta-schrift.mf: added <>-like articulation mark as "espressivo"
11980 2004-12-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11982         * scm/music-functions.scm (cue-substitute): voice counts start at 0.
11984         * lily/note-head.cc (internal_print): always try the "s" head if
11985         u/d not found.
11987         * scm/titling.scm (marked-up-headfoot): reinstate default tagline.
11989 2004-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
11991         * mf/parmesan-heads.mf (overdone_heads): typos.
11993 2004-11-30  Nicolas Sceaux  <nicolas.sceaux@free.fr>
11995         * lily/parser.yy (markup): in markups, { .. } without command
11996         before are also flattened, ie \line must be explicitely used.
11998         * Documentation/user/changing-defaults.itely:
11999         * Documentation/user/notation.itely: 
12000         * input/wilhelmus.ly: 
12001         * input/regression/instrument-name-markup.ly: 
12002         * input/regression/markup-score.ly: 
12003         * input/regression/new-markup-scheme.ly: 
12004         * input/regression/new-markup-syntax.ly: 
12005         * input/test/coriolan-margin.ly: use \line in markups where
12006         appropriate
12007         
12008 2004-11-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
12010         * scm/new-markup.scm (map-markup-command-list): helper function
12011         used in parser.yy to map markup commands on a markup list.
12013         * lily/parser.yy: get rid off < > in markups by treating { } as
12014         real lists.
12016         * lily/lexer.ll: remove < > from markup lexer mode.
12018         * scripts/convert-ly.py (conv): add rule for converting 
12019         \markup < > to \markup { }
12021         * ly/titling-init.ly: 
12022         * input/test/coriolan-margin.ly: 
12023         * input/regression/new-markup-syntax.ly: 
12024         * input/regression/new-markup-scheme.ly: 
12025         * input/regression/multi-measure-rest-text.ly: 
12026         * input/regression/markup-stack.ly: 
12027         * input/regression/markup-score.ly: 
12028         * input/regression/instrument-name-markup.ly: 
12029         * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: 
12030         * input/mutopia/R.Schumann/romanze-op28-2.ly: 
12031         * input/mutopia/J.S.Bach/wtk1-fugue2.ly: 
12032         * input/wilhelmus.ly: 
12033         * Documentation/user/notation.itely: 
12034         * Documentation/user/music-glossary.tely: 
12035         * Documentation/user/changing-defaults.itely: change < > to { } in
12036         markups
12038 2004-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12040         * lily/accidental-placement.cc (position_accidentals): shortcut if
12041         no accidentals to place.
12043 2004-11-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
12045         * scm/define-grob-properties.scm (all-user-grob-properties): fixed
12046         typo s/ly:dimension ?/ly:dimension?/
12048         * input/regression/lily-in-scheme.ly: 
12049         * input/regression/music-function.ly: 
12050         * ly/spanners-init.ly (assertBeamSlope): 
12051         * scm/music-functions.scm (def-grace-function): add the paper
12052         argument to music function definitions.
12054 2004-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12056         * lily/moment.cc (LY_DEFINE):
12057         ly:moment-main-{denominator,numberator}, new function.
12059         * lily/score-engraver.cc (typeset_all): assign to column on basis
12060         of axis-group-parent-X setting.
12062         * lily/axis-group-engraver.cc (process_acknowledged_grobs): do
12063         add_element() on basis of axis-group-parent-Y setting.
12065         * lily/grob.cc: add axis-group-parent-{XY} properties.
12067         * input/regression/spacing-stick-out.ly: new file.
12069         * lily/simple-spacer.cc (add_columns): use binary search for
12070         setting column rods. Changes O(n^2) to O(n log(n)) for
12071         constructing spacing problem from columns.
12072         (add_columns): read allow-outside-line to make sure no texts stick
12073         out.
12074         (solve): Simple_spacer::is_active() only determines
12075         satisfies_constraints_ for non-ragged typesetting.
12077         * lily/simultaneous-music.cc (to_relative_octave): only set
12078         old_relative_used if return pitch actually changed.
12080         * scm/define-context-properties.scm
12081         (all-user-translation-properties): change to match implementation.
12083         * python/lilylib.py: Replace re.match by re.search and adds "-c
12084         showpage" to the gs command line (Johannes Schindelin)
12086         * scm/framework-ps.scm (output-preview-framework): sanitize bbox
12087         before processing. Prevents crash when inf is in the extent.
12089         * scm/define-markup-commands.scm (note-by-number): add "s" to
12090         "noteheads-" glyphname.
12092         * lily/parser.yy (Generic_prefix_music): supply parser argument to
12093         music function as well.
12094         
12095 2004-11-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12097         * VERSION: release 2.5.2
12099         * Documentation/user/changing-defaults.itely (Creating titles):
12100         add breakbefore variable.
12102         * lily/paper-book.cc (set_system_penalty): new function. Set
12103         penalty_ based on breakBefore setting
12105         * lily/context-specced-music-iterator.cc (construct_children):
12106         interpret special context id $uniqueContextId 
12108         * lily/context.cc (create_unique_context): new method. Move
12109         creation of unique (\new) contexts into interpreting phase. This
12110         makes
12112           foo= \new Staff ..
12113           << \foo \foo >>
12115         produce 2 staves.
12116         
12118         * scm/define-music-properties.scm (all-music-properties): add
12119         quoted-voice-direction
12121         * ly/music-functions-init.ly: killCues function.
12123         * scm/music-functions.scm (cue-substitute): move creation of voice
12124         contexts further to the back. 
12126 2004-11-25  Werner Lemberg  <wl@gnu.org>
12128         * tex/GNUmakefile ($(outdir)/latin1.enc): Replace `/minus' with
12129         `/hyphen' in encoding vector to get correct glyph name for EC fonts.
12131 2004-11-24  Erik Sandberg  <ersa9195@student.uu.se>
12133         * buildscripts/guile-gnome.sh: Fixed typo.
12135 2004-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12137         * lily/lexer.ll: add < >  to markup lexer mode (backportme)
12139         * scripts/abc2ly.py (dump_slyrics): add ord(). 
12141         * lily/note-heads-engraver.cc (process_music): add shapeNoteStyles
12142         to regular engraver. 
12144 2004-11-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12146         * mf/feta-bolletjes.mf (triangle): rewrite solfa heads.
12148 2004-11-22  Jan Nieuwenhuizen  <janneke@gnu.org>
12150         * scm/define-markup-commands.scm (fill-line): Typo.
12152         * buildscripts/guile-gnome.sh (GGVERSION): Build update for 2.7.96
12153         and newer.
12155 2004-11-22  Erik Sandberg  <ersa9195@student.uu.se>
12157         * ly/dynamic-scripts-init.ly: Fixed typo.
12159 2004-11-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12161         * mf/feta-bolletjes.mf (overdone_heads): cleanup triangle
12162         note-head, to have different attachment points for up and down.
12164         * mf/feta-bolletjes.mf: merge solfa heads into main note heads.
12166         * mf/feta-generic.mf (else): remove solfa.
12168         * mf/feta-bolletjes.mf (tishape): remove unicode test.
12170         * scm/define-context-properties.scm
12171         (all-user-translation-properties): add shapeNoteStyles property.
12173         * lily/shape-note-heads-engraver.cc (process_music): new file.
12175         * lily/event.cc (transpose): call Event::transpose() for
12176         transposing the tonic.
12178 2004-11-21  Jan Nieuwenhuizen  <janneke@gnu.org>
12180         * scm/output-gnome.scm: Save some pointers about pango/fontconfig
12181         Unicode/OpenType and AFM.
12183         * lily/include/guile-compatibility.hh (scm_from_bool): Add.
12185 2004-11-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12187         * lily/grob.cc (Grob): idem. Plugs mem leaks. 
12189         * lily/context.cc (Context): unprotect key from ctor.
12191         * scm/stencil.scm (stack-lines): return empty-stencil if argument
12192         is '()
12193         (stack-stencils): idem.
12195         * Documentation/user/changing-defaults.itely (Creating titles):
12196         document new title layout options.
12198         * lily/parser.yy (lilypond_header_body): copy previous
12199         $globalheader if present.
12201         * lily/ly-module.cc (LY_DEFINE): rename ly:import-module to
12202         ly:module-copy
12203         
12204         * scm/page-layout.scm (marked-up-headfoot): remove old functions.
12206         * scm/titling.scm: remove old titling functions
12208         * lily/stencil.cc (translate): remove absolute dimension.
12210         * ly/titling-init.ly (oddFooterMarkup): new file. Generate titles
12211         via markup.
12213         * scm/page-layout.scm (marked-up-headfoot): create header/footer
12214         field from user-supplied markup
12216         * scm/define-markup-commands.scm (on-the-fly): new markup
12217         command. Enter SCM markup procedure directly in Scheme.
12218         (fromproperty): new markup command. Read markup from props argument.
12220         * scm/titling.scm (marked-up-title): create title via
12221         user-specified markup. 
12223         * scm/define-markup-commands.scm (column): remove empty stencils
12224         from column.
12226         * lily/ly-module.cc (LY_DEFINE): use ly_module_lookup(). This does
12227         not have side-effect of creating variable stub.
12229         * lily/stencil-scheme.cc (LY_DEFINE): add ly:stencil-empty?
12231 2004-11-21  Jan Nieuwenhuizen  <janneke@gnu.org>
12233         * scm/encoding.scm (coding-alist): 
12234         * scm/font.scm (add-ec-fonts):
12235         * ly/paper-defaults.ly: Use actual name for EC fontencoding:
12236         Extended-TeX-Font-Encoding---Latin.
12238         * lily/side-position-interface.cc (general_side_position): Add
12239         actual offset to error message (avoid constant error messages).
12241         * lily/all-font-metrics.cc (find_font): Add "lm" to try-AFM-first
12242         block.
12244         * lily/font-select.cc (select_encoded_font)
12245         (get_font_by_mag_step, get_font_by_design_size): 
12246         * lily/modified-font-metric.cc (Modified_font_metric): 
12247         * lily/paper-def.cc (find_scaled_font): Add font_encoding parameter.
12249         * scm/encoding.scm (coding-alist): Add fetaDynamic.
12250         (read-encoding-file): Bugfix: do not require space after bracket.
12252         * scm/font.scm (add-cork-lm-fonts): Remove lmbxi8 and lmbxi14,
12253         these do not exist.
12255 2004-11-20  Graham Percival  <gperlist@shaw.ca>
12257         * Documentation/user/notation.itely: added info about typesetting
12258         boxed bar numbers.
12260 2004-11-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12262         * flower/interval.cc (T_to_string): gcc4 fixes.
12264         * scm/define-markup-commands.scm (fill-line): use
12265         stack-stencils. This fixes problems with putting already centered
12266         stencils in a line.
12268         * VERSION: release 2.5.1
12270         * lily/bar-line.cc (get_staff_bar_size): add line thickness.
12272 2004-11-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12274         * input/example-[1-3].ly: simplify.
12276         * lily/cluster-engraver.cc (try_music): react to busy-playing-event
12278         * scm/output-ps.scm (new-text): new function. Use glyphshow to
12279         show glyphs.
12281         * scm/encoding.scm (decode-byte-string): new function.
12283         * scripts/convert-ly.py (conv): add warning about
12284         set-global-staff-size.
12286         * Doxyfile: add. 
12288         * scripts/convert-ly.py (conv): add raggedlastbottom rule
12289         (conv): warn for TextSpanner split.
12290         (conv): warn for textheight.
12292 2004-11-19  Jan Nieuwenhuizen  <janneke@gnu.org>
12294         * GNUmakefile.in (install-WWW): Invoke install-info, so that when
12295         building the documentation, info with images are installed.
12296         (final-install): Fix description.  Mention sourcing of login
12297         scripts (instead of running).
12299 2004-11-18  Jan Nieuwenhuizen  <janneke@gnu.org>
12301         * Debian lmodern support.  Note that LilyPond will issue warnings
12302         
12303             no such encoding: "FontSpecific"
12305           The font selection mechanism wants to get the encoding from the
12306           font itself, but the idea of lmodern is that it is usable with
12307           different encodings, ie, Lily should get the encoding from the
12308           font tree, rather than the font itself.  This would require some
12309           more work.
12310         
12311         * configure.in: Test for and accept lmodern if EC fonts not found.
12313         * scm/framework-tex.scm (font-load-command): TeX font name
12314         mangling for latin1 encoded cork-lm fonts.
12315         (convert-to-ps): Load lm.map if available.
12317         * ly/paper-defaults.ly: Use cork-lm encoding if ec is not
12318         available.
12320         * scm/encoding.scm (coding-alist): Add cork-lm encoding.
12322         * scm/font.scm: Add header.  Autoload cork-lm and ec fonts if
12323         available.
12325         * lily/kpath.cc (ly_kpathsea_find_file): Rename.  Do not use
12326         path for absolute file name, that is silly.
12328         * lily/score-engraver.cc (initialize): 
12330         * Documentation/user/GNUmakefile (local-install-info): Invoke
12331         install-info --remove first.
12333         * #include cleanup (Andreas Scherer).
12335 2004-11-18  Heikki Junes  <hjunes@cc.hut.fi>
12337         * input/test/script-abbreviations.ly: fix typos.
12339 2004-11-17  Werner Lemberg  <wl@gnu.org>
12341         * python/lilylib.py (options_help_str): Support pretty-printing of
12342         newlines in fourth element of option description.
12344         * scripts/lilypond-book.py (option_definitions): Use new lilylib
12345         feature.
12346         Sort options.
12348         * Documentation/user/lilypond-book.itely: Finish update.
12350 2004-11-17  Jan Nieuwenhuizen  <janneke@gnu.org>
12352         * Documentation/user/macros.itexi: Add comment about \command.
12354         * Documentation/user/lilypond.tely:
12355         * Documentation/user/lilypond-book.itely: Fix names of lilypond
12356         and lilypond-book nodes, so that `info lilypond' visits the manual
12357         at top level, and `info lilypond-book' visits the lilypond-book
12358         section.
12360         * Documentation/user/GNUmakefile (local-install-info): Fix rules
12361         and packager messages.
12363         * lily/pangofc-afm-decoder.cc: Update test.
12365 2004-11-16  Jan Nieuwenhuizen  <janneke@gnu.org>
12367         * scm/lily-library.scm (char->unicode-index): New function.
12369         * scm/output-gnome.scm: 
12370         * scm/output-svg.scm: Cleanup.  Map custom fonts to PUA.
12372         * Proper naming of file name throughout; s/filename/file[-_]name/.
12374         * lily/modified-font-metric.cc ("ly:font-encoding"): New function.
12376         * lily/pangofc-afm-decoder.cc (pango_fc_afm_get_glyph): Map onto PUA.
12378 2004-11-16  Werner Lemberg  <wl@gnu.org>
12380         * scripts/lilypond-book.py: The Lord has commanded me to use only
12381         tabs for indentation.  Your humble servant obeys.
12383 2004-11-16  Jan Nieuwenhuizen  <janneke@gnu.org>
12385         * scm/output-svg.scm: Font fixes.  Sodipodi now groks svg
12386         including font, if LilyPond-feta font is only feta font in path.
12388         * scm/output-gnome.scm (text): Revert to file name of font if font
12389         has no name.  Fixes ec font selection.
12390         (char): Bugfix: do not utf8 twice.  Fixes clefs.
12392         * scm/framework-svg.scm:
12393         * scm/output-svg.scm: New file.  TODO: figure out how to
12394         do character by index in font.
12396         * scm/output-sodipodi.scm: Remove.
12398         * scm/output-ps.scm (stem): Remove.
12400 2004-11-15  Jan Nieuwenhuizen  <janneke@gnu.org>
12402         * scm/output-gnome.scm (beam): New function.
12403         (slur): Round corners.
12404         (round-filled-box): Round corners.
12406 2004-11-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12408         * scm/output-gnome.scm (beam): add function.
12409         (draw-line): new routine.
12410         (dashed-line): stub; call draw-line
12411         (polygon): new routine.
12413 2004-11-15  Werner Lemberg  <wl@gnu.org>
12415         * Documentation/user/lilypond-book.itely: Revise section on
12416         lilypond-book options.
12417         Other minor fixes.
12419         * scripts/lilypond-book.py: Change indentation to 4.
12420         Minor formatting.
12422 2004-11-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12424         * lily/system.cc (apply_tweaks): new function. Run tweaks on all
12425         grobs that have tweaks specced.
12426         
12427 2004-11-14  Heikki Junes  <hjunes@cc.hut.fi>
12429         * Documentation/user/sound-output.itexi: add code snippets for MIDI.
12431 2004-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>
12433         * lily/font-metric.cc (get_indexed_char_stencil): Bugfix: get
12434         actual char #, not 0 based index.
12436         * lily/system-start-delimiter.cc (staff_brace): Start at 65.
12438         * mf/feta-beugel.mf: Actually start at char #65.  Add header.
12439         Warning: do make -C mf clean.
12441         * lily/context-property.cc: Compile fix.
12443         * scm/output-gnome.scm: Add ec-fonts-mftraced to ~/.fonts.conf.
12444         Grok ec-fonts, braces and dynamics.
12446         * scm/framework-gnome.scm (gnome-main): Register braces with pango.
12448 2004-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12450         * lily/include/tweak-registration.hh: new file.
12452         * lily/tweak-registration.cc: new file.
12454         * scm/framework-gnome.scm (save-tweaks): use new key mechanism for
12455         saving tweaks.
12457         * scm/output-gnome.scm (text): comment dribble.
12459 2004-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>
12461         * lily/pangofc-afm-decoder.cc (main): Test more feta fonts.
12463         * scm/output-gnome.scm (bezier-sandwich): New function.  Reset
12464         path-def before using.  Fixes muchtomany slurs in wrong places
12465         bug.
12467 2004-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12469         * lily/grob-scheme.cc (LY_DEFINE): add new function ly:grob-key.
12471         * lily/include/object-key-undumper.hh (Module): new file.
12473         * lily/object-key-undumper.cc (Module): New file. Deserialize
12474         keys. SCM bindings
12476         * lily/object-key-dumper.cc (Object_key_dumper): idem.
12477         Provide SCM bindings.
12479         * lily/include/object-key-dumper.hh (class Object_key_dumper): 
12480         new file. Serialize object keys.
12481         
12482         * lily/object-key.cc (dump): new function.
12483         (as_scheme): new virtual function
12484         (undump): new function
12485         (undumpers): new table.
12487         * lily/include/global-context.hh (Context): take \score key upon init.
12489         * lily/object-key-dumper.cc (serialize_key): new file.
12491         * lily/include/object-key-dumper.hh (class Object_key_dumper): new file.
12493         * lily/lily-lexer.cc: remove \quote.
12495         * lily/lookup.cc (triangle): rewrite, obviating symmetric_x_triangle().
12497         * lily/context.cc (Context): take key argument in ctor.
12498         (create_context): new function
12500         * lily/grob.cc (Grob): take key argument in ctor.  
12502         * lily/lilypond-key.cc (do_compare): new file.
12504         * lily/object-key.cc (Object_key): new file.
12506         * lily/include/object-key.hh (class Object_key): new file.
12508         * lily/include/lilypond-key.hh (class Lilypond_context_key): new file.
12510 2004-11-13  Graham Percival  <gperlist@shaw.ca>
12512         * Documentation/user/lilypond-book.itely: add small warning about
12513         noindent default in lilypond-book.
12515         * Documentation/user/converters.itely: add examples for convert-ly.
12517         * Documentation/user/examples.itely: change version string in templates
12518         to 2.4.0.
12520 2004-11-12  Karl Hammar  <karl@aspodata.se>
12522         * GNUmakefile.in (local-WWW-post): `find ...` overflows the
12523         cmdline, use xargs instead (backportme)
12525 2004-11-10  Andreas Scherer  <andreas_mutopia@freenet.de>
12526         
12527         * Documentation/user/: Numerous fixes in the user manual.
12529 2004-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12531         * lily/parser.yy (re_rhythmed_music): search music expression for
12532         context-id, surround by \new Voice if not found. Fixes:
12533         addlyrics-second-staff.ly
12535         * VERSION: 2.5.0 released.
12536         
12537 2004-11-12  Jan Nieuwenhuizen  <janneke@gnu.org>
12539         * Documentation/index.html.in: Fix url to one big page.  (backportme)
12541         * Documentation/user/GNUmakefile: Separate rules for split and
12542         unsplit html documents.  Remove perl massaging.  (backportme)
12544 2004-11-11  Graham Percival  <gperlist@shaw.ca>
12546         * Documentation/user/lilypond-book.itely: add short warning about
12547         \lilypond{} in LaTeX docs.
12549 2004-11-11  Jan Nieuwenhuizen  <janneke@gnu.org>
12551         * stepmake/aclocal.m4: Barf if kpathsea/kpathsea.h is not
12552         found.  (backportme)
12554         * Documentation/topdocs/INSTALL.texi (ec-fonts-mtraced): Add
12555         version requirement.  (backportme)
12557         * configure.in: Be explicit about old versions of
12558         ec-fonts-mtraced.  (backportme)
12560         * lily/context-selector.cc (set_tweaks): New function.
12561         * lily/grob-selector.cc (set_tweaks): (Re)set hash table.  Fixes
12562         web with -DTWEAK.
12564         * Documentation/user/introduction.itely (Automated engraving):
12565         Remove fragment option.  Fixes web.
12567         * lily/context-property.cc (make_item_from_properties):
12568         * lily/context.cc (add_context)[TWEAK]: Tweak registration behind
12569         #ifdef.
12571         * scm/define-context-properties.scm
12572         (all-internal-translation-properties): Add tweakRank and tweakCount.
12574         * lily/grob.cc: 
12575         * scm/define-grob-properties.scm (all-internal-grob-properties):
12576         Add tweak-rank and tweak-count.
12578 2004-11-10  Jan Nieuwenhuizen  <janneke@gnu.org>
12580         * scm/output-gnome.scm (string->utf8-string, char->utf8-string):
12581         New function.
12582         (text): Use them.
12584         * scm/framework-gnome.scm (item-event): Add support from TLA.  Support
12585         animated/opaque grob dragging tweaks.
12587         * buildscripts/guile-gnome.sh: Update.
12589 2004-11-10  Mats Bengtsson  <mabe@drongo.s3.kth.se>
12591         * scm/define-grobs.scm (all-grob-descriptions): Added
12592         line-interface to the LigatureBracket object.
12594 2004-11-10  Jan Nieuwenhuizen  <janneke@gnu.org>
12596         * scm/framework-gnome.scm (item-event): Support non-animated mouse
12597         dragging tweaks.
12599         * lily/lily-guile.cc (ly_to_string, ly_to_symbol): New function.
12601         * lily/context-selector.cc (store_context): New function.
12603         * lily/grob-selector.cc (register_grob)[TWEAK]: Apply tweak.
12604         (store_grob): New function.
12605         (identify_grob): Add Moment parameter.
12607         * lily/lily-parser.cc (parse_file)[TWEAK]: Read .ly.t file if it
12608         exists.
12610         * scm/framework-gnome.scm (save-tweaks): Write as alist.
12612 2004-11-09  Jan Nieuwenhuizen  <janneke@gnu.org>
12614         * scm/framework-gnome.scm (item-event): Print grob id.
12615         (save-tweaks): New function.
12616         (tweak): New funtion.
12617         (item-event): Use it, bound to arrow keys.
12619         * lily/context-property.cc (make_item_from_properties): Register grob.
12620         * lily/context.cc (add_context): Register context.
12622         * lily/include/context-selector.hh:
12623         * lily/include/grob-selector.hh:
12624         * lily/context-selector.cc:
12625         * lily/grob-selector.cc: New file.
12627 2004-11-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12629         * lily/slur.cc: add 'positions to interface
12631         * lily/main.cc: reinstate PS as standard output format. 
12633         * scm/framework-tex.scm (output-preview-framework): print systems
12634         up to first non title system.
12636         * lily/grace-engraver.cc (start_translation_timestep): split
12637         scm_cadddr
12638         
12639 2004-11-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12641         * lily/quote-iterator.cc (Module): remove old quote-iterator
12643         * scm/define-music-types.scm (music-descriptions): move
12644         NewQuoteMusic over QuoteMusic
12646         * Documentation/user/notation.itely (Formatting cue notes): use
12647         \cueDuring.
12649         * lily/new-quote-iterator.cc (quote_ok): new function.
12651         * input/regression/quote-cue-during.ly: new file.
12653         * input/regression/quote-grace.ly: new file.
12655         * scm/define-context-properties.scm (Module): change definition of
12656         graceSettings
12658         * lily/context-property.cc (Module): rename from
12659         translator-property.cc
12661         * lily/context.cc (context_name_symbol): new function
12663         * lily/grace-engraver.cc: new file. Set properties for grobs based
12664         on the grace-ness of now_moment().
12666         * scm/music-functions.scm (add-grace-property): use list
12667         iso. vector for graceSettings
12668         remove set-{start,stop}-grace-properties. 
12670         * lily/new-quote-iterator.cc (construct_children): set
12671         quote_outlet_ if no quoted-context-{id,type} specified.
12673         * scripts/convert-ly.py (conv): \quote -> \quoteDuring.
12675         * lily/parser.yy (command_element): remove \quote.
12677         * ly/music-functions-init.ly (location): add quoteDuring music
12678         function. 
12680         * lily/lexer.ll: allow \encoding in lyrics as well.  Remove
12681         optional semicolon. (backportme)
12683 2004-11-06  Jan Nieuwenhuizen  <janneke@gnu.org>
12685         * python/GNUmakefile (STEPMAKE_TEMPLATES): Unset USER_LDFLAGS, no
12686         need to link to GUILE et al.
12688 2004-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12690         * scm/define-music-properties.scm (all-music-properties): add
12691         quoted-context-type, quoted-context-id.
12693         * scm/lily.scm (type-check-list): new function.
12694         
12695         * scm/lily-library.scm: new file. Generic library routines.
12697         * lily/parser.yy (Generic_prefix_music): move typechecking out of
12698         parser.
12700         * ly/music-functions-init.ly: add quoteDuring function.
12702         * lily/include/music-iterator.hh (class Music_iterator): rename
12703         set_translator -> set_context
12705         * lily/parser.yy (Generic_prefix_music_scm): add
12706         MUSIC_FUNCTION_SCM_SCM_MUSIC
12708         * scm/lily.scm (sanitize-command-option): new function. (backportme)
12710         * scm/framework-tex.scm (header): sanitize TeX paper size.
12711         (backportme)
12713 2004-11-06  Jan Nieuwenhuizen  <janneke@gnu.org>
12715         * elisp/lilypond-indent.el (LilyPond-indent-level): 2 is now standard.
12717         * tex/lilyponddefs.tex: If no inputencoding use latin1.  (backportme)
12719         * scm/framework-tex.scm (font-load-command): Use T1 if no
12720         font-encoding set.  (backportme)
12722         * scm/lily.scm (postscript->pdf): Remove .pdf file if it
12723         exists before converting.  (backportme)
12725         * scm/framework-tex.scm (convert-to-dvi): Remove .dvi file if it
12726         exists before converting.  (backportme)
12727         (convert-to-ps): Remove .ps file if it exists before
12728         converting.  (backportme)
12730         * lily/lexer.ll: Remove extra progress newline, use present tense.
12732         * scm/paper.scm (paper-alist): public.
12733         * scm/framework-tex.scm (convert-to-ps):
12734         * scm/lily.scm (postscript->pdf): Do not leak papersizename into
12735         command line.
12737 2004-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12739         * scm/lily.scm (ly:system): add > /dev/null 2>&1 . (backportme)
12741         * lily/recording-group-engraver.cc (derived_mark): mark
12742         now_events_. (backportme)
12744 2004-11-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12746         * mf/GNUmakefile: use Fedora-3 in download link. (backportme.)
12748         * scm/framework-tex.scm (convert-to-dvi): use ly:system for
12749         invoking latex. (backportme.)
12751         * lily/stem.cc (off_callback): center stems for all rest stems.
12753 2004-11-05  Werner Lemberg  <wl@gnu.org>
12755         * Documentation/user/lilypond.tely: Add more guidelines for writing
12756         lilypond texinfo documents.
12758 2004-11-05  Heikki Junes  <hjunes@cc.hut.fi>
12760         * Documentation/index.html.in: remove <hr>.
12762         * THANKS: change 2.3 to 2.4.
12764 2004-11-05  Jan Nieuwenhuizen  <jannneke@gnu.org>
12766         * scm/output-gnome.scm: More fontconfig comment.
12768 2004-11-05  Pedro Kroger  <kroeger@pedrokroeger.net>
12770         * GNUmakefile.in ($(builddir)/share/lilypond-force): create the
12771         <package> directory in $(builddir)/share according with
12772         PACKAGE_NAME defined in the VERSION file.
12774 2004-11-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12776         * lily/beam.cc (rest_collision_callback): use local beam
12777         multiplicity.
12779         * input/regression/stem-stemlet.ly: new file.
12781         * lily/stem.cc (add_head): store rests as well.
12783         * scm/define-grob-properties.scm (all-user-grob-properties): add
12784         stemlet-length
12786         * lily/stem.cc: store rests as well.
12787         
12788         * input/regression/new-slur.ly: mention forcing.
12790 2004-11-04  Werner Lemberg  <wl@gnu.org>
12792         * Documentation/user/*: A new round of layout fixes and document
12793         structure cleanup.
12795 2004-11-04  Heikki Junes <hjunes@cc.hut.fi>
12797         * Documentation/user/lilypond.tely: changes 2.3.x to 2.5.x.
12799 2004-11-04  Jan Nieuwenhuizen  <janneke@gnu.org>
12801         * Documentation/topdocs/INSTALL.texi (Top): Remove geometry.
12803 2004-11-03  Jan Nieuwenhuizen  <janneke@gnu.org>
12805         * Documentation/topdocs/INSTALL.texi (Top): Fix geometry url (dax).
12807         * lily/lily-parser.cc (LY_DEFINE): Remove "Now " from message.
12809         * lily/main.cc (main): Invoke identify.
12811         * scm/lily.scm (postscript->pdf): Remove progress newline.
12812         Write progress to stderr.
12814         * lily/paper-book.cc (output): Remove progress newline.
12816         * scm/framework-tex.scm (convert-to-dvi, convert-to-ps): Call
12817         gettext on user messages, and remove whitespace.
12819         * lily/paper-outputter.cc (get_paper_outputter): Add progress newline.
12821         * scripts/lilypond-latex.py (program_name): Bugfix: use only basename of
12822         argv[0] (Thomas Scharkowski).
12824         * configure.in: Bugfix: add REQUIRED parameter to STEPMAKE_TEXMF
12825         call (carlyannehorse).  Also check for mf and mf-nowin.  Add check
12826         for ec-fonts-mtraced.
12828         * GNUmakefile.in (builddir-exec): Add symlink tex/out.  Fixes
12829         --srcdir build (Bertalan).
12831         * stepmake/aclocal.m4 (STEPMAKE_GUILE_DEVEL): Check for guile
12832         headers and library too (Laura Conrad).
12834         * Documentation/topdocs/INSTALL.texi (Top): Mention development
12835         package for guile too (Laura Conrad).
12837         * lily/main.cc (usage): Typo.
12839 2004-11-02  Werner Lemberg  <wl@gnu.org>
12841         * Documentation/user/notation.ly: More fixes to improve appearance.
12843         * tex/texinfo.tex: Updated from texinfo CVS -- this version provides
12844         better output for multicolumn tables.
12846 2004-11-01  Mats Bengtsson  <mabe@drongo.s3.kth.se>
12848         * lily/main.cc (dir_info): Fixed typo in the printouts.
12850 2004-11-01  Werner Lemberg  <wl@gnu.org>
12852         * buildscripts/mf-to-table.py (write_fontlist): Improve formatting
12853         of output.
12854         Set `per_line' to 2; replace hard-coded value with it.
12856         * Documentation/user/*: Many fixes to improve appearance of
12857         printed manual.
12859 2004-11-01  Werner Lemberg  <wl@gnu.org>
12861         * Documentation/user/changing-defaults.itely,
12862         Documentation/user/notation.ly,
12863         Documentation/user/programming-interface.itely: Use @/.
12864         Fix formatting of some lilypond snippets and tables.
12866         * scripts/lilypond-book.py (compose_ly): Provide useful default
12867         for LINEWIDTH in `override'.
12869 2004-10-31  Graham Percival  <gperlist@shaw.ca>
12871         * Documentation/user/invoking.itely: change "3.0" -> "2.4"
12873 2004-10-31  Werner Lemberg  <wl@gnu.org>
12875         Resetting @exampleindent to `5' gives ugly results with texinfo's
12876         DVI output.  Use `@format @exampleindent 0 ... @end format' instead
12877         (if not quoting) to change @exampleindent only locally.
12879         * scripts/lilypond-book.py (NOQUOTE): New variable.
12880         (output) [LATEX]: Remove AFTER and BEFORE.
12881         [TEXINFO]: Remove AFTER and BEFORE.
12882         Fix QUOTE and VERBATIM pattern.
12883         Add NOQUOTE pattern.
12884         (Lilypond_snippet) [output_info, output_latex]: Don't handle AFTER
12885         and BEFORE.
12886         [output_texinfo]: Use NOQUOTE.
12888 2004-10-31  Graham Percival  <gperlist@shaw.ca>
12890         * Documentation/user/changing-defaults.itely: clarify paper
12891         size commands with correct info.
12893         * Documentation/user/lilypond-book.itely: add more docs for
12894         filename extensions.
12896 2004-10-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
12898         * VERSION (PATCH_LEVEL): Branch lilypond_2_4, release 2.4.0
12899         (PATCH_LEVEL): start 2.5.0.
12901 #Local variables:
12902 #coding: utf-8
12903 #End: