1 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
3 * python/convertrules.py (conv): Part 2 fixes vertical extent.
5 * input/test/vertical-extent.ly: Fix and elaborate on vertical
6 staff extent. (Thanks Mats)
8 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
10 * buildscripts/git-update-changelog.py (main): write .msg and cvs
13 * scm/define-grobs.scm:
14 separation-items have width
20 * Documentation/topdocs/NEWS.tely:
21 * lily/separating-group-spanner.cc:
22 * lily/slur-engraver.cc:
23 * lily/slur-scoring.cc:
24 * scm/define-grobs.scm:
25 * input/regression/slur-clef.ly:
26 add breakableSeparationItem to extra encompass for slurs. This
27 fixes slur/clef slur/key collisions etc. Should fix #49
29 * lily/include/slur-scoring.hh:
30 * lily/slur-scoring.cc:
31 Use X of separation item as slur start. Fixes #120
33 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
35 * buildscripts/git-update-changelog.py (changelog_body): don't
38 * lily/grob.cc: add avoid-slur
40 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
44 move server/emacsclient to elisp/
46 * buildscripts/git-update-changelog.py (Commit.note_del_file):
49 * elisp/server.el.patch:
52 * elisp/emacsclient.patch:
55 * buildscripts/git-update-changelog.py:
62 * buildscripts/git-update-changelog.py:
63 script to update ChangeLog with Git messages.
65 * lily/beam-engraver.cc:
66 * input/regression/rest-pitched-beam.ly:
67 don't set callback if staff-position set. Fixes #126.
69 * lily/bar-number-engraver.cc:
71 * lily/fingering-engraver.cc:
72 * lily/grob-property.cc:
74 * lily/include/grob.hh:
75 * lily/include/lily-guile-macros.hh:
76 * lily/mark-engraver.cc:
77 * lily/melody-engraver.cc:
78 * lily/script-column.cc:
79 * lily/tie-formatting-problem.cc:
81 internal_get_property_data() using ly_symbol2scm()
83 * stepmake/stepmake/generic-targets.make:
84 create .gitignore in outdir.
89 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
91 * input/test/vertical-extent.ly:
92 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
94 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
96 * stepmake/bin/add-html-footer.py (compose): remove setgcos
98 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
100 * GNUmakefile.in (install-help2man): install-help2man target.
102 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
104 * SConstruct (configure): Do not check for /bin/sh.
106 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
108 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
111 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
113 * input/regression/fret-boards.ly: new file.
115 * po/de.po: new po courtesy translation team.
117 * scripts/lilypond-book.py (get_option_parser): add newline to doc
120 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
122 * ly/gregorian-init.ly (neumeDemoLayout): update
123 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
125 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
126 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
128 2006-10-27 Erlend Aasland <erlenda@gmail.com>
130 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
131 Yet another build fix.
133 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
135 * SConstruct (lilypondprefix): use sorted() for list_sort()
138 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
140 * flower/SConscript: Unit test rules.
142 * flower/test-std.cc: Compile fix.
144 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
146 * python/midi.c (pymidi_parse_track): warning fixes.
148 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
149 include dot-column.hh
151 2006-10-26 Graham Percival <gpermus@gmail.com>
153 * Documentation/user/{basic-, global}: minor changes from mailist.
155 2006-10-26 Erlend Aasland <erlenda@gmail.com>
157 * scm/define-grobs.scm: trivial beautification
159 * lily/tie-performer.cc: no need to #include "pqueue.hh"
161 * lily/source-file.cc: put multibyte var inside #if clause
163 * scm/define-grob-interfaces.scm:
164 * scm/define-grob-properties.scm:
165 Build fix (string-fret-finger-combinations)
167 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
170 * Documentation/user/lilypond-book.itely: Build fix.
172 2006-10-26 Joe Neeman <joeneeman@gmail.com>
174 * lily/system.cc (get_paper_system):
175 * lily/paper-book.cc (systems):
176 move most of the backwards compatibility stuff into
179 * Documentation/topdocs/NEWS.tely: add 2 entries for the
182 * Documentation/user/page.itely: remove time-scaled-music
183 bug for the Page_turn_engraver
185 * lily/paper-book.cc (set_system_penalty): backwards
186 compatibility (breakbefore) for the old page breaker
188 2006-10-25 Graham Percival <gpermus@gmail.com>
190 * Diocumentation/user/instrument-notation.itely: added more
191 info about stanzas; thanks Geoff!
193 * Documentation/user/ {basic, advanced}: small fixes from
196 * THANKS: add some bug reporters.
198 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
200 * scm/define-context-properties.scm (all-user-translation-properties):
201 noteToFretFunction: Add.
203 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
204 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
206 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
208 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
211 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
212 Remove bashism in delete.
214 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
216 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
218 * scm/translation-functions.scm (determine-frets-mf): flatten let*
220 * scm/define-context-properties.scm
221 (all-user-translation-properties): add maximumFretStretch property.
223 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
225 * lily/source-file.cc (get_counts): use multibyte variable.
227 * scm/translation-functions.scm (determine-frets-mf): new
228 function: compute fret numbers.
230 * scm/output-lib.scm (string-frets->description) new function.
231 (fret-board::calc-stencil): new function
233 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
235 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
237 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
239 * lily/tab-note-heads-engraver.cc: cleanups.
241 * lily/fretboard-engraver.cc: new file
243 * ly/engraver-init.ly: add FretBoards context
245 2006-10-24 Joe Neeman <joeneeman@gmail.com>
247 * lily/grob.cc (pure_relative_y_coordinate)
248 (pure_height): use the new call_pure_function stuff
250 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
253 * lily/side-position-interface.cc (pure_y_aligned_side): add an
256 * lily/simple-closure.cc (ly_eval_simple_closure): make
257 simple-closure evaluatable from scheme
258 (evaluate_with_simple_closure): make simple-closures pure-
261 * lily/slur.cc (pure_outside_slur_callback): new function
263 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
264 fits in with previous changes that made the page forces much
267 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
268 and pure-Y-extent into this new function.
269 (pure-conversions-alist): add outside-slur-callback
271 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
273 * Documentation/user/advanced-notation.itely (Instrument names):
274 Remove obsolete bug workaround for instrument names on piano
277 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
279 * Documentation/user/lilypond-book.itely (Integrating DocBook and
280 music): patch by Bertalan Fodor for docbook.
282 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
283 of $(LILYPOND). Prevents lilypond run for .txt files.
285 * INSTALL.txt: gitness.
287 * .cvsignore: update to force gitness.
289 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
291 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
292 detect suicide in nested tuplets.
294 2006-10-23 Werner Lemberg <wl@gnu.org>
296 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
297 typo in argument to FT_Get_X11_Font_Format.
299 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
301 * stepmake/stepmake/po-vars.make: more gitness.
303 * flower/polynomial.cc (check_sol): no empty if bodies.
306 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
308 * stepmake/stepmake/po-vars.make: Resolve.
310 2006-10-29 Jan Nieuwenhuizen <janneke@gnu.org>
312 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
314 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
316 * buildscripts/git-update-changelog.py (main): write .msg and cvs command.
318 * scm/define-grobs.scm:
319 separation-items have width
325 * Documentation/topdocs/NEWS.tely:
326 * lily/separating-group-spanner.cc:
327 * lily/slur-engraver.cc:
328 * lily/slur-scoring.cc:
329 * scm/define-grobs.scm:
330 * input/regression/slur-clef.ly:
331 add breakableSeparationItem to extra encompass for slurs. This
332 fixes slur/clef slur/key collisions etc. Should fix #49
334 * lily/include/slur-scoring.hh:
335 * lily/slur-scoring.cc:
336 Use X of separation item as slur start. Fixes #120
338 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
340 * buildscripts/git-update-changelog.py (changelog_body): don't
343 * lily/grob.cc: add avoid-slur
345 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
349 move server/emacsclient to elisp/
351 * buildscripts/git-update-changelog.py (Commit.note_del_file):
354 * elisp/server.el.patch:
357 * elisp/emacsclient.patch:
360 * buildscripts/git-update-changelog.py:
367 * buildscripts/git-update-changelog.py:
368 script to update ChangeLog with Git messages.
370 * lily/beam-engraver.cc:
371 * input/regression/rest-pitched-beam.ly:
372 don't set callback if staff-position set. Fixes #126.
374 * lily/bar-number-engraver.cc:
376 * lily/fingering-engraver.cc:
377 * lily/grob-property.cc:
379 * lily/include/grob.hh:
380 * lily/include/lily-guile-macros.hh:
381 * lily/mark-engraver.cc:
382 * lily/melody-engraver.cc:
383 * lily/script-column.cc:
384 * lily/tie-formatting-problem.cc:
386 internal_get_property_data() using ly_symbol2scm()
388 * stepmake/stepmake/generic-targets.make:
389 create .gitignore in outdir.
394 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
396 * input/test/vertical-extent.ly:
397 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
399 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
401 * stepmake/bin/add-html-footer.py (compose): remove setgcos
403 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
405 * GNUmakefile.in (install-help2man): install-help2man target.
407 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
409 * SConstruct (configure): Do not check for /bin/sh.
411 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
413 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
416 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
418 * input/regression/fret-boards.ly: new file.
420 * po/de.po: new po courtesy translation team.
422 * scripts/lilypond-book.py (get_option_parser): add newline to doc
425 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
427 * ly/gregorian-init.ly (neumeDemoLayout): update
428 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
430 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
431 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
433 2006-10-27 Erlend Aasland <erlenda@gmail.com>
435 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
436 Yet another build fix.
438 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
440 * SConstruct (lilypondprefix): use sorted() for list_sort()
443 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
445 * flower/SConscript: Unit test rules.
447 * flower/test-std.cc: Compile fix.
449 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
451 * python/midi.c (pymidi_parse_track): warning fixes.
453 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
454 include dot-column.hh
456 2006-10-26 Graham Percival <gpermus@gmail.com>
458 * Documentation/user/{basic-, global}: minor changes from mailist.
460 2006-10-26 Erlend Aasland <erlenda@gmail.com>
462 * scm/define-grobs.scm: trivial beautification
464 * lily/tie-performer.cc: no need to #include "pqueue.hh"
466 * lily/source-file.cc: put multibyte var inside #if clause
468 * scm/define-grob-interfaces.scm:
469 * scm/define-grob-properties.scm:
470 Build fix (string-fret-finger-combinations)
472 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
475 * Documentation/user/lilypond-book.itely: Build fix.
477 2006-10-26 Joe Neeman <joeneeman@gmail.com>
479 * lily/system.cc (get_paper_system):
480 * lily/paper-book.cc (systems):
481 move most of the backwards compatibility stuff into
484 * Documentation/topdocs/NEWS.tely: add 2 entries for the
487 * Documentation/user/page.itely: remove time-scaled-music
488 bug for the Page_turn_engraver
490 * lily/paper-book.cc (set_system_penalty): backwards
491 compatibility (breakbefore) for the old page breaker
493 2006-10-25 Graham Percival <gpermus@gmail.com>
495 * Diocumentation/user/instrument-notation.itely: added more
496 info about stanzas; thanks Geoff!
498 * Documentation/user/ {basic, advanced}: small fixes from
501 * THANKS: add some bug reporters.
503 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
505 * scm/define-context-properties.scm (all-user-translation-properties):
506 noteToFretFunction: Add.
508 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
509 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
511 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
513 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
516 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
517 Remove bashism in delete.
519 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
521 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
523 * scm/translation-functions.scm (determine-frets-mf): flatten let*
525 * scm/define-context-properties.scm
526 (all-user-translation-properties): add maximumFretStretch property.
528 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
530 * lily/source-file.cc (get_counts): use multibyte variable.
532 * scm/translation-functions.scm (determine-frets-mf): new
533 function: compute fret numbers.
535 * scm/output-lib.scm (string-frets->description) new function.
536 (fret-board::calc-stencil): new function
538 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
540 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
542 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
544 * lily/tab-note-heads-engraver.cc: cleanups.
546 * lily/fretboard-engraver.cc: new file
548 * ly/engraver-init.ly: add FretBoards context
550 2006-10-24 Joe Neeman <joeneeman@gmail.com>
552 * lily/grob.cc (pure_relative_y_coordinate)
553 (pure_height): use the new call_pure_function stuff
555 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
558 * lily/side-position-interface.cc (pure_y_aligned_side): add an
561 * lily/simple-closure.cc (ly_eval_simple_closure): make
562 simple-closure evaluatable from scheme
563 (evaluate_with_simple_closure): make simple-closures pure-
566 * lily/slur.cc (pure_outside_slur_callback): new function
568 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
569 fits in with previous changes that made the page forces much
572 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
573 and pure-Y-extent into this new function.
574 (pure-conversions-alist): add outside-slur-callback
576 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
578 * Documentation/user/advanced-notation.itely (Instrument names):
579 Remove obsolete bug workaround for instrument names on piano
582 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
584 * Documentation/user/lilypond-book.itely (Integrating DocBook and
585 music): patch by Bertalan Fodor for docbook.
587 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
588 of $(LILYPOND). Prevents lilypond run for .txt files.
590 * INSTALL.txt: gitness.
592 * .cvsignore: update to force gitness.
594 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
596 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
597 detect suicide in nested tuplets.
599 2006-10-23 Werner Lemberg <wl@gnu.org>
601 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
602 typo in argument to FT_Get_X11_Font_Format.
604 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
606 * stepmake/stepmake/po-vars.make: more gitness.
608 * flower/polynomial.cc (check_sol): no empty if bodies.
610 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
612 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
614 2006-10-22 Jürgen Reuter <reuter@ipd.uka.de>
616 * Documentation/user/examples.itely (Transcription of mensural
617 music): Added more comments in .ly source. Suggest to remove
618 Forbid_line_break_engraver to allow line breaking at all bars.
620 * Documentation/user/instrument-notation.itely (Ancient
621 articulations): Updated @refbugs regarding episem.
623 * Documentation/user/instrument-notation.itely (Gregorian square
624 neumes ligatures): Added \augmentum dots. Updated @refbugs
625 regarding \augmentum.
627 * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
629 * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated
632 * lily/vaticana-ligature-engraver.cc: Added TODO comment for
635 * ly/gregorian-init.ly: Added \augmentum macro.
637 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
639 * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
641 * lily/pango-font.cc (pango_item_string_stencil): use
642 FT_Get_X11_Font_Format()
644 2006-10-22 John Mandereau <john.mandereau@free.fr>
646 * po/fr.po: update translation.
648 2006-10-21 Han-Wen Nienhuys <hanwen@lilypond.org>
650 * VERSION (PATCH_LEVEL): bump version
652 * input/regression/horizontal-bracket-break.ly: new file.
654 * scm/define-grobs.scm (all-grob-descriptions): calc
657 * lily/horizontal-bracket.cc (make_bracket): support
658 connect-to-neighbor. Fix #118
660 * VERSION: release 2.9.26-2
662 * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
664 * VERSION (PACKAGE_NAME): release 2.9.26
666 * buildscripts/output-distance.py (test_basic_compare): add
668 (FileLink.multi_img_cell): new function, glob multi-page png
671 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
673 * po/lilypond.pot: update.
675 * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
677 * Documentation/user/global.itely (File structure): remove
680 * lily/parser.yy (FIXME): remove ADDQUOTE
682 * Documentation/user/global.itely (Extracting fragments of
683 notation): new node, about clip systems.
685 * Documentation/user/lilypond-book.itely (Many quotes of a large
686 score): ref to clip systems.
688 * Documentation/user/instrument-notation.itely (Entering lyrics):
689 add note about lyric ties and required font.
691 * lily/open-type-font.cc (glyph_list): format errors.
693 * Documentation/user/programming-interface.itely (Scheme
694 procedures as properties): more doco on simple-closure and scheme
696 (Input variables and Scheme): use lilypond[verbatim], document
699 * Documentation/user/page.itely (Displaying spacing): use \book
700 explicitly, so arrows show .
701 (Line breaking): add note about Forbid_line_break_engraver
703 * Documentation/user/tweaks.itely (Common tweaks): also set length
704 to prevent tie squeezing.
705 (Default files): use @var{}
707 * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
708 (Generating LilyPond files): add FOMUS.
710 2006-10-20 Joe Neeman <joeneeman@gmail.com>
712 * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
713 Y-offset for TextScript and Script
715 * lily/text-engraver.cc (make_item):
716 * lily/script-engraver.cc (make_script_from_event):
717 remove call to Side_position_interface::set_axis since all scripts
718 now have this set by default
721 * lily/prob.cc: use variables
723 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
725 * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
726 at typography, rather analyse stream event duration.
728 * Documentation/user/page.itely (Page formatting): set a6 paper
729 for system separator example.
731 * lily/arpeggio.cc (Module): idem.
733 * lily/accidental-placement.cc: add script-priority property.
735 * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
737 * lily/ttf.cc (print_trailer): if all else fails: use
738 glyphIndexXXXX as glyph name. Fixes #117.
740 * lily/pango-font.cc (pango_item_string_stencil): only use cmap
741 entry if cmap contains glyph.
742 (get_index_to_charcode_map): remove from Pango_font class, use
743 global filename -> font mapping.
744 (get_glyph_index_name): new function.
745 (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
748 * scripts/lilypond-book.py (main): use -deps-box-padding=-3
750 * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
753 * scm/define-grob-properties.scm (all-user-grob-properties):
754 remove outdated doc. Fixes #116
756 * lily/completion-note-heads-engraver.cc (process_music): always
757 clone input events; otherwise we may overwrite input 'duration
758 property. Fixes #115.
760 * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
763 * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
766 * VERSION (PATCH_LEVEL): bump version.
768 2006-10-19 Han-Wen Nienhuys <hanwen@lilypond.org>
770 * lily/engraver.cc (internal_make_grob): use variables.
772 * flower/string-convert.cc (dec2double): clean-up warnings.
774 * configure.in (CXXFLAGS): add -Werror.
776 * VERSION (PACKAGE_NAME): release 2.9.25
778 2006-10-18 Joe Neeman <joeneeman@gmail.com>
780 * lily/simple-spacer.cc (get_line_forces): test for non-fitting
781 line even if we precede a forced break.
783 * lily/optimal-page-breaking.cc (try_page_spacing): square line
784 forces too. Make page-spacing weight default to 10 because the
785 changes to vertical springs decreased the page force/line force
786 proportions. Also, take the average of line force and page force
787 instead of just the sum.
789 * lily/constrained-breaking.cc (initialize): make the stiffness
790 of the vertical springs depend on the height of the system. This
791 prevents pages with only a few large systems from getting huge
794 * Documentation/user/page.itely (Page formatting): document the
795 change in default page-spacing-weight
797 * lily/include/constrained-breaking.hh: initialise bottom_padding_
799 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
801 * input/typography-demo.ly (melody): remove superfluous slur.
803 * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
804 add piano-pedal-script-interface
806 2006-10-18 Bertalan Fodor <lilypondtool@organum.hu>
808 * scripts/lilypond-book.py: DocBook support.
810 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
812 * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
814 (stop_translation_timestep): set bound to currentMusicalColumn if
815 not set yet. Fixes #102
817 * lily/piano-pedal-bracket.cc: formatting.
819 * input/test/engraver-one-by-one.ly (MyStaff): reformat.
821 * lily/piano-pedal-align-engraver.cc: new class
822 Piano_pedal_align_engraver. Handle side-positioning Y-alignment
825 2006-10-18 Heikki Junes <hjunes@gmail.com>
827 * po/fi.po: Update Finnish translation (before the next release).
829 2006-10-17 Joe Neeman <joeneeman@gmail.com>
831 * lily/system.cc (get_paper_system): reinstate the backwards-
832 compatible page breaking for the old page breaker.
834 2006-10-17 Erik Sandberg <mandolaerik@gmail.com>
836 * lily/recording-group-engraver.cc: removed
838 * lily/context.cc, lily/translator-group.cc: Don't touch
839 Context::implementation_ if it's null
841 2006-10-17 Han-Wen Nienhuys <hanwen@lilypond.org>
843 * scm/paper.scm: only use left-margin if defined.
845 * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
847 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
849 * lily/new-fingering-engraver.cc: stringFingerOrientations ->
850 strokeFingerOrientations
852 * lily/script-column.cc (row_before_line_breaking): also handle
853 accidentals and arpeggios in horizontal script stacking.
855 * lily/script-row-engraver.cc (acknowledge_accidental_placement):
858 * input/regression/script-stack-horizontal.ly: trim.
860 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
862 * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
865 * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
866 'text if string argument.
868 * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
870 * scm/define-context-properties.scm
871 (all-user-translation-properties): change to strokeFingerOrientations
873 2006-10-16 Erik Sandberg <mandolaerik@gmail.com>
875 * lily/parser.yy: remove debug output
877 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
879 * ly/paper-defaults.ly: set left/right margin.
881 * scm/paper.scm (set-paper-dimensions): use left-margin and
882 right-margin for computing linewidth.
884 * Documentation/topdocs/NEWS.tely (Top): idem.
886 * input/regression/lyric-tie.ly (texidoc): use vowels for tied
889 * scm/define-markup-commands.scm (tied-lyric): increase negative
890 space: space syllables tighter.
892 * VERSION (PATCH_LEVEL): bump version.
894 * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
897 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
899 * COPYING: further clarification
901 * VERSION: release 2.9.24
903 * input/regression/script-stack-horizontal.ly: add version.
905 * scm/lily-library.scm (list-join): use fold-right. Fixes #112
907 * input/regression/lyric-tie.ly (texidoc): use different words.
909 * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
911 2006-10-15 Erik Sandberg <mandolaerik@gmail.com>
913 * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
914 macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
916 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
918 * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4;
920 * Doxyfile: remove file.
922 * scm/define-grob-interfaces.scm (string-finger-interface): add
923 string-finger-interface
925 * lily/general-scheme.cc (LY_DEFINE): move
926 ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[]
928 * Documentation/topdocs/NEWS.tely (Top): add note for
929 string-finger feature.
931 * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
934 * scm/output-lib.scm (string-finger::calc-text): read 'digit
937 * input/regression/script-stack-horizontal.ly: new file.
939 * ly/engraver-init.ly: add Script_row_engraver.
941 * lily/script-column.cc (order_grobs): refactor: separate axis
943 (row_before_line_breaking): new function.
945 * lily/script-row-engraver.cc (Script_row_engraver): new file.
947 * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
949 2006-10-14 Jürgen Reuter <reuter@ipd.uka.de>
951 * Documentation/user/instrument-notation.itely: Cleanup: Remove
952 annoying skip notes from mensural ligature example. Update
953 @refbugs for ligatures and mensural ligatures.
955 * lily/coherent-ligature-engraver.cc,
956 lily/include/coherent-ligature-engraver.hh,
957 lily/mensural-ligature-engraver.cc,
958 lily/vaticana-ligature-engraver.cc: Revise code for item
959 reparentizing. There should now be less programming_error
962 * lily/mensural-ligature-engraver.cc: Improve placement of dots.
964 * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
965 Maintenance bugfix: Don't create empty Stencil (), but empty box
966 instead. This fix should eliminate some programming_error
969 * ly/engraver-init.ly (MensuralStaff): Set default accidental
972 * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
973 \layout block _before_ score.
975 2006-10-14 Han-Wen Nienhuys <hanwen@lilypond.org>
977 * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
979 * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
981 2006-10-13 Erlend Aasland <erlenda@gmail.com>
983 * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
985 2006-10-13 Han-Wen Nienhuys <hanwen@lilypond.org>
987 * VERSION (PATCH_LEVEL): bump version.
989 * COPYING: clarify exception note.
991 * lily/main.cc: remove remark about "COPYING".
993 * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
994 system-count starts at 0 for each clip-region. Change name to
995 FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
996 layout block, per score.
998 2006-10-13 Erik Sandberg <mandolaerik@gmail.com>
1000 * lily/input-smob.cc: add equal_p for Input
1002 * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
1005 * lily/parser.yy: MY_MAKE_MUSIC sets music origin
1007 * lily/prob.cc: Add equal_p predicate for Prob
1009 * lily/translator.cc: small cleanup
1011 * scm/document-music.cc: use data from translator listener
1012 registration to generate documentation for event classes
1014 * lily/*: Eliminate accept arg of ADD_TRANSLATOR
1016 * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
1018 2006-10-13 Jan Nieuwenhuizen <janneke@gnu.org>
1020 * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
1022 2006-10-12 Jan Nieuwenhuizen <janneke@gnu.org>
1024 * Documentation/topdocs/INSTALL.texi: Thinko.
1026 * .cvsignore: Update.
1028 * lexer-gcc-3.1.sh: Remove.
1030 * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
1031 Update anonymous cvs access. Remove comment about gcc 3.0.4.
1033 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1035 * VERSION: release 2.9.23
1037 * lily/paper-column-engraver.cc (stop_translation_timestep): also
1038 typecheck barnumber.
1040 * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
1042 * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
1044 * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
1046 * input/regression/clip-systems.ly (Notes): new file.
1048 * scm/lily.scm (define-scheme-options): add clip-systems option.
1050 * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
1052 (dump-stencil-as-EPS): move bbox calculation from previous
1054 (output-framework): use -dclip-systems
1056 * scm/lily-library.scm (filtered-map): new function
1058 * scm/framework-ps.scm (clip-system-EPS): new function.
1059 (clip-system-EPSes): new function.
1061 * lily/paper-column.cc: add rhythmic-location to interface
1063 * scm/define-grob-properties.scm (all-user-grob-properties): add
1064 rhythmic-location property.
1066 * scm/clip-region.scm: new file: rhythmic-location data type and
1067 system-clipped-x-extent function.
1069 * ly/init.ly: use (scm clip-region)
1071 * lily/paper-column-engraver.cc (stop_translation_timestep): set
1072 rhythmic-location for paper column grobs.
1074 * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
1076 2006-10-12 Jürgen Reuter <reuter@ipd.uka.de>
1078 * ly/engraver-init.ly: Remove obsolete comment on
1079 Bar_number_engraver.
1081 * Documentation/user/instrument-notation.itely: Tune Ancient
1082 Articulations figure, such that the episem actually shows.
1084 * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
1085 fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
1087 * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
1090 2006-10-12 Graham Percival <gpermus@gmail.com>
1092 * Documentation/user/ {some}: minor edits that were lost somehow.
1094 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1096 * VERSION (PACKAGE_NAME): bump version.
1098 * input/regression/lyric-tie.ly (texidoc): new file.
1100 * Documentation/topdocs/NEWS.tely (Top): add new feature.
1102 * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
1104 * scm/define-markup-commands.scm (tied-lyric): new function: split
1105 string along ~ and reattach with U+203F (tie character) and
1108 * scm/output-lib.scm (lyric-text::calc-text): new function.
1110 * lily/lyric-engraver.cc (process_music): don't set 'text.
1112 * scm/output-lib.scm (string-finger::calc-text): new function
1113 (lyric-text::print): new function.
1115 * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1116 generic for fingering & string number. Use for string-finger.
1118 * scm/define-music-types.scm (music-descriptions): add
1121 * lily/fingering-engraver.cc (listen_string_finger): new function
1123 * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1125 * scm/define-context-properties.scm
1126 (all-user-translation-properties): add stringFingerOrientations
1128 2006-10-11 Jürgen Reuter <reuter@ipd.uka.de>
1130 * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1131 ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1133 * lily/dots.cc: Added style property for dots.
1135 * mf/parmesan-heads.mf: Fix typo in comment.
1137 * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1138 adding longa head to feta font and removing obsolete default
1139 mapping scheme code.
1141 2006-10-10 Han-Wen Nienhuys <hanwen@lilypond.org>
1143 * scm/output-lib.scm (fingering::calc-text): use origin
1144 event-property, not music-property.
1146 * lily/lilypond.rc.in: spell my name correctly.
1148 2006-10-10 Joe Neeman <joeneeman@gmail.com>
1150 * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1151 already have a non-empty extent. Fixes estimation for Hara-kiri
1154 2006-10-09 Jürgen Reuter <reuter@ipd.uka.de>
1156 * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1159 * lily/ligature-engraver.cc: Remove unused #include.
1161 * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1162 Bugfix: remove method check_for_prefix_loss(Item *) from global
1163 namespace to avoid namespace pollution.
1165 2006-10-09 Han-Wen Nienhuys <hanwen@lilypond.org>
1167 * VERSION: release 2.9.22
1169 * ly/generate-documentation.ly: update option name.
1171 * lily/dynamic-text-spanner.cc (print): revert fix.
1173 * scm/define-grob-interfaces.scm
1174 (trill-pitch-accidental-interface):
1175 add trill-pitch-accidental-interface
1177 * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1178 dereference if it's really a duration.
1180 * lily/figured-bass-engraver.cc (process_music): clear spanner if
1181 useBassFigureExtenders is not set.
1182 (listen_bass_figure): record as new event if
1183 useBassFigureExtenders not set. Fixes #103.
1185 * scm/stencil.scm (circle-stencil): don't center stencil argument,
1186 instead: move circle. Fixes #107.
1188 * scm/define-grobs.scm (all-grob-descriptions): set
1189 allow-loose-spacing for PaperColumn and
1190 NonMusicalPaperColumn. Kludge for #110.
1192 * lily/spaceable-grob.cc: add allow-loose-spacing property.
1194 * lily/spacing-determine-loose-columns.cc (is_loose_column):
1195 allow-loose-spacing property.
1197 * scm/define-markup-commands.scm (postscript): gsave & grestore
1198 around embedded PS. Do setlinewidth too. Fixes #109.
1200 2006-10-08 Jürgen Reuter <reuter@ipd.uka.de>
1202 * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1203 code. This patch fixes ligature brackets that were not at all
1206 2006-10-08 Graham Percival <gpermus@gmail.com>
1208 * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1210 * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1212 * scm/define-context-properties.scm: clarified docs (bug 91).
1214 * Documentation/user/basic-notation.itely: document volta brackets
1215 not aligning (bug 63).
1217 * Documentation/user/ global.itely invoking.itely: ignore or
1218 add warnings about texstr.
1220 2006-10-08 John Mandereau <john.mandereau@free.fr>
1222 * po/fr.po: update translation.
1224 * po/: update msgids.
1226 2006-10-08 Jan Nieuwenhuizen <janneke@gnu.org>
1228 * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1230 2006-10-08 Nicolas Sceaux <nicolas.sceaux@free.fr>
1232 * Documentation/user/page.itely (Two-pass vertical spacing): add
1233 documentation for two-pass spacing technique.
1235 2006-10-06 Graham Percival <gpermus@gmail.com>
1237 * Documentation/user/convert-ly.txt: new file; new
1238 storage place for this file (moved from bugs/ CVS).
1240 2006-10-06 Jürgen Reuter <reuter@ipd.uka.de>
1242 * lily/note-head.cc: Fixed programming_error message.
1244 2006-10-06 Han-Wen Nienhuys <hanwen@lilypond.org>
1246 * scm/define-grobs.scm (pure-conversion): move pure-callback
1249 * scm/script.scm (default-script-alist): set avoid-slur for turn,
1250 marcato, stopped, thumb.
1252 2006-10-05 Han-Wen Nienhuys <hanwen@lilypond.org>
1254 * lily/completion-note-heads-engraver.cc (process_music): don't
1255 skimp on memory usage.
1257 * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1260 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1261 parenthesis item. This fixes premature Y-extent triggering. Fixes
1264 * VERSION (PATCH_LEVEL): bump version.
1266 2006-10-04 Graham Percival <gpermus@gmail.com>
1268 * Documentation/user/advanced-notation.itely: added
1269 info about instrument names for piano or other contexts,
1272 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1274 * mf/feta-bolletjes.mf (solfa_quarter_width): use
1275 solfa_base_notewidth as unit for non-DO-notes too.
1277 * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1279 * VERSION: release 2.9.21
1281 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1284 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1286 * python/lilylib.py (progress): Minor fix.
1288 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1290 * lily/note-name-engraver.cc: doc engraver.
1292 * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1294 * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1296 * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1299 * lily/stem-engraver.cc (make_stem): don't set duration-log
1301 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1302 write snippet-names binary.
1304 * python/lilylib.py (system): use os.system for mingw32
1306 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1309 * scm/backend-library.scm: update email address.
1311 * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1314 * scm/define-grobs.scm (all-grob-descriptions): use callback to
1317 * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1318 handle dot creation separately.
1320 * lily/tab-note-heads-engraver.cc (process_music): idem.
1322 * lily/drum-note-engraver.cc (process_music): idem.
1324 * lily/note-heads-engraver.cc (process_music): idem.
1326 * lily/rest-engraver.cc: don't set duration-log.
1328 * scm/output-lib.scm (string-number::calc-text): new function.
1329 (note-head::calc-duration-log): new function.
1331 * lily/fingering-engraver.cc (make_script): remove 'text setting.
1333 * scm/output-lib.scm (fingering::calc-text): new function.
1335 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1337 * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1338 and include-eps-font -> include-eps-fonts
1340 2006-10-03 Han-Wen Nienhuys <hanwen@lilypond.org>
1342 * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1344 * lily/timing-translator.cc: list properties.
1345 (start_translation_timestep): update internalBarNumber too.
1347 * scm/define-context-properties.scm
1348 (all-user-translation-properties): add internalBarNumber.
1350 * input/regression/spacing-no-note.ly: new file.
1352 * buildscripts/output-distance.py (link_file): verbosity for OSError.
1354 * lily/book.cc: #include cleanup.
1356 * lily/include/lily-guile-macros.hh: add assert to
1357 scm_or_str2symbol(SCM).
1359 * VERSION (PATCH_LEVEL): bump version.
1361 * lily/spacing-spanner.cc (musical_column_spacing): handle
1362 musical->nonmusical spacing case, where there is no spacing
1363 wish. Fixes issue #61.
1365 * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1366 (pango_item_string_stencil): use logical rect horizontally (to
1367 preserve spaces), ink_rect vertically (for time signatures).
1369 * lily/font-metric.cc (word_stencil): new interface function
1371 * input/regression/utf-8-mixed-text.ly: new file.
1373 * lily/percent-repeat-engraver.cc (listen_percent): remove
1376 * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1377 non-dynamic scripts. Fixes #30.
1379 * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1381 * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1383 * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1384 SCM_UNDEFINED for non-existent data.
1386 * lily/side-position-interface.cc (general_side_position): allow
1387 optional current_offset argument for chaining, so combinations of side-position
1388 and outside slur callback don't add up. Fixes issue #92.
1390 * lily/pango-font.cc (pango_item_string_stencil): use
1391 logical_rect. This prevents spaces after words from disappearing,
1394 * VERSION: release 2.9.20
1396 2006-10-02 Han-Wen Nienhuys <hanwen@lilypond.org>
1398 * scm/define-grob-properties.scm (all-user-grob-properties):
1399 mention stencil as user settable.
1401 2006-10-02 Joe Neeman <joeneeman@gmail.com>
1403 * Documentation/user/page.itely (Page formatting):
1404 document auto-first-page-number
1406 * lily/page-breaking.cc (find_chunks_and_breaks):
1407 * lily/paper-score.cc (calc_breaking): Follow changes to the
1408 Constrained_breaking interface
1410 * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1411 here backwards, as an optimisation
1412 (initialize): new function; move most of the code in resize () here
1413 (combine_demerits): cache ragged_right_
1414 (Constrained_breaking): constructor now takes the Paper_score
1416 2006-10-02 Erik Sandberg <mandolaerik@gmail.com>
1418 * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1419 avoid parser lookahead for 0-ary functions.
1421 * lily/translator.cc: Extract event classes from
1422 IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1424 2006-10-02 Heikki Junes <hjunes@gmail.com>
1426 * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1429 2006-10-01 Nicolas Sceaux <nicolas.sceaux@free.fr>
1431 * scm/layout-page-layout.scm (page-breaking-wrapper): new
1432 function. Call the page breaking function selected in the
1433 `page-breaking' \paper variable, then the post processing function
1434 chosen using the `page-post-process' \paper variable.
1435 (line-height): new function. Return the height of a system.
1436 (line-minimum-position-on-page): new function. Return the position
1437 of a system on page (using the previous line position), only
1438 considering between system padding.
1439 (stretchable-line?): new function. Says whether a line can be
1440 stretched (ie. is not a title nor a single staff system).
1441 (page-maximum-space-left): new function. Computes space left on a
1442 page, when all systems are separated by their padding.
1444 * lily/page-breaking.cc (breaking::make_pages): Move page post
1445 processing function call to page breaking wrapper (common to all
1448 * lily/paper-book.cc (book::pages): call the page breaking
1449 wrapper, instead of the page breaker directly
1451 * ly/paper-defaults.ly: Add \paper variables for page breaking
1452 wrapper and page post processing function. Make
1453 `write-page-layout' value depend on the 'dump-tweaks option. Add a
1454 `system-maximum-stretch-procedure' variable for holding a function
1455 computing the maximum stretch a system allows.
1457 * scm/layout-page-dump.scm (write-page-breaks): computes the
1458 stretch to apply to systems on a page to minimize left
1459 space. Dump this stretch length.
1461 * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1462 the system-stretch property of the tweak data to stretch the
1464 (includePageLayoutFile): Void function which includes the
1465 generated page-layout file if it exists and if the page layout
1466 dumping is not asked.
1467 (scoreTweak): if the score tweak named by the argument exists,
1470 2006-10-01 Joe Neeman <joeneeman@gmail.com>
1472 * lily/page-spacing.cc (compress_lines, uncompress_solution):
1473 handle correctly the case where there are multiple \noPageBreaks
1476 2006-09-30 Laura Conrad <lconrad@laymusic.org>
1478 * abc2ly.py adds segno (S) and Coda (O) to articulations.
1480 * abc2ly.py fix so that entering " -- " will translate to a -- in
1481 the lilypond instead of a " - - "
1483 2006-09-30 Han-Wen Nienhuys <hanwen@lilypond.org>
1485 * lily/align-interface.cc: fix typo
1487 * lily/dynamic-text-spanner.cc (print): Add a special case for
1488 trill spanner right sides.
1490 * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1492 * lily/align-interface.cc (get_extents_aligned_translates): add
1493 support for padding variable.
1495 * lily/break-align-interface.cc (self_align_callback): oops: use
1496 loop variable in guard.
1498 * input/regression/repeat-percent-grace.ly: new file.
1500 * lily/percent-repeat-engraver.cc (start_translation_timestep):
1501 remember first currentCommandColumn of a grace run. Fixes issue 70.
1503 * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1504 move class definition to CC file.
1506 * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1508 * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1509 measure-long repeats.
1511 * flower/include/international.hh: include stdarg.h
1513 2006-09-30 Joe Neeman <joeneeman@gmail.com>
1515 * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1516 put_systems_on_pages to return an empty result, we need to assign
1517 demerits properly in that case.
1518 (put_systems_on_pages): Make the number of pages depend on the
1519 evenness of page_number. Add auto-first-page-number.
1520 (calc_subproblem): ensure that the page-number is even for the
1521 left-hand page. Warn if the first page-turn doesn't fit onto the
1522 first (right-hand) page.
1524 * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1525 (min_page_count): make this publicly accessible
1526 (min_page_count): fix a bug when there are forced page breaks that
1527 was introduced when I made this loop run backwards
1528 (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1529 replace space_systems_on_min_pages with these two. The logic in
1530 space_systems_on_min_pages was getting too convoluted and is better
1531 contained in page-turn-page-breaking.
1533 * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1535 (breakable_column): typo
1537 * lily/source-file.cc (get_line): fix off-by-one error
1538 and clean up some of the logic
1540 2006-09-29 Joe Neeman <joeneeman@gmail.com>
1542 * lily/page-breaking.cc (make_pages): honour the first-page-number
1545 2006-09-27 Han-Wen Nienhuys <hanwen@lilypond.org>
1547 * VERSION (PACKAGE_NAME): bump version.
1549 2006-09-26 Pal Benko <benko.pal@gmail.com>
1551 * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1552 (the latter is the same as petrucci-f which is kept for compatibility)
1554 2006-09-26 Erik Sandberg <mandolaerik@gmail.com>
1556 * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1558 2006-09-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1560 * lily/global-context.cc (run_iterator_on_me): break out of loop
1561 if moment doesn't increase.
1563 * scm/define-grob-properties.scm (all-user-grob-properties): add
1566 * lily/accidental.cc (after_line_breaking): read forced property.
1568 * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1571 * input/regression/accidental-forced-tie.ly: new file.
1573 2006-09-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1575 * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1577 * lily/figured-bass-engraver.cc: only listen to rest events if
1578 ignoreFiguredBassRest is not set.
1580 * scm/define-context-properties.scm
1581 (all-user-translation-properties): add ignoreFiguredBassRest property
1583 2006-09-24 Joe Neeman <joeneeman@gmail.com>
1585 * lily/paper-book.cc (get_system_specs):
1586 (set_system_penalty): fix breakbefore.
1587 We used to set a penalty on the system after the break, now we
1588 set a permission on the system before the break
1590 * lily/grob-property.cc: add scm debugging hooks into
1591 property modification
1593 * lily/context-property.cc:
1595 rename make_foo_from_properties to internal_make_foo and
1596 move it from context-property.cc to a member function of
1599 * lily/include/lily-guile-macros.hh:
1600 overload ly_symbol2scm macro so that there is no more need
1603 * lily/volta-repeat-iterator.cc:
1604 * lily/tweak-engraver.cc:
1605 * lily/tuplet-bracket.cc:
1606 * lily/span-bar-engraver.cc:
1607 * lily/script-engraver.cc:
1608 * lily/prob-scheme.cc:
1609 * lily/pointer-group-interface.cc:
1611 * lily/grob-scheme.cc:
1612 * lily/grob-property.cc:
1614 * lily/context-property.cc:
1615 * lily/break-substitution.cc:
1616 * lily/break-align-engraver.cc:
1617 * lily/axis-group-interface.cc:
1618 * lily/align-interface.cc:
1619 remove calls to internal_FOO
1621 * lily/system-start-delimiter-engraver.cc:
1622 * lily/parenthesis-engraver.cc:
1623 * lily/accidental-engraver.cc:
1624 remove calls to make_foo_from_properties
1626 2006-09-23 Graham Percival <gpermus@gmail.com>
1628 * Documentation/user/programming-iterfaces.itely: fix
1629 def-music-function -> define-music... leftover.
1631 2006-09-23 Joe Neeman <joeneeman@gmail.com>
1633 * lily/page-spacing.cc (min_page_count): by running the loop
1634 backwards, we can calculate ragged_last properly.
1636 2006-09-22 Mats Bengtsson <mabe@drongo.s3.kth.se>
1638 * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1639 printfirst-page-number -> print-first-page-number
1641 * python/convertrules.py: corresponding rule.
1643 * Documentation/user/page.itely (Page formatting): Document the
1644 default values of all page layout parameters.
1646 2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
1648 * lily/lexer.ll: remove limitation on music function arity. New
1649 mode extratoken, which inserts extra EXPECT_* tokens after
1650 MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1652 * lily/parser.yy: Change grammar for music function accordingly.
1654 * lily/include/lily-parser.hh: New method get_state, new member
1655 hidden_state. Works around a problem when parser fetches
1656 MUSIC_FUNCTION token but not the following EXPECT_* token.
1658 * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1661 * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1662 references to Music; use ASSIGN_EVENT_ONCE everywhere
1664 * lily/grob-info.cc: junk *music_cause
1666 * lily/music.cc: copy eventified articulations to stream event
1668 * lily/part-combine-iterator.cc: Cleanup using enums
1670 * lily/translator-group.cc: Junk OldMusicEvent, and associated
1673 * lily/include/engraver.hh: Junk music.hh include
1675 * lily/stream-event.cc: Changed constructors
1677 2006-09-21 Graham Percival <gpermus@gmail.com>
1679 * Documentation/user/tweaks.itely (Fitting music onto fewer
1680 pages): change settings to avoid warning messages.
1682 2006-09-21 Mats Bengtsson <mabe@drongo.s3.kth.se>
1684 * Documentation/user/tweaks.itely (Fitting music onto fewer
1685 pages): Add between-system-space setting.
1687 2006-09-21 Han-Wen Nienhuys <hanwen@lilypond.org>
1689 * lily/accidental-placement.cc (calc_positioning_done): don't
1690 trigger Y-extent calculation too early. Use pure_height instead.
1692 * lily/scale.cc (LY_DEFINE): new file.
1694 2006-09-20 Joe Neeman <joeneeman@gmail.com>
1696 * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1697 that happen at the start of a score: having a zero-length
1698 chunk was messing up min_system_count calculations.
1700 * lily/source-file.cc (get_line): lower_bound, not
1701 binary_search. Fixes problem where point-and-click would
1702 always point to the first line.
1704 2006-09-20 Han-Wen Nienhuys <hanwen@lilypond.org>
1706 * lily/accidental-placement.cc (calc_positioning_done): also put
1707 stems into accidental support.
1709 * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1712 * scm/script.scm (default-script-alist): avoid-slur and
1713 slur-padding for portato script.
1715 * lily/stem-tremolo.cc (translated_stencil): new function.
1716 (height): use new function. Fixes tremolos on whole notes.
1718 * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1721 2006-09-19 Han-Wen Nienhuys <hanwen@lilypond.org>
1723 * scripts/abc2ly.py (try_parse_comment): idem.
1725 * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1726 bar_string iso. string.find()
1730 * lily/slur.cc (get_curve): always use scm_is_pair() looping
1733 2006-09-18 Graham Percival <gpermus@gmail.com>
1735 * Documentation/user/basic-notation.itely: add bug
1736 warning about ties and octavation/clef.
1738 2006-09-18 Han-Wen Nienhuys <hanwen@lilypond.org>
1740 * VERSION (PACKAGE_NAME): release 2.9.18
1742 2006-08-29 Milan Zamazal <pdm@brailcom.org>
1744 * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1745 figure out midi file names right here.
1747 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1749 * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1751 * scm/backend-library.scm: option naming: gs-font-load*s*
1753 * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1756 2006-09-17 Joe Neeman <joeneeman@gmail.com>
1758 * scm/define-music-types.scm (music-descriptions): remove
1759 BreakEvent and fix {Page,Line}{Break,Turn}Event so
1760 Music::to_event doesn't complain.
1762 * lily/accidental-placement.cc (ape_compare):
1763 * lily/semi-tie.cc (compare):
1764 * lily/note-column.cc (shift_compare): replace by XXX_less
1766 * lily/tie-formatting-problem.cc (set_chord_outline):
1767 * lily/tie-column.cc (calc_positioning_done):
1768 * lily/system.cc (post_processing)
1770 * lily/stem.cc (note_head_positions)
1771 (calc_positioning_done):
1772 * lily/spanner.cc (do_break_processing)
1773 (find_broken_piece):
1774 * lily/span-bar.cc (print):
1775 * lily/semi-tie-column.cc (calc_positioning_done):
1776 * lily/rest-collision.cc (calc_positioning_done):
1777 * lily/program-option.cc (get_help_string):
1778 * lily/note-collision.cc (get_clash_groups):
1779 * lily/new-fingering-engraver.cc (position_scripts):
1780 * lily/keyword.cc (Keyword_table):
1781 * lily/hara-kiri-group-spanner.cc (request_suicide):
1782 * lily/grob-pq-engraver.cc (stop_translation_timestep):
1783 * lily/accidental-placement.cc (calc_positioning_done):
1785 * lily/beam.cc (get_beam_segments):
1786 * lily/grob-array.cc (remove_duplicates):
1789 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1790 ragged-last-bottom = ##f (test the new page breaker)
1792 * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1794 * scm/define-context-properties.scm
1795 (all-internal-translation-properties): remove properties that
1796 were used to communicate page-turn stuff to the paper-column
1799 * lily/lily-guile.cc (robust_scm2string): new function
1801 * lily/paper-column-engraver.cc: Clean up page turn stuff
1803 * lily/page-turn-engraver.cc: Re-write the page turn logic here
1804 instead of cluttering up paper-column-engraver.cc
1806 2006-09-17 Nicolas Sceaux <nicolas.sceaux@free.fr>
1808 * scm/layout-page-dump.scm (scm): export utility function names,
1809 to allow user writing cutsom dumping functions.
1811 * scm/layout-page-layout.scm: export utility function names to
1812 enable custom page breaking function writing. Tabify.
1813 (line-next-space): use ?-suffix only for predicates
1814 (page-maximum-space-to-fill): new function. Return the space
1815 between first and bottom system of a page, to give to
1817 (space-systems): use a space-to-fill argument (for instance as
1818 computed by page-maximum-space-to-fill) instead of computing
1819 internaly this space with the page height. That way, the caller
1820 can adjust the space to use.
1821 (make-page-from-systems, walk-paths): compute space to fill before
1822 calling space-systems.
1824 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1826 * scm/script.scm (default-script-alist): set paddings for every
1827 type here, increase for portato mark.
1829 * scm/lily.scm (define-scheme-options): typo: add s, so it is
1832 2006-09-16 Han-Wen Nienhuys <hanwen@lilypond.org>
1834 * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1835 use spanner::set-spacing-rods
1837 * lily/note-column.cc: reformat.
1839 * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1840 step positioning for note/rest combinations.
1842 * input/regression/rest-note-collision.ly: new file.
1844 * scm/define-grobs.scm (all-grob-descriptions): add
1847 * flower/include/std-vector.hh: switch off again.
1849 * VERSION (PATCH_LEVEL): bump to 2.9.18
1851 * flower/include/std-string.hh: idem.
1853 * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1855 2006-09-15 Mats Bengtsson <mabe@drongo.s3.kth.se>
1857 * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1860 2006-09-08 Joe Neeman <joeneeman@gmail.com>
1862 * Documentation/user/page.itely: update page breaking documentation
1864 2006-09-07 Han-Wen Nienhuys <hanwen@lilypond.org>
1866 * lily/note-collision.cc (calc_positioning_done): only access
1867 first head if available.
1869 * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1871 * scm/framework-ps.scm (output-preview-framework): use new name.
1873 * lily/program-option.cc (internal_set_option): use new names.
1875 * Documentation/user/SConscript (lilypond_book_flags): update -d
1878 * Documentation/user/lilypond-book.itely (Inserting LilyPond
1879 output into other programs): new variable names.
1881 * scm/lily.scm (define-scheme-options): uniformize var names.
1883 * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1884 tuplets_ is non-empty before popping.
1886 2006-09-07 Joe Neeman <joeneeman@gmail.com>
1888 * lily/spanner.cc (find_broken_piece):
1889 * lily/spacing-spanner.cc (get_columns):
1890 * lily/source-file.cc (get_line):
1891 * lily/simple-spacer.cc (get_column_description):
1892 * lily/keyword.cc (lookup):
1893 use the new binary search.
1895 * flower/include/std-vector.hh: replace binary_search with
1896 a more STL-like version
1898 2006-09-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1900 * lily/tie-performer.cc: remove unused last_event_ property.
1901 (class Tie_performer): add now_tied_heads_ property for
1902 partially-tied heads.
1903 (acknowledge_audio_element): when adding an Audio_note, put the
1904 note in now_tied_heads_ if the audio note is partially tied.
1905 (stop_translation_timestep): always include entries in
1906 now_tied_heads_ in heads_to_tie_.
1908 * lily/drum-note-performer.cc (process_music): look for tie-events
1909 in the articulations; pass to Audio_note constructor.
1911 * lily/note-performer.cc (process_music): look for tie-events in
1912 the articulations; pass to Audio_note constructor.
1914 * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1917 * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1918 include initializer in constructor.
1920 2006-09-02 Joe Neeman <joeneeman@gmail.com>
1922 * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1923 unless they are breakable. This fixes discrepancies between the forces
1924 calculated here and the forces calculated in get_line_configuration.
1926 * lily/grob.cc (pure_relative_y_coordinate): fix some
1927 mis-estimation that was happening with piano staves.
1929 * lily/constrained-breaking.cc (resize): don't choke if we get a
1930 measure that won't fit on a line.
1931 (combine_demerits): don't consider uniformity when ragged
1933 * lily/page-spacing.cc (solve): why the f* were there two of these?
1934 (calc_subproblem): properly handle the case where a system is taller
1937 * lily/system.cc (get_paper_system): ensure that all the permissions
1938 and penalties are passed to the paper systems.
1940 * lily/page-breaking.cc (create_system_list): support system-count.
1942 * scm/define-grobs.scm (pure-print-callbacks): add
1943 ly:script-interface::print
1945 * lily/page-spacing.cc (min_page_count): fix calculation of min
1946 pages if we are ragged and there are non-zero springs.
1948 * scm/layout-page-layout.scm: if the pure-height estimates are under
1949 the real height, allow space-systems to ignore padding if it is
1950 needed in order to fit the systems on one page
1952 * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
1954 (solve): fix performance problem. Make sure we always get at least
1957 * lily/page-breaking.cc (make_pages): include write-page-breaks
1960 * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
1962 * scm/define-grobs.scm: add the new slur-callback
1963 fix pure-relevant to not exclude grobs whose extent is already
1966 * ly/paper-defaults.ly: make ly:optimal-breaking the new default
1969 * lily/slur.cc (pure_height): new callback to estimate the height
1972 2006-09-02 Graham Percival <gpermus@gmail.com>
1974 * Documentation/user/invoking.itely: small update on
1975 MacOS X notes; thanks Trevor!
1977 2006-09-01 Han-Wen Nienhuys <hanwen@lilypond.org>
1979 * VERSION (MY_PATCH_LEVEL): release 2.9.17
1981 * lily/lexer.ll: accept EOF in all states.
1983 * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
1985 * lily/source-file.cc (Source_file): always 0-terminate character
1986 array, to prevent Flex from barfing.
1988 * lily/global-context.cc (get_output): robustness: don't crash if
1989 no Score context found.
1991 * lily/include/book.hh (class Book): idem.
1993 * lily/include/context-def.hh (struct Context_def): idem.
1995 * lily/include/score.hh (class Score): don't derive from Input.
1997 * lily/book.cc (Book): add a copy ctor.
1999 * buildscripts/output-distance.py (FileLink.calc_distance): count
2000 orphans in distance too.
2002 * python/midi.c (midi_parse_track): robustness: don't read past
2005 * ly/performer-init.ly: add Control_track_performer, move
2006 Tempo_performer and Time_signature_performer to Score.
2008 * lily/score-performer.cc (acknowledge_audio_elements): override
2009 from base class: add to audio-columns
2011 * lily/control-track-performer.cc (add_text): new file: generate
2014 * lily/performance.cc: move output_header_track to
2015 Control_track_performer ()
2017 * lily/midi-walker.cc (Midi_walker): get channel in constructor.
2019 * lily/include/midi-item.hh (class Midi_channel_item): insert
2020 class into hierarchy, for items that can have a channel setting. Dehungarify.
2022 * lily/include/performer.hh (class Performer): remove
2023 play_element(); move functionality into announce/acknowledge.
2025 * lily/audio-staff.cc (output): remove channel_ from Midi_track.
2027 * lily/tie-engraver.cc (stop_translation_timestep): only wipe
2028 heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties.
2030 2006-08-28 Han-Wen Nienhuys <hanwen@lilypond.org>
2032 * lily/tie-engraver.cc (stop_translation_timestep): robustness for
2035 * lily/all-font-metrics.cc: remove TFM support.
2037 * lily/include/tfm.hh: remove TFM support, TFM reader.
2039 * lily/include/binary-source-file.hh: remove Binary_source_file.
2041 2006-08-27 Graham Percival <gpermus@gmail.com>
2043 * Documentation/topdocs/NEWS.itely: add @c marker for
2044 stuff I've processed.
2046 * Documentation/user/ various: info from NEWS.
2048 2006-08-27 Joe Neeman <joeneeman@gmail.com>
2050 * lily/paper-column-engraver.cc (finalize): Oops, this change
2051 should have gone in on 2006-08-23
2053 2006-08-26 Mats Bengtsson <mabe@s3.kth.se>
2055 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
2056 quotes to quote arguments. Fixes Windows problem.
2058 * python/lilylib.py (progress): idem
2060 2006-08-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2062 * scripts/musicxml2ly.py: fix for importing
2063 minor key signatures from MusicXML. (Phillip Kirlin)
2065 2006-08-24 Phillip Kirlin <pkirlin@acm.org>
2067 * python/musicxml.py:
2068 (Attributes.get_key_signature): now correctly retrieves mode from
2071 2006-08-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2073 * lily/parser.yy (output_def_body): take ownership of identifier
2076 * Documentation/user/advanced-notation.itely (Metronome marks):
2077 update use of \tempo in \midi.
2079 * VERSION: release 2.9.16
2081 2006-08-24 Erik Sandberg <mandolaerik@gmail.com>
2083 * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
2086 2006-08-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2088 * input/regression/tie-chord-partial.ly: clarify example.
2090 * scm/define-music-properties.scm (all-music-properties): remove
2093 * ly/music-functions-init.ly: remove \untied.
2095 * lily/tie-engraver.cc (struct Head_event_tuple): store both
2096 stream events and music events.
2097 (stop_translation_timestep): search acknowledged heads for
2100 * input/regression/tie-chord-partial.ly: new file.
2102 * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
2103 for \char markup command.
2105 * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2107 * scm/define-music-types.scm (music-descriptions): consistency:
2108 Use solo-{one,two}-event iso. solo-[12]-event.
2110 * lily/part-combine-engraver.cc (process_music):
2111 Use solo-{one,two}-event iso. solo-[12]-event.
2113 * ly/declarations-init.ly (partCombineListener): add Timing as
2116 * flower/std-string.cc (string_copy): use copy ()
2118 * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2120 2006-08-24 Graham Percival <gpermus@gmail.com>
2122 * Documentation/user/changing-defaults.itely, global.itely,
2123 lilypond-book.itely, page.itely: minor changes from mailist.
2125 2006-08-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2127 * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2130 * scm/define-context-properties.scm
2131 (translator-property-description): robustness: detect type errors
2132 in property definitions.
2134 * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2135 after getting it from SCM.
2137 * lily/smobs.cc (protect_smob): switch off fancy smob protection
2140 * lily/include/performer.hh (class Performer): strip get_tempo()
2143 * lily/midi-def.cc: strip file.
2145 * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2147 * lily/include/context-def.hh (struct Context_def): use
2148 VIRTUAL_COPY_CONSTRUCTOR().
2150 * lily/source-file.cc: smobification.
2152 * lily/include/source-file.hh (class Source_file): smobify
2153 Source_file. Trim redundant members.
2155 * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2156 clones after creation. This plugs a huge memory leak.
2158 * python/convertrules.py (FatalConversionError.sub_tempo):
2159 complete rule for \midi{ \tempo }
2161 * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2163 * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2165 2006-08-23 Joe Neeman <joeneeman@gmail.com>
2167 * input/regression/optimal-page-breaking-hstretch.ly: test for
2168 ragged-last-bottom also
2170 * lily/paper-column-engraver.cc (finalize): make the end of a score
2171 breakable by default. This is to balance out a change in behaviour
2172 of the page-turn-breaker which no longer makes the end of a score
2175 * lily/paper-book.cc (pages): set the systems_ once the pages are
2178 * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2179 Page_breaking interface.
2181 * lily/page-breaking.cc (class Page_breaking): make the interface
2182 more consistent and provide abstractions for dealing with
2185 * lily/optimal-page-breaking.cc (solve): use a more straightforward
2186 algorithm. Use the new interface to Page_breaking.
2188 * lily/page-spacing.cc: better support for ragged-bottom and
2191 2006-08-22 Han-Wen Nienhuys <hanwen@lilypond.org>
2193 * python/convertrules.py (conv): warning on \tempo{}
2195 * ly/performer-init.ly: set tempoWholesPerMinute.
2197 * ly/midi-init.ly: remove \midi
2199 * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2202 * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2203 tempoUnitDuration for determining what to print.
2205 * lily/lyric-extender.cc: typo.
2207 * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2209 * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2212 * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2214 * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2215 eps-pad-boxes is set.
2217 * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2219 * THANKS: update sponsors.
2221 * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2223 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2225 * input/regression/tie-chord-untied.ly: new file.
2227 * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2229 * scm/define-music-properties.scm (all-music-properties): add
2232 * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2234 (headertext_nopics): sanitize no-examples text.
2236 * scm/page.scm (make-page-stencil): don't rely on extents of
2237 page-stencil. This fixes spurious space around .EPS files produced
2238 with the EPS backend.
2240 2006-08-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2242 * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2244 * lily/hara-kiri-engraver.cc (process_music): remember
2245 keepAliveInterfaces after processing \set
2247 * lily/lyric-extender.cc (print): support left/right-padding for
2250 * scm/documentation-generate.scm (string-append): revert lilypond/
2253 2006-08-20 Graham Percival <gpermus@gmail.com>
2255 * Documentation/user/lilypond.tely: clarification to
2256 license presentation (not to actual license).
2258 * Documentation/user/basic-notation.itely,
2259 instrument-notation.itely: minor changes.
2261 * input/ {regression, test}/+.ly: clarification to
2262 text (you can click on examples). Thanks, Mats!
2264 * input/manual/bar-lines.ly: adds ||: repeats.
2266 2006-08-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2268 * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES
2270 * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2272 * Documentation/user/lilypond.tely: strip lilypond/ from info
2273 links, rename to category LilyPond
2275 * lily/pango-font.cc (description_string): new function.
2277 * VERSION: release 2.9.15
2279 * lily/spacing-engraver.cc (stop_translation_timestep): use
2280 Dscho's fix for spacing spanner.
2282 * scm/define-music-types.scm (music-descriptions): use
2283 apply-output-event for ApplyOutputEvent
2285 * lily/output-property-engraver.cc (listen_apply_output): rename
2286 from listen_layout_instruction.
2288 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2291 2006-08-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2293 * scm/lily.scm (lilypond-all): option read-file-list: substitute
2294 commandline args with contains, split by \n.
2296 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2297 write snippet-names file, call with -dread-file-list. Fixes
2298 command limitations on 64-bit systems.
2300 * input/regression/stencil-color-rotation.ly: new file.
2302 * lily/include/translator.hh (struct Acknowledge_information):
2303 revert: don't use Protected_scm in global objects, as GUILE can't
2304 handle gc_unprotect from automated destructors on MacOS X.
2306 * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2307 color, not the original stencil. Fixes combinations of
2308 color/transparency/rotation.
2310 * scripts/lilypond-book.py (main): add --formats=eps for
2313 * lily/spacing-engraver.cc (stop_translation_timestep): don't
2314 crash if spacing_ is nonexistent.
2316 2006-08-14 Mats Bengtsson <mabe@s3.kth.se>
2318 * scripts/lilypond-book.py (output): Remove obsolete(!?)
2319 \catcode`\@=12 in the LaTeX output.
2321 2006-08-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2323 * scm/define-music-types.scm (music-descriptions):
2324 use sustain-event iso. sustain-pedal-event.
2326 2006-08-11 Joe Neeman <joeneeman@gmail.com>
2328 * scripts/convert-ly.py: honour the -n command-line switch
2330 2006-08-10 Han-Wen Nienhuys <hanwen@lilypond.org>
2332 * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2333 break specification.
2335 2006-08-10 Joe Neeman <joeneeman@gmail.com>
2337 * Documentation/user: convert-ly the user manual
2339 2006-08-09 Han-Wen Nienhuys <hanwen@lilypond.org>
2341 * stepmake/aclocal.m4: version check patch (thanks MWD)
2343 * ly/music-functions-init.ly: robustness. Don't crash if
2344 currentBarNumber is not a number.
2346 * VERSION (PATCH_LEVEL): bump.
2348 2006-08-08 Han-Wen Nienhuys <hanwen@lilypond.org>
2350 * stepmake/aclocal.m4: better version check; handle fooX.Y
2353 * ly/performer-init.ly: instrument name fixup.
2355 * input/manual/chord-names-jazz.ly (banterProperties):
2356 instrumentName update
2358 * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2360 * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2362 * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2363 function. Use hash tables to check membership.
2365 * lily/general-scheme.cc (LY_DEFINE): new function.
2367 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2369 * lily/include/translator.hh (struct Acknowledge_information): add
2372 * ly/music-functions-init.ly: change name to BreathingEvent
2374 * input/regression/*.ly: apply it.
2376 * python/convertrules.py (conv): better instrumentName conversion
2379 * scm/define-music-types.scm (music-descriptions): add
2380 line-break-event to LineBreakEvent music
2382 * lily/music.cc (to_event): don't crash if music type not set.
2384 * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2387 * lily/spacing-engraver.cc (stop_translation_timestep): set
2388 spacing for proportional notation too.
2390 * scm/translation-functions.scm (format-bass-figure): inspect
2393 * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2395 2006-08-08 Joe Neeman <joeneeman@gmail.com>
2397 * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2399 * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2401 * scm/layout-page-layout.scm (make-page-from-systems): new function
2402 (optimal-page-breaks): use the new page-breaking calling convention
2404 * scm/define-context-properties.scm (all-user-translation-properties):
2407 * lily/paper-column-engraver.cc (stop_translation_timestep): add
2408 revokePageTurns functionality. If there is a special barline within
2409 the breakable region, break there instead of at the end of the region.
2411 * lily/paper-book.cc (pages): use the new page-breaking calling
2414 2006-08-07 Erik Sandberg <mandolaerik@gmail.com>
2416 * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2418 * scripts/lilypond-book.py: insert \sourcefileline command in
2419 output, so lilypond error messages refer to the spot in the
2420 original .lytex / .itely sourcefile.
2422 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2424 * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2425 space to next column for distance to fixed col.
2427 * VERSION (PACKAGE_NAME): release 2.9.14
2429 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2432 * lily/accidental-engraver.cc (process_acknowledged): don't create
2433 accidental for trill span event. This fixes spurious accidentals
2436 2006-08-04 Mats Bengtsson <mabe@s3.kth.se>
2438 * scm/define-grob-properties.scm (all-user-grob-properties):
2439 Clarify documentation of side-axis and direction. Thanks to Paul
2440 for the inspiration.
2442 * lily/bar-line.cc: Add documentation for "||:" also in the
2443 interface documentation.
2445 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2447 * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2449 * lily/paper-column.cc (set_system): new function.
2451 * lily/spacing-engraver.cc (stop_translation_timestep): store
2452 SpacingSpanner refs in Paper_column.
2454 * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2455 compute loose clique spacing using GraceSpacing/SpacingSpanner.
2457 2006-08-03 Han-Wen Nienhuys <hanwen@lilypond.org>
2459 * lily/beam-engraver.cc (listen_beam): add method for
2460 Grace_beam_engraver too.
2462 2006-08-03 Mats Bengtsson <mabe@s3.kth.se>
2464 * python/convertrules.py: Fix indentation bug that broke
2465 conversion of files older than 1.3.117.
2466 Fix escape error in the description for 2.9.6.
2468 2006-08-02 Erik Sandberg <mandolaerik@gmail.com>
2470 * lily/*-engraver.cc: convert all try_music functions to listen_*
2473 * lily/piano-pedal-engraver.cc: some additional cleanups: use
2474 enums to represent pedal types, and calculate more data statically.
2476 * scm/part-combiner.scm (recording-group-emulate): create a
2477 softcoded substitute for recording-group-engraver.cc.
2479 * lily/music.cc: make a common transpose function for events and
2482 * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2483 ManualMelismaEvent, and obsoletes Melisma_translator.
2485 2006-08-02 Han-Wen Nienhuys <hanwen@lilypond.org>
2487 * input/test/instrument-name-align.ly: update version.
2489 2006-08-02 Mats Bengtsson <mabe@s3.kth.se>
2491 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2492 Doc the --pdf flag to lilypond-book.
2494 2006-07-31 Han-Wen Nienhuys <hanwen@lilypond.org>
2496 * Documentation/topdocs/NEWS.tely (Top): add description.
2498 * input/regression/tuplet-full-length-note.ly: add file.
2500 * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2501 always store axis group.
2503 2006-07-27 Han-Wen Nienhuys <hanwen@lilypond.org>
2505 * input/regression/instrument-switch.ly: new file.
2507 * lily/instrument-switch-engraver.cc (process_music): new file.
2509 * ly/engraver-init.ly: add Instrument_switch_engraver
2511 * ly/music-functions-init.ly: \instrumentSwitch
2513 * scm/define-context-properties.scm
2514 (all-user-translation-properties): add instrumentCueName
2516 * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2518 2006-07-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2520 * ly/music-functions-init.ly: music function \transposition.
2522 * lily/parser.yy (command_element): softcode \transposition.
2524 * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2525 (process_music): oops.
2527 * lily/instrument-name-engraver.cc (start_spanner): new
2528 function. Create spanner when property changes.
2529 (stop_spanner): new function.
2531 * python/convertrules.py (conv): add rule.
2533 * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2534 shortInstrumentName iso. instr.
2536 * scm/output-ps.scm (dashed-line): add phase argument to
2539 * lily/bar-line.cc (dashed_bar_line): new function.
2540 (compound_barline): support \bar "dashed".
2542 * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2543 --output=DIR to DIR/BASE if it is a dir.
2545 * flower/file-name.cc (file_part): new function
2546 (dir_part): new function
2548 * lily/lily-parser-scheme.cc (LY_DEFINE):
2550 * DEDICATION: update
2552 2006-07-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2554 * lily/instrument-name-engraver.cc: formatting.
2556 * python/convertrules.py (conv): bugfix for \epsfile.
2558 2006-07-25 Joe Neeman <joeneeman@gmail.com>
2562 * lily/gourlay-breaking.cc: Oops, these should have been included
2565 2006-07-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2567 * scripts/*.py (program_name): cleanup relocation snippets.
2569 * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2571 2006-07-24 Joe Neeman <joeneeman@gmail.com>
2573 * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2574 page-breakable by default
2576 * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2577 correctly calculated for a single-system page
2579 * scm/lily-library.scm (interval-sane?): also check that the first number is no
2580 bigger than the second number
2582 * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2583 acknowledge that we aren't satisfying constraints)
2585 * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2588 * lily/grob.cc (pure_height): add minimum-Y-extent
2590 * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2593 * lily/constrained-breaking.cc: convert code to use new Matrix class
2594 (get_best_solution): new function
2596 * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2597 is a page with no systems
2599 2006-07-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2601 * VERSION (PACKAGE_NAME): release 2.9.13
2603 * scm/define-grobs.scm (all-grob-descriptions): remove stray
2606 2006-07-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2608 * Documentation/topdocs/NEWS.tely (Top): doc new features.
2610 * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2613 * scm/define-grob-properties.scm (all-user-grob-properties):
2614 remove grace-space-factor.
2616 * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2617 grace-spacing-interface
2618 (spacing-options-interface): add.
2620 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2622 * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2624 * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2625 GraceSpacing object.
2627 * lily/note-spacing.cc: fix prop list formatting
2629 * lily/beaming-pattern.cc (de_grace): new function. Sensible
2630 beaming for grace notes too.
2632 * input/regression/spacing-grace.ly: update.
2634 * lily/grace-spacing-engraver.cc: new file.
2636 * lily/spacing-spanner.cc: add strict-grace-spacing.
2638 2006-07-20 Graham Percival <gpermus@gmail.com>
2640 * lily/parser.yy: compile fix.
2642 2006-07-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2644 * scm/define-grobs.scm (all-grob-descriptions): typo.
2646 * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2647 .eps extension from includegraphics.
2649 * scripts/lilypond-book.py (main): add support for --pdf.
2651 * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2652 callback to compute common shortest duration.
2653 (set_springs): typo.
2655 * scm/define-grob-properties.scm (all-user-grob-properties): add
2656 strict-grace-spacing.
2658 * lily/spacing-determine-loose-columns.cc (is_loose_column):
2659 support float_grace_columns_.
2661 * lily/spacing-options.cc (init_from_grob): new file.
2663 * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2665 * input/regression/spacing-loose-grace.ly: new file.
2667 * Documentation/topdocs/NEWS.tely (Top): document new feature.
2669 * lily/tuplet-engraver.cc (struct Tuplet_description): read
2670 tupletFullLengthNote too. Choose right bound depending on value.
2672 * input/regression/tuplet-full-length-note.ly: new file.
2674 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2676 * lily/*-performer.cc: Converted try_music to listen_*
2678 * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2679 as a stream-event internally. Introduce event_cause (), deprecate
2682 * scm/define-music-types.scm: Removed BusyPlayingEvent
2684 2006-07-19 Mats Bengtsson <mabe@s3.kth.se>
2686 * Documentation/user/advanced-notation.itely (Font selection):
2687 Document how to get a list of available fonts using 'lilypond
2688 -dshow-available-fonts blabla'.
2690 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2692 * GNUmakefile.in: filter lily-XXX.pdf files.
2694 * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2696 * scm/define-grob-properties.scm (all-internal-grob-properties):
2697 remove delta-pitch. Use delta-position everywhere.
2699 * scm/output-lib.scm (fall::print): use new order.
2701 * scm/output-ps.scm (path): reorder arguments.
2703 * scm/output-svg.scm (path): support for path primitive.
2705 * input/regression/bend-after.ly: new file.
2707 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2708 recipe for eps -> pdf conversion.
2710 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2712 * lily/parser.yy, lily/lexer.ll: added some simplifications by
2715 2006-07-19 Graham Percival <gpermus@gmail.com>
2717 * input/manual/screech-boink.ly: moved to here.
2719 * input/screech-boink.ly: deleted.
2721 * scm/define-grob-properties.scm: clarify doc string.
2723 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2725 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2727 * scm/output-ps.scm (path): define path.
2729 * scm/define-stencil-commands.scm
2730 (ly:register-stencil-expression): add path.
2732 * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2734 * ly/engraver-init.ly: add Fall_engraver
2736 * lily/parser.yy (music_function_event): allow musicfunction
2737 without music arg as music_function_event.
2739 * lily/grob-scheme.cc (LY_DEFINE):
2740 ly:grob-robust-relative-extent. New function.
2742 * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2744 * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2746 * scm/output-lib.scm (fall::print): new function
2748 * lily/fall-engraver.cc (stop_fall): new file.
2750 * ly/music-functions-init.ly: alphabetise.
2752 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2755 2006-07-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2757 * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2759 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2762 * lily/translator-group.cc (connect_to_context): non const error message.
2764 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2766 * scm/paper.scm (internal-set-paper-size): define landscape to #f
2769 * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape.
2771 * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2773 * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2776 * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2778 * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2780 * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2782 * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2784 * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2786 * scm/backend-library.scm (postscript->pdf): strip .eps too.
2788 2006-07-14 Nicolas Sceaux <nicolas.sceaux@free.fr>
2790 * scm/layout-page-layout.scm: Define module, tidy code, use more
2791 functions iso. a single big one.
2793 * scm/layout-page-dump.scm: move page dump functions used in two
2794 pass spacing to this file. Define module.
2796 * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2799 * ly/paper-defaults.ly: use module layout-page-layout.
2801 2006-07-14 Erik Sandberg <mandolaerik@gmail.com>
2803 * lily/music.cc: Revised MusicEvent event class. It now contains
2804 event data directly instead of encapsulating it in music. The
2805 previously used class is renamed to OldMusicEvent.
2807 * lily/stream-event.cc: Stream events are now probs.
2809 * lily/translator-group.cc, lily/translator.cc: Translators can
2810 now listen directly to stream events, by using macros
2811 [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2813 * lily/arpeggio-engraver.cc: Converted to use new event system
2815 * THANKS: Corrected spelling mistake.
2817 2006-07-12 Graham Percival <gpermus@gmail.com>
2819 * Documentation/user/SConscript, make/lilypond-vars.make,
2820 input/GNUmakefile: doc build looks in input/manual instead
2823 * input/manual/ GNUmakefile, SConscript: build files for
2826 * input/test/ various: some files moved to input/manual/
2828 * Documentation/user/basic-notation.itely: small updates;
2829 thanks Kieren and Charles!
2831 2006-07-12 Han-Wen Nienhuys <hanwen@lilypond.org>
2833 * VERSION (PACKAGE_NAME): release 2.9.11
2835 * Documentation/topdocs/NEWS.tely (Top): update prop value
2837 * Documentation/user/basic-notation.itely (Tuplets): new property
2840 2006-07-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2842 * python/convertrules.py (conv): tweaks.
2844 * VERSION (PATCH_LEVEL): bump version.
2846 * python/convertrules.py (conv): add rule for
2847 tupletNumberFormatFunction.
2849 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2850 tupletNumberFormatFunction.
2852 * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2853 text through 'text callback.
2855 * lily/time-scaled-music-iterator.cc (construct_children): copy
2856 tweaks generated events.
2858 * scm/define-context-properties.scm
2859 (all-user-translation-properties): remove tupletNumberFormatFunction
2861 * lily/tuplet-engraver.cc (process_music): don't read
2862 tupletNumberFormatFunction
2864 * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2867 2006-07-11 Erik Sandberg <mandolaerik@gmail.com>
2869 * lily/global-context-scheme.cc: Separated ly:run-translator into
2872 * lily/score-engraver.cc, lily/score-performer.cc,
2873 scm/define-context-properties.scm: Make paper/midi output
2874 accessable as a context property.
2876 * lily/score-translator.cc, lily/score-context.cc: Removed.
2878 2006-07-07 Guido Amoruso <guidonte@katamail.com>
2880 * scm/ps-to-png.scm (Module):
2881 * scm/framework-tex.scm (Module):
2882 * scm/framework-ps.scm (Module):
2883 * scm/backend-library.scm (Module):
2884 * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2885 "dDEVICEHEIGHTPOINTS".
2887 2006-07-04 Graham Percival <gpermus@gmail.com>
2889 * Documentation/user/ various: general improvements to
2890 "working with lilypond files" section.
2892 2006-07-03 Erik Sandberg <mandolaerik@gmail.com>
2894 * lily/sequential-iterator.cc: Change the default get_music_list
2895 to read elements-callback music property
2897 * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2898 processing of multimeasure rests. Softcoded
2899 sequential-music-iterator.
2901 * lily/sequential-music-iterator.cc: Removed.
2903 2006-06-28 Graham Percival <gpermus@gmail.com>
2905 * Documentation/user/basic-notation.itely: clarify \repeatTie.
2907 2006-06-27 Erik Sandberg <mandolaerik@gmail.com>
2909 * lily/parser.yy: Wrap non-post-events in EventChords before
2910 assigning them to identifiers.
2912 2006-06-27 Mats Bengtsson <mabe@s3.kth.se>
2914 * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2915 gives correct vertical placement of \bar ":" in all staff
2916 sizes. Thanks Martial!
2918 2006-06-26 Graham Percival <gpermus@gmail.com>
2920 * Documentation/user/invoking.itely : minor update from mailist.
2922 2006-06-26 Erik Sandberg <mandolaerik@gmail.com>
2924 * lily/ various: Introduce stream events of types Prepare,
2925 OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2926 ChangeContext, SetProperty, RevertProperty, Override and Revert.
2928 * lily/global-context*.cc: Time is now -inf before iteration
2931 * lily/include/context.hh: Removed unique_, init_
2933 * Documentation/topdocs/NEWS: Make the feathered beam example
2934 avoid triggering a bug.
2936 2006-06-24 Graham Percival <gpermus@gmail.com>
2938 * Documentation/user/ various: small additions from mailist.
2940 2006-06-22 Mats Bengtsson <mabe@s3.kth.se>
2942 * ly/performer-init.ly: Add some missing links in the context
2943 hierarchy for MIDI output. There are probably some more missing!
2945 2006-06-21 Graham Percival <gpermus@gmail.com>
2947 * Documentation/user/ various: minor spelling fixes;
2948 thanks Dave Luttinen!
2950 * Documentation/user/ various: small clarifications;
2951 thanks Anthony Youngman!
2953 2006-06-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2955 * po/fr.po: add \n appropriately.
2957 * lily/lexer.ll: remove ? from version-seen?
2959 2006-06-19 John Mandereau <john.mandereau@free.fr>
2961 * po/fr.po; update translation, by Jean-Charles Malahieude and
2964 2006-06-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2966 * THANKS: add Markus Schneider.
2968 * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
2969 Staff_symbol_engraver
2971 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
2972 replace staff_engraver
2974 * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
2977 * lily/staff-collecting-engraver.cc
2978 (acknowledge_end_staff_symbol): new function
2980 * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function.
2982 * lily/staff-collecting-engraver.cc
2983 (acknowledge_end_staff_symbol): new function.
2985 * lily/main.cc: switch on relocation by default.
2987 2006-06-18 Han-Wen Nienhuys <hanwen@lilypond.org>
2989 * lily/spacing-spanner.cc (musical_column_spacing): set
2990 compound_fixed_note_space to 0.0. Document why.
2992 * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
2993 range of inverse_hooke_
2994 (Simple_spacer): init completely.
2996 (get_line_configuration): don't use cols.resize(); it introduces
2999 * scm/framework-ps.scm (dump-page): add setstrokeadjust.
3001 * ps/music-drawing-routines.ps: remove selectfont L1 hack.
3003 * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
3004 try. Divide by beatlength.
3006 * input/regression/beaming-ternary-metrum.ly: update doc.
3007 add beatLength hack.
3009 * scm/music-functions.scm (make-time-signature-set): add
3010 standard-beat-grouping.
3012 2006-06-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3014 * input/regression/tie-whole.ly: new file.
3016 * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
3017 cross center of note head in case of invisible stem.
3019 2006-06-16 Graham Percival <gpermus@gmail.com>
3021 * Documentation/user/ various: small fixes from mailist.
3023 2006-06-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3025 * lily/breathing-sign.cc (offset_callback): idem.
3027 * lily/align-interface.cc (align_to_fixed_distance): remove
3030 * lily/beaming-pattern.cc (count_factor_twos): oops. We want
3033 2006-06-15 Han-Wen Nienhuys <hanwen@lilypond.org>
3035 * VERSION (PACKAGE_NAME): release 2.9.9
3037 * ly/lilypond-book-preamble.ly: add \version
3039 2006-06-14 Han-Wen Nienhuys <hanwen@lilypond.org>
3041 * scripts/lilypond-book.py (PREAMBLE_LY): include
3042 lilypond-book-preamble.ly
3044 * lily/stem.cc (get_beaming): return max of 0 and
3045 scm_ilength. Fixes slurring from/to beams.
3047 * ly/lilypond-book-preamble.ly: new file.
3049 * lily/slur.cc: add inspect-index feature.
3051 2006-06-13 Graham Percival <gpermus@gmail.com>
3053 * Documentation/user/tutorial.itely: trivial fix.
3055 2006-06-13 Erik Sandberg <mandolaerik@gmail.com>
3057 * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
3058 all non-event music in the parser via MAKE_SYNTAX.
3060 * lily/parser-scheme.cc: Add ly:parser-error function
3062 * scm/paper.scm: fix typo
3064 2006-06-13 Han-Wen Nienhuys <hanwen@lilypond.org>
3068 * lily/font-config.cc (init_fontconfig): add warning if cache_file
3071 * buildscripts/output-distance.py (test_compare_signatures):
3073 (read_signature_file): use new signature format.
3075 * scm/stencil.scm (write-system-signature): simpler signature
3078 * lily/stem.cc (calc_stem_end_position): calc quantized-positions
3081 * lily/note-spacing.cc (stem_dir_correction): don't inspect
3082 stem_end_position, but estimate instead.
3084 * lily/tuplet-bracket.cc (calc_positions): look at
3085 stem-end-position for tuplet bracket slope. Fixes sloped tuplet
3086 brackets narrower than beams.
3088 * lily/lexer.ll: set version-seen? even if version is
3091 * lily/rest.cc (y_offset_callback): bugfix: decide position
3092 override based on scm_is_number(). Fixes \rest on center staff
3095 * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
3096 patterns for 16th triplets.
3098 2006-06-10 Graham Percival <gpermus@gmail.com>
3100 * Documentation/user/ page.itely, global.itely: editing
3103 * Documentation/user/ various: findex -> funindex.
3105 2006-06-10 Erik Sandberg <mandolaerik@gmail.com>
3107 * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3108 insert extra tuplet events.
3110 2006-06-10 Graham Percival <gpermus@gmail.com>
3112 * Documentation/user/programming-interfaces.itely: add
3115 * python/convertrules.py: add annotatefoo -> annotate-foo
3118 * Documentation/user/global.itely: start editing.
3120 * Documentation/user/page.itely: major editing, new spacing
3123 2006-06-10 Han-Wen Nienhuys <hanwen@lilypond.org>
3125 * scm/define-markup-commands.scm (wordwrap-markups): use
3126 output-def 'line-width if undefined.
3128 * HACKING: trim outdated info.
3130 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3132 * scm/define-grobs.scm (all-grob-descriptions): Add
3133 line-spanner-interface to all grobs that already have
3134 text-spanner-interface or dynamic-text-spanner-interface
3136 * scm/page.scm: Rename annotate{headers,systems,page}->
3139 * input/regression/page-spacing.ly,
3140 input/regression/page-layout-manual-position.ly: idem
3142 2006-06-09 Han-Wen Nienhuys <hanwen@lilypond.org>
3144 * lily/line-spanner.cc: cleanup property list.
3146 * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3147 generator expressions (2.3 compat).
3149 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3151 * lily/vertical-align-engraver.cc: Make sure that the
3152 align{Above,Below}Context properties are included in the automatic
3155 2006-06-08 Joe Neeman <joeneeman@gmail.com>
3157 * scm/paper-system.scm (paper-system-annotate): also annotate the
3158 estimated pure-Y-extent
3160 * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3162 * lily/system.cc (break_into_pieces): set the estimated height
3163 of each child system
3165 * lily/stem.cc (pure_height): new pure-Y-extent callback
3167 * lily/staff-symbol-referencer.cc (callback): don't destroy
3168 the staff-position property
3170 * lily/hara-kiri-group-spanner.cc (request_suicide): split
3171 consider_suicide into two functions
3173 * lily/constrained-breaking.cc (resize): use the new pure
3174 callbacks to estimate the height of a system
3176 * lily/axis-group-interface.cc (pure_group_height): new
3177 side-effect-free VerticalAxisGroup height-callback
3179 * lily/align-interface.cc (get_extents_aligned_translates):
3180 split align_elements_to_extents into two functions
3181 (get_pure_child_y_translation): new function
3183 * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3185 * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3187 * lily/paper-score.cc: cache break_indices and columns
3189 * lily/side-position-interface.cc: new pure-Y-extent callbacks
3191 2006-06-08 Han-Wen Nienhuys <hanwen@lilypond.org>
3193 * lily/font-config.cc (init_fontconfig): do the init if
3194 cache_file, but don't look at cache_file.
3196 * input/regression/quote-tie.ly: new file.
3198 * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3199 to Head_event_tuple, so we deal gracefully with ties on
3202 * lily/pango-font.cc (pango_item_string_stencil): type correctness
3205 2006-06-08 Graham Percival <gpermus@gmail.com>
3207 * input/test/ smart-transpose.ly, reverse-music.ly:
3208 \applyMusic to music functions update, thanks Michael!
3210 2006-06-07 Graham Percival <gpermus@gmail.com>
3212 * input/test/ add-staccato.ly, add-text-script.ly,
3213 unfold-all-repeats.ly, music-box.ly: \applyMusic to
3214 music functions update, thanks to Michael Meixner.
3216 * Documentation/user/music-glossary.tely: small fix
3219 * Documentation/user/ various: minor additions from mailist.
3221 * Documentation/user/lilypond.tely, basic-notation.itely:
3222 small test of @funindex. (works here)
3224 * input/test/font-table.ly: reduce size to partially
3225 de-ugly version in manual.
3227 * Documentation/user/page.itely: new file (split former
3228 "global issues" into "page settings" and "non-musical
3231 * Documentation/user/ various: fix @ref{}s to match
3232 new chapter names (above).
3234 2006-06-07 Jan Nieuwenhuizen <janneke@gnu.org>
3236 * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3238 2006-06-06 Graham Percival <gpermus@gmail.com>
3240 * Documentation/user/advanced-notation.itely: add example
3241 for segno/coda on barline.
3243 * tex/texinfo.tex: merge from upstream.
3245 2006-06-06 Jan Nieuwenhuizen <janneke@gnu.org>
3247 * scripts/lilypond-book.py (process_snippets): Argument fix.
3250 * buildscripts/builder.py:
3253 * Documentation/user/SConscript: More SCons fixes.
3255 2006-06-03 Jan Nieuwenhuizen <janneke@gnu.org>
3257 * lily/font-config.cc (init_fontconfig): Only initialize if
3258 global cache_file is found.
3260 2006-06-06 Erik Sandberg <mandolaerik@gmail.com>
3262 * ly/music-functions-init.ly: Updated \overrideProperty to use the
3265 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3267 * VERSION (PACKAGE_NAME): release 2.9.8
3269 * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3270 function. Delay ledger modifying ledgered grobs to
3271 stop_translation_timestep(), to ensure that we're ledgering
3272 according to the new spanner.
3273 (acknowledge_staff_symbol): don't check for non-NULL
3274 staff_sym->get_bound()
3276 * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3279 * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3282 * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3283 directly from srcdir/stepmake/aclocal.m4
3285 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3288 * lily/simple-spacer.cc (get_column_desc): desc -> description.
3290 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3292 * lily/simple-spacer.cc (get_line_configuration): add
3293 keep-inside-line rods
3294 (struct Column_desc): add constructor
3295 (struct Rod_desc): add constructor
3296 (get_line_forces): check for forced page breaks here too
3298 * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3299 support/elements cycles between InstrumentNames and AxisGroups
3301 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3303 * config.make.in (METAFONT): remove MAKEINFO_VERSION
3305 * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3306 make-txt-files target.
3308 * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3309 make-txt-files target.
3311 * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3313 * stepmake/stepmake/generic-vars.make (distdir): create dist in
3316 2006-06-06 Jürgen Reuter <reuter@ipd.uka.de>
3318 * Documentation/user/instrument-notation.itely,
3319 input/regression/breathing-sign-ancient.ly,
3320 input/test/divisiones.ly: Removed redundant property settings for
3323 * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3324 fix lyrics alignment problems. They are implemented now as scheme
3325 functions that add the appropriate unicode char to the first lyric
3326 event rather than adding a separate lyric event. Minor edit of
3329 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3331 * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3332 pollute src dir with built .txt files, but install directly from
3333 Documentation/topdocs/out/
3335 * buildscripts/output-distance.py
3336 (ComparisonData.create_html_result_page): put version/directories
3339 * Documentation/topdocs/NEWS.tely (Top): document spacing section
3342 * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3343 Patch by Karl Hammar
3345 * buildscripts/readlink.py: add file.
3346 Patch by Karl Hammar
3348 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3350 * lily/tuplet-number.cc (print): prevent stencil from being
3353 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3355 * scm/stencil.scm (write-system-signature): explicitly
3356 -well, superfluously- close output port.
3358 * buildscripts/output-distance.py (main): oops. Add extra argument.
3360 2006-06-05 Graham Percival <gpermus@gmail.com>
3362 * Documentation/user/music-glossary.tely: clarified example
3363 from Francisco Vila, thanks!
3365 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3367 * input/regression/spacing-section.ly: new file.
3369 * lily/input.cc (programming_error): new function.
3371 * lily/spacing-engraver.cc (try_music): new function. Accept
3372 spacing-section-event
3374 * lily/spacing-spanner.cc (set_springs): take slices of all
3375 columns for spacing.
3377 * lily/include/paper-column.hh (class Paper_column): add
3378 Paper_column::compare.
3380 * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3382 * scm/define-music-types.scm (music-descriptions): add
3385 * lily/music-iterator.cc (report_event): use programming_error for
3386 sending non-event error.
3388 * lily/input.cc (programming_error): new function
3390 * buildscripts/output-distance.py (main): use compare-XXX for
3392 (main): --threshold option, default at 0.30
3394 * output-distance.py (main): add --threshold option.
3396 2006-06-04 Nicolas Sceaux <nicolas.sceaux@free.fr>
3398 * scm/paper-system.scm (paper-system-annotate): fix problem when
3399 annotating an empty system
3401 2006-06-04 Han-Wen Nienhuys <hanwen@lilypond.org>
3403 * GNUmakefile.in: reinstate old web tar/copying.
3405 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3407 * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3408 nothing changes. (Erik S)
3410 * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3413 2006-05-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
3415 * scm/define-markup-commands.scm (whiteout): do not force
3416 foreground color of argument markup to black.
3418 * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3419 the left of the arrow, instead of below the arrow name, so that,
3420 when two little arrows are vertically stacked, their dimensions
3421 and name should not overlap. Add a color key parameter.
3423 * scm/paper-system.scm (paper-system-annotate): Annotate
3424 next-space+next-padding instead of next-space. Annotate space
3425 between next-padding and next-space+padding, respectively, and
3426 following system extent and refpoint-Y-extent. Use colors.
3428 * scm/page.scm (annotate-page): translate annotations slightly to
3431 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3433 * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3434 fix for x-staff slurs. Thanks Joe!
3436 * buildscripts/output-distance.py
3437 (SystemLink.output_expression_change_count): keep track of changed
3438 details, and dump in details html page.
3440 * input/regression/figured-bass-staff.ly: add note about setting
3441 properties in Staff context.
3443 * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3444 add slurs and ties to support too.
3446 * buildscripts/output-distance.py (main): set dest_dir
3447 argument. Add --max-count option.
3449 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3451 * ly/gregorian-init.ly: Converted to utf-8. Added memorable
3452 shortcuts for special unicode chars that are useful in chant
3453 notation. Revised exisiting and added new comments.
3455 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3457 * make/mutopia-rules.make: remove duplicate recipe.
3459 2006-06-02 Werner Lemberg <wl@gnu.org>
3461 * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3462 Add support for U+0132 (IJ) and U+0133 (ij).
3464 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3466 * buildscripts/output-distance.py (FileLink): new class. collect
3467 info systems from one .ly file.
3468 (FileLink.link_files_for_html): further tweaks.
3470 2006-06-02 Graham Percival <gpermus@gmail.com>
3472 * tex/texinfo.tex: partial fix for @funindex.
3474 * Documentation/user/macros.tely: uncomment @funindex (doesn't
3477 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3479 * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3481 * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3482 @example too. Backportme.
3484 2006-06-02 Graham Percival <gpermus@gmail.com>
3486 * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3487 from Werner Lemberg.
3489 2006-06-02 Paco (Francisco Vila) <fravd@ya.com>
3491 * Documentation/user/music-glossary.tely: additional spanish
3492 updates and a lyrics fix in an example.
3494 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3496 * scm/define-grob-properties.scm: Previous patch contained
3497 spurious line from another patch not yet committed. Fixed.
3499 * scm/define-grob-properties.scm: Add missing doc strings for
3502 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3504 * buildscripts/output-distance.py
3505 (ComparisonData.write_text_result_page): separate the scores, sort
3508 * scm/framework-eps.scm (output-classic-framework): start at 1 for
3511 * buildscripts/output-distance.py (me_path): use argv[0] for
3513 (ComparisonData.img_cell): use colored borders.
3515 * scm/stencil.scm (write-system-signature): escape newlines too.
3516 (write-system-signature): use (1,-1) interval for empty interval
3518 2006-01-01 Graham Percival <gpermus@gmail.com>
3520 * Documentation/user/music-glossary.tely: Spanish updates
3521 from Francisco Vila.
3523 * Documentation/user/lilypond-book.itely: addition from
3526 * Documentation/user/ various: edits, small additions
3529 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3531 * GNUmakefile.in (tree-lib-prefix-current):
3532 (tree-share-prefix-current): Use version number in tree, add
3535 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3537 * GNUmakefile.in: write VERSION, again.
3539 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3540 $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3542 * stepmake/aclocal.m4: robuster version detection.
3544 * buildscripts/output-distance.py
3545 (ComparisonData.create_html_result_page): copy only if file
3546 exists, fixup src paths.
3548 * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3550 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3552 * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3553 Another datarootdir reto.
3555 * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3556 available. This should be moved to postinstall-lilypond-doc.
3558 2006-05-31 Han-Wen Nienhuys <hanwen@lilypond.org>
3560 * GNUmakefile.in: simplify local-WWW-post.
3561 remove -type l from find.
3563 * buildscripts/output-distance.py (ComparisonData.compare_trees):
3564 fixes. Don't follow symlinks.
3565 (ComparisonData.create_html_result_page): remove previous results.
3566 insert ../python in path.
3568 * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3570 2006-05-31 Jan Nieuwenhuizen <janneke@gnu.org>
3572 * config.make.in (datadir): Add datarootdir to silence autoconf.
3574 * stepmake/aclocal.m4: Update for autoconf-2.59d.
3576 2006-05-31 Erlend Aasland <erlenda@gmail.com>
3578 * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3580 * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3581 slash beams too wide.
3583 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3585 * VERSION: release 2.9.7
3587 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3589 * lily/relocate.cc (read_relocation_dir): Do not blindly
3592 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3594 * lily/parser.yy: replace THIS by PARSER
3596 * Documentation/index.html.in: add link to test-results.html page.
3598 * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3600 * scm/translation-functions.scm (format-bass-figure): translate
3601 digits over 10 to the left
3603 * scm/define-markup-commands.scm (translate-scaled): new markup.
3605 * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3608 * ly/engraver-init.ly: add Figured_bass_engraver
3610 * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3612 * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3614 * lily/score-engraver.cc (announce_grob): only note START announces.
3616 * lily/include/engraver-group.hh (Translator_group):
3617 acknowledge_hash_table_ is now drul.
3619 * lily/engraver.cc (announce_end_grob): new method.
3621 * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3623 * lily/translator-dispatch-list.cc (create): take start_end argument.
3625 * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3626 acknowledge_static_array_ to drul
3628 * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3630 * scm/define-grob-interfaces.scm
3631 (bass-figure-alignment-interface): add bass-figure-alignment-interface
3633 * scm/define-grobs.scm (all-grob-descriptions): add
3634 BassFigureAlignmentPositioning
3636 * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3637 number stays up to date. Backportme.
3639 2006-05-30 Mats Bengtsson <mabe@s3.kth.se>
3641 * Documentation/user/basic-notation.itely (Bar lines): Document
3644 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3646 * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3648 * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3649 .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc'
3652 * Resurrect `scons lily' build.
3654 * SConstruct (symlink_tree): Bugfix: link
3655 music-drawing-routines.ps to file iso directory.
3657 * lily/SConscript: Remove kpath-guile from LIBS.
3659 * SConstruct (libdir_package_version): Typo.
3660 (configure): Comment-out fontforge for lack of fontforge.pc .
3661 Also add libdir* to environment.
3663 2006-05-30 Graham Percival <gpermus@gmail.com>
3665 * Documentation/user/ various: minor additions from mailist and
3668 2006-05-30 Paco <fravd@ya.com>
3670 * Documentation/user/music-glossary.tely: numerous corrections and
3671 some new translations.
3673 2006-05-29 Han-Wen Nienhuys <hanwen@lilypond.org>
3677 * buildscripts/output-distance.py
3678 (ComparisonData.create_html_result_page): new routine: summarise
3679 results in HTML page with images.
3680 (ComparisonData.create_text_result_page): create summary text files too.
3682 * GNUmakefile.in (web-ext): package .signature files too. They
3685 * scm/stencil.scm (write-system-signature): typo.
3687 * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3689 * scm/stencil.scm (write-system-signature): better escaping.
3690 only write signature for music systems, not for markup systems.
3692 * scm/framework-ps.scm (output-framework): dump-signatures support
3695 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3697 * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3698 for -dno-point-and-click
3700 * lily/grob.cc (get_print_stencil): don't read
3701 point_and_click_global to determine whether to set grob-cause.
3703 2006-05-28 Han-Wen Nienhuys <hanwen@lilypond.org>
3705 * buildscripts/output-distance.py (main): new function.
3706 (ComparisonData): new class.
3708 * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3709 careful with generating new LedgerLineSpanners.
3711 * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3713 * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3714 context. This fixes double ledger lines in output.
3716 * lily/system.cc (get_paper_system): remove 3 layer limit.
3718 * buildscripts/output-distance.py (SystemLink.distance): new
3719 file. Compare signatures.
3721 * python/safeeval.py (SafeEval.visitUnarySub): new file.
3723 * lily/grob-array.cc (remove_duplicates): rename from
3724 uniq(). Sort before calling uniq() so it actually works.
3726 2006-05-27 Han-Wen Nienhuys <hanwen@lilypond.org>
3728 * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3729 \version from lilypond file snippet.
3730 (Lilypond_file_snippet.ly): oops. typo.
3731 (find_toplevel_snippets): urgh. again.
3733 * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3734 prevent duplicated broken items in output.
3736 * scm/framework-eps.scm (output-classic-framework): only dump if
3737 dump-signatures is set.
3739 * scm/lily.scm (define-scheme-options): add dump-signatures option.
3741 * scm/stencil.scm (write-system-signature): new routine: write
3742 python parseable signature of a separate paper system.
3745 2006-05-26 Han-Wen Nienhuys <hanwen@lilypond.org>
3747 * lily/stanza-number-engraver.cc (process_music): use is_markup()
3751 2006-05-25 Erik Sandberg <mandolaerik@gmail.com>
3753 * translator-group.cc: send music events to engravers in
3754 non-bottom contexts.
3756 * tuplet-engraver.cc: process tuplet brackets in correct order.
3758 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3760 * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3761 arg 2 might point us to a new binary (patch by Karl Hammar)
3763 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3765 * VERSION (PACKAGE_NAME): release 2.9.6
3767 * Documentation/topdocs/NEWS.tely (Top): trim explanation.
3769 * Documentation/user/*.itely: 2nd
3770 attempt: replace funindex -> findex globally.
3772 2006-05-24 Nicolas Sceaux <nicolas.sceaux@free.fr>
3774 * input/no-notation/display-lily-tests.ly: fix \applyOutput
3775 test. Add \break, \pageBreak, \pageTurn, etc, tests.
3777 * scm/define-music-display-methods.scm: display methods for
3778 breaks. Fix \applyOutput.
3780 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3782 * Documentation/user/macros.itexi: comment out funindex expansion.
3784 * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3787 * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3788 Karl Hammar. Backportme.
3790 * Documentation/user/advanced-notation.itely (Balloon help): idem.
3792 * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3794 * Documentation/user/programming-interface.itely (Running a
3795 function on all layout objects): idem.
3797 * Documentation/user/introduction.itely (Automated engraving):
3798 update \applyOutput syntax
3800 * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3801 remove debugging hook.
3803 * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3806 * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3808 * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3809 TEXI2DVI_FLAGS to texi2dvi invocation.
3811 2006-05-24 Erik Sandberg <mandolaerik@gmail.com>
3813 * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3814 works. More work is done by iterator now, and engraver has been
3815 very much simplified.
3817 * lily/translator-group.cc: try_music is now invoked through a
3820 * lily/*-iterator.cc: Massive cleanups. Junked
3821 try_music_in_children globally. Renamed try_music to report_event,
3822 and made that method descend to a bottom context automatically.
3824 * lily/event-iterator.cc: New file.
3826 * lily/output-property-iterator.cc,
3827 lily/old-lyric-combine-music-iterator.cc: Removed.
3829 * python/convert-rules.py: Modified the syntax for \applyOutput.
3831 2006-05-23 Graham Percival <gpermus@gmail.com>
3833 * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3836 * Documentation/user/ various: stuff that might have helped
3837 to fix the pdf creation, plus some minor doc additions.
3839 * Documentation/user/changing-defaults.itely: remove @b from
3840 @b{ @internasref{foo}}; this breaks texi2dvi -E.
3842 2006-05-23 Han-Wen Nienhuys <hanwen@lilypond.org>
3844 * lily/beaming-pattern.cc (beamify): deal with negative start
3845 moments for beaming patterns.
3847 2006-05-22 Han-Wen Nienhuys <hanwen@lilypond.org>
3849 * lily/beaming-info.cc (beamify): new function: read beatLength
3850 and beatGrouping from context.
3852 * input/regression/beam-beat-grouping.ly (Module): new file.
3854 * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3856 * lily/beam.cc (get_beam_segments): generate events for
3857 max_connect_ case too.
3858 (get_beam_segments): read Stem::max-beam-connect.
3860 * input/regression/beam-single-stem.ly: new file.
3862 * lily/stem.cc (set_beaming): use #f as signaling value for
3865 * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3867 * lily/beam.cc (set_beaming): read clip-edges property.
3868 (calc_direction): don't suicide for single stem.
3870 * lily/beaming-info.cc (best_splitpoint_index): take bool*
3871 argument, remove 1<<15 hack. Remove clip_edges()
3873 * lily/hairpin.cc (print): only do padding for nonmusical bounds
3875 2006-05-21 Graham Percival <gpermus@gmail.com>
3877 * Documentation/user/basic-notation.itely: reorg.
3879 * Documentation/user/ various: minor fixes.
3881 2006-05-20 Han-Wen Nienhuys <hanwen@lilypond.org>
3883 * lily/stencil-expression.cc (register_stencil_head): opps, append
3884 to cdr of static SCM object.
3886 2006-05-19 Graham Percival <gpermus@gmail.com>
3888 * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3889 update framework for command index. DOC WRITERS: use @funindex
3890 instead of @cindex @code{}.
3892 * Documentation/user/ various: replace @cindex @code{} => @funindex
3894 2006-05-19 Han-Wen Nienhuys <hanwen@lilypond.org>
3896 * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3897 case positions is set manually.
3899 2006-05-18 Erik Sandberg <mandolaerik@gmail.com>
3901 * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3904 2006-05-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3906 * Documentation/user/changing-defaults.itely (Contexts explained):
3907 use absolute dimension for @image.
3909 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3910 out image for illustration too.
3911 ($(outdir)/%.png): add more png <-> eps rules.
3913 2006-05-17 Graham Percival <gpermus@gmail.com>
3915 * Documentation/user/ various: remove trailing whitespace, cosmetic
3916 change to reduce changes produced by diff.
3918 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3920 * lily/main.cc (do_chroot_jail): correctness tweak.
3922 * python/lilylib.py (system): import subprocess in system () only.
3924 * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3926 * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3927 variable. Backportme.
3929 2006-05-17 Erik Sandberg <mandolaerik@gmail.com>
3931 * lily/parser.yy: Change all syntax rules of type Music to SCM type
3933 2006-05-17 Werner Lemberg <wl@gnu.org>
3935 * lily/lexer.ll (init_signature_has_table): Add
3936 `scm-scm-music-music'.
3938 * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
3939 (Generic_prefix_music_scm): Add rule for it.
3941 * lily/quote-iterator.cc (Quote_iterator::process): Handle
3942 `quoted-transposition' property.
3944 * ly/music-functions-init.ly (transposedCueDuring): New function.
3946 * scm/define-music-properties.scm (all-music-properties): Updated.
3948 * Documenation/topdocs/NEWS.itely: Document it.
3950 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3952 * python/lilylib.py (system): move import subprocess to system()
3955 * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
3957 * VERSION (PATCH_LEVEL): release 2.9.5
3959 * Documentation/topdocs/INSTALL.texi (Top): update versions and
3962 * ly/engraver-init.ly: switch on hairpinToBarline by default.
3964 2006-05-16 Graham Percival <gpermus@gmail.com>
3966 * Documentation/user/basic-notation.itely: editing from Dave, thanks!
3968 * Documentation/user/ various: minor fixes.
3970 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3972 * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
3974 2006-05-16 Mats Bengtsson <mabe@s3.kth.se>
3976 * Documentation/user/advanced-notation.itely (Instrument names):
3977 Modified obsolete instruction on how to move instrument names away
3978 from the staves. Hmm, at second thought the bug probably has been
3979 solved, so the full bug description should probably be removed.
3981 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3983 * lily/dynamic-engraver.cc (typeset_all): hang ending on
3984 currentCommandColumn.
3986 * lily/hairpin.cc (print): also add padding for non-neighbor
3989 * scm/define-context-properties.scm
3990 (all-user-translation-properties): add hairpinToBarline
3992 * input/regression/hairpin-to-barline.ly: new file.
3994 * lily/context.cc (internal_send_stream_event): thinko fix.
3996 * lily/tie.cc (set_default_control_points): robustness fix.
3998 * python/musicxml.py (Part.interpret): don't complain about
3999 incomplete measures.
4001 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
4002 new music if last_event_chord() returned None.
4004 * python/musicxml.py (Part.interpret): skip back over chord notes.
4006 2006-05-16 Erik Sandberg <mandolaerik@gmail.com>
4008 * lily/percent-repeat-engraver.cc, lily/parser.yy,
4009 lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
4010 lily/slash-repeat-engraver.cc,
4011 lily/include/percent-repeat-iterator.hh: Rework percent repeats:
4012 iterator sends PercentEvents
4014 * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
4015 rework tuplets: send start/stop events to engraver
4017 * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
4018 dispatchers event-source and events-below to Context
4020 2006-05-15 Graham Percival <gpermus@gmail.com>
4022 * Documentation/user/README.txt: update info for doc writers.
4024 * Documentation/user/programming-interface.itely: integrate
4025 Nicolas' fixes for chapter rewrite.
4027 * Documentation/user/ various: minor fixes.
4029 2006-05-15 Han-Wen Nienhuys <hanwen@lilypond.org>
4031 * lily/clef-engraver.cc: cleanup.
4033 * Documentation/user/GNUmakefile: dist context-example.eps too.
4035 * lily/key-engraver.cc (create_key): use
4036 explicitKeySignatureVisibility for cancellation too.
4038 * lily/font-config.cc (init_fontconfig): don't close file if
4041 2006-05-15 Erlend Aasland <erlenda@gmail.com>
4043 * Documentation/topdocs/NEWS.tely: niente and rotation news
4045 2006-05-14 Erlend Aasland <erlenda@gmail.com>
4047 * lily/include/stencil.hh
4048 * lily/stencil.cc (rotate): new function. Makes it possible
4049 to rotate a stencil around a given offset.
4051 * lily/grob.cc (get_print_stencil): add rotation support
4053 * lily/stencil-interpret.cc (interpret_stencil_expression):
4054 add rotation support
4056 * lily/stencil-scheme.cc (ly:stencil-rotate): new function
4058 * scm/define-grob-properties.scm: add 'rotation property
4060 * scm/define-markup-commands.scm: add rotate markup command
4062 * scm/output-ps.scm: add rotation support in PostScript backend
4064 * scm/output-svg.scm: add rotation support in SVG backend
4066 2006-05-13 Graham Percival <gpermus@gmail.com>
4068 * Documentation/user/music-glossary.itely: French correction.
4070 * Documentation/user/programming-interface.itely: major
4071 new docs, some reorg, some info from Nicolas.
4073 * Documentation/user/ various: small fixes.
4075 2006-05-12 Mats Bengtsson <mabe@s3.kth.se>
4077 * Documentation/user/programming-interface.itely (Markup
4078 programmer interface): Remove duplicate text.
4080 2006-05-12 Graham Percival <gpermus@gmail.com>
4082 * Documentation/user/context-example.eps: new file.
4084 * Documentation/user/changing-defaults.itely: set up file to
4087 * Documentation/user/programming-interface.itely: changes
4090 2006-05-12 Han-Wen Nienhuys <hanwen@lilypond.org>
4092 * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
4094 2006-05-11 Graham Percival <gpermus@gmail.com>
4096 * Documentation/user/programming-interface.itely: first round of
4097 editing and merging emails from Nicolas.
4099 * Documentation/user/scheme-tutorial: minor edit.
4101 2006-05-11 Han-Wen Nienhuys <hanwen@lilypond.org>
4103 * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
4105 (Xml_node.message): use it.
4107 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice):
4108 oops. Add duration argument.
4110 2006-05-10 Joe Neeman <joeneeman@gmail.com>
4112 * lily/paper-column-engraver.cc (make_columns):
4113 * scm/define-grobs.scm: Revert my previous change and set the default
4114 in define-grobs.scm instead.
4116 2006-05-09 Graham Percival <gpermus@gmail.com>
4118 * Documentation/user/changing-defaults.itely: general editing,
4119 info about \set and \override.
4121 * Documentation/user/tweaking.itely, advanced-notation.itely:
4122 fixes from Dave Luttinen, thanks!
4124 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4126 * lily/paper-column-engraver.cc (make_columns): By default, a column
4127 needs to be breakable.
4129 2006-05-09 Han-Wen Nienhuys <hanwen@lilypond.org>
4131 * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4133 (musicxml_time_to_lily): idem
4134 (musicxml_key_to_lily): idem
4135 (instrument_drumtype_dict): dict for supported drumtypes.
4136 (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4137 moments and pending mm rests
4138 (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4139 (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4140 (musicxml_voice_to_lily_voice): add mode change.
4141 (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4142 speed and less memory usage (factor 5 to 10).
4143 (convert): write -defs.ly and driver file separately so people
4144 can script their own part extraction.
4146 * python/musicxml.py (minidom_demarshal_node): new function:
4147 separate minidom handling.
4148 (lxml_demarshal_node): new function: support lxml.etree too.
4149 (Xml_node.message): new function: verbose error message, with XML
4150 path to offending node.
4151 (Attributes.get_measure_length): sane interface to MusicXML attributes.
4152 (Part_list.generate_id_instrument_dict): new method: collect
4153 instrument names, to be able to set drum_type.
4154 (Part.interpret): handle underfull measures
4155 (Part.interpret): assign instrument names.
4157 * python/musicexp.py (Output_printer.close): new method
4158 (MusicWrapper.print_ly): new class: support other modes,
4160 (BarCheck.print_ly): new class. Support bar checks, with comments
4161 and fancy barchecks.
4162 (NoteEvent.__init__): also set drum_type for drum notes.
4163 (MultiMeasureRest.lisp_expression): dump mm rests.
4165 * lily/paper-column-engraver.cc (stop_translation_timestep): set
4166 line-break-permission if forbidBreak is not set.
4168 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4170 * scm/define-context-properties.scm:
4171 * scm/define-grob-properties.scm:
4172 * scm/define-grobs.scm:
4173 * scm/define-music-display-methods.scm:
4174 * scm/define-music-properties.scm:
4175 * scm/define-music-types.scm:
4176 * scm/music-functions.scm:
4177 * ly/declarations-init.ly:
4178 * lily/include/constrained-breaking.hh:
4180 * lily/spaceable-grob.cc:
4181 * lily/simple-spacer.cc:
4182 * lily/paper-score.cc:
4183 * lily/paper-column.cc:
4184 * lily/paper-column-engraver.cc:
4186 * lily/gourlay-breaking.cc:
4187 * lily/constrained-breaking.cc:
4188 * python/convertrules.py:
4189 Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4190 "page-break-penalty" and "line-break-permission".
4191 Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4192 Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4194 * lily/bar-engraver.cc:
4195 * lily/beam-engraver.cc:
4196 * lily/forbid-break-engraver.cc:
4197 * lily/ligature-engraver.cc:
4198 * lily/paper-column-engraver.cc:
4199 * lily/percent-repeat-engraver.cc:
4200 * lily/score-engraver.cc:
4201 * lily/score-engraver.hh:
4202 * lily/paper-column-engraver.hh:
4203 Inter-engraver communication regarding line breaks is done through context
4204 properties (Score.forbidBreak) instead of function calls.
4206 2006-05-08 Han-Wen Nienhuys <hanwen@lilypond.org>
4208 * VERSION (PACKAGE_NAME): release 2.9.4
4210 2006-05-08 Graham Percival <gpermus@gmail.com>
4212 * Documentation/user/working.itely: proofreading from Dave
4215 * Doucmentation/user/README.txt: updated with manual style info.
4217 * Documentation/user/ various: trim linewidth to 78 chars.
4219 2006-05-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4221 * scm/define-grob-properties.scm (all-internal-grob-properties):
4222 remove chord-tremolo property.
4224 * lily/beam.cc (get_beam_segments): don't use stem position as
4225 base for broken ends.
4227 2006-05-06 Graham Percival <gpermus@gmail.com>
4229 * Documentation/user/putting.itely: proofreading from Dave
4232 * Documentation/user/ various: more reorg and clarifications.
4234 2006-05-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4236 * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4238 * ly/music-functions-init.ly: new function featherDurations
4240 * lily/beam.cc: read grow-direction for feathered beaming.
4242 * Documentation/topdocs/NEWS.tely (Top): typo.
4244 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4246 * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4249 2006-05-05 Erik Sandberg <mandolaerik@gmail.com>
4250 * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4251 used by music streams.
4253 * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4254 lily/stream-event.cc, lily/stream-event-scheme.cc,
4255 lily/listener.cc, lily/scheme-listener.cc,
4256 lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4257 lily/include/stream-event.hh, lily/include/listener.hh,
4258 lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4259 Created data structures for music streams.
4261 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4263 * lily/beam.cc (get_beam_segments): new function. Reorganise the
4264 construction of a beam.
4267 * flower/include/std-vector.hh (default_compare): use only one comparison.
4269 * scm/define-markup-commands.scm (note-by-number): remove debug display.
4270 (note-by-number): further attachment fixes.
4272 * scm/lily-library.scm (ordered-cons): new function.
4273 (interval-index): new function
4275 * lily/note-head-scheme.cc (LY_DEFINE): new file.
4277 * lily/note-head.cc (get_stem_attachment): new function.
4279 * scm/define-markup-commands.scm (note-by-number): read 'style
4282 * input/regression/markup-note.ly: show note-head style option.
4284 * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4287 2006-05-04 Han-Wen Nienhuys <hanwen@lilypond.org>
4289 * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4291 * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4293 * lily/include/constrained-breaking.hh: GCC 4 fix.
4295 2006-05-04 Joe Neeman <joeneeman@gmail.com>
4297 * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4298 Replace it with functions get_line_forces and get_line_configuration.
4299 (class Simple_spacer): Make data private.
4300 Rewrite compression algorithm to be faster and simpler.
4302 * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4303 * lily/gourlay-breaking.cc (solve):
4304 * lily/constrained_breaking.cc (space_line):
4305 Change it to the new simple-spacer code.
4307 * lily/paper-score.cc (get_paper_systems):
4310 Delay breaking the systems until they are requested.
4311 (find_break_indices):
4312 Use vsize for indices.
4314 Move the "Calculating line breaks" message here.
4316 * lily/system.cc (pre_processing):
4317 Move the "Calculating line breaks" message away from here.
4318 (break_into_pieces):
4319 Allow multiple calls to this function in sequence (with touching-but-
4320 not-overlapping breakpoints).
4322 * lily/constrained-breaking.cc:
4323 Replace most of the get_XXXX functions with get_line_details.
4324 Only calculate the force for each line. Calculate configurations only
4325 for the lines we will actually use.
4326 Replace cols_ with lines_.
4328 2006-05-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
4330 * mf/GNUmakefile (depth): remove FC_FIND.
4332 * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4334 * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4336 * scm/framework-ps.scm (write-preamble): new function.
4337 (write-preamble): load mac fonts via fondu, even if gs-font-load
4340 2006-05-03 Werner Lemberg <wl@gnu.org>
4342 * mf/GNUmakefile (FC_FIND): Fix typo.
4344 2006-05-03 Erlend Aasland <erlenda@gmail.com>
4346 * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4348 2006-05-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4350 * stepmake/aclocal.m4: run python-config for crosscompiling
4353 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4354 -f png for HTML, TEXINFO formats.
4356 * input/tutorial/lbook-html-test.html: new file.
4358 * lily/include/tie-formatting-problem.hh (class
4359 Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4360 [column, direction]. This fixes laissez vibrer ties.
4362 * flower/include/tuple.hh (struct Tuple2): new file.
4364 * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4365 $(FCMATCH), only if $(NCSB_DIR) not set.
4367 * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4369 * config.make.in (DOCUMENTATION): set FCMATCH.
4371 * autogen.sh (srcdir): don't set --with-ncsb-dir.
4373 2006-05-03 Graham Percival <gpermus@gmail.com>
4375 * Documentation/user/ various: final round of reorg.
4377 * Documentation/user/instrument-notation.itely: some more
4378 fixes from Eduardo, thanks!
4380 2006-05-02 Han-Wen Nienhuys <hanwen@lilypond.org>
4382 * VERSION (PACKAGE_NAME): release 2.9.3
4384 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4386 * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4388 2006-05-01 Mats Bengtsson <mabe@s3.kth.se>
4390 * scm/define-grob-properties.scm (all-user-grob-properties):
4391 Correct typo, thanks to Eduardo.
4393 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4395 * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4397 * buildscripts/lilypond-words.py (F): indent fix.
4399 * input/regression/tie-arpeggio-collision.ly: new file.
4401 * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4402 function: store outlines per column rank.
4404 * lily/include/tie-configuration.hh (class Tie_configuration): add
4405 column_ranks_ to specification and configuration, to distinguish
4406 between ties for different heads in arpegiated chords.
4408 * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4410 * *.py: more 4 space indents.
4412 * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4414 2006-05-01 Joe Neeman <joeneeman@gmail.com>
4416 * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4418 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4420 * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4422 * scripts/abc2ly.py (dump_score): indent of 4 for python code.
4424 * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4426 2006-04-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
4428 * python/convertrules.py (conv): indent 4 for python files.
4430 2006-04-29 Mats Bengtsson <mabe@s3.kth.se>
4432 * Documentation/user/changing-defaults.itely (Creating contexts):
4433 Clarify \new semantics.
4435 2006-04-28 Graham Percival <gpermus@gmail.com>
4437 * Documentation/user/ various: major new sections in the
4438 Learning manual, slight reorg elsewhere.
4440 2006-04-27 Han-Wen Nienhuys <hanwen@lilypond.org>
4442 * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE)
4444 * scm/framework-ps.scm (output-framework): remove PageMedia
4446 2006-04-27 Graham Percival <gpermus@gmail.com>
4448 * Documentation/user/ tweaks.itely, working.itely: new
4449 files, being more advanced "learning manual" chapters.
4451 * Documentation/user/ tutorial, putting, lilypond: reorg.
4453 2006-04-26 Graham Percival <gpermus@gmail.com>
4455 * input/regression/lyric-combine-polyphonic.ly: fixed test
4456 (no more "can't find context `one'" error).
4458 2006-04-25 Joe Neeman <joeneeman@gmail.com>
4460 * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4462 * input/regression/stem-tremolo.ly: add 2 more whole note examples
4464 2006-04-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
4466 * lily/relocate.cc (read_relocation_dir): new function.
4468 2006-04-26 Graham Percival <gpermus@gmail.com>
4470 * Documentation/user/instrument-notation.itely: a few more fixes
4471 from Eduardo, thanks!
4473 * Documentation/user/README.txt: new file; contains info on
4474 style that used to be in lilypond.tely.
4476 * Documentation/user/ various: first round of doc reorg.
4478 * Documentation/user/baer-flat-bw.png: remove alpha bit from
4479 graphic; this probably causes problems on some pdf
4480 viewers, notably Adobe Acrobat.
4482 2006-04-24 Graham Percival <gpermus@gmail.com>
4484 * Documentation/user/instrument-notation.itely: many alterations
4485 to Vocal music, from Eduardo Viera.
4487 2006-04-23 Graham Percival <gpermus@gmail.com>
4489 * Documentation/user/instrument-notation.itely: fix \new
4490 instead of \context problem.
4492 2006-04-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
4494 * lily/relocate.cc (expand_environment_variables): new function.
4496 (read_relocation_file): id.
4498 * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code
4500 2006-04-21 Erlend Aasland <erlenda@gmail.com>
4502 * ly/engraver-init.ly: remove old comments from TabVoice
4504 2006-04-20 Graham Percival <gpermus@gmail.com>
4506 * Documentation/user/instrument-notation.itely: added Erlend's
4507 latest doc patch, thanks!
4509 2006-04-19 Erlend Aasland <erlenda@gmail.com>
4511 * lily/include/slur.hh:
4513 * lily/phrasing-slur-engraver.cc:
4514 * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4515 acknowledge_extra_object () from Phrasing_slur_engraver:: and
4516 Slur_engraver:: and putting it in
4517 Slur::auxiliary_acknowledge_extra_object ().
4519 * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4521 * lily/note-collision.cc: fix a comment
4523 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4525 * stepmake/bin/add-html-footer.py: fix footer position in
4526 generated html files: before </body> and </html> tags.
4528 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4530 * scripts/GNUmakefile: revert last "fix", which rather broke make.
4531 Earlier successive `make' commands finally compiled ok.
4533 * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4535 2006-04-18 Erlend Aasland <erlenda@gmail.com>
4537 * lily/include/stem-tremolo.hh:
4538 * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4542 * lily/include/lookup.hh: add rotated_box ()
4544 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4546 * scripts/GNUmakefile: bugfix: run help2man only after scripts have
4547 been generated. Fixes "can't get `--help'" bug after make clean.
4549 * THANKS: alphabetize contributors.
4551 2006-04-17 Graham Percival <gpermus@gmail.com>
4553 * Documentation/user/instrument-notation.itely: added Erlend's
4554 tabs and banjo doc patch. Thanks!
4556 2006-04-17 Erlend Aasland <erlenda@gmail.com>
4558 * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4560 * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4562 * scm/output-lib.scm: add some more predefined string tunings.
4564 * Documentation/user/instrument-notation.itely: and doc them.
4566 2006-04-16 Jürgen Reuter <reuter@ipd.uka.de>
4568 * ly/engraver.ly: Remove obsolete comments.
4570 * ly/gregorian-init.ly: Define default layout block.
4572 * input/puer-fragment.ly: Updated and extended.
4574 2006-04-15 Jan Nieuwenhuizen <janneke@gnu.org>
4576 * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4577 pdf conversion behaviour.
4579 * flower/file-name.cc (dir_name)
4580 (get_working_directory): Move from relocate.cc.
4582 * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4584 * lily/relocate.cc: Encapsulate sys/stat.h in
4587 2006-04-14 Graham Percival <gpermus@gmail.com>
4589 * Documentation/user/ various: small updates from Cameron
4590 and Juergen, thanks!
4592 * Documentation/user/ various: small updates of my own.
4594 * THANKS: 2.7 -> 2.8.
4596 2006-04-11 Graham Percival <gpermus@gmail.com>
4598 * scm/define-context-properties.scm: typo.
4600 * Documentation/user/ : many more small updates.
4602 2006-04-13 Jürgen Reuter <reuter@ipd.uka.de>
4604 * scm/define-music-types.scm: disposed "docme".
4606 2006-04-11 Erlend Aasland <erlenda@gmail.com>
4608 * lily/hairpin.cc: make niente circles a bit smaller.
4610 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4612 * mf/GNUmakefile: remove redundant mftrace check. Also remove
4613 get-pfa and get-*-fonts targets.
4615 2006-04-10 Graham Percival <gpermus@gmail.com>
4617 * THANKS, Documentation/user/ basic-notation, advanced-notation,
4618 music-glossary, programming-interface: more minor fixes
4621 * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4623 * scm/define-context-properties.scm: another old \property update.
4624 This time tested for compiling!
4626 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4628 * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4630 2006-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
4632 * scm/define-context-properties.scm (all-user-translation-properties):
4633 * Documentation/user/global.itely (Page formatting): Compile fix.
4635 2006-04-09 Mats Bengtsson <mabe@s3.kth.se>
4637 * Documentation/user/advanced-notation.itely (Polymetric
4638 notation): Update the example to use the "+" symbol and add link
4639 to input/test/compound-time.ly.
4641 2006-04-08 Graham Percival <gpermus@gmail.com>
4643 * scm/define-grob-properties.scm: clarify docs for #'direction.
4645 * scm/define-context-properties.scm: update old \property override.
4647 * Documentation/user/ advanced-notation, global, lilypond-book:
4648 more minor doc updates.
4650 2006-04-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4652 * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4654 * scm/backend-library.scm (search-gs): oops.
4656 2006-04-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4658 * scripts/lilypond-book.py (output): use base, not filename for href.
4660 * scm/backend-library.scm: only look for gs.
4662 * scripts/lilypond-book.py (output): fix printfilename.
4664 * lily/parser.yy (music_function_musicless_prefix): fold together
4665 definitions of signature (SCM*) (Music|post_event|chord_body_element)
4667 * lily/slur.cc (print): only set font-size if not set yet.
4669 * lily/slur-configuration.cc (add_score): improved layout of debug
4672 2006-04-05 David Feuer <David.Feuer@gmail.com>
4674 * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4675 (draw_circle): Hopefully fixed regression.
4676 Improved documentation for several procedures.
4678 2006-03-04 Werner Lemberg <wl@gnu.org>
4680 * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4682 2006-04-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4684 * scripts/musicxml2ly.py (bindir): add dynamic
4687 2006-04-04 Graham Percival <gpermus@gmail.com>
4689 * Documentation/user/ basic-notation, advanced-notation, putting,
4690 instrument-notation, invoking, lilypond, THANKS: another ream of small
4691 fixes from the Doc Helpers.
4693 2006-04-03 David Feuer <David.Feuer@gmail.com>
4695 * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4697 * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4699 * Cleaned up interfaces between PostScript and Scheme, and moved
4700 computations from PostScript to Scheme:
4702 * music-drawing-routines.ps
4703 (*SF, stroke_and_fill): new procedures. Replaced stroke and fill
4704 with stroke_and_fill throughout.
4705 (euclidean_length, print_letter, draw_box): Deleted unused
4706 procedures. If someone needs draw_box, implement it using
4707 draw_round_box; don't duplicate code.
4708 (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4709 Refactored/cleaned up interfaces.
4712 * output-ps.scm: reordered arguments to PostScript functions to
4713 match new interfaces
4714 (glyph-string): Rewrote glyph-string.
4715 (grob-cause): Replaced string-append with format.
4716 (repeat-slash): Rewrote to do computation here.
4717 (round-filled-box): Rewrote to do computation here.
4719 2006-04-04 Erlend Aasland <erlenda@gmail.com>
4721 * stepmake/stepmake/generic-targets.make: add cvs-clean target
4723 * stepmake/stepmake/toplevel- targets.make: print help info about
4726 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4728 * input/regression/hairpin-circled.ly: new file
4730 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4732 * lily/hairpin.cc (print): add support for circled tip
4734 * scm/define-grob-properties.scm: add circled-tip parameter
4736 * scm/define-grobs.scm: init circled-tip to false
4738 2006-04-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4740 * scm/music-functions.scm (quote-substitute): set
4743 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4745 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4748 * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4750 * scm/output-ps.scm (glyph-string): revert cid selectfont.
4752 2006-03-31 David Feuer <david.feuer@gmail.com>
4754 * scm/framework-ps.scm:
4756 * scm/output-ps.scm: glyph-string now produces smaller, more
4757 readable, and probably faster PostScript. Several findfont
4758 scalefont setfont instances changed to selectfont
4759 Hacked-up string-appends changed to formats.
4761 * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4763 2006-03-30 Graham Percival <gpermus@gmail.com>
4765 * scm/lily-library.scm: make "no version" warning message more polite.
4767 * lily/music.cc: add double quotes to failed octave check.
4769 * Documentation/user/ advanced-notation, changing-defaults,
4770 instrument-notation, invoking, music-glossary: whole bunch of minor
4773 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4775 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4776 $(buildscriptdir) iso. depth.
4778 * VERSION (PACKAGE_NAME): release 2.9.1
4780 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4782 * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4784 * VERSION (PATCH_LEVEL): bump version number.
4786 * flower/include/guile-compatibility.hh (scm_from_uint32): add
4789 * lily/pango-font.cc (pango_item_string_stencil): use
4792 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4793 $(outdir)/emmentaler-%.svg): remove canary.
4795 * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4796 glyphnames if we have a ttf font.
4798 2006-03-30 Mats Bengtsson <mabe@s3.kth.se>
4800 * Documentation/user/advanced-notation.itely (Font selection):
4801 Corrected reference to the font-family-override.ly example.
4803 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4805 * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4806 stem-tremolo object in the stem (or else the stem might not be
4809 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4811 * lily/ttf.cc (print_trailer): only print existing glyphs.
4813 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4815 * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4816 position the tremolo based on the position of the notehead.
4818 * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4819 notes and update the texidoc line with the new positioning rules.
4821 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4823 * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4825 * scripts/lilypond-book.py (Module): set default for linewidth if
4828 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4830 * VERSION (PACKAGE_NAME): release 2.9.0.
4832 * input/regression/stem-tremolo-position.ly: new file.
4834 * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4836 2006-03-28 Joe Neeman <joeneeman@gmail.com>
4838 * lily/stem-tremolo.cc (print): position
4839 the tremolo depending only on the end of the stem
4840 and not on the notehead
4841 (raw_stencil): center, on the middle staff line, the
4842 flag that is closest to the end of the stem (previously
4844 (calc_width): add this callback to shorten a tremolo when
4845 it is beamed or it is stemup with a flag
4846 (style): add this callback to make a tremolo rectangular when
4847 it is beamed or it is stemup with a flag
4848 (rotated_box): this is like Lookup::beam but makes a rotated
4849 rectangle instead of a parallelogram
4851 * lily/stem.cc (calc_stem_info): make sure the stem
4852 is long enough to fit the tremolo
4853 (calc-length): reduce the length of tremolo stems since the
4854 tremolo code is now capable of better positioning
4856 * scm/define-grobs.scm: make calc_width the default beam-width
4857 callback for stem-tremolo and add the style callback
4859 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4861 * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4864 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4866 * lily/ttf.cc (make_index_to_charcode_map): restore old
4869 2006-03-28 Werner Lemberg <wl@gnu.org>
4871 * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4873 2006-03-28 Graham Percival <gpermus@gmail.com>
4875 * THANKS: update for 2.9, add section for Documentation helpers.
4877 * Documentation/topdocs/NEWS.tely: compile fix.
4879 * Documentation/user/ basic-notation, global, advanced-notation,
4880 examples.itely: minor fixes from mailist.
4882 2006-03-28 Han-Wen Nienhuys <hanwen@lilypond.org>
4884 * mf/feta-bolletjes.mf: match width of solfa notes with normal
4887 * lily/ttf.cc (print_trailer): use it.
4889 * lily/pango-font.cc (get_unicode_name): new function.
4891 * lily/ttf.cc (make_index_to_charcode_map): move function from
4893 (print_trailer): substitute uniXXXX name if applicable.
4895 * lily/pango-font.cc (get_index_to_charcode_map): new function.
4896 (pango_item_string_stencil): use it to generate uniXXXX names.
4898 * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4899 note heads, for uniform widths in shape note output.
4900 (overdone_heads): hmm. remove them again.
4902 * scripts/lilypond-book.py (output): add links to filenames.
4904 * Documentation/topdocs/INSTALL.texi (Top): update versions.
4906 * lily/note-collision.cc (get_clash_groups): only consider when
4907 Note_column::dir <> CENTER.
4909 * scripts/lilypond-book.py (get_option_parser): init output_name
4912 2006-03-24 Graham Percival <gpermus@gmail.com>
4914 * Documentation/topdocs/NEWS.tely: add @end itemize
4916 * Documentation/user/ global, advanced-notation: minor
4919 2006-03-23 Graham Percival <gpermus@gmail.com>
4921 * Documentation/user/ lilypond.tely, music-glossary,
4922 preface: housekeeping; 2005->2006, remove "notes for 2.6"
4924 2006-03-23 Han-Wen Nienhuys <hanwen@lilypond.org>
4926 * mf/GNUmakefile: don't install .enc files.
4928 * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
4930 * VERSION (PATCH_LEVEL): bump to 2.9.0
4932 2006-03-22 Graham Percival <gpermus@gmail.com>
4934 * Documentation/user/advanced-notation.itely: minor fixes
4937 2006-03-22 Han-Wen Nienhuys <hanwen@lilypond.org>
4939 * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
4941 * branch lilypond_2_8
4943 2006-03-22 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4945 * scripts/lilypond-book.py (samefile): new function, for windoze
4948 2006-03-21 Graham Percival <gpermus@gmail.com>
4950 * ly/engraver-init.ly: add info about StaffGroup.
4952 2006-03-21 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4954 * input/regression/stem-direction-context.ly: idem.
4956 * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
4960 * input/regression/page-layout-twopass.ly: comment out \markup so
4963 * lily/instrument-name-engraver.cc (finalize): add to instrument
4964 name global System. This also fixes chopped instrument names, but
4965 doesn't crash when there are slurs/beams.
4967 * lily/slur-configuration.cc (add_score): disallow negative slur
4970 2006-03-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
4972 * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
4974 * lily/instrument-name-engraver.cc (process_music): kludge: add
4975 InstrumentName spanner to axis group of left bound. Fixes chopped
4976 off instrument names in EPS images.
4978 * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
4980 * scripts/abc2ly.py (option_parser): update to 2.7.40
4982 2006-03-20 Graham Percival <gpermus@gmail.com>
4984 * THANKS: move small doc contributors to SUGGESTIONS.
4986 * Documentation/user/ basic-notation, advanced-notation,
4987 global: small changes from mailist.
4989 2006-03-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
4991 * Documentation/user/advanced-notation.itely (Text marks): update
4992 for new rehearsalMarkAlignSymbol convention.
4994 * VERSION (PATCH_LEVEL): bump version.
4996 * input/test/instrument-name-align.ly: new file.
4998 * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
5000 * input/test/instrument-name-align.ly: new file. Document how to
5001 align instrument names.
5003 * lily/mark-engraver.cc: remove properties.
5005 * scm/define-context-properties.scm
5006 (all-user-translation-properties): remove align symbol properties
5007 for barnumber/reh. mark.
5009 * lily/break-align-interface.cc (self_align_callback): new
5010 interface, new function. Look at complete alignment. This handles
5011 tunable break alignments in case break-align-symbols are missing.
5013 * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
5015 * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
5017 * python/convertrules.py (conv): mark/bar number alignment rule.
5019 * lily/break-align-interface.cc (calc_positioning_done): also
5020 store offset from last visible break-alignment to its
5021 neighbor. This makes alignment on non-visible objects more reliable.
5023 * po/lilypond.pot (Module): ran po-replace.
5025 * input/regression/tie-single-manual.ly (Module): new file.
5027 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
5028 look at has_manual_position_.
5029 (from_ties): set has_manual_position_ if tie has staff-position set.
5031 * lily/tuplet-bracket.cc (calc_positions): idem.
5033 * lily/tuplet-number.cc (print): don't print tupletnumber if it
5036 2006-03-19 Nicolas Sceaux <nicolas.sceaux@free.fr>
5038 * scm/define-markup-commands.scm (smallCaps): new markup command
5039 for turning a text to small caps using smaller font size and upper
5042 2006-03-17 Graham Percival <gpermus@gmail.com>
5044 * Documentation/user/ examples, instrument-notation,
5045 advnaced-notation: minor fixes from mailist.
5047 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5049 * Documentation/user/tutorial.itely (First steps): change example
5052 2006-03-17 Graham Percival <gpermus@gmail.com>
5054 * Documentation/user/ examples, advanced: minor changes from mailist.
5056 * THANKS: add Geoff Horton, for documentation stuff.
5058 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5060 * python/lilylib.py (system): revert have_select kludge.
5062 * Documentation/user/tutorial.itely (Commenting input files):
5063 update version numbers in doc.
5065 * scm/define-grob-interfaces.scm (multi-measure-interface): add
5066 bound-padding to multi-measure-interface
5068 2006-03-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5070 * input/test/engraver-example.ily: update version number.
5072 * VERSION (PACKAGE_NAME): release 2.7.39
5074 * lily/note-spacing.cc (get_spacing): heighten threshold where
5075 accidentals/arpeggios influence previous spacing fully.
5077 * lily/rest.cc (y_offset_callback): only use direction if
5078 staff-position wasn't set before.
5080 * lily/bar-number-engraver.cc: add support for
5081 barNumberAlignSymbol.
5082 add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
5084 * lily/pointer-group-interface.cc (set_ordered): new function.
5085 (add_unordered_grob): new function.
5087 * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
5088 to ordered, unless the opposite has been proved. This fixes
5089 random reordering of large object groups across linebreaks,
5092 * lily/main.cc (do_chroot_jail): printf format fix.
5094 * lily/tie-formatting-problem.cc (generate_configuration):
5095 multiply y-shift for dot with direction.
5097 * scm/define-markup-commands.scm (note-by-number): put (magstep
5098 size) in y-attach too.
5100 * Documentation/topdocs/NEWS.tely (Top): show override.
5102 * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
5103 direction for stems.
5105 2006-03-15 Graham Percival <gpermus@gmail.com>
5107 * Documentation/user/ changing-defaults, global: minor
5110 2006-03-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5112 * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5114 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5115 breakable items after uniformly stretched notes.
5117 * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5118 outline with outer edge of note heads. This prevents infinity
5119 problems with tied whole notes.
5121 * scripts/lilypond-book.py (do_file): use os.popen
5123 * python/convertrules.py (conv): add rule for Stem #'beamed-*
5125 2006-03-14 Erik Sandberg <mandolaerik@gmail.com>
5127 * Documentation/user/invoking.itely: Add ragged-right to bug report
5130 2006-03-14 Graham Percival <gpermus@gmail.com>
5132 * Documentation/user/global.itely: small fix from mailist.
5134 2006-03-14 Mats Bengtsson <mabe@s3.kth.se>
5136 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5137 file descriptor returned by tempfile.mkstemp() when writing
5138 to tmpfile and closing it. Solves problem with unlink(tmpfile)
5141 2006-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
5143 * po/fi.po: newline bugfix.
5145 2006-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
5147 * scm/paper.scm (paper-alist): Rounding fixes.
5149 2006-03-13 Graham Percival <gpermus@gmail.com>
5151 * Documentation/user/ changing-defaults, instrument-notation,
5152 tutorial: small fixes from mailist, mostly from Mats. Thanks!
5154 2006-03-13 Heikki Junes <hjunes@cc.hut.fi>
5158 2006-03-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5160 * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5163 * python/lilylib.py (print_environment): move ps_page_count to
5166 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5168 * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5170 * scm/framework-ps.scm (embed-document): new function. Use to
5173 * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5175 2006-03-12 Mats Bengtsson <mabe@s3.kth.se>
5177 * Documentation/user/instrument-notation.itely (Setting simple
5178 songs): Added \book{...} around the full example, so the separate
5179 markups are included in the printed example.
5181 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5183 * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5186 * python/lilylib.py (system): rewrite system() using
5187 subprocess. Remove >& redirection trickery.
5189 2006-03-11 Graham Percival <gpermus@gmail.com>
5191 * Documentation/user/ changing-defaults, global, scheme-tutorial,
5192 notation-appendices.itely: minor fixes from mailist.
5194 2006-03-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5196 * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5197 unsplit man also needs images.
5199 * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5201 * VERSION (PACKAGE_NAME): 2.7.38 released.
5203 2006-03-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5205 * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5208 2006-03-08 Johannes Schindelin <Johannes.Schindelin@gmx.de>
5210 * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5211 respects the Score.skipTypesetting property.
5213 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5215 * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5216 Prolog. No %%EOF after CFF file.
5218 2006-03-08 Joe Neeman <joeneeman@gmail.com>
5220 * lily/constrained-breaking.cc (get_max_systems): used to return a
5222 (combine_demerits): use pointers to reduce copying data
5223 (calc_subproblem): idem
5224 (get_page_penalty): add page turn penalties
5226 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5228 * Documentation/user/invoking.itely (Invoking lilypond): better
5229 explanation of -e usage.
5231 * lily/main.cc (main_with_guile): don't append to
5232 init_scheme_code_string
5234 * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5236 * Documentation/user/invoking.itely: add note about MacOS X scripts.
5238 * scripts/convert-ly.py (do_options): don't print help for
5241 * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5242 @code and @example. Update from texinfo.tex from CVS.
5244 2006-03-08 Graham Percival <gpermus@gmail.com>
5246 * Documentation/user/scheme-tutorial.itely: clarifies distances
5247 measured in staff-spaces.
5249 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5251 * lily/slur.cc (outside_slur_callback): only calculate offsets if
5252 consider[k] is true.
5254 * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5256 * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5257 consider columns that have originals. Unifies spacing for mm
5258 rests around line breaks.
5260 * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5261 (set_text_rods): idem.
5262 (calculate_spacing_rods): new function: share code between
5263 set_text_rods and set_spacing_rods.
5264 (set_text_rods): take extents of bounds into account.
5266 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5268 * Documentation/user/basic-notation.itely (Writing music in
5269 parallel): don't use relative.
5271 2006-03-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
5273 * ly/music-functions-init.ly (Module): add shiftDurations
5275 * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5277 * scm/paper.scm (paper-alist): no decimals for Ax paper sizes.
5279 * ly/engraver-init.ly: init vocalName to nil.
5281 2006-03-05 Erik Sandberg <mandolaerik@gmail.com>
5283 * scm/music-functions.scm (music->make-music): bugfix,
5284 KeyChangeEvents are now handled correctly.
5286 * scripts/lilypond-book.py: Add --debug option.
5288 2006-03-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
5290 * python/lilylib.py: add tempfile.
5292 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5294 * VERSION (PACKAGE_NAME): release 2.7.37
5296 * python/lilylib.py (ps_page_count): remove make_ps_images().
5297 (ps_page_count): remove mkdir_p
5298 (system): remove cleanup_temp.
5299 (exit): remove lilypond_version_(check)
5300 (error_log): remove pseudo_filter_p
5305 * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5308 * lily/accidental-engraver.cc (make_standard_accidental): only add
5309 support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5311 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5312 $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5313 Make incompatibilities.
5315 * scm/output-ps.scm (grob-cause): replace backslashes by /
5316 (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5318 2006-03-02 Jan Nieuwenhuizen <janneke@gnu.org>
5320 * cygwin/GNUmakefile: Install fixes.
5322 * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5324 * lily/note-head.cc (head::get_balltype): Compile fix.
5326 * flower/file-name.cc (dos_to_posix): Flower string fix.
5328 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5330 * python/lilylib.py: pychecker cleanups.
5332 * scripts/lilypond-book.py
5333 (Lilypond_snippet.output_print_filename): pychecker cleanups
5335 * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5337 * python/lilylib.py (underscore): remove identify() , warranty()
5339 * ps/music-drawing-routines.ps: change Border routine for GSView
5342 * lily/stem.cc (height): use quantize-positions. This triggers
5343 set_stem_lengths, so scripts on beamed stems are handled correctly.
5345 * lily/side-position-interface.cc (aligned_side): check if edges
5346 of script are inside staff. Fixes accent of edge of the staff.
5348 * input/regression/staccato-pos.ly: more examples.
5350 * stepmake/aclocal.m4 (depth): fix bashism.
5352 * lily/lyric-combine-music-iterator.cc: move from
5353 new-lyric-combine-iterator.cc
5354 (process): add pending_grace_lyric_ member to delay lyrics on
5357 * lily/system-start-text.cc (print): suicide if we don't have any
5358 elements. Fixes hara kiri'd instrument names.
5360 * scripts/mup2ly.py (Module): remove.
5362 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5364 * Documentation/user/global.itely (A single music expression):
5365 close @lilypond properly
5367 * lily/volta-bracket.cc (modify_edge_height): change from
5368 after_line_breaking_callback. Suicide last bracket if appropriate.
5370 * python/lilylib.py: strip getopt support
5372 * scripts/etf2ly.py (do_options): use optparse
5374 * scripts/midi2ly.py: optparse, strip lilylib copy.
5376 * scripts/abc2ly.py (voices): use optparse.
5378 * stepmake/stepmake/generic-vars.make: new function absdir.
5380 * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5382 * scripts/lilypond-book.py (find_file): use global_options for
5385 * scm/ps-to-png.scm (ps-page-count): prevent null characters
5388 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5390 * python/lilylib.py (get_global_option): ughness for extracting
5391 global options from lilylib.
5392 (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5394 * scripts/lilypond-book.py (get_option_parser): use optparse for
5395 option handling. Put options in global_options variable.
5397 2006-02-28 Heikki Junes <hjunes@cc.hut.fi>
5399 * Documentation/index.html.in: clarify.
5401 2006-02-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
5403 * scm/layout-page-layout.scm (write-page-breaks): add a
5404 music-system-heights property to the page layout output.
5406 * scm/page.scm (make-page-stencil): take footer into account when
5407 computing the 'space-left page property
5408 (annotate-space-left): take footer into account when annonating
5411 2006-02-28 Graham Percival <gpermus@gmail.com>
5413 * Documentation/user/ advanced-notation, global: more (final)
5414 docs for music expressions, removed special fermatas.
5416 2006-02-27 Graham Percival <gpermus@gmail.com>
5418 * Documentation/user/ basic-notation, global: minor changes
5421 2006-02-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
5423 * scm/framework-ps.scm:
5424 * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5425 layer for inf? and nan? from framework-ps to lily-library.
5427 2006-02-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
5429 * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5430 $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5432 * buildscripts/substitute-encoding.py (Module): remove file.
5434 * mf/GNUmakefile: more PFA strippage.
5436 * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5438 * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5441 * scm/framework-ps.scm: remove font name munging.
5443 * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5445 2006-02-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
5447 * scm/markup.scm (define-markup-command): change
5448 def-markup-command to define-markup-command
5450 * scm/music-functions.scm (define-music-function): change
5451 def-music-function to define-music-function.
5453 * python/convertrules.py (conv): rules for def-music-function
5454 and def-markup-commands
5456 * Documentation/user/programming-interface.itely,
5457 input/no-notation/display-lily-tests.ly,
5458 input/regression/lily-in-scheme.ly,
5459 input/regression/markup-user.ly,
5460 input/regression/music-function.ly, input/regression/tie-chord.ly,
5461 scm/fret-diagrams.scm, ly/music-functions-init.ly,
5462 ly/gregorian-init.ly: use new macro names (define-music-function,
5463 define-markup-command).
5465 2006-02-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
5467 * scripts/lilypond-book.py (main): write Makefile dependencies file.
5468 (output): add comments to lp-book latex output.
5470 * GNUmakefile.in (footifymail): use gmane address for webpage bug
5473 2006-02-23 Graham Percival <gpermus@gmail.com>
5475 * Documentation/user/ tutorial, global: minor changes.
5477 2006-02-23 Nicolas Sceaux <nicolas.sceaux@free.fr>
5479 * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5480 blocks (for make 3.80)
5482 * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5483 \notemode so that user should not have to explicitely type it.
5485 * scm/define-music-display-methods.scm: various
5486 fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5489 * input/no-notation/display-lily-tests.ly: new tests for
5490 \applyOutput and \applyContext
5492 2006-02-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
5494 * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5495 changed it slightly so that the number of systems returned by
5496 solve () will be the same as the last value passed to resize
5497 (). I've also added more documentation, removed casts, fixed style
5498 problems and put in some recovery if constraints aren't satisfied."
5500 2006-02-23 Jan Nieuwenhuizen <janneke@gnu.org>
5502 * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5503 for emacs < 22 compatibility.
5504 (count-rexp): Use it.
5505 (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5506 substring juggling (Milan Zamazal).
5508 2006-02-23 Graham Percival <gpermus@gmail.com>
5510 * Documentation/user/ basic-notation, advanced-notation,
5511 global.itely, invoking.itely, tutorial,itely:
5512 minor fixes from mailist.
5514 * scm/define-markup-commands.scm: improve docs of \filled-box.
5516 2006-02-23 Heikki Junes <hjunes@cc.hut.fi>
5518 * Documentation/index.html.in: changes concern the previous release.
5520 * input/regression/+.ly: cultivate typographical terminology.
5522 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5524 * scm/define-grob-interfaces.scm (parentheses-interface): add
5525 padding to parentheses-interface.
5527 * Documentation/user/GNUmakefile: remove $(CROSS) support from
5528 Documentation/user/GNUmakefile. Use --disable-documentation for that.
5530 * VERSION (PATCH_LEVEL): release 2.7.36
5532 * lily/slur.cc: add avoid-slur (ugh.)
5534 * lily/slur-configuration.cc (fit_factor): oops, skip point if
5535 intersection gets smaller. This fixes slurs over extreme points.
5537 * lily/melody-engraver.cc (stop_translation_timestep): ignore
5538 stems with neutral-direction set.
5540 * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5542 * lily/open-type-font.cc (load_table): format error.
5544 * lily/change-iterator.cc (process): format fix.
5546 * flower/include/international.hh (_f): idem.
5548 * flower/include/std-string.hh: add format printf attribute.
5550 * scm/define-grobs.scm (all-grob-descriptions): height of all
5551 PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5553 * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5556 * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5558 2006-02-22 Erik Sandberg <mandolaerik@gmail.com>
5560 * input/regression/: upgraded syntax for some files.
5562 * THANKS: Add bughunters.
5564 2006-02-22 Graham Percival <gpermus@gmail.com>
5566 * Documentation/user/ invoking.itely, advanced-notation.itely,
5567 global.itely: long-awaited "let's make chapter 10 not suck"
5568 update. Rearrange chapter 10; now called "global issues",
5569 addresses file structure, etc. Some info from other files
5570 moved into global.itely.
5572 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5574 * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5575 catch trill-span-event notes.
5577 * Documentation/user/examples.itely (Ancient notation templates): typo.
5580 * scripts/lilypond-book.py (main): scrap invokes_lilypond().
5582 * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5584 * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5586 * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5588 * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5589 froum Laissez_vibrer_engraver.
5591 * ly/declarations-init.ly (repeatTie): add \repeatTie
5593 * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5595 * scm/define-grob-properties.scm (all-user-grob-properties): add
5596 head-direction property.
5598 * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5599 from_lv_ties. Take head direction argument.
5601 * lily/semi-tie-column.cc: rename from
5602 laissez-vibrer-tie-column.cc. Rename class too.
5604 * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5607 * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5609 * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5611 (find_breaks): idem.
5613 2006-02-21 Graham Percival <gpermus@gmail.com>
5615 * Documentation/user/advanced-notation.itely: fixed make-moment]
5618 * Documentation/user/basic-notation.itely: more clarification to
5621 2006-02-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
5623 * lily/include/constrained-breaking.hh (class
5624 Constrained_breaking): new file.
5626 * lily/constrained-breaking.cc (resize): new file.
5628 * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5630 * Documentation/user/advanced-notation.itely (Clusters): insert
5633 * lily/tie-column.cc (calc_positioning_done): support for
5636 * lily/tie-formatting-problem.cc
5637 (generate_extremal_tie_variations): factor out.
5638 (score_ties_configuration): annotate all tie
5639 (print_ties_configuration): new routine.
5640 (generate_configuration): nudge extremal ties outside of the head
5642 (score_ties_configuration): oops. convert to staff-space before
5643 determining position symmetry.
5645 2006-02-20 Graham Percival <gpermus@gmail.com>
5647 * Documentation/user/*-notation.itely: misc minor editing,
5648 shifting doc sections around.
5650 * Documentation/user/*-notation-itely, global.itely,
5651 changing-defaults.itely: added new stuff from NEWS.
5653 2006-02-20 Heikki Junes <hjunes@cc.hut.fi>
5657 2006-02-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5659 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5660 lilypond --verbose for lp-book.
5662 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5663 $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5665 * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5666 $(buildscript-dir) iso. absolute depth.
5668 * buildscripts/genicon.py (dir): thinko.
5670 * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5672 2006-02-19 Erik Sandberg <mandolaerik@gmail.com>
5674 * scm/output-lib.scm: swap darkcyan/darkyellow
5676 * THANKS: Add bughunters.
5678 2006-02-19 Graham Percival <gpermus@gmail.com>
5680 * Documentation/user/programming-interfaces.itely: fixed example.
5682 * Documentation/user/instrument-notation.itely: fix @{ @}.
5684 * scm/script.scm: add avoid-slur for \open.
5686 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5688 * lily/tie-formatting-problem.cc (score_configuration): use
5689 sliding score for min-length.
5691 * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5692 spaghetti for icons.
5694 * buildscripts/genicon.py (program_name): new file.
5696 * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5698 (generate_configuration): for small ties, also look for collisions
5699 at Y + DIR*h + DELTA_Y.
5700 (get_variations): consider variation for dot positions too.
5702 * lily/side-position-interface.cc (aligned_side): take abs for
5703 quantized rounded position. Fixes tenuto below staff.
5705 * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5706 markers when necessary.
5708 * lily/program-option.cc (internal_set_option): add
5709 strict_infinity_checking option.
5711 * scm/output-lib.scm (cyan): swap yellow and cyan.
5713 2006-02-19 Graham Percival <gpermus@gmail.com>
5715 * darwin.patch: trivial linenumber update.
5717 * Documentation/user/ {various}: `\context foo = named' changed
5718 to `\new foo = "name"' in docs.
5720 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5722 * scm/stencil.scm (annotate-y-interval): use it.
5724 * scm/lily-library.scm (interval-sane?): new function.
5726 * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5729 * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5732 * flower/include/std-vector.hh (iterof): add iterof macro.
5734 * lily/enclosing-bracket.cc (width): new function.
5736 * lily/align-interface.cc (align_elements_to_extents): reinstate
5739 2006-02-18 Heikki Junes <hjunes@cc.hut.fi>
5741 * Documentation/index.html.in: fix spelling: thankyous.
5743 2006-02-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
5745 * lily/lyric-hyphen.cc: typo.
5747 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5749 * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5750 $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5753 * VERSION: release 2.7.35
5755 * lily/beam.cc (get_default_dir): oops. Take abs () for
5757 (get_default_dir): use extreme position criterion only in absence
5758 of forced stem directions.
5760 * VERSION (PATCH_LEVEL): bump VERSION.
5762 * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5763 dependencies. Necessary for -jX builds.
5765 2006-02-17 Jan Nieuwenhuizen <janneke@gnu.org>
5767 * lily/relocate.cc (setup_paths): Yet another const fix.
5769 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5771 * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5773 * lily/relocate.cc (setup_paths): oops.
5775 2006-02-17 Heikki Junes <hjunes@cc.hut.fi>
5777 * Documentation/index.html.in: order links: html before PDF.
5779 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5781 * lily/tie-column-format.cc (Module): remove.
5783 * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5785 * lily/text-spanner.cc (print): idem.
5787 * lily/dynamic-text-spanner.cc (print): only print line if longer
5790 * lily/auto-change-iterator.cc (change_to): formatting.
5792 * lily/beam.cc (get_default_dir): take extreme note head as input
5795 * lily/tie.cc (get_default_dir): only look directions for visible
5798 * lily/side-position-interface.cc (aligned_side): oops. Don't
5799 mutiply with direction. This fixes quantized (staccato, tenuto)
5800 scripts below notes.
5802 * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5803 direction. Fixes c-lyrics-center-align.ly
5805 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5807 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5810 * lily/std-string.cc:
5811 * lily/include/std-vector.hh (split_string): Move and rename from
5812 lily/include/misc.hh, lily/misc.cc. Update callers.
5814 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5816 * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5818 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5820 * flower/test-file.cc: New file.
5822 * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5825 * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5827 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5829 * flower/include/file-storage.hh: remove file.
5831 * lily/include/midi-item.hh (class Midi_track): idem.
5833 * lily/include/source.hh (class Sources): idem.
5835 * lily/include/performance.hh (class Performance): use vector
5838 * flower/include/cons.hh (class Cons): remove file.
5840 * flower/include/flower-proto.hh: remove template cruft.
5842 * lily/include/font-metric.hh: use size_t not vsize for indices.
5844 * flower/include/flower-proto.hh (Module): remove std-vector.hh
5847 * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5849 * lily/include/paper-book.hh (class Paper_book):
5850 make get_system_specs() public.
5852 * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5853 the force=10000 case if we don't have a current-best.
5855 * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5858 * flower/include/flower-proto.hh: remove outdated templates.
5860 * scm/page.scm: use annotate-spacing
5862 2006-02-15 Graham Percival <gpermus@gmail.com>
5864 * scm/translation-functions.scm: circle patch from Erlend, thanks!
5866 * THANKS: moved Erlend Aasland to contributors.
5868 2006-02-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5870 * config.hh.in: remove HAVE_PANGO_16
5872 * lily/tuplet-bracket.cc (calc_positions): multiply with
5873 staff-space for beam case. This fixes tuplets+beams on scaled
5876 * config.hh.in: remove all Kpathsea related defines.
5878 * lily/dot-column.cc (side_position): reach stem via dots->
5879 head->stem. Inspect all stems for dot collisions.
5881 * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5884 * lily/bar-number-engraver.cc (process_music): document function
5887 * lily/score.cc (default_rendering): add pscore, not systems
5890 * lily/paper-book.cc (get_system_specs): separate generation of
5893 * flower/include/std-vector.hh: don't include config.hh
5895 2006-02-15 Jan Nieuwenhuizen <janneke@gnu.org>
5897 * flower/include/std-vector.hh: Better wrapper compatibility with
5900 * flower/include/flower-proto.hh: Remove cheap forward declaration
5903 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5905 2006-02-14 Graham Percival <gpermus@gmail.com>
5907 * Documentation/user/invoking.itely: add warning about command line.
5909 2006-02-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
5911 * lily/include/lily-proto.hh: add Prob, rm Page.
5913 * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5915 * VERSION: release 2.7.34
5917 * lily/relocate.cc (framework_relocation): show canary if
5918 GHOSTSCRIPT_VERSION undefined.
5920 * GNUmakefile.in: remove $(VERSION) symlink.
5922 * lily/relocate.cc (setup_paths): add +
5924 2006-02-13 Heikki Junes <hjunes@cc.hut.fi>
5926 * Documentation/index.html.in: specify sizes for all big HTML pages.
5928 2006-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5930 * config.hh.in: remove @FRAMEWORKDIR@
5932 * lily/system-start-text.cc (get_stencil): new file: separate out
5933 system-start-delimiter text support.
5935 * input/**ly: replace \context with \new where appropriate.
5939 * lily/slur-scoring.cc (get_base_attachments): use
5940 robust_relative_extent. This fixes problems with empty paper-columns.
5942 2006-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5944 * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
5946 * scm/define-music-properties.scm (all-music-properties):
5947 create-new property.
5949 * lily/context-specced-music-iterator.cc (construct_children):
5950 inspect 'create-new property iso. magical $uniqueContextId context
5953 * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
5955 * lily/context-key-manager.cc (Module): new file. Encapsulate
5956 object key generation.
5958 * lily/include/context-key-manager.hh (Module): new file.
5960 2006-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5962 * scm/define-grobs.scm (all-grob-descriptions): center instrument
5965 * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
5967 (reloc_b): excise --enable-framework-dir
5969 * lily/relocate.cc (framework_relocation): use getenv
5970 LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
5972 2006-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
5974 * flower/include/std-string.hh:
5975 * flower/include/std-vector.hh: Finish std:: conversion; move
5976 flower extensions from std:: namespace. Update users.
5978 * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
5979 their expansion to vector<*>. Update users.
5981 2006-02-10 Graham Percival <gpermus@gmail.com>
5983 * Documentation/user/invoking.itely: add example to File structure.
5985 * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
5986 examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
5988 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5990 * ly/paper-defaults.ly: typo.
5992 * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
5993 set_parent() for parentheses. This will make it show up in bbox
5996 * scm/output-lib.scm (parentheses-item::print): rewrite, using
5997 ly:grob-common* functions.
5999 * lily/grob-scheme.cc (LY_DEFINE):
6000 ly:grob-common-refpoint-of-array: new function
6001 ly:grob-common-refpoint: new function
6002 ly:grob-relative-coordinate: new function
6004 * lily/instrument-name-engraver.cc (process_music): use
6005 Text_interface::is_markup(). This fixes \markup on instrument names.
6007 * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
6010 * lily/slur.cc (print): idem.
6012 * lily/tie.cc: add line-thickness for ties.
6014 2006-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
6016 * scm/output-svg.scm: Document diversion from GNU coding standards
6017 as a workaround for a bug in Microsoft Internet Explorer.
6019 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6021 * lily/instrument-name-engraver.cc (process_music): use
6022 is_markup() iso. is_string()
6024 * Documentation/user/changing-defaults.itely (Module): add menu entry.
6026 * lily/percent-repeat-engraver.cc (process_music): only look at
6027 main_part_ for % repeats.
6029 * lily/stem-tremolo.cc (get_beam_translation): new function.
6030 (calc_slope): new function.
6031 (height): don't use real slope.
6033 2006-02-10 Jürgen Reuter <reuter@ipd.uka.de>
6035 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
6036 new connect-to-neighbor, control-points and staff-padding
6037 properties to make ligature brackets showing up again.
6039 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6041 * VERSION: release 2.7.33
6043 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
6046 * Documentation/user/changing-defaults.itely (Difficult tweaks):
6047 remove applyOutput example.
6048 (Objects connected to the input): document \tweak, \parenthesize
6050 * lily/relocate.cc (prefix_relocation): allow "current"
6051 iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
6052 changing VERSION in a lily tree less painful.
6054 * input/regression/parenthesize.ly: new file.
6056 * scm/output-lib.scm (parenthesize-element): new function.
6058 * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
6060 * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
6062 * lily/accidental-engraver.cc (make_standard_accidental): reroute
6063 cause: accidentals are caused by note heads, not note events.
6065 2006-02-08 Graham Percival <gpermus@gmail.com>
6067 * darwin.patch: small patch from Erlend, thanks!
6069 * Documentation/user/basic-notation.itely: add stem-neutral example.
6071 * Documentation/user/putting.itely: clarifications.
6073 2006-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
6075 * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
6076 note, add more guidelines to what should go into NEWS.
6078 * input/sakura-sakura.ly: document how to override font.
6080 * input/regression/font-family-override.ly: doc -dshow-available-fonts
6082 2006-02-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6084 * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
6086 2006-02-08 Jan Nieuwenhuizen <janneke@gnu.org>
6088 * scripts/convert-ly.py (lilypond_version_re_str): Move from
6089 convertrules. Add explicit grouping, needed for python2.2.
6091 2006-02-07 Jan Nieuwenhuizen <janneke@gnu.org>
6093 * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
6095 2006-02-07 Graham Percival <gpermus@gmail.com>
6097 * Documentation/user/global.itely: fix line-width in (text) docs.
6099 * Documentation/user/lilypond-book.itely: same.
6101 2006-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6103 * VERSION (PACKAGE_NAME): release 2.7.32
6105 * Documentation/topdocs/NEWS.tely (Top): document new variable
6108 * flower/include/array.icc (Message): remove file.
6110 * flower/include/std-vector.hh: make sure vsize and VPOS are
6111 defined for binary_search_bounds().
6113 * flower/std-string.cc (std): add to_string(long unsigned).
6115 * configure.in (gui_b): excise std_string option.
6116 (gui_b): excise std_vector option.
6118 * flower/string.cc (Module): excise flower array & string
6120 * flower/include/std-string.hh: excise flower string.
6122 * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6124 * python/convertrules.py (lilypond_version_re_str): require
6125 only numbers and dots in \version string.
6127 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6129 * lily/system-start-delimiter.cc (print): allow style = text too.
6131 * lily/system-start-delimiter-engraver.cc
6132 (acknowledge_system_start_text): new function, also add add to
6133 support of system-start-text (instrument names). This fixes
6134 instrument names on piano staves.
6136 * lily/instrument-name-engraver.cc: rewrite. Use
6137 system-start-delimiter approach. This save memory and cpu.
6139 * scm/define-grobs.scm (all-grob-descriptions): remove
6140 instrument-name from break-alignment.
6142 * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6144 2006-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
6146 * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6149 * configure.in (std_vector): On by default.
6151 * lily/include/font-metric.hh:
6152 * lily/include/tfm-reader.hh:
6153 * lily/include/spanner.hh: Use unsigned for indices and sizes.
6156 * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6158 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6160 * VERSION (PACKAGE_NAME): 2.7.31
6162 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6163 EPS edge at 0, but take minimum with left-overshoot. This fixes
6164 cut off system start delims.
6166 * lily/instrument-name-engraver.cc (stop_translation_timestep):
6167 hack: add to axis group if not added yet. This fixes hara kiri'd
6170 * lily/hara-kiri-group-spanner.cc
6171 (force_hara_kiri_in_y_parent_callback): fix signatures.
6173 * lily/hairpin.cc (print): check next hairpin to see whether or
6174 not to be continuing.
6176 2006-02-04 Jan Nieuwenhuizen <janneke@gnu.org>
6178 * Remove trailing whitespace from makefiles.
6180 * flower/include/std-vector.hh: Add binary_search_bounds workaround
6183 * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft.
6185 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6187 * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6189 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6191 * configure.in: Use it.
6193 2006-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6195 * scm/music-functions.scm (pitch-of-note): new function.
6197 * ly/music-functions-init.ly: add \octave and \addquote
6199 * lily/parser.yy (music_function_chord_body): softcode \octave.
6200 (lilypond_header): softcode \addquote
6202 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6204 * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6205 array.hh, parray.hh at all. Getting ready to flip the
6208 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6210 * lily/source-file.cc (file::get_line): Help binary_search_bounds
6213 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6215 2006-02-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
6217 * flower/include/array.hh: typo.
6219 2006-02-02 Graham Percival <gpermus@gmail.com>
6221 * Documentation/user/advanced-notation.itely: doc "\#" in text.
6223 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6225 * flower/include/pqueue.hh: Derive from std::vector.
6227 * flower/include/parray.hh: Conform to std::vector interface.
6230 2006-02-02 Graham Percival <gpermus@gmail.com>
6232 * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6234 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6236 * flower/file-path.cc (is_file): remove if 0 section.
6238 * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6239 selecting afii61352.
6241 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6243 * flower/include/std-vector.hh (boundary): Oops, reverse.
6245 * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6246 remove superfluous `d'.
6248 * flower/include/std-vector.hh (boundary, top): Detach from class.
6249 Remove empty vector shell.
6251 * flower/include/array.hh (reverse, swap): Detach from class.
6254 * flower/include/std-vector.hh
6255 * flower/include/array.hh (concat): Globally change to insert ().
6257 * flower/include/std-vector.hh
6258 * flower/include/parray.hh
6259 * flower/include/array.hh (elem, elem_ref): Globally replace by
6262 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6264 * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6266 * python/convertrules.py (FatalConversionError.sub_cxx_id):
6267 anticipate on identifier substitutions.
6269 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6271 * flower/include/std-vector.hh (insert): Remove, replace by
6272 std::vector interface. Update callers.
6274 * flower/include/array.icc (insert): Change signature to
6275 match std::vector interface.
6277 * flower/include/array.icc (vector_sort): Bugfix.
6279 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6281 * lily/parser.yy (output_def_head_with_mode_switch): new
6282 production. Result: dashes and underscores may be used in the
6285 * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode.
6287 * python/convertrules.py (conv): oops. One slash too much.
6289 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6291 * flower/include/std-vector.hh (sort): Remove, replace by
6292 ::vector_sort. Update callers.
6294 * flower/include/std-vector.hh (slice): Remove. Update callers.
6297 * flower/test-std.cc (vector_sort): New test.
6299 2006-02-01 Graham Percival <gpermus@gmail.com>
6301 * Documentation/user/putting.itely: fixes from Erik.
6303 2006-02-01 Jan Nieuwenhuizen <janneke@gnu.org>
6305 * flower/test-std.cc: Add simple unit test for vector migration.
6307 * stepmake/stepmake/test*: Unit test support.
6309 * flower/include/std-vector.hh (del): Remove. Use erase (),
6312 * flower/include/array.hh (begin, end): Add.
6315 2006-02-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6317 * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6318 std::string not String.
6320 * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6323 * lily/prob.cc (Prob): copy type_ too.
6325 * lily/lily-guile.cc (mangle_cxx_identifier): new
6326 function. Class_bla::foo_bar_[px] ->
6327 ly:class-bla::foo-bar[?!]. Changes throughout
6329 2006-01-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6331 * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6333 * lily/beam.cc (calc_direction): take dir from visible stem in
6336 2006-01-31 Jan Nieuwenhuizen <janneke@gnu.org>
6338 * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6339 Fix -1, >=0 boundary checks for unsigned vsize.
6341 * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6342 loop for unsigned vsize.
6344 * configure.in (--enable-std-vector): New option.
6345 (--enable-std-string): On by default.
6347 * flower/include/std-vector.hh: New file. Enable switch to
6348 std::vector, update client code.
6350 2006-01-30 Graham Percival <gpermus@gmail.com>
6352 * scm/document-translation.scm: clarify "this context is also
6353 known as". Thanks, Werner!
6355 * Documentation/user/putting.itely: small fixes from Don Blaheta.
6357 * Documentation/user/invoking.itely: small fix from Don.
6359 2006-01-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6361 * scm/lily.scm (define-scheme-options): rename option
6362 preview-include-book-title to book-title-preview
6363 (define-scheme-options): move force-eps-font-include (from paper
6364 block) to eps-font-include -d option.
6366 * VERSION (PATCH_LEVEL): release 2.7.30
6368 * input/bach-schenker.ly (staffPiano): new file.
6370 * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6372 * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6375 * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6377 * ps/lilyponddefs.ps: remove start-system, stop-system,
6378 start-page fluff. This saves putting { } code on the stack, fixing
6379 stack overflows when including EPS files.
6381 2006-01-29 Graham Percival <gpermus@gmail.com>
6383 * Documentation/user/putting.itely: minor fixes (comments on -devel).
6385 2006-01-29 Nicolas Sceaux <nicolas.sceaux@free.fr>
6387 * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6389 2006-01-28 Graham Percival <gpermus@gmail.com>
6391 * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6393 2006-01-28 Jan Nieuwenhuizen <janneke@gnu.org>
6395 * input/mutopia/claop.py: Update.
6397 2006-01-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6399 * input/regression/completion-heads.ly (texidoc): fix.
6401 * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6403 * lily/tie-formatting-problem.cc
6404 (set_ties_config_standard_directions): use abs iso fabs for ints.
6406 * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6408 * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6409 little less than noteheight, to prevent overlaps in chords.
6411 * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6412 head, and fudge stem-attachment.
6414 * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6416 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6418 2006-01-27 Jan Nieuwenhuizen <janneke@gnu.org>
6420 * lily/main.cc (main): Debugging aid: catch exceptions.
6422 * flower/std-string.cc (to_string): Robustification. Fixes midi
6423 output with std::string.
6425 2006-01-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6427 * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6429 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6431 * Fix -DSTRING_UTILS_INLINED.
6433 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6435 * VERSION (PATCH_LEVEL): release 2.7.29
6437 * lily/relocate.cc (setup_paths): mingw uses std string too.
6439 * lily/*.cc: various fixes for substr(ARG).
6441 * lily/sustain-pedal.cc (print):
6443 * flower/file-name.cc (slashify): use std strings.
6445 * flower/string-convert.cc: remove publib.h
6447 * scm/define-markup-commands.scm (verbatim-file): new markup
6448 command \verbatim-file
6450 * Documentation/topdocs/NEWS.tely: fixup URLs
6452 * input/regression/alignment-vertical-manual-setting.ly (Module):
6455 * lily/align-interface.cc (align_elements_to_extents): overwrite
6456 translations with numbers in alignment-offsets from left bound
6458 * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6459 (page-translate-systems): new function: take into account Y-offset.
6461 * Documentation/topdocs/NEWS.tely (Top): document new features.
6463 * input/regression/page-layout-manual-position.ly (Module): new
6466 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6468 * flower/file-path.cc (path::parse_path): Oops.
6470 * Finish std::string interface. For now, use std:: marker
6471 throughout for easy s/r.
6473 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6475 * Documentation/user/putting.itely (Score is a single musical
6477 (Score is a single musical expression): more typos.
6479 * scm/page.scm (annotate-space-left): thinko.
6480 (annotate-page): more thinkos.
6482 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6484 * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6485 for different \score blocks separately.
6486 (post-process-pages): put write-page-layout into paper block.
6488 * lily/output-def.cc (get_parser): new file.
6490 * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6493 * lily/include/output-def.hh (class Output_def): add parser_ member.
6495 * input/regression/page-layout-twopass.ly (Module): new file.
6497 * scm/lily.scm: remove cpp hack.
6499 * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6501 2006-01-25 Jan Nieuwenhuizen <janneke@gnu.org>
6503 * GNUmakefile.in (c-clean): New target.
6505 * flower/include/std-string.hh: String/std::string compatibility:
6506 Use NPOS for `not found' (iso -1), use ssize for length () and pos
6509 * flower/rational.cc:
6510 * flower/include/rational.hh:
6513 * flower/include/offset.hh:
6515 * flower/interval.cc:
6516 * flower/include/interval.hh:
6518 * flower/string-convert.cc:
6519 * flower/include/string-convert.hh: Use std::string [interface].
6522 2006-01-25 Heikki Junes <hjunes@cc.hut.fi>
6524 * Documentation/index.html.in: clean up.
6526 2006-01-25 Graham Percival <gpermus@gmail.com>
6528 * Documentation/user/putting.itely: another new untested doc section.
6530 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6532 * scm/layout-page-layout.scm (write-page-breaks): write
6533 \spacingTweaks #ALIST. Handle grace timing.
6535 * scm/: more imports.
6537 * scm/page.scm (make-page): add footer/header.
6538 (annotate-space-left): revise: only take page argument.
6539 (layout->page-init): new function.
6541 * scm/layout-page-layout.scm (write-page-breaks): preliminary
6542 version of the system/spacing/linebreak hack writing to the output
6544 * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6547 * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6550 2006-01-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
6552 * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6554 * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6556 * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6557 handling to page.scm
6559 * lily/prob-scheme.cc (LY_DEFINE): new file.
6560 (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6562 * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6565 * lily/music.cc (derived_mark): derive Music from Prob.
6567 * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6569 * lily/prob.cc (Module): Implement Prob (Property Object), object
6570 with shared and r/w property alists.
6572 * lily/include/prob.hh (Module): new file. Declare Prob.
6574 * flower/string.cc: remove is_empty().
6576 * flower/include/string.hh (class String): remove String:: qualifier.
6578 * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6579 substitute appropriate functions.
6581 * flower/include/string.hh (class String): remove to_str0 and
6582 is_empty(). S&R everywhere.
6584 2006-01-23 Graham Percival <gpermus@gmail.com>
6586 * Documentation/user/basic-notation.itely: add hairpin
6587 after-linebreak tweak to commonprop.
6589 * Documentation/user/putting.itely: added two new sections.
6591 2006-01-23 Jan Nieuwenhuizen <janneke@gnu.org>
6593 * flower/international.cc:
6594 * flower/include/international.hh:
6596 * flower/getopt-long.cc:
6597 * flower/include/getopt-long.hh: Use std::string [interface].
6600 * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6602 * stepmake/stepmake/executable-rules.make: Add dependency on
6605 2006-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
6607 * flower/file-path.cc:
6608 * flower/include/file-path.hh: Use std::string [interface].
6611 * flower/direction.cc:
6612 * flower/axis.cc: Unused. Remove.
6614 * configure.in (--enable-std-string): New option.
6616 * flower/std-string.cc:
6617 * flower/include/std-string.hh: New file.
6619 * flower/file-name.cc[STD_STRING]:
6620 * flower/include/file-name.hh[STD_STRING]: Use it. Update callers.
6622 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6624 * scm/output-svg.scm (placebox): no GNU coding standards in SVG output.
6626 * scm/define-markup-commands.scm (with-dimensions):
6627 with-dimensions markup command.
6629 * input/test/font-table.ly: use it.
6631 * lily/open-type-font.cc (glyph_list): new function.
6633 * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6635 * lily/ttf.cc: remove ly:font-glyph-list scheme function
6637 2006-01-22 Nicolas Sceaux <nicolas.sceaux@free.fr>
6639 * ly/music-functions-init.ly (parallelMusic): new music function
6640 for parallel music entry.
6642 * scm/define-music-properties.scm (all-music-properties): new
6643 'void music property
6645 * scm/music-functions.scm (ly:music-message): make public, to be
6646 used in music function definitions
6648 * scm/lily-library.scm (collect-music-for-book): discard music
6649 when the 'void property is set.
6651 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6653 * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6655 * mf/GNUmakefile: idem.
6657 * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6659 * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6661 * Documentation/user/notation-appendices.itely (The Feta font):
6664 * input/test/font-table.ly: new file. Generate font table within lily.
6666 * Documentation/user/notation-appendices.itely (The Feta font):
6667 use new font-table.ly file.
6669 * stepmake/stepmake/install-out-targets.make
6670 (local-install-outfiles): only create directory if
6671 $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6673 2006-01-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6675 * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6677 * VERSION (PACKAGE_NAME): release 2.7.28
6679 * scm/framework-ps.scm (write-preamble): use it to pick exactly
6680 the right font from a Mac dfont.
6681 (write-preamble): don't forget directory, only look at files.
6683 This fixes problems with TTF files in dfonts that don't match
6684 their PostScript names.
6686 * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6687 PS name from TTF font.
6689 * input/regression/tie-manual.ly: document new feature.
6691 * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6693 * VERSION (MY_PATCH_LEVEL): bump to .28
6695 * Documentation/user/basic-notation.itely (Ties): add tie examples
6698 * lily/tie-formatting-problem.cc (score_ties_configuration):
6699 symmetry penalties for outer ties.
6701 2006-01-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
6703 * lily/tie-formatting-problem.cc (generate_configuration)
6704 (set_manual_tie_configuration): skip non-pair manual
6705 tie-configuration, so you can set individual ties as
6707 #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6709 * input/regression/tie-chord.ly: use generateTiePattern to
6712 * lily/tie-formatting-problem.cc (peak_around): new function.
6713 (score_configuration): use sliding criterion for staff line collisions.
6714 (score_configuration): idem for dot collisions.
6715 (generate_configuration): use separate stem_gap for gap to stem.
6717 * lily/include/tie-formatting-problem.hh (struct Tie_details):
6718 separate penalty factors for x and y distance.
6719 (struct Tie_details): separate penalties for tip and center line collisions.
6721 2006-01-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6723 * lily/tie-formatting-problem.cc (generate_configuration): make
6724 large ties avoid stafflines in the horizontal section.
6725 (score_configuration): use softcoded penalties
6726 (score_aptitude): idem.
6728 * lily/tie-helper.cc (from_grob): softcode tie details
6730 * lily/staff-symbol-referencer.cc (on_staff_line): new function
6732 * lily/staff-symbol-referencer.cc (on_line): rename from
6735 2006-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
6737 * ly/music-functions-init.ly: remove duplicate tag.
6739 * lily/include/*.hh: GCC 4.1 fixes.
6741 006-01-16 Erlend Aasland <erlenda@gmail.com>
6743 * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6745 * scm/define-music-types.scm: fix bug in desc. string
6746 for OverrideProperty
6748 2006-01-15 Erik Sandberg <mandolaerik@gmail.com>
6750 * scripts/lilypond-book.py: bugfix
6752 * scm/define-music-types.scm: fix typos.
6754 2006-01-14 Graham Percival <gpermus@gmail.com>
6756 * Documentation/user/ basic-notation.itely, global.itely,
6757 advanced-notation.itely, instrument-notation.itely: small
6758 additions (bugs and commonly tweaked properties).
6760 2006-01-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
6762 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6763 detection of mingw build.
6764 (MINGW_BUILD): opps.
6766 2006-01-12 Jan Nieuwenhuizen <janneke@gnu.org>
6768 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6771 2006-01-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
6773 * scm/music-functions.scm (skip->rest): add skip->rest
6775 2006-01-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
6777 * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6780 * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6781 config dirs. Aids debugging.
6782 (display_config): also display config files.
6784 2006-01-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6786 * VERSION: release 2.7.27
6788 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6789 for determining bar size.
6791 * lily/staff-symbol.cc (print): place lines at distance line-positions
6793 * scm/define-grob-properties.scm (all-user-grob-properties): add
6796 * lily/staff-symbol.cc (height): new function.
6798 * input/regression/staff-line-positions.ly: new file.
6800 2006-01-06 Graham Percival <gpermus@gmail.com>
6802 * input/test/add-staccato.ly: remove reference to old file.
6804 2006-01-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6806 * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6807 lilypond binary too.
6809 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6811 * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6813 2006-01-06 Jan Nieuwenhuizen <janneke@gnu.org>
6815 * scripts/midi2ly.py: Bugfix: Declare datadir.
6817 * make/ly-rules.make:
6818 * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6819 that seems to be gone). Fixes make web.
6821 * The grand 2005-2006 replace.
6823 * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6825 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6827 * make/lilypond-vars.make: set LILYPOND_BINARY variable
6828 (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6829 LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6830 like -dgs-font-load.
6832 * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6833 remove absolute path to lilypond binary.
6835 2006-01-05 Pedro Kroeger <kroeger@pedrokroeger.net>
6837 * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6839 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6841 * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6843 * mf/GNUmakefile: remove broken dvips map symlink.
6845 2006-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
6848 * configure.in: Cosmetic fixes.
6850 2006-01-04 Mats Bengtsson <mabe@s3.kth.se>
6852 * Documentation/user/music-glossary.tely (Pitch names): Added
6853 Spanish pitch names and durations, thanks to Ernesto Gancedo
6855 2006-01-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6857 * scm/lily.scm (define-scheme-options): use quasi-quote for option
6858 init. Fixes verbose printing of .scm files.
6860 * stepmake/aclocal.m4: add spaces before - options.
6862 2006-01-03 Jan Nieuwenhuizen <janneke@gnu.org>
6864 * lily/relocate.cc (setup_paths): Bugfix: do not store result
6865 of path search in local block variable.
6867 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6869 * configure.in (NCSB_DIR): --enable-ncsb-dir
6870 (LINK_GXX_STATICALLY): denko.
6872 * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH.
6874 * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option.
6875 use locate to find c059033l.pfb.
6877 2006-01-02 Jan Nieuwenhuizen <janneke@gnu.org>
6879 * lily/tie-formatting-problem.cc
6880 (problem::generate_base_chord_configuration): Use my_round (was
6883 * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6884 do not invoke mbrtowc.
6886 * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6888 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6890 * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6892 2005-01-02 Heikki Junes <hjunes@cc.hut.fi>
6894 * Documentation/user/invoking.itely (svg): revise.
6896 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6898 * lily/lexer.ll: use sourcefilename iso. renameinput.
6900 2006-01-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6902 * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6903 <PostScriptName>.ttf instead of c059XXXttf.
6905 * lily/program-option.cc (LY_DEFINE): special support for
6906 --verbose, so it works before option init too.
6908 * mf/GNUmakefile (local-install): oops.
6910 * lily/lyric-hyphen.cc (print): oops.
6912 * buildscripts/pfx2ttf.fontforge: new file.
6914 * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6915 ($(outdir)/%.ttf): new rule.
6917 * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6920 * lily/lyric-hyphen.cc (print): multiply hyphen height by
6923 2005-12-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6925 * VERSION: release 2.7.26
6927 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6929 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6931 * lily/font-config.cc (init_fontconfig): verbosity.
6933 * THANKS: add Muziekacademie Lede.
6935 * scripts/musicxml2ly.py (print_voice_definitions): new function
6936 (print_score_setup): new function
6937 (convert): read part definition to output staves properly.
6939 * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
6942 * python/musicexp.py (Output_printer.__init__): use _ in data
6944 (Output_printer.unformatted_output): new function: no formatting,
6946 (Duration.get_length): remove isinstance() checks for
6947 Output_printer everywhere.
6949 * input/regression/lyrics-bar.ly (texidoc): add
6950 Separating_line_group_engraver.
6952 2005-12-29 Jan Nieuwenhuizen <janneke@gnu.org>
6954 * lily/relocate.cc (framework_relocation): New function,
6955 factored from set_relocation ().
6956 (prefix_relocation): Rename from set_relocation ().
6957 (setup_paths): Use it.
6959 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6961 * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
6962 numbers. Patch by Erlend Aasland.
6964 2005-12-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
6966 * lily/font-config.cc (init_fontconfig): print warning if cache
6967 file is not existant.
6969 * lily/main.cc: don't use #ifdef but #if
6971 2005-12-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6973 * lily/grob-property.cc (internal_set_property): don't abort on
6974 calculation-in-progress.
6976 * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
6978 * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
6979 connect-to-neighbor property not connect-to-other
6981 * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
6982 (LY_DEFINE): oops. don't forget protection.
6984 * flower/parse-afm.cc (Module): strip AFM handling completely.
6986 * lily/stencil-expression.cc: idem.
6988 * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
6990 * lily/function-documentation.cc (ly_add_function_documentation):
6991 use static member iso. Protected_scm
6993 * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
6995 * config.make.in (prefix): remove HAVE_KPATHSEA_SO
6997 2005-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
6999 * lily/relocate.cc (set_env_dir): New function.
7000 (set_relocation): Use it to fix setting PANGO_PREFIX.
7002 2005-12-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7004 * input/regression/stem-direction-context.ly: remove rest.
7006 * lily/melody-engraver.cc (process_music): restart for bar lines.
7007 (acknowledge_slur): restart for slurs.
7009 2005-12-27 Heikki Junes <hjunes@cc.hut.fi>
7011 * Documentation/user/invoking.itely: describe how to view SVG
7012 output using Inkscape which replace embedded fonts with OTF fonts.
7014 2005-12-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7016 * lily/relocate.cc (set_relocation): set PANGO_PREFIX
7018 2005-12-23 Jan Nieuwenhuizen <janneke@gnu.org>
7020 * lily/melody-engraver.cc (class Melody_engraver): Remove lying
7023 2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7025 * VERSION (PACKAGE_NAME): release 2.7.25
7027 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7029 * input/regression/stem-direction-context.ly: new file.
7031 * lily/relocate.cc (set_relocation): add PANGO_PREFIX
7033 * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
7036 * ly/engraver-init.ly: add Melody_engraver
7038 * lily/beam.cc (calc_direction): use default-direction
7039 iso. get_default_direction()
7041 * scm/define-grob-properties.scm (all-user-grob-properties): add
7042 default-direction property.
7044 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
7046 * lily/stem.cc (calc_default_direction): remove
7047 Stem::get_default_direction, use default-direction with callback
7050 * lily/melody-spanner.cc (calc_neutral_stem_direction):
7052 * lily/melody-engraver.cc: new file. Acknowledge stems for
7053 interpolated stem directions.
7055 * lily/melody-spanner.cc: new file. Interpolate stem directions.
7057 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
7059 * lily/slur-configuration.cc (fit_factor): more robust check for
7060 point in curve X-extent.
7062 * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
7063 (outside_slur_callback): check for 'outside avoidance.
7065 * lily/slur-configuration.cc (score_extra_encompass): don't use
7066 bound->column() == avoid->column() for checking extents, as this
7067 doesn't work for accidentals.
7069 * lily/slur-engraver.cc (acknowledge_extra_object): remove
7070 DynamicText hardcoding.
7072 * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
7073 crash if bound stem is NULL
7075 * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
7078 2005-12-22 Graham Percival <gpermus@gmail.com>
7080 * scm/define-markup-commands.scm: typo. @code{\raise}
7083 * darwin.patch: now used again, includes a
7084 required patch from fink.
7086 2005-12-21 Heikki Junes <hjunes@cc.hut.fi>
7088 * po/TODO: mention gtranslator along with kbabel.
7089 * po/fi.po: update translations.
7091 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7093 * lily/relocate.cc (setup_paths): Bugfix.
7095 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7097 * lily/slur-configuration.cc (score_extra_encompass): don't use
7098 "avoid" choice for avoid-slur.
7100 * stepmake/bin/install.py (dest): don't create existing dir.
7102 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7104 * stepmake/bin/install.py: Remove file before copying.
7107 * stepmake/aclocal.m4: Do not substitute INSTALL.
7109 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7111 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7112 depend on link-tree.
7114 * lily/relocate.cc (setup_paths): only check path for non-absolute
7115 dir without directory part.
7117 * flower/file-name.cc (is_absolute): new method.
7118 (is_absolute): check root_ too.
7120 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7122 * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7123 relocation code. Oops, don't comment out too much.
7125 * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7128 * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw
7131 2005-12-20 Jan Nieuwenhuizen <janneke@gnu.org>
7133 * .cvsignore: Add install-sh.
7135 * autogen.sh (srcdir): Typo.
7137 2005-12-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
7139 * autogen.sh (srcdir): urg. Touch install-sh.
7141 * stepmake/bin/install-sh (Module): remove.
7143 * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7145 * lily/include/relocate.hh: new file.
7147 * lily/relocate.cc: new file. Contain relocation logic.
7149 * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7150 (main): read LILYPOND_VERBOSE as the first thing.
7152 * stepmake/aclocal.m4: remove INSTALL variable.
7154 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7155 separate target for making font symlinks.
7156 (documentation-dir): use $(if $(findstring )) for switching off
7159 * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7160 something if DOCUMENTATION is no.
7162 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7164 * VERSION: release 2.7.24
7166 * lily/script-column-engraver.cc (stop_translation_timestep):
7167 delay adding to script-column.
7169 * lily/tuplet-bracket.cc (print): suicide if no control-points.
7171 * python/convertrules.py (conv): rule for number-visibility
7173 * lily/slur-configuration.cc (score_extra_encompass): different
7174 distance measure for avoid and inside avoidance.
7175 (score_extra_encompass): use 1/(distance+eps) as penalty.
7177 * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7178 encompass objects for generating slur curves.
7180 * lily/slur.cc: use details iso. slur-details property.
7182 * input/regression/slur-tuplet.ly: new file.
7184 * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.
7186 * flower/include/offset.hh (class Offset): new operator /=
7188 * lily/tuplet-number.cc (print): new file, new interface.
7190 * scm/define-grob-properties.scm (all-user-grob-properties):
7191 remove number-visibility property.
7193 * lily/tuplet-bracket.cc (calc_control_points): new function
7194 (calc_connect_to_neighbors): new function.
7195 (print): remove text handling for tuplet numberdef.
7197 * lily/tuplet-engraver.cc (struct Tuplet_description): create
7200 * lily/lily-guile.cc (robust_scm2booldrul): new function
7202 * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7204 * lily/tuplet-bracket.cc (calc_position_and_height): use
7205 staff-padding to control whether tuplet brackets are over staves.
7207 * lily/grob.cc (suicide): clear dim_caches_.
7209 * lily/dimension-cache.cc (clear): new function.
7211 * lily/grob.cc (extent): swap order of min-extent and extent
7212 calculations. This fixes hara kiri staves.
7214 2005-12-19 Jan Nieuwenhuizen <janneke@gnu.org>
7216 * lily/main.cc: Nitpick: relocation is not based on path, but on
7217 directory (location).
7219 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7221 * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7223 * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7225 * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7227 * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7229 * stepmake/stepmake/generic-vars.make (Module): idem.
7231 * stepmake/stepmake/executable-targets.make (default): use it.
7233 * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7235 * make/GNUmakefile: don't install make rules.
7237 * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7239 (prepend_env_path): more verbosity.
7241 2005-12-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7243 * GNUmakefile.in: add dir argument for find command.
7245 * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7246 fixes weird line numbers for point & click.
7248 * lily/source-file.cc (get_counts): init line/column/char counts.
7250 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7252 * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7254 2005-12-16 Graham Percival <gpermus@gmail.com>
7256 * Documentation/user/basic-notation.itely, advanced-notation.itely:
7257 minor fixes from Fredric. Thanks!
7259 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7261 * ly/music-functions-init.ly: add \bar and \clef music function
7263 * lily/lily-lexer.cc: idem.
7265 * lily/parser.yy (FIXME): remove BAR and CLEF.
7267 2005-12-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7269 * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7271 * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7272 function arguments too
7274 * lily/main.cc (set_relocation): new function.
7276 * scripts/musicxml2ly.py (convert): add \version
7278 * lily/tie.cc: remove get_default_attachments()
7280 * VERSION (PACKAGE_NAME): release 2.7.23
7282 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7283 ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7285 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7287 * lily/tie-formatting-problem.cc (score_ties): new function
7288 (get_variations): new function. Try flipping dirs for collisions.
7289 (generate_optimal_chord_configuration): new function. 1-opt search
7290 for better configuration.
7292 * lily/tie-configuration.cc: new file.
7294 * lily/tie.cc: junk Tie::get_configuration()
7296 * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7297 (score_ties_configuration): new function.
7298 (generate_ties_configuration): new function.
7299 (generate_base_chord_configuration): new function.
7300 (set_ties_config_standard_directions): Move body from tie-column-format.cc
7301 (set_manual_tie_configuration): Move body from tie-column-format.cc
7303 * input/regression/tie-dot.ly: new file.
7305 * lily/tie-formatting-problem.cc (score_configuration): score
7308 * lily/tie-helper.cc (get_transformed_bezier): new function
7310 * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7312 * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7313 -undefined suppress iso. -framework Python
7315 * scm/define-grobs.scm (all-grob-descriptions): set
7316 springs-and-rods (thanks Joe Neeman!)
7318 2005-12-12 Nicolas Sceaux <nicolas.sceaux@free.fr>
7320 * input/no-notation/display-lily-tests.ly (test):
7321 * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7322 changed from \tag #'(a b) to \tag #'a \tag #'b
7324 2005-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7326 * Documentation/topdocs/NEWS.tely: strip out-www.
7328 * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7330 * config.make.in (AR): add AR and RANLIB
7332 * flower/libc-extension.cc: include cassert
7334 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7337 2005-12-11 Graham Percival <gpermus@gmail.com>
7339 * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7341 * stepmake/stepmake/python-modules-vars.make: define
7342 SHARED_FLAGS for OSX. Thanks Johannes Schindelin!
7344 * THANKS: added Johannes Schindelin.
7346 2005-12-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7348 * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7350 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7351 Span_arpeggio_engraver, add Tweak_engraver to Score context.
7353 * lily/parser.yy: reorganize file layout.
7355 * ly/music-functions-init.ly: add tweak music function.
7357 * lily/grob-info.cc (ultimate_music_cause): new function:
7358 recursively lookup causes.
7360 * lily/parser.yy (chord_body_element): allow music functions for
7361 post-events, allow music functions for chord elements.
7363 * lily/font-config-scheme.cc (display_fontset): add cast.
7365 * python/convertrules.py (FatalConversionError.sub_syms): \tag
7366 #'(a b) -> \tag #'a \tag #'b rule.
7368 * python/musicexp.py (Output_printer.dump_version): new function
7370 2005-12-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7372 * lily/parser.yy (FIXME): remove \tag
7373 (FIXME): remove tag_music() function.
7375 * lily/lily-lexer.cc: remove \tag
7377 * ly/music-functions-init.ly: define music-function "tag"
7379 * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7381 2005-12-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7383 * VERSION (PATCH_LEVEL): release 2.7.22
7385 * input/regression/lyric-hyphen-retain.ly: renew.
7387 * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7390 * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7391 iso. minimum-length property for rods.
7393 * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7394 LyricSpace item to keep lyrics spaced apart.
7396 * ly/engraver-init.ly: remove Separating_line_group_engraver
7398 * Documentation/user/music-glossary.tely: do setfilename before
7401 2005-12-07 Heikki Junes <hjunes@cc.hut.fi>
7403 * Documentation/user/lilypond-book.itely: use `,´ after xref:
7404 See xref documentation, for example.
7406 2005-12-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
7408 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7409 pending_skip iso. ly_voice[-1]
7410 (main): add if __main__ for debugging.
7412 * python/musicxml.py (Accidental.__init__): new class.
7414 * scripts/musicxml2ly.py (progress): new function
7415 (musicxml_key_to_lily): don't barf on modeless keys.
7416 (create_skip_music): new function.
7417 (musicxml_spanner_to_lily_event): new function. Handle beams too.
7418 (musicxml_note_to_lily_main_event): new function.
7420 * python/musicexp.py (Music.__init__): add comment field.
7421 (NestedMusic.append): new routine.
7422 (SequentialMusic.print_ly): print comment.
7423 (ArpeggioEvent.ly_expression): new class
7424 (BeamEvent.ly_expression): new class
7425 (NoteEvent.__init__): support for cautionary/forced accs.
7427 * lily/lookup.cc (slur): normal order for array loop.
7429 * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7432 * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7435 2005-12-06 Erik Sandberg <mandolaerik@gmail.com>
7437 * scm/music-functions.scm: Make phrasing slurs follow voice direction
7439 * scripts/lilypond-book.py: Introduce option
7440 --preserve-line-breaks, for usage with srcltx
7442 2005-12-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7444 * scm/output-lib.scm (print-circled-text-callback): draw circle
7445 around text using make-circle-markup.
7447 * Documentation/user/*: strip out-www from file names.
7449 2005-12-05 Heikki Junes <hjunes@cc.hut.fi>
7451 * Documentation/user/lilypond.tely (direntry): remove empty lines;
7452 fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7454 2005-12-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
7456 * Documentation/user/GNUmakefile: idem.
7458 * Documentation/user/macros.itexi: strip out-www
7460 * python/rational.py: python 2.3 compat.
7462 * VERSION (PATCH_LEVEL): release 2.7.21
7464 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7465 option formatting, lilypond style.
7467 * python/musicexp.py: grab from Ikebana: a library for composing
7468 ly music expressions.
7469 (Output_printer): class for advanced .ly printing.
7472 * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7473 convert to pythonesque structure.
7475 * python/rational.py: PD rational number class.
7477 * Documentation/user/converters.itely (Invoking musicxml2ly): new node.
7479 2005-12-04 Erik Sandberg <mandolaerik@gmail.com>
7481 * lily/part-combine-iterator.cc: Minor bugfix
7483 * THANKS: Update bughunters
7485 2005-12-02 Werner Lemberg <wl@gnu.org>
7487 * mf/README: Document process for proper mf2pt1 conversion.
7489 * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7492 * mf/feta-harmonica.mf: Removed. Unused.
7494 2005-12-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7496 * scripts/lilypond-book.py (do_file): fix thinkos.
7498 2005-12-01 Jan Nieuwenhuizen <janneke@gnu.org>
7500 * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7501 ($(outdir)/parser.cc):
7502 ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7504 2005-11-30 Pedro Kröger <kroeger@pedrokroeger.net>
7506 * ly/titling-init.ly (tagline): it should be a space between
7507 "Music engraving by LilyPond" and the version number.
7509 2005-12-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
7511 * VERSION (PACKAGE_NAME): release 2.7.20
7513 2005-11-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7515 * scm/define-markup-commands.scm (pad-to-box): new markup command.
7517 * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7519 (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7521 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7523 * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7525 * kpath-guile/: remove directory
7527 * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7528 file. Encapsulate kpathsea using commandline tools.
7530 * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7533 2005-11-29 Mats Bengtsson <mabe@s3.kth.se>
7535 * Documentation/user/advanced-notation.itely (Setting automatic
7536 beam behavior): Correct a few typos. Thanks to David Bobroff.
7538 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7539 \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7541 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7543 * scripts/*.py: gmane address for bugs.
7545 2005-11-28 Pal Benko <benkop@freestart.hu>
7547 * make/ly-rules.make: add -f switch to mv
7549 * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7551 * lily/bar-line.cc: interpret it
7553 2005-11-28 Jan Nieuwenhuizen <janneke@gnu.org>
7555 * configure.in (--disable-documentation): New switch.
7557 * GNUmakefile.in: Use it.
7559 * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7561 2005-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7563 * scripts/lilypond-book.py (do_file): search chunks for
7566 * GNUmakefile.in: add copy step in between so we can lose the
7567 out-www directories.
7569 2005-11-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7571 * lily/pango-font.cc (pango_item_string_stencil): put
7572 geometry.width into glyph-string too.
7574 2005-11-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
7576 * scm/define-music-display-methods.scm (RevertProperty):
7577 (OverrideProperty): Use grob-property-path property, a list of
7578 symbols, instead of grob-property, which used to be a single
7580 (BassFigureEvent): a figure can be a plain number, not necessarily a
7583 2005-11-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7585 * VERSION: release 2.7.19
7587 * lily/figured-bass-engraver.cc (process_music): check
7588 figuredBassCenterContinuations first.
7590 * scm/translation-functions.scm (format-bass-figure): make double
7593 * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7596 * lily/system-start-delimiter-engraver.cc: move from
7597 Nested_system_start_delimiter_engraver, rename
7598 Nested_system_start_delimiter_engraver ->
7599 System_start_delimiter_engraver.
7601 * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7602 bracket type from hierarchy.
7604 2005-11-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
7606 * lily/rest.cc (y_offset_callback): read staff-position.
7608 * scm/define-grob-properties.scm (all-user-grob-properties): don't
7609 mark after-line-breaking-callback as internal.
7611 * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7613 2005-11-25 Werner Lemberg <wl@gnu.org>
7615 * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7617 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7619 * stepmake/bin/add-html-footer.py (do_file): add google
7621 * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7622 staff if first_start_ is true.
7624 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7626 * scripts/midi2ly.py (split_track): add __repr__ members.
7627 (track_first_item): only return Item if not None. This fixes a
7628 problem when dumping a track that starts with an empty channel.
7630 * python/midi.c: doc module.
7632 2005-11-22 Mats Bengtsson <mabe@s3.kth.se>
7634 * Documentation/user/global.itely (Creating MIDI files): Fix
7635 compilation problem.
7637 2005-11-22 Graham Percival <gpermus@gmail.com>
7639 * Documentation/user/basic-notation.itely: clarify dynamic
7642 * Documentation/user/advanced-notation.itely: add unicode
7643 escape control example, whatever that is. :)
7645 * Documentation/user/global.itely: added "removing dynamics
7648 2005-11-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7650 * VERSION (PATCH_LEVEL): release 2.7.18
7652 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7653 System_start_delimiter_engraver by
7654 Nested_system_start_delimiter_engraver.
7656 * lily/nested-system-start-delimiter-engraver.cc (struct
7657 Bracket_nesting_node): new class.
7658 (struct Bracket_nesting_group): new class
7659 (struct Bracket_nesting_staff): new class.
7660 (process_music): create hierarchy of grobs. This allows separate
7661 tuning of different SSDs.
7663 * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7664 (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7666 2005-11-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7668 * lily/side-position-interface.cc (aligned_side): multiply
7671 * lily/script-engraver.cc (make_script_from_event): allow setting
7674 2005-11-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7676 * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7678 * scm/define-grobs.scm (all-grob-descriptions): new grob
7679 NestedSystemStartDelimiter.
7681 * input/regression/system-start-heavy-bar.ly: new file.
7683 * lily/nested-system-start-delimiter-engraver.cc: new file.
7685 * lily/nested-system-start-delimiter.cc: new file.
7687 * input/regression/system-start-nesting.ly: new file.
7689 * scm/define-grobs.scm (all-grob-descriptions): use X side
7690 positioning for positioning braces for nested contexts.
7692 * lily/system-start-delimiter.cc (print): don't divide extent by
7694 (print): use style iso. glyph.
7695 (staff_bracket): translate glyph inside routine already.
7697 2005-11-18 Michael Welsh Duggan <md5i@cs.cmu.edu>
7699 * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7702 2005-11-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
7704 * scm/define-context-properties.scm
7705 (all-user-translation-properties): rename figuredBassFormatter
7706 from newFiguredBassFormatter.
7708 * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7710 * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7712 * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7714 * lily/beam.cc (calc_beaming): new function.
7715 (calc_shorten): new function.
7717 * THANKS: add Edward Neeman.
7719 * input/regression/accidental-clef-change.ly: new file.
7721 * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7723 * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7725 * lily/clef-engraver.cc (inspect_clef_properties): reset
7726 localKeySignature for clef changes.
7728 2005-11-17 Mats Bengtsson <mabe@s3.kth.se>
7730 * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3
7731 add dummy definition that works in Linux and add information in
7732 INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7734 * Documentation/user/changing-defaults.itely (Modifying context
7735 plug-ins): Add index for \with.
7737 * Documentation/user/music-glossary.tely (dal segno): Updated
7738 example to version >=2.6.
7740 2005-11-16 Mats Bengtsson <mabe@s3.kth.se>
7742 * Documentation/user/instrument-notation.itely (Printing chord
7743 names): Reorder \chordmode and \repeat in one example.
7745 2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7747 * VERSION: release 2.7.17
7749 * Documentation/topdocs/NEWS.tely (Top): add note about
7752 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7753 new function. Search region of 3 positions for best tie.
7754 (score_configuration): new function.
7755 (score_aptitude): new function.
7756 (generate_configuration): new function.
7757 (get_configuration): new function.
7758 (Tie_formatting_problem): new function
7760 * input/regression/page-top-space.ly: a6 for page-top-space demo.
7762 * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7764 * THANKS: add Eduardo Vieira & Ralph Little
7766 * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7769 * lily/include/tie-formatting-problem.hh (class
7770 Tie_formatting_problem): add Tie_details to
7771 Tie_formatting_problem. Update calling conventions.
7773 * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7776 * Documentation/user/lilypond.tely: remove musedata2ly entry.
7778 2005-11-16 Jürgen Reuter <reuter@ipd.uka.de>
7780 * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7781 scm/define-context-properties.scm: Maintenance bugfix: make
7782 ligature brackets work again by removing obsolete ligature
7783 primitive callback push/pop.
7785 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7786 not call Tuplet_bracket::calc_direction. Removed obsolete gap
7789 2005-11-15 Jan Nieuwenhuizen <janneke@gnu.org>
7791 * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7792 used and do not call it a path.
7793 (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7795 2005-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7797 * lily/include/tie-formatting-problem.hh (class
7798 Tie_formatting_problem): new file.
7800 * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7802 * Documentation/misc/ChangeLog-2.3: new file.
7804 * lily/audio-staff.cc (output): degarianize.
7806 2005-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
7808 * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7809 Unset PYTHONOPTIMIZE. Fixes install if set.
7811 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7813 * python/convertrules.py (conv): add warning about drums.
7815 * make/stepmake.make: include toplevel-version.make after config.make.
7817 * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7818 also allow python2.4
7820 * config.make.in (configure-srcdir): remove GXX GCC vars.
7822 * stepmake/aclocal.m4: don't do non-srcdir build with
7823 symlinks. Use inclusion, so the src directory name can be changed.
7825 2005-11-13 Jan Nieuwenhuizen <janneke@gnu.org>
7827 * make/mutopia-vars.make:
7828 * make/ly-vars.make: Use src-wildcard iso wildcard for source
7831 2005-11-13 Werner Lemberg <wl@gnu.org>
7833 * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7834 but the affected path. This ensures that the (overlapping) outlines
7835 have the same direction, which is a necessary prerequisite for
7836 FontForge's algorithm to remove overlaps.
7839 * mf/feta-haak.mf: Formatting.
7840 (draw_bracket): Slightly modify outline to avoid an unnecessary
7842 Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7843 them from the affected paths.
7845 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7847 * mf/README: remove xpm / accordion notes.
7849 * lily/tie-column-format.cc (set_chord_outline): add dots into
7850 skyline extents. This fixes tie formatting if the left head has dots.
7852 * lily/tie.cc (get_configuration): only shift tie by a whole staff
7853 space inside the staff.
7854 (get_configuration): shift another position if necessary in case
7857 2005-11-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7859 * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7860 buildscript-dir iso. $(depth)/buildscripts.
7862 * tex/GNUmakefile (local-uninstall): remove
7863 music-drawing-routines.ps juggling.
7865 * stepmake/stepmake/install-targets.make (local-install-files):
7866 prepend src-dir to install targets.
7868 * lily/system-start-delimiter-engraver.cc
7869 (acknowledge_system_start_delimiter): use
7870 add_offset_callback(). This fixes translation of nested
7873 * lily/grob-closure.cc (add_offset_callback): only encaps in
7874 simple_closure if it's a procedure.
7876 * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7879 * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7880 remove-empty where pertinent.
7882 2005-11-12 Graham Percival <gpermus@gmail.com>
7884 * Documentation/user/instrument-notation.itely: added
7885 Cameron Horsburgh's multiple stanzas docs. Thanks!
7887 2005-11-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
7890 ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7891 make picture in builddir, not srcdir.
7893 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7895 * VERSION: release 2.7.16
7897 * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7900 2005-11-10 Mats Bengtsson <mabe@s3.kth.se>
7902 * Documentation/user/examples.itely (Piano templates): Minor
7903 modification to the Piano centered lyrics example.
7905 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7907 * scripts/lilypond-invoke-editor.scm (run-browser): look at
7910 * Documentation/user/point-and-click.itely: simplify p&c
7911 instruction: don't configure firefox. Put lilypond-invoke-editor
7912 in front of the browser.
7914 * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7915 (run-browser): new function.
7917 * lily/parser.yy (Lily_lexer): recognize Book
7919 * lily/book.cc (clone): new function
7921 * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7923 2005-11-10 Jürgen Reuter <reuter@ipd.uka.de>
7925 * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7926 Maintenance bugfix: reduce number of font related warnings by
7927 updating naming conventions for glyph-name.
7929 2005-11-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7931 * scm/define-grobs.scm (all-grob-descriptions): add
7932 rhythmic-grob-interface to TabNoteHead.
7934 * scm/layout-beam.scm (check-quant-callbacks): remove
7937 2005-11-08 Jürgen Reuter <reuter@ipd.uka.de>
7939 * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
7940 alignment of centered divisiones.
7942 * scm/scripts.scm (articulations): Maintenance bugfix:
7943 follow-into-staff -> quantize-position.
7945 * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
7946 plica head in porrectus deminutus.
7948 2005-11-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7950 * make/lilypond.fedora.spec.in (Group): add %clean section.
7952 * lily/tuplet-bracket.cc (print): change check: remove bracket if
7953 less then 1/5th of total length.
7954 (print): use gap too. Fixes tupletUp-single-bracket.ly
7956 * scm/music-functions.scm (glue-mm-rest-texts): also put other
7957 events into EventChord. This fixes textspanners on mm rests. Fixes
7960 * lily/side-position-interface.cc (get_axis): read side-axis
7961 (set_axis): set side-axis.
7963 * scm/define-grobs.scm (all-grob-descriptions): add side-axis
7964 properties everywhere.
7966 * lily/spacing-spanner.cc (breakable_column_spacing): add
7967 average-spacing-wishes. Take maximum if not set.
7968 (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
7970 * scm/define-grobs.scm (all-grob-descriptions): add
7971 average-spacing-wishes.
7973 * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
7974 offset callbacks. This fixes alignment for Fingering objects.
7976 * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
7977 space for key - timesig combination.
7979 * input/regression/script-stem-tremolo.ly (Module): new file.
7981 * scm/define-grobs.scm (all-grob-descriptions): decrease distance
7984 * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
7985 Fixes: c-tremolo-script.ly.
7987 * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
7989 * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
7991 * scm/define-grobs.scm (all-grob-descriptions): remove
7992 self-X-offset. Fixes alignment of octavate-8.
7994 * scripts/lilypond-book.py (datadir): look in
7995 LILYPONDPREFIX/share/lilypond/current/
7997 * GNUmakefile.in: symlink current to <VERSION>.
7999 2005-11-07 Pedro Kroger <kroeger@pedrokroeger.net>
8001 * lily/main.cc: eps listed as a backend.
8003 2005-11-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8005 * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
8007 2005-11-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
8009 * lily/include/score.hh (class Score): remove texts_ member.
8011 * lily/beam.cc (set_stem_lengths): force direction callback.
8012 (print): read quantized-positions, so we can force
8013 Beam::set_stem_lengths to occur.
8014 (rest_collision_callback): use common X parent.
8016 2005-11-03 Jan Nieuwenhuizen <janneke@gnu.org>
8018 * flower/file-path.cc (find): Bugfix: Return name of file found.
8020 * lily/main.cc (setup_paths): Bugfix for argv0 logic.
8021 (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
8022 (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
8024 2005-11-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8026 * flower/offset.cc: idem.
8028 * mf/*.mf: update email address.
8030 * lily/font-config-scheme.cc: new file.
8032 * GNUmakefile.in (SUBDIRS): remove debian/ directory.
8034 * lily/*: cs.uu.nl -> xs4all.nl
8036 * VERSION (PATCH_LEVEL): release 2.7.15
8038 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
8041 * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
8043 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8045 * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.
8047 * lily/staff-performer.cc (process_music): add audio
8048 elements. This makes MIDI instrument changes work once again.
8050 * lily/main.cc (LY_DEFINE): add gmane address.
8052 * lily/beam.cc: remove calc_positions()
8054 * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
8055 original_ in private scope.
8056 (class Grob): drop pscore_ pointer, change to output_def pointer.
8057 (class Grob): cleanup class definition.
8059 * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
8061 2005-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
8063 * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
8064 absolute. Better diagnostics.
8066 * GNUmakefile.in: Add bin/ to tree and populate with some links.
8067 This makes lilypond run from the build directory using argv0
8068 relocation (without any --prefix or LILYPONDPREFIX setting).
8070 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8072 * Documentation/topdocs/NEWS.tely (Top): document new backend design.
8074 * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
8075 with simple-closure.
8077 * lily/self-aligment-interface.cc (set_align_self): new function
8078 (set_center_parent): new function.
8080 * lily/side-position-interface.cc (set_axis): new function.
8082 * lily/new-fingering-engraver.cc (position_scripts): use drul for
8085 * scm/define-grob-properties.scm (all-user-grob-properties):
8086 remove [XY]-offset-callbacks add [YX]-offset
8088 2005-11-02 Mats Bengtsson <mabe@s3.kth.se>
8090 * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
8091 entry for time signatures after breathing signs. Bug report by
8094 2005-11-01 Jan Nieuwenhuizen <janneke@gnu.org>
8096 * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
8097 not absolute, make it absolute using PATH.
8099 2005-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
8101 * python/midi.c (initmidi): Fix type for mingw.
8103 2005-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
8105 * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8107 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8110 * stepmake/aclocal.m4: Support python cross compiling.
8112 * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8115 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8117 * scm/output-lib.scm (chain-grob-member-functions): replace
8120 * lily/chained-callback.cc (Module): remove file.
8122 * lily/rest-collision.cc (force_shift_callback_rest): change to
8125 * lily/rest.cc (y_offset_callback): merge function of 3 callbacks.
8127 * lily/grob.cc (y_parent_positioning): remove axis argument from
8128 parent_positioning callbacks.
8129 (Grob): junk init code
8130 (get_offset): use generic property callbacks for
8131 X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8132 (axis_parent_positioning): new function
8133 (axis_offset_symbol): new function
8134 (chain_offset_callback): new function
8135 (add_offset_callback): new function
8137 * lily/beam.cc (rest_collision_callback): change signature; this
8138 is now a chained callback.
8140 * lily/include/dimension-cache.hh (class Dimension_cache): remove
8141 callback administration.
8143 * lily/simple-closure.cc: new file. Smob type that allows "grob
8146 (ly:make-simple-closure FUNC A B)
8148 is evaluated as (FUNC grob A B). This allows chaining of callbacks
8151 * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8154 * lily/slur.cc (outside_slur_callback): take 2 arguments.
8156 * lily/rest.cc (polyphonic_offset_callback): remove.
8158 * lily/script-engraver.cc (try_music): remove bool* argument.
8160 * scm/script.scm (default-script-alist): set quantize-position
8163 * lily/script-engraver.cc: remove follow_into_staff_ special coding.
8165 * lily/side-position-interface.cc (aligned_side): move staff
8166 position quantization from
8167 Side_position_interface::quantised_position().
8168 (quantised_position): remove
8170 2005-10-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
8172 * input/regression/beam-quant-standard.ly: reindent, set
8173 debug-beam-quanting to #t.
8175 * lily/beam-concave.cc (calc_concaveness): set concaveness to
8176 10000 if this is a "hard" concave beam.
8178 * lily/beam.cc (calc_least_squares_positions): change from
8179 calc_least_squares_dy
8180 (set_stem_lengths): this is now a chained callback.
8182 * lily/context-property.cc (execute_general_pushpop_property):
8183 bugfix override with procedure should have effect.
8185 * scm/define-grob-properties.scm (all-internal-grob-properties):
8186 remove position-callbacks.
8188 * scm/define-grobs.scm (all-grob-descriptions): use
8189 ly:make-callback-chain for positions property.
8191 * scm/layout-beam.scm (check-quant-callbacks): return list of
8194 * scm/lily.scm (type-p-name-alist): add callback-chain
8196 * lily/lily-guile.cc (type_check_assignment): type check failure
8197 is warning not message.
8199 * lily/grob-property.cc (try_callback): walk callback chain if
8202 * lily/chained-callback.cc: new file. new smob type.
8204 * lily/lily-guile.cc (procedure_arity): new function.
8206 2005-10-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8208 * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8210 2005-10-25 John Mandereau <john.mandereau@free.fr>
8212 * Documentation/user/instrument-notation.itely (Figured bass):
8213 describe new features
8215 2005-10-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8217 * lily/beam.cc (calc_least_squares_dy): use property callback.
8219 * lily/beam-concave.cc (calc_concaveness): use property callback.
8221 * ly/paper-defaults.ly: move fixed dimensions from paper.scm
8223 2005-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
8227 2005-10-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
8229 * scm/layout-page-layout.scm (page-headfoot): annotate
8232 * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit.
8234 * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8235 doesn't take y-space.
8237 * scm/paper.scm (paper-alist): fix A7 dimensions.
8239 2005-10-24 Jan Nieuwenhuizen <janneke@gnu.org>
8241 * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8242 src-wildcard, remove $(wildcard).
8244 * po/GNUmakefile (PO_FILES):
8245 * ps/GNUmakefile (PS_FILES):
8246 * tex/GNUmakefile (TEX_FILES):
8247 * cygwin/GNUmakefile (POSTINSTALLS):
8248 * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8249 some wildcard calls.
8251 2005-10-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
8253 * THANKS: add Thomas Bushnell.
8255 2005-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
8257 * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8258 (lilypond-main): Redirect to gui-main if 'gui is set.
8260 * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8261 for alternative installations kludging s/share/lib/g
8264 * SConstruct (libdir_package_version): Define.
8266 * python/SConscript:
8267 * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8270 2005-10-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
8272 * lily/main.cc: clarify --safe.
8274 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8276 * VERSION: release 2.7.14
8278 * Documentation/user/*.itely: remove minimumVerticalExtent.
8280 * scm/define-grobs.scm (all-grob-descriptions): remove
8281 RemoveEmptyVerticalGroup
8283 * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8285 * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8288 * python/convertrules.py (conv): add rules.
8290 * lily/grob.cc: remove is_empty()
8292 * lily/grob-property.cc: remove add_to_list_property().
8294 * scripts/convert-ly.py (datadir): add prefix switching hack to
8297 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8298 space-function tweak.
8300 * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8302 * scm/define-grob-properties.scm (all-user-grob-properties):
8303 remove callback property.
8305 * lily/include/grob.hh (class Grob): remove property_callbacks_
8306 member. Properties of procedure type are assumed to be callbacks.
8308 * lily/ligature-engraver.cc (override_stencil_callback):
8309 rewrite. Use noteHeadLigaturePrimitive as source.
8311 * scm/define-grob-properties.scm (all-internal-grob-properties):
8312 remove ligature-primitive-callback
8314 * lily/include/dimension-cache.hh (class Dimension_cache): make
8315 class, with Grob as friend.
8317 * lily/grob.cc: remove set_extent_callback(), set_extent() and
8318 has_extent_callback()
8320 * scm/translation-functions.scm (format-new-bass-figure): read
8321 figuredBassPlusDirection
8323 * scm/define-context-properties.scm
8324 (all-user-translation-properties): add figuredBassPlusDirection.
8326 * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8328 * lily/align-interface.cc (set_ordered): new function.
8330 * lily/grob.cc (flush_extent_cache): rewrite.
8332 * lily/dimension-cache.cc (Dimension_cache): cache extent as
8333 Interval pointer directly.
8335 * lily/main.cc (setup_paths): insert extra / .
8336 (setup_paths): junk cff entry.
8338 * lily/font-config.cc (init_fontconfig): only add type1 / otf
8341 * lily/axis-group-engraver.cc (finalize): remove
8342 extraVerticalExtent, minimumVerticalExtent verticalExtent.
8344 * lily/grob.cc (Grob): don't set extent from ctor.
8345 (extent): use property callbacks.
8347 * lily/axis-group-interface.cc: remove set_axes() function.
8349 * lily/grob-property.cc (del_property): new function.
8351 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8353 * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8355 2005-10-20 Jan Nieuwenhuizen <janneke@gnu.org>
8357 * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add.
8359 2005-10-19 Jan Nieuwenhuizen <janneke@gnu.org>
8361 * mf/SConscript: Updates.
8363 * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8365 * stepmake/stepmake/*:
8369 * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8370 from any directory in build-dir. Cleanups.
8372 * make/srcdir.make.in: Remove.
8374 * lily/main.cc (setup_paths): Fix and document build-dir hack.
8376 * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8379 * lily/SConscript: Remove ttftools.
8381 * SConstruct: Resurrect.
8383 2005-10-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
8385 * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8388 * lily/paper-book.cc (add_score_title): put Paper_score title into
8391 * scm/translation-functions.scm (format-new-bass-figure): also
8392 allow plus in combination with _
8394 2005-10-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8396 * VERSION: 2.7.13 released.
8398 * lily/note-collision.cc (check_meshing_chords): don't wipe
8399 stencil, merely set transparent.
8401 * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau.
8402 (Top): document #'callbacks.
8403 (Top): document nested \override.
8405 * input/regression/figured-bass.ly: update for slash and pluses.
8407 * input/regression/figured-bass-continuation-forbid.ly (Module):
8410 * scm/translation-functions.scm (format-new-bass-figure): use
8411 slashed-digit if diminished is set.
8412 (format-new-bass-figure): add + if 'augmented is set.
8414 * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8416 * input/test/piano-staff-distance.ly: remove file.
8418 * Documentation/user/advanced-notation.itely (Formatting cue
8419 notes): use length-fraction for making stems/beams smaller.
8421 * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8424 * lily/new-figured-bass-engraver.cc: new property
8425 centerFiguredBassContinuations
8427 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8430 * lily/context-property.cc (execute_general_pushpop_property):
8433 * input/regression/override-nest.ly: new file.
8435 * python/convertrules.py (FatalConversionError.subber): conversion
8436 rule for #'callbacks
8438 * input/regression/override-nest.ly: new function.
8440 * lily/parser.yy (music_property_def): allow \override #'a #'b =
8443 * lily/context-property.cc (lookup_nested_property): new function.
8444 (evict_from_alist): new function.
8445 (general_pushpop_property): new function.
8446 (execute_general_pushpop_property): rewrite. Support nested
8449 2005-10-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
8451 * lily/beam.cc: use length-fraction too.
8453 * scm/define-grob-properties.scm (all-user-grob-properties):
8454 remove property flag-width-function
8455 (all-user-grob-properties): remove space-function.
8457 * scm/layout-beam.scm: remove flag-width-function.
8459 * lily/beam.cc: remove flag-width-function
8461 * scm/layout-beam.scm: remove beam dir functions.
8463 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8465 * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8466 for easier grace tweaks.
8468 * lily/beam.cc: remove dir-function.
8470 * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8472 * lily/grob.cc: remove spacing-procedure.
8474 * lily/note-head.cc (calc_stem_attachment): new function.
8475 (internal_print): use callback to get glyph-name.
8477 * lily/grob-property.cc (get_interfaces): new function.
8479 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8481 * lily/stem.cc (calc_stem_end_position): new function.
8482 (calc_length): new function.
8483 document details for stem.
8484 remove Stem::get_direction()
8486 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback!
8488 * lily/grob-property.cc (set_callback): new function.
8490 * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8492 * lily/item-scheme.cc: new file.
8494 * lily/bar-line.cc (before_line_breaking): remove function.
8495 remove bar-size-procedure, break-glyph-function
8497 * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8499 * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8501 * lily/system-start-delimiter.cc (print): suicide from
8502 here. Remove after_line_breaking_callback.
8504 * lily/script-interface.cc (calc_direction): use callback for direction.
8506 * lily/side-position-interface.cc (aligned_side): don't use
8507 Side_position_interface::get_direction directly. Use callback.
8509 * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8511 (get_print_stencil): rename from get_stencil: create stencil with
8512 transparency, color and cause.
8514 * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8516 * python/convertrules.py (conv): insert temporary warning rule.
8518 * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8520 * lily/grob-property.cc (try_callback): remove marker if applicable.
8522 * lily/grob.cc: elucidate doc about after/before-line-breaking
8524 * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8526 * lily/stem.cc (height): idem.
8528 * lily/stem-tremolo.cc: idem.
8530 * lily/slur.cc (height): don't use get_uncached_stencil()
8532 * lily/rest.cc (y_offset_callback): use offset callback
8533 iso. after-line-breaking callback.
8535 * lily/grob.cc: change after/before-line-breaking-callback to
8536 after/before-line-breaking dummy properties.
8538 * lily/include/grob.hh: remove Grob_status.
8540 * scm/define-context-properties.scm
8541 (all-user-translation-properties): remove verticalAlignmentChildCallback
8543 * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8544 (calc_direction): use callback
8545 (calc_positions): use callback.
8547 * lily/tie.cc (calc_direction): use callback. Only call parent
8548 positioning for more than one tie.
8550 * lily/tie-column.cc (calc_positioning_done): use callback
8552 * lily/slur-scoring.cc (calc_control_points): use callback
8554 * lily/slur.cc (calc_direction): use callback.
8556 * lily/note-collision.cc (force_shift_callback): remove.
8558 * lily/dot-column.cc (force_shift_callback): remove. Use
8559 other_axis_parent_positioning.
8561 * lily/grob.cc (other_axis_parent_positioning): new function.
8562 (same_axis_parent_positioning): new function
8564 * lily/align-interface.cc (alignment_callback): remove function.
8566 * lily/note-collision.cc (calc_positioning_done): use callback.
8568 * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8569 (calc_direction): idem.
8570 remove print function.
8572 * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8574 * lily/dot-column.cc (calc_positioning_done): use callback.
8576 * lily/break-align-interface.cc (calc_positioning_done): use callback.
8578 * lily/beam.cc (calc_direction): use pseudo-property for beam
8580 (calc_positions): use callback
8582 * lily/align-interface.cc (calc_positioning_done): use
8583 callback. Fold fixed distance and normal alignment in one function.
8585 * lily/stem.cc (calc_stem_end_position): use callback.
8586 (calc_positioning_done): idem.
8587 (calc_direction): idem.
8588 (calc_stem_end_position): idem
8589 (calc_stem_info): idem.
8591 * lily/grob-property.cc (get_property_data): new function:
8592 (try_callback): new function.
8594 * scm/define-grob-properties.scm (all-user-grob-properties): doc
8597 * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8599 2005-10-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
8601 * lily/tie.cc (get_position): robustness fix. Don't crash if a
8605 * lily/include/*.hh (Module): compile fixes.
8607 2005-10-14 Heikki Junes <hjunes@cc.hut.fi>
8609 * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil
8610 as an argument for char-syntax: use (char-syntax (or nil 0))
8611 instead of (char-syntax nil), thanks to Milan Zamazal.
8613 2005-10-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
8615 * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8618 * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8621 2005-10-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8623 * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8624 add class_name() method.
8626 * lily/music-scheme.cc: remove ly:music-name.
8628 2005-10-11 Jan Nieuwenhuizen <janneke@gnu.org>
8630 * cygwin/postinstall-lilypond.sh: Remove cruft.
8632 * cygwin/postremove-lilypond.sh: Remove.
8634 * cygwin/GNUmakefile (default): Remove postremove rules.
8636 2005-10-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8638 * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8641 * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8644 * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8645 consider break index for broken spanner.
8647 * scm/define-markup-commands.scm (wordwrap-string): remove \r
8648 characters from string before splitting.
8650 2005-10-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
8652 * scm/framework-ps.scm (output-preview-framework): use
8653 is-book-title to determine whether to chop off the booktitle.
8655 * lily/paper-book.cc (systems): init from book-title-properties
8656 (add_score_title): init score-title-properties.
8658 * ly/paper-defaults.ly: add {score,book}-title-properties.
8660 * scm/document-backend.scm (lookup-interface): error message if
8661 using unknown interface.
8663 * lily/volta-bracket.cc (after_line_breaking): new function. Set
8666 * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8668 (make_bracket): new function.
8670 * scm/lily.scm (define-scheme-options): add paper-size option.
8672 * ly/declarations-init.ly (laissezVibrer): get paper size from
8675 * scm/translation-functions.scm: use \fontsize for changing the
8678 * scm/define-grobs.scm (all-grob-descriptions): set
8679 between-length-limit to 1.0
8681 * lily/tie-helper.cc: add between_length_limit_ detail property.
8683 * mf/feta-bolletjes.mf: typos.
8685 * lily/note-head.cc (internal_print): don't shadow idx
8686 parameter. This fixes wrong attachment for do shape heads.
8688 2005-10-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
8690 * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8692 * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8694 * scm/layout-slur.scm: rename from slur.scm
8696 * scm/layout-page-layout.scm: rename from page-layout.scm
8698 * scm/layout-beam.scm: rename from beam.scm
8700 * scm/define-grob-interfaces.scm (bass-figure-interface): add
8701 bass-figure-interface
8703 * lily/new-figured-bass-engraver.cc (process_music): add
8704 implicitBassFigures property.
8706 * scm/define-markup-commands.scm (pad-x): new markup.
8708 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8709 minimumVerticalExtent on FiguredBass context.
8711 * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8712 case the continuation crosses a line break.
8714 2005-10-09 Jan Nieuwenhuizen <janneke@gnu.org>
8716 * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8717 unconverted value if cygwin_conv_to_posix_path () fails. Fixes
8718 absolute file name bug.
8720 2005-10-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
8722 * VERSION (PACKAGE_NAME): release 2.7.12
8724 * input/regression/figured-bass-continuation-center.ly: new file.
8726 * input/regression/beam-outside-beamlets.ly: new file.
8728 * lily/beam.cc (set_beaming): don't clip edges.
8729 (connect_beams): don't clip edges.
8731 * lily/beaming-info.cc (clip_edges): new function.
8733 * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8735 * Documentation/user/instrument-notation.itely (Figured bass):
8736 demonstrate extenders, update seealso links.
8738 * scm/titling.scm (marked-up-headfoot): change tagline
8739 handling. tagline = ##f will blank the tagline as well.
8741 2005-10-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8743 * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8745 * lily/new-figured-bass-engraver.cc (struct
8746 New_figured_bass_engraver): add new_music_found_ member.
8748 * lily/lilypond-version.cc (Lilypond_version): deal with
8749 incorrectly formatted version strings.
8751 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8752 New_figured_bass_engraver by default.
8754 * lily/ttf.cc (print_trailer): only define glyph names when
8755 FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8757 2005-10-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8759 * lily/horizontal-bracket.cc (make_bracket): new function.
8761 * scm/define-grobs.scm (all-grob-descriptions): new grobs
8762 NewBassFigure, BassFigureBracket, BassFigureContinuation,
8763 BassFigureLine, BassFigureAlignment
8765 * lily/new-figured-bass-engraver.cc (process_music): new file.
8767 * lily/figured-bass-continuation.cc: new file.
8769 * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8772 2005-10-04 Mats Bengtsson <mabe@s3.kth.se>
8774 * scripts/lilypond-book.py: Bug fix, put the quote around the
8775 actual score for LaTeX documents.
8777 * scm/define-grobs.scm (all-grob-descriptions): Change
8778 collapse-height of the SystemStartBracket grob to 5.0,
8779 so the bracket disappears for single stave score lines (similarly
8780 to SystemStartBraces).
8782 * Documentation/user/advanced-notation.itely (Polymetric
8783 notation): Clarify the use of compressMusic.
8785 * Documentation/user/basic-notation.itely (Grace notes): Clarify
8786 that the grace spacer note in other staves need the same duration
8787 and document the stroke-style property.
8789 2005-10-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8791 * Documentation/user/global.itely (Vertical spacing): document
8792 alignment-extra-space and fixed-alignment-extra-space.
8794 * Documentation/topdocs/NEWS.tely (Top): add entry.
8796 * input/regression/alignment-vertical-spacing.ly: new file.
8798 * python/convertrules.py (conv): add rule.
8800 * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8802 * lily/align-interface.cc (stretch_after_break): new
8803 function. Read fixed-alignment-extra-space property.
8804 (align_elements_to_extents): read alignment-extra-space property.
8806 * lily/lily-guile.cc (robust_scm2dir): new function.
8808 * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8809 (annotate-space-left): new function. Annotate space left on page.
8810 (annotate-y-interval): new function.
8811 (paper-system-annotate-last): new function. Annotate bottom-space.
8813 * mf/feta-beugel.mf (y):
8815 2005-10-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8817 * VERSION (PACKAGE_NAME): release 2.7.11
8819 * scm/lily-library.scm (interval-translate): new function
8820 (interval-center): new function.
8822 * scm/page-layout.scm (paper-system-annotate): new function. Add
8823 arrows for dimensions.
8825 * scm/stencil.scm (dimension-arrows): new function.
8827 * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8829 * input/regression/page-spacing.ly: add annotatespacing
8831 * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8832 (LY_DEFINE): new function ly:paper-system-set-property!
8834 * Documentation/user/global.itely (Paper size): explain how to add
8837 * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8838 correspond to GS's definition.
8840 * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8842 (print): only connect to next bracket if the next one is alive.
8843 (print): set padding to 0.0 if the bound is a breakable
8844 column. This makes tupletFullLength brackets reach up to the staff
8845 line if it doesn't connect to the next line.
8847 2005-09-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
8849 * lily/bar-number-engraver.cc: correct docs.
8851 * scm/output-lib.scm (first-bar-number-invisible): rename from
8852 default-bar-number-visibility
8854 2005-09-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8856 * scm/define-music-properties.scm (all-music-properties): remove
8859 2005-09-28 Heikki Junes <hjunes@cc.hut.fi>
8861 * po/fi.po: refresh.
8863 2005-09-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
8865 * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8867 (disappear): bugfix.
8869 * lily/stem-tremolo.cc (raw_stencil): read slope property.
8871 * lily/include/paper-system.hh (class Paper_system): remove
8872 staff_extents_ member.
8874 * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8876 * lily/include/paper-system.hh (class Paper_system): remove
8877 number_ variable. Remove is_title_. Remove break_before_penalty_
8879 * lily/paper-book.cc (systems): use 'number property iso. number_
8882 * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8883 remove ly:paper-system-number.
8885 * scm/lily-library.scm (paper-system-title?): new function.
8887 * lily/book.cc (process): bugfix: flip ?: cases.
8889 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8892 * ly/music-functions-init.ly: add outputProperty music function.
8894 * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8896 * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8898 (optimal-page-breaks): rename from ly:optimal-page-breaks.
8900 * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8902 * lily/paper-system.cc (internal_get_property): new function.
8904 * Documentation/user/global.itely (Vertical spacing): refer to
8907 * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8910 * input/regression/page-spacing.ly: new file.
8912 * input/regression/page-top-space.ly: new file.
8914 * lily/spacing-spanner.cc: cmath -> math.h
8916 * lily/paper-system.cc (read_left_bound): new function. Read
8917 line-break-system-details from left bound to determine extents.
8919 * Documentation/user/programming-interface.itely (Using LilyPond
8920 syntax inside Scheme): change applyxxx -> applyXxx.
8922 * ly/music-functions-init.ly: add outputProperty music function.
8924 * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8926 * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8928 * python/convertrules.py (conv): rule
8930 * ly/music-functions-init.ly: applyxxx -> applyXxx
8932 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
8935 2005-09-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8937 * flower/include/real.hh: include <math.h> iso. <cmath>
8939 * flower/include/offset.hh: include real.hh
8941 2005-09-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
8943 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8944 fix example, now that 'interfaces is no longer directly available.
8946 * lily/book.cc (process): don't crash if paper == NULL.
8950 2005-09-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8952 * scm/define-music-types.scm (music-descriptions): set length and
8953 start-callback for QuoteMusic
8955 2005-09-15 Mats Bengtsson <mabe@s3.kth.se>
8957 * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
8958 arguments. Fixes compilation error with gcc 3.3.
8960 2005-09-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
8962 * VERSION: release 2.7.10
8964 * stepmake/stepmake/python-module-rules.make
8965 ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.
8967 * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
8970 2005-09-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8972 * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
8973 -Werror. Otherwise GCC barfs over various optimizations.
8975 * scm/define-grob-properties.scm (all-internal-grob-properties):
8976 add note-head property
8978 * Documentation/user/instrument-notation.itely (Laissez vibrer
8981 * input/regression/laissez-vibrer-ties.ly: new file.
8983 * lily/laissez-vibrer-engraver.cc: new file.
8985 * lily/include/tie-column-format.hh: new file.
8987 * lily/tie-column-format.cc: new file.
8989 * lily/tie-column.cc (set_manual_tie_configuration): new function.
8991 * lily/laissez-vibrer-tie.cc: new file.
8993 * lily/include/laissez-vibrer-tie.hh: new file.
8995 * ly/engraver-init.ly: add Laissez_vibrer_engraver
8997 * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
8999 * scm/define-grobs.scm (all-grob-descriptions): add
9000 LaissezVibrerTie, LaissezVibrerTieColumn
9002 * lily/tie-column.cc (set_tie_config_directions): new function
9003 (final_shape_adjustment): new function.
9004 (shift_small_ties): new function.
9006 * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
9008 * lily/include/tie.hh (struct Tie_details): add x_gap_
9009 (struct Tie_configuration): add head_position_
9011 * lily/tie-column.cc (set_chord_outline): new function.
9013 * mf/cmr.enc.in: remove file.
9015 2005-09-11 Graham Percival <gpermus@gmail.com>
9017 * Documentation/user/examples.itely: typo fix. Thanks, Matevž
9019 2005-09-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
9021 * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
9022 reduce aliasing effects.
9024 * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
9027 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
9029 * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
9031 * flower/include/real.hh: std::fabs too.
9033 2005-09-08 Jan Nieuwenhuizen <janneke@gnu.org>
9035 * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner).
9037 * lily, flower: Include C++ iso C headers. Import namespace std
9040 * lily/side-position-interface.cc:
9042 * lily/note-head.cc:
9043 * lily/include/includable-lexer.hh:
9044 * flower/include/string-data.icc: Remove using std::*.
9046 * lily, flower: Include C++ iso C headers. Import namespace std
9049 * lily/side-position-interface.cc:
9051 * lily/note-head.cc:
9052 * lily/include/includable-lexer.hh:
9053 * flower/include/string-data.icc: Remove using std::*.
9055 * Documentation/user/instrument-notation.itely (Entering lyrics):
9056 Multiple latin-1->utf-8 conversion fix.
9058 * Documentation/user/*tely: Update Emacs cookie to utf-8.
9060 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
9062 * lily/tie.cc (get_configuration): also avoid dots for non-space
9065 2005-09-07 Jan Nieuwenhuizen <janneke@gnu.org>
9067 * Documentation/user/instrument-notation.itely: Bugfix.
9069 2005-09-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
9071 * tex/GNUmakefile: don't install texinfo.tex
9073 * tex/ : cleanup: remove unused files.
9075 * lily/general-scheme.cc: remove my_{isinf,isnan}.
9077 * flower/include/real.hh: using std::{isnan,isinf}
9079 * VERSION (PATCH_LEVEL): release 2.7.9
9081 2005-09-05 Graham Percival <gpermus@gmail.com>
9083 * Documentation/user/ instrument-notation.itely,
9084 advanced-notation.itely: minor tweaks.
9086 * input/test/script-chart.ly: add item padding.
9088 2005-09-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
9090 * flower/offset.cc: use math.h iso. <cmath>
9092 * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
9095 * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
9096 (widen-left-stencil-edges): new function. Fix alignment problems
9097 with LaTeX includegraphics.
9099 * lily/text-interface.cc (interpret_markup): use abort().
9101 2005-09-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
9103 * input/regression/tie-chord.ly (testLong): add a chord in 4ths
9105 * lily/tie.cc (get_configuration): update bezier shape as we
9107 (get_configuration): don't move large ties if we're outside of the
9110 2005-09-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
9112 * scm/define-markup-commands.scm (strut): swap X and Y dims.
9114 2005-09-03 Jan Nieuwenhuizen <janneke@gnu.org>
9116 * .cvsignore: Add auto-generated configure files and then some.
9118 2005-09-02 Jan Nieuwenhuizen <janneke@gnu.org>
9120 * scm/define-grobs.scm (DynamicLineSpanner): Add
9121 X-extent-callback. Fixes hairpin-slur collision.
9123 2005-08-31 Graham Percival <gpermus@gmail.com>
9125 * Documentation/user/advanced-notation.itely,
9126 basic-notation.itely: minor changes.
9128 2005-08-31 Mats Bengtsson <mabe@s3.kth.se>
9130 * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9131 \linebreak between each .eps file if \betweenLilyPondSystem is
9134 * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9135 music): Document the \linebreak
9137 * Documentation/user/lilypond-book.itely,
9138 input/tutorial/lbook-latex-test.tex,
9139 Documentation/user/examples.itely: Remove \usepackage{graphics}
9141 2005-08-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
9143 * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9145 * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9148 * scripts/lilypond-book.py (PREAMBLE_LY): define
9149 inside-lilypond-book
9150 (modify_preamble): new function. Insert \RequirePackage{graphics}
9151 when no {graphics found in preamble.
9153 2005-08030 Graham Percival <gpermus@gmail.com>
9155 * Documentation/user/basic-notation.itely, global.itely,
9156 tutorial.itely: misc small changes.
9158 2005-08-30 Jan Nieuwenhuizen <janneke@gnu.org>
9160 * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9163 2005-08-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
9165 * lily/tie-column.cc (new_directions): put Tie down on center
9168 * lily/script-interface.cc (before_line_breaking): use
9169 Grob::programming_error
9171 * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9173 * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9176 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9178 * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9180 2005-08-29 Werner Lemberg <wl@gnu.org>
9182 * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9183 the `*.scale.pfa' files to avoid warnings.
9185 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9187 * lily/tempo-performer.cc (process_music): idem.
9189 * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9191 2005-08-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
9193 * Documentation/user/advanced-notation.itely (Text markup): not a
9196 * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9198 * lily/staff-performer.cc (initialize): add tempo/name to
9201 2005-08-26 Graham Percival <gpermus@gmail.com>
9203 * Documentation/user/advanced.itely: add text-only example.
9205 * Documentation/user/invoking.itely: add index entries for
9208 * Documentation/user/ tutorial.itely, basic-notation.itely:
9209 small fixes suggested by Steve D. Thanks!
9211 2005-08-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
9213 * input/regression/markup-bidi-pango.ly: new file.
9215 * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9216 standard. Remove #ifdef. Remove memleak.
9217 (text_stencil): use text_dir to decide how to composite items.
9218 (text_stencil): determine uniform text direction for the entire
9221 * scripts/lilypond-book.py (output_name): remove
9222 latex_filter_cmd. Non-portable to non-Unix systems.
9223 (get_latex_textwidth): use File.write and os.unlink() instead.
9225 * THANKS: add Vicente & Trevor.
9227 * lily/grob.cc (discretionary_processing): look up origin for
9228 programming_error too.
9230 * input/regression/tie-broken.ly: new file.
9232 * lily/tie-column.cc (set_chord_outlines): set outline for line
9235 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9237 * lily/pango-font.cc (text_stencil): don't translate glyphs in
9238 unscaled transform, just translate stencils.
9240 * ly/performer-init.ly: init timing to #t. Fixes bar checks in
9243 * scm/define-markup-commands.scm (wordwrap-string): use
9245 (wordwrap-stencils): idem.
9248 (wordwrap-stencils): translate last line to right for
9249 text-direction = LEFT.
9251 * scm/define-grob-properties.scm (all-user-grob-properties): add
9254 2005-08-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
9256 * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9257 when copying a Lily_parser object.
9259 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9261 * scm/define-markup-commands.scm (null): add null markup.
9263 2005-08-25 Mats Bengtsson <mabe@s3.kth.se>
9265 * lily/item.cc: Add documentation of center-invisible
9267 2005-08-24 Graham Percival <gpermus@gmail.com>
9269 * Documentation/user/advanced-notation.itely: add info about
9272 * Documentation/user/programming-interface.itely: fix example
9273 involving raised text.
9275 2005-08-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
9277 * lily/beam.cc (print): fix X start/end points of isolated
9280 * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9282 * lily/multi-measure-rest.cc (set_text_rods): new function.
9284 * lily/vertical-align-engraver.cc (process_music): call
9285 Align_interface::set_axis(). This forces #'elements to be ordered,
9286 preventing random vertical reordering of staves.
9288 * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9289 add avoid-slur property.
9291 * Documentation/user/basic-notation.itely (Measure repeats): add
9292 countPercentRepeats example.
9294 * Documentation/user/advanced-notation.itely (Other text markup
9295 issues): remove remark about normal-font. We have \normal-text
9297 * input/regression/tie-chord.ly: add note about remaining bugs.
9299 * lily/tie.cc (print): try Tie_column::set_directions () if
9300 control-points not yet defined.
9302 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9304 * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9305 extent. This fixes braces falling out of the EPS bbox.
9307 * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9310 2005-08-23 Graham Percival <gpermus@gmail.com>
9312 * {various} : change #up->#UP and #down->#DOWN.
9314 * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9316 * Documentation/user/advanced-notation.itely: clarify
9317 what objects handles text on a multimeasure rest.
9319 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9321 * VERSION (PATCH_LEVEL): release 2.7.7
9323 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9325 * make/lilypond-vars.make: set -dgs-font-load for "make web"
9327 * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9329 * input/regression/*.ly: formatting clean-up. Default layout
9330 before music expression.
9332 * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9333 romanze28-2 example.
9335 * scm/ps-to-png.scm: remove dir-re function.
9336 (make-ps-images): generate page names, instead of globbing them.
9337 This brings down LilyPond memory usage for make web by a factor
9340 * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9341 don't use glob. With 3000 files, globbing
9342 Documentation/user/out-www/ can take too much time.
9344 * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9346 * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9348 * input/regression/tie-manual.ly: new file
9350 * input/regression/tie-chord.ly: update.
9352 * flower/include/interval.hh (struct Interval_t):
9354 * lily/tie.cc (distance): new function
9355 (height): new function.
9356 (init): new function
9357 (Tie_details): new struct.
9359 * lily/skyline.cc (skyline_height): new function.
9361 * lily/tie-column.cc (set_chord_outlines): new function.
9362 (new_directions): read tie-configuration
9364 * lily/skyline.cc: fix ASCII art.
9366 2005-08-22 Mats Bengtsson <mabe@s3.kth.se>
9368 * python/convertrules.py (string_or_scheme): Fix spelling error
9370 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9372 * lily/tie-column.cc (set_directions): set directions only once.
9373 (add_configuration): new function.
9375 * lily/tie.cc (set_control_points): new function
9377 * lily/tie-column.cc (new_directions): new function.
9379 * ly/music-functions-init.ly: set 'pitch property
9380 iso. trill-pitch. This makes \relative work with \pitchedTrill
9382 * lily/tie.cc (get_configuration): new function. Don't generate
9383 control points, rather, generate configuration.
9384 remove head-pair property.
9386 * lily/include/tie.hh (struct Tie_configuration): new struct.
9388 2005-08-22 Heikki Junes <hjunes@cc.hut.fi>
9390 * Documentation/topdocs/NEWS.tely: clarify.
9392 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9394 * lily/tie.cc: remove minimum-length
9396 * scm/define-grob-properties.scm (all-user-grob-properties):
9397 remove staffline-clearance, y-offset
9399 * input/regression/tie-dots.ly (Module): remove.
9401 * lily/tie.cc (get_control_points): rewrite. Put short ties in
9402 staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9404 * input/regression/tie-single.ly: new file.
9406 2005-08-21 Graham Percival <gpermus@gmail.com>
9408 * ly/bagpipe.ly: fix compile problem.
9410 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9412 * lily/midi-item.cc (name): new method.
9414 * lily/staff-performer.cc (acknowledge_audio_element): use
9415 signature of baseclass.
9417 * lily/engraver-group.cc (do_announces): move recursion call out
9420 * lily/drum-note-performer.cc (class Drum_note_performer): use
9421 process_music everywhere.
9423 * ly/performer-init.ly: add default children everywhere.
9425 * lily/paper-book.cc (output): call paper-book-write-midis
9426 directly: always write MIDI, even if no \layout {} block.
9428 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9430 * VERSION (PACKAGE_NAME): release 2.7.6
9432 * lily/percent-repeat-engraver.cc (try_music): don't print warning
9433 about not being able to handle repeat.
9435 2005-08-19 Jan Nieuwenhuizen <janneke@gnu.org>
9437 * Documentation/user/examples.itely (Piano templates):
9438 * lily/include/performer-group.hh: Remove last traces of
9439 Performer_group_performer. Fixes make web.
9441 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9443 * Documentation/user/examples.itely (Piano templates): change
9444 Engraver_group_engraver -> Engraver_group
9446 * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9447 scm_stand_in_procs is not weak_any.
9449 * lily/volta-bracket.cc (print): don't use strcmp().
9451 * lily/volta-engraver.cc (process_music): use
9452 Text_interface::is_markup() for setting the 'text property of the
9455 * input/mutopia/claop.py (accents): update syntax to 2.6
9457 * scm/define-context-properties.scm
9458 (all-user-translation-properties): add countPercentRepeats.
9460 * Documentation/user/basic-notation.itely (Measure repeats): add
9461 isolated percent example.
9463 2005-08-18 Graham Percival <gpermus@gmail.com>
9465 * input/ {various}: change direction #1, #-1 to
9466 #up/#down or \fooUp, \fooDown.
9468 * Documentation/user/music-glossary.tely: #-1 to #down.
9470 * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9471 to #up, #-1 to #down.
9473 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9475 * lily/include/engraver-group.hh: rename.
9477 * lily/include/performer-group.hh: rename.
9479 2005-08-18 Mats Bengtsson <mabe@s3.kth.se>
9481 * input/test/script-abbreviations.ly: Removed some old LaTeX
9484 2005-08-18 Jan Nieuwenhuizen <janneke@gnu.org>
9486 * python/convertrules.py (conv): inside-slur -> avoid-slur.
9487 Remove functions. Remove if 1: constructs, reindent.
9489 * scripts/convert-ly.py (add_version): Add functions from
9492 * scm/script.scm (default-script-alist):
9493 s/priority/script-priority. Fixes script stacking. Backportme.
9494 (Fermata): Very low priority.
9496 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9498 * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9500 * input/regression/slur-script.ly: remove padding tweaks. Add
9503 * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9504 time sigs and related stuff.
9506 * scm/define-grob-properties.scm (all-user-grob-properties): add