don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC
[lilypond.git] / ChangeLog
blob203ff58d4b13d61eb3806cb1d801d5071331dca4
1 2006-11-01  Joe Neeman  <joeneeman@gmail.com>
3         * lily/optimal-page-breaking.cc (try_page_spacing): don't average
4         page and line forces.
6 2006-11-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
8         * GNUmakefile.in (SUBDIRS): remove cygwin dir too.
10 2006-10-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
12         * Documentation/user/GNUmakefile: 
13         don't use ImageMagick, use GS directly.
15         * mf/GNUmakefile: 
16         otf depends on otf-g?table. Fixes race condition in -j2 build.
17         (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)
19         * mf/GNUmakefile: 
20         rm fontdir target.
22         * mf/GNUmakefile: 
23         remove .deb/.rpm downloading.
25         * buildscripts/git-update-changelog.py: 
26         bugfixes for git-update-changelog.py
28         * Documentation/user/GNUmakefile: 
29         remove .eps rules
31 2006-10-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
33         * input/regression/tie-semi-single.ly:
34         use position/direction from single tie case too. This fixes
35         overrides and defaults for single laissez-vibrer and repeat ties.
37         * buildscripts/git-update-changelog.py: 
38         only prepend header if one patch was successful.
40 2006-10-31  Jan Nieuwenhuizen  <janneke@gnu.org>
42         * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
43         stuff.  Remove cygwin packaging stuff.
45 2006-10-30  Jan Nieuwenhuizen  <janneke@gnu.org>
47         * python/convertrules.py (conv): Part 2 fixes vertical extent.
49         * input/test/vertical-extent.ly: Fix and elaborate on vertical
50         staff extent.  (Thanks Mats)
52 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
54         * buildscripts/git-update-changelog.py (main): write .msg and cvs
55         command.
57         * scm/define-grobs.scm: 
58         separation-items have width
59         
60         * VERSION: 
61         bump version
62         
63         * .gitignore: 
64         * Documentation/topdocs/NEWS.tely: 
65         * lily/separating-group-spanner.cc: 
66         * lily/slur-engraver.cc: 
67         * lily/slur-scoring.cc: 
68         * scm/define-grobs.scm: 
69         * input/regression/slur-clef.ly:
70         add breakableSeparationItem to extra encompass for slurs. This
71         fixes slur/clef slur/key collisions etc. Should fix #49
72         
73         * lily/include/slur-scoring.hh: 
74         * lily/slur-scoring.cc: 
75         Use X of separation item as slur start. Fixes #120
77 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
79         * buildscripts/git-update-changelog.py (changelog_body): don't
80         write committishes.
82         * lily/grob.cc: add avoid-slur
84 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
86         * emacsclient.patch: 
87         * server.el.patch: 
88         move server/emacsclient to elisp/
90         * buildscripts/git-update-changelog.py (Commit.note_del_file):
91         apply patches too
93         * elisp/server.el.patch: 
94         move emacs patches.
96         * elisp/emacsclient.patch: 
97         emacsclient too.
99         * buildscripts/git-update-changelog.py: 
100         ignore ChangeLog
102         * .gitignore: 
103         update
105         * ChangeLog: 
106         * buildscripts/git-update-changelog.py: 
107         script to update ChangeLog with Git messages.
109         * lily/beam-engraver.cc: 
110         * input/regression/rest-pitched-beam.ly: 
111         don't set callback if staff-position set. Fixes #126.
113         * lily/bar-number-engraver.cc: 
114         * lily/beam.cc: 
115         * lily/fingering-engraver.cc: 
116         * lily/grob-property.cc: 
117         * lily/grob.cc: 
118         * lily/include/grob.hh: 
119         * lily/include/lily-guile-macros.hh: 
120         * lily/mark-engraver.cc: 
121         * lily/melody-engraver.cc: 
122         * lily/script-column.cc: 
123         * lily/tie-formatting-problem.cc: 
124         * lily/tie.cc: 
125         internal_get_property_data() using ly_symbol2scm()
127         * stepmake/stepmake/generic-targets.make: 
128         create .gitignore in outdir.
130         * .gitignore: 
131         new file.
133 2006-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
135         * input/test/vertical-extent.ly: 
136         * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
138 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
140         * stepmake/bin/add-html-footer.py (compose): remove setgcos
142 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
144         * GNUmakefile.in (install-help2man): install-help2man target. 
146 2006-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
148         * SConstruct (configure): Do not check for /bin/sh.
150 2006-10-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
152         * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
153         files.
155         * Documentation/topdocs/NEWS.tely (Top): add FretBoards example. 
157         * input/regression/fret-boards.ly: new file.
159         * po/de.po: new po courtesy translation team.
161         * scripts/lilypond-book.py (get_option_parser): add newline to doc
162         string.
164 2006-10-27  Mats Bengtsson  <mabe@drongo.s3.kth.se>
166         * ly/gregorian-init.ly (neumeDemoLayout): update
167         minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent 
169         * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
170         obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
172 2006-10-27  Erlend Aasland  <erlenda@gmail.com>
174         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
175         Yet another build fix.
177 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
179         * SConstruct (lilypondprefix): use sorted() for list_sort()
180         indent 4
182 2006-10-26  Jan Nieuwenhuizen  <janneke@gnu.org>
184         * flower/SConscript: Unit test rules.
186         * flower/test-std.cc: Compile fix.
188 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
190         * python/midi.c (pymidi_parse_track): warning fixes.
192         * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
193         include dot-column.hh
195 2006-10-26  Graham Percival  <gpermus@gmail.com>
197         * Documentation/user/{basic-, global}: minor changes from mailist.
199 2006-10-26  Erlend Aasland  <erlenda@gmail.com>
201         * scm/define-grobs.scm: trivial beautification
203         * lily/tie-performer.cc: no need to #include "pqueue.hh"
205         * lily/source-file.cc: put multibyte var inside #if clause
207         * scm/define-grob-interfaces.scm:
208         * scm/define-grob-properties.scm:
209         Build fix (string-fret-finger-combinations)
211         * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
212         lexer-gcc-3.1.sh
214         * Documentation/user/lilypond-book.itely: Build fix.
216 2006-10-26  Joe Neeman  <joeneeman@gmail.com>
218         * lily/system.cc (get_paper_system): 
219         * lily/paper-book.cc (systems): 
220         move most of the backwards compatibility stuff into
221         Paper_book::systems
223         * Documentation/topdocs/NEWS.tely: add 2 entries for the
224         page breaking stuff
226         * Documentation/user/page.itely: remove time-scaled-music
227         bug for the Page_turn_engraver
229         * lily/paper-book.cc (set_system_penalty): backwards
230         compatibility (breakbefore) for the old page breaker
232 2006-10-25  Graham Percival  <gpermus@gmail.com>
234         * Diocumentation/user/instrument-notation.itely: added more
235         info about stanzas; thanks Geoff!
237         * Documentation/user/ {basic, advanced}: small fixes from
238         mailist.
240         * THANKS: add some bug reporters.
242 2006-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
244         * scm/define-context-properties.scm (all-user-translation-properties):
245         noteToFretFunction: Add.
247         * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
248         fret-diagram-interface (WAS: fret-board-interface).  Fixes build.
250 2006-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
252         * flower/file-name.cc (dos_to_posix): Help std::string.copy with
253         trailing zero.
255         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
256         Remove bashism in delete.
258 2006-10-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
260         * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
262         * scm/translation-functions.scm (determine-frets-mf): flatten let*
264         * scm/define-context-properties.scm
265         (all-user-translation-properties): add maximumFretStretch property.
267         * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
269         * lily/source-file.cc (get_counts): use multibyte variable.
271         * scm/translation-functions.scm (determine-frets-mf): new
272         function: compute fret numbers. 
274         * scm/output-lib.scm (string-frets->description) new function.
275         (fret-board::calc-stencil): new function
277         * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
279         * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob. 
281         * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
283         * lily/tab-note-heads-engraver.cc: cleanups.
285         * lily/fretboard-engraver.cc: new file
287         * ly/engraver-init.ly: add FretBoards context
289 2006-10-24  Joe Neeman  <joeneeman@gmail.com>
291         * lily/grob.cc (pure_relative_y_coordinate)
292         (pure_height): use the new call_pure_function stuff
294         * lily/grob-property.cc (call_pure_function): wrapper for the scheme
295         call-pure-function
297         * lily/side-position-interface.cc (pure_y_aligned_side): add an
298         optarg
300         * lily/simple-closure.cc (ly_eval_simple_closure): make
301         simple-closure evaluatable from scheme
302         (evaluate_with_simple_closure): make simple-closures pure-
303         evaluatable
305         * lily/slur.cc (pure_outside_slur_callback): new function
307         * ly/paper-defaults.ly: change default blank-page-force to 2 (this
308         fits in with previous changes that made the page forces much
309         smaller)
311         * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
312         and pure-Y-extent into this new function.
313         (pure-conversions-alist): add outside-slur-callback
315 2006-10-24  Mats Bengtsson  <mabe@drongo.s3.kth.se>
317         * Documentation/user/advanced-notation.itely (Instrument names):
318         Remove obsolete bug workaround for instrument names on piano
319         staff. 
321 2006-10-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
323         * Documentation/user/lilypond-book.itely (Integrating DocBook and
324         music): patch by Bertalan Fodor for docbook.
326         * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
327         of $(LILYPOND). Prevents lilypond run for .txt files.
329         * INSTALL.txt: gitness.
331         * .cvsignore: update to force gitness. 
333 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
335         * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
336         detect suicide in nested tuplets.
338 2006-10-23  Werner Lemberg  <wl@gnu.org>
340         * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
341         typo in argument to FT_Get_X11_Font_Format.
343 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
345         * stepmake/stepmake/po-vars.make: more gitness.
347         * flower/polynomial.cc (check_sol): no empty if bodies. 
349 2006-10-30  Jan Nieuwenhuizen  <janneke@gnu.org>
351         * stepmake/stepmake/po-vars.make: Resolve.
353 2006-10-29  Jan Nieuwenhuizen  <janneke@gnu.org>
355         * stepmake/stepmake/po-vars.make: test change for GIT gateway.
357 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
359         * buildscripts/git-update-changelog.py (main): write .msg and cvs
360         command.
362         * scm/define-grobs.scm: 
363         separation-items have width
364         
365         * VERSION: 
366         bump version
367         
368         * .gitignore: 
369         * Documentation/topdocs/NEWS.tely: 
370         * lily/separating-group-spanner.cc: 
371         * lily/slur-engraver.cc: 
372         * lily/slur-scoring.cc: 
373         * scm/define-grobs.scm: 
374         * input/regression/slur-clef.ly:
375         add breakableSeparationItem to extra encompass for slurs. This
376         fixes slur/clef slur/key collisions etc. Should fix #49
377         
378         * lily/include/slur-scoring.hh: 
379         * lily/slur-scoring.cc: 
380         Use X of separation item as slur start. Fixes #120
382 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
384         * buildscripts/git-update-changelog.py (changelog_body): don't
385         write committishes.
387         * lily/grob.cc: add avoid-slur
389 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
391         * emacsclient.patch: 
392         * server.el.patch: 
393         move server/emacsclient to elisp/
395         * buildscripts/git-update-changelog.py (Commit.note_del_file):
396         apply patches too
398         * elisp/server.el.patch: 
399         move emacs patches.
401         * elisp/emacsclient.patch: 
402         emacsclient too.
404         * buildscripts/git-update-changelog.py: 
405         ignore ChangeLog
407         * .gitignore: 
408         update
410         * ChangeLog: 
411         * buildscripts/git-update-changelog.py: 
412         script to update ChangeLog with Git messages.
414         * lily/beam-engraver.cc: 
415         * input/regression/rest-pitched-beam.ly: 
416         don't set callback if staff-position set. Fixes #126.
418         * lily/bar-number-engraver.cc: 
419         * lily/beam.cc: 
420         * lily/fingering-engraver.cc: 
421         * lily/grob-property.cc: 
422         * lily/grob.cc: 
423         * lily/include/grob.hh: 
424         * lily/include/lily-guile-macros.hh: 
425         * lily/mark-engraver.cc: 
426         * lily/melody-engraver.cc: 
427         * lily/script-column.cc: 
428         * lily/tie-formatting-problem.cc: 
429         * lily/tie.cc: 
430         internal_get_property_data() using ly_symbol2scm()
432         * stepmake/stepmake/generic-targets.make: 
433         create .gitignore in outdir.
435         * .gitignore: 
436         new file.
438 2006-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
440         * input/test/vertical-extent.ly: 
441         * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
443 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
445         * stepmake/bin/add-html-footer.py (compose): remove setgcos
447 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
449         * GNUmakefile.in (install-help2man): install-help2man target. 
451 2006-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
453         * SConstruct (configure): Do not check for /bin/sh.
455 2006-10-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
457         * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
458         files.
460         * Documentation/topdocs/NEWS.tely (Top): add FretBoards example. 
462         * input/regression/fret-boards.ly: new file.
464         * po/de.po: new po courtesy translation team.
466         * scripts/lilypond-book.py (get_option_parser): add newline to doc
467         string.
469 2006-10-27  Mats Bengtsson  <mabe@drongo.s3.kth.se>
471         * ly/gregorian-init.ly (neumeDemoLayout): update
472         minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent 
474         * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
475         obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
477 2006-10-27  Erlend Aasland  <erlenda@gmail.com>
479         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
480         Yet another build fix.
482 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
484         * SConstruct (lilypondprefix): use sorted() for list_sort()
485         indent 4
487 2006-10-26  Jan Nieuwenhuizen  <janneke@gnu.org>
489         * flower/SConscript: Unit test rules.
491         * flower/test-std.cc: Compile fix.
493 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
495         * python/midi.c (pymidi_parse_track): warning fixes.
497         * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
498         include dot-column.hh
500 2006-10-26  Graham Percival  <gpermus@gmail.com>
502         * Documentation/user/{basic-, global}: minor changes from mailist.
504 2006-10-26  Erlend Aasland  <erlenda@gmail.com>
506         * scm/define-grobs.scm: trivial beautification
508         * lily/tie-performer.cc: no need to #include "pqueue.hh"
510         * lily/source-file.cc: put multibyte var inside #if clause
512         * scm/define-grob-interfaces.scm:
513         * scm/define-grob-properties.scm:
514         Build fix (string-fret-finger-combinations)
516         * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
517         lexer-gcc-3.1.sh
519         * Documentation/user/lilypond-book.itely: Build fix.
521 2006-10-26  Joe Neeman  <joeneeman@gmail.com>
523         * lily/system.cc (get_paper_system): 
524         * lily/paper-book.cc (systems): 
525         move most of the backwards compatibility stuff into
526         Paper_book::systems
528         * Documentation/topdocs/NEWS.tely: add 2 entries for the
529         page breaking stuff
531         * Documentation/user/page.itely: remove time-scaled-music
532         bug for the Page_turn_engraver
534         * lily/paper-book.cc (set_system_penalty): backwards
535         compatibility (breakbefore) for the old page breaker
537 2006-10-25  Graham Percival  <gpermus@gmail.com>
539         * Diocumentation/user/instrument-notation.itely: added more
540         info about stanzas; thanks Geoff!
542         * Documentation/user/ {basic, advanced}: small fixes from
543         mailist.
545         * THANKS: add some bug reporters.
547 2006-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
549         * scm/define-context-properties.scm (all-user-translation-properties):
550         noteToFretFunction: Add.
552         * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
553         fret-diagram-interface (WAS: fret-board-interface).  Fixes build.
555 2006-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
557         * flower/file-name.cc (dos_to_posix): Help std::string.copy with
558         trailing zero.
560         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
561         Remove bashism in delete.
563 2006-10-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
565         * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
567         * scm/translation-functions.scm (determine-frets-mf): flatten let*
569         * scm/define-context-properties.scm
570         (all-user-translation-properties): add maximumFretStretch property.
572         * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
574         * lily/source-file.cc (get_counts): use multibyte variable.
576         * scm/translation-functions.scm (determine-frets-mf): new
577         function: compute fret numbers. 
579         * scm/output-lib.scm (string-frets->description) new function.
580         (fret-board::calc-stencil): new function
582         * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
584         * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob. 
586         * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
588         * lily/tab-note-heads-engraver.cc: cleanups.
590         * lily/fretboard-engraver.cc: new file
592         * ly/engraver-init.ly: add FretBoards context
594 2006-10-24  Joe Neeman  <joeneeman@gmail.com>
596         * lily/grob.cc (pure_relative_y_coordinate)
597         (pure_height): use the new call_pure_function stuff
599         * lily/grob-property.cc (call_pure_function): wrapper for the scheme
600         call-pure-function
602         * lily/side-position-interface.cc (pure_y_aligned_side): add an
603         optarg
605         * lily/simple-closure.cc (ly_eval_simple_closure): make
606         simple-closure evaluatable from scheme
607         (evaluate_with_simple_closure): make simple-closures pure-
608         evaluatable
610         * lily/slur.cc (pure_outside_slur_callback): new function
612         * ly/paper-defaults.ly: change default blank-page-force to 2 (this
613         fits in with previous changes that made the page forces much
614         smaller)
616         * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
617         and pure-Y-extent into this new function.
618         (pure-conversions-alist): add outside-slur-callback
620 2006-10-24  Mats Bengtsson  <mabe@drongo.s3.kth.se>
622         * Documentation/user/advanced-notation.itely (Instrument names):
623         Remove obsolete bug workaround for instrument names on piano
624         staff. 
626 2006-10-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
628         * Documentation/user/lilypond-book.itely (Integrating DocBook and
629         music): patch by Bertalan Fodor for docbook.
631         * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
632         of $(LILYPOND). Prevents lilypond run for .txt files.
634         * INSTALL.txt: gitness.
636         * .cvsignore: update to force gitness. 
638 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
640         * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
641         detect suicide in nested tuplets.
643 2006-10-23  Werner Lemberg  <wl@gnu.org>
645         * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
646         typo in argument to FT_Get_X11_Font_Format.
648 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
650         * stepmake/stepmake/po-vars.make: more gitness.
652         * flower/polynomial.cc (check_sol): no empty if bodies. 
654 2006-10-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
656         * stepmake/stepmake/po-vars.make: test change for GIT gateway.
658 2006-10-22  Jürgen Reuter  <reuter@ipd.uka.de>
660         * Documentation/user/examples.itely (Transcription of mensural
661         music): Added more comments in .ly source.  Suggest to remove
662         Forbid_line_break_engraver to allow line breaking at all bars.
664         * Documentation/user/instrument-notation.itely (Ancient
665         articulations): Updated @refbugs regarding episem.
667         * Documentation/user/instrument-notation.itely (Gregorian square
668         neumes ligatures): Added \augmentum dots.  Updated @refbugs
669         regarding \augmentum.
671         * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
673         * input/test/ligature-vaticana.ly: Added \augmentum dots.  Updated
674         comment.
676         * lily/vaticana-ligature-engraver.cc: Added TODO comment for
677         \augmentum dots.
679         * ly/gregorian-init.ly: Added \augmentum macro.
681 2006-10-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
683         * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
685         * lily/pango-font.cc (pango_item_string_stencil): use
686         FT_Get_X11_Font_Format()
688 2006-10-22  John Mandereau  <john.mandereau@free.fr>
690         * po/fr.po: update translation.
692 2006-10-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
694         * VERSION (PATCH_LEVEL): bump version
696         * input/regression/horizontal-bracket-break.ly: new file.
698         * scm/define-grobs.scm (all-grob-descriptions): calc
699         connect-to-neighbor. 
701         * lily/horizontal-bracket.cc (make_bracket): support
702         connect-to-neighbor.  Fix #118
704         * VERSION: release 2.9.26-2
706         * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
708         * VERSION (PACKAGE_NAME): release 2.9.26
710         * buildscripts/output-distance.py (test_basic_compare): add
711         multipage test.
712         (FileLink.multi_img_cell): new function, glob multi-page png
713         images.
715 2006-10-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
717         * po/lilypond.pot: update.
719         * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
721         * Documentation/user/global.itely (File structure): remove
722         \addqoute remark.
724         * lily/parser.yy (FIXME): remove ADDQUOTE
726         * Documentation/user/global.itely (Extracting fragments of
727         notation): new node, about clip systems.
729         * Documentation/user/lilypond-book.itely (Many quotes of a large
730         score): ref to clip systems.
732         * Documentation/user/instrument-notation.itely (Entering lyrics):
733         add note about lyric ties and required font.
735         * lily/open-type-font.cc (glyph_list): format errors.
737         * Documentation/user/programming-interface.itely (Scheme
738         procedures as properties): more doco on simple-closure and scheme
739         callbacks.
740         (Input variables and Scheme): use lilypond[verbatim], document
741         dummy statement.
743         * Documentation/user/page.itely (Displaying spacing): use \book
744         explicitly, so arrows show .
745         (Line breaking): add note about Forbid_line_break_engraver
747         * Documentation/user/tweaks.itely (Common tweaks): also set length
748         to prevent tie squeezing. 
749         (Default files): use @var{}
751         * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
752         (Generating LilyPond files): add FOMUS.
754 2006-10-20  Joe Neeman  <joeneeman@gmail.com>
756         * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
757         Y-offset for TextScript and Script
759         * lily/text-engraver.cc (make_item): 
760         * lily/script-engraver.cc (make_script_from_event):
761         remove call to Side_position_interface::set_axis since all scripts
762         now have this set by default
764         * lily/context.cc: 
765         * lily/prob.cc: use variables
767 2006-10-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
769         * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
770         at typography, rather analyse stream event duration. 
772         * Documentation/user/page.itely (Page formatting): set a6 paper
773         for system separator example.
774         
775         * lily/arpeggio.cc (Module): idem.
777         * lily/accidental-placement.cc: add script-priority property.
779         * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
781         * lily/ttf.cc (print_trailer): if all else fails: use
782         glyphIndexXXXX as glyph name. Fixes #117.
784         * lily/pango-font.cc (pango_item_string_stencil): only use cmap
785         entry if cmap contains glyph.
786         (get_index_to_charcode_map): remove from Pango_font class, use
787         global filename -> font mapping.
788         (get_glyph_index_name): new function.
789         (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
790         only for TTF. 
792         * scripts/lilypond-book.py (main): use -deps-box-padding=-3
794         * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
795         a number.
797         * scm/define-grob-properties.scm (all-user-grob-properties):
798         remove outdated doc. Fixes #116
800         * lily/completion-note-heads-engraver.cc (process_music): always
801         clone input events; otherwise we may overwrite input 'duration
802         property. Fixes #115.
804         * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
805         scm_t_int32 != int
807         * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
808         anchor. Fixes #114
810         * VERSION (PATCH_LEVEL): bump version.
812 2006-10-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
814         * lily/engraver.cc (internal_make_grob): use variables.
816         * flower/string-convert.cc (dec2double): clean-up warnings. 
818         * configure.in (CXXFLAGS): add -Werror.
820         * VERSION (PACKAGE_NAME): release 2.9.25
822 2006-10-18  Joe Neeman  <joeneeman@gmail.com>
824         * lily/simple-spacer.cc (get_line_forces): test for non-fitting
825         line even if we precede a forced break.
827         * lily/optimal-page-breaking.cc (try_page_spacing): square line
828         forces too. Make page-spacing weight default to 10 because the
829         changes to vertical springs decreased the page force/line force
830         proportions. Also, take the average of line force and page force
831         instead of just the sum.
833         * lily/constrained-breaking.cc (initialize): make the stiffness
834         of the vertical springs depend on the height of the system. This
835         prevents pages with only a few large systems from getting huge
836         forces
838         * Documentation/user/page.itely (Page formatting): document the
839         change in default page-spacing-weight
841         * lily/include/constrained-breaking.hh: initialise bottom_padding_
843 2006-10-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
845         * input/typography-demo.ly (melody): remove superfluous slur.
847         * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
848         add piano-pedal-script-interface
850 2006-10-18  Bertalan Fodor  <lilypondtool@organum.hu>
852         * scripts/lilypond-book.py: DocBook support.
854 2006-10-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
856         * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
857         Y-alignment code.
858         (stop_translation_timestep): set bound to currentMusicalColumn if
859         not set yet. Fixes #102
861         * lily/piano-pedal-bracket.cc: formatting.
863         * input/test/engraver-one-by-one.ly (MyStaff): reformat.
865         * lily/piano-pedal-align-engraver.cc: new class
866         Piano_pedal_align_engraver. Handle side-positioning Y-alignment
867         for piano pedals.  
869 2006-10-18  Heikki Junes  <hjunes@gmail.com>
871         * po/fi.po: Update Finnish translation (before the next release).
873 2006-10-17  Joe Neeman  <joeneeman@gmail.com>
875         * lily/system.cc (get_paper_system): reinstate the backwards-
876         compatible page breaking for the old page breaker.
878 2006-10-17  Erik Sandberg  <mandolaerik@gmail.com>
879         
880         * lily/recording-group-engraver.cc: removed
882         * lily/context.cc, lily/translator-group.cc: Don't touch
883         Context::implementation_ if it's null
885 2006-10-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
887         * scm/paper.scm: only use left-margin if defined.
889         * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
891         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
893         * lily/new-fingering-engraver.cc: stringFingerOrientations ->
894         strokeFingerOrientations
896         * lily/script-column.cc (row_before_line_breaking): also handle
897         accidentals and arpeggios in horizontal script stacking.
899         * lily/script-row-engraver.cc (acknowledge_accidental_placement):
900         new function.
902         * input/regression/script-stack-horizontal.ly: trim.
904 2006-10-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
906         * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
907         'text property too.
909         * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
910         'text if string argument.
912         * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
914         * scm/define-context-properties.scm
915         (all-user-translation-properties): change to strokeFingerOrientations
917 2006-10-16  Erik Sandberg  <mandolaerik@gmail.com>
919         * lily/parser.yy: remove debug output
921 2006-10-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
923         * ly/paper-defaults.ly: set left/right margin.
925         * scm/paper.scm (set-paper-dimensions): use left-margin and
926         right-margin for computing linewidth.
928         * Documentation/topdocs/NEWS.tely (Top): idem.
930         * input/regression/lyric-tie.ly (texidoc): use vowels for tied
931         lyrics example.
933         * scm/define-markup-commands.scm (tied-lyric): increase negative
934         space: space syllables tighter.
936         * VERSION (PATCH_LEVEL): bump version.
938         * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
939         Ax paper sizes. 
941 2006-10-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
943         * COPYING: further clarification
945         * VERSION: release 2.9.24
947         * input/regression/script-stack-horizontal.ly: add version.
949         * scm/lily-library.scm (list-join): use fold-right. Fixes #112
951         * input/regression/lyric-tie.ly (texidoc): use different words.
953         * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
955 2006-10-15  Erik Sandberg  <mandolaerik@gmail.com>
957         * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
958         macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
959         
960 2006-10-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
962         * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4; 
964         * Doxyfile: remove file.
966         * scm/define-grob-interfaces.scm (string-finger-interface): add
967         string-finger-interface
969         * lily/general-scheme.cc (LY_DEFINE): move
970         ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[] 
972         * Documentation/topdocs/NEWS.tely (Top): add note for
973         string-finger feature.
975         * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
976         property.
978         * scm/output-lib.scm (string-finger::calc-text): read 'digit
979         instead of 'text
981         * input/regression/script-stack-horizontal.ly: new file.
983         * ly/engraver-init.ly: add Script_row_engraver.
985         * lily/script-column.cc (order_grobs): refactor: separate axis
986         independent code.
987         (row_before_line_breaking): new function.
989         * lily/script-row-engraver.cc (Script_row_engraver): new file.
991         * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
993 2006-10-14  Jürgen Reuter  <reuter@ipd.uka.de>
995         * Documentation/user/instrument-notation.itely: Cleanup: Remove
996         annoying skip notes from mensural ligature example.  Update
997         @refbugs for ligatures and mensural ligatures.
999         * lily/coherent-ligature-engraver.cc,
1000         lily/include/coherent-ligature-engraver.hh,
1001         lily/mensural-ligature-engraver.cc,
1002         lily/vaticana-ligature-engraver.cc: Revise code for item
1003         reparentizing.  There should now be less programming_error
1004         messages.
1006         * lily/mensural-ligature-engraver.cc: Improve placement of dots.
1008         * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
1009         Maintenance bugfix: Don't create empty Stencil (), but empty box
1010         instead.  This fix should eliminate some programming_error
1011         messages.
1013         * ly/engraver-init.ly (MensuralStaff): Set default accidental
1014         style.
1016         * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
1017         \layout block _before_ score.
1019 2006-10-14  Han-Wen Nienhuys  <hanwen@lilypond.org>
1021         * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
1023         * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
1025 2006-10-13  Erlend Aasland  <erlenda@gmail.com>
1027         * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
1029 2006-10-13  Han-Wen Nienhuys  <hanwen@lilypond.org>
1031         * VERSION (PATCH_LEVEL): bump version.
1033         * COPYING: clarify exception note.
1035         * lily/main.cc: remove remark about "COPYING".
1037         * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
1038         system-count starts at 0 for each clip-region. Change name to
1039         FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
1040         layout block, per score.
1042 2006-10-13  Erik Sandberg  <mandolaerik@gmail.com>
1044         * lily/input-smob.cc: add equal_p for Input
1046         * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
1047         function
1049         * lily/parser.yy: MY_MAKE_MUSIC sets music origin
1051         * lily/prob.cc: Add equal_p predicate for Prob
1053         * lily/translator.cc: small cleanup
1055         * scm/document-music.cc: use data from translator listener
1056         registration to generate documentation for event classes
1058         * lily/*: Eliminate accept arg of ADD_TRANSLATOR
1059         
1060         * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
1061         
1062 2006-10-13  Jan Nieuwenhuizen  <janneke@gnu.org>
1064         * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
1066 2006-10-12  Jan Nieuwenhuizen  <janneke@gnu.org>
1068         * Documentation/topdocs/INSTALL.texi: Thinko.
1070         * .cvsignore: Update.
1072         * lexer-gcc-3.1.sh: Remove.
1074         * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
1075         Update anonymous cvs access.  Remove comment about gcc 3.0.4.
1077 2006-10-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
1079         * VERSION: release 2.9.23
1081         * lily/paper-column-engraver.cc (stop_translation_timestep): also
1082         typecheck barnumber.
1084         * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
1086         * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
1088         * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
1090         * input/regression/clip-systems.ly (Notes): new file. 
1092         * scm/lily.scm (define-scheme-options): add clip-systems option.
1094         * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
1095         function
1096         (dump-stencil-as-EPS): move bbox calculation from previous
1097         dump-stencil-as-EPS
1098         (output-framework): use -dclip-systems 
1100         * scm/lily-library.scm (filtered-map): new function
1102         * scm/framework-ps.scm (clip-system-EPS): new function.
1103         (clip-system-EPSes): new function.
1105         * lily/paper-column.cc: add rhythmic-location to interface
1107         * scm/define-grob-properties.scm (all-user-grob-properties): add
1108         rhythmic-location property.
1110         * scm/clip-region.scm: new file: rhythmic-location data type and
1111         system-clipped-x-extent function.
1113         * ly/init.ly: use (scm clip-region)
1115         * lily/paper-column-engraver.cc (stop_translation_timestep): set
1116         rhythmic-location for paper column grobs.
1118         * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
1120 2006-10-12  Jürgen Reuter  <reuter@ipd.uka.de>
1122         * ly/engraver-init.ly: Remove obsolete comment on
1123         Bar_number_engraver.
1125         * Documentation/user/instrument-notation.itely: Tune Ancient
1126         Articulations figure, such that the episem actually shows.
1128         * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
1129         fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
1131         * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
1132         cleanup.
1134 2006-10-12  Graham Percival  <gpermus@gmail.com>
1136         * Documentation/user/ {some}: minor edits that were lost somehow.
1138 2006-10-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
1140         * VERSION (PACKAGE_NAME): bump version.
1142         * input/regression/lyric-tie.ly (texidoc): new file.
1144         * Documentation/topdocs/NEWS.tely (Top): add new feature.
1146         * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
1148         * scm/define-markup-commands.scm (tied-lyric): new function: split
1149         string along ~ and reattach with U+203F (tie character) and
1150         negative space.
1152         * scm/output-lib.scm (lyric-text::calc-text): new function.
1154         * lily/lyric-engraver.cc (process_music): don't set 'text.
1156         * scm/output-lib.scm (string-finger::calc-text): new function
1157         (lyric-text::print): new function.
1159         * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1160         generic for fingering & string number. Use for string-finger. 
1162         * scm/define-music-types.scm (music-descriptions): add
1163         StringFingerEvent
1165         * lily/fingering-engraver.cc (listen_string_finger): new function
1167         * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1169         * scm/define-context-properties.scm
1170         (all-user-translation-properties): add stringFingerOrientations
1172 2006-10-11  Jürgen Reuter  <reuter@ipd.uka.de>
1174         * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1175         ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1177         * lily/dots.cc: Added style property for dots.
1179         * mf/parmesan-heads.mf: Fix typo in comment.
1181         * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1182         adding longa head to feta font and removing obsolete default
1183         mapping scheme code.
1185 2006-10-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
1187         * scm/output-lib.scm (fingering::calc-text): use origin
1188         event-property, not music-property.
1190         * lily/lilypond.rc.in: spell my name correctly.
1192 2006-10-10  Joe Neeman  <joeneeman@gmail.com>
1194         * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1195         already have a non-empty extent. Fixes estimation for Hara-kiri
1196         staves.
1198 2006-10-09  Jürgen Reuter  <reuter@ipd.uka.de>
1200         * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1201         \episemFinis.
1203         * lily/ligature-engraver.cc: Remove unused #include.
1205         * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1206         Bugfix: remove method check_for_prefix_loss(Item *) from global
1207         namespace to avoid namespace pollution.
1209 2006-10-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
1211         * VERSION: release 2.9.22
1213         * ly/generate-documentation.ly: update option name.
1215         * lily/dynamic-text-spanner.cc (print): revert fix.
1217         * scm/define-grob-interfaces.scm
1218         (trill-pitch-accidental-interface):
1219         add trill-pitch-accidental-interface
1221         * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1222         dereference if it's really a duration.
1224         * lily/figured-bass-engraver.cc (process_music): clear spanner if
1225         useBassFigureExtenders is not set.
1226         (listen_bass_figure): record as new event if
1227         useBassFigureExtenders not set. Fixes #103.
1229         * scm/stencil.scm (circle-stencil): don't center stencil argument,
1230         instead: move circle. Fixes #107.
1232         * scm/define-grobs.scm (all-grob-descriptions): set
1233         allow-loose-spacing for PaperColumn and
1234         NonMusicalPaperColumn. Kludge for #110.
1236         * lily/spaceable-grob.cc: add allow-loose-spacing property.
1238         * lily/spacing-determine-loose-columns.cc (is_loose_column):
1239         allow-loose-spacing property.
1241         * scm/define-markup-commands.scm (postscript): gsave & grestore
1242         around embedded PS. Do setlinewidth too. Fixes  #109.
1244 2006-10-08  Jürgen Reuter  <reuter@ipd.uka.de>
1246         * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1247         code.  This patch fixes ligature brackets that were not at all
1248         engraved any more.
1250 2006-10-08  Graham Percival  <gpermus@gmail.com>
1252         * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1254         * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1256         * scm/define-context-properties.scm: clarified docs (bug 91).
1258         * Documentation/user/basic-notation.itely: document volta brackets
1259         not aligning (bug 63).
1261         * Documentation/user/ global.itely invoking.itely: ignore or
1262         add warnings about texstr.
1264 2006-10-08  John Mandereau  <john.mandereau@free.fr>
1266         * po/fr.po: update translation.
1268         * po/: update msgids.
1270 2006-10-08  Jan Nieuwenhuizen  <janneke@gnu.org>
1272         * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1274 2006-10-08  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1276         * Documentation/user/page.itely (Two-pass vertical spacing): add
1277         documentation for two-pass spacing technique.
1279 2006-10-06  Graham Percival  <gpermus@gmail.com>
1281         * Documentation/user/convert-ly.txt: new file; new
1282         storage place for this file (moved from bugs/ CVS).
1284 2006-10-06  Jürgen Reuter  <reuter@ipd.uka.de>
1286         * lily/note-head.cc: Fixed programming_error message.
1288 2006-10-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
1290         * scm/define-grobs.scm (pure-conversion): move pure-callback
1291         further into body.
1293         * scm/script.scm (default-script-alist): set avoid-slur for turn,
1294         marcato, stopped, thumb.
1296 2006-10-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
1298         * lily/completion-note-heads-engraver.cc (process_music): don't
1299         skimp on memory usage.
1301         * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1302         stems too. Fixes #5
1304         * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1305         parenthesis item. This fixes premature Y-extent triggering. Fixes
1306         issue #95. 
1308         * VERSION (PATCH_LEVEL): bump version.
1310 2006-10-04  Graham Percival  <gpermus@gmail.com>
1312         * Documentation/user/advanced-notation.itely: added
1313         info about instrument names for piano or other contexts,
1314         thanks Marcus!
1316 2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
1318         * mf/feta-bolletjes.mf (solfa_quarter_width): use
1319         solfa_base_notewidth as unit for non-DO-notes too.
1321         * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1323         * VERSION: release 2.9.21
1325         * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1326         override.
1328 2006-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1330         * python/lilylib.py (progress): Minor fix.
1332 2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
1334         * lily/note-name-engraver.cc: doc engraver.
1336         * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1338         * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1340         * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1341         by callback.
1343         * lily/stem-engraver.cc (make_stem): don't set duration-log
1345         * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1346         write snippet-names binary.
1348         * python/lilylib.py (system): use os.system for mingw32
1350         * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1351         to $PATH.
1353         * scm/backend-library.scm: update email address.
1355         * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1356         example.
1358         * scm/define-grobs.scm (all-grob-descriptions): use callback to
1359         calc dot count.
1361         * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1362         handle dot creation separately.
1364         * lily/tab-note-heads-engraver.cc (process_music): idem.
1366         * lily/drum-note-engraver.cc (process_music): idem.
1368         * lily/note-heads-engraver.cc (process_music): idem.
1370         * lily/rest-engraver.cc: don't set duration-log.
1372         * scm/output-lib.scm (string-number::calc-text): new function.
1373         (note-head::calc-duration-log): new function.
1375         * lily/fingering-engraver.cc (make_script): remove 'text setting.
1377         * scm/output-lib.scm (fingering::calc-text): new function.
1379 2006-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1381         * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1382          and include-eps-font -> include-eps-fonts
1384 2006-10-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
1386         * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1388         * lily/timing-translator.cc: list properties.
1389         (start_translation_timestep): update internalBarNumber too.
1391         * scm/define-context-properties.scm
1392         (all-user-translation-properties): add internalBarNumber.
1394         * input/regression/spacing-no-note.ly: new file.
1396         * buildscripts/output-distance.py (link_file): verbosity for OSError.
1398         * lily/book.cc: #include cleanup.
1400         * lily/include/lily-guile-macros.hh: add assert to
1401         scm_or_str2symbol(SCM).
1403         * VERSION (PATCH_LEVEL): bump version.
1405         * lily/spacing-spanner.cc (musical_column_spacing): handle
1406         musical->nonmusical spacing case, where there is no spacing
1407         wish. Fixes issue #61.
1409         * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1410         (pango_item_string_stencil): use logical rect horizontally (to
1411         preserve spaces), ink_rect vertically (for time signatures).
1413         * lily/font-metric.cc (word_stencil): new interface function
1415         * input/regression/utf-8-mixed-text.ly: new file.
1417         * lily/percent-repeat-engraver.cc (listen_percent): remove
1418         spurious warning.
1420         * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1421         non-dynamic scripts. Fixes #30.
1423         * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1425         * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1427         * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1428         SCM_UNDEFINED for non-existent data.
1430         * lily/side-position-interface.cc (general_side_position): allow
1431         optional current_offset argument for chaining, so combinations of side-position
1432         and outside slur callback don't add up.  Fixes issue #92.
1434         * lily/pango-font.cc (pango_item_string_stencil): use
1435         logical_rect. This prevents spaces after words from disappearing,
1436         issue #72.
1437         
1438         * VERSION: release 2.9.20
1440 2006-10-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
1442         * scm/define-grob-properties.scm (all-user-grob-properties):
1443         mention stencil as user settable.
1445 2006-10-02  Joe Neeman  <joeneeman@gmail.com>
1447         * Documentation/user/page.itely (Page formatting): 
1448         document auto-first-page-number
1450         * lily/page-breaking.cc (find_chunks_and_breaks): 
1451         * lily/paper-score.cc (calc_breaking): Follow changes to the
1452         Constrained_breaking interface
1454         * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1455         here backwards, as an optimisation
1456         (initialize): new function; move most of the code in resize () here
1457         (combine_demerits): cache ragged_right_
1458         (Constrained_breaking): constructor now takes the Paper_score
1460 2006-10-02  Erik Sandberg  <mandolaerik@gmail.com>
1461         
1462         * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1463         avoid parser lookahead for 0-ary functions.
1465         * lily/translator.cc: Extract event classes from
1466         IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1468 2006-10-02  Heikki Junes  <hjunes@gmail.com>
1470         * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1471         KBabel fix tool.
1473 2006-10-01  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1475         * scm/layout-page-layout.scm (page-breaking-wrapper): new
1476         function. Call the page breaking function selected in the
1477         `page-breaking' \paper variable, then the post processing function
1478         chosen using the `page-post-process' \paper variable.
1479         (line-height): new function. Return the height of a system.
1480         (line-minimum-position-on-page): new function. Return the position
1481         of a system on page (using the previous line position), only
1482         considering between system padding.
1483         (stretchable-line?): new function. Says whether a line can be
1484         stretched (ie. is not a title nor a single staff system).
1485         (page-maximum-space-left): new function. Computes space left on a
1486         page, when all systems are separated by their padding.
1488         * lily/page-breaking.cc (breaking::make_pages): Move page post
1489         processing function call to page breaking wrapper (common to all
1490         page breakers).
1492         * lily/paper-book.cc (book::pages): call the page breaking
1493         wrapper, instead of the page breaker directly
1495         * ly/paper-defaults.ly: Add \paper variables for page breaking
1496         wrapper and page post processing function. Make
1497         `write-page-layout' value depend on the 'dump-tweaks option. Add a
1498         `system-maximum-stretch-procedure' variable for holding a function
1499         computing the maximum stretch a system allows.
1501         * scm/layout-page-dump.scm (write-page-breaks): computes the
1502         stretch to apply to systems on a page to minimize left
1503         space. Dump this stretch length.
1505         * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1506         the system-stretch property of the tweak data to stretch the
1507         system.
1508         (includePageLayoutFile): Void function which includes the
1509         generated page-layout file if it exists and if the page layout
1510         dumping is not asked.
1511         (scoreTweak): if the score tweak named by the argument exists,
1512         return it.
1514 2006-10-01  Joe Neeman  <joeneeman@gmail.com>
1516         * lily/page-spacing.cc (compress_lines, uncompress_solution):
1517         handle correctly the case where there are multiple \noPageBreaks
1518         in a row.
1520 2006-09-30  Laura Conrad <lconrad@laymusic.org>
1522         * abc2ly.py adds segno (S) and Coda (O) to articulations.
1523         
1524         * abc2ly.py fix so that entering " -- " will translate to a -- in
1525         the lilypond instead of a " - - "
1526         
1527 2006-09-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
1529         * lily/align-interface.cc: fix typo
1531         * lily/dynamic-text-spanner.cc (print): Add a special case for
1532         trill spanner right sides. 
1534         * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1536         * lily/align-interface.cc (get_extents_aligned_translates): add
1537         support for padding variable.
1539         * lily/break-align-interface.cc (self_align_callback): oops: use
1540         loop variable in guard.
1542         * input/regression/repeat-percent-grace.ly: new file.
1544         * lily/percent-repeat-engraver.cc (start_translation_timestep):
1545         remember first currentCommandColumn of a grace run. Fixes issue 70.
1547         * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1548         move class definition to CC file.
1550         * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1552         * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1553         measure-long  repeats.
1555         * flower/include/international.hh: include stdarg.h
1557 2006-09-30  Joe Neeman  <joeneeman@gmail.com>
1559         * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1560         put_systems_on_pages to return an empty result, we need to assign
1561         demerits properly in that case.
1562         (put_systems_on_pages): Make the number of pages depend on the
1563         evenness of page_number. Add auto-first-page-number.
1564         (calc_subproblem): ensure that the page-number is even for the
1565         left-hand page. Warn if the first page-turn doesn't fit onto the
1566         first (right-hand) page.
1568         * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1569         (min_page_count): make this publicly accessible
1570         (min_page_count): fix a bug when there are forced page breaks that
1571         was introduced when I made this loop run backwards
1572         (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1573         replace space_systems_on_min_pages with these two. The logic in
1574         space_systems_on_min_pages was getting too convoluted and is better
1575         contained in page-turn-page-breaking.
1577         * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1578         conditional
1579         (breakable_column): typo
1581         * lily/source-file.cc (get_line): fix off-by-one error
1582         and clean up some of the logic
1584 2006-09-29  Joe Neeman  <joeneeman@gmail.com>
1586         * lily/page-breaking.cc (make_pages): honour the first-page-number
1587         property
1589 2006-09-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
1591         * VERSION (PACKAGE_NAME): bump version.
1593 2006-09-26  Pal Benko  <benko.pal@gmail.com>
1595         * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1596         (the latter is the same as petrucci-f which is kept for compatibility)
1598 2006-09-26  Erik Sandberg  <mandolaerik@gmail.com>
1599         
1600         * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1602 2006-09-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
1604         * lily/global-context.cc (run_iterator_on_me): break out of loop
1605         if moment doesn't increase.
1607         * scm/define-grob-properties.scm (all-user-grob-properties): add
1608         forced property.
1610         * lily/accidental.cc (after_line_breaking): read forced property.
1612         * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1613         property.
1615         * input/regression/accidental-forced-tie.ly:  new file.
1617 2006-09-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
1619         * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1621         * lily/figured-bass-engraver.cc: only listen to rest events if
1622         ignoreFiguredBassRest is not set.
1624         * scm/define-context-properties.scm
1625         (all-user-translation-properties): add ignoreFiguredBassRest property
1627 2006-09-24  Joe Neeman  <joeneeman@gmail.com>
1629         * lily/paper-book.cc (get_system_specs):
1630         (set_system_penalty): fix breakbefore.
1631         We used to set a penalty on the system after the break, now we
1632         set a permission on the system before the break
1634         * lily/grob-property.cc: add scm debugging hooks into
1635         property modification
1637         * lily/context-property.cc:
1638         * lily/engraver.cc:
1639         rename make_foo_from_properties to internal_make_foo and
1640         move it from context-property.cc to a member function of
1641         Engraver.
1642         
1643         * lily/include/lily-guile-macros.hh:
1644         overload ly_symbol2scm macro so that there is no more need
1645         to use internal_foo
1647         * lily/volta-repeat-iterator.cc:
1648         * lily/tweak-engraver.cc:
1649         * lily/tuplet-bracket.cc:
1650         * lily/span-bar-engraver.cc:
1651         * lily/script-engraver.cc:
1652         * lily/prob-scheme.cc:
1653         * lily/pointer-group-interface.cc:
1654         * lily/parser.yy:
1655         * lily/grob-scheme.cc:
1656         * lily/grob-property.cc:
1657         * lily/context.cc:
1658         * lily/context-property.cc:
1659         * lily/break-substitution.cc:
1660         * lily/break-align-engraver.cc:
1661         * lily/axis-group-interface.cc:
1662         * lily/align-interface.cc:
1663         remove calls to internal_FOO
1665         * lily/system-start-delimiter-engraver.cc:
1666         * lily/parenthesis-engraver.cc:
1667         * lily/accidental-engraver.cc:
1668         remove calls to make_foo_from_properties
1670 2006-09-23  Graham Percival  <gpermus@gmail.com>
1672         * Documentation/user/programming-iterfaces.itely: fix
1673         def-music-function -> define-music... leftover.
1675 2006-09-23  Joe Neeman  <joeneeman@gmail.com>
1677         * lily/page-spacing.cc (min_page_count): by running the loop
1678         backwards, we can calculate ragged_last properly.
1680 2006-09-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1682         * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1683         printfirst-page-number -> print-first-page-number
1685         * python/convertrules.py: corresponding rule.
1687         * Documentation/user/page.itely (Page formatting): Document the
1688         default values of all page layout parameters. 
1690 2006-09-22  Erik Sandberg  <mandolaerik@gmail.com>
1692         * lily/lexer.ll: remove limitation on music function arity. New
1693         mode extratoken, which inserts extra EXPECT_* tokens after
1694         MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1696         * lily/parser.yy: Change grammar for music function accordingly.
1698         * lily/include/lily-parser.hh: New method get_state, new member
1699         hidden_state. Works around a problem when parser fetches
1700         MUSIC_FUNCTION token but not the following EXPECT_* token.
1702         * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1703         remove try_music
1705         * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1706         references to Music; use ASSIGN_EVENT_ONCE everywhere
1708         * lily/grob-info.cc: junk *music_cause
1710         * lily/music.cc: copy eventified articulations to stream event
1712         * lily/part-combine-iterator.cc: Cleanup using enums
1714         * lily/translator-group.cc: Junk OldMusicEvent, and associated
1715         methods
1717         * lily/include/engraver.hh: Junk music.hh include
1719         * lily/stream-event.cc: Changed constructors
1721 2006-09-21  Graham Percival  <gpermus@gmail.com>
1723         * Documentation/user/tweaks.itely (Fitting music onto fewer
1724         pages): change settings to avoid warning messages.
1726 2006-09-21  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1728         * Documentation/user/tweaks.itely (Fitting music onto fewer
1729         pages): Add between-system-space setting. 
1731 2006-09-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
1733         * lily/accidental-placement.cc (calc_positioning_done): don't
1734         trigger Y-extent calculation too early. Use pure_height instead.
1736         * lily/scale.cc (LY_DEFINE): new file. 
1738 2006-09-20  Joe Neeman  <joeneeman@gmail.com>
1740         * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1741         that happen at the start of a score: having a zero-length
1742         chunk was messing up min_system_count calculations.
1744         * lily/source-file.cc (get_line): lower_bound, not
1745         binary_search. Fixes problem where point-and-click would
1746         always point to the first line.
1748 2006-09-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
1750         * lily/accidental-placement.cc (calc_positioning_done): also put
1751         stems into accidental support. 
1753         * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1754         event_ detected.
1756         * scm/script.scm (default-script-alist): avoid-slur and
1757         slur-padding for portato script.
1759         * lily/stem-tremolo.cc (translated_stencil): new function. 
1760         (height): use new function. Fixes tremolos on whole notes.
1762         * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1763         slur found.
1765 2006-09-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
1767         * scripts/abc2ly.py (try_parse_comment): idem.
1769         * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1770         bar_string iso. string.find()
1772         * lily/*.cc: idem.
1774         * lily/slur.cc (get_curve): always use scm_is_pair() looping
1775         scheme lists.  
1777 2006-09-18  Graham Percival  <gpermus@gmail.com>
1779         * Documentation/user/basic-notation.itely: add bug
1780         warning about ties and octavation/clef.
1782 2006-09-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
1784         * VERSION (PACKAGE_NAME): release 2.9.18
1786 2006-08-29  Milan Zamazal  <pdm@brailcom.org>
1788         * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1789         figure out midi file names right here.
1790         
1791 2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
1793         * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1795         * scm/backend-library.scm: option naming:  gs-font-load*s*
1797         * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1798         include-eps-fonts
1800 2006-09-17  Joe Neeman  <joeneeman@gmail.com>
1802         * scm/define-music-types.scm (music-descriptions): remove
1803         BreakEvent and fix {Page,Line}{Break,Turn}Event so
1804         Music::to_event doesn't complain.
1806         * lily/accidental-placement.cc (ape_compare):
1807         * lily/semi-tie.cc (compare): 
1808         * lily/note-column.cc (shift_compare): replace by XXX_less
1810         * lily/tie-formatting-problem.cc (set_chord_outline): 
1811         * lily/tie-column.cc (calc_positioning_done): 
1812         * lily/system.cc (post_processing)
1813         (get_paper_system): 
1814         * lily/stem.cc (note_head_positions)
1815         (calc_positioning_done): 
1816         * lily/spanner.cc (do_break_processing)
1817         (find_broken_piece): 
1818         * lily/span-bar.cc (print): 
1819         * lily/semi-tie-column.cc (calc_positioning_done): 
1820         * lily/rest-collision.cc (calc_positioning_done): 
1821         * lily/program-option.cc (get_help_string): 
1822         * lily/note-collision.cc (get_clash_groups):
1823         * lily/new-fingering-engraver.cc (position_scripts):
1824         * lily/keyword.cc (Keyword_table):
1825         * lily/hara-kiri-group-spanner.cc (request_suicide):
1826         * lily/grob-pq-engraver.cc (stop_translation_timestep):
1827         * lily/accidental-placement.cc (calc_positioning_done):
1828         (stagger_apes):
1829         * lily/beam.cc (get_beam_segments):
1830         * lily/grob-array.cc (remove_duplicates):
1831         use new vector_sort
1832         
1833         * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1834         ragged-last-bottom = ##f (test the new page breaker)
1836         * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1838         * scm/define-context-properties.scm
1839         (all-internal-translation-properties): remove properties that
1840         were used to communicate page-turn stuff to the paper-column
1841         engraver.
1843         * lily/lily-guile.cc (robust_scm2string): new function
1845         * lily/paper-column-engraver.cc: Clean up page turn stuff
1847         * lily/page-turn-engraver.cc: Re-write the page turn logic here
1848         instead of cluttering up paper-column-engraver.cc
1850 2006-09-17  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1852         * scm/layout-page-dump.scm (scm): export utility function names,
1853         to allow user writing cutsom dumping functions.
1855         * scm/layout-page-layout.scm: export utility function names to
1856         enable custom page breaking function writing. Tabify.
1857         (line-next-space): use ?-suffix only for predicates
1858         (page-maximum-space-to-fill): new function. Return the space
1859         between first and bottom system of a page, to give to
1860         space-systems.
1861         (space-systems): use a space-to-fill argument (for instance as
1862         computed by page-maximum-space-to-fill) instead of computing
1863         internaly this space with the page height. That way, the caller
1864         can adjust the space to use.
1865         (make-page-from-systems, walk-paths): compute space to fill before
1866         calling space-systems.
1868 2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
1870         * scm/script.scm (default-script-alist): set paddings for every
1871         type here, increase for portato mark.
1873         * scm/lily.scm (define-scheme-options): typo: add s, so it is 
1874         -dinclude-eps-fonts
1876 2006-09-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
1878         * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1879         use spanner::set-spacing-rods
1881         * lily/note-column.cc: reformat.
1883         * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1884         step positioning for note/rest combinations.
1886         * input/regression/rest-note-collision.ly: new file.
1888         * scm/define-grobs.scm (all-grob-descriptions): add
1889         springs-and-rods
1891         * flower/include/std-vector.hh: switch off again.
1893         * VERSION (PATCH_LEVEL): bump to 2.9.18
1895         * flower/include/std-string.hh: idem.
1897         * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1899 2006-09-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1901         * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1902         PianoStaff. 
1904 2006-09-08  Joe Neeman  <joeneeman@gmail.com>
1906         * Documentation/user/page.itely: update page breaking documentation
1908 2006-09-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
1910         * lily/note-collision.cc (calc_positioning_done): only access
1911         first head if available.
1913         * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1915         * scm/framework-ps.scm (output-preview-framework): use new name.
1917         * lily/program-option.cc (internal_set_option): use new names.
1919         * Documentation/user/SConscript (lilypond_book_flags): update -d
1920         variable names.
1922         * Documentation/user/lilypond-book.itely (Inserting LilyPond
1923         output into other programs): new variable names.
1925         * scm/lily.scm (define-scheme-options): uniformize var names.
1927         * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1928         tuplets_ is non-empty before popping.
1930 2006-09-07  Joe Neeman  <joeneeman@gmail.com>
1932         * lily/spanner.cc (find_broken_piece): 
1933         * lily/spacing-spanner.cc (get_columns): 
1934         * lily/source-file.cc (get_line): 
1935         * lily/simple-spacer.cc (get_column_description): 
1936         * lily/keyword.cc (lookup): 
1937         use the new binary search.
1939         * flower/include/std-vector.hh: replace binary_search with
1940         a more STL-like version
1942 2006-09-04  Michael Welsh Duggan  <md5i@cs.cmu.edu>
1944         * lily/tie-performer.cc: remove unused last_event_ property.
1945         (class Tie_performer): add now_tied_heads_ property for
1946         partially-tied heads.
1947         (acknowledge_audio_element): when adding an Audio_note, put the
1948         note in now_tied_heads_ if the audio note is partially tied.
1949         (stop_translation_timestep): always include entries in
1950         now_tied_heads_ in heads_to_tie_.
1952         * lily/drum-note-performer.cc (process_music): look for tie-events
1953         in the articulations; pass to Audio_note constructor.
1955         * lily/note-performer.cc (process_music): look for tie-events in
1956         the articulations; pass to Audio_note constructor.
1958         * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1959         constructor.
1961         * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1962         include initializer in constructor.
1964 2006-09-02  Joe Neeman  <joeneeman@gmail.com>
1966         * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1967         unless they are breakable. This fixes discrepancies between the forces
1968         calculated here and the forces calculated in get_line_configuration.
1970         * lily/grob.cc (pure_relative_y_coordinate): fix some
1971         mis-estimation that was happening with piano staves.
1973         * lily/constrained-breaking.cc (resize): don't choke if we get a
1974         measure that won't fit on a line.
1975         (combine_demerits): don't consider uniformity when ragged
1977         * lily/page-spacing.cc (solve): why the f* were there two of these?
1978         (calc_subproblem): properly handle the case where a system is taller
1979         than the page.
1981         * lily/system.cc (get_paper_system): ensure that all the permissions
1982         and penalties are passed to the paper systems.
1984         * lily/page-breaking.cc (create_system_list): support system-count.
1986         * scm/define-grobs.scm (pure-print-callbacks): add
1987         ly:script-interface::print
1989         * lily/page-spacing.cc (min_page_count): fix calculation of min
1990         pages if we are ragged and there are non-zero springs.
1992         * scm/layout-page-layout.scm: if the pure-height estimates are under
1993         the real height, allow space-systems to ignore padding if it is
1994         needed in order to fit the systems on one page
1996         * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
1997         ragged properties
1998         (solve): fix performance problem. Make sure we always get at least
1999         one solution
2001         * lily/page-breaking.cc (make_pages): include write-page-breaks
2002         and page-stencil
2004         * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
2006         * scm/define-grobs.scm: add the new slur-callback
2007         fix pure-relevant to not exclude grobs whose extent is already
2008         calculated
2010         * ly/paper-defaults.ly: make ly:optimal-breaking the new default
2011         page breaker
2013         * lily/slur.cc (pure_height): new callback to estimate the height
2014         of a slur
2016 2006-09-02  Graham Percival  <gpermus@gmail.com>
2018         * Documentation/user/invoking.itely: small update on
2019         MacOS X notes; thanks Trevor!
2021 2006-09-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
2023         * VERSION (MY_PATCH_LEVEL): release 2.9.17
2025         * lily/lexer.ll: accept EOF in all states.
2027         * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
2029         * lily/source-file.cc (Source_file): always 0-terminate character
2030         array, to prevent Flex from barfing.
2032         * lily/global-context.cc (get_output): robustness: don't crash if
2033         no Score context found.
2035         * lily/include/book.hh (class Book): idem.
2037         * lily/include/context-def.hh (struct Context_def): idem.
2039         * lily/include/score.hh (class Score): don't derive from Input.
2041         * lily/book.cc (Book): add a copy ctor. 
2043         * buildscripts/output-distance.py (FileLink.calc_distance): count
2044         orphans in distance too.
2046         * python/midi.c (midi_parse_track): robustness: don't read past
2047         end of string.
2049         * ly/performer-init.ly: add Control_track_performer, move
2050         Tempo_performer and Time_signature_performer to Score.        
2052         * lily/score-performer.cc (acknowledge_audio_elements): override
2053         from base class: add to audio-columns
2055         * lily/control-track-performer.cc (add_text): new file: generate
2056         the control track.
2058         * lily/performance.cc: move output_header_track to
2059         Control_track_performer ()
2061         * lily/midi-walker.cc (Midi_walker): get channel in constructor.
2063         * lily/include/midi-item.hh (class Midi_channel_item): insert
2064         class into hierarchy, for items that can have a channel setting. Dehungarify.
2066         * lily/include/performer.hh (class Performer): remove
2067         play_element();  move functionality into announce/acknowledge.
2069         * lily/audio-staff.cc (output): remove channel_ from Midi_track.
2071         * lily/tie-engraver.cc (stop_translation_timestep): only wipe
2072         heads_to_tie_ if there are new heads to tie.  Fixes polyphony in ties.
2074 2006-08-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
2076         * lily/tie-engraver.cc (stop_translation_timestep): robustness for
2077         ambituses.
2079         * lily/all-font-metrics.cc: remove TFM support.
2081         * lily/include/tfm.hh: remove TFM support, TFM reader.
2083         * lily/include/binary-source-file.hh: remove Binary_source_file.
2085 2006-08-27  Graham Percival  <gpermus@gmail.com>
2087         * Documentation/topdocs/NEWS.itely: add @c marker for
2088         stuff I've processed.
2090         * Documentation/user/ various: info from NEWS.
2092 2006-08-27  Joe Neeman  <joeneeman@gmail.com>
2094         * lily/paper-column-engraver.cc (finalize): Oops, this change
2095         should have gone in on 2006-08-23
2097 2006-08-26  Mats Bengtsson  <mabe@s3.kth.se>
2099         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
2100         quotes to quote arguments. Fixes Windows problem.
2102         * python/lilylib.py (progress): idem
2104 2006-08-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
2106         * scripts/musicxml2ly.py: fix for importing
2107         minor key signatures from MusicXML.  (Phillip Kirlin)
2109 2006-08-24  Phillip Kirlin  <pkirlin@acm.org>
2111         * python/musicxml.py: 
2112         (Attributes.get_key_signature): now correctly retrieves mode from 
2113         MusicXML. 
2115 2006-08-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
2117         * lily/parser.yy (output_def_body): take ownership of identifier
2118         back to C++.
2120         * Documentation/user/advanced-notation.itely (Metronome marks):
2121         update use of \tempo in \midi.
2123         * VERSION: release 2.9.16
2124         
2125 2006-08-24  Erik Sandberg  <mandolaerik@gmail.com>
2127         * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
2128         web partially)
2130 2006-08-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
2132         * input/regression/tie-chord-partial.ly: clarify example.
2134         * scm/define-music-properties.scm (all-music-properties): remove
2135         untied.
2137         * ly/music-functions-init.ly: remove \untied.
2139         * lily/tie-engraver.cc (struct Head_event_tuple): store both
2140         stream events and music events.
2141         (stop_translation_timestep): search acknowledged heads for
2142         tie-event.
2144         * input/regression/tie-chord-partial.ly: new file.
2146         * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
2147         for \char markup command.
2149         * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2151         * scm/define-music-types.scm (music-descriptions): consistency:
2152         Use solo-{one,two}-event iso. solo-[12]-event.
2154         * lily/part-combine-engraver.cc (process_music):
2155         Use solo-{one,two}-event iso. solo-[12]-event.
2157         * ly/declarations-init.ly (partCombineListener): add Timing as
2158         alias
2160         * flower/std-string.cc (string_copy): use copy ()
2162         * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2164 2006-08-24  Graham Percival  <gpermus@gmail.com>
2166         * Documentation/user/changing-defaults.itely, global.itely,
2167         lilypond-book.itely, page.itely: minor changes from mailist.
2169 2006-08-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
2171         * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2172         snippet-map
2174         * scm/define-context-properties.scm
2175         (translator-property-description): robustness: detect type errors
2176         in property definitions.
2178         * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2179         after getting it from SCM. 
2181         * lily/smobs.cc (protect_smob): switch off fancy smob protection
2182         for now. 
2184         * lily/include/performer.hh (class Performer): strip get_tempo()
2185         method.
2187         * lily/midi-def.cc: strip file.
2189         * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2191         * lily/include/context-def.hh (struct Context_def): use
2192         VIRTUAL_COPY_CONSTRUCTOR().
2194         * lily/source-file.cc: smobification.
2196         * lily/include/source-file.hh (class Source_file): smobify
2197         Source_file. Trim redundant members.
2199         * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2200         clones after creation. This plugs a huge memory leak.
2202         * python/convertrules.py (FatalConversionError.sub_tempo):
2203         complete rule for \midi{ \tempo }
2205         * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2207         * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2209 2006-08-23  Joe Neeman  <joeneeman@gmail.com>
2211         * input/regression/optimal-page-breaking-hstretch.ly: test for
2212         ragged-last-bottom also
2214         * lily/paper-column-engraver.cc (finalize): make the end of a score
2215         breakable by default. This is to balance out a change in behaviour
2216         of the page-turn-breaker which no longer makes the end of a score
2217         breakable.
2219         * lily/paper-book.cc (pages): set the systems_ once the pages are
2220         broken
2222         * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2223         Page_breaking interface.
2225         * lily/page-breaking.cc (class Page_breaking): make the interface
2226         more consistent and provide abstractions for dealing with
2227         Line_divisions.
2229         * lily/optimal-page-breaking.cc (solve): use a more straightforward
2230         algorithm. Use the new interface to Page_breaking.
2232         * lily/page-spacing.cc: better support for ragged-bottom and
2233         ragged-last-bottom
2235 2006-08-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
2237         * python/convertrules.py (conv): warning on \tempo{}
2239         * ly/performer-init.ly: set tempoWholesPerMinute.
2241         * ly/midi-init.ly: remove \midi
2243         * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2244         MIDI tempo.
2246         * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2247         tempoUnitDuration for determining what to print.
2249         * lily/lyric-extender.cc: typo.
2251         * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2253         * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2254         function.
2256         * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2258         * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2259         eps-pad-boxes is set.
2261         * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2263         * THANKS: update sponsors.
2265         * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2267         * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2269         * input/regression/tie-chord-untied.ly: new file.
2271         * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2273         * scm/define-music-properties.scm (all-music-properties): add
2274         'untied property.
2276         * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2277         than .ly.txt.
2278         (headertext_nopics): sanitize no-examples text.
2280         * scm/page.scm (make-page-stencil): don't rely on extents of
2281         page-stencil. This fixes spurious space around .EPS files produced
2282         with the EPS backend.
2284 2006-08-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
2286         * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2288         * lily/hara-kiri-engraver.cc (process_music): remember
2289         keepAliveInterfaces after processing \set
2291         * lily/lyric-extender.cc (print): support left/right-padding for
2292         extenders.
2294         * scm/documentation-generate.scm (string-append): revert lilypond/
2295         path, doc why.
2297 2006-08-20  Graham Percival  <gpermus@gmail.com>
2299         * Documentation/user/lilypond.tely: clarification to
2300         license presentation (not to actual license).
2302         * Documentation/user/basic-notation.itely,
2303         instrument-notation.itely: minor changes.
2305         * input/ {regression, test}/+.ly: clarification to
2306         text (you can click on examples).  Thanks, Mats!
2308         * input/manual/bar-lines.ly: adds ||: repeats.
2310 2006-08-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
2312         * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES 
2314         * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2316         * Documentation/user/lilypond.tely: strip lilypond/ from info
2317         links, rename to category LilyPond
2319         * lily/pango-font.cc (description_string): new function.
2321         * VERSION: release 2.9.15
2323         * lily/spacing-engraver.cc (stop_translation_timestep): use
2324         Dscho's fix for spacing spanner. 
2326         * scm/define-music-types.scm (music-descriptions): use
2327         apply-output-event for ApplyOutputEvent
2329         * lily/output-property-engraver.cc (listen_apply_output): rename
2330         from listen_layout_instruction.
2332         * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2333         function protect()
2335 2006-08-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2337         * scm/lily.scm (lilypond-all): option read-file-list: substitute
2338         commandline args with contains, split by \n.
2340         * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2341         write snippet-names file, call with -dread-file-list. Fixes
2342         command limitations on 64-bit systems.
2344         * input/regression/stencil-color-rotation.ly: new file.
2346         * lily/include/translator.hh (struct Acknowledge_information):
2347         revert: don't use Protected_scm in global objects, as GUILE can't
2348         handle gc_unprotect from automated destructors on MacOS X.
2350         * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2351         color, not the original stencil. Fixes combinations of
2352         color/transparency/rotation. 
2354         * scripts/lilypond-book.py (main): add --formats=eps for
2355         texinfo/latex.
2357         * lily/spacing-engraver.cc (stop_translation_timestep): don't
2358         crash if spacing_ is nonexistent.
2360 2006-08-14  Mats Bengtsson  <mabe@s3.kth.se>
2362         * scripts/lilypond-book.py (output): Remove obsolete(!?)
2363         \catcode`\@=12 in the LaTeX output.
2365 2006-08-11  Han-Wen Nienhuys  <hanwen@lilypond.org>
2367         * scm/define-music-types.scm (music-descriptions):
2368         use sustain-event iso. sustain-pedal-event.
2370 2006-08-11  Joe Neeman  <joeneeman@gmail.com>
2372         * scripts/convert-ly.py: honour the -n command-line switch
2374 2006-08-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
2376         * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2377         break specification.
2379 2006-08-10  Joe Neeman  <joeneeman@gmail.com>
2381         * Documentation/user: convert-ly the user manual
2383 2006-08-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
2385         * stepmake/aclocal.m4: version check patch (thanks MWD)
2387         * ly/music-functions-init.ly: robustness. Don't crash if
2388         currentBarNumber is not a number.
2390         * VERSION (PATCH_LEVEL): bump.
2392 2006-08-08  Han-Wen Nienhuys  <hanwen@lilypond.org>
2394         * stepmake/aclocal.m4: better version check; handle fooX.Y
2395         binaries too.
2397         * ly/performer-init.ly: instrument name fixup.
2399         * input/manual/chord-names-jazz.ly (banterProperties):
2400         instrumentName update
2402         * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2404         * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2406         * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2407         function. Use hash tables to check membership.
2409         * lily/general-scheme.cc (LY_DEFINE): new function.
2411         * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2413         * lily/include/translator.hh (struct Acknowledge_information): add
2414         Protected_scm
2416         * ly/music-functions-init.ly: change name to BreathingEvent
2418         * input/regression/*.ly: apply it.
2420         * python/convertrules.py (conv): better instrumentName conversion
2421         rule.
2423         * scm/define-music-types.scm (music-descriptions): add
2424         line-break-event to LineBreakEvent music
2426         * lily/music.cc (to_event): don't crash if music type not set.
2428         * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2429         spacing not set.
2431         * lily/spacing-engraver.cc (stop_translation_timestep): set
2432         spacing for proportional notation too.
2434         * scm/translation-functions.scm (format-bass-figure): inspect
2435         stream-event.
2437         * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2439 2006-08-08  Joe Neeman  <joeneeman@gmail.com>
2441         * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2443         * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2445         * scm/layout-page-layout.scm (make-page-from-systems): new function
2446         (optimal-page-breaks): use the new page-breaking calling convention
2448         * scm/define-context-properties.scm (all-user-translation-properties):
2449         add revokePageTurns
2451         * lily/paper-column-engraver.cc (stop_translation_timestep): add
2452         revokePageTurns  functionality. If there is a special barline within
2453         the breakable region, break there instead of at the end of the region.
2455         * lily/paper-book.cc (pages): use the new page-breaking calling
2456         convention
2458 2006-08-07  Erik Sandberg  <mandolaerik@gmail.com>
2460         * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2462         * scripts/lilypond-book.py: insert \sourcefileline command in
2463         output, so lilypond error messages refer to the spot in the
2464         original .lytex / .itely sourcefile.
2466 2006-08-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
2468         * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2469         space to next column for distance to fixed col.
2471         * VERSION (PACKAGE_NAME): release 2.9.14
2473         * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2474         if no accidental.
2476         * lily/accidental-engraver.cc (process_acknowledged): don't create
2477         accidental for trill span event. This fixes spurious accidentals
2478         on trills.
2480 2006-08-04  Mats Bengtsson  <mabe@s3.kth.se>
2482         * scm/define-grob-properties.scm (all-user-grob-properties):
2483         Clarify documentation of side-axis and direction. Thanks to Paul
2484         for the inspiration.
2486         * lily/bar-line.cc: Add documentation for "||:" also in the
2487         interface documentation.
2489 2006-08-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
2491         * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2493         * lily/paper-column.cc (set_system): new function.
2495         * lily/spacing-engraver.cc (stop_translation_timestep): store
2496         SpacingSpanner refs in Paper_column.
2498         * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2499         compute loose clique spacing using GraceSpacing/SpacingSpanner.
2501 2006-08-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
2503         * lily/beam-engraver.cc (listen_beam): add method for
2504         Grace_beam_engraver too.
2506 2006-08-03  Mats Bengtsson  <mabe@s3.kth.se>
2508         * python/convertrules.py: Fix indentation bug that broke
2509         conversion of files older than 1.3.117.
2510         Fix escape error in the description for 2.9.6.
2512 2006-08-02  Erik Sandberg  <mandolaerik@gmail.com>
2514         * lily/*-engraver.cc: convert all try_music functions to listen_*
2515         functions.
2517         * lily/piano-pedal-engraver.cc: some additional cleanups: use
2518         enums to represent pedal types, and calculate more data statically.
2520         * scm/part-combiner.scm (recording-group-emulate): create a
2521         softcoded substitute for recording-group-engraver.cc.
2523         * lily/music.cc: make a common transpose function for events and
2524         music
2526         * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2527         ManualMelismaEvent, and obsoletes Melisma_translator.
2529 2006-08-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
2531         * input/test/instrument-name-align.ly: update version.
2533 2006-08-02  Mats Bengtsson  <mabe@s3.kth.se>
2535         * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2536         Doc the --pdf flag to lilypond-book.
2538 2006-07-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
2540         * Documentation/topdocs/NEWS.tely (Top): add description.
2542         * input/regression/tuplet-full-length-note.ly: add file.
2544         * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2545         always store axis group.
2547 2006-07-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
2549         * input/regression/instrument-switch.ly: new file.
2551         * lily/instrument-switch-engraver.cc (process_music): new file.
2553         * ly/engraver-init.ly: add Instrument_switch_engraver
2555         * ly/music-functions-init.ly: \instrumentSwitch
2557         * scm/define-context-properties.scm
2558         (all-user-translation-properties): add instrumentCueName
2560         * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2562 2006-07-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
2564         * ly/music-functions-init.ly: music function \transposition.
2566         * lily/parser.yy (command_element): softcode \transposition.
2568         * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2569         (process_music): oops.
2571         * lily/instrument-name-engraver.cc (start_spanner): new
2572         function. Create spanner when property changes.
2573         (stop_spanner): new function.
2575         * python/convertrules.py (conv): add rule.
2577         * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2578         shortInstrumentName iso. instr.
2580         * scm/output-ps.scm (dashed-line): add phase argument to
2581         dashed-line.
2583         * lily/bar-line.cc (dashed_bar_line): new function.
2584         (compound_barline): support \bar "dashed". 
2586         * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2587         --output=DIR to DIR/BASE if it is a dir. 
2589         * flower/file-name.cc (file_part): new function
2590         (dir_part): new function
2592         * lily/lily-parser-scheme.cc (LY_DEFINE): 
2594         * DEDICATION: update
2596 2006-07-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
2598         * lily/instrument-name-engraver.cc: formatting.
2600         * python/convertrules.py (conv): bugfix for \epsfile.
2602 2006-07-25  Joe Neeman  <joeneeman@gmail.com>
2604         * lily/grob.cc:
2605         
2606         * lily/gourlay-breaking.cc: Oops, these should have been included
2607         in my last commit
2609 2006-07-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
2611         * scripts/*.py (program_name): cleanup relocation snippets.
2613         * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2615 2006-07-24  Joe Neeman  <joeneeman@gmail.com>
2617         * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2618         page-breakable by default
2620         * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2621         correctly calculated for a single-system page
2623         * scm/lily-library.scm (interval-sane?): also check that the first number is no
2624         bigger than the second number
2626         * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2627         acknowledge that we aren't satisfying constraints)
2629         * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2630         non-Items
2632         * lily/grob.cc (pure_height): add minimum-Y-extent
2634         * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2635         ragged
2637         * lily/constrained-breaking.cc: convert code to use new Matrix class
2638         (get_best_solution): new function
2640         * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2641         is a page with no systems
2643 2006-07-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
2645         * VERSION (PACKAGE_NAME): release 2.9.13
2647         * scm/define-grobs.scm (all-grob-descriptions): remove stray
2648         assignment.
2650 2006-07-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
2652         * Documentation/topdocs/NEWS.tely (Top): doc new features.
2654         * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2655         function.
2657         * scm/define-grob-properties.scm (all-user-grob-properties):
2658         remove grace-space-factor.
2660         * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2661         grace-spacing-interface
2662         (spacing-options-interface): add.
2664         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2666         * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2668         * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2669         GraceSpacing object.
2671         * lily/note-spacing.cc: fix prop list formatting
2673         * lily/beaming-pattern.cc (de_grace): new function. Sensible
2674         beaming for grace notes too.
2676         * input/regression/spacing-grace.ly: update.
2678         * lily/grace-spacing-engraver.cc: new file.
2680         * lily/spacing-spanner.cc: add strict-grace-spacing.
2682 2006-07-20  Graham Percival  <gpermus@gmail.com>
2684         * lily/parser.yy: compile fix.
2686 2006-07-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
2688         * scm/define-grobs.scm (all-grob-descriptions): typo.
2690         * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2691         .eps extension from includegraphics.
2693         * scripts/lilypond-book.py (main): add support for --pdf. 
2695         * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2696         callback to compute common shortest duration.
2697         (set_springs): typo.
2699         * scm/define-grob-properties.scm (all-user-grob-properties): add
2700         strict-grace-spacing.
2702         * lily/spacing-determine-loose-columns.cc (is_loose_column):
2703         support float_grace_columns_.
2705         * lily/spacing-options.cc (init_from_grob): new file.
2707         * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2709         * input/regression/spacing-loose-grace.ly: new file.
2711         * Documentation/topdocs/NEWS.tely (Top): document new feature.
2713         * lily/tuplet-engraver.cc (struct Tuplet_description): read
2714         tupletFullLengthNote too. Choose right bound depending on value.
2716         * input/regression/tuplet-full-length-note.ly: new file.
2718 2006-07-19  Erik Sandberg  <mandolaerik@gmail.com>
2720         * lily/*-performer.cc: Converted try_music to listen_*
2722         * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2723         as a stream-event internally. Introduce event_cause (), deprecate
2724         music_cause ().
2726         * scm/define-music-types.scm: Removed BusyPlayingEvent
2727         
2728 2006-07-19  Mats Bengtsson  <mabe@s3.kth.se>
2730         * Documentation/user/advanced-notation.itely (Font selection):
2731         Document how to get a list of available fonts using 'lilypond
2732         -dshow-available-fonts blabla'.
2734 2006-07-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2736         * GNUmakefile.in: filter lily-XXX.pdf files.
2738         * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2740         * scm/define-grob-properties.scm (all-internal-grob-properties):
2741         remove delta-pitch. Use delta-position everywhere.
2743         * scm/output-lib.scm (fall::print): use new order.
2745         * scm/output-ps.scm (path): reorder arguments.
2747         * scm/output-svg.scm (path): support for path primitive.
2749         * input/regression/bend-after.ly: new file.
2751         * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2752         recipe for eps -> pdf conversion.
2754 2006-07-19  Erik Sandberg  <mandolaerik@gmail.com>
2756         * lily/parser.yy, lily/lexer.ll: added some simplifications by
2757         Angelo Contardi.
2759 2006-07-19  Graham Percival  <gpermus@gmail.com>
2761         * input/manual/screech-boink.ly: moved to here.
2763         * input/screech-boink.ly: deleted.
2765         * scm/define-grob-properties.scm: clarify doc string.
2767 2006-07-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2769         * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2771         * scm/output-ps.scm (path): define path.
2773         * scm/define-stencil-commands.scm
2774         (ly:register-stencil-expression): add path.
2776         * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2778         * ly/engraver-init.ly: add Fall_engraver
2780         * lily/parser.yy (music_function_event): allow musicfunction
2781         without music arg as music_function_event.
2783         * lily/grob-scheme.cc (LY_DEFINE):
2784         ly:grob-robust-relative-extent. New function.
2786         * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2788         * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2790         * scm/output-lib.scm (fall::print): new function
2792         * lily/fall-engraver.cc (stop_fall): new file.
2794         * ly/music-functions-init.ly: alphabetise.
2796         * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2797         base.
2799 2006-07-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
2801         * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2803         * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2804         doc pdftex usage.
2806         * lily/translator-group.cc (connect_to_context): non const error message.
2808         * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2810         * scm/paper.scm (internal-set-paper-size): define landscape to #f
2811         if unset.
2813         * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape. 
2815         * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2817         * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2818         systems.pdftex too.
2820         * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2822         * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2824         * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2826         * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2828         * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2830         * scm/backend-library.scm (postscript->pdf): strip .eps too. 
2832 2006-07-14  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2834         * scm/layout-page-layout.scm: Define module, tidy code, use more
2835         functions iso. a single big one.
2837         * scm/layout-page-dump.scm: move page dump functions used in two
2838         pass spacing to this file. Define module.
2840         * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2841          (separate module)
2843         * ly/paper-defaults.ly: use module layout-page-layout.
2845 2006-07-14  Erik Sandberg  <mandolaerik@gmail.com>
2847         * lily/music.cc: Revised MusicEvent event class. It now contains
2848         event data directly instead of encapsulating it in music. The
2849         previously used class is renamed to OldMusicEvent.
2851         * lily/stream-event.cc: Stream events are now probs.
2852         
2853         * lily/translator-group.cc, lily/translator.cc: Translators can
2854         now listen directly to stream events, by using macros
2855         [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2857         * lily/arpeggio-engraver.cc: Converted to use new event system
2859         * THANKS: Corrected spelling mistake.
2861 2006-07-12  Graham Percival  <gpermus@gmail.com>
2863         * Documentation/user/SConscript, make/lilypond-vars.make,
2864         input/GNUmakefile: doc build looks in input/manual instead
2865         of input/test/
2867         * input/manual/ GNUmakefile, SConscript: build files for
2868         input/manual/
2870         * input/test/ various: some files moved to input/manual/ 
2872         * Documentation/user/basic-notation.itely: small updates;
2873         thanks Kieren and Charles!
2875 2006-07-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
2877         * VERSION (PACKAGE_NAME): release 2.9.11
2879         * Documentation/topdocs/NEWS.tely (Top): update prop value 
2881         * Documentation/user/basic-notation.itely (Tuplets): new property
2882         value.
2884 2006-07-11  Han-Wen Nienhuys  <hanwen@lilypond.org>
2886         * python/convertrules.py (conv): tweaks. 
2888         * VERSION (PATCH_LEVEL): bump version.
2890         * python/convertrules.py (conv): add rule for
2891         tupletNumberFormatFunction.
2893         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2894         tupletNumberFormatFunction.
2896         * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2897         text through 'text callback.
2899         * lily/time-scaled-music-iterator.cc (construct_children): copy
2900         tweaks generated events.
2902         * scm/define-context-properties.scm
2903         (all-user-translation-properties): remove tupletNumberFormatFunction
2905         * lily/tuplet-engraver.cc (process_music): don't read
2906         tupletNumberFormatFunction
2908         * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2909         function.
2911 2006-07-11  Erik Sandberg  <mandolaerik@gmail.com>
2913         * lily/global-context-scheme.cc: Separated ly:run-translator into
2914         smaller pieces.
2916         * lily/score-engraver.cc, lily/score-performer.cc,
2917         scm/define-context-properties.scm: Make paper/midi output
2918         accessable as a context property.
2920         * lily/score-translator.cc, lily/score-context.cc: Removed.
2922 2006-07-07  Guido Amoruso  <guidonte@katamail.com>
2924         * scm/ps-to-png.scm (Module): 
2925         * scm/framework-tex.scm (Module): 
2926         * scm/framework-ps.scm (Module): 
2927         * scm/backend-library.scm (Module): 
2928         * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2929         "dDEVICEHEIGHTPOINTS".
2931 2006-07-04  Graham Percival  <gpermus@gmail.com>
2933         * Documentation/user/ various: general improvements to
2934         "working with lilypond files" section.
2936 2006-07-03  Erik Sandberg  <mandolaerik@gmail.com>
2938         * lily/sequential-iterator.cc: Change the default get_music_list
2939         to read elements-callback music property
2941         * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2942         processing of multimeasure rests. Softcoded
2943         sequential-music-iterator.
2945         * lily/sequential-music-iterator.cc: Removed.
2947 2006-06-28  Graham Percival  <gpermus@gmail.com>
2949         * Documentation/user/basic-notation.itely: clarify \repeatTie.
2951 2006-06-27  Erik Sandberg  <mandolaerik@gmail.com>
2953         * lily/parser.yy: Wrap non-post-events in EventChords before
2954         assigning them to identifiers.
2956 2006-06-27  Mats Bengtsson  <mabe@s3.kth.se>
2958         * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2959         gives correct vertical placement of \bar ":" in all staff
2960         sizes. Thanks Martial!
2962 2006-06-26  Graham Percival  <gpermus@gmail.com>
2964         * Documentation/user/invoking.itely : minor update from mailist.
2966 2006-06-26  Erik Sandberg  <mandolaerik@gmail.com>
2968         * lily/ various: Introduce stream events of types Prepare,
2969         OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2970         ChangeContext, SetProperty, RevertProperty, Override and Revert.
2972         * lily/global-context*.cc: Time is now -inf before iteration
2973         starts.
2975         * lily/include/context.hh: Removed unique_, init_
2977         * Documentation/topdocs/NEWS: Make the feathered beam example
2978         avoid triggering a bug.
2980 2006-06-24  Graham Percival  <gpermus@gmail.com>
2982         * Documentation/user/ various: small additions from mailist.
2984 2006-06-22  Mats Bengtsson  <mabe@s3.kth.se>
2986         * ly/performer-init.ly: Add some missing links in the context
2987         hierarchy for MIDI output. There are probably some more missing!
2989 2006-06-21  Graham Percival  <gpermus@gmail.com>
2991         * Documentation/user/ various: minor spelling fixes;
2992         thanks Dave Luttinen!
2994         * Documentation/user/ various: small clarifications;
2995         thanks Anthony Youngman!
2997 2006-06-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
2999         * po/fr.po: add \n appropriately.
3001         * lily/lexer.ll: remove ? from version-seen?  
3003 2006-06-19  John Mandereau  <john.mandereau@free.fr>
3005         * po/fr.po; update translation, by Jean-Charles Malahieude and
3006         John Mandereau.
3008 2006-06-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
3010         * THANKS: add Markus Schneider.
3012         * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
3013         Staff_symbol_engraver
3015         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
3016         replace staff_engraver
3018         * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
3019         spanner.
3021         * lily/staff-collecting-engraver.cc
3022         (acknowledge_end_staff_symbol): new function
3024         * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function. 
3026         * lily/staff-collecting-engraver.cc
3027         (acknowledge_end_staff_symbol): new function.
3029         * lily/main.cc: switch on relocation by default.
3031 2006-06-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
3033         * lily/spacing-spanner.cc (musical_column_spacing): set
3034         compound_fixed_note_space to 0.0. Document why.
3036         * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
3037         range of inverse_hooke_
3038         (Simple_spacer): init completely.
3039         (fits): const
3040         (get_line_configuration): don't use cols.resize(); it introduces
3041         initialized data.
3043         * scm/framework-ps.scm (dump-page): add setstrokeadjust. 
3045         * ps/music-drawing-routines.ps: remove selectfont L1 hack.
3047         * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
3048         try. Divide by beatlength.
3050         * input/regression/beaming-ternary-metrum.ly: update doc.
3051         add beatLength hack.
3053         * scm/music-functions.scm (make-time-signature-set): add
3054         standard-beat-grouping. 
3056 2006-06-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
3058         * input/regression/tie-whole.ly: new file.
3060         * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
3061         cross center of note head in case of invisible stem. 
3063 2006-06-16  Graham Percival  <gpermus@gmail.com>
3065         * Documentation/user/ various: small fixes from mailist.
3067 2006-06-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
3069         * lily/breathing-sign.cc (offset_callback): idem.
3071         * lily/align-interface.cc (align_to_fixed_distance): remove
3072         hungarian suffix.
3074         * lily/beaming-pattern.cc (count_factor_twos): oops. We want
3075         x%2==0.
3077 2006-06-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
3079         * VERSION (PACKAGE_NAME): release 2.9.9
3081         * ly/lilypond-book-preamble.ly: add \version
3083 2006-06-14  Han-Wen Nienhuys  <hanwen@lilypond.org>
3085         * scripts/lilypond-book.py (PREAMBLE_LY): include
3086         lilypond-book-preamble.ly
3088         * lily/stem.cc (get_beaming): return max of 0 and
3089         scm_ilength. Fixes slurring from/to beams.
3091         * ly/lilypond-book-preamble.ly: new file.
3093         * lily/slur.cc: add inspect-index feature.
3095 2006-06-13  Graham Percival  <gpermus@gmail.com>
3097         * Documentation/user/tutorial.itely: trivial fix.
3099 2006-06-13  Erik Sandberg  <mandolaerik@gmail.com>
3101         * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
3102         all non-event music in the parser via MAKE_SYNTAX.
3104         * lily/parser-scheme.cc: Add ly:parser-error function
3106         * scm/paper.scm: fix typo
3108 2006-06-13  Han-Wen Nienhuys  <hanwen@lilypond.org>
3110         * THANKS: add RT.
3112         * lily/font-config.cc (init_fontconfig): add warning if cache_file
3113         is null.
3115         * buildscripts/output-distance.py (test_compare_signatures):
3116         timing routines.
3117         (read_signature_file): use new signature format.
3119         * scm/stencil.scm (write-system-signature): simpler signature
3120         format.
3122         * lily/stem.cc (calc_stem_end_position): calc quantized-positions
3123         for beamed case. 
3125         * lily/note-spacing.cc (stem_dir_correction): don't inspect
3126         stem_end_position, but estimate instead. 
3128         * lily/tuplet-bracket.cc (calc_positions): look at
3129         stem-end-position for tuplet bracket slope. Fixes sloped tuplet
3130         brackets narrower than beams. 
3132         * lily/lexer.ll: set version-seen? even if version is
3133         INVALID. 
3135         * lily/rest.cc (y_offset_callback): bugfix: decide position
3136         override based on scm_is_number(). Fixes \rest on center staff
3137         line. 
3139         * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
3140         patterns for 16th triplets.
3142 2006-06-10  Graham Percival  <gpermus@gmail.com>
3144         * Documentation/user/ page.itely, global.itely: editing
3145         and reorg.
3147         * Documentation/user/ various: findex -> funindex.
3149 2006-06-10  Erik Sandberg  <mandolaerik@gmail.com>
3151         * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3152         insert extra tuplet events.
3154 2006-06-10  Graham Percival  <gpermus@gmail.com>
3156         * Documentation/user/programming-interfaces.itely: add
3157         info from NEWS.
3159         * python/convertrules.py: add annotatefoo -> annotate-foo
3160         rules.
3162         * Documentation/user/global.itely: start editing.
3164         * Documentation/user/page.itely: major editing, new spacing
3165         docs.
3167 2006-06-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
3169         * scm/define-markup-commands.scm (wordwrap-markups): use
3170         output-def 'line-width if undefined.
3172         * HACKING: trim outdated info.
3174 2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>
3176         * scm/define-grobs.scm (all-grob-descriptions): Add
3177         line-spanner-interface to all grobs that already have
3178         text-spanner-interface or dynamic-text-spanner-interface
3180         * scm/page.scm: Rename annotate{headers,systems,page}->
3181         annotate-*
3183         * input/regression/page-spacing.ly,
3184         input/regression/page-layout-manual-position.ly: idem
3186 2006-06-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
3188         * lily/line-spanner.cc: cleanup property list.
3190         * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3191         generator expressions (2.3 compat). 
3193 2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>
3195         * lily/vertical-align-engraver.cc: Make sure that the
3196         align{Above,Below}Context properties are included in the automatic
3197         documentation.
3199 2006-06-08  Joe Neeman  <joeneeman@gmail.com>
3201         * scm/paper-system.scm (paper-system-annotate): also annotate the
3202         estimated pure-Y-extent
3204         * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3206         * lily/system.cc (break_into_pieces): set the estimated height
3207         of each child system
3209         * lily/stem.cc (pure_height): new pure-Y-extent callback
3211         * lily/staff-symbol-referencer.cc (callback): don't destroy
3212         the staff-position property
3214         * lily/hara-kiri-group-spanner.cc (request_suicide): split
3215         consider_suicide into two functions
3217         * lily/constrained-breaking.cc (resize): use the new pure
3218         callbacks to estimate the height of a system
3220         * lily/axis-group-interface.cc (pure_group_height): new
3221         side-effect-free VerticalAxisGroup height-callback
3223         * lily/align-interface.cc (get_extents_aligned_translates):
3224         split align_elements_to_extents into two functions
3225         (get_pure_child_y_translation): new function
3227         * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3229         * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3231         * lily/paper-score.cc: cache break_indices and columns
3233         * lily/side-position-interface.cc: new pure-Y-extent callbacks
3234         
3235 2006-06-08  Han-Wen Nienhuys  <hanwen@lilypond.org>
3237         * lily/font-config.cc (init_fontconfig): do the init if
3238         cache_file, but don't look at cache_file.
3240         * input/regression/quote-tie.ly: new file.
3242         * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3243         to Head_event_tuple, so we deal gracefully with ties on
3244         cue-endings.
3246         * lily/pango-font.cc (pango_item_string_stencil): type correctness
3247         for FcChar8*
3249 2006-06-08  Graham Percival  <gpermus@gmail.com>
3251         * input/test/ smart-transpose.ly, reverse-music.ly:
3252         \applyMusic to music functions update, thanks Michael!
3254 2006-06-07  Graham Percival  <gpermus@gmail.com>
3256         * input/test/ add-staccato.ly, add-text-script.ly,
3257         unfold-all-repeats.ly, music-box.ly: \applyMusic to
3258         music functions update, thanks to Michael Meixner.
3260         * Documentation/user/music-glossary.tely: small fix
3261         from Francisco.
3263         * Documentation/user/ various: minor additions from mailist.
3265         * Documentation/user/lilypond.tely, basic-notation.itely:
3266         small test of @funindex.  (works here)
3268         * input/test/font-table.ly: reduce size to partially
3269         de-ugly version in manual.
3271         * Documentation/user/page.itely: new file (split former
3272         "global issues" into "page settings" and "non-musical
3273         output".
3275         * Documentation/user/ various: fix @ref{}s to match
3276         new chapter names (above).
3278 2006-06-07  Jan Nieuwenhuizen  <janneke@gnu.org>
3280         * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3282 2006-06-06  Graham Percival  <gpermus@gmail.com>
3284         * Documentation/user/advanced-notation.itely: add example
3285         for segno/coda on barline.
3287         * tex/texinfo.tex: merge from upstream.
3289 2006-06-06  Jan Nieuwenhuizen  <janneke@gnu.org>
3291         * scripts/lilypond-book.py (process_snippets): Argument fix.
3293         * SConstruct:
3294         * buildscripts/builder.py:
3295         * lily/SConscript: 
3296         * mf/SConscript: 
3297         * Documentation/user/SConscript:  More SCons fixes.
3299 2006-06-03  Jan Nieuwenhuizen  <janneke@gnu.org>
3301         * lily/font-config.cc (init_fontconfig): Only initialize if
3302         global cache_file is found.
3304 2006-06-06  Erik Sandberg  <mandolaerik@gmail.com>
3306         * ly/music-functions-init.ly: Updated \overrideProperty to use the
3307         new \applyOutput.
3309 2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
3311         * VERSION (PACKAGE_NAME): release 2.9.8
3313         * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3314         function. Delay ledger modifying ledgered grobs to
3315         stop_translation_timestep(), to ensure that we're ledgering
3316         according to the new spanner.
3317         (acknowledge_staff_symbol): don't check for non-NULL
3318         staff_sym->get_bound()
3320         * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3321         creation.
3323         * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3324         pictures too.
3326         * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3327         directly from srcdir/stepmake/aclocal.m4
3328         
3329         * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3330         disting MISC files.
3332         * lily/simple-spacer.cc (get_column_desc): desc -> description.
3334 2006-06-06  Joe Neeman  <joeneeman@gmail.com>
3336         * lily/simple-spacer.cc (get_line_configuration): add
3337         keep-inside-line rods
3338         (struct Column_desc): add constructor
3339         (struct Rod_desc): add constructor
3340         (get_line_forces): check for forced page breaks here too
3342         * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3343         support/elements cycles between InstrumentNames and AxisGroups
3345 2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
3347         * config.make.in (METAFONT): remove MAKEINFO_VERSION
3349         * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3350         make-txt-files target.
3352         * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3353         make-txt-files target.
3355         * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3357         * stepmake/stepmake/generic-vars.make (distdir): create dist in
3358         top-build-dir.
3360 2006-06-06  Jürgen Reuter  <reuter@ipd.uka.de>
3362         * Documentation/user/instrument-notation.itely,
3363         input/regression/breathing-sign-ancient.ly,
3364         input/test/divisiones.ly: Removed redundant property settings for
3365         vaticana contexts.
3367         * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3368         fix lyrics alignment problems.  They are implemented now as scheme
3369         functions that add the appropriate unicode char to the first lyric
3370         event rather than adding a separate lyric event.  Minor edit of
3371         comments.
3373 2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
3375         * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3376         pollute src dir with built .txt files, but install directly from
3377         Documentation/topdocs/out/
3379         * buildscripts/output-distance.py
3380         (ComparisonData.create_html_result_page): put version/directories
3381         in table header.
3383         * Documentation/topdocs/NEWS.tely (Top): document spacing section
3384         feature.
3386         * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3387         Patch by Karl Hammar
3388         
3389         * buildscripts/readlink.py: add  file.
3390         Patch by Karl Hammar
3392 2006-06-06  Joe Neeman  <joeneeman@gmail.com>
3394         * lily/tuplet-number.cc (print): prevent stencil from being
3395         garbage collected.
3397 2006-06-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
3399         * scm/stencil.scm (write-system-signature): explicitly 
3400         -well, superfluously- close output port.
3402         * buildscripts/output-distance.py (main): oops. Add extra argument.
3404 2006-06-05  Graham Percival  <gpermus@gmail.com>
3406         * Documentation/user/music-glossary.tely: clarified example
3407         from Francisco Vila, thanks!
3409 2006-06-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
3411         * input/regression/spacing-section.ly: new file.
3413         * lily/input.cc (programming_error): new function.
3415         * lily/spacing-engraver.cc (try_music): new function. Accept
3416         spacing-section-event
3418         * lily/spacing-spanner.cc (set_springs): take slices of all
3419         columns for spacing.
3421         * lily/include/paper-column.hh (class Paper_column): add
3422         Paper_column::compare.
3424         * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3426         * scm/define-music-types.scm (music-descriptions): add
3427         SpacingSectionEvent
3429         * lily/music-iterator.cc (report_event): use programming_error for
3430         sending non-event error.
3432         * lily/input.cc (programming_error): new function
3434         * buildscripts/output-distance.py (main): use compare-XXX for
3435         compare files.
3436         (main): --threshold option, default at 0.30
3438         * output-distance.py (main): add --threshold option.
3440 2006-06-04  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3442         * scm/paper-system.scm (paper-system-annotate): fix problem when
3443         annotating an empty system
3445 2006-06-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
3447         * GNUmakefile.in: reinstate old web tar/copying.
3449 2006-06-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
3451         * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3452         nothing changes. (Erik S) 
3454         * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3455         count. (Erik S)
3457 2006-05-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3459         * scm/define-markup-commands.scm (whiteout): do not force
3460         foreground color of argument markup to black.
3462         * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3463         the left of the arrow, instead of below the arrow name, so that,
3464         when two little arrows are vertically stacked, their dimensions
3465         and name should not overlap. Add a color key parameter.
3467         * scm/paper-system.scm (paper-system-annotate): Annotate
3468         next-space+next-padding instead of next-space. Annotate space
3469         between next-padding and next-space+padding, respectively, and
3470         following system extent and refpoint-Y-extent. Use colors.
3472         * scm/page.scm (annotate-page): translate annotations slightly to
3473         the right.
3475 2006-06-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
3477         * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3478         fix for x-staff slurs. Thanks Joe!
3480         * buildscripts/output-distance.py
3481         (SystemLink.output_expression_change_count): keep track of changed
3482         details, and dump in details html page.
3484         * input/regression/figured-bass-staff.ly: add note about setting
3485         properties in Staff context.
3487         * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3488         add slurs and ties to support too.
3490         * buildscripts/output-distance.py (main): set dest_dir
3491         argument. Add --max-count option.
3493 2006-06-02  Jürgen Reuter  <reuter@ipd.uka.de>
3495         * ly/gregorian-init.ly: Converted to utf-8.  Added memorable
3496         shortcuts for special unicode chars that are useful in chant
3497         notation.  Revised exisiting and added new comments.
3499 2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
3501         * make/mutopia-rules.make: remove duplicate recipe.
3503 2006-06-02  Werner Lemberg  <wl@gnu.org>
3505         * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3506         Add support for U+0132 (IJ) and U+0133 (ij).
3508 2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
3510         * buildscripts/output-distance.py (FileLink): new class. collect
3511         info systems from one .ly file. 
3512         (FileLink.link_files_for_html): further tweaks.
3514 2006-06-02  Graham Percival  <gpermus@gmail.com>
3516         * tex/texinfo.tex: partial fix for @funindex.
3518         * Documentation/user/macros.tely: uncomment @funindex (doesn't
3519         break anything).
3521 2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
3523         * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3525         * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3526         @example too. Backportme.
3528 2006-06-02  Graham Percival  <gpermus@gmail.com>
3530         * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3531         from Werner Lemberg.
3533 2006-06-02  Paco (Francisco Vila)  <fravd@ya.com>
3535         * Documentation/user/music-glossary.tely: additional spanish
3536         updates and a lyrics fix in an example.
3538 2006-06-02  Jürgen Reuter  <reuter@ipd.uka.de>
3540         * scm/define-grob-properties.scm: Previous patch contained
3541         spurious line from another patch not yet committed.  Fixed.
3543         * scm/define-grob-properties.scm: Add missing doc strings for
3544         ancient notation.
3546 2006-06-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
3548         * buildscripts/output-distance.py
3549         (ComparisonData.write_text_result_page): separate the scores, sort
3550         by geo_score.
3552         * scm/framework-eps.scm (output-classic-framework): start at 1 for
3553         system signatures.
3555         * buildscripts/output-distance.py (me_path): use argv[0] for
3556         sys.path extension
3557         (ComparisonData.img_cell): use colored borders.
3559         * scm/stencil.scm (write-system-signature): escape newlines too.
3560         (write-system-signature): use (1,-1) interval for empty interval
3562 2006-01-01  Graham Percival  <gpermus@gmail.com>
3564         * Documentation/user/music-glossary.tely: Spanish updates
3565         from Francisco Vila.
3567         * Documentation/user/lilypond-book.itely: addition from
3568         Vaclav Smilauer.
3570         * Documentation/user/ various: edits, small additions
3571         from mailist, etc.
3573 2006-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>
3575         * GNUmakefile.in (tree-lib-prefix-current):
3576         (tree-share-prefix-current): Use version number in tree, add
3577         `current' symlinks.
3579 2006-06-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
3581         * GNUmakefile.in: write VERSION, again.
3583         * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3584         $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3586         * stepmake/aclocal.m4: robuster version detection.
3588         * buildscripts/output-distance.py
3589         (ComparisonData.create_html_result_page): copy only if file
3590         exists, fixup src paths.
3592         * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3594 2006-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>
3596         * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3597         Another datarootdir reto.
3599         * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3600         available.  This should be moved to postinstall-lilypond-doc.
3602 2006-05-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
3604         * GNUmakefile.in: simplify local-WWW-post. 
3605         remove -type l from find.
3607         * buildscripts/output-distance.py (ComparisonData.compare_trees):
3608         fixes. Don't follow symlinks.
3609         (ComparisonData.create_html_result_page): remove previous results.
3610         insert ../python in path.
3612         * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3614 2006-05-31  Jan Nieuwenhuizen  <janneke@gnu.org>
3616         * config.make.in (datadir): Add datarootdir to silence autoconf.
3618         * stepmake/aclocal.m4: Update for autoconf-2.59d.
3620 2006-05-31  Erlend Aasland  <erlenda@gmail.com>
3622         * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3624         * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3625         slash beams too wide.
3627 2006-05-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
3629         * VERSION: release 2.9.7
3630         
3631 2006-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
3633         * lily/relocate.cc (read_relocation_dir): Do not blindly
3634         dereference DIR.
3636 2006-05-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
3638         * lily/parser.yy: replace THIS by PARSER
3640         * Documentation/index.html.in: add link to test-results.html page.
3642         * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3644         * scm/translation-functions.scm (format-bass-figure): translate
3645         digits over 10 to the left
3647         * scm/define-markup-commands.scm (translate-scaled): new markup.
3649         * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3650         7 glyph. 
3652         * ly/engraver-init.ly: add Figured_bass_engraver
3654         * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3656         * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3658         * lily/score-engraver.cc (announce_grob): only note START announces.
3660         * lily/include/engraver-group.hh (Translator_group):
3661         acknowledge_hash_table_ is now drul.
3663         * lily/engraver.cc (announce_end_grob): new method.
3665         * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3667         * lily/translator-dispatch-list.cc (create): take start_end argument.
3669         * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3670         acknowledge_static_array_ to drul
3672         * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3674         * scm/define-grob-interfaces.scm
3675         (bass-figure-alignment-interface): add bass-figure-alignment-interface
3677         * scm/define-grobs.scm (all-grob-descriptions): add
3678         BassFigureAlignmentPositioning
3680         * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3681         number stays up to date. Backportme.
3683 2006-05-30  Mats Bengtsson  <mabe@s3.kth.se>
3685         * Documentation/user/basic-notation.itely (Bar lines): Document
3686         the "||:" bar type. 
3688 2006-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
3690         * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3692         * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3693         .../current hack if LILYPONDPREFIX is fine.  Fixes `scons doc'
3694         build.
3696         * Resurrect `scons lily' build.
3698         * SConstruct (symlink_tree): Bugfix: link
3699         music-drawing-routines.ps to file iso directory.
3701         * lily/SConscript: Remove kpath-guile from LIBS.
3703         * SConstruct (libdir_package_version): Typo.
3704         (configure): Comment-out fontforge for lack of fontforge.pc .
3705         Also add libdir* to environment.
3707 2006-05-30  Graham Percival  <gpermus@gmail.com>
3709         * Documentation/user/ various: minor additions from mailist and
3710         editing.
3712 2006-05-30  Paco <fravd@ya.com>
3714         * Documentation/user/music-glossary.tely: numerous corrections and
3715         some new translations.
3717 2006-05-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
3719         * BackportmeStart.
3720         
3721         * buildscripts/output-distance.py
3722         (ComparisonData.create_html_result_page): new routine: summarise
3723         results in HTML page with images. 
3724         (ComparisonData.create_text_result_page): create summary text files too.
3726         * GNUmakefile.in (web-ext): package .signature files too. They
3727         compress well. 
3729         * scm/stencil.scm (write-system-signature): typo.
3731         * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3733         * scm/stencil.scm (write-system-signature): better escaping.
3734         only write signature for music systems, not for markup systems.
3736         * scm/framework-ps.scm (output-framework): dump-signatures support
3737         for plain output.
3739         * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3741         * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3742         for -dno-point-and-click
3744         * lily/grob.cc (get_print_stencil): don't read
3745         point_and_click_global to determine whether to set grob-cause.
3747 2006-05-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
3749         * buildscripts/output-distance.py (main): new function.
3750         (ComparisonData): new class.
3752         * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3753         careful with generating new LedgerLineSpanners.
3755         * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3757         * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3758         context. This fixes double ledger lines in output. 
3760         * lily/system.cc (get_paper_system): remove 3 layer limit.
3762         * buildscripts/output-distance.py (SystemLink.distance): new
3763         file. Compare signatures.
3765         * python/safeeval.py (SafeEval.visitUnarySub): new file.
3767         * lily/grob-array.cc (remove_duplicates): rename from
3768         uniq(). Sort before calling uniq() so it actually works.
3770 2006-05-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
3772         * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3773         \version from lilypond file snippet.
3774         (Lilypond_file_snippet.ly): oops. typo.
3775         (find_toplevel_snippets): urgh. again.
3777         * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3778         prevent duplicated broken items in output.
3780         * scm/framework-eps.scm (output-classic-framework): only dump if
3781         dump-signatures is set.
3783         * scm/lily.scm (define-scheme-options): add dump-signatures option.
3785         * scm/stencil.scm (write-system-signature): new routine: write
3786         python parseable signature of a separate paper system.
3787         BackportmeEnd.
3788         
3789 2006-05-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
3791         * lily/stanza-number-engraver.cc (process_music): use is_markup()
3792         iso is_string().
3793         include header.
3795 2006-05-25  Erik Sandberg  <mandolaerik@gmail.com>
3797         * translator-group.cc: send music events to engravers in
3798         non-bottom contexts.
3800         * tuplet-engraver.cc: process tuplet brackets in correct order.
3802 2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
3804         * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3805         arg 2 might point us to a new binary (patch by Karl Hammar)
3806         
3807 2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
3809         * VERSION (PACKAGE_NAME): release 2.9.6
3811         * Documentation/topdocs/NEWS.tely (Top): trim explanation. 
3813         * Documentation/user/*.itely: 2nd
3814         attempt: replace funindex -> findex globally.
3816 2006-05-24  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3818         * input/no-notation/display-lily-tests.ly: fix \applyOutput
3819         test. Add \break, \pageBreak, \pageTurn, etc, tests.
3821         * scm/define-music-display-methods.scm: display methods for
3822         breaks. Fix \applyOutput.
3824 2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
3826         * Documentation/user/macros.itexi: comment out funindex expansion. 
3828         * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3829         everywhere.
3831         * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3832         Karl Hammar. Backportme.
3834         * Documentation/user/advanced-notation.itely (Balloon help): idem.
3836         * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3838         * Documentation/user/programming-interface.itely (Running a
3839         function on all layout objects): idem.
3841         * Documentation/user/introduction.itely (Automated engraving):
3842         update \applyOutput syntax
3844         * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3845         remove debugging hook.
3847         * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3848         expansion. 
3850         * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3852         * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3853         TEXI2DVI_FLAGS to texi2dvi invocation. 
3855 2006-05-24  Erik Sandberg  <mandolaerik@gmail.com>
3857         * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3858         works. More work is done by iterator now, and engraver has been
3859         very much simplified.
3861         * lily/translator-group.cc: try_music is now invoked through a
3862         listener
3864         * lily/*-iterator.cc: Massive cleanups. Junked
3865         try_music_in_children globally. Renamed try_music to report_event,
3866         and made that method descend to a bottom context automatically.
3868         * lily/event-iterator.cc: New file.
3870         * lily/output-property-iterator.cc,
3871         lily/old-lyric-combine-music-iterator.cc: Removed.
3873         * python/convert-rules.py: Modified the syntax for \applyOutput.
3875 2006-05-23  Graham Percival  <gpermus@gmail.com>
3877         * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3878         creation.
3880         * Documentation/user/ various: stuff that might have helped
3881         to fix the pdf creation, plus some minor doc additions.
3883         * Documentation/user/changing-defaults.itely: remove @b from
3884         @b{ @internasref{foo}}; this breaks texi2dvi -E.
3886 2006-05-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
3888         * lily/beaming-pattern.cc (beamify): deal with negative start
3889         moments for beaming patterns.
3891 2006-05-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
3893         * lily/beaming-info.cc (beamify): new function: read beatLength
3894         and beatGrouping from context. 
3896         * input/regression/beam-beat-grouping.ly (Module): new file.
3898         * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3900         * lily/beam.cc (get_beam_segments): generate events for
3901         max_connect_ case too.
3902         (get_beam_segments): read Stem::max-beam-connect.
3904         * input/regression/beam-single-stem.ly: new file.
3906         * lily/stem.cc (set_beaming): use #f as signaling value for
3907         beamcount 0.
3909         * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3911         * lily/beam.cc (set_beaming): read clip-edges property.
3912         (calc_direction): don't suicide for single stem.
3914         * lily/beaming-info.cc (best_splitpoint_index): take bool*
3915         argument, remove 1<<15 hack. Remove clip_edges() 
3917         * lily/hairpin.cc (print): only do padding for nonmusical bounds
3919 2006-05-21  Graham Percival  <gpermus@gmail.com>
3921         * Documentation/user/basic-notation.itely: reorg.
3923         * Documentation/user/ various: minor fixes.
3925 2006-05-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
3927         * lily/stencil-expression.cc (register_stencil_head): opps, append
3928         to cdr of static SCM object.
3930 2006-05-19  Graham Percival  <gpermus@gmail.com>
3932         * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3933         update framework for command index.  DOC WRITERS: use @funindex
3934         instead of @cindex @code{}.
3936         * Documentation/user/ various: replace @cindex @code{} => @funindex
3938 2006-05-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
3940         * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3941         case positions is set manually. 
3943 2006-05-18  Erik Sandberg  <mandolaerik@gmail.com>
3944         
3945         * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3946         rules to Scheme.
3948 2006-05-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
3950         * Documentation/user/changing-defaults.itely (Contexts explained):
3951         use absolute dimension for @image.
3953         * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3954         out image for illustration too.
3955         ($(outdir)/%.png): add more png <-> eps rules. 
3957 2006-05-17  Graham Percival  <gpermus@gmail.com>
3959         * Documentation/user/ various: remove trailing whitespace, cosmetic
3960         change to reduce changes produced by diff.
3962 2006-05-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
3964         * lily/main.cc (do_chroot_jail): correctness tweak.
3966         * python/lilylib.py (system): import subprocess in system () only.
3968         * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3970         * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3971         variable. Backportme.
3973 2006-05-17  Erik Sandberg  <mandolaerik@gmail.com>
3974         
3975         * lily/parser.yy: Change all syntax rules of type Music to SCM type
3977 2006-05-17  Werner Lemberg  <wl@gnu.org>
3979         * lily/lexer.ll (init_signature_has_table): Add
3980         `scm-scm-music-music'.
3982         * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
3983         (Generic_prefix_music_scm): Add rule for it.
3985         * lily/quote-iterator.cc (Quote_iterator::process): Handle
3986         `quoted-transposition' property.
3988         * ly/music-functions-init.ly (transposedCueDuring): New function.
3990         * scm/define-music-properties.scm (all-music-properties): Updated.
3992         * Documenation/topdocs/NEWS.itely: Document it.
3994 2006-05-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
3996         * python/lilylib.py (system): move import subprocess to system()
3997         definition. 
3999         * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
4001         * VERSION (PATCH_LEVEL): release 2.9.5
4002         
4003         * Documentation/topdocs/INSTALL.texi (Top): update versions and
4004         build instructions. 
4006         * ly/engraver-init.ly: switch on hairpinToBarline by default.
4008 2006-05-16  Graham Percival  <gpermus@gmail.com>
4010         * Documentation/user/basic-notation.itely: editing from Dave, thanks!
4012         * Documentation/user/ various: minor fixes.
4014 2006-05-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
4016         * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
4018 2006-05-16  Mats Bengtsson  <mabe@s3.kth.se>
4020         * Documentation/user/advanced-notation.itely (Instrument names):
4021         Modified obsolete instruction on how to move instrument names away
4022         from the staves. Hmm, at second thought the bug probably has been
4023         solved, so the full bug description should probably be removed.
4025 2006-05-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
4027         * lily/dynamic-engraver.cc (typeset_all): hang ending on
4028         currentCommandColumn. 
4030         * lily/hairpin.cc (print): also add padding for non-neighbor
4031         hairpin bounds.
4033         * scm/define-context-properties.scm
4034         (all-user-translation-properties): add hairpinToBarline
4036         * input/regression/hairpin-to-barline.ly: new file.
4038         * lily/context.cc (internal_send_stream_event): thinko fix.
4040         * lily/tie.cc (set_default_control_points): robustness fix.
4042         * python/musicxml.py (Part.interpret): don't complain about
4043         incomplete measures.
4045         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
4046         new music if last_event_chord() returned None.
4048         * python/musicxml.py (Part.interpret): skip back over chord notes.
4050 2006-05-16  Erik Sandberg  <mandolaerik@gmail.com>
4051         
4052         * lily/percent-repeat-engraver.cc, lily/parser.yy,
4053         lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
4054         lily/slash-repeat-engraver.cc,
4055         lily/include/percent-repeat-iterator.hh: Rework percent repeats:
4056         iterator sends PercentEvents
4058         * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
4059         rework tuplets: send start/stop events to engraver
4061         * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
4062         dispatchers event-source and events-below to Context
4063         
4064 2006-05-15  Graham Percival  <gpermus@gmail.com>
4066         * Documentation/user/README.txt: update info for doc writers.
4068         * Documentation/user/programming-interface.itely: integrate
4069         Nicolas' fixes for chapter rewrite.
4071         * Documentation/user/ various: minor fixes.
4073 2006-05-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
4075         * lily/clef-engraver.cc: cleanup.
4077         * Documentation/user/GNUmakefile: dist context-example.eps too.
4079         * lily/key-engraver.cc (create_key): use
4080         explicitKeySignatureVisibility for cancellation too. 
4082         * lily/font-config.cc (init_fontconfig): don't close file if
4083         f==NULL. 
4085 2006-05-15  Erlend Aasland  <erlenda@gmail.com>
4087         * Documentation/topdocs/NEWS.tely: niente and rotation news
4089 2006-05-14  Erlend Aasland  <erlenda@gmail.com>
4091         * lily/include/stencil.hh
4092         * lily/stencil.cc (rotate): new function. Makes it possible
4093         to rotate a stencil around a given offset.
4095         * lily/grob.cc (get_print_stencil): add rotation support
4097         * lily/stencil-interpret.cc (interpret_stencil_expression):
4098         add rotation support
4100         * lily/stencil-scheme.cc (ly:stencil-rotate): new function
4102         * scm/define-grob-properties.scm: add 'rotation property
4104         * scm/define-markup-commands.scm: add rotate markup command
4105         
4106         * scm/output-ps.scm: add rotation support in PostScript backend
4108         * scm/output-svg.scm: add rotation support in SVG backend
4110 2006-05-13  Graham Percival  <gpermus@gmail.com>
4112         * Documentation/user/music-glossary.itely: French correction.
4114         * Documentation/user/programming-interface.itely: major
4115         new docs, some reorg, some info from Nicolas.
4117         * Documentation/user/ various: small fixes.
4119 2006-05-12  Mats Bengtsson  <mabe@s3.kth.se>
4121         * Documentation/user/programming-interface.itely (Markup
4122         programmer interface): Remove duplicate text.
4124 2006-05-12  Graham Percival  <gpermus@gmail.com>
4126         * Documentation/user/context-example.eps: new file.
4128         * Documentation/user/changing-defaults.itely: set up file to
4129         use eps image.
4131         * Documentation/user/programming-interface.itely: changes
4132         from mailist.
4134 2006-05-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
4136         * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
4138 2006-05-11  Graham Percival  <gpermus@gmail.com>
4140         * Documentation/user/programming-interface.itely: first round of
4141         editing and merging emails from Nicolas.
4143         * Documentation/user/scheme-tutorial: minor edit.
4145 2006-05-11  Han-Wen Nienhuys  <hanwen@lilypond.org>
4147         * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
4148         XML attributes.
4149         (Xml_node.message): use it.
4151         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): 
4152         oops. Add duration argument.
4154 2006-05-10  Joe Neeman  <joeneeman@gmail.com>
4156         * lily/paper-column-engraver.cc (make_columns):
4157         * scm/define-grobs.scm: Revert my previous change and set the default
4158         in define-grobs.scm instead.
4160 2006-05-09  Graham Percival  <gpermus@gmail.com>
4161         
4162         * Documentation/user/changing-defaults.itely: general editing,
4163         info about \set and \override.
4165         * Documentation/user/tweaking.itely, advanced-notation.itely:
4166         fixes from Dave Luttinen, thanks!
4168 2006-05-09  Joe Neeman  <joeneeman@gmail.com>
4170         * lily/paper-column-engraver.cc (make_columns): By default, a column
4171         needs to be breakable.
4173 2006-05-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
4175         * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4176         Attributes methods
4177         (musicxml_time_to_lily): idem
4178         (musicxml_key_to_lily): idem
4179         (instrument_drumtype_dict): dict for supported drumtypes.
4180         (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4181         moments and pending mm rests
4182         (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4183         (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4184         (musicxml_voice_to_lily_voice): add mode change.
4185         (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4186         speed and less memory usage (factor 5 to 10).
4187         (convert): write -defs.ly  and driver file separately so people
4188         can script their own part extraction.
4190         * python/musicxml.py (minidom_demarshal_node): new function:
4191         separate minidom handling.
4192         (lxml_demarshal_node): new function: support lxml.etree too.
4193         (Xml_node.message): new function: verbose error message, with XML
4194         path to offending node.
4195         (Attributes.get_measure_length): sane interface to MusicXML attributes.
4196         (Part_list.generate_id_instrument_dict): new method: collect
4197         instrument names, to be able to set drum_type.
4198         (Part.interpret): handle underfull measures
4199         (Part.interpret): assign instrument names.
4201         * python/musicexp.py (Output_printer.close): new method
4202         (MusicWrapper.print_ly): new class: support other modes,
4203         eg. \drummode
4204         (BarCheck.print_ly): new class. Support bar checks, with comments
4205         and fancy barchecks. 
4206         (NoteEvent.__init__): also set drum_type for drum notes.
4207         (MultiMeasureRest.lisp_expression): dump mm rests.
4209         * lily/paper-column-engraver.cc (stop_translation_timestep): set
4210         line-break-permission if forbidBreak is not set.
4212 2006-05-09  Joe Neeman  <joeneeman@gmail.com>
4214         * scm/define-context-properties.scm:
4215         * scm/define-grob-properties.scm:
4216         * scm/define-grobs.scm:
4217         * scm/define-music-display-methods.scm:
4218         * scm/define-music-properties.scm:
4219         * scm/define-music-types.scm:
4220         * scm/music-functions.scm:
4221         * ly/declarations-init.ly:
4222         * lily/include/constrained-breaking.hh:
4223         * lily/system.cc:
4224         * lily/spaceable-grob.cc:
4225         * lily/simple-spacer.cc:
4226         * lily/paper-score.cc:
4227         * lily/paper-column.cc:
4228         * lily/paper-column-engraver.cc:
4229         * lily/item.cc:
4230         * lily/gourlay-breaking.cc:
4231         * lily/constrained-breaking.cc:
4232         * python/convertrules.py:
4233         Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4234         "page-break-penalty" and "line-break-permission".
4235         Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4236         Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4238         * lily/bar-engraver.cc:
4239         * lily/beam-engraver.cc:
4240         * lily/forbid-break-engraver.cc:
4241         * lily/ligature-engraver.cc:
4242         * lily/paper-column-engraver.cc:
4243         * lily/percent-repeat-engraver.cc:
4244         * lily/score-engraver.cc:
4245         * lily/score-engraver.hh:
4246         * lily/paper-column-engraver.hh:
4247         Inter-engraver communication regarding line breaks is done through context
4248         properties (Score.forbidBreak) instead of function calls.
4250 2006-05-08  Han-Wen Nienhuys  <hanwen@lilypond.org>
4252         * VERSION (PACKAGE_NAME): release 2.9.4
4254 2006-05-08  Graham Percival  <gpermus@gmail.com>
4256         * Documentation/user/working.itely: proofreading from Dave
4257         Luttinen, thanks.
4259         * Doucmentation/user/README.txt: updated with manual style info.
4261         * Documentation/user/ various: trim linewidth to 78 chars.
4263 2006-05-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
4265         * scm/define-grob-properties.scm (all-internal-grob-properties):
4266         remove chord-tremolo property.
4268         * lily/beam.cc (get_beam_segments): don't use stem position as
4269         base for broken ends.
4271 2006-05-06  Graham Percival  <gpermus@gmail.com>
4273         * Documentation/user/putting.itely: proofreading from Dave
4274         Luttinen, thanks!
4276         * Documentation/user/ various: more reorg and clarifications.
4278 2006-05-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
4280         * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4282         * ly/music-functions-init.ly: new function featherDurations
4284         * lily/beam.cc: read grow-direction for feathered beaming.
4286         * Documentation/topdocs/NEWS.tely (Top): typo.
4288 2006-05-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
4290         * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4291         tremolo beams.
4293 2006-05-05  Erik Sandberg  <mandolaerik@gmail.com>
4294         * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4295         used by music streams.
4297         * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4298         lily/stream-event.cc, lily/stream-event-scheme.cc,
4299         lily/listener.cc, lily/scheme-listener.cc,
4300         lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4301         lily/include/stream-event.hh, lily/include/listener.hh,
4302         lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4303         Created data structures for music streams.
4304         
4305 2006-05-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
4307         * lily/beam.cc (get_beam_segments): new function. Reorganise the
4308         construction of a beam. 
4309         (print): rewrite. 
4311         * flower/include/std-vector.hh (default_compare): use only one comparison.
4313         * scm/define-markup-commands.scm (note-by-number): remove debug display.
4314         (note-by-number): further attachment fixes.
4316         * scm/lily-library.scm (ordered-cons): new function.
4317         (interval-index): new function
4319         * lily/note-head-scheme.cc (LY_DEFINE): new file.
4321         * lily/note-head.cc (get_stem_attachment): new function.
4323         * scm/define-markup-commands.scm (note-by-number): read 'style
4324         property. 
4326         * input/regression/markup-note.ly: show note-head style option.
4328         * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4329         triangle head.
4331 2006-05-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
4333         * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4335         * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4337         * lily/include/constrained-breaking.hh: GCC 4 fix.
4339 2006-05-04  Joe Neeman  <joeneeman@gmail.com>
4341         * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4342         Replace it with functions get_line_forces and get_line_configuration.
4343         (class Simple_spacer): Make data private.
4344         Rewrite compression algorithm to be faster and simpler.
4346         * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4347         * lily/gourlay-breaking.cc (solve):
4348         * lily/constrained_breaking.cc (space_line):
4349         Change it to the new simple-spacer code.
4351         * lily/paper-score.cc (get_paper_systems):
4352         (Paper_score):
4353         (process):
4354         Delay breaking the systems until they are requested.
4355         (find_break_indices):
4356         Use vsize for indices.
4357         (calc_breaking):
4358         Move the "Calculating line breaks" message here.
4360         * lily/system.cc (pre_processing):
4361         Move the "Calculating line breaks" message away from here.
4362         (break_into_pieces):
4363         Allow multiple calls to this function in sequence (with touching-but-
4364         not-overlapping breakpoints).
4366         * lily/constrained-breaking.cc:
4367         Replace most of the get_XXXX functions with get_line_details.
4368         Only calculate the force for each line. Calculate configurations only
4369         for the lines we will actually use.
4370         Replace cols_ with lines_.
4372 2006-05-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4374         * mf/GNUmakefile (depth): remove FC_FIND.
4376         * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4378         * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4380         * scm/framework-ps.scm (write-preamble): new function.
4381         (write-preamble): load mac fonts via fondu, even if gs-font-load
4382         is set.
4384 2006-05-03  Werner Lemberg  <wl@gnu.org>
4386         * mf/GNUmakefile (FC_FIND): Fix typo.
4388 2006-05-03  Erlend Aasland  <erlenda@gmail.com>
4390         * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4392 2006-05-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
4394         * stepmake/aclocal.m4: run python-config for crosscompiling
4395         flags. 
4397         * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4398         -f png for HTML, TEXINFO formats. 
4400         * input/tutorial/lbook-html-test.html: new file.
4402         * lily/include/tie-formatting-problem.hh (class
4403         Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4404         [column, direction]. This fixes laissez vibrer ties.
4406         * flower/include/tuple.hh (struct Tuple2): new file.
4408         * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4409         $(FCMATCH), only if $(NCSB_DIR) not set. 
4411         * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4413         * config.make.in (DOCUMENTATION): set FCMATCH.  
4415         * autogen.sh (srcdir): don't set --with-ncsb-dir. 
4417 2006-05-03  Graham Percival  <gpermus@gmail.com>
4419         * Documentation/user/ various: final round of reorg.
4421         * Documentation/user/instrument-notation.itely: some more
4422         fixes from Eduardo, thanks!
4424 2006-05-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
4426         * VERSION (PACKAGE_NAME): release 2.9.3
4428         * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4430         * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4432 2006-05-01  Mats Bengtsson  <mabe@s3.kth.se>
4434         * scm/define-grob-properties.scm (all-user-grob-properties):
4435         Correct typo, thanks to Eduardo.
4437 2006-05-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
4439         * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4441         * buildscripts/lilypond-words.py (F): indent fix.
4443         * input/regression/tie-arpeggio-collision.ly: new file.
4445         * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4446         function: store outlines per column rank.
4448         * lily/include/tie-configuration.hh (class Tie_configuration): add
4449         column_ranks_ to specification and configuration, to distinguish
4450         between ties for different heads in arpegiated chords.
4452         * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4454         * *.py: more 4 space indents.
4456         * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4458 2006-05-01  Joe Neeman  <joeneeman@gmail.com>
4460         * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4462 2006-05-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
4464         * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4466         * scripts/abc2ly.py (dump_score): indent of 4 for python code. 
4468         * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4470 2006-04-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4472         * python/convertrules.py (conv): indent 4 for python files.
4474 2006-04-29  Mats Bengtsson  <mabe@s3.kth.se>
4476         * Documentation/user/changing-defaults.itely (Creating contexts):
4477         Clarify \new semantics.
4479 2006-04-28  Graham Percival  <gpermus@gmail.com>
4481         * Documentation/user/ various: major new sections in the
4482         Learning manual, slight reorg elsewhere.
4484 2006-04-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
4486         * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE) 
4488         * scm/framework-ps.scm (output-framework): remove PageMedia
4490 2006-04-27  Graham Percival  <gpermus@gmail.com>
4492         * Documentation/user/ tweaks.itely, working.itely: new
4493         files, being more advanced "learning manual" chapters.
4495         * Documentation/user/ tutorial, putting, lilypond: reorg.
4497 2006-04-26  Graham Percival  <gpermus@gmail.com>
4499         * input/regression/lyric-combine-polyphonic.ly: fixed test
4500         (no more "can't find context `one'" error).
4502 2006-04-25  Joe Neeman <joeneeman@gmail.com>
4504         * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4506         * input/regression/stem-tremolo.ly: add 2 more whole note examples
4507         
4508 2006-04-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4510         * lily/relocate.cc (read_relocation_dir): new function.
4512 2006-04-26  Graham Percival  <gpermus@gmail.com>
4514         * Documentation/user/instrument-notation.itely: a few more fixes
4515         from Eduardo, thanks!
4517         * Documentation/user/README.txt: new file; contains info on
4518         style that used to be in lilypond.tely.
4520         * Documentation/user/ various: first round of doc reorg.
4522         * Documentation/user/baer-flat-bw.png: remove alpha bit from
4523         graphic; this probably causes problems on some pdf
4524         viewers, notably Adobe Acrobat.
4526 2006-04-24  Graham Percival  <gpermus@gmail.com>
4528         * Documentation/user/instrument-notation.itely: many alterations
4529         to Vocal music, from Eduardo Viera.
4531 2006-04-23  Graham Percival  <gpermus@gmail.com>
4533         * Documentation/user/instrument-notation.itely: fix \new
4534         instead of \context problem.
4536 2006-04-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4538         * lily/relocate.cc (expand_environment_variables): new function.
4539         (read_line): id.
4540         (read_relocation_file): id.
4542         * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code 
4544 2006-04-21  Erlend Aasland  <erlenda@gmail.com>
4546         * ly/engraver-init.ly: remove old comments from TabVoice
4548 2006-04-20  Graham Percival  <gpermus@gmail.com>
4550         * Documentation/user/instrument-notation.itely: added Erlend's
4551         latest doc patch, thanks!
4553 2006-04-19  Erlend Aasland <erlenda@gmail.com>
4555         * lily/include/slur.hh:
4556         * lily/slur.cc:
4557         * lily/phrasing-slur-engraver.cc:
4558         * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4559         acknowledge_extra_object () from Phrasing_slur_engraver:: and
4560         Slur_engraver:: and putting it in
4561         Slur::auxiliary_acknowledge_extra_object ().
4563         * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4565         * lily/note-collision.cc: fix a comment
4567 2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>
4569         * stepmake/bin/add-html-footer.py: fix footer position in
4570         generated html files: before </body> and </html> tags.
4572 2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>
4574         * scripts/GNUmakefile: revert last "fix", which rather broke make.
4575         Earlier successive `make' commands finally compiled ok.
4577         * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4579 2006-04-18  Erlend Aasland <erlenda@gmail.com>
4581         * lily/include/stem-tremolo.hh:
4582         * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4583         callers.
4585         * lily/lookup.cc:
4586         * lily/include/lookup.hh: add rotated_box ()
4588 2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>
4590         * scripts/GNUmakefile: bugfix: run help2man only after scripts have 
4591         been generated. Fixes "can't get `--help'" bug after make clean.
4593         * THANKS: alphabetize contributors.
4595 2006-04-17  Graham Percival  <gpermus@gmail.com>
4597         * Documentation/user/instrument-notation.itely: added Erlend's
4598         tabs and banjo doc patch.  Thanks!
4600 2006-04-17  Erlend Aasland  <erlenda@gmail.com>
4602         * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4604         * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4606         * scm/output-lib.scm: add some more predefined string tunings.
4608         * Documentation/user/instrument-notation.itely: and doc them.
4610 2006-04-16  Jürgen Reuter  <reuter@ipd.uka.de>
4612         * ly/engraver.ly: Remove obsolete comments.
4614         * ly/gregorian-init.ly: Define default layout block.
4616         * input/puer-fragment.ly: Updated and extended.
4618 2006-04-15  Jan Nieuwenhuizen  <janneke@gnu.org>
4620         * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4621         pdf conversion behaviour.
4623         * flower/file-name.cc (dir_name)
4624         (get_working_directory): Move from relocate.cc.
4626         * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4627         
4628         * lily/relocate.cc: Encapsulate sys/stat.h in
4629         HAVE_STAT_H.
4631 2006-04-14  Graham Percival  <gpermus@gmail.com>
4633         * Documentation/user/ various: small updates from Cameron
4634         and Juergen, thanks!
4636         * Documentation/user/ various: small updates of my own.
4638         * THANKS: 2.7 -> 2.8.
4640 2006-04-11  Graham Percival  <gpermus@gmail.com>
4642         * scm/define-context-properties.scm: typo.
4644         * Documentation/user/ : many more small updates.
4646 2006-04-13  Jürgen Reuter  <reuter@ipd.uka.de>
4648         * scm/define-music-types.scm: disposed "docme".
4650 2006-04-11  Erlend Aasland  <erlenda@gmail.com>
4652         * lily/hairpin.cc: make niente circles a bit smaller.
4654 2006-04-10  Erlend Aasland  <erlenda@gmail.com>
4656         * mf/GNUmakefile: remove redundant mftrace check. Also remove
4657         get-pfa and get-*-fonts targets.
4659 2006-04-10  Graham Percival  <gpermus@gmail.com>
4661         * THANKS, Documentation/user/ basic-notation, advanced-notation,
4662         music-glossary, programming-interface: more minor fixes
4663         from mailist.
4665         * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4667         * scm/define-context-properties.scm: another old \property update.
4668         This time tested for compiling!
4670 2006-04-10  Erlend Aasland  <erlenda@gmail.com>
4672         * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4674 2006-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>
4676         * scm/define-context-properties.scm (all-user-translation-properties): 
4677         * Documentation/user/global.itely (Page formatting): Compile fix.
4679 2006-04-09  Mats Bengtsson  <mabe@s3.kth.se>
4681         * Documentation/user/advanced-notation.itely (Polymetric
4682         notation): Update the example to use the "+" symbol and add link
4683         to input/test/compound-time.ly.
4685 2006-04-08  Graham Percival  <gpermus@gmail.com>
4687         * scm/define-grob-properties.scm: clarify docs for #'direction.
4689         * scm/define-context-properties.scm: update old \property override.
4691         * Documentation/user/ advanced-notation, global, lilypond-book:
4692         more minor doc updates.
4694 2006-04-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
4696         * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4698         * scm/backend-library.scm (search-gs): oops.
4700 2006-04-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
4702         * scripts/lilypond-book.py (output): use base, not filename for href.
4704         * scm/backend-library.scm: only look for gs.
4706         * scripts/lilypond-book.py (output): fix printfilename.
4708         * lily/parser.yy (music_function_musicless_prefix): fold together
4709         definitions of signature (SCM*) (Music|post_event|chord_body_element)
4711         * lily/slur.cc (print): only set font-size if not set yet.
4713         * lily/slur-configuration.cc (add_score): improved layout of debug
4714         scoring output.
4716 2006-04-05  David Feuer  <David.Feuer@gmail.com>
4718         * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4719         (draw_circle): Hopefully fixed regression.
4720         Improved documentation for several procedures.
4721         
4722 2006-03-04  Werner Lemberg  <wl@gnu.org>
4724         * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4726 2006-04-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
4728         * scripts/musicxml2ly.py (bindir): add dynamic
4729         relocation. 
4731 2006-04-04  Graham Percival  <gpermus@gmail.com>
4733         * Documentation/user/ basic-notation, advanced-notation, putting,
4734         instrument-notation, invoking, lilypond, THANKS: another ream of small
4735         fixes from the Doc Helpers.
4737 2006-04-03  David Feuer  <David.Feuer@gmail.com>
4739         * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4741         * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4743         * Cleaned up interfaces between PostScript and Scheme, and moved
4744         computations from PostScript to Scheme:
4746         * music-drawing-routines.ps
4747         (*SF, stroke_and_fill): new procedures.  Replaced stroke and fill
4748         with stroke_and_fill throughout.
4749         (euclidean_length, print_letter, draw_box): Deleted unused
4750         procedures.  If someone needs draw_box, implement it using
4751         draw_round_box; don't duplicate code.
4752         (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4753         Refactored/cleaned up interfaces.
4754         (mark_URI): Moved.
4756         * output-ps.scm: reordered arguments to PostScript functions to
4757         match new interfaces
4758         (glyph-string): Rewrote glyph-string.
4759         (grob-cause): Replaced string-append with format.
4760         (repeat-slash): Rewrote to do computation here.
4761         (round-filled-box): Rewrote to do computation here.
4763 2006-04-04  Erlend Aasland  <erlenda@gmail.com>
4765         * stepmake/stepmake/generic-targets.make: add cvs-clean target
4767         * stepmake/stepmake/toplevel- targets.make: print help info about
4768         cvs-clean
4770 2006-04-03  Erlend Aasland  <erlenda@gmail.com>
4772         * input/regression/hairpin-circled.ly: new file
4774 2006-04-03  Erlend Aasland  <erlenda@gmail.com>
4776         * lily/hairpin.cc (print): add support for circled tip
4778         * scm/define-grob-properties.scm: add circled-tip parameter
4780         * scm/define-grobs.scm: init circled-tip to false
4781         
4782 2006-04-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
4784         * scm/music-functions.scm (quote-substitute): set
4785         iterators-ctor. 
4787 2006-03-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
4789         * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4790         BSTINPUTS. 
4792         * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4794         * scm/output-ps.scm (glyph-string): revert cid selectfont.
4796 2006-03-31  David Feuer  <david.feuer@gmail.com>
4797         
4798         * scm/framework-ps.scm:
4799         
4800         * scm/output-ps.scm: glyph-string now produces smaller, more
4801         readable, and probably faster PostScript.  Several findfont
4802         scalefont setfont instances changed to selectfont
4803         Hacked-up string-appends changed to formats.
4805         * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4806         
4807 2006-03-30  Graham Percival  <gpermus@gmail.com>
4809         * scm/lily-library.scm: make "no version" warning message more polite.
4811         * lily/music.cc: add double quotes to failed octave check.
4813         * Documentation/user/ advanced-notation, changing-defaults,
4814         instrument-notation, invoking, music-glossary: whole bunch of minor
4815         fixes from mailist.
4817 2006-03-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
4819         * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4820         $(buildscriptdir) iso. depth.
4822         * VERSION (PACKAGE_NAME): release 2.9.1
4824 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
4826         * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4828         * VERSION (PATCH_LEVEL): bump version number.
4830         * flower/include/guile-compatibility.hh (scm_from_uint32): add
4831         scm_from_uint32 ()
4833         * lily/pango-font.cc (pango_item_string_stencil): use
4834         scm_from_uint32 ()
4836         * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4837         $(outdir)/emmentaler-%.svg): remove canary.
4839         * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4840         glyphnames if we have a ttf font.
4842 2006-03-30  Mats Bengtsson  <mabe@s3.kth.se>
4844         * Documentation/user/advanced-notation.itely (Font selection):
4845         Corrected reference to the font-family-override.ly example.
4847 2006-03-30  Joe Neeman  <joeneeman@gmail.com>
4848         
4849         * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4850         stem-tremolo object in the stem (or else the stem might not be
4851         long enough).
4853 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
4855         * lily/ttf.cc (print_trailer): only print existing glyphs.
4857 2006-03-30  Joe Neeman  <joeneeman@gmail.com>
4859         * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4860         position the tremolo based on the position of the notehead.
4862         * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4863         notes and update the texidoc line with the new positioning rules.
4864         
4865 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
4867         * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4869         * scripts/lilypond-book.py (Module): set default for linewidth if
4870         preamble not found.
4872 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
4874         * VERSION (PACKAGE_NAME): release 2.9.0.
4876         * input/regression/stem-tremolo-position.ly: new file.
4878         * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4880 2006-03-28  Joe Neeman  <joeneeman@gmail.com>
4882         * lily/stem-tremolo.cc (print): position
4883         the tremolo depending only on the end of the stem
4884         and not on the notehead
4885         (raw_stencil): center, on the middle staff line, the
4886         flag that is closest to the end of the stem (previously
4887         the bottom flag)
4888         (calc_width): add this callback to shorten a tremolo when
4889         it is beamed or it is stemup with a flag
4890         (style): add this callback to make a tremolo rectangular when
4891         it is beamed or it is stemup with a flag
4892         (rotated_box): this is like Lookup::beam but makes a rotated
4893         rectangle instead of a parallelogram
4895         * lily/stem.cc (calc_stem_info): make sure the stem
4896         is long enough to fit the tremolo
4897         (calc-length): reduce the length of tremolo stems since the
4898         tremolo code is now capable of better positioning
4900         * scm/define-grobs.scm: make calc_width the default beam-width
4901         callback for stem-tremolo and add the style callback
4902                 
4903 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
4905         * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4906         case. 
4908 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
4910         * lily/ttf.cc (make_index_to_charcode_map): restore old
4911         cmap. 
4913 2006-03-28  Werner Lemberg  <wl@gnu.org>
4915         * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4917 2006-03-28  Graham Percival  <gpermus@gmail.com>
4919         * THANKS: update for 2.9, add section for Documentation helpers.
4921         * Documentation/topdocs/NEWS.tely: compile fix.
4923         * Documentation/user/ basic-notation, global, advanced-notation,
4924         examples.itely: minor fixes from mailist.
4926 2006-03-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
4928         * mf/feta-bolletjes.mf: match width of solfa notes with normal
4929         note heads. 
4931         * lily/ttf.cc (print_trailer): use it.
4933         * lily/pango-font.cc (get_unicode_name): new function.
4935         * lily/ttf.cc (make_index_to_charcode_map): move function from
4936         open-type-font.cc
4937         (print_trailer): substitute uniXXXX name if applicable. 
4939         * lily/pango-font.cc (get_index_to_charcode_map): new function.
4940         (pango_item_string_stencil): use it to generate uniXXXX names.
4942         * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4943         note heads, for uniform widths in shape note output.
4944         (overdone_heads): hmm. remove them again.
4946         * scripts/lilypond-book.py (output): add links to filenames.
4948         * Documentation/topdocs/INSTALL.texi (Top): update versions.
4950         * lily/note-collision.cc (get_clash_groups): only consider when
4951         Note_column::dir <> CENTER. 
4953         * scripts/lilypond-book.py (get_option_parser): init output_name
4954         to ''. 
4956 2006-03-24  Graham Percival  <gpermus@gmail.com>
4958         * Documentation/topdocs/NEWS.tely: add @end itemize
4960         * Documentation/user/ global, advanced-notation: minor
4961         stuff from mailist.
4963 2006-03-23  Graham Percival  <gpermus@gmail.com>
4965         * Documentation/user/ lilypond.tely, music-glossary,
4966         preface: housekeeping; 2005->2006, remove "notes for 2.6"
4968 2006-03-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
4970         * mf/GNUmakefile: don't install .enc files.
4972         * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
4974         * VERSION (PATCH_LEVEL): bump to 2.9.0
4976 2006-03-22  Graham Percival  <gpermus@gmail.com>
4978         * Documentation/user/advanced-notation.itely: minor fixes
4979         from mailist.
4981 2006-03-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
4983         * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
4985         * branch lilypond_2_8
4987 2006-03-22  Han-Wen Nienhuys  <lilydev@localhost.localdomain>
4989         * scripts/lilypond-book.py (samefile): new function, for windoze
4990         compatibility.
4992 2006-03-21  Graham Percival  <gpermus@gmail.com>
4994         * ly/engraver-init.ly: add info about StaffGroup.
4996 2006-03-21  Han-Wen Nienhuys  <lilydev@localhost.localdomain>
4998         * input/regression/stem-direction-context.ly: idem.
5000         * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
5002         * THANKS: add Mats.
5004         * input/regression/page-layout-twopass.ly: comment out \markup so
5005         tweak-file is left.
5007         * lily/instrument-name-engraver.cc (finalize): add to instrument
5008         name global System. This also fixes chopped instrument names, but
5009         doesn't crash when there are slurs/beams.
5011         * lily/slur-configuration.cc (add_score): disallow negative slur
5012         scores.
5013         
5014 2006-03-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5016         * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
5018         * lily/instrument-name-engraver.cc (process_music): kludge: add
5019         InstrumentName spanner to axis group of left bound. Fixes chopped
5020         off instrument names in EPS images.
5022         * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
5024         * scripts/abc2ly.py (option_parser): update to 2.7.40
5026 2006-03-20  Graham Percival  <gpermus@gmail.com>
5028         * THANKS: move small doc contributors to SUGGESTIONS.
5030         * Documentation/user/ basic-notation, advanced-notation,
5031         global: small changes from mailist.
5033 2006-03-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5035         * Documentation/user/advanced-notation.itely (Text marks): update
5036         for new rehearsalMarkAlignSymbol convention.
5038         * VERSION (PATCH_LEVEL): bump version.
5040         * input/test/instrument-name-align.ly: new file.
5042         * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
5044         * input/test/instrument-name-align.ly: new file. Document how to
5045         align instrument names.
5047         * lily/mark-engraver.cc: remove properties.
5049         * scm/define-context-properties.scm
5050         (all-user-translation-properties): remove align symbol properties
5051         for barnumber/reh. mark.
5053         * lily/break-align-interface.cc (self_align_callback): new
5054         interface, new function. Look at complete alignment. This handles
5055         tunable break alignments in case break-align-symbols are missing.
5057         * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
5059         * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
5061         * python/convertrules.py (conv): mark/bar number alignment rule.
5063         * lily/break-align-interface.cc (calc_positioning_done): also
5064         store offset from last visible break-alignment to its
5065         neighbor. This makes alignment on non-visible objects more reliable.
5067         * po/lilypond.pot (Module): ran po-replace.
5069         * input/regression/tie-single-manual.ly (Module): new file.
5071         * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
5072         look at has_manual_position_.
5073         (from_ties): set has_manual_position_ if tie has staff-position set.
5075         * lily/tuplet-bracket.cc (calc_positions): idem.
5077         * lily/tuplet-number.cc (print): don't print tupletnumber if it
5078         doesn't span time.
5080 2006-03-19  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5082         * scm/define-markup-commands.scm (smallCaps): new markup command
5083         for turning a text to small caps using smaller font size and upper
5084         casing.
5086 2006-03-17  Graham Percival  <gpermus@gmail.com>
5088         * Documentation/user/ examples, instrument-notation,
5089         advnaced-notation: minor fixes from mailist.
5091 2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5093         * Documentation/user/tutorial.itely (First steps): change example
5094         to verbatim.  
5096 2006-03-17  Graham Percival  <gpermus@gmail.com>
5098         * Documentation/user/ examples, advanced: minor changes from mailist.
5100         * THANKS: add Geoff Horton, for documentation stuff.
5102 2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5104         * python/lilylib.py (system): revert have_select kludge.
5106         * Documentation/user/tutorial.itely (Commenting input files):
5107         update version numbers in doc. 
5109         * scm/define-grob-interfaces.scm (multi-measure-interface): add
5110         bound-padding to multi-measure-interface
5112 2006-03-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5114         * input/test/engraver-example.ily: update version number.
5116         * VERSION (PACKAGE_NAME): release 2.7.39
5118         * lily/note-spacing.cc (get_spacing): heighten threshold where
5119         accidentals/arpeggios influence previous spacing fully.
5121         * lily/rest.cc (y_offset_callback): only use direction if
5122         staff-position wasn't set before.
5124         * lily/bar-number-engraver.cc: add support for
5125         barNumberAlignSymbol. 
5126         add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
5128         * lily/pointer-group-interface.cc (set_ordered): new function. 
5129         (add_unordered_grob): new function.
5131         * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
5132         to ordered, unless the opposite has been proved.  This fixes
5133         random reordering of large object groups across linebreaks,
5134         eg. beams.
5136         * lily/main.cc (do_chroot_jail): printf format fix.
5138         * lily/tie-formatting-problem.cc (generate_configuration):
5139         multiply y-shift for dot with direction.
5141         * scm/define-markup-commands.scm (note-by-number): put (magstep
5142         size) in y-attach too.
5144         * Documentation/topdocs/NEWS.tely (Top): show override.
5146         * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
5147         direction for stems.
5148         
5149 2006-03-15  Graham Percival  <gpermus@gmail.com>
5151         * Documentation/user/ changing-defaults, global: minor
5152         fixes from mailist.
5154 2006-03-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5156         * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5158         * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5159         breakable items after uniformly stretched notes.
5161         * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5162         outline with outer edge of note heads. This prevents infinity
5163         problems with tied whole notes.
5165         * scripts/lilypond-book.py (do_file): use os.popen
5167         * python/convertrules.py (conv): add rule for Stem #'beamed-*
5169 2006-03-14 Erik Sandberg  <mandolaerik@gmail.com>
5171         * Documentation/user/invoking.itely: Add ragged-right to bug report
5172         guidelines.
5174 2006-03-14  Graham Percival  <gpermus@gmail.com>
5176         * Documentation/user/global.itely: small fix from mailist.
5178 2006-03-14  Mats Bengtsson  <mabe@s3.kth.se>
5180         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5181         file descriptor returned by tempfile.mkstemp() when writing
5182         to tmpfile and closing it. Solves problem with unlink(tmpfile)
5183         on mingw.
5185 2006-03-14  Jan Nieuwenhuizen  <janneke@gnu.org>
5187         * po/fi.po: newline bugfix.
5189 2006-03-12  Jan Nieuwenhuizen  <janneke@gnu.org>
5191         * scm/paper.scm (paper-alist): Rounding fixes.
5193 2006-03-13  Graham Percival  <gpermus@gmail.com>
5195         * Documentation/user/ changing-defaults, instrument-notation,
5196         tutorial: small fixes from mailist, mostly from Mats.  Thanks!
5198 2006-03-13 Heikki Junes  <hjunes@cc.hut.fi>
5200         * po/fi.po: update.
5202 2006-03-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5204         * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5205         mailto: to http:// 
5207         * python/lilylib.py (print_environment): move ps_page_count to
5208         lilypond-book.py
5210 2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5212         * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5214         * scm/framework-ps.scm (embed-document): new function. Use to
5215         embed PFA files.
5217         * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5219 2006-03-12  Mats Bengtsson  <mabe@s3.kth.se>
5221         * Documentation/user/instrument-notation.itely (Setting simple
5222         songs): Added \book{...} around the full example, so the separate
5223         markups are included in the printed example. 
5225 2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5227         * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5228         tmphandle.
5230         * python/lilylib.py (system): rewrite system() using
5231         subprocess. Remove >& redirection trickery.
5233 2006-03-11  Graham Percival  <gpermus@gmail.com>
5235         * Documentation/user/ changing-defaults, global, scheme-tutorial,
5236         notation-appendices.itely: minor fixes from mailist.
5238 2006-03-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5240         * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5241         unsplit man also needs images.
5243         * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5245         * VERSION (PACKAGE_NAME): 2.7.38 released.
5247 2006-03-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5249         * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5250         log in output dir.
5252 2006-03-08  Johannes Schindelin  <Johannes.Schindelin@gmx.de>
5254         * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5255         respects the Score.skipTypesetting property.
5256         
5257 2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5259         * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5260         Prolog. No %%EOF after CFF file.
5262 2006-03-08  Joe Neeman  <joeneeman@gmail.com>
5263         
5264         * lily/constrained-breaking.cc (get_max_systems): used to return a
5265         much too big value
5266         (combine_demerits): use pointers to reduce copying data
5267         (calc_subproblem): idem
5268         (get_page_penalty): add page turn penalties
5269         
5270 2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5272         * Documentation/user/invoking.itely (Invoking lilypond): better
5273         explanation of -e usage.
5275         * lily/main.cc (main_with_guile): don't append to
5276         init_scheme_code_string
5278         * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5280         * Documentation/user/invoking.itely: add note about MacOS X scripts.
5282         * scripts/convert-ly.py (do_options): don't print help for
5283         --show-rules rule.
5285         * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5286         @code and @example. Update from texinfo.tex from CVS.
5288 2006-03-08  Graham Percival  <gpermus@gmail.com>
5290         * Documentation/user/scheme-tutorial.itely: clarifies distances
5291         measured in staff-spaces.
5293 2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5295         * lily/slur.cc (outside_slur_callback): only calculate offsets if
5296         consider[k] is true.
5298         * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5300         * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5301         consider columns that have originals.  Unifies spacing for mm
5302         rests around line breaks.
5304         * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5305         (set_text_rods): idem.
5306         (calculate_spacing_rods): new function: share code between
5307         set_text_rods and set_spacing_rods.
5308         (set_text_rods): take extents of bounds into account.  
5310 2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5312         * Documentation/user/basic-notation.itely (Writing music in
5313         parallel): don't use relative.
5315 2006-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5317         * ly/music-functions-init.ly (Module): add shiftDurations
5319         * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5321         * scm/paper.scm (paper-alist): no decimals for Ax paper sizes. 
5323         * ly/engraver-init.ly: init vocalName to nil.
5325 2006-03-05 Erik Sandberg  <mandolaerik@gmail.com>
5327         * scm/music-functions.scm (music->make-music): bugfix,
5328         KeyChangeEvents are now handled correctly.
5330         * scripts/lilypond-book.py: Add --debug option.
5332 2006-03-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5334         * python/lilylib.py: add tempfile.
5336 2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5338         * VERSION (PACKAGE_NAME): release 2.7.37
5340         * python/lilylib.py (ps_page_count): remove make_ps_images().
5341         (ps_page_count): remove mkdir_p
5342         (system): remove cleanup_temp.
5343         (exit): remove lilypond_version_(check)
5344         (error_log): remove pseudo_filter_p
5345         remove read_pipe
5346         remove cp_to_dir
5347         remove identify
5349         * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5350         use __main__
5352         * lily/accidental-engraver.cc (make_standard_accidental): only add
5353         support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5355         * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5356         $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5357         Make incompatibilities.
5359         * scm/output-ps.scm (grob-cause): replace backslashes by /
5360         (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5362 2006-03-02  Jan Nieuwenhuizen  <janneke@gnu.org>
5364         * cygwin/GNUmakefile: Install fixes.
5366         * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5368         * lily/note-head.cc (head::get_balltype): Compile fix.
5370         * flower/file-name.cc (dos_to_posix): Flower string fix.
5372 2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5374         * python/lilylib.py: pychecker cleanups.
5376         * scripts/lilypond-book.py
5377         (Lilypond_snippet.output_print_filename): pychecker cleanups
5379         * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5381         * python/lilylib.py (underscore): remove identify() , warranty()
5383         * ps/music-drawing-routines.ps: change Border routine for GSView
5384         compatibility.
5386         * lily/stem.cc (height): use quantize-positions.  This triggers
5387         set_stem_lengths, so scripts on beamed stems are handled correctly.
5389         * lily/side-position-interface.cc (aligned_side): check if edges
5390         of script are inside staff. Fixes accent of edge of the staff.
5392         * input/regression/staccato-pos.ly: more examples.
5394         * stepmake/aclocal.m4 (depth): fix bashism.
5396         * lily/lyric-combine-music-iterator.cc: move from
5397         new-lyric-combine-iterator.cc
5398         (process): add pending_grace_lyric_ member to delay lyrics on
5399         grace notes.
5401         * lily/system-start-text.cc (print): suicide if we don't have any
5402         elements. Fixes hara kiri'd instrument names.
5404         * scripts/mup2ly.py (Module): remove.
5406 2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5408         * Documentation/user/global.itely (A single music expression):
5409         close @lilypond properly
5411         * lily/volta-bracket.cc (modify_edge_height): change from
5412         after_line_breaking_callback. Suicide last bracket if appropriate.
5414         * python/lilylib.py: strip getopt support
5416         * scripts/etf2ly.py (do_options): use optparse
5418         * scripts/midi2ly.py: optparse, strip lilylib copy. 
5420         * scripts/abc2ly.py (voices): use optparse.
5422         * stepmake/stepmake/generic-vars.make: new function absdir.
5424         * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5426         * scripts/lilypond-book.py (find_file): use global_options for
5427         include path
5429         * scm/ps-to-png.scm (ps-page-count): prevent null characters
5430         entering C code.
5432 2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5434         * python/lilylib.py (get_global_option): ughness for extracting
5435         global options from lilylib.
5436         (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5438         * scripts/lilypond-book.py (get_option_parser): use optparse for
5439         option handling.  Put options in global_options variable.
5441 2006-02-28  Heikki Junes  <hjunes@cc.hut.fi>
5443         * Documentation/index.html.in: clarify.
5445 2006-02-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5447         * scm/layout-page-layout.scm (write-page-breaks): add a
5448         music-system-heights property to the page layout output.
5450         * scm/page.scm (make-page-stencil): take footer into account when
5451         computing the 'space-left page property
5452         (annotate-space-left): take footer into account when annonating
5453         space left.
5455 2006-02-28  Graham Percival  <gpermus@gmail.com>
5457         * Documentation/user/ advanced-notation, global: more (final)
5458         docs for music expressions, removed special fermatas.
5460 2006-02-27  Graham Percival  <gpermus@gmail.com>
5462         * Documentation/user/ basic-notation, global: minor changes
5463         from mailist.
5465 2006-02-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5467         * scm/framework-ps.scm:         
5468         * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5469         layer for inf? and nan? from framework-ps to lily-library.
5471 2006-02-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5473         * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5474         $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5476         * buildscripts/substitute-encoding.py (Module): remove file.
5478         * mf/GNUmakefile: more PFA strippage.
5480         * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5482         * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5483         generation
5485         * scm/framework-ps.scm: remove font name munging.
5487         * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5489 2006-02-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5491         * scm/markup.scm (define-markup-command): change
5492         def-markup-command to define-markup-command
5494         * scm/music-functions.scm (define-music-function): change
5495         def-music-function to define-music-function.
5497         * python/convertrules.py (conv): rules for def-music-function
5498         and def-markup-commands
5500         * Documentation/user/programming-interface.itely,
5501         input/no-notation/display-lily-tests.ly,
5502         input/regression/lily-in-scheme.ly,
5503         input/regression/markup-user.ly,
5504         input/regression/music-function.ly, input/regression/tie-chord.ly,
5505         scm/fret-diagrams.scm, ly/music-functions-init.ly,
5506         ly/gregorian-init.ly: use new macro names (define-music-function,
5507         define-markup-command).
5509 2006-02-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5511         * scripts/lilypond-book.py (main): write Makefile dependencies file. 
5512         (output): add comments to lp-book latex output.
5514         * GNUmakefile.in (footifymail): use gmane address for webpage bug
5515         address.
5517 2006-02-23  Graham Percival  <gpermus@gmail.com>
5519         * Documentation/user/ tutorial, global: minor changes.
5521 2006-02-23  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5523         * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5524         blocks (for make 3.80)
5526         * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5527         \notemode so that user should not have to explicitely type it.
5529         * scm/define-music-display-methods.scm: various
5530         fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5531         constructs)
5533         * input/no-notation/display-lily-tests.ly: new tests for
5534         \applyOutput and \applyContext
5536 2006-02-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5538         * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5539         changed it slightly so that the number of systems returned by
5540         solve () will be the same as the last value passed to resize
5541         (). I've also added more documentation, removed casts, fixed style
5542         problems and put in some recovery if constraints aren't satisfied."
5544 2006-02-23  Jan Nieuwenhuizen  <janneke@gnu.org>
5546         * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5547         for emacs < 22 compatibility.
5548         (count-rexp): Use it.
5549         (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5550         substring juggling (Milan Zamazal).
5552 2006-02-23  Graham Percival  <gpermus@gmail.com>
5554         * Documentation/user/ basic-notation, advanced-notation,
5555         global.itely, invoking.itely, tutorial,itely:
5556         minor fixes from mailist.
5558         * scm/define-markup-commands.scm: improve docs of \filled-box.
5560 2006-02-23  Heikki Junes  <hjunes@cc.hut.fi>
5562         * Documentation/index.html.in: changes concern the previous release.
5564         * input/regression/+.ly: cultivate typographical terminology.
5566 2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5568         * scm/define-grob-interfaces.scm (parentheses-interface): add
5569         padding to parentheses-interface.
5571         * Documentation/user/GNUmakefile: remove $(CROSS) support from
5572         Documentation/user/GNUmakefile. Use --disable-documentation for that.
5574         * VERSION (PATCH_LEVEL): release 2.7.36
5576         * lily/slur.cc: add avoid-slur (ugh.)
5577         
5578         * lily/slur-configuration.cc (fit_factor): oops, skip point if
5579         intersection gets smaller. This fixes slurs over extreme points.
5581         * lily/melody-engraver.cc (stop_translation_timestep): ignore
5582         stems with neutral-direction set.
5584         * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5586         * lily/open-type-font.cc (load_table): format error.
5588         * lily/change-iterator.cc (process): format fix.
5590         * flower/include/international.hh (_f): idem.
5592         * flower/include/std-string.hh: add format printf attribute.
5594         * scm/define-grobs.scm (all-grob-descriptions): height of all
5595         PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5597         * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5598         ambitus lines.
5600         * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5602 2006-02-22 Erik Sandberg  <mandolaerik@gmail.com>
5604         * input/regression/: upgraded syntax for some files.
5606         * THANKS: Add bughunters.
5608 2006-02-22  Graham Percival  <gpermus@gmail.com>
5610         * Documentation/user/ invoking.itely, advanced-notation.itely,
5611         global.itely: long-awaited "let's make chapter 10 not suck"
5612         update.  Rearrange chapter 10; now called "global issues",
5613         addresses file structure, etc.  Some info from other files
5614         moved into global.itely.
5616 2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5618         * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5619         catch trill-span-event notes.
5621         * Documentation/user/examples.itely (Ancient notation templates): typo.
5622         (Jazz combo): typo.
5624         * scripts/lilypond-book.py (main): scrap invokes_lilypond(). 
5626         * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5628         * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5630         * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5632         * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5633         froum Laissez_vibrer_engraver.
5635         * ly/declarations-init.ly (repeatTie): add \repeatTie
5637         * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5639         * scm/define-grob-properties.scm (all-user-grob-properties): add
5640         head-direction property.
5642         * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5643         from_lv_ties. Take head direction argument.
5645         * lily/semi-tie-column.cc: rename from
5646         laissez-vibrer-tie-column.cc. Rename class too.
5648         * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5649         class too.
5651         * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5653         * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5654         0 case.
5655         (find_breaks): idem.
5657 2006-02-21  Graham Percival  <gpermus@gmail.com>
5659         * Documentation/user/advanced-notation.itely: fixed make-moment]
5660         example.
5662         * Documentation/user/basic-notation.itely: more clarification to
5663         transpose.
5665 2006-02-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5667         * lily/include/constrained-breaking.hh (class
5668         Constrained_breaking): new file.
5670         * lily/constrained-breaking.cc (resize): new file.
5672         * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5674         * Documentation/user/advanced-notation.itely (Clusters): insert
5675         end ignore too.
5677         * lily/tie-column.cc (calc_positioning_done): support for
5678         tie-score debugging
5680         * lily/tie-formatting-problem.cc
5681         (generate_extremal_tie_variations): factor out.
5682         (score_ties_configuration): annotate all tie 
5683         (print_ties_configuration): new routine.
5684         (generate_configuration): nudge extremal ties outside of the head
5685         Y extents.
5686         (score_ties_configuration): oops. convert to staff-space before
5687         determining position symmetry.
5689 2006-02-20  Graham Percival  <gpermus@gmail.com>
5691         * Documentation/user/*-notation.itely: misc minor editing,
5692         shifting doc sections around.
5694         * Documentation/user/*-notation-itely, global.itely,
5695         changing-defaults.itely: added new stuff from NEWS.
5697 2006-02-20  Heikki Junes  <hjunes@cc.hut.fi>
5699         * po/fi.po: update.
5701 2006-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5703         * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5704         lilypond --verbose for lp-book.
5706         * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5707         $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5709         * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5710         $(buildscript-dir) iso. absolute depth.
5712         * buildscripts/genicon.py (dir): thinko.
5714         * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5716 2006-02-19 Erik Sandberg  <mandolaerik@gmail.com>
5718         * scm/output-lib.scm: swap darkcyan/darkyellow
5720         * THANKS: Add bughunters.
5722 2006-02-19  Graham Percival  <gpermus@gmail.com>
5724         * Documentation/user/programming-interfaces.itely: fixed example.
5726         * Documentation/user/instrument-notation.itely: fix @{ @}.
5728         * scm/script.scm: add avoid-slur for \open.
5730 2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5732         * lily/tie-formatting-problem.cc (score_configuration): use
5733         sliding score for min-length. 
5735         * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5736         spaghetti for icons.
5738         * buildscripts/genicon.py (program_name): new file.
5740         * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5741         in outline too.  
5742         (generate_configuration): for small ties, also look for collisions
5743         at Y + DIR*h + DELTA_Y.
5744         (get_variations): consider variation for dot positions too.
5746         * lily/side-position-interface.cc (aligned_side): take abs for
5747         quantized rounded position. Fixes tenuto below staff.
5749         * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5750         markers when necessary.
5752         * lily/program-option.cc (internal_set_option): add
5753         strict_infinity_checking option.
5755         * scm/output-lib.scm (cyan): swap yellow and cyan.
5757 2006-02-19  Graham Percival  <gpermus@gmail.com>
5759         * darwin.patch: trivial linenumber update.
5761         * Documentation/user/ {various}: `\context foo = named' changed
5762         to `\new foo = "name"' in docs.
5764 2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5766         * scm/stencil.scm (annotate-y-interval): use it.
5768         * scm/lily-library.scm (interval-sane?): new function.
5770         * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5771         tfm_checksum stuff.
5773         * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5774         common refpoint.
5776         * flower/include/std-vector.hh (iterof): add iterof macro.
5778         * lily/enclosing-bracket.cc (width): new function.
5780         * lily/align-interface.cc (align_elements_to_extents): reinstate
5781         warning.
5783 2006-02-18  Heikki Junes  <hjunes@cc.hut.fi>
5785         * Documentation/index.html.in: fix spelling: thankyous.
5787 2006-02-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5789         * lily/lyric-hyphen.cc: typo.
5791 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5793         * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5794         $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5795         builds don't work. 
5797         * VERSION: release 2.7.35
5799         * lily/beam.cc (get_default_dir): oops. Take abs () for
5800         extremes[DOWN].
5801         (get_default_dir): use extreme position criterion only in absence
5802         of forced stem directions.
5804         * VERSION (PATCH_LEVEL): bump VERSION.
5806         * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5807         dependencies. Necessary for -jX builds.  
5809 2006-02-17  Jan Nieuwenhuizen  <janneke@gnu.org>
5811         * lily/relocate.cc (setup_paths): Yet another const fix.
5813 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5815         * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5817         * lily/relocate.cc (setup_paths): oops.
5819 2006-02-17  Heikki Junes  <hjunes@cc.hut.fi>
5821         * Documentation/index.html.in: order links: html before PDF.
5823 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5825         * lily/tie-column-format.cc (Module): remove.
5827         * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5829         * lily/text-spanner.cc (print): idem.
5831         * lily/dynamic-text-spanner.cc (print): only print line if longer
5832         than dash-period.
5834         * lily/auto-change-iterator.cc (change_to): formatting.
5836         * lily/beam.cc (get_default_dir): take extreme note head as input
5837         for stem direction.
5839         * lily/tie.cc (get_default_dir): only look directions for visible
5840         stems. 
5842         * lily/side-position-interface.cc (aligned_side): oops. Don't
5843         mutiply with direction. This fixes quantized (staccato, tenuto)
5844         scripts below notes.
5846         * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5847         direction. Fixes c-lyrics-center-align.ly
5849 2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>
5851         * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5852         constructor.
5854         * lily/std-string.cc:
5855         * lily/include/std-vector.hh (split_string): Move and rename from
5856         lily/include/misc.hh, lily/misc.cc.  Update callers.
5858 2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5860         * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5862 2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>
5864         * flower/test-file.cc: New file.
5866         * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5867         libraries.
5869         * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5871 2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5873         * flower/include/file-storage.hh: remove file.
5875         * lily/include/midi-item.hh (class Midi_track): idem.
5877         * lily/include/source.hh (class Sources): idem.
5879         * lily/include/performance.hh (class Performance): use vector
5880         iso. Cons<>
5882         * flower/include/cons.hh (class Cons): remove file.
5884         * flower/include/flower-proto.hh: remove template cruft.
5886         * lily/include/font-metric.hh: use size_t not vsize for indices.
5888         * flower/include/flower-proto.hh (Module): remove std-vector.hh
5889         from proto.
5891         * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5893         * lily/include/paper-book.hh (class Paper_book):
5894         make get_system_specs() public.
5896         * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5897         the force=10000 case if we don't have a current-best. 
5899         * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5900         vsize 
5902         * flower/include/flower-proto.hh: remove outdated templates.
5904         * scm/page.scm: use annotate-spacing
5906 2006-02-15  Graham Percival  <gpermus@gmail.com>
5908         * scm/translation-functions.scm: circle patch from Erlend, thanks!
5910         * THANKS: moved Erlend Aasland to contributors.
5912 2006-02-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5914         * config.hh.in: remove HAVE_PANGO_16
5916         * lily/tuplet-bracket.cc (calc_positions): multiply with
5917         staff-space for beam case. This fixes tuplets+beams on scaled
5918         staves.
5920         * config.hh.in: remove all Kpathsea related defines.
5922         * lily/dot-column.cc (side_position): reach stem via dots->
5923         head->stem. Inspect all stems for dot collisions. 
5925         * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5926         stem handling.
5928         * lily/bar-number-engraver.cc (process_music): document function
5929         of whichBar.
5931         * lily/score.cc (default_rendering): add pscore, not systems
5932         themselves.
5934         * lily/paper-book.cc (get_system_specs): separate generation of
5935         titles and systems.
5937         * flower/include/std-vector.hh: don't include config.hh
5939 2006-02-15  Jan Nieuwenhuizen  <janneke@gnu.org>
5941         * flower/include/std-vector.hh: Better wrapper compatibility with
5942         std::vector.
5944         * flower/include/flower-proto.hh: Remove cheap forward declaration
5945         attempts.
5947         * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5949 2006-02-14  Graham Percival  <gpermus@gmail.com>
5951         * Documentation/user/invoking.itely: add warning about command line.
5953 2006-02-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5955         * lily/include/lily-proto.hh: add Prob, rm Page.
5957         * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5959         * VERSION: release 2.7.34
5961         * lily/relocate.cc (framework_relocation): show canary if
5962         GHOSTSCRIPT_VERSION undefined.
5964         * GNUmakefile.in: remove $(VERSION) symlink.
5966         * lily/relocate.cc (setup_paths): add + 
5968 2006-02-13  Heikki Junes  <hjunes@cc.hut.fi>
5970         * Documentation/index.html.in: specify sizes for all big HTML pages.
5972 2006-02-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5974         * config.hh.in: remove @FRAMEWORKDIR@
5976         * lily/system-start-text.cc (get_stencil): new file: separate out
5977         system-start-delimiter text support.
5979         * input/**ly: replace \context with \new where appropriate.
5980         
5981         * THANKS: add Don.
5983         * lily/slur-scoring.cc (get_base_attachments): use
5984         robust_relative_extent. This fixes problems with empty paper-columns. 
5986 2006-02-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5988         * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
5990         * scm/define-music-properties.scm (all-music-properties):
5991         create-new property.
5993         * lily/context-specced-music-iterator.cc (construct_children):
5994         inspect 'create-new property iso. magical $uniqueContextId context
5995         id.
5997         * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
5999         * lily/context-key-manager.cc (Module): new file. Encapsulate
6000         object key generation.
6002         * lily/include/context-key-manager.hh (Module): new file.
6004 2006-02-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6006         * scm/define-grobs.scm (all-grob-descriptions): center instrument
6007         names vertically
6009         * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
6010         options.
6011         (reloc_b): excise --enable-framework-dir
6013         * lily/relocate.cc (framework_relocation): use getenv
6014         LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
6016 2006-02-11  Jan Nieuwenhuizen  <janneke@gnu.org>
6018         * flower/include/std-string.hh: 
6019         * flower/include/std-vector.hh: Finish std:: conversion; move
6020         flower extensions from std:: namespace.  Update users.
6022         * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
6023         their expansion to vector<*>.  Update users.
6025 2006-02-10  Graham Percival  <gpermus@gmail.com>
6027         * Documentation/user/invoking.itely: add example to File structure.
6029         * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
6030         examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
6032 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6034         * ly/paper-defaults.ly: typo.
6036         * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
6037         set_parent() for parentheses. This will make it show up in bbox
6038         calculations.
6040         * scm/output-lib.scm (parentheses-item::print): rewrite, using
6041         ly:grob-common* functions.
6043         * lily/grob-scheme.cc (LY_DEFINE):
6044         ly:grob-common-refpoint-of-array: new function 
6045         ly:grob-common-refpoint: new function 
6046         ly:grob-relative-coordinate: new function 
6048         * lily/instrument-name-engraver.cc (process_music): use
6049         Text_interface::is_markup(). This fixes \markup on instrument names.  
6051         * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
6052         for ties and slurs.
6054         * lily/slur.cc (print): idem.
6056         * lily/tie.cc: add line-thickness for ties. 
6058 2006-02-10  Jan Nieuwenhuizen  <janneke@gnu.org>
6060         * scm/output-svg.scm: Document diversion from GNU coding standards
6061         as a workaround for a bug in Microsoft Internet Explorer.
6063 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6065         * lily/instrument-name-engraver.cc (process_music): use
6066         is_markup() iso. is_string()
6068         * Documentation/user/changing-defaults.itely (Module): add menu entry.
6070         * lily/percent-repeat-engraver.cc (process_music): only look at
6071         main_part_ for % repeats.
6073         * lily/stem-tremolo.cc (get_beam_translation): new function.
6074         (calc_slope): new function.
6075         (height): don't use real slope.
6077 2006-02-10  Jürgen Reuter  <reuter@ipd.uka.de>
6079         * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
6080         new connect-to-neighbor, control-points and staff-padding
6081         properties to make ligature brackets showing up again.
6083 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6085         * VERSION: release 2.7.33
6087         * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
6088         too many.
6090         * Documentation/user/changing-defaults.itely (Difficult tweaks):
6091         remove applyOutput example.
6092         (Objects connected to the input): document \tweak, \parenthesize
6094         * lily/relocate.cc (prefix_relocation): allow "current"
6095         iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
6096         changing VERSION in a lily tree less painful.
6098         * input/regression/parenthesize.ly: new file. 
6100         * scm/output-lib.scm (parenthesize-element): new function.
6102         * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
6104         * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
6106         * lily/accidental-engraver.cc (make_standard_accidental): reroute
6107         cause: accidentals are caused by note heads, not note events. 
6109 2006-02-08  Graham Percival  <gpermus@gmail.com>
6111         * darwin.patch: small patch from Erlend, thanks!
6113         * Documentation/user/basic-notation.itely: add stem-neutral example.
6115         * Documentation/user/putting.itely: clarifications.
6117 2006-02-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6119         * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
6120         note, add more guidelines to what should go into NEWS.
6122         * input/sakura-sakura.ly: document how to override font.
6124         * input/regression/font-family-override.ly:  doc -dshow-available-fonts
6126 2006-02-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6128         * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
6130 2006-02-08  Jan Nieuwenhuizen  <janneke@gnu.org>
6132         * scripts/convert-ly.py (lilypond_version_re_str): Move from
6133         convertrules.  Add explicit grouping, needed for python2.2.
6135 2006-02-07  Jan Nieuwenhuizen  <janneke@gnu.org>
6137         * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
6139 2006-02-07  Graham Percival  <gpermus@gmail.com>
6141         * Documentation/user/global.itely: fix line-width in (text) docs.
6143         * Documentation/user/lilypond-book.itely: same.
6145 2006-02-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6147         * VERSION (PACKAGE_NAME): release 2.7.32
6149         * Documentation/topdocs/NEWS.tely (Top): document new variable
6150         naming.
6152         * flower/include/array.icc (Message): remove file.
6154         * flower/include/std-vector.hh: make sure vsize and VPOS are
6155         defined for binary_search_bounds().
6157         * flower/std-string.cc (std): add to_string(long unsigned).
6159         * configure.in (gui_b): excise std_string option.
6160         (gui_b): excise std_vector option.
6162         * flower/string.cc (Module): excise flower array & string
6164         * flower/include/std-string.hh: excise flower string.
6166         * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6168         * python/convertrules.py (lilypond_version_re_str): require
6169         only numbers and dots in \version string.
6171 2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6173         * lily/system-start-delimiter.cc (print): allow style = text too.
6175         * lily/system-start-delimiter-engraver.cc
6176         (acknowledge_system_start_text): new function, also add add to
6177         support of system-start-text (instrument names). This fixes
6178         instrument names on piano staves.
6180         * lily/instrument-name-engraver.cc: rewrite. Use
6181         system-start-delimiter approach. This save memory and cpu.
6183         * scm/define-grobs.scm (all-grob-descriptions): remove
6184         instrument-name from break-alignment.
6186         * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6188 2006-02-05  Jan Nieuwenhuizen  <janneke@gnu.org>
6190         * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6191         jobserver going.
6193         * configure.in (std_vector): On by default.
6195         * lily/include/font-metric.hh:
6196         * lily/include/tfm-reader.hh: 
6197         * lily/include/spanner.hh: Use unsigned for indices and sizes.
6198         Update users.
6200         * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6202 2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6204         * VERSION (PACKAGE_NAME): 2.7.31
6206         * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6207         EPS edge at 0, but take minimum with left-overshoot. This fixes
6208         cut off system start delims. 
6210         * lily/instrument-name-engraver.cc (stop_translation_timestep):
6211         hack: add to axis group if not added yet. This fixes hara kiri'd
6212         piano staves.
6214         * lily/hara-kiri-group-spanner.cc
6215         (force_hara_kiri_in_y_parent_callback): fix signatures.
6217         * lily/hairpin.cc (print): check next hairpin to see whether or
6218         not to be continuing.
6220 2006-02-04  Jan Nieuwenhuizen  <janneke@gnu.org>
6222         * Remove trailing whitespace from makefiles.
6223         
6224         * flower/include/std-vector.hh: Add binary_search_bounds workaround
6225         for earlier gcc.
6227         * .cvsignore: Add out*, out-www, config-*.  Remove lots of cruft.
6229         * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6231         * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6233         * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6235         * configure.in: Use it.
6237 2006-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6239         * scm/music-functions.scm (pitch-of-note): new function.
6241         * ly/music-functions-init.ly: add \octave and \addquote
6243         * lily/parser.yy (music_function_chord_body): softcode \octave.
6244         (lilypond_header): softcode \addquote
6246 2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6248         * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6249         array.hh, parray.hh at all.  Getting ready to flip the
6250         configure default.
6252         * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6254         * lily/source-file.cc (file::get_line): Help binary_search_bounds
6255         a bit.
6257         * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6259 2006-02-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6261         * flower/include/array.hh: typo. 
6263 2006-02-02  Graham Percival  <gpermus@gmail.com>
6265         * Documentation/user/advanced-notation.itely: doc "\#" in text.
6267 2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6269         * flower/include/pqueue.hh: Derive from std::vector.
6271         * flower/include/parray.hh: Conform to std::vector interface.
6272         Update users.
6274 2006-02-02  Graham Percival  <gpermus@gmail.com>
6276         * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6278 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6280         * flower/file-path.cc (is_file): remove if 0 section.
6282         * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6283         selecting afii61352.
6285 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6287         * flower/include/std-vector.hh (boundary): Oops, reverse.
6289         * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6290         remove superfluous `d'.
6292         * flower/include/std-vector.hh (boundary, top): Detach from class.
6293         Remove empty vector shell.
6295         * flower/include/array.hh (reverse, swap): Detach from class.
6296         Update users.
6297         
6298         * flower/include/std-vector.hh
6299         * flower/include/array.hh (concat): Globally change to insert ().
6301         * flower/include/std-vector.hh
6302         * flower/include/parray.hh
6303         * flower/include/array.hh (elem, elem_ref): Globally replace by
6304         at ().
6306 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6308         * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6310         * python/convertrules.py (FatalConversionError.sub_cxx_id):
6311         anticipate on identifier substitutions.
6313 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6315         * flower/include/std-vector.hh (insert): Remove, replace by
6316         std::vector interface.  Update callers.
6318         * flower/include/array.icc (insert): Change signature to
6319         match std::vector interface.
6320         
6321         * flower/include/array.icc (vector_sort): Bugfix.
6323 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6325         * lily/parser.yy (output_def_head_with_mode_switch): new
6326         production. Result: dashes and underscores may be used in the
6327         \paper block.
6329         * lily/lexer.ll: add DASHED_WORD.  Accept in INITIAL mode.
6331         * python/convertrules.py (conv): oops. One slash too much.
6333 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6335         * flower/include/std-vector.hh (sort): Remove, replace by
6336         ::vector_sort.  Update callers.
6338         * flower/include/std-vector.hh (slice): Remove.  Update callers.
6339         (sort): Bugfix.
6341         * flower/test-std.cc (vector_sort): New test.
6343 2006-02-01  Graham Percival  <gpermus@gmail.com>
6345         * Documentation/user/putting.itely: fixes from Erik.
6347 2006-02-01  Jan Nieuwenhuizen  <janneke@gnu.org>
6349         * flower/test-std.cc: Add simple unit test for vector migration.
6351         * stepmake/stepmake/test*: Unit test support.
6353         * flower/include/std-vector.hh (del): Remove.  Use erase (),
6354         update callers.
6356         * flower/include/array.hh (begin, end): Add.
6357         (del, get): Remove.
6359 2006-02-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6361         * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6362         std::string not String. 
6364         * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6365         iso UINT_MAX.
6367         * lily/prob.cc (Prob): copy type_ too.
6369         * lily/lily-guile.cc (mangle_cxx_identifier): new
6370         function. Class_bla::foo_bar_[px] ->
6371         ly:class-bla::foo-bar[?!]. Changes throughout
6373 2006-01-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6375         * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6377         * lily/beam.cc (calc_direction): take dir from visible stem in
6378         degenerate case.
6380 2006-01-31  Jan Nieuwenhuizen  <janneke@gnu.org>
6382         * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6383         Fix -1, >=0 boundary checks for unsigned vsize.
6385         * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6386         loop for unsigned vsize.
6388         * configure.in (--enable-std-vector): New option.
6389         (--enable-std-string): On by default.
6391         * flower/include/std-vector.hh: New file.  Enable switch to
6392         std::vector, update client code.
6394 2006-01-30  Graham Percival  <gpermus@gmail.com>
6396         * scm/document-translation.scm: clarify "this context is also
6397         known as".  Thanks, Werner!
6399         * Documentation/user/putting.itely: small fixes from Don Blaheta.
6401         * Documentation/user/invoking.itely: small fix from Don.
6403 2006-01-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6405         * scm/lily.scm (define-scheme-options): rename option
6406         preview-include-book-title to book-title-preview
6407         (define-scheme-options): move force-eps-font-include (from paper
6408         block) to eps-font-include -d option.
6410         * VERSION (PATCH_LEVEL): release 2.7.30
6412         * input/bach-schenker.ly (staffPiano): new file.
6414         * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6416         * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6417         credits to Nicolas.
6419         * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6421         * ps/lilyponddefs.ps: remove start-system, stop-system,
6422         start-page fluff. This saves putting { } code on the stack, fixing
6423         stack overflows when including EPS files.
6425 2006-01-29  Graham Percival  <gpermus@gmail.com>
6427         * Documentation/user/putting.itely: minor fixes (comments on -devel).
6429 2006-01-29  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6431         * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6433 2006-01-28  Graham Percival  <gpermus@gmail.com>
6435         * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6437 2006-01-28  Jan Nieuwenhuizen  <janneke@gnu.org>
6439         * input/mutopia/claop.py: Update.
6441 2006-01-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6443         * input/regression/completion-heads.ly (texidoc): fix.
6445         * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6447         * lily/tie-formatting-problem.cc
6448         (set_ties_config_standard_directions): use abs iso fabs for ints.
6450         * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6452         * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6453         little less than noteheight, to prevent overlaps in chords.
6455         * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6456         head, and fudge stem-attachment.
6458         * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6460         * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6462 2006-01-27  Jan Nieuwenhuizen  <janneke@gnu.org>
6464         * lily/main.cc (main): Debugging aid: catch exceptions.
6466         * flower/std-string.cc (to_string): Robustification.  Fixes midi
6467         output with std::string.
6469 2006-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6471         * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6473 2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>
6475         * Fix -DSTRING_UTILS_INLINED.
6477 2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6479         * VERSION (PATCH_LEVEL): release 2.7.29
6481         * lily/relocate.cc (setup_paths): mingw uses std string too.
6483         * lily/*.cc: various fixes for substr(ARG).
6485         * lily/sustain-pedal.cc (print): 
6487         * flower/file-name.cc (slashify): use std strings.
6489         * flower/string-convert.cc: remove publib.h
6491         * scm/define-markup-commands.scm (verbatim-file): new markup
6492         command \verbatim-file
6494         * Documentation/topdocs/NEWS.tely: fixup URLs
6496         * input/regression/alignment-vertical-manual-setting.ly (Module):
6497         new file.
6499         * lily/align-interface.cc (align_elements_to_extents): overwrite
6500         translations with numbers in alignment-offsets from left bound
6502         * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6503         (page-translate-systems): new function: take into account Y-offset.
6505         * Documentation/topdocs/NEWS.tely (Top): document new features.
6507         * input/regression/page-layout-manual-position.ly (Module): new
6508         file.
6510 2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>
6512         * flower/file-path.cc (path::parse_path): Oops.
6514         * Finish std::string interface.  For now, use std:: marker
6515         throughout for easy s/r.
6517 2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6519         * Documentation/user/putting.itely (Score is a single musical
6520         expression): typo.
6521         (Score is a single musical expression): more typos.
6523         * scm/page.scm (annotate-space-left): thinko.
6524         (annotate-page): more thinkos.
6526 2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6528         * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6529         for different \score blocks separately.
6530         (post-process-pages): put write-page-layout into paper block.
6532         * lily/output-def.cc (get_parser): new file.
6534         * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6535         file.
6537         * lily/include/output-def.hh (class Output_def): add parser_ member.
6539         * input/regression/page-layout-twopass.ly (Module): new file.
6541         * scm/lily.scm: remove cpp hack.
6543         * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6545 2006-01-25  Jan Nieuwenhuizen  <janneke@gnu.org>
6547         * GNUmakefile.in (c-clean): New target.
6549         * flower/include/std-string.hh: String/std::string compatibility:
6550         Use NPOS for `not found' (iso -1), use ssize for length () and pos
6551         type.
6553         * flower/rational.cc: 
6554         * flower/include/rational.hh: 
6556         * flower/offset.cc: 
6557         * flower/include/offset.hh: 
6559         * flower/interval.cc: 
6560         * flower/include/interval.hh: 
6562         * flower/string-convert.cc: 
6563         * flower/include/string-convert.hh: Use std::string [interface].
6564         Update callers.
6566 2006-01-25  Heikki Junes  <hjunes@cc.hut.fi>
6568         * Documentation/index.html.in: clean up.
6570 2006-01-25  Graham Percival  <gpermus@gmail.com>
6572         * Documentation/user/putting.itely: another new untested doc section.
6574 2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6576         * scm/layout-page-layout.scm (write-page-breaks): write
6577         \spacingTweaks #ALIST. Handle grace timing.
6579         * scm/: more imports.
6581         * scm/page.scm (make-page): add footer/header.
6582         (annotate-space-left): revise: only take page argument.
6583         (layout->page-init): new function.
6585         * scm/layout-page-layout.scm (write-page-breaks): preliminary
6586         version of the system/spacing/linebreak hack writing to the output
6588         * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6589         ly:make-prob.
6591         * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6592         ly:spanner-bound
6594 2006-01-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6596         * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6598         * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6600         * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6601         handling to page.scm
6603         * lily/prob-scheme.cc (LY_DEFINE): new file.
6604         (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6606         * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6607         prob functions.
6609         * lily/music.cc (derived_mark): derive Music from Prob.
6611         * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6613         * lily/prob.cc (Module): Implement Prob (Property Object), object
6614         with shared and r/w property alists.  
6616         * lily/include/prob.hh (Module): new file. Declare Prob.
6618         * flower/string.cc: remove is_empty().
6620         * flower/include/string.hh (class String): remove String:: qualifier.
6622         * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6623         substitute appropriate functions.
6625         * flower/include/string.hh (class String): remove to_str0 and
6626         is_empty(). S&R everywhere.
6628 2006-01-23  Graham Percival  <gpermus@gmail.com>
6630         * Documentation/user/basic-notation.itely: add hairpin
6631         after-linebreak tweak to commonprop.
6633         * Documentation/user/putting.itely: added two new sections.
6635 2006-01-23  Jan Nieuwenhuizen  <janneke@gnu.org>
6637         * flower/international.cc: 
6638         * flower/include/international.hh: 
6640         * flower/getopt-long.cc: 
6641         * flower/include/getopt-long.hh: Use std::string [interface].
6642         Update callers.
6644         * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6646         * stepmake/stepmake/executable-rules.make: Add dependency on
6647         module libraries.
6649 2006-01-22  Jan Nieuwenhuizen  <janneke@gnu.org>
6651         * flower/file-path.cc: 
6652         * flower/include/file-path.hh: Use std::string [interface].
6653         Update callers.
6655         * flower/direction.cc: 
6656         * flower/axis.cc: Unused.  Remove.
6658         * configure.in (--enable-std-string): New option.
6660         * flower/std-string.cc: 
6661         * flower/include/std-string.hh: New file.
6663         * flower/file-name.cc[STD_STRING]:
6664         * flower/include/file-name.hh[STD_STRING]: Use it.  Update callers.
6666 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6668         * scm/output-svg.scm (placebox): no GNU coding standards in SVG output. 
6670         * scm/define-markup-commands.scm (with-dimensions):
6671         with-dimensions markup command.
6673         * input/test/font-table.ly: use it.
6675         * lily/open-type-font.cc (glyph_list): new function.
6677         * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6679         * lily/ttf.cc: remove ly:font-glyph-list scheme function
6681 2006-01-22  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6683         * ly/music-functions-init.ly (parallelMusic): new music function
6684         for parallel music entry.
6686         * scm/define-music-properties.scm (all-music-properties): new
6687         'void music property
6689         * scm/music-functions.scm (ly:music-message): make public, to be
6690         used in music function definitions
6692         * scm/lily-library.scm (collect-music-for-book): discard music
6693         when the 'void property is set.
6695 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6697         * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6699         * mf/GNUmakefile: idem.
6701         * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6703         * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6705         * Documentation/user/notation-appendices.itely (The Feta font):
6706         use it.
6708         * input/test/font-table.ly: new file. Generate font table within lily.
6710         * Documentation/user/notation-appendices.itely (The Feta font):
6711         use new font-table.ly file. 
6713         * stepmake/stepmake/install-out-targets.make
6714         (local-install-outfiles): only create directory if
6715         $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6717 2006-01-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6719         * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6721         * VERSION (PACKAGE_NAME): release 2.7.28
6723         * scm/framework-ps.scm (write-preamble): use it to pick exactly
6724         the right font from a Mac dfont.
6725         (write-preamble): don't forget directory, only look at files.
6727         This fixes problems with TTF files in dfonts that don't match
6728         their PostScript names.
6729          
6730         * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6731         PS name from TTF font.
6733         * input/regression/tie-manual.ly: document new feature.
6735         * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6737         * VERSION (MY_PATCH_LEVEL): bump to .28
6739         * Documentation/user/basic-notation.itely (Ties): add tie examples
6740         refs.
6742         * lily/tie-formatting-problem.cc (score_ties_configuration):
6743         symmetry penalties for outer ties.
6745 2006-01-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6747         * lily/tie-formatting-problem.cc (generate_configuration) 
6748         (set_manual_tie_configuration): skip non-pair manual
6749         tie-configuration, so you can set individual ties as
6751           #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6753         * input/regression/tie-chord.ly: use generateTiePattern to
6754         simplify file.
6756         * lily/tie-formatting-problem.cc (peak_around): new function.
6757         (score_configuration): use sliding criterion for staff line collisions. 
6758         (score_configuration): idem for dot collisions.
6759         (generate_configuration): use separate stem_gap for gap to stem.
6761         * lily/include/tie-formatting-problem.hh (struct Tie_details):
6762         separate penalty factors for x and y distance.
6763         (struct Tie_details): separate penalties for tip and center line collisions.
6765 2006-01-19 Han-Wen Nienhuys  <hanwen@xs4all.nl>
6767         * lily/tie-formatting-problem.cc (generate_configuration): make
6768         large ties avoid stafflines in the horizontal section.
6769         (score_configuration): use softcoded penalties
6770         (score_aptitude): idem.
6772         * lily/tie-helper.cc (from_grob): softcode tie details
6774         * lily/staff-symbol-referencer.cc (on_staff_line): new function
6776         * lily/staff-symbol-referencer.cc (on_line): rename from
6777         on_staffline 
6779 2006-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6781         * ly/music-functions-init.ly: remove duplicate tag.
6783         * lily/include/*.hh: GCC 4.1 fixes.
6785 006-01-16  Erlend Aasland  <erlenda@gmail.com>
6787         * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6789         * scm/define-music-types.scm: fix bug in desc. string
6790         for OverrideProperty
6792 2006-01-15 Erik Sandberg  <mandolaerik@gmail.com>
6794         * scripts/lilypond-book.py: bugfix
6796         * scm/define-music-types.scm: fix typos.
6798 2006-01-14  Graham Percival  <gpermus@gmail.com>
6800         * Documentation/user/ basic-notation.itely, global.itely,
6801         advanced-notation.itely, instrument-notation.itely: small
6802         additions (bugs and commonly tweaked properties).
6804 2006-01-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6806         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6807         detection of mingw build.
6808         (MINGW_BUILD): opps.
6810 2006-01-12  Jan Nieuwenhuizen  <janneke@gnu.org>
6812         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6813         i686-mingw32.
6815 2006-01-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6817         * scm/music-functions.scm (skip->rest): add skip->rest
6819 2006-01-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6821         * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6822         explicitly.
6824         * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6825         config dirs. Aids debugging. 
6826         (display_config): also display config files.
6828 2006-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6830         * VERSION: release 2.7.27
6832         * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6833         for determining bar size.
6835         * lily/staff-symbol.cc (print): place lines at distance line-positions
6837         * scm/define-grob-properties.scm (all-user-grob-properties): add
6838         line-positions.
6840         * lily/staff-symbol.cc (height): new function.
6842         * input/regression/staff-line-positions.ly:  new file.
6844 2006-01-06  Graham Percival  <gpermus@gmail.com>
6846         * input/test/add-staccato.ly: remove reference to old file.
6848 2006-01-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6850         * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6851         lilypond binary too.
6853 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6855         * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6857 2006-01-06  Jan Nieuwenhuizen  <janneke@gnu.org>
6859         * scripts/midi2ly.py: Bugfix: Declare datadir.
6861         * make/ly-rules.make:
6862         * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6863         that seems to be gone). Fixes make web.
6865         * The grand 2005-2006 replace.
6867         * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6869 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6871         * make/lilypond-vars.make: set LILYPOND_BINARY variable
6872         (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6873         LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6874         like -dgs-font-load.
6876         * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6877         remove absolute path to lilypond binary.
6878         
6879 2006-01-05 Pedro Kroeger    <kroeger@pedrokroeger.net>
6881         * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6883 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6885         * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6887         * mf/GNUmakefile: remove broken dvips map symlink.
6889 2006-01-04  Jan Nieuwenhuizen  <janneke@gnu.org>
6891         * lily/main.cc: 
6892         * configure.in: Cosmetic fixes.
6894 2006-01-04  Mats Bengtsson  <mabe@s3.kth.se>
6896         * Documentation/user/music-glossary.tely (Pitch names): Added
6897         Spanish pitch names and durations, thanks to Ernesto Gancedo
6899 2006-01-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6901         * scm/lily.scm (define-scheme-options): use quasi-quote for option
6902         init. Fixes verbose printing of .scm files.
6904         * stepmake/aclocal.m4: add spaces before - options.
6905         
6906 2006-01-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6908         * lily/relocate.cc (setup_paths): Bugfix: do not store result
6909         of path search in local block variable.
6911 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6913         * configure.in (NCSB_DIR): --enable-ncsb-dir
6914         (LINK_GXX_STATICALLY): denko.
6916         * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH. 
6918         * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option. 
6919         use locate to find c059033l.pfb. 
6920         
6921 2006-01-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6923         * lily/tie-formatting-problem.cc
6924         (problem::generate_base_chord_configuration): Use my_round (was
6925         round).
6927         * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6928         do not invoke mbrtowc.
6930         * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6932 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6934         * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6936 2005-01-02  Heikki Junes  <hjunes@cc.hut.fi>
6938         * Documentation/user/invoking.itely (svg): revise.
6940 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6942         * lily/lexer.ll: use sourcefilename iso. renameinput.
6944 2006-01-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6946         * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6947         <PostScriptName>.ttf instead of c059XXXttf.
6949         * lily/program-option.cc (LY_DEFINE): special support for
6950         --verbose, so it works before option init too.
6952         * mf/GNUmakefile (local-install): oops.
6954         * lily/lyric-hyphen.cc (print): oops.
6956         * buildscripts/pfx2ttf.fontforge: new file.
6957         
6958         * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6959         ($(outdir)/%.ttf): new rule. 
6961         * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6962         to LyricHyphen.
6964         * lily/lyric-hyphen.cc (print): multiply hyphen height by
6965         font-size
6967 2005-12-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6969         * VERSION: release 2.7.26
6970         
6971         * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6973 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6975         * lily/font-config.cc (init_fontconfig): verbosity.
6977         * THANKS: add Muziekacademie Lede. 
6979         * scripts/musicxml2ly.py (print_voice_definitions): new function 
6980         (print_score_setup): new function
6981         (convert): read part definition to output staves properly.
6983         * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
6984         Music_xml notes.
6986         * python/musicexp.py (Output_printer.__init__): use _ in data
6987         members.
6988         (Output_printer.unformatted_output): new function: no formatting,
6989         but count braces.
6990         (Duration.get_length): remove isinstance() checks for
6991         Output_printer everywhere.
6993         * input/regression/lyrics-bar.ly (texidoc): add
6994         Separating_line_group_engraver.
6996 2005-12-29  Jan Nieuwenhuizen  <janneke@gnu.org>
6998         * lily/relocate.cc (framework_relocation): New function,
6999         factored from set_relocation ().
7000         (prefix_relocation): Rename from set_relocation ().
7001         (setup_paths): Use it.
7003 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7005         * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
7006         numbers. Patch by Erlend Aasland.
7008 2005-12-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7010         * lily/font-config.cc (init_fontconfig): print warning if cache
7011         file is not existant.
7013         * lily/main.cc: don't use #ifdef but #if
7015 2005-12-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7017         * lily/grob-property.cc (internal_set_property): don't abort on
7018         calculation-in-progress.
7020         * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
7022         * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
7023         connect-to-neighbor property not connect-to-other
7025         * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
7026         (LY_DEFINE): oops. don't forget protection.
7028         * flower/parse-afm.cc (Module): strip AFM handling completely.
7030         * lily/stencil-expression.cc: idem.
7032         * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
7034         * lily/function-documentation.cc (ly_add_function_documentation):
7035         use static member iso. Protected_scm
7037         * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
7039         * config.make.in (prefix): remove HAVE_KPATHSEA_SO
7041 2005-12-27  Jan Nieuwenhuizen  <janneke@gnu.org>
7043         * lily/relocate.cc (set_env_dir): New function.
7044         (set_relocation): Use it to fix setting PANGO_PREFIX.
7046 2005-12-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7048         * input/regression/stem-direction-context.ly: remove rest.
7050         * lily/melody-engraver.cc (process_music): restart for bar lines.
7051         (acknowledge_slur): restart for slurs.
7053 2005-12-27  Heikki Junes  <hjunes@cc.hut.fi>
7055         * Documentation/user/invoking.itely: describe how to view SVG 
7056         output using Inkscape which replace embedded fonts with OTF fonts.
7058 2005-12-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7060         * lily/relocate.cc (set_relocation): set PANGO_PREFIX
7062 2005-12-23  Jan Nieuwenhuizen  <janneke@gnu.org>
7064         * lily/melody-engraver.cc (class Melody_engraver): Remove lying
7065         comment.
7067 2005-12-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7069         * VERSION (PACKAGE_NAME): release 2.7.25
7071         * Documentation/topdocs/NEWS.tely (Top): document new feature.
7073         * input/regression/stem-direction-context.ly: new file.
7075         * lily/relocate.cc (set_relocation): add PANGO_PREFIX
7077         * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
7078         on rest.
7080         * ly/engraver-init.ly: add Melody_engraver
7082         * lily/beam.cc (calc_direction): use default-direction
7083         iso. get_default_direction()
7085         * scm/define-grob-properties.scm (all-user-grob-properties): add
7086         default-direction property.
7088         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
7090         * lily/stem.cc (calc_default_direction): remove
7091         Stem::get_default_direction, use default-direction with callback
7092         instead.
7094         * lily/melody-spanner.cc (calc_neutral_stem_direction): 
7096         * lily/melody-engraver.cc: new file. Acknowledge stems for
7097         interpolated stem directions. 
7099         * lily/melody-spanner.cc: new file. Interpolate stem directions.
7101         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
7103         * lily/slur-configuration.cc (fit_factor): more robust check for
7104         point in curve X-extent.
7106         * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
7107         (outside_slur_callback): check for 'outside avoidance.
7109         * lily/slur-configuration.cc (score_extra_encompass): don't use
7110         bound->column() == avoid->column() for checking extents, as this
7111         doesn't work for accidentals. 
7113         * lily/slur-engraver.cc (acknowledge_extra_object): remove
7114         DynamicText hardcoding.
7116         * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
7117         crash if bound stem is NULL
7119         * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
7120         pedals.
7122 2005-12-22  Graham Percival  <gpermus@gmail.com>
7124         * scm/define-markup-commands.scm: typo.  @code{\raise}
7125         => @code{\\raise}.
7127         * darwin.patch: now used again, includes a
7128         required patch from fink.
7130 2005-12-21  Heikki Junes  <hjunes@cc.hut.fi>
7132         * po/TODO: mention gtranslator along with kbabel.
7133         * po/fi.po: update translations.
7135 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7137         * lily/relocate.cc (setup_paths): Bugfix.
7139 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7141         * lily/slur-configuration.cc (score_extra_encompass): don't use
7142         "avoid" choice for avoid-slur.
7144         * stepmake/bin/install.py (dest): don't create existing dir.
7146 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7148         * stepmake/bin/install.py: Remove file before copying.
7150         * config.make.in: 
7151         * stepmake/aclocal.m4: Do not substitute INSTALL.
7153 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7155         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7156         depend on link-tree.
7158         * lily/relocate.cc (setup_paths): only check path for non-absolute
7159         dir without directory part.
7161         * flower/file-name.cc (is_absolute):  new method.
7162         (is_absolute): check root_ too.
7164 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7166         * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7167         relocation code.  Oops, don't comment out too much.
7169         * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7170         iso itself.
7172         * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h.  Fixes mingw
7173         compile.
7175 2005-12-20  Jan Nieuwenhuizen  <janneke@gnu.org>
7177         * .cvsignore: Add install-sh.
7179         * autogen.sh (srcdir): Typo.
7181 2005-12-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7183         * autogen.sh (srcdir): urg. Touch install-sh.
7185         * stepmake/bin/install-sh (Module): remove.
7187         * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7189         * lily/include/relocate.hh: new file.
7191         * lily/relocate.cc: new file. Contain relocation logic.
7193         * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7194         (main): read LILYPOND_VERBOSE as the first thing.
7196         * stepmake/aclocal.m4: remove INSTALL variable.
7198         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7199         separate target for making font symlinks.
7200         (documentation-dir): use $(if $(findstring )) for switching off
7201         Documentation.
7203         * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7204         something if DOCUMENTATION is no.
7206 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7208         * VERSION: release 2.7.24
7210         * lily/script-column-engraver.cc (stop_translation_timestep):
7211         delay adding to script-column.
7213         * lily/tuplet-bracket.cc (print): suicide if no control-points. 
7215         * python/convertrules.py (conv): rule for number-visibility
7217         * lily/slur-configuration.cc (score_extra_encompass): different
7218         distance measure for avoid and inside avoidance.
7219         (score_extra_encompass): use 1/(distance+eps) as penalty.
7221         * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7222         encompass objects for generating slur curves.
7224         * lily/slur.cc: use details iso. slur-details property.
7226         * input/regression/slur-tuplet.ly: new file.
7228         * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.  
7230         * flower/include/offset.hh (class Offset): new operator /=
7232         * lily/tuplet-number.cc (print): new file, new interface.
7234         * scm/define-grob-properties.scm (all-user-grob-properties):
7235         remove number-visibility property.
7237         * lily/tuplet-bracket.cc (calc_control_points): new function
7238         (calc_connect_to_neighbors): new function.
7239         (print): remove text handling for tuplet numberdef.
7241         * lily/tuplet-engraver.cc (struct Tuplet_description): create
7242         TupletNumbers too. 
7244         * lily/lily-guile.cc (robust_scm2booldrul): new function
7246         * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7248         * lily/tuplet-bracket.cc (calc_position_and_height): use
7249         staff-padding to control whether tuplet brackets are over staves.
7251         * lily/grob.cc (suicide): clear dim_caches_.
7253         * lily/dimension-cache.cc (clear): new function.
7255         * lily/grob.cc (extent): swap order of min-extent and extent
7256         calculations. This fixes hara kiri staves. 
7258 2005-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>
7260         * lily/main.cc: Nitpick: relocation is not based on path, but on
7261         directory (location).
7263 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7265         * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7267         * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7269         * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7271         * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7273         * stepmake/stepmake/generic-vars.make (Module): idem.
7275         * stepmake/stepmake/executable-targets.make (default): use it.
7277         * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7279         * make/GNUmakefile: don't install make rules.
7281         * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7282         slashes.
7283         (prepend_env_path): more verbosity.
7285 2005-12-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7287         * GNUmakefile.in: add dir argument for find command.
7289         * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7290         fixes weird line numbers for point & click.
7292         * lily/source-file.cc (get_counts): init line/column/char counts.
7294 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7296         * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7298 2005-12-16  Graham Percival  <gpermus@gmail.com>
7300         * Documentation/user/basic-notation.itely, advanced-notation.itely:
7301         minor fixes from Fredric.  Thanks!
7303 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7305         * ly/music-functions-init.ly: add \bar and \clef music function 
7307         * lily/lily-lexer.cc: idem.
7309         * lily/parser.yy (FIXME): remove BAR and CLEF.
7311 2005-12-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7313         * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7315         * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7316         function arguments too
7318         * lily/main.cc (set_relocation): new function.
7320         * scripts/musicxml2ly.py (convert): add \version
7322         * lily/tie.cc: remove get_default_attachments()
7324         * VERSION (PACKAGE_NAME): release 2.7.23
7325         
7326         * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7327         ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7329         * Documentation/topdocs/NEWS.tely (Top): document new feature.
7331         * lily/tie-formatting-problem.cc (score_ties): new function
7332         (get_variations): new function. Try flipping dirs for collisions.
7333         (generate_optimal_chord_configuration): new function. 1-opt search
7334         for better configuration.
7336         * lily/tie-configuration.cc: new file.
7338         * lily/tie.cc: junk Tie::get_configuration()
7340         * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7341         (score_ties_configuration): new function.
7342         (generate_ties_configuration): new function.
7343         (generate_base_chord_configuration): new function.
7344         (set_ties_config_standard_directions): Move body from tie-column-format.cc 
7345         (set_manual_tie_configuration): Move body from tie-column-format.cc 
7347         * input/regression/tie-dot.ly: new file.
7349         * lily/tie-formatting-problem.cc (score_configuration): score
7350         tie/dot collisions.
7352         * lily/tie-helper.cc (get_transformed_bezier): new function
7354         * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7356         * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7357         -undefined suppress iso. -framework Python 
7359         * scm/define-grobs.scm (all-grob-descriptions): set
7360         springs-and-rods (thanks Joe Neeman!)
7362 2005-12-12  Nicolas Sceaux  <nicolas.sceaux@free.fr>
7364         * input/no-notation/display-lily-tests.ly (test): 
7365         * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7366         changed from \tag #'(a b) to \tag #'a \tag #'b
7368 2005-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7370         * Documentation/topdocs/NEWS.tely: strip out-www.
7372         * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7374         * config.make.in (AR): add AR and RANLIB
7376         * flower/libc-extension.cc: include cassert
7378         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7379         darwin check.
7381 2005-12-11  Graham Percival  <gpermus@gmail.com>
7383         * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7385         * stepmake/stepmake/python-modules-vars.make: define
7386         SHARED_FLAGS for OSX.  Thanks Johannes Schindelin!
7388         * THANKS: added Johannes Schindelin.
7390 2005-12-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7392         * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7394         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7395         Span_arpeggio_engraver, add Tweak_engraver to Score context. 
7397         * lily/parser.yy: reorganize file layout.
7399         * ly/music-functions-init.ly: add tweak music function.
7401         * lily/grob-info.cc (ultimate_music_cause): new function:
7402         recursively lookup causes. 
7404         * lily/parser.yy (chord_body_element): allow music functions for
7405         post-events, allow music functions for chord elements. 
7407         * lily/font-config-scheme.cc (display_fontset): add cast.
7409         * python/convertrules.py (FatalConversionError.sub_syms): \tag
7410         #'(a b) -> \tag #'a \tag #'b rule.
7412         * python/musicexp.py (Output_printer.dump_version): new function
7414 2005-12-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7416         * lily/parser.yy (FIXME): remove \tag
7417         (FIXME): remove tag_music() function.
7419         * lily/lily-lexer.cc: remove \tag
7421         * ly/music-functions-init.ly: define music-function "tag"
7423         * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7425 2005-12-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7427         * VERSION (PATCH_LEVEL): release 2.7.22
7429         * input/regression/lyric-hyphen-retain.ly: renew.
7431         * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7432         grob
7434         * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7435         iso. minimum-length property for rods.
7437         * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7438         LyricSpace item to keep lyrics spaced apart.
7440         * ly/engraver-init.ly: remove Separating_line_group_engraver
7442         * Documentation/user/music-glossary.tely: do setfilename before
7443         music-glossary.
7445 2005-12-07  Heikki Junes  <hjunes@cc.hut.fi>
7447         * Documentation/user/lilypond-book.itely: use `,´ after xref:
7448         See xref documentation, for example.
7450 2005-12-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7452         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7453         pending_skip iso. ly_voice[-1]
7454         (main): add if __main__ for debugging.
7456         * python/musicxml.py (Accidental.__init__): new class.
7458         * scripts/musicxml2ly.py (progress): new function
7459         (musicxml_key_to_lily): don't barf on modeless keys.
7460         (create_skip_music): new function.
7461         (musicxml_spanner_to_lily_event): new function. Handle beams too.
7462         (musicxml_note_to_lily_main_event): new function.
7464         * python/musicexp.py (Music.__init__): add comment field.
7465         (NestedMusic.append): new routine.
7466         (SequentialMusic.print_ly): print comment.
7467         (ArpeggioEvent.ly_expression): new class
7468         (BeamEvent.ly_expression): new class
7469         (NoteEvent.__init__): support for cautionary/forced accs.
7471         * lily/lookup.cc (slur): normal order for array loop.
7473         * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7474         to 0.0.
7476         * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7477         collapsed.
7479 2005-12-06 Erik Sandberg  <mandolaerik@gmail.com>
7481         * scm/music-functions.scm: Make phrasing slurs follow voice direction
7483         * scripts/lilypond-book.py: Introduce option
7484             --preserve-line-breaks, for usage with srcltx
7486 2005-12-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7488         * scm/output-lib.scm (print-circled-text-callback): draw circle
7489         around text using make-circle-markup.
7491         * Documentation/user/*: strip out-www from file names.
7493 2005-12-05  Heikki Junes  <hjunes@cc.hut.fi>
7495         * Documentation/user/lilypond.tely (direntry): remove empty lines;
7496         fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7498 2005-12-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7500         * Documentation/user/GNUmakefile: idem.
7502         * Documentation/user/macros.itexi: strip out-www
7504         * python/rational.py: python 2.3 compat.
7506         * VERSION (PATCH_LEVEL): release 2.7.21
7508         * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7509         option formatting, lilypond style.
7511         * python/musicexp.py: grab from Ikebana: a library for composing
7512         ly music expressions. 
7513         (Output_printer): class for advanced .ly printing.
7514         (eg. tupletting) 
7516         * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7517         convert to pythonesque structure.
7519         * python/rational.py: PD rational number class.
7521         * Documentation/user/converters.itely (Invoking musicxml2ly):  new node.
7523 2005-12-04  Erik Sandberg  <mandolaerik@gmail.com>
7525         * lily/part-combine-iterator.cc: Minor bugfix
7526         
7527         * THANKS: Update bughunters
7529 2005-12-02  Werner Lemberg  <wl@gnu.org>
7531         * mf/README: Document process for proper mf2pt1 conversion.
7533         * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7534         overlapping.
7536         * mf/feta-harmonica.mf: Removed.  Unused.
7538 2005-12-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7540         * scripts/lilypond-book.py (do_file): fix thinkos.
7542 2005-12-01  Jan Nieuwenhuizen  <janneke@gnu.org>
7544         * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7545         ($(outdir)/parser.cc): 
7546         ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7548 2005-11-30  Pedro Kröger  <kroeger@pedrokroeger.net>
7550         * ly/titling-init.ly (tagline): it should be a space between
7551         "Music engraving by LilyPond" and the version number.
7553 2005-12-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7555         * VERSION (PACKAGE_NAME): release 2.7.20
7557 2005-11-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7559         * scm/define-markup-commands.scm (pad-to-box): new markup command.
7561         * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7562         1.0.
7563         (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7565 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7567         * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7569         * kpath-guile/: remove directory
7571         * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7572         file. Encapsulate kpathsea using commandline tools.
7574         * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7575         kpathsea) module.
7577 2005-11-29  Mats Bengtsson  <mabe@s3.kth.se>
7579         * Documentation/user/advanced-notation.itely (Setting automatic
7580         beam behavior): Correct a few typos. Thanks to David Bobroff.
7582         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7583         \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7585 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7587         * scripts/*.py: gmane address for bugs.
7589 2005-11-28 Pal Benko <benkop@freestart.hu>
7590         
7591         * make/ly-rules.make: add -f switch to mv
7593         * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7595         * lily/bar-line.cc: interpret it
7597 2005-11-28  Jan Nieuwenhuizen  <janneke@gnu.org>
7599         * configure.in (--disable-documentation): New switch.
7601         * GNUmakefile.in: Use it.
7603         * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7605 2005-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7607         * scripts/lilypond-book.py (do_file): search chunks for
7608         \\begin{document}
7610         * GNUmakefile.in: add copy step in between so we can lose the
7611         out-www directories.
7613 2005-11-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7615         * lily/pango-font.cc (pango_item_string_stencil): put
7616         geometry.width into glyph-string too.
7618 2005-11-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
7620         * scm/define-music-display-methods.scm (RevertProperty):
7621         (OverrideProperty): Use grob-property-path property, a list of
7622         symbols, instead of grob-property, which used to be a single
7623         symbol.
7624         (BassFigureEvent): a figure can be a plain number, not necessarily a
7625         markup.
7627 2005-11-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7629         * VERSION: release 2.7.19
7630         
7631         * lily/figured-bass-engraver.cc (process_music): check
7632         figuredBassCenterContinuations first.
7634         * scm/translation-functions.scm (format-bass-figure): make double
7635         sharp larger. 
7637         * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7638         determine X-parent.
7640         * lily/system-start-delimiter-engraver.cc: move from
7641         Nested_system_start_delimiter_engraver, rename
7642         Nested_system_start_delimiter_engraver ->
7643         System_start_delimiter_engraver.
7645         * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7646         bracket type from hierarchy.
7648 2005-11-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7650         * lily/rest.cc (y_offset_callback): read staff-position.
7652         * scm/define-grob-properties.scm (all-user-grob-properties): don't
7653         mark after-line-breaking-callback as internal.
7655         * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7657 2005-11-25  Werner Lemberg  <wl@gnu.org>
7659         * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7661 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7663         * stepmake/bin/add-html-footer.py (do_file): add google
7665         * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7666         staff if first_start_ is true.
7668 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7670         * scripts/midi2ly.py (split_track): add __repr__ members.
7671         (track_first_item): only return Item if not None. This fixes a
7672         problem when dumping a track that starts with an empty channel.
7674         * python/midi.c: doc module.
7676 2005-11-22  Mats Bengtsson  <mabe@s3.kth.se>
7678         * Documentation/user/global.itely (Creating MIDI files): Fix
7679         compilation problem.
7681 2005-11-22  Graham Percival  <gpermus@gmail.com>
7683         * Documentation/user/basic-notation.itely: clarify dynamic
7684         padding text.
7686         * Documentation/user/advanced-notation.itely: add unicode
7687         escape control example, whatever that is.  :)
7689         * Documentation/user/global.itely: added "removing dynamics
7690         from MIDI" code.
7692 2005-11-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7694         * VERSION (PATCH_LEVEL): release 2.7.18
7696         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7697         System_start_delimiter_engraver by
7698         Nested_system_start_delimiter_engraver.
7700         * lily/nested-system-start-delimiter-engraver.cc (struct
7701         Bracket_nesting_node): new class.
7702         (struct Bracket_nesting_group): new class
7703         (struct Bracket_nesting_staff): new class.
7704         (process_music): create hierarchy of grobs. This allows separate
7705         tuning of different SSDs. 
7707         * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7708         (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7710 2005-11-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7712         * lily/side-position-interface.cc (aligned_side): multiply
7713         staff_radius by 2.
7715         * lily/script-engraver.cc (make_script_from_event): allow setting
7716         values to '()
7718 2005-11-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7720         * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7722         * scm/define-grobs.scm (all-grob-descriptions): new grob
7723         NestedSystemStartDelimiter.
7725         * input/regression/system-start-heavy-bar.ly: new file.
7727         * lily/nested-system-start-delimiter-engraver.cc: new file.
7729         * lily/nested-system-start-delimiter.cc: new file.
7731         * input/regression/system-start-nesting.ly: new file.
7733         * scm/define-grobs.scm (all-grob-descriptions): use X side
7734         positioning for positioning braces for nested contexts.
7736         * lily/system-start-delimiter.cc (print): don't divide extent by
7737         staff_space.
7738         (print): use style iso. glyph.
7739         (staff_bracket): translate glyph inside routine already.
7741 2005-11-18  Michael Welsh Duggan <md5i@cs.cmu.edu>
7743         * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7744         names.
7746 2005-11-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7748         * scm/define-context-properties.scm
7749         (all-user-translation-properties): rename figuredBassFormatter
7750         from newFiguredBassFormatter.
7752         * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7754         * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7756         * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7758         * lily/beam.cc (calc_beaming): new function.
7759         (calc_shorten): new function.
7761         * THANKS: add Edward Neeman.
7763         * input/regression/accidental-clef-change.ly: new file.
7765         * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7767         * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7769         * lily/clef-engraver.cc (inspect_clef_properties): reset
7770         localKeySignature for clef changes.
7772 2005-11-17  Mats Bengtsson  <mabe@s3.kth.se>
7774         * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3 
7775         add dummy definition that works in Linux and add information in
7776         INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7778         * Documentation/user/changing-defaults.itely (Modifying context
7779         plug-ins): Add index for \with.
7781         * Documentation/user/music-glossary.tely (dal segno): Updated
7782         example to version >=2.6.
7784 2005-11-16  Mats Bengtsson  <mabe@s3.kth.se>
7786         * Documentation/user/instrument-notation.itely (Printing chord
7787         names): Reorder \chordmode and \repeat in one example.
7789 2005-11-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7791         * VERSION: release 2.7.17
7792         
7793         * Documentation/topdocs/NEWS.tely (Top): add note about
7794         refactoring.
7796         * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7797         new function. Search region of 3 positions for best tie.
7798         (score_configuration): new function.
7799         (score_aptitude): new function.
7800         (generate_configuration): new function.
7801         (get_configuration): new function.
7802         (Tie_formatting_problem): new function
7804         * input/regression/page-top-space.ly: a6 for page-top-space demo. 
7806         * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7808         * THANKS: add Eduardo Vieira & Ralph Little
7810         * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7811         narrower.
7813         * lily/include/tie-formatting-problem.hh (class
7814         Tie_formatting_problem): add Tie_details to
7815         Tie_formatting_problem. Update calling conventions.
7817         * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7818         config.make.
7820         * Documentation/user/lilypond.tely: remove musedata2ly entry.
7822 2005-11-16  Jürgen Reuter  <reuter@ipd.uka.de>
7824         * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7825         scm/define-context-properties.scm: Maintenance bugfix: make
7826         ligature brackets work again by removing obsolete ligature
7827         primitive callback push/pop.
7829         * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7830         not call Tuplet_bracket::calc_direction.  Removed obsolete gap
7831         value.
7833 2005-11-15  Jan Nieuwenhuizen  <janneke@gnu.org>
7835         * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7836         used and do not call it a path.
7837         (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7839 2005-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7841         * lily/include/tie-formatting-problem.hh (class
7842         Tie_formatting_problem): new file.
7844         * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7846         * Documentation/misc/ChangeLog-2.3:  new file.
7848         * lily/audio-staff.cc (output): degarianize.
7850 2005-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>
7852         * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7853         Unset PYTHONOPTIMIZE.  Fixes install if set.
7855 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7857         * python/convertrules.py (conv): add warning about drums. 
7859         * make/stepmake.make: include toplevel-version.make after config.make.
7861         * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7862         also allow python2.4
7864         * config.make.in (configure-srcdir): remove GXX GCC vars.
7866         * stepmake/aclocal.m4: don't do non-srcdir build with
7867         symlinks. Use inclusion, so the src directory name can be changed.
7869 2005-11-13  Jan Nieuwenhuizen  <janneke@gnu.org>
7871         * make/mutopia-vars.make:
7872         * make/ly-vars.make: Use src-wildcard iso wildcard for source
7873         files.
7875 2005-11-13  Werner Lemberg  <wl@gnu.org>
7877         * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7878         but the affected path.  This ensures that the (overlapping) outlines
7879         have the same direction, which is a necessary prerequisite for
7880         FontForge's algorithm to remove overlaps.
7881         Formatting.
7883         * mf/feta-haak.mf: Formatting.
7884         (draw_bracket): Slightly modify outline to avoid an unnecessary
7885         corner.
7886         Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7887         them from the affected paths.
7889 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7891         * mf/README: remove xpm / accordion notes.
7893         * lily/tie-column-format.cc (set_chord_outline): add dots into
7894         skyline extents. This fixes tie formatting if the left head has dots.
7896         * lily/tie.cc (get_configuration): only shift tie by a whole staff
7897         space inside the staff.
7898         (get_configuration): shift another position if necessary in case
7899         of left head tie  
7901 2005-11-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7903         * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7904         buildscript-dir iso. $(depth)/buildscripts.
7906         * tex/GNUmakefile (local-uninstall): remove
7907         music-drawing-routines.ps juggling.
7909         * stepmake/stepmake/install-targets.make (local-install-files):
7910         prepend src-dir to install targets.
7912         * lily/system-start-delimiter-engraver.cc
7913         (acknowledge_system_start_delimiter): use
7914         add_offset_callback(). This fixes translation of nested
7915         staffgroups.
7917         * lily/grob-closure.cc (add_offset_callback): only encaps in
7918         simple_closure if it's a procedure.
7919         
7920         * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7921         from bar-line.
7923         * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7924         remove-empty where pertinent.
7926 2005-11-12  Graham Percival  <gpermus@gmail.com>
7928         * Documentation/user/instrument-notation.itely: added
7929         Cameron Horsburgh's multiple stanzas docs.  Thanks!
7931 2005-11-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7933         * lily/GNUmakefile
7934         ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7935         make picture in builddir, not srcdir.
7937 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7939         * VERSION: release 2.7.16
7940         
7941         * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7942         shell arguments. 
7944 2005-11-10  Mats Bengtsson  <mabe@s3.kth.se>
7946         * Documentation/user/examples.itely (Piano templates): Minor
7947         modification to the Piano centered lyrics example.
7949 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7951         * scripts/lilypond-invoke-editor.scm (run-browser): look at
7952         $BROWSER.
7954         * Documentation/user/point-and-click.itely: simplify p&c
7955         instruction: don't configure firefox. Put lilypond-invoke-editor
7956         in front of the browser.
7958         * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7959         (run-browser): new function.
7961         * lily/parser.yy (Lily_lexer): recognize Book
7963         * lily/book.cc (clone): new function
7965         * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7967 2005-11-10  Jürgen Reuter  <reuter@ipd.uka.de>
7969         * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7970         Maintenance bugfix: reduce number of font related warnings by
7971         updating naming conventions for glyph-name.
7973 2005-11-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7975         * scm/define-grobs.scm (all-grob-descriptions): add
7976         rhythmic-grob-interface to TabNoteHead.
7978         * scm/layout-beam.scm (check-quant-callbacks): remove
7979         set_stem_lengths()
7981 2005-11-08  Jürgen Reuter  <reuter@ipd.uka.de>
7983         * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
7984         alignment of centered divisiones.
7986         * scm/scripts.scm (articulations): Maintenance bugfix:
7987         follow-into-staff -> quantize-position.
7989         * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
7990         plica head in porrectus deminutus.
7992 2005-11-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7994         * make/lilypond.fedora.spec.in (Group): add %clean section.
7996         * lily/tuplet-bracket.cc (print): change check: remove bracket if
7997         less then 1/5th of total length.  
7998         (print): use gap too.  Fixes tupletUp-single-bracket.ly
8000         * scm/music-functions.scm (glue-mm-rest-texts): also put other
8001         events into EventChord. This fixes textspanners on mm rests. Fixes
8002         spanner-rest.ly
8004         * lily/side-position-interface.cc (get_axis): read side-axis
8005         (set_axis): set side-axis.
8007         * scm/define-grobs.scm (all-grob-descriptions): add side-axis
8008         properties everywhere.
8010         * lily/spacing-spanner.cc (breakable_column_spacing): add
8011         average-spacing-wishes. Take maximum if not set.
8012         (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
8014         * scm/define-grobs.scm (all-grob-descriptions): add
8015         average-spacing-wishes.
8017         * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
8018         offset callbacks. This fixes alignment for Fingering objects.
8020         * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
8021         space for key - timesig combination. 
8023         * input/regression/script-stem-tremolo.ly (Module): new file.
8025         * scm/define-grobs.scm (all-grob-descriptions): decrease distance
8026         to key sig.
8028         * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
8029         Fixes: c-tremolo-script.ly.
8030         
8031         * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
8033         * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
8034         
8035         * scm/define-grobs.scm (all-grob-descriptions): remove
8036         self-X-offset. Fixes alignment of octavate-8.
8038         * scripts/lilypond-book.py (datadir): look in
8039         LILYPONDPREFIX/share/lilypond/current/
8041         * GNUmakefile.in: symlink current to <VERSION>. 
8043 2005-11-07  Pedro Kroger  <kroeger@pedrokroeger.net>
8045         * lily/main.cc: eps listed as a backend.
8047 2005-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8049         * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
8051 2005-11-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8053         * lily/include/score.hh (class Score): remove texts_ member.
8055         * lily/beam.cc (set_stem_lengths): force direction callback.
8056         (print): read quantized-positions, so we can force
8057         Beam::set_stem_lengths to occur.
8058         (rest_collision_callback): use common X parent. 
8060 2005-11-03  Jan Nieuwenhuizen  <janneke@gnu.org>
8062         * flower/file-path.cc (find): Bugfix: Return name of file found.
8064         * lily/main.cc (setup_paths): Bugfix for argv0 logic.
8065         (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
8066         (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
8068 2005-11-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8070         * flower/offset.cc: idem.
8072         * mf/*.mf: update email address.
8074         * lily/font-config-scheme.cc:  new file.
8076         * GNUmakefile.in (SUBDIRS): remove debian/ directory.
8078         * lily/*:  cs.uu.nl -> xs4all.nl
8080         * VERSION (PATCH_LEVEL): release 2.7.15
8082         * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
8083         spec files.
8085         * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
8087 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8089         * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.   
8091         * lily/staff-performer.cc (process_music): add audio
8092         elements. This makes MIDI instrument changes work once again.
8094         * lily/main.cc (LY_DEFINE): add gmane address.
8096         * lily/beam.cc: remove calc_positions()
8098         * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
8099         original_ in private scope.
8100         (class Grob): drop pscore_ pointer, change to output_def pointer.
8101         (class Grob): cleanup class definition.
8103         * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
8105 2005-11-02  Jan Nieuwenhuizen  <janneke@gnu.org>
8107         * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
8108         absolute.  Better diagnostics.
8110         * GNUmakefile.in: Add bin/ to tree and populate with some links.
8111         This makes lilypond run from the build directory using argv0
8112         relocation (without any --prefix or LILYPONDPREFIX setting).
8114 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8116         * Documentation/topdocs/NEWS.tely (Top): document new backend design.
8118         * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
8119         with simple-closure.
8121         * lily/self-aligment-interface.cc (set_align_self): new function
8122         (set_center_parent): new function.
8124         * lily/side-position-interface.cc (set_axis): new function.
8126         * lily/new-fingering-engraver.cc (position_scripts): use drul for
8127         generic code. 
8129         * scm/define-grob-properties.scm (all-user-grob-properties):
8130         remove [XY]-offset-callbacks add [YX]-offset
8131         
8132 2005-11-02  Mats Bengtsson  <mabe@s3.kth.se>
8134         * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
8135         entry for time signatures after breathing signs. Bug report by
8136         Scott Russell.
8138 2005-11-01  Jan Nieuwenhuizen  <janneke@gnu.org>
8140         * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
8141         not absolute, make it absolute using PATH.
8143 2005-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
8145         * python/midi.c (initmidi): Fix type for mingw.
8147 2005-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
8149         * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8151         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8152         cross compiling.
8154         * stepmake/aclocal.m4: Support python cross compiling.
8156         * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8157         Add mingw section.
8159 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8161         * scm/output-lib.scm (chain-grob-member-functions): replace
8162         chained-callback.cc
8164         * lily/chained-callback.cc (Module): remove file.
8166         * lily/rest-collision.cc (force_shift_callback_rest): change to
8167         chained callback.
8169         * lily/rest.cc (y_offset_callback): merge function of 3 callbacks. 
8171         * lily/grob.cc (y_parent_positioning): remove axis argument from
8172         parent_positioning callbacks.
8173         (Grob): junk init code
8174         (get_offset): use generic property callbacks for
8175         X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8176         (axis_parent_positioning): new function
8177         (axis_offset_symbol): new function
8178         (chain_offset_callback): new function
8179         (add_offset_callback): new function
8181         * lily/beam.cc (rest_collision_callback): change signature; this
8182         is now a chained callback.
8184         * lily/include/dimension-cache.hh (class Dimension_cache): remove
8185         callback administration.
8187         * lily/simple-closure.cc: new file. Smob type that allows "grob
8188         member functions",
8190             (ly:make-simple-closure FUNC A B)
8192         is evaluated as (FUNC grob A B). This allows chaining of callbacks
8193         in various ways.
8195         * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8196         callbacks.
8198         * lily/slur.cc (outside_slur_callback): take 2 arguments.
8200         * lily/rest.cc (polyphonic_offset_callback): remove.
8202         * lily/script-engraver.cc (try_music): remove bool* argument.
8204         * scm/script.scm (default-script-alist): set quantize-position
8205         appropriately.
8207         * lily/script-engraver.cc: remove follow_into_staff_ special coding. 
8209         * lily/side-position-interface.cc (aligned_side): move staff
8210         position quantization from
8211         Side_position_interface::quantised_position().
8212         (quantised_position): remove
8213         
8214 2005-10-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8216         * input/regression/beam-quant-standard.ly: reindent, set
8217         debug-beam-quanting to #t.
8219         * lily/beam-concave.cc (calc_concaveness): set concaveness to
8220         10000 if this is a "hard" concave beam.
8222         * lily/beam.cc (calc_least_squares_positions): change from
8223         calc_least_squares_dy
8224         (set_stem_lengths): this is now a chained callback.
8226         * lily/context-property.cc (execute_general_pushpop_property):
8227         bugfix override with procedure should have effect.
8229         * scm/define-grob-properties.scm (all-internal-grob-properties):
8230         remove position-callbacks.
8232         * scm/define-grobs.scm (all-grob-descriptions): use
8233         ly:make-callback-chain for positions property.
8235         * scm/layout-beam.scm (check-quant-callbacks): return list of
8236         chained callbacks.
8238         * scm/lily.scm (type-p-name-alist): add callback-chain
8240         * lily/lily-guile.cc (type_check_assignment): type check failure
8241         is warning not message.
8243         * lily/grob-property.cc (try_callback): walk callback chain if
8244         appropriate.
8246         * lily/chained-callback.cc: new file. new smob type.
8248         * lily/lily-guile.cc (procedure_arity): new function.
8250 2005-10-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8252         * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8254 2005-10-25  John Mandereau  <john.mandereau@free.fr>
8256         * Documentation/user/instrument-notation.itely (Figured bass):
8257         describe new features
8259 2005-10-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8261         * lily/beam.cc (calc_least_squares_dy): use property callback.
8263         * lily/beam-concave.cc (calc_concaveness): use property callback.
8265         * ly/paper-defaults.ly: move fixed dimensions from paper.scm 
8267 2005-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
8269         * HACKING: Update.
8271 2005-10-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8273         * scm/layout-page-layout.scm (page-headfoot): annotate
8274         pagetopspace too.
8276         * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit. 
8278         * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8279         doesn't take y-space.
8281         * scm/paper.scm (paper-alist): fix A7 dimensions. 
8283 2005-10-24  Jan Nieuwenhuizen  <janneke@gnu.org>
8285         * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8286         src-wildcard, remove $(wildcard).
8288         * po/GNUmakefile (PO_FILES): 
8289         * ps/GNUmakefile (PS_FILES): 
8290         * tex/GNUmakefile (TEX_FILES): 
8291         * cygwin/GNUmakefile (POSTINSTALLS):
8292         * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8293         some wildcard calls.
8295 2005-10-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8297         * THANKS: add Thomas Bushnell.
8299 2005-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
8301         * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8302         (lilypond-main): Redirect to gui-main if 'gui is set.
8304         * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8305         for alternative installations kludging s/share/lib/g
8306         LILYPONDPREFIX. 
8308         * SConstruct (libdir_package_version): Define.
8310         * python/SConscript: 
8311         * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8312         module in libdir.  
8314 2005-10-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8316         * lily/main.cc: clarify --safe.
8318 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8320         * VERSION: release 2.7.14
8321         
8322         * Documentation/user/*.itely: remove minimumVerticalExtent.
8324         * scm/define-grobs.scm (all-grob-descriptions): remove
8325         RemoveEmptyVerticalGroup
8327         * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8329         * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8330         compile on MOSX
8332         * python/convertrules.py (conv): add rules.
8334         * lily/grob.cc: remove is_empty()
8336         * lily/grob-property.cc: remove add_to_list_property().
8338         * scripts/convert-ly.py (datadir): add prefix switching hack to
8339         .py too.
8341         * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8342         space-function tweak.
8344         * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8346         * scm/define-grob-properties.scm (all-user-grob-properties):
8347         remove callback property.
8349         * lily/include/grob.hh (class Grob): remove property_callbacks_
8350         member. Properties of procedure type are assumed to be callbacks.
8352         * lily/ligature-engraver.cc (override_stencil_callback):
8353         rewrite. Use noteHeadLigaturePrimitive as source.
8355         * scm/define-grob-properties.scm (all-internal-grob-properties):
8356         remove ligature-primitive-callback
8358         * lily/include/dimension-cache.hh (class Dimension_cache): make
8359         class, with Grob as friend.
8361         * lily/grob.cc: remove set_extent_callback(), set_extent() and
8362         has_extent_callback()
8364         * scm/translation-functions.scm (format-new-bass-figure): read
8365         figuredBassPlusDirection
8367         * scm/define-context-properties.scm
8368         (all-user-translation-properties): add figuredBassPlusDirection.
8370         * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8372         * lily/align-interface.cc (set_ordered): new function.
8374         * lily/grob.cc (flush_extent_cache): rewrite.
8376         * lily/dimension-cache.cc (Dimension_cache): cache extent as
8377         Interval pointer directly.
8379         * lily/main.cc (setup_paths): insert extra / .
8380         (setup_paths): junk cff entry.
8382         * lily/font-config.cc (init_fontconfig): only add type1 / otf
8383         directories.
8385         * lily/axis-group-engraver.cc (finalize): remove
8386         extraVerticalExtent, minimumVerticalExtent verticalExtent.
8388         * lily/grob.cc (Grob): don't set extent from ctor.
8389         (extent): use property callbacks. 
8391         * lily/axis-group-interface.cc: remove set_axes() function.
8393         * lily/grob-property.cc (del_property): new function.
8395 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8397         * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8398         
8399 2005-10-20  Jan Nieuwenhuizen  <janneke@gnu.org>
8401         * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops.  Add.
8403 2005-10-19  Jan Nieuwenhuizen  <janneke@gnu.org>
8405         * mf/SConscript: Updates.
8407         * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8409         * stepmake/stepmake/*:
8410         * */GNUmakefile:
8411         * config.make.in:
8412         * GNUmakefile.in:
8413         * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8414         from any directory in build-dir.  Cleanups.
8416         * make/srcdir.make.in: Remove.
8418         * lily/main.cc (setup_paths): Fix and document build-dir hack.
8420         * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8421         main).
8423         * lily/SConscript: Remove ttftools.
8425         * SConstruct: Resurrect.
8427 2005-10-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8429         * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8430         Y coordinate. 
8432         * lily/paper-book.cc (add_score_title): put Paper_score title into
8433         systems_ list.
8435         * scm/translation-functions.scm (format-new-bass-figure): also
8436         allow plus in combination with _
8438 2005-10-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8440         * VERSION: 2.7.13 released.
8442         * lily/note-collision.cc (check_meshing_chords): don't wipe
8443         stencil, merely set transparent.
8445         * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau. 
8446         (Top): document #'callbacks.
8447         (Top): document nested \override.
8449         * input/regression/figured-bass.ly: update for slash and pluses.
8451         * input/regression/figured-bass-continuation-forbid.ly (Module):
8452         new file.
8454         * scm/translation-functions.scm (format-new-bass-figure): use
8455         slashed-digit if diminished is set.
8456         (format-new-bass-figure): add + if 'augmented is set.
8458         * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8460         * input/test/piano-staff-distance.ly: remove file.
8462         * Documentation/user/advanced-notation.itely (Formatting cue
8463         notes): use length-fraction for making stems/beams smaller.
8465         * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8466         modifications.
8468         * lily/new-figured-bass-engraver.cc: new property
8469         centerFiguredBassContinuations
8471         * Documentation/user/changing-defaults.itely (Difficult tweaks):
8472         use callbacks.
8474         * lily/context-property.cc (execute_general_pushpop_property):
8475         robustness checks.
8477         * input/regression/override-nest.ly: new file.
8479         * python/convertrules.py (FatalConversionError.subber): conversion
8480         rule for #'callbacks
8482         * input/regression/override-nest.ly: new function.
8484         * lily/parser.yy (music_property_def): allow \override #'a #'b =
8485         #c too. 
8487         * lily/context-property.cc (lookup_nested_property): new function.
8488         (evict_from_alist): new function.
8489         (general_pushpop_property): new function.
8490         (execute_general_pushpop_property): rewrite. Support nested
8491         properties too.
8493 2005-10-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8495         * lily/beam.cc: use length-fraction too.
8497         * scm/define-grob-properties.scm (all-user-grob-properties):
8498         remove property flag-width-function
8499         (all-user-grob-properties): remove space-function.
8501         * scm/layout-beam.scm: remove flag-width-function.
8503         * lily/beam.cc: remove flag-width-function
8505         * scm/layout-beam.scm: remove beam dir functions.
8507         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8509         * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8510         for easier grace tweaks.
8512         * lily/beam.cc: remove dir-function.
8514         * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8516         * lily/grob.cc: remove spacing-procedure.
8518         * lily/note-head.cc (calc_stem_attachment): new function.
8519         (internal_print): use callback to get glyph-name.
8521         * lily/grob-property.cc (get_interfaces): new function.
8523         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8525         * lily/stem.cc (calc_stem_end_position): new function.
8526         (calc_length): new function.
8527         document details for stem.
8528         remove Stem::get_direction()
8530         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback! 
8532         * lily/grob-property.cc (set_callback): new function.
8534         * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8536         * lily/item-scheme.cc: new file.
8538         * lily/bar-line.cc (before_line_breaking): remove function.
8539         remove bar-size-procedure, break-glyph-function
8541         * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8543         * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8545         * lily/system-start-delimiter.cc (print): suicide from
8546         here. Remove after_line_breaking_callback.
8548         * lily/script-interface.cc (calc_direction): use callback for direction.
8550         * lily/side-position-interface.cc (aligned_side): don't use
8551         Side_position_interface::get_direction directly. Use callback. 
8553         * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8554         calculate stencil.
8555         (get_print_stencil): rename from get_stencil: create stencil with
8556         transparency, color and cause. 
8558         * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8560         * python/convertrules.py (conv): insert temporary warning rule.
8562         * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8564         * lily/grob-property.cc (try_callback): remove marker if applicable.
8566         * lily/grob.cc: elucidate doc about after/before-line-breaking
8568         * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8570         * lily/stem.cc (height): idem.
8572         * lily/stem-tremolo.cc: idem.
8574         * lily/slur.cc (height): don't use get_uncached_stencil()
8576         * lily/rest.cc (y_offset_callback): use offset callback
8577         iso. after-line-breaking callback.
8579         * lily/grob.cc: change after/before-line-breaking-callback to
8580         after/before-line-breaking dummy properties.
8582         * lily/include/grob.hh: remove Grob_status.
8584         * scm/define-context-properties.scm
8585         (all-user-translation-properties): remove verticalAlignmentChildCallback
8587         * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8588         (calc_direction): use callback
8589         (calc_positions): use callback.
8591         * lily/tie.cc (calc_direction): use callback. Only call parent
8592         positioning for more than one tie.
8594         * lily/tie-column.cc (calc_positioning_done): use callback
8596         * lily/slur-scoring.cc (calc_control_points): use callback
8598         * lily/slur.cc (calc_direction): use callback.
8600         * lily/note-collision.cc (force_shift_callback): remove.
8602         * lily/dot-column.cc (force_shift_callback): remove. Use
8603         other_axis_parent_positioning.
8605         * lily/grob.cc (other_axis_parent_positioning): new function.
8606         (same_axis_parent_positioning): new function
8608         * lily/align-interface.cc (alignment_callback): remove function.
8610         * lily/note-collision.cc (calc_positioning_done): use callback.
8612         * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8613         (calc_direction): idem.
8614         remove print function.
8616         * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8618         * lily/dot-column.cc (calc_positioning_done): use callback.
8620         * lily/break-align-interface.cc (calc_positioning_done): use callback.
8622         * lily/beam.cc (calc_direction): use pseudo-property for beam
8623         direction callback.
8624         (calc_positions): use callback 
8626         * lily/align-interface.cc (calc_positioning_done): use
8627         callback. Fold fixed  distance and normal alignment in one function.
8629         * lily/stem.cc (calc_stem_end_position): use callback.
8630         (calc_positioning_done): idem.
8631         (calc_direction): idem.
8632         (calc_stem_end_position): idem
8633         (calc_stem_info): idem.
8635         * lily/grob-property.cc (get_property_data): new function: 
8636         (try_callback): new function.
8638         * scm/define-grob-properties.scm (all-user-grob-properties): doc
8639         callbacks property.
8641         * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8643 2005-10-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8645         * lily/tie.cc (get_position): robustness fix. Don't crash if a
8646         tie
8647         has no heads.
8648         
8649         * lily/include/*.hh (Module): compile fixes.
8651 2005-10-14  Heikki Junes <hjunes@cc.hut.fi>
8653         * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil 
8654         as an argument for char-syntax: use (char-syntax (or nil 0)) 
8655         instead of (char-syntax nil), thanks to Milan Zamazal.
8657 2005-10-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8659         * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8660         dist.
8662         * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8663         themselves.
8665 2005-10-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8667         * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8668         add class_name() method.
8670         * lily/music-scheme.cc: remove ly:music-name.
8672 2005-10-11  Jan Nieuwenhuizen  <janneke@gnu.org>
8674         * cygwin/postinstall-lilypond.sh: Remove cruft.
8676         * cygwin/postremove-lilypond.sh: Remove.
8678         * cygwin/GNUmakefile (default): Remove postremove rules.
8680 2005-10-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8682         * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8683         even header too.
8684         
8685         * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8686         MacOS 9 users.
8688         * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8689         consider break index for broken spanner.
8691         * scm/define-markup-commands.scm (wordwrap-string): remove \r
8692         characters from string before splitting.
8694 2005-10-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8696         * scm/framework-ps.scm (output-preview-framework): use
8697         is-book-title to determine whether to chop off the booktitle.
8699         * lily/paper-book.cc (systems): init from book-title-properties
8700         (add_score_title): init score-title-properties.
8702         * ly/paper-defaults.ly: add {score,book}-title-properties.
8704         * scm/document-backend.scm (lookup-interface): error message if
8705         using unknown interface.
8707         * lily/volta-bracket.cc (after_line_breaking): new function. Set
8708         edge-height.
8710         * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8711         make_bracket.
8712         (make_bracket): new function.
8714         * scm/lily.scm (define-scheme-options): add paper-size option.
8716         * ly/declarations-init.ly (laissezVibrer): get paper size from
8717         -dpaper-size
8719         * scm/translation-functions.scm: use \fontsize for changing the
8720         fontsize.
8722         * scm/define-grobs.scm (all-grob-descriptions): set
8723         between-length-limit to 1.0
8725         * lily/tie-helper.cc: add between_length_limit_ detail property.
8727         * mf/feta-bolletjes.mf: typos.
8729         * lily/note-head.cc (internal_print): don't shadow idx
8730         parameter. This fixes wrong attachment for do shape heads.
8732 2005-10-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8734         * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8736         * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8738         * scm/layout-slur.scm: rename from slur.scm
8740         * scm/layout-page-layout.scm: rename from page-layout.scm
8742         * scm/layout-beam.scm: rename from beam.scm
8744         * scm/define-grob-interfaces.scm (bass-figure-interface): add
8745         bass-figure-interface
8747         * lily/new-figured-bass-engraver.cc (process_music): add
8748         implicitBassFigures property.
8749         
8750         * scm/define-markup-commands.scm (pad-x): new markup.
8752         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8753         minimumVerticalExtent on FiguredBass context.
8755         * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8756         case the continuation crosses a line break.
8758 2005-10-09  Jan Nieuwenhuizen  <janneke@gnu.org>
8760         * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8761         unconverted value if cygwin_conv_to_posix_path () fails.  Fixes
8762         absolute file name bug.  
8764 2005-10-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8766         * VERSION (PACKAGE_NAME): release 2.7.12
8768         * input/regression/figured-bass-continuation-center.ly: new file.
8770         * input/regression/beam-outside-beamlets.ly: new file.
8772         * lily/beam.cc (set_beaming): don't clip edges.
8773         (connect_beams): don't clip edges.
8775         * lily/beaming-info.cc (clip_edges): new function.
8777         * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8779         * Documentation/user/instrument-notation.itely (Figured bass):
8780         demonstrate extenders, update seealso links.
8782         * scm/titling.scm (marked-up-headfoot): change tagline
8783         handling. tagline = ##f will blank the tagline as well.
8785 2005-10-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8787         * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8789         * lily/new-figured-bass-engraver.cc (struct
8790         New_figured_bass_engraver): add new_music_found_ member.
8792         * lily/lilypond-version.cc (Lilypond_version): deal with
8793         incorrectly formatted version strings. 
8795         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8796         New_figured_bass_engraver by default.
8798         * lily/ttf.cc (print_trailer): only define glyph names when
8799         FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8801 2005-10-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8803         * lily/horizontal-bracket.cc (make_bracket): new function.
8805         * scm/define-grobs.scm (all-grob-descriptions): new grobs
8806         NewBassFigure, BassFigureBracket, BassFigureContinuation,
8807         BassFigureLine, BassFigureAlignment
8809         * lily/new-figured-bass-engraver.cc (process_music): new file.
8811         * lily/figured-bass-continuation.cc: new file.
8813         * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8814         new file.
8816 2005-10-04  Mats Bengtsson  <mabe@s3.kth.se>
8818         * scripts/lilypond-book.py: Bug fix, put the quote around the
8819         actual score for LaTeX documents.
8821         * scm/define-grobs.scm (all-grob-descriptions): Change
8822         collapse-height of the SystemStartBracket grob to 5.0, 
8823         so the bracket disappears for single stave score lines (similarly
8824         to SystemStartBraces). 
8826         * Documentation/user/advanced-notation.itely (Polymetric
8827         notation): Clarify the use of compressMusic.
8829         * Documentation/user/basic-notation.itely (Grace notes): Clarify
8830         that the grace spacer note in other staves need the same duration
8831         and document the stroke-style property.
8833 2005-10-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8835         * Documentation/user/global.itely (Vertical spacing): document
8836         alignment-extra-space and fixed-alignment-extra-space.
8838         * Documentation/topdocs/NEWS.tely (Top): add entry.
8840         * input/regression/alignment-vertical-spacing.ly: new file.
8842         * python/convertrules.py (conv): add rule.
8844         * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8846         * lily/align-interface.cc (stretch_after_break): new
8847         function. Read fixed-alignment-extra-space property.
8848         (align_elements_to_extents): read alignment-extra-space property.
8850         * lily/lily-guile.cc (robust_scm2dir): new function.
8852         * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8853         (annotate-space-left): new function. Annotate space left on page. 
8854         (annotate-y-interval): new function.
8855         (paper-system-annotate-last): new function. Annotate bottom-space.
8857         * mf/feta-beugel.mf (y): 
8859 2005-10-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8861         * VERSION (PACKAGE_NAME):  release 2.7.11
8863         * scm/lily-library.scm (interval-translate): new function
8864         (interval-center): new function. 
8866         * scm/page-layout.scm (paper-system-annotate): new function. Add
8867         arrows for dimensions.
8869         * scm/stencil.scm (dimension-arrows): new function.
8871         * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8873         * input/regression/page-spacing.ly: add annotatespacing
8875         * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8876         (LY_DEFINE): new function ly:paper-system-set-property!
8878         * Documentation/user/global.itely (Paper size): explain how to add
8879         sizes.
8881         * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8882         correspond to GS's definition.
8884         * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8885         tuplet bracket.
8886         (print): only connect to next bracket if the next one is alive.
8887         (print): set padding to 0.0 if the bound is a breakable
8888         column. This makes tupletFullLength brackets reach up to the staff
8889         line if it doesn't connect to the next line.
8891 2005-09-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8893         * lily/bar-number-engraver.cc: correct docs.
8895         * scm/output-lib.scm (first-bar-number-invisible): rename from
8896         default-bar-number-visibility
8898 2005-09-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8900         * scm/define-music-properties.scm (all-music-properties): remove
8901         predicate property.
8903 2005-09-28  Heikki Junes  <hjunes@cc.hut.fi>
8905         * po/fi.po: refresh.
8907 2005-09-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8909         * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8910         superfluous s1.
8911         (disappear): bugfix.
8913         * lily/stem-tremolo.cc (raw_stencil): read slope property.
8915         * lily/include/paper-system.hh (class Paper_system): remove
8916         staff_extents_ member.
8918         * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8920         * lily/include/paper-system.hh (class Paper_system): remove
8921         number_ variable. Remove is_title_. Remove break_before_penalty_
8923         * lily/paper-book.cc (systems): use 'number property iso. number_
8924         member.
8926         * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8927         remove ly:paper-system-number.
8929         * scm/lily-library.scm (paper-system-title?): new function.
8931         * lily/book.cc (process): bugfix: flip ?: cases. 
8933         * Documentation/user/changing-defaults.itely (Difficult tweaks):
8934         add outputProperty.
8936         * ly/music-functions-init.ly: add outputProperty music function.
8938         * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8940         * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8941         and next-padding.
8942         (optimal-page-breaks): rename from ly:optimal-page-breaks.
8944         * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8946         * lily/paper-system.cc (internal_get_property): new function.
8948         * Documentation/user/global.itely (Vertical spacing): refer to
8949         page-spacing.ly
8951         * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8952         pagetopspace
8954         * input/regression/page-spacing.ly: new file.
8956         * input/regression/page-top-space.ly: new file.
8958         * lily/spacing-spanner.cc: cmath -> math.h
8960         * lily/paper-system.cc (read_left_bound): new function. Read
8961         line-break-system-details from left bound to determine extents.
8963         * Documentation/user/programming-interface.itely (Using LilyPond
8964         syntax inside Scheme): change applyxxx -> applyXxx.
8966         * ly/music-functions-init.ly: add outputProperty music function.
8968         * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8970         * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8972         * python/convertrules.py (conv): rule
8974         * ly/music-functions-init.ly: applyxxx -> applyXxx
8976         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
8977         TabVoice to Voice.
8979 2005-09-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8981         * flower/include/real.hh: include <math.h> iso. <cmath>
8983         * flower/include/offset.hh: include real.hh
8985 2005-09-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8987         * Documentation/user/changing-defaults.itely (Difficult tweaks):
8988         fix example, now that 'interfaces is no longer directly available.
8990         * lily/book.cc (process): don't crash if paper == NULL.
8992         * po/fr.po: update.
8994 2005-09-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8996         * scm/define-music-types.scm (music-descriptions): set length and
8997         start-callback for QuoteMusic
8999 2005-09-15  Mats Bengtsson  <mabe@s3.kth.se>
9001         * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
9002         arguments. Fixes compilation error with gcc 3.3.
9004 2005-09-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9006         * VERSION: release 2.7.10
9008         * stepmake/stepmake/python-module-rules.make
9009         ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.  
9011         * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
9012         real.hh
9014 2005-09-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9016         * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
9017         -Werror. Otherwise GCC barfs over various optimizations.
9019         * scm/define-grob-properties.scm (all-internal-grob-properties):
9020         add note-head property
9022         * Documentation/user/instrument-notation.itely (Laissez vibrer
9023         ties): new node.
9025         * input/regression/laissez-vibrer-ties.ly: new file.
9027         * lily/laissez-vibrer-engraver.cc: new file.    
9029         * lily/include/tie-column-format.hh: new file.
9031         * lily/tie-column-format.cc: new file. 
9033         * lily/tie-column.cc (set_manual_tie_configuration): new function.
9035         * lily/laissez-vibrer-tie.cc: new file.
9037         * lily/include/laissez-vibrer-tie.hh: new file.
9039         * ly/engraver-init.ly: add Laissez_vibrer_engraver
9041         * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
9043         * scm/define-grobs.scm (all-grob-descriptions): add
9044         LaissezVibrerTie, LaissezVibrerTieColumn
9046         * lily/tie-column.cc (set_tie_config_directions): new function
9047         (final_shape_adjustment): new function.
9048         (shift_small_ties): new function.
9050         * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
9052         * lily/include/tie.hh (struct Tie_details): add x_gap_
9053         (struct Tie_configuration): add head_position_
9055         * lily/tie-column.cc (set_chord_outline): new function.
9057         * mf/cmr.enc.in:  remove file.
9059 2005-09-11  Graham Percival  <gpermus@gmail.com>
9061         * Documentation/user/examples.itely: typo fix.  Thanks, Matevž
9063 2005-09-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9065         * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
9066         reduce aliasing effects.
9068         * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
9069         box in skyline.
9071 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9073         * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
9075         * flower/include/real.hh: std::fabs too.
9077 2005-09-08  Jan Nieuwenhuizen  <janneke@gnu.org>
9079         * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner). 
9081         * lily, flower: Include C++ iso C headers.  Import namespace std
9082         throughout.
9084         * lily/side-position-interface.cc: 
9085         * lily/scm-hash.cc: 
9086         * lily/note-head.cc: 
9087         * lily/include/includable-lexer.hh: 
9088         * flower/include/string-data.icc: Remove using std::*.
9090         * lily, flower: Include C++ iso C headers.  Import namespace std
9091         throughout.
9093         * lily/side-position-interface.cc: 
9094         * lily/scm-hash.cc: 
9095         * lily/note-head.cc: 
9096         * lily/include/includable-lexer.hh: 
9097         * flower/include/string-data.icc: Remove using std::*.
9099         * Documentation/user/instrument-notation.itely (Entering lyrics):
9100         Multiple latin-1->utf-8 conversion fix.
9102         * Documentation/user/*tely: Update Emacs cookie to utf-8.
9104 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9106         * lily/tie.cc (get_configuration): also avoid dots for non-space
9107         situations.
9109 2005-09-07  Jan Nieuwenhuizen  <janneke@gnu.org>
9111         * Documentation/user/instrument-notation.itely: Bugfix.
9113 2005-09-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9115         * tex/GNUmakefile: don't install texinfo.tex
9117         * tex/ : cleanup: remove unused files.
9119         * lily/general-scheme.cc: remove my_{isinf,isnan}.
9121         * flower/include/real.hh: using std::{isnan,isinf}
9122         
9123         * VERSION (PATCH_LEVEL): release 2.7.9
9125 2005-09-05  Graham Percival  <gpermus@gmail.com>
9127         * Documentation/user/ instrument-notation.itely,
9128         advanced-notation.itely: minor tweaks.
9130         * input/test/script-chart.ly: add item padding.
9132 2005-09-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9134         * flower/offset.cc: use math.h iso. <cmath>
9136         * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
9137         of IE users.
9139         * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
9140         (widen-left-stencil-edges): new function. Fix alignment problems
9141         with LaTeX includegraphics.
9143         * lily/text-interface.cc (interpret_markup): use abort().
9145 2005-09-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9147         * input/regression/tie-chord.ly (testLong): add a chord in 4ths
9149         * lily/tie.cc (get_configuration): update bezier shape as we
9150         change Y positions.
9151         (get_configuration): don't move large ties if we're outside of the
9152         staff.
9154 2005-09-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9156         * scm/define-markup-commands.scm (strut): swap X and Y dims.
9157         
9158 2005-09-03  Jan Nieuwenhuizen  <janneke@gnu.org>
9160         * .cvsignore: Add auto-generated configure files and then some.
9162 2005-09-02  Jan Nieuwenhuizen  <janneke@gnu.org>
9164         * scm/define-grobs.scm (DynamicLineSpanner): Add
9165         X-extent-callback.  Fixes hairpin-slur collision.
9167 2005-08-31  Graham Percival  <gpermus@gmail.com>
9169         * Documentation/user/advanced-notation.itely,
9170         basic-notation.itely: minor changes.
9172 2005-08-31  Mats Bengtsson  <mabe@s3.kth.se>
9174         * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9175         \linebreak between each .eps file if \betweenLilyPondSystem is
9176         undefined. 
9178         * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9179         music): Document the \linebreak
9181         * Documentation/user/lilypond-book.itely,
9182         input/tutorial/lbook-latex-test.tex,
9183         Documentation/user/examples.itely: Remove \usepackage{graphics}
9185 2005-08-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9187         * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9189         * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9190         compat bugfix.
9192         * scripts/lilypond-book.py (PREAMBLE_LY): define
9193         inside-lilypond-book
9194         (modify_preamble): new function. Insert \RequirePackage{graphics}
9195         when no {graphics found in preamble.  
9197 2005-08030  Graham Percival  <gpermus@gmail.com>
9199         * Documentation/user/basic-notation.itely, global.itely,
9200         tutorial.itely: misc small changes.
9202 2005-08-30  Jan Nieuwenhuizen  <janneke@gnu.org>
9204         * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9205         VERSION.
9207 2005-08-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9209         * lily/tie-column.cc (new_directions): put Tie down on center
9210         staff line. 
9212         * lily/script-interface.cc (before_line_breaking): use
9213         Grob::programming_error
9215         * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9217         * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9218         of splitext.
9220 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9222         * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9224 2005-08-29  Werner Lemberg  <wl@gnu.org>
9226         * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9227         the `*.scale.pfa' files to avoid warnings.
9229 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9231         * lily/tempo-performer.cc (process_music): idem.
9233         * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9235 2005-08-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9237         * Documentation/user/advanced-notation.itely (Text markup): not a
9238         fragment.
9240         * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9242         * lily/staff-performer.cc (initialize): add tempo/name to
9243         audio_staff_
9245 2005-08-26  Graham Percival  <gpermus@gmail.com>
9247         * Documentation/user/advanced.itely: add text-only example.
9249         * Documentation/user/invoking.itely: add index entries for
9250         convert-ly.
9252         * Documentation/user/ tutorial.itely, basic-notation.itely:
9253         small fixes suggested by Steve D.  Thanks!
9255 2005-08-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9257         * input/regression/markup-bidi-pango.ly: new file.
9259         * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9260         standard. Remove #ifdef. Remove memleak.
9261         (text_stencil): use text_dir to decide how to composite items.
9262         (text_stencil): determine uniform text direction for the entire
9263         string.
9265         * scripts/lilypond-book.py (output_name): remove
9266         latex_filter_cmd. Non-portable to non-Unix systems. 
9267         (get_latex_textwidth): use File.write and os.unlink() instead.
9269         * THANKS: add Vicente & Trevor.
9271         * lily/grob.cc (discretionary_processing): look up origin for
9272         programming_error too. 
9274         * input/regression/tie-broken.ly: new file.
9276         * lily/tie-column.cc (set_chord_outlines): set outline for line
9277         break case too.
9278         
9279 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9281         * lily/pango-font.cc (text_stencil): don't translate glyphs in
9282         unscaled transform, just translate stencils.
9284         * ly/performer-init.ly: init timing to #t.  Fixes bar checks in
9285         MIDI.
9287         * scm/define-markup-commands.scm (wordwrap-string): use
9288         text-direction
9289         (wordwrap-stencils): idem.
9290         (line): idem.
9291         (fill-line): idem.
9292         (wordwrap-stencils): translate last line to right for
9293         text-direction = LEFT.
9295         * scm/define-grob-properties.scm (all-user-grob-properties): add
9296         text-direction.
9298 2005-08-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
9300         * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9301         when copying a Lily_parser object.
9303 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9305         * scm/define-markup-commands.scm (null): add null markup.
9307 2005-08-25  Mats Bengtsson  <mabe@s3.kth.se>
9309         * lily/item.cc: Add documentation of center-invisible
9311 2005-08-24  Graham Percival  <gpermus@gmail.com>
9313         * Documentation/user/advanced-notation.itely: add info about
9314         raising text.
9316         * Documentation/user/programming-interface.itely: fix example
9317         involving raised text.
9319 2005-08-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9321         * lily/beam.cc (print): fix X start/end points of isolated
9322         beamlets.
9324         * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9326         * lily/multi-measure-rest.cc (set_text_rods): new function.
9328         * lily/vertical-align-engraver.cc (process_music): call
9329         Align_interface::set_axis(). This forces #'elements to be ordered,
9330         preventing random vertical reordering of staves.
9332         * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9333         add avoid-slur property. 
9335         * Documentation/user/basic-notation.itely (Measure repeats): add
9336         countPercentRepeats example.
9338         * Documentation/user/advanced-notation.itely (Other text markup
9339         issues): remove remark about normal-font.  We have \normal-text
9341         * input/regression/tie-chord.ly: add note about remaining bugs.
9343         * lily/tie.cc (print): try Tie_column::set_directions () if
9344         control-points not yet defined.
9346 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9348         * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9349         extent. This fixes braces falling out of the EPS bbox.
9351         * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9352         exactly to bbox.
9354 2005-08-23  Graham Percival  <gpermus@gmail.com>
9356         * {various} : change #up->#UP and #down->#DOWN.
9358         * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9360         * Documentation/user/advanced-notation.itely: clarify
9361         what objects handles text on a multimeasure rest.
9363 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9365         * VERSION (PATCH_LEVEL): release 2.7.7
9367 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9369         * make/lilypond-vars.make: set -dgs-font-load for "make web" 
9371         * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9373         * input/regression/*.ly: formatting clean-up. Default layout
9374         before music expression.
9376         * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9377         romanze28-2 example.
9379         * scm/ps-to-png.scm: remove dir-re function.
9380         (make-ps-images): generate page names, instead of globbing them.
9381         This brings down LilyPond memory usage for make web by a factor
9382         10. 
9384         * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9385         don't use glob. With 3000 files, globbing
9386         Documentation/user/out-www/ can take too much time. 
9387         
9388         * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9390         * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9392         * input/regression/tie-manual.ly: new file
9394         * input/regression/tie-chord.ly: update.
9396         * flower/include/interval.hh (struct Interval_t): 
9398         * lily/tie.cc (distance): new function 
9399         (height): new function.
9400         (init): new function
9401         (Tie_details): new struct.
9403         * lily/skyline.cc (skyline_height): new function.
9405         * lily/tie-column.cc (set_chord_outlines): new function.
9406         (new_directions): read tie-configuration
9408         * lily/skyline.cc: fix ASCII art.
9409         
9410 2005-08-22  Mats Bengtsson  <mabe@s3.kth.se>
9412         * python/convertrules.py (string_or_scheme): Fix spelling error
9414 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9415         
9416         * lily/tie-column.cc (set_directions): set directions only once.
9417         (add_configuration): new function.
9419         * lily/tie.cc (set_control_points): new function
9421         * lily/tie-column.cc (new_directions): new function.
9423         * ly/music-functions-init.ly: set 'pitch property
9424         iso. trill-pitch. This makes \relative work with \pitchedTrill
9426         * lily/tie.cc (get_configuration): new function. Don't generate
9427         control points, rather, generate configuration.
9428         remove head-pair property.
9430         * lily/include/tie.hh (struct Tie_configuration): new struct.
9432 2005-08-22  Heikki Junes  <hjunes@cc.hut.fi>
9434         * Documentation/topdocs/NEWS.tely: clarify.
9436 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9438         * lily/tie.cc: remove minimum-length
9440         * scm/define-grob-properties.scm (all-user-grob-properties):
9441         remove staffline-clearance, y-offset 
9443         * input/regression/tie-dots.ly (Module): remove.
9445         * lily/tie.cc (get_control_points): rewrite. Put short ties in
9446         staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9448         * input/regression/tie-single.ly: new file.
9450 2005-08-21  Graham Percival  <gpermus@gmail.com>
9452         * ly/bagpipe.ly: fix compile problem.
9454 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9456         * lily/midi-item.cc (name): new method.
9458         * lily/staff-performer.cc (acknowledge_audio_element): use
9459         signature of baseclass.
9461         * lily/engraver-group.cc (do_announces): move recursion call out
9462         of while loop. 
9464         * lily/drum-note-performer.cc (class Drum_note_performer): use
9465         process_music everywhere.
9467         * ly/performer-init.ly: add default children everywhere.
9469         * lily/paper-book.cc (output): call paper-book-write-midis
9470         directly: always write MIDI, even if no \layout {} block. 
9472 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9474         * VERSION (PACKAGE_NAME): release 2.7.6
9476         * lily/percent-repeat-engraver.cc (try_music): don't print warning
9477         about not being able to handle repeat.
9479 2005-08-19  Jan Nieuwenhuizen  <janneke@gnu.org>
9481         * Documentation/user/examples.itely (Piano templates):
9482         * lily/include/performer-group.hh: Remove last traces of
9483         Performer_group_performer.  Fixes make web.
9485 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9487         * Documentation/user/examples.itely (Piano templates): change
9488         Engraver_group_engraver -> Engraver_group
9490         * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9491         scm_stand_in_procs is not weak_any.
9493         * lily/volta-bracket.cc (print): don't use strcmp().
9495         * lily/volta-engraver.cc (process_music): use
9496         Text_interface::is_markup() for setting the 'text property of the
9497         volta bracket.
9499         * input/mutopia/claop.py (accents): update syntax to 2.6
9501         * scm/define-context-properties.scm
9502         (all-user-translation-properties): add countPercentRepeats.
9504         * Documentation/user/basic-notation.itely (Measure repeats): add
9505         isolated percent example.
9507 2005-08-18  Graham Percival  <gpermus@gmail.com>
9509         * input/ {various}: change direction #1, #-1 to
9510         #up/#down or \fooUp, \fooDown.
9512         * Documentation/user/music-glossary.tely: #-1 to #down.
9514         * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9515         to #up, #-1 to #down.
9517 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9519         * lily/include/engraver-group.hh: rename.
9521         * lily/include/performer-group.hh: rename.
9523 2005-08-18  Mats Bengtsson  <mabe@s3.kth.se>
9525         * input/test/script-abbreviations.ly: Removed some old LaTeX
9526         left overs.
9528 2005-08-18  Jan Nieuwenhuizen  <janneke@gnu.org>
9530         * python/convertrules.py (conv): inside-slur -> avoid-slur.
9531         Remove functions.  Remove if 1: constructs, reindent.
9533         * scripts/convert-ly.py (add_version): Add functions from
9534         convertrules.py
9536         * scm/script.scm (default-script-alist):
9537         s/priority/script-priority.  Fixes script stacking.  Backportme.
9538         (Fermata): Very low priority.
9540 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9542         * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9544         * input/regression/slur-script.ly: remove padding tweaks. Add
9545         comment strings.
9547         * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9548         time sigs and related stuff.
9550         * scm/define-grob-properties.scm (all-user-grob-properties): add
9551         @c