1 2006-11-07 Han-Wen Nienhuys <hanwen@lilypond.org>
3 * lily/break-substitution.cc:
4 * lily/dynamic-text-spanner.cc:
8 * lily/grob-property.cc:
9 use SCM_ASSERT_TYPE for graphing functions.
14 * lily/all-font-metrics.cc:
17 * input/regression/collision-heads.ly:
20 * lily/note-collision.cc:
21 * input/regression/collision-merge-differently-headed.ly:
22 Examine Stem::duration_log() for preventing merge of quarter and halfnote. Fixes collision-heads.ly. Add separate regtest for that.
24 * scripts/lilypond-invoke-editor.scm:
25 don't use guile -e main execution.
27 * scm/define-grobs.scm:
28 use stem::calc-duration-log for rest.
30 * scm/define-markup-commands.scm:
31 another (sign dir) fix for note markup
33 * scm/define-markup-commands.scm:
34 use (sign dir) for computing attachment points.
36 * buildscripts/git-update-changelog.py:
37 run cvs up before patching.
39 2006-11-06 Han-Wen Nienhuys <hanwen@lilypond.org>
42 trim note-head.cc includes.
44 * lily/easy-notation.cc:
45 * lily/mensural-ligature-engraver.cc:
46 * lily/note-collision.cc:
48 * scm/define-grobs.scm:
50 use Rhythmic_head::duration_log() iso. Note_head::get_balltype().
52 * buildscripts/git-update-changelog.py:
53 also barf if file doesn't exist.
55 2006-11-07 Erlend Aasland <erlenda@gmail.com>
57 * scm/music-function.scm (add-ballon-text): add FIXME comment.
59 * scm/define-grob-properties.scm: remove old balloon stuff,
60 and do some trivial beautification.
62 2006-11-06 Nicolas Sceaux <nicolas.sceaux@free.fr>
64 * scm/music-functions.scm (markup-expression->make-markup): fix
65 the case when a markup found in a markup list is a simple
68 2006-11-05 Han-Wen Nienhuys <hanwen@lilypond.org>
70 * lily/instrument-name-engraver.cc:
71 * input/regression/instrument-name-dynamic.ly:
72 ignore dynamic and pedal line spanners.
74 * Documentation/topdocs/NEWS.tely:
75 * Documentation/user/advanced-notation.itely:
77 * input/regression/balloon.ly:
79 * ly/music-functions-init.ly:
80 * scm/define-event-classes.scm:
81 * scm/define-grobs.scm:
82 * scm/define-music-properties.scm:
83 * scm/define-music-types.scm:
85 * lily/balloon-engraver.cc:
86 rewrite balloon-text support. This is now a separate grob, with itsvictim as the parent. This involves addingBalloon_engraver, AnnotateOutputEvent, annotate-output-event,\balloonText, \balloonGrobText, and modifying Balloon_interface::print.
88 * lily/paper-score.cc:
91 * lily/chord-name-engraver.cc:
94 * lily/paper-score.cc:
95 some useless statistics.
97 * buildscripts/git-update-changelog.py:
98 update todo/done after rejection due to removal analysis.
100 * buildscripts/git-update-changelog.py:
101 check whether removals from a diff actually apply.
103 2006-11-05 Joe Neeman <joeneeman@gmail.com>
105 * lily/include/page-turn-page-breaking.hh: remove unused
108 * lily/page-turn-page-breaking.cc (calc_demerits):
109 * lily/optimal-page-breaking.cc (try_page_spacing): remove
110 uniformity penalties.
112 2006-11-05 Werner Lemberg <wl@gnu.org>
114 * Documentation/user/changing-defaults.itely,
115 Documentation/user/preface.itely: Use `--', not `---'.
118 * Documentation/user/introduction.itely: Minor improvements.
119 (Automated engraving): Make example using \applyOutput work
122 * input/regression/apply-output.ly: Improve.
124 2006-11-05 Han-Wen Nienhuys <hanwen@lilypond.org>
126 * lily/dynamic-engraver.cc:
129 * input/regression/note-head-harmonic.ly:
131 * input/regression/note-head-harmonic-whole.ly:
132 Center harmonic heads if stem is invisible. Fixes #140
135 end context snippet with '\n'
138 catch all GUILE exceptions
143 * lily/include/lily-lexer.hh:
144 * lily/lily-lexer.cc:
145 * lily/lily-parser.cc:
146 Lily_parser* arg for copy ctor too.
149 abc2ly new tempo syntax
151 2006-11-04 Heikki Junes <hjunes@gmail.com>
153 * po/fi.po: update Finnish translation.
155 2006-11-03 Graham Percival <gpermus@gmail.com>
157 * Documentation/user/ {various}: rename page->spacing,
158 global->non-music, invoking->running, example->templates.
160 2006-11-03 Nicolas Sceaux <nicolas.sceaux@free.fr>
162 * scm/display-lily.scm: add a parser argument to display methods,
163 instead of using a *parser* special variable.
165 * scm/define-music-display-methods.scm: add a parser argument to
166 display methods. Update the methods for \melisma, \melismaEnd,
167 \breathe, \tempo, \partial.
169 * input/no-notation/display-lily-tests.ly: update the test
170 utilities according to the changes in display-lily.scm
172 2006-11-03 Han-Wen Nienhuys <hanwen@lilypond.org>
174 * *: The Joy of Merging.
176 * buildscripts/git-update-changelog.py:
177 sort commits, and use .git-commits-done file.
181 dist emacs patches too.
183 2006-11-02 Han-Wen Nienhuys <hanwen@lilypond.org>
185 * scm/autochange.scm:
188 * lily/context-def.cc:
189 * lily/include/parse-scm.hh:
190 * lily/include/smobs.hh:
193 * lily/program-option.cc:
195 implement and use ASSERT_LIVE_IS_ALLOWED()
197 * ly/music-functions-init.ly:
198 * scm/autochange.scm:
199 set-part-combine fix for autochange.
201 * lily/include/lily-lexer.hh:
202 * lily/include/lily-parser.hh:
203 * lily/lily-lexer.cc:
204 * lily/lily-parser-scheme.cc:
205 * lily/lily-parser.cc:
206 clear lexer scopes after parsing file. Plugs pseudo memory leak
208 * ly/declarations-init.ly:
209 * ly/music-functions-init.ly:
210 * scm/part-combiner.scm:
211 Remove set-part-combine-listener. This plugs a memory leak.
217 don't delete .scale.pfa; the FF script may not have read themyet. Fixes brace OTF bug
222 * lily/part-combine-iterator.cc:
223 don't allocate part combine events statically. Plugs small leak.
225 * lily/lily-parser-scheme.cc:
226 plug memleak in case of failed files.
228 * lily/include/source.hh:
233 hi-bit ascii is also counted as alpha chars. This allows unicodeidentifiers, and fixes premature stop at accented char. (#134)
235 * lily/include/program-option.hh:
236 * lily/program-option.cc:
237 get_program_option() function
239 * ly/titling-init.ly:
240 change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing.
242 * lily/include/translator.hh:
243 * lily/include/translator.icc:
244 * lily/translator.cc:
247 * lily/figured-bass-engraver.cc:
248 don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128.
250 * stepmake/stepmake/compile-vars.make:
251 don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC
253 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
259 trim warning messages.
264 * input/regression/utf-8.ly:
265 document utf-8 meaning of phrases.
267 * scm/define-markup-commands.scm:
268 make \caps markup default to smallCaps
270 * lily/pango-font.cc:
272 use glyph indexing for glyph name .notdef
274 2006-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
276 * input/regression/utf-8.ly: Fix doc to match order of language
279 2006-11-01 Joe Neeman <joeneeman@gmail.com>
281 * lily/optimal-page-breaking.cc (try_page_spacing): don't average
282 page and line forces.
284 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
286 * GNUmakefile.in (SUBDIRS): remove cygwin dir too.
288 2006-10-31 Han-Wen Nienhuys <hanwen@lilypond.org>
290 * Documentation/user/GNUmakefile:
291 don't use ImageMagick, use GS directly.
294 otf depends on otf-g?table. Fixes race condition in -j2 build.
295 (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)
301 remove .deb/.rpm downloading.
303 * buildscripts/git-update-changelog.py:
304 bugfixes for git-update-changelog.py
306 * Documentation/user/GNUmakefile:
309 2006-10-30 Han-Wen Nienhuys <hanwen@lilypond.org>
311 * input/regression/tie-semi-single.ly:
312 use position/direction from single tie case too. This fixes
313 overrides and defaults for single laissez-vibrer and repeat ties.
315 * buildscripts/git-update-changelog.py:
316 only prepend header if one patch was successful.
318 2006-10-31 Jan Nieuwenhuizen <janneke@gnu.org>
320 * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
321 stuff. Remove cygwin packaging stuff.
323 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
325 * python/convertrules.py (conv): Part 2 fixes vertical extent.
327 * input/test/vertical-extent.ly: Fix and elaborate on vertical
328 staff extent. (Thanks Mats)
330 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
332 * buildscripts/git-update-changelog.py (main): write .msg and cvs
335 * scm/define-grobs.scm:
336 separation-items have width
342 * Documentation/topdocs/NEWS.tely:
343 * lily/separating-group-spanner.cc:
344 * lily/slur-engraver.cc:
345 * lily/slur-scoring.cc:
346 * scm/define-grobs.scm:
347 * input/regression/slur-clef.ly:
348 add breakableSeparationItem to extra encompass for slurs. This
349 fixes slur/clef slur/key collisions etc. Should fix #49
351 * lily/include/slur-scoring.hh:
352 * lily/slur-scoring.cc:
353 Use X of separation item as slur start. Fixes #120
355 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
357 * buildscripts/git-update-changelog.py (changelog_body): don't
360 * lily/grob.cc: add avoid-slur
362 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
366 move server/emacsclient to elisp/
368 * buildscripts/git-update-changelog.py (Commit.note_del_file):
371 * elisp/server.el.patch:
374 * elisp/emacsclient.patch:
377 * buildscripts/git-update-changelog.py:
384 * buildscripts/git-update-changelog.py:
385 script to update ChangeLog with Git messages.
387 * lily/beam-engraver.cc:
388 * input/regression/rest-pitched-beam.ly:
389 don't set callback if staff-position set. Fixes #126.
391 * lily/bar-number-engraver.cc:
393 * lily/fingering-engraver.cc:
394 * lily/grob-property.cc:
396 * lily/include/grob.hh:
397 * lily/include/lily-guile-macros.hh:
398 * lily/mark-engraver.cc:
399 * lily/melody-engraver.cc:
400 * lily/script-column.cc:
401 * lily/tie-formatting-problem.cc:
403 internal_get_property_data() using ly_symbol2scm()
405 * stepmake/stepmake/generic-targets.make:
406 create .gitignore in outdir.
411 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
413 * input/test/vertical-extent.ly:
414 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
416 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
418 * stepmake/bin/add-html-footer.py (compose): remove setgcos
420 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
422 * GNUmakefile.in (install-help2man): install-help2man target.
424 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
426 * SConstruct (configure): Do not check for /bin/sh.
428 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
430 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
433 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
435 * input/regression/fret-boards.ly: new file.
437 * po/de.po: new po courtesy translation team.
439 * scripts/lilypond-book.py (get_option_parser): add newline to doc
442 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
444 * ly/gregorian-init.ly (neumeDemoLayout): update
445 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
447 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
448 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
450 2006-10-27 Erlend Aasland <erlenda@gmail.com>
452 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
453 Yet another build fix.
455 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
457 * SConstruct (lilypondprefix): use sorted() for list_sort()
460 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
462 * flower/SConscript: Unit test rules.
464 * flower/test-std.cc: Compile fix.
466 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
468 * python/midi.c (pymidi_parse_track): warning fixes.
470 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
471 include dot-column.hh
473 2006-10-26 Graham Percival <gpermus@gmail.com>
475 * Documentation/user/{basic-, global}: minor changes from mailist.
477 2006-10-26 Erlend Aasland <erlenda@gmail.com>
479 * scm/define-grobs.scm: trivial beautification
481 * lily/tie-performer.cc: no need to #include "pqueue.hh"
483 * lily/source-file.cc: put multibyte var inside #if clause
485 * scm/define-grob-interfaces.scm:
486 * scm/define-grob-properties.scm:
487 Build fix (string-fret-finger-combinations)
489 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
492 * Documentation/user/lilypond-book.itely: Build fix.
494 2006-10-26 Joe Neeman <joeneeman@gmail.com>
496 * lily/system.cc (get_paper_system):
497 * lily/paper-book.cc (systems):
498 move most of the backwards compatibility stuff into
501 * Documentation/topdocs/NEWS.tely: add 2 entries for the
504 * Documentation/user/page.itely: remove time-scaled-music
505 bug for the Page_turn_engraver
507 * lily/paper-book.cc (set_system_penalty): backwards
508 compatibility (breakbefore) for the old page breaker
510 2006-10-25 Graham Percival <gpermus@gmail.com>
512 * Diocumentation/user/instrument-notation.itely: added more
513 info about stanzas; thanks Geoff!
515 * Documentation/user/ {basic, advanced}: small fixes from
518 * THANKS: add some bug reporters.
520 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
522 * scm/define-context-properties.scm (all-user-translation-properties):
523 noteToFretFunction: Add.
525 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
526 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
528 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
530 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
533 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
534 Remove bashism in delete.
536 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
538 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
540 * scm/translation-functions.scm (determine-frets-mf): flatten let*
542 * scm/define-context-properties.scm
543 (all-user-translation-properties): add maximumFretStretch property.
545 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
547 * lily/source-file.cc (get_counts): use multibyte variable.
549 * scm/translation-functions.scm (determine-frets-mf): new
550 function: compute fret numbers.
552 * scm/output-lib.scm (string-frets->description) new function.
553 (fret-board::calc-stencil): new function
555 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
557 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
559 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
561 * lily/tab-note-heads-engraver.cc: cleanups.
563 * lily/fretboard-engraver.cc: new file
565 * ly/engraver-init.ly: add FretBoards context
567 2006-10-24 Joe Neeman <joeneeman@gmail.com>
569 * lily/grob.cc (pure_relative_y_coordinate)
570 (pure_height): use the new call_pure_function stuff
572 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
575 * lily/side-position-interface.cc (pure_y_aligned_side): add an
578 * lily/simple-closure.cc (ly_eval_simple_closure): make
579 simple-closure evaluatable from scheme
580 (evaluate_with_simple_closure): make simple-closures pure-
583 * lily/slur.cc (pure_outside_slur_callback): new function
585 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
586 fits in with previous changes that made the page forces much
589 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
590 and pure-Y-extent into this new function.
591 (pure-conversions-alist): add outside-slur-callback
593 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
595 * Documentation/user/advanced-notation.itely (Instrument names):
596 Remove obsolete bug workaround for instrument names on piano
599 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
601 * Documentation/user/lilypond-book.itely (Integrating DocBook and
602 music): patch by Bertalan Fodor for docbook.
604 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
605 of $(LILYPOND). Prevents lilypond run for .txt files.
607 * INSTALL.txt: gitness.
609 * .cvsignore: update to force gitness.
611 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
613 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
614 detect suicide in nested tuplets.
616 2006-10-23 Werner Lemberg <wl@gnu.org>
618 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
619 typo in argument to FT_Get_X11_Font_Format.
621 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
623 * stepmake/stepmake/po-vars.make: more gitness.
625 * flower/polynomial.cc (check_sol): no empty if bodies.
627 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
629 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
631 2006-10-22 Jürgen Reuter <reuter@ipd.uka.de>
633 * Documentation/user/examples.itely (Transcription of mensural
634 music): Added more comments in .ly source. Suggest to remove
635 Forbid_line_break_engraver to allow line breaking at all bars.
637 * Documentation/user/instrument-notation.itely (Ancient
638 articulations): Updated @refbugs regarding episem.
640 * Documentation/user/instrument-notation.itely (Gregorian square
641 neumes ligatures): Added \augmentum dots. Updated @refbugs
642 regarding \augmentum.
644 * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
646 * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated
649 * lily/vaticana-ligature-engraver.cc: Added TODO comment for
652 * ly/gregorian-init.ly: Added \augmentum macro.
654 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
656 * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
658 * lily/pango-font.cc (pango_item_string_stencil): use
659 FT_Get_X11_Font_Format()
661 2006-10-22 John Mandereau <john.mandereau@free.fr>
663 * po/fr.po: update translation.
665 2006-10-21 Han-Wen Nienhuys <hanwen@lilypond.org>
667 * VERSION (PATCH_LEVEL): bump version
669 * input/regression/horizontal-bracket-break.ly: new file.
671 * scm/define-grobs.scm (all-grob-descriptions): calc
674 * lily/horizontal-bracket.cc (make_bracket): support
675 connect-to-neighbor. Fix #118
677 * VERSION: release 2.9.26-2
679 * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
681 * VERSION (PACKAGE_NAME): release 2.9.26
683 * buildscripts/output-distance.py (test_basic_compare): add
685 (FileLink.multi_img_cell): new function, glob multi-page png
688 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
690 * po/lilypond.pot: update.
692 * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
694 * Documentation/user/global.itely (File structure): remove
697 * lily/parser.yy (FIXME): remove ADDQUOTE
699 * Documentation/user/global.itely (Extracting fragments of
700 notation): new node, about clip systems.
702 * Documentation/user/lilypond-book.itely (Many quotes of a large
703 score): ref to clip systems.
705 * Documentation/user/instrument-notation.itely (Entering lyrics):
706 add note about lyric ties and required font.
708 * lily/open-type-font.cc (glyph_list): format errors.
710 * Documentation/user/programming-interface.itely (Scheme
711 procedures as properties): more doco on simple-closure and scheme
713 (Input variables and Scheme): use lilypond[verbatim], document
716 * Documentation/user/page.itely (Displaying spacing): use \book
717 explicitly, so arrows show .
718 (Line breaking): add note about Forbid_line_break_engraver
720 * Documentation/user/tweaks.itely (Common tweaks): also set length
721 to prevent tie squeezing.
722 (Default files): use @var{}
724 * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
725 (Generating LilyPond files): add FOMUS.
727 2006-10-20 Joe Neeman <joeneeman@gmail.com>
729 * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
730 Y-offset for TextScript and Script
732 * lily/text-engraver.cc (make_item):
733 * lily/script-engraver.cc (make_script_from_event):
734 remove call to Side_position_interface::set_axis since all scripts
735 now have this set by default
738 * lily/prob.cc: use variables
740 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
742 * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
743 at typography, rather analyse stream event duration.
745 * Documentation/user/page.itely (Page formatting): set a6 paper
746 for system separator example.
748 * lily/arpeggio.cc (Module): idem.
750 * lily/accidental-placement.cc: add script-priority property.
752 * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
754 * lily/ttf.cc (print_trailer): if all else fails: use
755 glyphIndexXXXX as glyph name. Fixes #117.
757 * lily/pango-font.cc (pango_item_string_stencil): only use cmap
758 entry if cmap contains glyph.
759 (get_index_to_charcode_map): remove from Pango_font class, use
760 global filename -> font mapping.
761 (get_glyph_index_name): new function.
762 (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
765 * scripts/lilypond-book.py (main): use -deps-box-padding=-3
767 * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
770 * scm/define-grob-properties.scm (all-user-grob-properties):
771 remove outdated doc. Fixes #116
773 * lily/completion-note-heads-engraver.cc (process_music): always
774 clone input events; otherwise we may overwrite input 'duration
775 property. Fixes #115.
777 * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
780 * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
783 * VERSION (PATCH_LEVEL): bump version.
785 2006-10-19 Han-Wen Nienhuys <hanwen@lilypond.org>
787 * lily/engraver.cc (internal_make_grob): use variables.
789 * flower/string-convert.cc (dec2double): clean-up warnings.
791 * configure.in (CXXFLAGS): add -Werror.
793 * VERSION (PACKAGE_NAME): release 2.9.25
795 2006-10-18 Joe Neeman <joeneeman@gmail.com>
797 * lily/simple-spacer.cc (get_line_forces): test for non-fitting
798 line even if we precede a forced break.
800 * lily/optimal-page-breaking.cc (try_page_spacing): square line
801 forces too. Make page-spacing weight default to 10 because the
802 changes to vertical springs decreased the page force/line force
803 proportions. Also, take the average of line force and page force
804 instead of just the sum.
806 * lily/constrained-breaking.cc (initialize): make the stiffness
807 of the vertical springs depend on the height of the system. This
808 prevents pages with only a few large systems from getting huge
811 * Documentation/user/page.itely (Page formatting): document the
812 change in default page-spacing-weight
814 * lily/include/constrained-breaking.hh: initialise bottom_padding_
816 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
818 * input/typography-demo.ly (melody): remove superfluous slur.
820 * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
821 add piano-pedal-script-interface
823 2006-10-18 Bertalan Fodor <lilypondtool@organum.hu>
825 * scripts/lilypond-book.py: DocBook support.
827 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
829 * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
831 (stop_translation_timestep): set bound to currentMusicalColumn if
832 not set yet. Fixes #102
834 * lily/piano-pedal-bracket.cc: formatting.
836 * input/test/engraver-one-by-one.ly (MyStaff): reformat.
838 * lily/piano-pedal-align-engraver.cc: new class
839 Piano_pedal_align_engraver. Handle side-positioning Y-alignment
842 2006-10-18 Heikki Junes <hjunes@gmail.com>
844 * po/fi.po: Update Finnish translation (before the next release).
846 2006-10-17 Joe Neeman <joeneeman@gmail.com>
848 * lily/system.cc (get_paper_system): reinstate the backwards-
849 compatible page breaking for the old page breaker.
851 2006-10-17 Erik Sandberg <mandolaerik@gmail.com>
853 * lily/recording-group-engraver.cc: removed
855 * lily/context.cc, lily/translator-group.cc: Don't touch
856 Context::implementation_ if it's null
858 2006-10-17 Han-Wen Nienhuys <hanwen@lilypond.org>
860 * scm/paper.scm: only use left-margin if defined.
862 * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
864 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
866 * lily/new-fingering-engraver.cc: stringFingerOrientations ->
867 strokeFingerOrientations
869 * lily/script-column.cc (row_before_line_breaking): also handle
870 accidentals and arpeggios in horizontal script stacking.
872 * lily/script-row-engraver.cc (acknowledge_accidental_placement):
875 * input/regression/script-stack-horizontal.ly: trim.
877 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
879 * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
882 * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
883 'text if string argument.
885 * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
887 * scm/define-context-properties.scm
888 (all-user-translation-properties): change to strokeFingerOrientations
890 2006-10-16 Erik Sandberg <mandolaerik@gmail.com>
892 * lily/parser.yy: remove debug output
894 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
896 * ly/paper-defaults.ly: set left/right margin.
898 * scm/paper.scm (set-paper-dimensions): use left-margin and
899 right-margin for computing linewidth.
901 * Documentation/topdocs/NEWS.tely (Top): idem.
903 * input/regression/lyric-tie.ly (texidoc): use vowels for tied
906 * scm/define-markup-commands.scm (tied-lyric): increase negative
907 space: space syllables tighter.
909 * VERSION (PATCH_LEVEL): bump version.
911 * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
914 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
916 * COPYING: further clarification
918 * VERSION: release 2.9.24
920 * input/regression/script-stack-horizontal.ly: add version.
922 * scm/lily-library.scm (list-join): use fold-right. Fixes #112
924 * input/regression/lyric-tie.ly (texidoc): use different words.
926 * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
928 2006-10-15 Erik Sandberg <mandolaerik@gmail.com>
930 * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
931 macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
933 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
935 * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4;
937 * Doxyfile: remove file.
939 * scm/define-grob-interfaces.scm (string-finger-interface): add
940 string-finger-interface
942 * lily/general-scheme.cc (LY_DEFINE): move
943 ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[]
945 * Documentation/topdocs/NEWS.tely (Top): add note for
946 string-finger feature.
948 * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
951 * scm/output-lib.scm (string-finger::calc-text): read 'digit
954 * input/regression/script-stack-horizontal.ly: new file.
956 * ly/engraver-init.ly: add Script_row_engraver.
958 * lily/script-column.cc (order_grobs): refactor: separate axis
960 (row_before_line_breaking): new function.
962 * lily/script-row-engraver.cc (Script_row_engraver): new file.
964 * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
966 2006-10-14 Jürgen Reuter <reuter@ipd.uka.de>
968 * Documentation/user/instrument-notation.itely: Cleanup: Remove
969 annoying skip notes from mensural ligature example. Update
970 @refbugs for ligatures and mensural ligatures.
972 * lily/coherent-ligature-engraver.cc,
973 lily/include/coherent-ligature-engraver.hh,
974 lily/mensural-ligature-engraver.cc,
975 lily/vaticana-ligature-engraver.cc: Revise code for item
976 reparentizing. There should now be less programming_error
979 * lily/mensural-ligature-engraver.cc: Improve placement of dots.
981 * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
982 Maintenance bugfix: Don't create empty Stencil (), but empty box
983 instead. This fix should eliminate some programming_error
986 * ly/engraver-init.ly (MensuralStaff): Set default accidental
989 * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
990 \layout block _before_ score.
992 2006-10-14 Han-Wen Nienhuys <hanwen@lilypond.org>
994 * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
996 * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
998 2006-10-13 Erlend Aasland <erlenda@gmail.com>
1000 * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
1002 2006-10-13 Han-Wen Nienhuys <hanwen@lilypond.org>
1004 * VERSION (PATCH_LEVEL): bump version.
1006 * COPYING: clarify exception note.
1008 * lily/main.cc: remove remark about "COPYING".
1010 * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
1011 system-count starts at 0 for each clip-region. Change name to
1012 FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
1013 layout block, per score.
1015 2006-10-13 Erik Sandberg <mandolaerik@gmail.com>
1017 * lily/input-smob.cc: add equal_p for Input
1019 * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
1022 * lily/parser.yy: MY_MAKE_MUSIC sets music origin
1024 * lily/prob.cc: Add equal_p predicate for Prob
1026 * lily/translator.cc: small cleanup
1028 * scm/document-music.cc: use data from translator listener
1029 registration to generate documentation for event classes
1031 * lily/*: Eliminate accept arg of ADD_TRANSLATOR
1033 * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
1035 2006-10-13 Jan Nieuwenhuizen <janneke@gnu.org>
1037 * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
1039 2006-10-12 Jan Nieuwenhuizen <janneke@gnu.org>
1041 * Documentation/topdocs/INSTALL.texi: Thinko.
1043 * .cvsignore: Update.
1045 * lexer-gcc-3.1.sh: Remove.
1047 * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
1048 Update anonymous cvs access. Remove comment about gcc 3.0.4.
1050 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1052 * VERSION: release 2.9.23
1054 * lily/paper-column-engraver.cc (stop_translation_timestep): also
1055 typecheck barnumber.
1057 * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
1059 * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
1061 * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
1063 * input/regression/clip-systems.ly (Notes): new file.
1065 * scm/lily.scm (define-scheme-options): add clip-systems option.
1067 * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
1069 (dump-stencil-as-EPS): move bbox calculation from previous
1071 (output-framework): use -dclip-systems
1073 * scm/lily-library.scm (filtered-map): new function
1075 * scm/framework-ps.scm (clip-system-EPS): new function.
1076 (clip-system-EPSes): new function.
1078 * lily/paper-column.cc: add rhythmic-location to interface
1080 * scm/define-grob-properties.scm (all-user-grob-properties): add
1081 rhythmic-location property.
1083 * scm/clip-region.scm: new file: rhythmic-location data type and
1084 system-clipped-x-extent function.
1086 * ly/init.ly: use (scm clip-region)
1088 * lily/paper-column-engraver.cc (stop_translation_timestep): set
1089 rhythmic-location for paper column grobs.
1091 * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
1093 2006-10-12 Jürgen Reuter <reuter@ipd.uka.de>
1095 * ly/engraver-init.ly: Remove obsolete comment on
1096 Bar_number_engraver.
1098 * Documentation/user/instrument-notation.itely: Tune Ancient
1099 Articulations figure, such that the episem actually shows.
1101 * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
1102 fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
1104 * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
1107 2006-10-12 Graham Percival <gpermus@gmail.com>
1109 * Documentation/user/ {some}: minor edits that were lost somehow.
1111 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1113 * VERSION (PACKAGE_NAME): bump version.
1115 * input/regression/lyric-tie.ly (texidoc): new file.
1117 * Documentation/topdocs/NEWS.tely (Top): add new feature.
1119 * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
1121 * scm/define-markup-commands.scm (tied-lyric): new function: split
1122 string along ~ and reattach with U+203F (tie character) and
1125 * scm/output-lib.scm (lyric-text::calc-text): new function.
1127 * lily/lyric-engraver.cc (process_music): don't set 'text.
1129 * scm/output-lib.scm (string-finger::calc-text): new function
1130 (lyric-text::print): new function.
1132 * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1133 generic for fingering & string number. Use for string-finger.
1135 * scm/define-music-types.scm (music-descriptions): add
1138 * lily/fingering-engraver.cc (listen_string_finger): new function
1140 * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1142 * scm/define-context-properties.scm
1143 (all-user-translation-properties): add stringFingerOrientations
1145 2006-10-11 Jürgen Reuter <reuter@ipd.uka.de>
1147 * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1148 ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1150 * lily/dots.cc: Added style property for dots.
1152 * mf/parmesan-heads.mf: Fix typo in comment.
1154 * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1155 adding longa head to feta font and removing obsolete default
1156 mapping scheme code.
1158 2006-10-10 Han-Wen Nienhuys <hanwen@lilypond.org>
1160 * scm/output-lib.scm (fingering::calc-text): use origin
1161 event-property, not music-property.
1163 * lily/lilypond.rc.in: spell my name correctly.
1165 2006-10-10 Joe Neeman <joeneeman@gmail.com>
1167 * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1168 already have a non-empty extent. Fixes estimation for Hara-kiri
1171 2006-10-09 Jürgen Reuter <reuter@ipd.uka.de>
1173 * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1176 * lily/ligature-engraver.cc: Remove unused #include.
1178 * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1179 Bugfix: remove method check_for_prefix_loss(Item *) from global
1180 namespace to avoid namespace pollution.
1182 2006-10-09 Han-Wen Nienhuys <hanwen@lilypond.org>
1184 * VERSION: release 2.9.22
1186 * ly/generate-documentation.ly: update option name.
1188 * lily/dynamic-text-spanner.cc (print): revert fix.
1190 * scm/define-grob-interfaces.scm
1191 (trill-pitch-accidental-interface):
1192 add trill-pitch-accidental-interface
1194 * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1195 dereference if it's really a duration.
1197 * lily/figured-bass-engraver.cc (process_music): clear spanner if
1198 useBassFigureExtenders is not set.
1199 (listen_bass_figure): record as new event if
1200 useBassFigureExtenders not set. Fixes #103.
1202 * scm/stencil.scm (circle-stencil): don't center stencil argument,
1203 instead: move circle. Fixes #107.
1205 * scm/define-grobs.scm (all-grob-descriptions): set
1206 allow-loose-spacing for PaperColumn and
1207 NonMusicalPaperColumn. Kludge for #110.
1209 * lily/spaceable-grob.cc: add allow-loose-spacing property.
1211 * lily/spacing-determine-loose-columns.cc (is_loose_column):
1212 allow-loose-spacing property.
1214 * scm/define-markup-commands.scm (postscript): gsave & grestore
1215 around embedded PS. Do setlinewidth too. Fixes #109.
1217 2006-10-08 Jürgen Reuter <reuter@ipd.uka.de>
1219 * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1220 code. This patch fixes ligature brackets that were not at all
1223 2006-10-08 Graham Percival <gpermus@gmail.com>
1225 * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1227 * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1229 * scm/define-context-properties.scm: clarified docs (bug 91).
1231 * Documentation/user/basic-notation.itely: document volta brackets
1232 not aligning (bug 63).
1234 * Documentation/user/ global.itely invoking.itely: ignore or
1235 add warnings about texstr.
1237 2006-10-08 John Mandereau <john.mandereau@free.fr>
1239 * po/fr.po: update translation.
1241 * po/: update msgids.
1243 2006-10-08 Jan Nieuwenhuizen <janneke@gnu.org>
1245 * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1247 2006-10-08 Nicolas Sceaux <nicolas.sceaux@free.fr>
1249 * Documentation/user/page.itely (Two-pass vertical spacing): add
1250 documentation for two-pass spacing technique.
1252 2006-10-06 Graham Percival <gpermus@gmail.com>
1254 * Documentation/user/convert-ly.txt: new file; new
1255 storage place for this file (moved from bugs/ CVS).
1257 2006-10-06 Jürgen Reuter <reuter@ipd.uka.de>
1259 * lily/note-head.cc: Fixed programming_error message.
1261 2006-10-06 Han-Wen Nienhuys <hanwen@lilypond.org>
1263 * scm/define-grobs.scm (pure-conversion): move pure-callback
1266 * scm/script.scm (default-script-alist): set avoid-slur for turn,
1267 marcato, stopped, thumb.
1269 2006-10-05 Han-Wen Nienhuys <hanwen@lilypond.org>
1271 * lily/completion-note-heads-engraver.cc (process_music): don't
1272 skimp on memory usage.
1274 * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1277 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1278 parenthesis item. This fixes premature Y-extent triggering. Fixes
1281 * VERSION (PATCH_LEVEL): bump version.
1283 2006-10-04 Graham Percival <gpermus@gmail.com>
1285 * Documentation/user/advanced-notation.itely: added
1286 info about instrument names for piano or other contexts,
1289 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1291 * mf/feta-bolletjes.mf (solfa_quarter_width): use
1292 solfa_base_notewidth as unit for non-DO-notes too.
1294 * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1296 * VERSION: release 2.9.21
1298 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1301 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1303 * python/lilylib.py (progress): Minor fix.
1305 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1307 * lily/note-name-engraver.cc: doc engraver.
1309 * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1311 * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1313 * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1316 * lily/stem-engraver.cc (make_stem): don't set duration-log
1318 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1319 write snippet-names binary.
1321 * python/lilylib.py (system): use os.system for mingw32
1323 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1326 * scm/backend-library.scm: update email address.
1328 * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1331 * scm/define-grobs.scm (all-grob-descriptions): use callback to
1334 * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1335 handle dot creation separately.
1337 * lily/tab-note-heads-engraver.cc (process_music): idem.
1339 * lily/drum-note-engraver.cc (process_music): idem.
1341 * lily/note-heads-engraver.cc (process_music): idem.
1343 * lily/rest-engraver.cc: don't set duration-log.
1345 * scm/output-lib.scm (string-number::calc-text): new function.
1346 (note-head::calc-duration-log): new function.
1348 * lily/fingering-engraver.cc (make_script): remove 'text setting.
1350 * scm/output-lib.scm (fingering::calc-text): new function.
1352 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1354 * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1355 and include-eps-font -> include-eps-fonts
1357 2006-10-03 Han-Wen Nienhuys <hanwen@lilypond.org>
1359 * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1361 * lily/timing-translator.cc: list properties.
1362 (start_translation_timestep): update internalBarNumber too.
1364 * scm/define-context-properties.scm
1365 (all-user-translation-properties): add internalBarNumber.
1367 * input/regression/spacing-no-note.ly: new file.
1369 * buildscripts/output-distance.py (link_file): verbosity for OSError.
1371 * lily/book.cc: #include cleanup.
1373 * lily/include/lily-guile-macros.hh: add assert to
1374 scm_or_str2symbol(SCM).
1376 * VERSION (PATCH_LEVEL): bump version.
1378 * lily/spacing-spanner.cc (musical_column_spacing): handle
1379 musical->nonmusical spacing case, where there is no spacing
1380 wish. Fixes issue #61.
1382 * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1383 (pango_item_string_stencil): use logical rect horizontally (to
1384 preserve spaces), ink_rect vertically (for time signatures).
1386 * lily/font-metric.cc (word_stencil): new interface function
1388 * input/regression/utf-8-mixed-text.ly: new file.
1390 * lily/percent-repeat-engraver.cc (listen_percent): remove
1393 * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1394 non-dynamic scripts. Fixes #30.
1396 * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1398 * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1400 * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1401 SCM_UNDEFINED for non-existent data.
1403 * lily/side-position-interface.cc (general_side_position): allow
1404 optional current_offset argument for chaining, so combinations of side-position
1405 and outside slur callback don't add up. Fixes issue #92.
1407 * lily/pango-font.cc (pango_item_string_stencil): use
1408 logical_rect. This prevents spaces after words from disappearing,
1411 * VERSION: release 2.9.20
1413 2006-10-02 Han-Wen Nienhuys <hanwen@lilypond.org>
1415 * scm/define-grob-properties.scm (all-user-grob-properties):
1416 mention stencil as user settable.
1418 2006-10-02 Joe Neeman <joeneeman@gmail.com>
1420 * Documentation/user/page.itely (Page formatting):
1421 document auto-first-page-number
1423 * lily/page-breaking.cc (find_chunks_and_breaks):
1424 * lily/paper-score.cc (calc_breaking): Follow changes to the
1425 Constrained_breaking interface
1427 * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1428 here backwards, as an optimisation
1429 (initialize): new function; move most of the code in resize () here
1430 (combine_demerits): cache ragged_right_
1431 (Constrained_breaking): constructor now takes the Paper_score
1433 2006-10-02 Erik Sandberg <mandolaerik@gmail.com>
1435 * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1436 avoid parser lookahead for 0-ary functions.
1438 * lily/translator.cc: Extract event classes from
1439 IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1441 2006-10-02 Heikki Junes <hjunes@gmail.com>
1443 * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1446 2006-10-01 Nicolas Sceaux <nicolas.sceaux@free.fr>
1448 * scm/layout-page-layout.scm (page-breaking-wrapper): new
1449 function. Call the page breaking function selected in the
1450 `page-breaking' \paper variable, then the post processing function
1451 chosen using the `page-post-process' \paper variable.
1452 (line-height): new function. Return the height of a system.
1453 (line-minimum-position-on-page): new function. Return the position
1454 of a system on page (using the previous line position), only
1455 considering between system padding.
1456 (stretchable-line?): new function. Says whether a line can be
1457 stretched (ie. is not a title nor a single staff system).
1458 (page-maximum-space-left): new function. Computes space left on a
1459 page, when all systems are separated by their padding.
1461 * lily/page-breaking.cc (breaking::make_pages): Move page post
1462 processing function call to page breaking wrapper (common to all
1465 * lily/paper-book.cc (book::pages): call the page breaking
1466 wrapper, instead of the page breaker directly
1468 * ly/paper-defaults.ly: Add \paper variables for page breaking
1469 wrapper and page post processing function. Make
1470 `write-page-layout' value depend on the 'dump-tweaks option. Add a
1471 `system-maximum-stretch-procedure' variable for holding a function
1472 computing the maximum stretch a system allows.
1474 * scm/layout-page-dump.scm (write-page-breaks): computes the
1475 stretch to apply to systems on a page to minimize left
1476 space. Dump this stretch length.
1478 * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1479 the system-stretch property of the tweak data to stretch the
1481 (includePageLayoutFile): Void function which includes the
1482 generated page-layout file if it exists and if the page layout
1483 dumping is not asked.
1484 (scoreTweak): if the score tweak named by the argument exists,
1487 2006-10-01 Joe Neeman <joeneeman@gmail.com>
1489 * lily/page-spacing.cc (compress_lines, uncompress_solution):
1490 handle correctly the case where there are multiple \noPageBreaks
1493 2006-09-30 Laura Conrad <lconrad@laymusic.org>
1495 * abc2ly.py adds segno (S) and Coda (O) to articulations.
1497 * abc2ly.py fix so that entering " -- " will translate to a -- in
1498 the lilypond instead of a " - - "
1500 2006-09-30 Han-Wen Nienhuys <hanwen@lilypond.org>
1502 * lily/align-interface.cc: fix typo
1504 * lily/dynamic-text-spanner.cc (print): Add a special case for
1505 trill spanner right sides.
1507 * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1509 * lily/align-interface.cc (get_extents_aligned_translates): add
1510 support for padding variable.
1512 * lily/break-align-interface.cc (self_align_callback): oops: use
1513 loop variable in guard.
1515 * input/regression/repeat-percent-grace.ly: new file.
1517 * lily/percent-repeat-engraver.cc (start_translation_timestep):
1518 remember first currentCommandColumn of a grace run. Fixes issue 70.
1520 * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1521 move class definition to CC file.
1523 * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1525 * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1526 measure-long repeats.
1528 * flower/include/international.hh: include stdarg.h
1530 2006-09-30 Joe Neeman <joeneeman@gmail.com>
1532 * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1533 put_systems_on_pages to return an empty result, we need to assign
1534 demerits properly in that case.
1535 (put_systems_on_pages): Make the number of pages depend on the
1536 evenness of page_number. Add auto-first-page-number.
1537 (calc_subproblem): ensure that the page-number is even for the
1538 left-hand page. Warn if the first page-turn doesn't fit onto the
1539 first (right-hand) page.
1541 * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1542 (min_page_count): make this publicly accessible
1543 (min_page_count): fix a bug when there are forced page breaks that
1544 was introduced when I made this loop run backwards
1545 (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1546 replace space_systems_on_min_pages with these two. The logic in
1547 space_systems_on_min_pages was getting too convoluted and is better
1548 contained in page-turn-page-breaking.
1550 * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1552 (breakable_column): typo
1554 * lily/source-file.cc (get_line): fix off-by-one error
1555 and clean up some of the logic
1557 2006-09-29 Joe Neeman <joeneeman@gmail.com>
1559 * lily/page-breaking.cc (make_pages): honour the first-page-number
1562 2006-09-27 Han-Wen Nienhuys <hanwen@lilypond.org>
1564 * VERSION (PACKAGE_NAME): bump version.
1566 2006-09-26 Pal Benko <benko.pal@gmail.com>
1568 * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1569 (the latter is the same as petrucci-f which is kept for compatibility)
1571 2006-09-26 Erik Sandberg <mandolaerik@gmail.com>
1573 * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1575 2006-09-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1577 * lily/global-context.cc (run_iterator_on_me): break out of loop
1578 if moment doesn't increase.
1580 * scm/define-grob-properties.scm (all-user-grob-properties): add
1583 * lily/accidental.cc (after_line_breaking): read forced property.
1585 * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1588 * input/regression/accidental-forced-tie.ly: new file.
1590 2006-09-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1592 * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1594 * lily/figured-bass-engraver.cc: only listen to rest events if
1595 ignoreFiguredBassRest is not set.
1597 * scm/define-context-properties.scm
1598 (all-user-translation-properties): add ignoreFiguredBassRest property
1600 2006-09-24 Joe Neeman <joeneeman@gmail.com>
1602 * lily/paper-book.cc (get_system_specs):
1603 (set_system_penalty): fix breakbefore.
1604 We used to set a penalty on the system after the break, now we
1605 set a permission on the system before the break
1607 * lily/grob-property.cc: add scm debugging hooks into
1608 property modification
1610 * lily/context-property.cc:
1612 rename make_foo_from_properties to internal_make_foo and
1613 move it from context-property.cc to a member function of
1616 * lily/include/lily-guile-macros.hh:
1617 overload ly_symbol2scm macro so that there is no more need
1620 * lily/volta-repeat-iterator.cc:
1621 * lily/tweak-engraver.cc:
1622 * lily/tuplet-bracket.cc:
1623 * lily/span-bar-engraver.cc:
1624 * lily/script-engraver.cc:
1625 * lily/prob-scheme.cc:
1626 * lily/pointer-group-interface.cc:
1628 * lily/grob-scheme.cc:
1629 * lily/grob-property.cc:
1631 * lily/context-property.cc:
1632 * lily/break-substitution.cc:
1633 * lily/break-align-engraver.cc:
1634 * lily/axis-group-interface.cc:
1635 * lily/align-interface.cc:
1636 remove calls to internal_FOO
1638 * lily/system-start-delimiter-engraver.cc:
1639 * lily/parenthesis-engraver.cc:
1640 * lily/accidental-engraver.cc:
1641 remove calls to make_foo_from_properties
1643 2006-09-23 Graham Percival <gpermus@gmail.com>
1645 * Documentation/user/programming-iterfaces.itely: fix
1646 def-music-function -> define-music... leftover.
1648 2006-09-23 Joe Neeman <joeneeman@gmail.com>
1650 * lily/page-spacing.cc (min_page_count): by running the loop
1651 backwards, we can calculate ragged_last properly.
1653 2006-09-22 Mats Bengtsson <mabe@drongo.s3.kth.se>
1655 * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1656 printfirst-page-number -> print-first-page-number
1658 * python/convertrules.py: corresponding rule.
1660 * Documentation/user/page.itely (Page formatting): Document the
1661 default values of all page layout parameters.
1663 2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
1665 * lily/lexer.ll: remove limitation on music function arity. New
1666 mode extratoken, which inserts extra EXPECT_* tokens after
1667 MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1669 * lily/parser.yy: Change grammar for music function accordingly.
1671 * lily/include/lily-parser.hh: New method get_state, new member
1672 hidden_state. Works around a problem when parser fetches
1673 MUSIC_FUNCTION token but not the following EXPECT_* token.
1675 * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1678 * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1679 references to Music; use ASSIGN_EVENT_ONCE everywhere
1681 * lily/grob-info.cc: junk *music_cause
1683 * lily/music.cc: copy eventified articulations to stream event
1685 * lily/part-combine-iterator.cc: Cleanup using enums
1687 * lily/translator-group.cc: Junk OldMusicEvent, and associated
1690 * lily/include/engraver.hh: Junk music.hh include
1692 * lily/stream-event.cc: Changed constructors
1694 2006-09-21 Graham Percival <gpermus@gmail.com>
1696 * Documentation/user/tweaks.itely (Fitting music onto fewer
1697 pages): change settings to avoid warning messages.
1699 2006-09-21 Mats Bengtsson <mabe@drongo.s3.kth.se>
1701 * Documentation/user/tweaks.itely (Fitting music onto fewer
1702 pages): Add between-system-space setting.
1704 2006-09-21 Han-Wen Nienhuys <hanwen@lilypond.org>
1706 * lily/accidental-placement.cc (calc_positioning_done): don't
1707 trigger Y-extent calculation too early. Use pure_height instead.
1709 * lily/scale.cc (LY_DEFINE): new file.
1711 2006-09-20 Joe Neeman <joeneeman@gmail.com>
1713 * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1714 that happen at the start of a score: having a zero-length
1715 chunk was messing up min_system_count calculations.
1717 * lily/source-file.cc (get_line): lower_bound, not
1718 binary_search. Fixes problem where point-and-click would
1719 always point to the first line.
1721 2006-09-20 Han-Wen Nienhuys <hanwen@lilypond.org>
1723 * lily/accidental-placement.cc (calc_positioning_done): also put
1724 stems into accidental support.
1726 * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1729 * scm/script.scm (default-script-alist): avoid-slur and
1730 slur-padding for portato script.
1732 * lily/stem-tremolo.cc (translated_stencil): new function.
1733 (height): use new function. Fixes tremolos on whole notes.
1735 * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1738 2006-09-19 Han-Wen Nienhuys <hanwen@lilypond.org>
1740 * scripts/abc2ly.py (try_parse_comment): idem.
1742 * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1743 bar_string iso. string.find()
1747 * lily/slur.cc (get_curve): always use scm_is_pair() looping
1750 2006-09-18 Graham Percival <gpermus@gmail.com>
1752 * Documentation/user/basic-notation.itely: add bug
1753 warning about ties and octavation/clef.
1755 2006-09-18 Han-Wen Nienhuys <hanwen@lilypond.org>
1757 * VERSION (PACKAGE_NAME): release 2.9.18
1759 2006-08-29 Milan Zamazal <pdm@brailcom.org>
1761 * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1762 figure out midi file names right here.
1764 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1766 * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1768 * scm/backend-library.scm: option naming: gs-font-load*s*
1770 * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1773 2006-09-17 Joe Neeman <joeneeman@gmail.com>
1775 * scm/define-music-types.scm (music-descriptions): remove
1776 BreakEvent and fix {Page,Line}{Break,Turn}Event so
1777 Music::to_event doesn't complain.
1779 * lily/accidental-placement.cc (ape_compare):
1780 * lily/semi-tie.cc (compare):
1781 * lily/note-column.cc (shift_compare): replace by XXX_less
1783 * lily/tie-formatting-problem.cc (set_chord_outline):
1784 * lily/tie-column.cc (calc_positioning_done):
1785 * lily/system.cc (post_processing)
1787 * lily/stem.cc (note_head_positions)
1788 (calc_positioning_done):
1789 * lily/spanner.cc (do_break_processing)
1790 (find_broken_piece):
1791 * lily/span-bar.cc (print):
1792 * lily/semi-tie-column.cc (calc_positioning_done):
1793 * lily/rest-collision.cc (calc_positioning_done):
1794 * lily/program-option.cc (get_help_string):
1795 * lily/note-collision.cc (get_clash_groups):
1796 * lily/new-fingering-engraver.cc (position_scripts):
1797 * lily/keyword.cc (Keyword_table):
1798 * lily/hara-kiri-group-spanner.cc (request_suicide):
1799 * lily/grob-pq-engraver.cc (stop_translation_timestep):
1800 * lily/accidental-placement.cc (calc_positioning_done):
1802 * lily/beam.cc (get_beam_segments):
1803 * lily/grob-array.cc (remove_duplicates):
1806 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1807 ragged-last-bottom = ##f (test the new page breaker)
1809 * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1811 * scm/define-context-properties.scm
1812 (all-internal-translation-properties): remove properties that
1813 were used to communicate page-turn stuff to the paper-column
1816 * lily/lily-guile.cc (robust_scm2string): new function
1818 * lily/paper-column-engraver.cc: Clean up page turn stuff
1820 * lily/page-turn-engraver.cc: Re-write the page turn logic here
1821 instead of cluttering up paper-column-engraver.cc
1823 2006-09-17 Nicolas Sceaux <nicolas.sceaux@free.fr>
1825 * scm/layout-page-dump.scm (scm): export utility function names,
1826 to allow user writing cutsom dumping functions.
1828 * scm/layout-page-layout.scm: export utility function names to
1829 enable custom page breaking function writing. Tabify.
1830 (line-next-space): use ?-suffix only for predicates
1831 (page-maximum-space-to-fill): new function. Return the space
1832 between first and bottom system of a page, to give to
1834 (space-systems): use a space-to-fill argument (for instance as
1835 computed by page-maximum-space-to-fill) instead of computing
1836 internaly this space with the page height. That way, the caller
1837 can adjust the space to use.
1838 (make-page-from-systems, walk-paths): compute space to fill before
1839 calling space-systems.
1841 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1843 * scm/script.scm (default-script-alist): set paddings for every
1844 type here, increase for portato mark.
1846 * scm/lily.scm (define-scheme-options): typo: add s, so it is
1849 2006-09-16 Han-Wen Nienhuys <hanwen@lilypond.org>
1851 * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1852 use spanner::set-spacing-rods
1854 * lily/note-column.cc: reformat.
1856 * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1857 step positioning for note/rest combinations.
1859 * input/regression/rest-note-collision.ly: new file.
1861 * scm/define-grobs.scm (all-grob-descriptions): add
1864 * flower/include/std-vector.hh: switch off again.
1866 * VERSION (PATCH_LEVEL): bump to 2.9.18
1868 * flower/include/std-string.hh: idem.
1870 * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1872 2006-09-15 Mats Bengtsson <mabe@drongo.s3.kth.se>
1874 * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1877 2006-09-08 Joe Neeman <joeneeman@gmail.com>
1879 * Documentation/user/page.itely: update page breaking documentation
1881 2006-09-07 Han-Wen Nienhuys <hanwen@lilypond.org>
1883 * lily/note-collision.cc (calc_positioning_done): only access
1884 first head if available.
1886 * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1888 * scm/framework-ps.scm (output-preview-framework): use new name.
1890 * lily/program-option.cc (internal_set_option): use new names.
1892 * Documentation/user/SConscript (lilypond_book_flags): update -d
1895 * Documentation/user/lilypond-book.itely (Inserting LilyPond
1896 output into other programs): new variable names.
1898 * scm/lily.scm (define-scheme-options): uniformize var names.
1900 * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1901 tuplets_ is non-empty before popping.
1903 2006-09-07 Joe Neeman <joeneeman@gmail.com>
1905 * lily/spanner.cc (find_broken_piece):
1906 * lily/spacing-spanner.cc (get_columns):
1907 * lily/source-file.cc (get_line):
1908 * lily/simple-spacer.cc (get_column_description):
1909 * lily/keyword.cc (lookup):
1910 use the new binary search.
1912 * flower/include/std-vector.hh: replace binary_search with
1913 a more STL-like version
1915 2006-09-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1917 * lily/tie-performer.cc: remove unused last_event_ property.
1918 (class Tie_performer): add now_tied_heads_ property for
1919 partially-tied heads.
1920 (acknowledge_audio_element): when adding an Audio_note, put the
1921 note in now_tied_heads_ if the audio note is partially tied.
1922 (stop_translation_timestep): always include entries in
1923 now_tied_heads_ in heads_to_tie_.
1925 * lily/drum-note-performer.cc (process_music): look for tie-events
1926 in the articulations; pass to Audio_note constructor.
1928 * lily/note-performer.cc (process_music): look for tie-events in
1929 the articulations; pass to Audio_note constructor.
1931 * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1934 * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1935 include initializer in constructor.
1937 2006-09-02 Joe Neeman <joeneeman@gmail.com>
1939 * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1940 unless they are breakable. This fixes discrepancies between the forces
1941 calculated here and the forces calculated in get_line_configuration.
1943 * lily/grob.cc (pure_relative_y_coordinate): fix some
1944 mis-estimation that was happening with piano staves.
1946 * lily/constrained-breaking.cc (resize): don't choke if we get a
1947 measure that won't fit on a line.
1948 (combine_demerits): don't consider uniformity when ragged
1950 * lily/page-spacing.cc (solve): why the f* were there two of these?
1951 (calc_subproblem): properly handle the case where a system is taller
1954 * lily/system.cc (get_paper_system): ensure that all the permissions
1955 and penalties are passed to the paper systems.
1957 * lily/page-breaking.cc (create_system_list): support system-count.
1959 * scm/define-grobs.scm (pure-print-callbacks): add
1960 ly:script-interface::print
1962 * lily/page-spacing.cc (min_page_count): fix calculation of min
1963 pages if we are ragged and there are non-zero springs.
1965 * scm/layout-page-layout.scm: if the pure-height estimates are under
1966 the real height, allow space-systems to ignore padding if it is
1967 needed in order to fit the systems on one page
1969 * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
1971 (solve): fix performance problem. Make sure we always get at least
1974 * lily/page-breaking.cc (make_pages): include write-page-breaks
1977 * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
1979 * scm/define-grobs.scm: add the new slur-callback
1980 fix pure-relevant to not exclude grobs whose extent is already
1983 * ly/paper-defaults.ly: make ly:optimal-breaking the new default
1986 * lily/slur.cc (pure_height): new callback to estimate the height
1989 2006-09-02 Graham Percival <gpermus@gmail.com>
1991 * Documentation/user/invoking.itely: small update on
1992 MacOS X notes; thanks Trevor!
1994 2006-09-01 Han-Wen Nienhuys <hanwen@lilypond.org>
1996 * VERSION (MY_PATCH_LEVEL): release 2.9.17
1998 * lily/lexer.ll: accept EOF in all states.
2000 * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
2002 * lily/source-file.cc (Source_file): always 0-terminate character
2003 array, to prevent Flex from barfing.
2005 * lily/global-context.cc (get_output): robustness: don't crash if
2006 no Score context found.
2008 * lily/include/book.hh (class Book): idem.
2010 * lily/include/context-def.hh (struct Context_def): idem.
2012 * lily/include/score.hh (class Score): don't derive from Input.
2014 * lily/book.cc (Book): add a copy ctor.
2016 * buildscripts/output-distance.py (FileLink.calc_distance): count
2017 orphans in distance too.
2019 * python/midi.c (midi_parse_track): robustness: don't read past
2022 * ly/performer-init.ly: add Control_track_performer, move
2023 Tempo_performer and Time_signature_performer to Score.
2025 * lily/score-performer.cc (acknowledge_audio_elements): override
2026 from base class: add to audio-columns
2028 * lily/control-track-performer.cc (add_text): new file: generate
2031 * lily/performance.cc: move output_header_track to
2032 Control_track_performer ()
2034 * lily/midi-walker.cc (Midi_walker): get channel in constructor.
2036 * lily/include/midi-item.hh (class Midi_channel_item): insert
2037 class into hierarchy, for items that can have a channel setting. Dehungarify.
2039 * lily/include/performer.hh (class Performer): remove
2040 play_element(); move functionality into announce/acknowledge.
2042 * lily/audio-staff.cc (output): remove channel_ from Midi_track.
2044 * lily/tie-engraver.cc (stop_translation_timestep): only wipe
2045 heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties.
2047 2006-08-28 Han-Wen Nienhuys <hanwen@lilypond.org>
2049 * lily/tie-engraver.cc (stop_translation_timestep): robustness for
2052 * lily/all-font-metrics.cc: remove TFM support.
2054 * lily/include/tfm.hh: remove TFM support, TFM reader.
2056 * lily/include/binary-source-file.hh: remove Binary_source_file.
2058 2006-08-27 Graham Percival <gpermus@gmail.com>
2060 * Documentation/topdocs/NEWS.itely: add @c marker for
2061 stuff I've processed.
2063 * Documentation/user/ various: info from NEWS.
2065 2006-08-27 Joe Neeman <joeneeman@gmail.com>
2067 * lily/paper-column-engraver.cc (finalize): Oops, this change
2068 should have gone in on 2006-08-23
2070 2006-08-26 Mats Bengtsson <mabe@s3.kth.se>
2072 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
2073 quotes to quote arguments. Fixes Windows problem.
2075 * python/lilylib.py (progress): idem
2077 2006-08-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2079 * scripts/musicxml2ly.py: fix for importing
2080 minor key signatures from MusicXML. (Phillip Kirlin)
2082 2006-08-24 Phillip Kirlin <pkirlin@acm.org>
2084 * python/musicxml.py:
2085 (Attributes.get_key_signature): now correctly retrieves mode from
2088 2006-08-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2090 * lily/parser.yy (output_def_body): take ownership of identifier
2093 * Documentation/user/advanced-notation.itely (Metronome marks):
2094 update use of \tempo in \midi.
2096 * VERSION: release 2.9.16
2098 2006-08-24 Erik Sandberg <mandolaerik@gmail.com>
2100 * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
2103 2006-08-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2105 * input/regression/tie-chord-partial.ly: clarify example.
2107 * scm/define-music-properties.scm (all-music-properties): remove
2110 * ly/music-functions-init.ly: remove \untied.
2112 * lily/tie-engraver.cc (struct Head_event_tuple): store both
2113 stream events and music events.
2114 (stop_translation_timestep): search acknowledged heads for
2117 * input/regression/tie-chord-partial.ly: new file.
2119 * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
2120 for \char markup command.
2122 * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2124 * scm/define-music-types.scm (music-descriptions): consistency:
2125 Use solo-{one,two}-event iso. solo-[12]-event.
2127 * lily/part-combine-engraver.cc (process_music):
2128 Use solo-{one,two}-event iso. solo-[12]-event.
2130 * ly/declarations-init.ly (partCombineListener): add Timing as
2133 * flower/std-string.cc (string_copy): use copy ()
2135 * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2137 2006-08-24 Graham Percival <gpermus@gmail.com>
2139 * Documentation/user/changing-defaults.itely, global.itely,
2140 lilypond-book.itely, page.itely: minor changes from mailist.
2142 2006-08-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2144 * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2147 * scm/define-context-properties.scm
2148 (translator-property-description): robustness: detect type errors
2149 in property definitions.
2151 * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2152 after getting it from SCM.
2154 * lily/smobs.cc (protect_smob): switch off fancy smob protection
2157 * lily/include/performer.hh (class Performer): strip get_tempo()
2160 * lily/midi-def.cc: strip file.
2162 * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2164 * lily/include/context-def.hh (struct Context_def): use
2165 VIRTUAL_COPY_CONSTRUCTOR().
2167 * lily/source-file.cc: smobification.
2169 * lily/include/source-file.hh (class Source_file): smobify
2170 Source_file. Trim redundant members.
2172 * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2173 clones after creation. This plugs a huge memory leak.
2175 * python/convertrules.py (FatalConversionError.sub_tempo):
2176 complete rule for \midi{ \tempo }
2178 * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2180 * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2182 2006-08-23 Joe Neeman <joeneeman@gmail.com>
2184 * input/regression/optimal-page-breaking-hstretch.ly: test for
2185 ragged-last-bottom also
2187 * lily/paper-column-engraver.cc (finalize): make the end of a score
2188 breakable by default. This is to balance out a change in behaviour
2189 of the page-turn-breaker which no longer makes the end of a score
2192 * lily/paper-book.cc (pages): set the systems_ once the pages are
2195 * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2196 Page_breaking interface.
2198 * lily/page-breaking.cc (class Page_breaking): make the interface
2199 more consistent and provide abstractions for dealing with
2202 * lily/optimal-page-breaking.cc (solve): use a more straightforward
2203 algorithm. Use the new interface to Page_breaking.
2205 * lily/page-spacing.cc: better support for ragged-bottom and
2208 2006-08-22 Han-Wen Nienhuys <hanwen@lilypond.org>
2210 * python/convertrules.py (conv): warning on \tempo{}
2212 * ly/performer-init.ly: set tempoWholesPerMinute.
2214 * ly/midi-init.ly: remove \midi
2216 * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2219 * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2220 tempoUnitDuration for determining what to print.
2222 * lily/lyric-extender.cc: typo.
2224 * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2226 * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2229 * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2231 * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2232 eps-pad-boxes is set.
2234 * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2236 * THANKS: update sponsors.
2238 * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2240 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2242 * input/regression/tie-chord-untied.ly: new file.
2244 * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2246 * scm/define-music-properties.scm (all-music-properties): add
2249 * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2251 (headertext_nopics): sanitize no-examples text.
2253 * scm/page.scm (make-page-stencil): don't rely on extents of
2254 page-stencil. This fixes spurious space around .EPS files produced
2255 with the EPS backend.
2257 2006-08-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2259 * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2261 * lily/hara-kiri-engraver.cc (process_music): remember
2262 keepAliveInterfaces after processing \set
2264 * lily/lyric-extender.cc (print): support left/right-padding for
2267 * scm/documentation-generate.scm (string-append): revert lilypond/
2270 2006-08-20 Graham Percival <gpermus@gmail.com>
2272 * Documentation/user/lilypond.tely: clarification to
2273 license presentation (not to actual license).
2275 * Documentation/user/basic-notation.itely,
2276 instrument-notation.itely: minor changes.
2278 * input/ {regression, test}/+.ly: clarification to
2279 text (you can click on examples). Thanks, Mats!
2281 * input/manual/bar-lines.ly: adds ||: repeats.
2283 2006-08-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2285 * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES
2287 * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2289 * Documentation/user/lilypond.tely: strip lilypond/ from info
2290 links, rename to category LilyPond
2292 * lily/pango-font.cc (description_string): new function.
2294 * VERSION: release 2.9.15
2296 * lily/spacing-engraver.cc (stop_translation_timestep): use
2297 Dscho's fix for spacing spanner.
2299 * scm/define-music-types.scm (music-descriptions): use
2300 apply-output-event for ApplyOutputEvent
2302 * lily/output-property-engraver.cc (listen_apply_output): rename
2303 from listen_layout_instruction.
2305 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2308 2006-08-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2310 * scm/lily.scm (lilypond-all): option read-file-list: substitute
2311 commandline args with contains, split by \n.
2313 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2314 write snippet-names file, call with -dread-file-list. Fixes
2315 command limitations on 64-bit systems.
2317 * input/regression/stencil-color-rotation.ly: new file.
2319 * lily/include/translator.hh (struct Acknowledge_information):
2320 revert: don't use Protected_scm in global objects, as GUILE can't
2321 handle gc_unprotect from automated destructors on MacOS X.
2323 * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2324 color, not the original stencil. Fixes combinations of
2325 color/transparency/rotation.
2327 * scripts/lilypond-book.py (main): add --formats=eps for
2330 * lily/spacing-engraver.cc (stop_translation_timestep): don't
2331 crash if spacing_ is nonexistent.
2333 2006-08-14 Mats Bengtsson <mabe@s3.kth.se>
2335 * scripts/lilypond-book.py (output): Remove obsolete(!?)
2336 \catcode`\@=12 in the LaTeX output.
2338 2006-08-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2340 * scm/define-music-types.scm (music-descriptions):
2341 use sustain-event iso. sustain-pedal-event.
2343 2006-08-11 Joe Neeman <joeneeman@gmail.com>
2345 * scripts/convert-ly.py: honour the -n command-line switch
2347 2006-08-10 Han-Wen Nienhuys <hanwen@lilypond.org>
2349 * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2350 break specification.
2352 2006-08-10 Joe Neeman <joeneeman@gmail.com>
2354 * Documentation/user: convert-ly the user manual
2356 2006-08-09 Han-Wen Nienhuys <hanwen@lilypond.org>
2358 * stepmake/aclocal.m4: version check patch (thanks MWD)
2360 * ly/music-functions-init.ly: robustness. Don't crash if
2361 currentBarNumber is not a number.
2363 * VERSION (PATCH_LEVEL): bump.
2365 2006-08-08 Han-Wen Nienhuys <hanwen@lilypond.org>
2367 * stepmake/aclocal.m4: better version check; handle fooX.Y
2370 * ly/performer-init.ly: instrument name fixup.
2372 * input/manual/chord-names-jazz.ly (banterProperties):
2373 instrumentName update
2375 * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2377 * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2379 * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2380 function. Use hash tables to check membership.
2382 * lily/general-scheme.cc (LY_DEFINE): new function.
2384 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2386 * lily/include/translator.hh (struct Acknowledge_information): add
2389 * ly/music-functions-init.ly: change name to BreathingEvent
2391 * input/regression/*.ly: apply it.
2393 * python/convertrules.py (conv): better instrumentName conversion
2396 * scm/define-music-types.scm (music-descriptions): add
2397 line-break-event to LineBreakEvent music
2399 * lily/music.cc (to_event): don't crash if music type not set.
2401 * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2404 * lily/spacing-engraver.cc (stop_translation_timestep): set
2405 spacing for proportional notation too.
2407 * scm/translation-functions.scm (format-bass-figure): inspect
2410 * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2412 2006-08-08 Joe Neeman <joeneeman@gmail.com>
2414 * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2416 * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2418 * scm/layout-page-layout.scm (make-page-from-systems): new function
2419 (optimal-page-breaks): use the new page-breaking calling convention
2421 * scm/define-context-properties.scm (all-user-translation-properties):
2424 * lily/paper-column-engraver.cc (stop_translation_timestep): add
2425 revokePageTurns functionality. If there is a special barline within
2426 the breakable region, break there instead of at the end of the region.
2428 * lily/paper-book.cc (pages): use the new page-breaking calling
2431 2006-08-07 Erik Sandberg <mandolaerik@gmail.com>
2433 * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2435 * scripts/lilypond-book.py: insert \sourcefileline command in
2436 output, so lilypond error messages refer to the spot in the
2437 original .lytex / .itely sourcefile.
2439 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2441 * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2442 space to next column for distance to fixed col.
2444 * VERSION (PACKAGE_NAME): release 2.9.14
2446 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2449 * lily/accidental-engraver.cc (process_acknowledged): don't create
2450 accidental for trill span event. This fixes spurious accidentals
2453 2006-08-04 Mats Bengtsson <mabe@s3.kth.se>
2455 * scm/define-grob-properties.scm (all-user-grob-properties):
2456 Clarify documentation of side-axis and direction. Thanks to Paul
2457 for the inspiration.
2459 * lily/bar-line.cc: Add documentation for "||:" also in the
2460 interface documentation.
2462 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2464 * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2466 * lily/paper-column.cc (set_system): new function.
2468 * lily/spacing-engraver.cc (stop_translation_timestep): store
2469 SpacingSpanner refs in Paper_column.
2471 * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2472 compute loose clique spacing using GraceSpacing/SpacingSpanner.
2474 2006-08-03 Han-Wen Nienhuys <hanwen@lilypond.org>
2476 * lily/beam-engraver.cc (listen_beam): add method for
2477 Grace_beam_engraver too.
2479 2006-08-03 Mats Bengtsson <mabe@s3.kth.se>
2481 * python/convertrules.py: Fix indentation bug that broke
2482 conversion of files older than 1.3.117.
2483 Fix escape error in the description for 2.9.6.
2485 2006-08-02 Erik Sandberg <mandolaerik@gmail.com>
2487 * lily/*-engraver.cc: convert all try_music functions to listen_*
2490 * lily/piano-pedal-engraver.cc: some additional cleanups: use
2491 enums to represent pedal types, and calculate more data statically.
2493 * scm/part-combiner.scm (recording-group-emulate): create a
2494 softcoded substitute for recording-group-engraver.cc.
2496 * lily/music.cc: make a common transpose function for events and
2499 * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2500 ManualMelismaEvent, and obsoletes Melisma_translator.
2502 2006-08-02 Han-Wen Nienhuys <hanwen@lilypond.org>
2504 * input/test/instrument-name-align.ly: update version.
2506 2006-08-02 Mats Bengtsson <mabe@s3.kth.se>
2508 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2509 Doc the --pdf flag to lilypond-book.
2511 2006-07-31 Han-Wen Nienhuys <hanwen@lilypond.org>
2513 * Documentation/topdocs/NEWS.tely (Top): add description.
2515 * input/regression/tuplet-full-length-note.ly: add file.
2517 * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2518 always store axis group.
2520 2006-07-27 Han-Wen Nienhuys <hanwen@lilypond.org>
2522 * input/regression/instrument-switch.ly: new file.
2524 * lily/instrument-switch-engraver.cc (process_music): new file.
2526 * ly/engraver-init.ly: add Instrument_switch_engraver
2528 * ly/music-functions-init.ly: \instrumentSwitch
2530 * scm/define-context-properties.scm
2531 (all-user-translation-properties): add instrumentCueName
2533 * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2535 2006-07-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2537 * ly/music-functions-init.ly: music function \transposition.
2539 * lily/parser.yy (command_element): softcode \transposition.
2541 * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2542 (process_music): oops.
2544 * lily/instrument-name-engraver.cc (start_spanner): new
2545 function. Create spanner when property changes.
2546 (stop_spanner): new function.
2548 * python/convertrules.py (conv): add rule.
2550 * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2551 shortInstrumentName iso. instr.
2553 * scm/output-ps.scm (dashed-line): add phase argument to
2556 * lily/bar-line.cc (dashed_bar_line): new function.
2557 (compound_barline): support \bar "dashed".
2559 * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2560 --output=DIR to DIR/BASE if it is a dir.
2562 * flower/file-name.cc (file_part): new function
2563 (dir_part): new function
2565 * lily/lily-parser-scheme.cc (LY_DEFINE):
2567 * DEDICATION: update
2569 2006-07-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2571 * lily/instrument-name-engraver.cc: formatting.
2573 * python/convertrules.py (conv): bugfix for \epsfile.
2575 2006-07-25 Joe Neeman <joeneeman@gmail.com>
2579 * lily/gourlay-breaking.cc: Oops, these should have been included
2582 2006-07-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2584 * scripts/*.py (program_name): cleanup relocation snippets.
2586 * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2588 2006-07-24 Joe Neeman <joeneeman@gmail.com>
2590 * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2591 page-breakable by default
2593 * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2594 correctly calculated for a single-system page
2596 * scm/lily-library.scm (interval-sane?): also check that the first number is no
2597 bigger than the second number
2599 * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2600 acknowledge that we aren't satisfying constraints)
2602 * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2605 * lily/grob.cc (pure_height): add minimum-Y-extent
2607 * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2610 * lily/constrained-breaking.cc: convert code to use new Matrix class
2611 (get_best_solution): new function
2613 * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2614 is a page with no systems
2616 2006-07-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2618 * VERSION (PACKAGE_NAME): release 2.9.13
2620 * scm/define-grobs.scm (all-grob-descriptions): remove stray
2623 2006-07-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2625 * Documentation/topdocs/NEWS.tely (Top): doc new features.
2627 * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2630 * scm/define-grob-properties.scm (all-user-grob-properties):
2631 remove grace-space-factor.
2633 * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2634 grace-spacing-interface
2635 (spacing-options-interface): add.
2637 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2639 * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2641 * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2642 GraceSpacing object.
2644 * lily/note-spacing.cc: fix prop list formatting
2646 * lily/beaming-pattern.cc (de_grace): new function. Sensible
2647 beaming for grace notes too.
2649 * input/regression/spacing-grace.ly: update.
2651 * lily/grace-spacing-engraver.cc: new file.
2653 * lily/spacing-spanner.cc: add strict-grace-spacing.
2655 2006-07-20 Graham Percival <gpermus@gmail.com>
2657 * lily/parser.yy: compile fix.
2659 2006-07-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2661 * scm/define-grobs.scm (all-grob-descriptions): typo.
2663 * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2664 .eps extension from includegraphics.
2666 * scripts/lilypond-book.py (main): add support for --pdf.
2668 * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2669 callback to compute common shortest duration.
2670 (set_springs): typo.
2672 * scm/define-grob-properties.scm (all-user-grob-properties): add
2673 strict-grace-spacing.
2675 * lily/spacing-determine-loose-columns.cc (is_loose_column):
2676 support float_grace_columns_.
2678 * lily/spacing-options.cc (init_from_grob): new file.
2680 * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2682 * input/regression/spacing-loose-grace.ly: new file.
2684 * Documentation/topdocs/NEWS.tely (Top): document new feature.
2686 * lily/tuplet-engraver.cc (struct Tuplet_description): read
2687 tupletFullLengthNote too. Choose right bound depending on value.
2689 * input/regression/tuplet-full-length-note.ly: new file.
2691 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2693 * lily/*-performer.cc: Converted try_music to listen_*
2695 * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2696 as a stream-event internally. Introduce event_cause (), deprecate
2699 * scm/define-music-types.scm: Removed BusyPlayingEvent
2701 2006-07-19 Mats Bengtsson <mabe@s3.kth.se>
2703 * Documentation/user/advanced-notation.itely (Font selection):
2704 Document how to get a list of available fonts using 'lilypond
2705 -dshow-available-fonts blabla'.
2707 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2709 * GNUmakefile.in: filter lily-XXX.pdf files.
2711 * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2713 * scm/define-grob-properties.scm (all-internal-grob-properties):
2714 remove delta-pitch. Use delta-position everywhere.
2716 * scm/output-lib.scm (fall::print): use new order.
2718 * scm/output-ps.scm (path): reorder arguments.
2720 * scm/output-svg.scm (path): support for path primitive.
2722 * input/regression/bend-after.ly: new file.
2724 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2725 recipe for eps -> pdf conversion.
2727 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2729 * lily/parser.yy, lily/lexer.ll: added some simplifications by
2732 2006-07-19 Graham Percival <gpermus@gmail.com>
2734 * input/manual/screech-boink.ly: moved to here.
2736 * input/screech-boink.ly: deleted.
2738 * scm/define-grob-properties.scm: clarify doc string.
2740 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2742 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2744 * scm/output-ps.scm (path): define path.
2746 * scm/define-stencil-commands.scm
2747 (ly:register-stencil-expression): add path.
2749 * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2751 * ly/engraver-init.ly: add Fall_engraver
2753 * lily/parser.yy (music_function_event): allow musicfunction
2754 without music arg as music_function_event.
2756 * lily/grob-scheme.cc (LY_DEFINE):
2757 ly:grob-robust-relative-extent. New function.
2759 * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2761 * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2763 * scm/output-lib.scm (fall::print): new function
2765 * lily/fall-engraver.cc (stop_fall): new file.
2767 * ly/music-functions-init.ly: alphabetise.
2769 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2772 2006-07-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2774 * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2776 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2779 * lily/translator-group.cc (connect_to_context): non const error message.
2781 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2783 * scm/paper.scm (internal-set-paper-size): define landscape to #f
2786 * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape.
2788 * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2790 * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2793 * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2795 * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2797 * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2799 * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2801 * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2803 * scm/backend-library.scm (postscript->pdf): strip .eps too.
2805 2006-07-14 Nicolas Sceaux <nicolas.sceaux@free.fr>
2807 * scm/layout-page-layout.scm: Define module, tidy code, use more
2808 functions iso. a single big one.
2810 * scm/layout-page-dump.scm: move page dump functions used in two
2811 pass spacing to this file. Define module.
2813 * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2816 * ly/paper-defaults.ly: use module layout-page-layout.
2818 2006-07-14 Erik Sandberg <mandolaerik@gmail.com>
2820 * lily/music.cc: Revised MusicEvent event class. It now contains
2821 event data directly instead of encapsulating it in music. The
2822 previously used class is renamed to OldMusicEvent.
2824 * lily/stream-event.cc: Stream events are now probs.
2826 * lily/translator-group.cc, lily/translator.cc: Translators can
2827 now listen directly to stream events, by using macros
2828 [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2830 * lily/arpeggio-engraver.cc: Converted to use new event system
2832 * THANKS: Corrected spelling mistake.
2834 2006-07-12 Graham Percival <gpermus@gmail.com>
2836 * Documentation/user/SConscript, make/lilypond-vars.make,
2837 input/GNUmakefile: doc build looks in input/manual instead
2840 * input/manual/ GNUmakefile, SConscript: build files for
2843 * input/test/ various: some files moved to input/manual/
2845 * Documentation/user/basic-notation.itely: small updates;
2846 thanks Kieren and Charles!
2848 2006-07-12 Han-Wen Nienhuys <hanwen@lilypond.org>
2850 * VERSION (PACKAGE_NAME): release 2.9.11
2852 * Documentation/topdocs/NEWS.tely (Top): update prop value
2854 * Documentation/user/basic-notation.itely (Tuplets): new property
2857 2006-07-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2859 * python/convertrules.py (conv): tweaks.
2861 * VERSION (PATCH_LEVEL): bump version.
2863 * python/convertrules.py (conv): add rule for
2864 tupletNumberFormatFunction.
2866 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2867 tupletNumberFormatFunction.
2869 * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2870 text through 'text callback.
2872 * lily/time-scaled-music-iterator.cc (construct_children): copy
2873 tweaks generated events.
2875 * scm/define-context-properties.scm
2876 (all-user-translation-properties): remove tupletNumberFormatFunction
2878 * lily/tuplet-engraver.cc (process_music): don't read
2879 tupletNumberFormatFunction
2881 * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2884 2006-07-11 Erik Sandberg <mandolaerik@gmail.com>
2886 * lily/global-context-scheme.cc: Separated ly:run-translator into
2889 * lily/score-engraver.cc, lily/score-performer.cc,
2890 scm/define-context-properties.scm: Make paper/midi output
2891 accessable as a context property.
2893 * lily/score-translator.cc, lily/score-context.cc: Removed.
2895 2006-07-07 Guido Amoruso <guidonte@katamail.com>
2897 * scm/ps-to-png.scm (Module):
2898 * scm/framework-tex.scm (Module):
2899 * scm/framework-ps.scm (Module):
2900 * scm/backend-library.scm (Module):
2901 * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2902 "dDEVICEHEIGHTPOINTS".
2904 2006-07-04 Graham Percival <gpermus@gmail.com>
2906 * Documentation/user/ various: general improvements to
2907 "working with lilypond files" section.
2909 2006-07-03 Erik Sandberg <mandolaerik@gmail.com>
2911 * lily/sequential-iterator.cc: Change the default get_music_list
2912 to read elements-callback music property
2914 * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2915 processing of multimeasure rests. Softcoded
2916 sequential-music-iterator.
2918 * lily/sequential-music-iterator.cc: Removed.
2920 2006-06-28 Graham Percival <gpermus@gmail.com>
2922 * Documentation/user/basic-notation.itely: clarify \repeatTie.
2924 2006-06-27 Erik Sandberg <mandolaerik@gmail.com>
2926 * lily/parser.yy: Wrap non-post-events in EventChords before
2927 assigning them to identifiers.
2929 2006-06-27 Mats Bengtsson <mabe@s3.kth.se>
2931 * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2932 gives correct vertical placement of \bar ":" in all staff
2933 sizes. Thanks Martial!
2935 2006-06-26 Graham Percival <gpermus@gmail.com>
2937 * Documentation/user/invoking.itely : minor update from mailist.
2939 2006-06-26 Erik Sandberg <mandolaerik@gmail.com>
2941 * lily/ various: Introduce stream events of types Prepare,
2942 OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2943 ChangeContext, SetProperty, RevertProperty, Override and Revert.
2945 * lily/global-context*.cc: Time is now -inf before iteration
2948 * lily/include/context.hh: Removed unique_, init_
2950 * Documentation/topdocs/NEWS: Make the feathered beam example
2951 avoid triggering a bug.
2953 2006-06-24 Graham Percival <gpermus@gmail.com>
2955 * Documentation/user/ various: small additions from mailist.
2957 2006-06-22 Mats Bengtsson <mabe@s3.kth.se>
2959 * ly/performer-init.ly: Add some missing links in the context
2960 hierarchy for MIDI output. There are probably some more missing!
2962 2006-06-21 Graham Percival <gpermus@gmail.com>
2964 * Documentation/user/ various: minor spelling fixes;
2965 thanks Dave Luttinen!
2967 * Documentation/user/ various: small clarifications;
2968 thanks Anthony Youngman!
2970 2006-06-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2972 * po/fr.po: add \n appropriately.
2974 * lily/lexer.ll: remove ? from version-seen?
2976 2006-06-19 John Mandereau <john.mandereau@free.fr>
2978 * po/fr.po; update translation, by Jean-Charles Malahieude and
2981 2006-06-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2983 * THANKS: add Markus Schneider.
2985 * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
2986 Staff_symbol_engraver
2988 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
2989 replace staff_engraver
2991 * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
2994 * lily/staff-collecting-engraver.cc
2995 (acknowledge_end_staff_symbol): new function
2997 * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function.
2999 * lily/staff-collecting-engraver.cc
3000 (acknowledge_end_staff_symbol): new function.
3002 * lily/main.cc: switch on relocation by default.
3004 2006-06-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3006 * lily/spacing-spanner.cc (musical_column_spacing): set
3007 compound_fixed_note_space to 0.0. Document why.
3009 * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
3010 range of inverse_hooke_
3011 (Simple_spacer): init completely.
3013 (get_line_configuration): don't use cols.resize(); it introduces
3016 * scm/framework-ps.scm (dump-page): add setstrokeadjust.
3018 * ps/music-drawing-routines.ps: remove selectfont L1 hack.
3020 * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
3021 try. Divide by beatlength.
3023 * input/regression/beaming-ternary-metrum.ly: update doc.
3024 add beatLength hack.
3026 * scm/music-functions.scm (make-time-signature-set): add
3027 standard-beat-grouping.
3029 2006-06-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3031 * input/regression/tie-whole.ly: new file.
3033 * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
3034 cross center of note head in case of invisible stem.
3036 2006-06-16 Graham Percival <gpermus@gmail.com>
3038 * Documentation/user/ various: small fixes from mailist.
3040 2006-06-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3042 * lily/breathing-sign.cc (offset_callback): idem.
3044 * lily/align-interface.cc (align_to_fixed_distance): remove
3047 * lily/beaming-pattern.cc (count_factor_twos): oops. We want
3050 2006-06-15 Han-Wen Nienhuys <hanwen@lilypond.org>
3052 * VERSION (PACKAGE_NAME): release 2.9.9
3054 * ly/lilypond-book-preamble.ly: add \version
3056 2006-06-14 Han-Wen Nienhuys <hanwen@lilypond.org>
3058 * scripts/lilypond-book.py (PREAMBLE_LY): include
3059 lilypond-book-preamble.ly
3061 * lily/stem.cc (get_beaming): return max of 0 and
3062 scm_ilength. Fixes slurring from/to beams.
3064 * ly/lilypond-book-preamble.ly: new file.
3066 * lily/slur.cc: add inspect-index feature.
3068 2006-06-13 Graham Percival <gpermus@gmail.com>
3070 * Documentation/user/tutorial.itely: trivial fix.
3072 2006-06-13 Erik Sandberg <mandolaerik@gmail.com>
3074 * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
3075 all non-event music in the parser via MAKE_SYNTAX.
3077 * lily/parser-scheme.cc: Add ly:parser-error function
3079 * scm/paper.scm: fix typo
3081 2006-06-13 Han-Wen Nienhuys <hanwen@lilypond.org>
3085 * lily/font-config.cc (init_fontconfig): add warning if cache_file
3088 * buildscripts/output-distance.py (test_compare_signatures):
3090 (read_signature_file): use new signature format.
3092 * scm/stencil.scm (write-system-signature): simpler signature
3095 * lily/stem.cc (calc_stem_end_position): calc quantized-positions
3098 * lily/note-spacing.cc (stem_dir_correction): don't inspect
3099 stem_end_position, but estimate instead.
3101 * lily/tuplet-bracket.cc (calc_positions): look at
3102 stem-end-position for tuplet bracket slope. Fixes sloped tuplet
3103 brackets narrower than beams.
3105 * lily/lexer.ll: set version-seen? even if version is
3108 * lily/rest.cc (y_offset_callback): bugfix: decide position
3109 override based on scm_is_number(). Fixes \rest on center staff
3112 * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
3113 patterns for 16th triplets.
3115 2006-06-10 Graham Percival <gpermus@gmail.com>
3117 * Documentation/user/ page.itely, global.itely: editing
3120 * Documentation/user/ various: findex -> funindex.
3122 2006-06-10 Erik Sandberg <mandolaerik@gmail.com>
3124 * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3125 insert extra tuplet events.
3127 2006-06-10 Graham Percival <gpermus@gmail.com>
3129 * Documentation/user/programming-interfaces.itely: add
3132 * python/convertrules.py: add annotatefoo -> annotate-foo
3135 * Documentation/user/global.itely: start editing.
3137 * Documentation/user/page.itely: major editing, new spacing
3140 2006-06-10 Han-Wen Nienhuys <hanwen@lilypond.org>
3142 * scm/define-markup-commands.scm (wordwrap-markups): use
3143 output-def 'line-width if undefined.
3145 * HACKING: trim outdated info.
3147 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3149 * scm/define-grobs.scm (all-grob-descriptions): Add
3150 line-spanner-interface to all grobs that already have
3151 text-spanner-interface or dynamic-text-spanner-interface
3153 * scm/page.scm: Rename annotate{headers,systems,page}->
3156 * input/regression/page-spacing.ly,
3157 input/regression/page-layout-manual-position.ly: idem
3159 2006-06-09 Han-Wen Nienhuys <hanwen@lilypond.org>
3161 * lily/line-spanner.cc: cleanup property list.
3163 * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3164 generator expressions (2.3 compat).
3166 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3168 * lily/vertical-align-engraver.cc: Make sure that the
3169 align{Above,Below}Context properties are included in the automatic
3172 2006-06-08 Joe Neeman <joeneeman@gmail.com>
3174 * scm/paper-system.scm (paper-system-annotate): also annotate the
3175 estimated pure-Y-extent
3177 * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3179 * lily/system.cc (break_into_pieces): set the estimated height
3180 of each child system
3182 * lily/stem.cc (pure_height): new pure-Y-extent callback
3184 * lily/staff-symbol-referencer.cc (callback): don't destroy
3185 the staff-position property
3187 * lily/hara-kiri-group-spanner.cc (request_suicide): split
3188 consider_suicide into two functions
3190 * lily/constrained-breaking.cc (resize): use the new pure
3191 callbacks to estimate the height of a system
3193 * lily/axis-group-interface.cc (pure_group_height): new
3194 side-effect-free VerticalAxisGroup height-callback
3196 * lily/align-interface.cc (get_extents_aligned_translates):
3197 split align_elements_to_extents into two functions
3198 (get_pure_child_y_translation): new function
3200 * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3202 * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3204 * lily/paper-score.cc: cache break_indices and columns
3206 * lily/side-position-interface.cc: new pure-Y-extent callbacks
3208 2006-06-08 Han-Wen Nienhuys <hanwen@lilypond.org>
3210 * lily/font-config.cc (init_fontconfig): do the init if
3211 cache_file, but don't look at cache_file.
3213 * input/regression/quote-tie.ly: new file.
3215 * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3216 to Head_event_tuple, so we deal gracefully with ties on
3219 * lily/pango-font.cc (pango_item_string_stencil): type correctness
3222 2006-06-08 Graham Percival <gpermus@gmail.com>
3224 * input/test/ smart-transpose.ly, reverse-music.ly:
3225 \applyMusic to music functions update, thanks Michael!
3227 2006-06-07 Graham Percival <gpermus@gmail.com>
3229 * input/test/ add-staccato.ly, add-text-script.ly,
3230 unfold-all-repeats.ly, music-box.ly: \applyMusic to
3231 music functions update, thanks to Michael Meixner.
3233 * Documentation/user/music-glossary.tely: small fix
3236 * Documentation/user/ various: minor additions from mailist.
3238 * Documentation/user/lilypond.tely, basic-notation.itely:
3239 small test of @funindex. (works here)
3241 * input/test/font-table.ly: reduce size to partially
3242 de-ugly version in manual.
3244 * Documentation/user/page.itely: new file (split former
3245 "global issues" into "page settings" and "non-musical
3248 * Documentation/user/ various: fix @ref{}s to match
3249 new chapter names (above).
3251 2006-06-07 Jan Nieuwenhuizen <janneke@gnu.org>
3253 * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3255 2006-06-06 Graham Percival <gpermus@gmail.com>
3257 * Documentation/user/advanced-notation.itely: add example
3258 for segno/coda on barline.
3260 * tex/texinfo.tex: merge from upstream.
3262 2006-06-06 Jan Nieuwenhuizen <janneke@gnu.org>
3264 * scripts/lilypond-book.py (process_snippets): Argument fix.
3267 * buildscripts/builder.py:
3270 * Documentation/user/SConscript: More SCons fixes.
3272 2006-06-03 Jan Nieuwenhuizen <janneke@gnu.org>
3274 * lily/font-config.cc (init_fontconfig): Only initialize if
3275 global cache_file is found.
3277 2006-06-06 Erik Sandberg <mandolaerik@gmail.com>
3279 * ly/music-functions-init.ly: Updated \overrideProperty to use the
3282 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3284 * VERSION (PACKAGE_NAME): release 2.9.8
3286 * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3287 function. Delay ledger modifying ledgered grobs to
3288 stop_translation_timestep(), to ensure that we're ledgering
3289 according to the new spanner.
3290 (acknowledge_staff_symbol): don't check for non-NULL
3291 staff_sym->get_bound()
3293 * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3296 * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3299 * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3300 directly from srcdir/stepmake/aclocal.m4
3302 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3305 * lily/simple-spacer.cc (get_column_desc): desc -> description.
3307 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3309 * lily/simple-spacer.cc (get_line_configuration): add
3310 keep-inside-line rods
3311 (struct Column_desc): add constructor
3312 (struct Rod_desc): add constructor
3313 (get_line_forces): check for forced page breaks here too
3315 * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3316 support/elements cycles between InstrumentNames and AxisGroups
3318 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3320 * config.make.in (METAFONT): remove MAKEINFO_VERSION
3322 * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3323 make-txt-files target.
3325 * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3326 make-txt-files target.
3328 * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3330 * stepmake/stepmake/generic-vars.make (distdir): create dist in
3333 2006-06-06 Jürgen Reuter <reuter@ipd.uka.de>
3335 * Documentation/user/instrument-notation.itely,
3336 input/regression/breathing-sign-ancient.ly,
3337 input/test/divisiones.ly: Removed redundant property settings for
3340 * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3341 fix lyrics alignment problems. They are implemented now as scheme
3342 functions that add the appropriate unicode char to the first lyric
3343 event rather than adding a separate lyric event. Minor edit of
3346 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3348 * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3349 pollute src dir with built .txt files, but install directly from
3350 Documentation/topdocs/out/
3352 * buildscripts/output-distance.py
3353 (ComparisonData.create_html_result_page): put version/directories
3356 * Documentation/topdocs/NEWS.tely (Top): document spacing section
3359 * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3360 Patch by Karl Hammar
3362 * buildscripts/readlink.py: add file.
3363 Patch by Karl Hammar
3365 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3367 * lily/tuplet-number.cc (print): prevent stencil from being
3370 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3372 * scm/stencil.scm (write-system-signature): explicitly
3373 -well, superfluously- close output port.
3375 * buildscripts/output-distance.py (main): oops. Add extra argument.
3377 2006-06-05 Graham Percival <gpermus@gmail.com>
3379 * Documentation/user/music-glossary.tely: clarified example
3380 from Francisco Vila, thanks!
3382 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3384 * input/regression/spacing-section.ly: new file.
3386 * lily/input.cc (programming_error): new function.
3388 * lily/spacing-engraver.cc (try_music): new function. Accept
3389 spacing-section-event
3391 * lily/spacing-spanner.cc (set_springs): take slices of all
3392 columns for spacing.
3394 * lily/include/paper-column.hh (class Paper_column): add
3395 Paper_column::compare.
3397 * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3399 * scm/define-music-types.scm (music-descriptions): add
3402 * lily/music-iterator.cc (report_event): use programming_error for
3403 sending non-event error.
3405 * lily/input.cc (programming_error): new function
3407 * buildscripts/output-distance.py (main): use compare-XXX for
3409 (main): --threshold option, default at 0.30
3411 * output-distance.py (main): add --threshold option.
3413 2006-06-04 Nicolas Sceaux <nicolas.sceaux@free.fr>
3415 * scm/paper-system.scm (paper-system-annotate): fix problem when
3416 annotating an empty system
3418 2006-06-04 Han-Wen Nienhuys <hanwen@lilypond.org>
3420 * GNUmakefile.in: reinstate old web tar/copying.
3422 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3424 * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3425 nothing changes. (Erik S)
3427 * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3430 2006-05-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
3432 * scm/define-markup-commands.scm (whiteout): do not force
3433 foreground color of argument markup to black.
3435 * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3436 the left of the arrow, instead of below the arrow name, so that,
3437 when two little arrows are vertically stacked, their dimensions
3438 and name should not overlap. Add a color key parameter.
3440 * scm/paper-system.scm (paper-system-annotate): Annotate
3441 next-space+next-padding instead of next-space. Annotate space
3442 between next-padding and next-space+padding, respectively, and
3443 following system extent and refpoint-Y-extent. Use colors.
3445 * scm/page.scm (annotate-page): translate annotations slightly to
3448 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3450 * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3451 fix for x-staff slurs. Thanks Joe!
3453 * buildscripts/output-distance.py
3454 (SystemLink.output_expression_change_count): keep track of changed
3455 details, and dump in details html page.
3457 * input/regression/figured-bass-staff.ly: add note about setting
3458 properties in Staff context.
3460 * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3461 add slurs and ties to support too.
3463 * buildscripts/output-distance.py (main): set dest_dir
3464 argument. Add --max-count option.
3466 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3468 * ly/gregorian-init.ly: Converted to utf-8. Added memorable
3469 shortcuts for special unicode chars that are useful in chant
3470 notation. Revised exisiting and added new comments.
3472 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3474 * make/mutopia-rules.make: remove duplicate recipe.
3476 2006-06-02 Werner Lemberg <wl@gnu.org>
3478 * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3479 Add support for U+0132 (IJ) and U+0133 (ij).
3481 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3483 * buildscripts/output-distance.py (FileLink): new class. collect
3484 info systems from one .ly file.
3485 (FileLink.link_files_for_html): further tweaks.
3487 2006-06-02 Graham Percival <gpermus@gmail.com>
3489 * tex/texinfo.tex: partial fix for @funindex.
3491 * Documentation/user/macros.tely: uncomment @funindex (doesn't
3494 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3496 * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3498 * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3499 @example too. Backportme.
3501 2006-06-02 Graham Percival <gpermus@gmail.com>
3503 * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3504 from Werner Lemberg.
3506 2006-06-02 Paco (Francisco Vila) <fravd@ya.com>
3508 * Documentation/user/music-glossary.tely: additional spanish
3509 updates and a lyrics fix in an example.
3511 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3513 * scm/define-grob-properties.scm: Previous patch contained
3514 spurious line from another patch not yet committed. Fixed.
3516 * scm/define-grob-properties.scm: Add missing doc strings for
3519 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3521 * buildscripts/output-distance.py
3522 (ComparisonData.write_text_result_page): separate the scores, sort
3525 * scm/framework-eps.scm (output-classic-framework): start at 1 for
3528 * buildscripts/output-distance.py (me_path): use argv[0] for
3530 (ComparisonData.img_cell): use colored borders.
3532 * scm/stencil.scm (write-system-signature): escape newlines too.
3533 (write-system-signature): use (1,-1) interval for empty interval
3535 2006-01-01 Graham Percival <gpermus@gmail.com>
3537 * Documentation/user/music-glossary.tely: Spanish updates
3538 from Francisco Vila.
3540 * Documentation/user/lilypond-book.itely: addition from
3543 * Documentation/user/ various: edits, small additions
3546 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3548 * GNUmakefile.in (tree-lib-prefix-current):
3549 (tree-share-prefix-current): Use version number in tree, add
3552 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3554 * GNUmakefile.in: write VERSION, again.
3556 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3557 $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3559 * stepmake/aclocal.m4: robuster version detection.
3561 * buildscripts/output-distance.py
3562 (ComparisonData.create_html_result_page): copy only if file
3563 exists, fixup src paths.
3565 * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3567 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3569 * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3570 Another datarootdir reto.
3572 * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3573 available. This should be moved to postinstall-lilypond-doc.
3575 2006-05-31 Han-Wen Nienhuys <hanwen@lilypond.org>
3577 * GNUmakefile.in: simplify local-WWW-post.
3578 remove -type l from find.
3580 * buildscripts/output-distance.py (ComparisonData.compare_trees):
3581 fixes. Don't follow symlinks.
3582 (ComparisonData.create_html_result_page): remove previous results.
3583 insert ../python in path.
3585 * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3587 2006-05-31 Jan Nieuwenhuizen <janneke@gnu.org>
3589 * config.make.in (datadir): Add datarootdir to silence autoconf.
3591 * stepmake/aclocal.m4: Update for autoconf-2.59d.
3593 2006-05-31 Erlend Aasland <erlenda@gmail.com>
3595 * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3597 * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3598 slash beams too wide.
3600 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3602 * VERSION: release 2.9.7
3604 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3606 * lily/relocate.cc (read_relocation_dir): Do not blindly
3609 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3611 * lily/parser.yy: replace THIS by PARSER
3613 * Documentation/index.html.in: add link to test-results.html page.
3615 * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3617 * scm/translation-functions.scm (format-bass-figure): translate
3618 digits over 10 to the left
3620 * scm/define-markup-commands.scm (translate-scaled): new markup.
3622 * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3625 * ly/engraver-init.ly: add Figured_bass_engraver
3627 * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3629 * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3631 * lily/score-engraver.cc (announce_grob): only note START announces.
3633 * lily/include/engraver-group.hh (Translator_group):
3634 acknowledge_hash_table_ is now drul.
3636 * lily/engraver.cc (announce_end_grob): new method.
3638 * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3640 * lily/translator-dispatch-list.cc (create): take start_end argument.
3642 * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3643 acknowledge_static_array_ to drul
3645 * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3647 * scm/define-grob-interfaces.scm
3648 (bass-figure-alignment-interface): add bass-figure-alignment-interface
3650 * scm/define-grobs.scm (all-grob-descriptions): add
3651 BassFigureAlignmentPositioning
3653 * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3654 number stays up to date. Backportme.
3656 2006-05-30 Mats Bengtsson <mabe@s3.kth.se>
3658 * Documentation/user/basic-notation.itely (Bar lines): Document
3661 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3663 * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3665 * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3666 .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc'
3669 * Resurrect `scons lily' build.
3671 * SConstruct (symlink_tree): Bugfix: link
3672 music-drawing-routines.ps to file iso directory.
3674 * lily/SConscript: Remove kpath-guile from LIBS.
3676 * SConstruct (libdir_package_version): Typo.
3677 (configure): Comment-out fontforge for lack of fontforge.pc .
3678 Also add libdir* to environment.
3680 2006-05-30 Graham Percival <gpermus@gmail.com>
3682 * Documentation/user/ various: minor additions from mailist and
3685 2006-05-30 Paco <fravd@ya.com>
3687 * Documentation/user/music-glossary.tely: numerous corrections and
3688 some new translations.
3690 2006-05-29 Han-Wen Nienhuys <hanwen@lilypond.org>
3694 * buildscripts/output-distance.py
3695 (ComparisonData.create_html_result_page): new routine: summarise
3696 results in HTML page with images.
3697 (ComparisonData.create_text_result_page): create summary text files too.
3699 * GNUmakefile.in (web-ext): package .signature files too. They
3702 * scm/stencil.scm (write-system-signature): typo.
3704 * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3706 * scm/stencil.scm (write-system-signature): better escaping.
3707 only write signature for music systems, not for markup systems.
3709 * scm/framework-ps.scm (output-framework): dump-signatures support
3712 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3714 * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3715 for -dno-point-and-click
3717 * lily/grob.cc (get_print_stencil): don't read
3718 point_and_click_global to determine whether to set grob-cause.
3720 2006-05-28 Han-Wen Nienhuys <hanwen@lilypond.org>
3722 * buildscripts/output-distance.py (main): new function.
3723 (ComparisonData): new class.
3725 * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3726 careful with generating new LedgerLineSpanners.
3728 * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3730 * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3731 context. This fixes double ledger lines in output.
3733 * lily/system.cc (get_paper_system): remove 3 layer limit.
3735 * buildscripts/output-distance.py (SystemLink.distance): new
3736 file. Compare signatures.
3738 * python/safeeval.py (SafeEval.visitUnarySub): new file.
3740 * lily/grob-array.cc (remove_duplicates): rename from
3741 uniq(). Sort before calling uniq() so it actually works.
3743 2006-05-27 Han-Wen Nienhuys <hanwen@lilypond.org>
3745 * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3746 \version from lilypond file snippet.
3747 (Lilypond_file_snippet.ly): oops. typo.
3748 (find_toplevel_snippets): urgh. again.
3750 * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3751 prevent duplicated broken items in output.
3753 * scm/framework-eps.scm (output-classic-framework): only dump if
3754 dump-signatures is set.
3756 * scm/lily.scm (define-scheme-options): add dump-signatures option.
3758 * scm/stencil.scm (write-system-signature): new routine: write
3759 python parseable signature of a separate paper system.
3762 2006-05-26 Han-Wen Nienhuys <hanwen@lilypond.org>
3764 * lily/stanza-number-engraver.cc (process_music): use is_markup()
3768 2006-05-25 Erik Sandberg <mandolaerik@gmail.com>
3770 * translator-group.cc: send music events to engravers in
3771 non-bottom contexts.
3773 * tuplet-engraver.cc: process tuplet brackets in correct order.
3775 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3777 * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3778 arg 2 might point us to a new binary (patch by Karl Hammar)
3780 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3782 * VERSION (PACKAGE_NAME): release 2.9.6
3784 * Documentation/topdocs/NEWS.tely (Top): trim explanation.
3786 * Documentation/user/*.itely: 2nd
3787 attempt: replace funindex -> findex globally.
3789 2006-05-24 Nicolas Sceaux <nicolas.sceaux@free.fr>
3791 * input/no-notation/display-lily-tests.ly: fix \applyOutput
3792 test. Add \break, \pageBreak, \pageTurn, etc, tests.
3794 * scm/define-music-display-methods.scm: display methods for
3795 breaks. Fix \applyOutput.
3797 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3799 * Documentation/user/macros.itexi: comment out funindex expansion.
3801 * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3804 * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3805 Karl Hammar. Backportme.
3807 * Documentation/user/advanced-notation.itely (Balloon help): idem.
3809 * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3811 * Documentation/user/programming-interface.itely (Running a
3812 function on all layout objects): idem.
3814 * Documentation/user/introduction.itely (Automated engraving):
3815 update \applyOutput syntax
3817 * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3818 remove debugging hook.
3820 * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3823 * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3825 * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3826 TEXI2DVI_FLAGS to texi2dvi invocation.
3828 2006-05-24 Erik Sandberg <mandolaerik@gmail.com>
3830 * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3831 works. More work is done by iterator now, and engraver has been
3832 very much simplified.
3834 * lily/translator-group.cc: try_music is now invoked through a
3837 * lily/*-iterator.cc: Massive cleanups. Junked
3838 try_music_in_children globally. Renamed try_music to report_event,
3839 and made that method descend to a bottom context automatically.
3841 * lily/event-iterator.cc: New file.
3843 * lily/output-property-iterator.cc,
3844 lily/old-lyric-combine-music-iterator.cc: Removed.
3846 * python/convert-rules.py: Modified the syntax for \applyOutput.
3848 2006-05-23 Graham Percival <gpermus@gmail.com>
3850 * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3853 * Documentation/user/ various: stuff that might have helped
3854 to fix the pdf creation, plus some minor doc additions.
3856 * Documentation/user/changing-defaults.itely: remove @b from
3857 @b{ @internasref{foo}}; this breaks texi2dvi -E.
3859 2006-05-23 Han-Wen Nienhuys <hanwen@lilypond.org>
3861 * lily/beaming-pattern.cc (beamify): deal with negative start
3862 moments for beaming patterns.
3864 2006-05-22 Han-Wen Nienhuys <hanwen@lilypond.org>
3866 * lily/beaming-info.cc (beamify): new function: read beatLength
3867 and beatGrouping from context.
3869 * input/regression/beam-beat-grouping.ly (Module): new file.
3871 * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3873 * lily/beam.cc (get_beam_segments): generate events for
3874 max_connect_ case too.
3875 (get_beam_segments): read Stem::max-beam-connect.
3877 * input/regression/beam-single-stem.ly: new file.
3879 * lily/stem.cc (set_beaming): use #f as signaling value for
3882 * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3884 * lily/beam.cc (set_beaming): read clip-edges property.
3885 (calc_direction): don't suicide for single stem.
3887 * lily/beaming-info.cc (best_splitpoint_index): take bool*
3888 argument, remove 1<<15 hack. Remove clip_edges()
3890 * lily/hairpin.cc (print): only do padding for nonmusical bounds
3892 2006-05-21 Graham Percival <gpermus@gmail.com>
3894 * Documentation/user/basic-notation.itely: reorg.
3896 * Documentation/user/ various: minor fixes.
3898 2006-05-20 Han-Wen Nienhuys <hanwen@lilypond.org>
3900 * lily/stencil-expression.cc (register_stencil_head): opps, append
3901 to cdr of static SCM object.
3903 2006-05-19 Graham Percival <gpermus@gmail.com>
3905 * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3906 update framework for command index. DOC WRITERS: use @funindex
3907 instead of @cindex @code{}.
3909 * Documentation/user/ various: replace @cindex @code{} => @funindex
3911 2006-05-19 Han-Wen Nienhuys <hanwen@lilypond.org>
3913 * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3914 case positions is set manually.
3916 2006-05-18 Erik Sandberg <mandolaerik@gmail.com>
3918 * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3921 2006-05-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3923 * Documentation/user/changing-defaults.itely (Contexts explained):
3924 use absolute dimension for @image.
3926 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3927 out image for illustration too.
3928 ($(outdir)/%.png): add more png <-> eps rules.
3930 2006-05-17 Graham Percival <gpermus@gmail.com>
3932 * Documentation/user/ various: remove trailing whitespace, cosmetic
3933 change to reduce changes produced by diff.
3935 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3937 * lily/main.cc (do_chroot_jail): correctness tweak.
3939 * python/lilylib.py (system): import subprocess in system () only.
3941 * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3943 * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3944 variable. Backportme.
3946 2006-05-17 Erik Sandberg <mandolaerik@gmail.com>
3948 * lily/parser.yy: Change all syntax rules of type Music to SCM type
3950 2006-05-17 Werner Lemberg <wl@gnu.org>
3952 * lily/lexer.ll (init_signature_has_table): Add
3953 `scm-scm-music-music'.
3955 * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
3956 (Generic_prefix_music_scm): Add rule for it.
3958 * lily/quote-iterator.cc (Quote_iterator::process): Handle
3959 `quoted-transposition' property.
3961 * ly/music-functions-init.ly (transposedCueDuring): New function.
3963 * scm/define-music-properties.scm (all-music-properties): Updated.
3965 * Documenation/topdocs/NEWS.itely: Document it.
3967 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3969 * python/lilylib.py (system): move import subprocess to system()
3972 * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
3974 * VERSION (PATCH_LEVEL): release 2.9.5
3976 * Documentation/topdocs/INSTALL.texi (Top): update versions and
3979 * ly/engraver-init.ly: switch on hairpinToBarline by default.
3981 2006-05-16 Graham Percival <gpermus@gmail.com>
3983 * Documentation/user/basic-notation.itely: editing from Dave, thanks!
3985 * Documentation/user/ various: minor fixes.
3987 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3989 * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
3991 2006-05-16 Mats Bengtsson <mabe@s3.kth.se>
3993 * Documentation/user/advanced-notation.itely (Instrument names):
3994 Modified obsolete instruction on how to move instrument names away
3995 from the staves. Hmm, at second thought the bug probably has been
3996 solved, so the full bug description should probably be removed.
3998 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
4000 * lily/dynamic-engraver.cc (typeset_all): hang ending on
4001 currentCommandColumn.
4003 * lily/hairpin.cc (print): also add padding for non-neighbor
4006 * scm/define-context-properties.scm
4007 (all-user-translation-properties): add hairpinToBarline
4009 * input/regression/hairpin-to-barline.ly: new file.
4011 * lily/context.cc (internal_send_stream_event): thinko fix.
4013 * lily/tie.cc (set_default_control_points): robustness fix.
4015 * python/musicxml.py (Part.interpret): don't complain about
4016 incomplete measures.
4018 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
4019 new music if last_event_chord() returned None.
4021 * python/musicxml.py (Part.interpret): skip back over chord notes.
4023 2006-05-16 Erik Sandberg <mandolaerik@gmail.com>
4025 * lily/percent-repeat-engraver.cc, lily/parser.yy,
4026 lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
4027 lily/slash-repeat-engraver.cc,
4028 lily/include/percent-repeat-iterator.hh: Rework percent repeats:
4029 iterator sends PercentEvents
4031 * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
4032 rework tuplets: send start/stop events to engraver
4034 * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
4035 dispatchers event-source and events-below to Context
4037 2006-05-15 Graham Percival <gpermus@gmail.com>
4039 * Documentation/user/README.txt: update info for doc writers.
4041 * Documentation/user/programming-interface.itely: integrate
4042 Nicolas' fixes for chapter rewrite.
4044 * Documentation/user/ various: minor fixes.
4046 2006-05-15 Han-Wen Nienhuys <hanwen@lilypond.org>
4048 * lily/clef-engraver.cc: cleanup.
4050 * Documentation/user/GNUmakefile: dist context-example.eps too.
4052 * lily/key-engraver.cc (create_key): use
4053 explicitKeySignatureVisibility for cancellation too.
4055 * lily/font-config.cc (init_fontconfig): don't close file if
4058 2006-05-15 Erlend Aasland <erlenda@gmail.com>
4060 * Documentation/topdocs/NEWS.tely: niente and rotation news
4062 2006-05-14 Erlend Aasland <erlenda@gmail.com>
4064 * lily/include/stencil.hh
4065 * lily/stencil.cc (rotate): new function. Makes it possible
4066 to rotate a stencil around a given offset.
4068 * lily/grob.cc (get_print_stencil): add rotation support
4070 * lily/stencil-interpret.cc (interpret_stencil_expression):
4071 add rotation support
4073 * lily/stencil-scheme.cc (ly:stencil-rotate): new function
4075 * scm/define-grob-properties.scm: add 'rotation property
4077 * scm/define-markup-commands.scm: add rotate markup command
4079 * scm/output-ps.scm: add rotation support in PostScript backend
4081 * scm/output-svg.scm: add rotation support in SVG backend
4083 2006-05-13 Graham Percival <gpermus@gmail.com>
4085 * Documentation/user/music-glossary.itely: French correction.
4087 * Documentation/user/programming-interface.itely: major
4088 new docs, some reorg, some info from Nicolas.
4090 * Documentation/user/ various: small fixes.
4092 2006-05-12 Mats Bengtsson <mabe@s3.kth.se>
4094 * Documentation/user/programming-interface.itely (Markup
4095 programmer interface): Remove duplicate text.
4097 2006-05-12 Graham Percival <gpermus@gmail.com>
4099 * Documentation/user/context-example.eps: new file.
4101 * Documentation/user/changing-defaults.itely: set up file to
4104 * Documentation/user/programming-interface.itely: changes
4107 2006-05-12 Han-Wen Nienhuys <hanwen@lilypond.org>
4109 * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
4111 2006-05-11 Graham Percival <gpermus@gmail.com>
4113 * Documentation/user/programming-interface.itely: first round of
4114 editing and merging emails from Nicolas.
4116 * Documentation/user/scheme-tutorial: minor edit.
4118 2006-05-11 Han-Wen Nienhuys <hanwen@lilypond.org>
4120 * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
4122 (Xml_node.message): use it.
4124 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice):
4125 oops. Add duration argument.
4127 2006-05-10 Joe Neeman <joeneeman@gmail.com>
4129 * lily/paper-column-engraver.cc (make_columns):
4130 * scm/define-grobs.scm: Revert my previous change and set the default
4131 in define-grobs.scm instead.
4133 2006-05-09 Graham Percival <gpermus@gmail.com>
4135 * Documentation/user/changing-defaults.itely: general editing,
4136 info about \set and \override.
4138 * Documentation/user/tweaking.itely, advanced-notation.itely:
4139 fixes from Dave Luttinen, thanks!
4141 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4143 * lily/paper-column-engraver.cc (make_columns): By default, a column
4144 needs to be breakable.
4146 2006-05-09 Han-Wen Nienhuys <hanwen@lilypond.org>
4148 * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4150 (musicxml_time_to_lily): idem
4151 (musicxml_key_to_lily): idem
4152 (instrument_drumtype_dict): dict for supported drumtypes.
4153 (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4154 moments and pending mm rests
4155 (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4156 (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4157 (musicxml_voice_to_lily_voice): add mode change.
4158 (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4159 speed and less memory usage (factor 5 to 10).
4160 (convert): write -defs.ly and driver file separately so people
4161 can script their own part extraction.
4163 * python/musicxml.py (minidom_demarshal_node): new function:
4164 separate minidom handling.
4165 (lxml_demarshal_node): new function: support lxml.etree too.
4166 (Xml_node.message): new function: verbose error message, with XML
4167 path to offending node.
4168 (Attributes.get_measure_length): sane interface to MusicXML attributes.
4169 (Part_list.generate_id_instrument_dict): new method: collect
4170 instrument names, to be able to set drum_type.
4171 (Part.interpret): handle underfull measures
4172 (Part.interpret): assign instrument names.
4174 * python/musicexp.py (Output_printer.close): new method
4175 (MusicWrapper.print_ly): new class: support other modes,
4177 (BarCheck.print_ly): new class. Support bar checks, with comments
4178 and fancy barchecks.
4179 (NoteEvent.__init__): also set drum_type for drum notes.
4180 (MultiMeasureRest.lisp_expression): dump mm rests.
4182 * lily/paper-column-engraver.cc (stop_translation_timestep): set
4183 line-break-permission if forbidBreak is not set.
4185 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4187 * scm/define-context-properties.scm:
4188 * scm/define-grob-properties.scm:
4189 * scm/define-grobs.scm:
4190 * scm/define-music-display-methods.scm:
4191 * scm/define-music-properties.scm:
4192 * scm/define-music-types.scm:
4193 * scm/music-functions.scm:
4194 * ly/declarations-init.ly:
4195 * lily/include/constrained-breaking.hh:
4197 * lily/spaceable-grob.cc:
4198 * lily/simple-spacer.cc:
4199 * lily/paper-score.cc:
4200 * lily/paper-column.cc:
4201 * lily/paper-column-engraver.cc:
4203 * lily/gourlay-breaking.cc:
4204 * lily/constrained-breaking.cc:
4205 * python/convertrules.py:
4206 Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4207 "page-break-penalty" and "line-break-permission".
4208 Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4209 Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4211 * lily/bar-engraver.cc:
4212 * lily/beam-engraver.cc:
4213 * lily/forbid-break-engraver.cc:
4214 * lily/ligature-engraver.cc:
4215 * lily/paper-column-engraver.cc:
4216 * lily/percent-repeat-engraver.cc:
4217 * lily/score-engraver.cc:
4218 * lily/score-engraver.hh:
4219 * lily/paper-column-engraver.hh:
4220 Inter-engraver communication regarding line breaks is done through context
4221 properties (Score.forbidBreak) instead of function calls.
4223 2006-05-08 Han-Wen Nienhuys <hanwen@lilypond.org>
4225 * VERSION (PACKAGE_NAME): release 2.9.4
4227 2006-05-08 Graham Percival <gpermus@gmail.com>
4229 * Documentation/user/working.itely: proofreading from Dave
4232 * Doucmentation/user/README.txt: updated with manual style info.
4234 * Documentation/user/ various: trim linewidth to 78 chars.
4236 2006-05-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4238 * scm/define-grob-properties.scm (all-internal-grob-properties):
4239 remove chord-tremolo property.
4241 * lily/beam.cc (get_beam_segments): don't use stem position as
4242 base for broken ends.
4244 2006-05-06 Graham Percival <gpermus@gmail.com>
4246 * Documentation/user/putting.itely: proofreading from Dave
4249 * Documentation/user/ various: more reorg and clarifications.
4251 2006-05-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4253 * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4255 * ly/music-functions-init.ly: new function featherDurations
4257 * lily/beam.cc: read grow-direction for feathered beaming.
4259 * Documentation/topdocs/NEWS.tely (Top): typo.
4261 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4263 * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4266 2006-05-05 Erik Sandberg <mandolaerik@gmail.com>
4267 * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4268 used by music streams.
4270 * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4271 lily/stream-event.cc, lily/stream-event-scheme.cc,
4272 lily/listener.cc, lily/scheme-listener.cc,
4273 lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4274 lily/include/stream-event.hh, lily/include/listener.hh,
4275 lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4276 Created data structures for music streams.
4278 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4280 * lily/beam.cc (get_beam_segments): new function. Reorganise the
4281 construction of a beam.
4284 * flower/include/std-vector.hh (default_compare): use only one comparison.
4286 * scm/define-markup-commands.scm (note-by-number): remove debug display.
4287 (note-by-number): further attachment fixes.
4289 * scm/lily-library.scm (ordered-cons): new function.
4290 (interval-index): new function
4292 * lily/note-head-scheme.cc (LY_DEFINE): new file.
4294 * lily/note-head.cc (get_stem_attachment): new function.
4296 * scm/define-markup-commands.scm (note-by-number): read 'style
4299 * input/regression/markup-note.ly: show note-head style option.
4301 * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4304 2006-05-04 Han-Wen Nienhuys <hanwen@lilypond.org>
4306 * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4308 * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4310 * lily/include/constrained-breaking.hh: GCC 4 fix.
4312 2006-05-04 Joe Neeman <joeneeman@gmail.com>
4314 * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4315 Replace it with functions get_line_forces and get_line_configuration.
4316 (class Simple_spacer): Make data private.
4317 Rewrite compression algorithm to be faster and simpler.
4319 * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4320 * lily/gourlay-breaking.cc (solve):
4321 * lily/constrained_breaking.cc (space_line):
4322 Change it to the new simple-spacer code.
4324 * lily/paper-score.cc (get_paper_systems):
4327 Delay breaking the systems until they are requested.
4328 (find_break_indices):
4329 Use vsize for indices.
4331 Move the "Calculating line breaks" message here.
4333 * lily/system.cc (pre_processing):
4334 Move the "Calculating line breaks" message away from here.
4335 (break_into_pieces):
4336 Allow multiple calls to this function in sequence (with touching-but-
4337 not-overlapping breakpoints).
4339 * lily/constrained-breaking.cc:
4340 Replace most of the get_XXXX functions with get_line_details.
4341 Only calculate the force for each line. Calculate configurations only
4342 for the lines we will actually use.
4343 Replace cols_ with lines_.
4345 2006-05-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
4347 * mf/GNUmakefile (depth): remove FC_FIND.
4349 * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4351 * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4353 * scm/framework-ps.scm (write-preamble): new function.
4354 (write-preamble): load mac fonts via fondu, even if gs-font-load
4357 2006-05-03 Werner Lemberg <wl@gnu.org>
4359 * mf/GNUmakefile (FC_FIND): Fix typo.
4361 2006-05-03 Erlend Aasland <erlenda@gmail.com>
4363 * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4365 2006-05-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4367 * stepmake/aclocal.m4: run python-config for crosscompiling
4370 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4371 -f png for HTML, TEXINFO formats.
4373 * input/tutorial/lbook-html-test.html: new file.
4375 * lily/include/tie-formatting-problem.hh (class
4376 Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4377 [column, direction]. This fixes laissez vibrer ties.
4379 * flower/include/tuple.hh (struct Tuple2): new file.
4381 * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4382 $(FCMATCH), only if $(NCSB_DIR) not set.
4384 * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4386 * config.make.in (DOCUMENTATION): set FCMATCH.
4388 * autogen.sh (srcdir): don't set --with-ncsb-dir.
4390 2006-05-03 Graham Percival <gpermus@gmail.com>
4392 * Documentation/user/ various: final round of reorg.
4394 * Documentation/user/instrument-notation.itely: some more
4395 fixes from Eduardo, thanks!
4397 2006-05-02 Han-Wen Nienhuys <hanwen@lilypond.org>
4399 * VERSION (PACKAGE_NAME): release 2.9.3
4401 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4403 * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4405 2006-05-01 Mats Bengtsson <mabe@s3.kth.se>
4407 * scm/define-grob-properties.scm (all-user-grob-properties):
4408 Correct typo, thanks to Eduardo.
4410 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4412 * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4414 * buildscripts/lilypond-words.py (F): indent fix.
4416 * input/regression/tie-arpeggio-collision.ly: new file.
4418 * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4419 function: store outlines per column rank.
4421 * lily/include/tie-configuration.hh (class Tie_configuration): add
4422 column_ranks_ to specification and configuration, to distinguish
4423 between ties for different heads in arpegiated chords.
4425 * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4427 * *.py: more 4 space indents.
4429 * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4431 2006-05-01 Joe Neeman <joeneeman@gmail.com>
4433 * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4435 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4437 * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4439 * scripts/abc2ly.py (dump_score): indent of 4 for python code.
4441 * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4443 2006-04-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
4445 * python/convertrules.py (conv): indent 4 for python files.
4447 2006-04-29 Mats Bengtsson <mabe@s3.kth.se>
4449 * Documentation/user/changing-defaults.itely (Creating contexts):
4450 Clarify \new semantics.
4452 2006-04-28 Graham Percival <gpermus@gmail.com>
4454 * Documentation/user/ various: major new sections in the
4455 Learning manual, slight reorg elsewhere.
4457 2006-04-27 Han-Wen Nienhuys <hanwen@lilypond.org>
4459 * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE)
4461 * scm/framework-ps.scm (output-framework): remove PageMedia
4463 2006-04-27 Graham Percival <gpermus@gmail.com>
4465 * Documentation/user/ tweaks.itely, working.itely: new
4466 files, being more advanced "learning manual" chapters.
4468 * Documentation/user/ tutorial, putting, lilypond: reorg.
4470 2006-04-26 Graham Percival <gpermus@gmail.com>
4472 * input/regression/lyric-combine-polyphonic.ly: fixed test
4473 (no more "can't find context `one'" error).
4475 2006-04-25 Joe Neeman <joeneeman@gmail.com>
4477 * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4479 * input/regression/stem-tremolo.ly: add 2 more whole note examples
4481 2006-04-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
4483 * lily/relocate.cc (read_relocation_dir): new function.
4485 2006-04-26 Graham Percival <gpermus@gmail.com>
4487 * Documentation/user/instrument-notation.itely: a few more fixes
4488 from Eduardo, thanks!
4490 * Documentation/user/README.txt: new file; contains info on
4491 style that used to be in lilypond.tely.
4493 * Documentation/user/ various: first round of doc reorg.
4495 * Documentation/user/baer-flat-bw.png: remove alpha bit from
4496 graphic; this probably causes problems on some pdf
4497 viewers, notably Adobe Acrobat.
4499 2006-04-24 Graham Percival <gpermus@gmail.com>
4501 * Documentation/user/instrument-notation.itely: many alterations
4502 to Vocal music, from Eduardo Viera.
4504 2006-04-23 Graham Percival <gpermus@gmail.com>
4506 * Documentation/user/instrument-notation.itely: fix \new
4507 instead of \context problem.
4509 2006-04-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
4511 * lily/relocate.cc (expand_environment_variables): new function.
4513 (read_relocation_file): id.
4515 * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code
4517 2006-04-21 Erlend Aasland <erlenda@gmail.com>
4519 * ly/engraver-init.ly: remove old comments from TabVoice
4521 2006-04-20 Graham Percival <gpermus@gmail.com>
4523 * Documentation/user/instrument-notation.itely: added Erlend's
4524 latest doc patch, thanks!
4526 2006-04-19 Erlend Aasland <erlenda@gmail.com>
4528 * lily/include/slur.hh:
4530 * lily/phrasing-slur-engraver.cc:
4531 * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4532 acknowledge_extra_object () from Phrasing_slur_engraver:: and
4533 Slur_engraver:: and putting it in
4534 Slur::auxiliary_acknowledge_extra_object ().
4536 * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4538 * lily/note-collision.cc: fix a comment
4540 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4542 * stepmake/bin/add-html-footer.py: fix footer position in
4543 generated html files: before </body> and </html> tags.
4545 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4547 * scripts/GNUmakefile: revert last "fix", which rather broke make.
4548 Earlier successive `make' commands finally compiled ok.
4550 * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4552 2006-04-18 Erlend Aasland <erlenda@gmail.com>
4554 * lily/include/stem-tremolo.hh:
4555 * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4559 * lily/include/lookup.hh: add rotated_box ()
4561 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4563 * scripts/GNUmakefile: bugfix: run help2man only after scripts have
4564 been generated. Fixes "can't get `--help'" bug after make clean.
4566 * THANKS: alphabetize contributors.
4568 2006-04-17 Graham Percival <gpermus@gmail.com>
4570 * Documentation/user/instrument-notation.itely: added Erlend's
4571 tabs and banjo doc patch. Thanks!
4573 2006-04-17 Erlend Aasland <erlenda@gmail.com>
4575 * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4577 * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4579 * scm/output-lib.scm: add some more predefined string tunings.
4581 * Documentation/user/instrument-notation.itely: and doc them.
4583 2006-04-16 Jürgen Reuter <reuter@ipd.uka.de>
4585 * ly/engraver.ly: Remove obsolete comments.
4587 * ly/gregorian-init.ly: Define default layout block.
4589 * input/puer-fragment.ly: Updated and extended.
4591 2006-04-15 Jan Nieuwenhuizen <janneke@gnu.org>
4593 * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4594 pdf conversion behaviour.
4596 * flower/file-name.cc (dir_name)
4597 (get_working_directory): Move from relocate.cc.
4599 * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4601 * lily/relocate.cc: Encapsulate sys/stat.h in
4604 2006-04-14 Graham Percival <gpermus@gmail.com>
4606 * Documentation/user/ various: small updates from Cameron
4607 and Juergen, thanks!
4609 * Documentation/user/ various: small updates of my own.
4611 * THANKS: 2.7 -> 2.8.
4613 2006-04-11 Graham Percival <gpermus@gmail.com>
4615 * scm/define-context-properties.scm: typo.
4617 * Documentation/user/ : many more small updates.
4619 2006-04-13 Jürgen Reuter <reuter@ipd.uka.de>
4621 * scm/define-music-types.scm: disposed "docme".
4623 2006-04-11 Erlend Aasland <erlenda@gmail.com>
4625 * lily/hairpin.cc: make niente circles a bit smaller.
4627 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4629 * mf/GNUmakefile: remove redundant mftrace check. Also remove
4630 get-pfa and get-*-fonts targets.
4632 2006-04-10 Graham Percival <gpermus@gmail.com>
4634 * THANKS, Documentation/user/ basic-notation, advanced-notation,
4635 music-glossary, programming-interface: more minor fixes
4638 * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4640 * scm/define-context-properties.scm: another old \property update.
4641 This time tested for compiling!
4643 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4645 * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4647 2006-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
4649 * scm/define-context-properties.scm (all-user-translation-properties):
4650 * Documentation/user/global.itely (Page formatting): Compile fix.
4652 2006-04-09 Mats Bengtsson <mabe@s3.kth.se>
4654 * Documentation/user/advanced-notation.itely (Polymetric
4655 notation): Update the example to use the "+" symbol and add link
4656 to input/test/compound-time.ly.
4658 2006-04-08 Graham Percival <gpermus@gmail.com>
4660 * scm/define-grob-properties.scm: clarify docs for #'direction.
4662 * scm/define-context-properties.scm: update old \property override.
4664 * Documentation/user/ advanced-notation, global, lilypond-book:
4665 more minor doc updates.
4667 2006-04-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4669 * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4671 * scm/backend-library.scm (search-gs): oops.
4673 2006-04-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4675 * scripts/lilypond-book.py (output): use base, not filename for href.
4677 * scm/backend-library.scm: only look for gs.
4679 * scripts/lilypond-book.py (output): fix printfilename.
4681 * lily/parser.yy (music_function_musicless_prefix): fold together
4682 definitions of signature (SCM*) (Music|post_event|chord_body_element)
4684 * lily/slur.cc (print): only set font-size if not set yet.
4686 * lily/slur-configuration.cc (add_score): improved layout of debug
4689 2006-04-05 David Feuer <David.Feuer@gmail.com>
4691 * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4692 (draw_circle): Hopefully fixed regression.
4693 Improved documentation for several procedures.
4695 2006-03-04 Werner Lemberg <wl@gnu.org>
4697 * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4699 2006-04-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4701 * scripts/musicxml2ly.py (bindir): add dynamic
4704 2006-04-04 Graham Percival <gpermus@gmail.com>
4706 * Documentation/user/ basic-notation, advanced-notation, putting,
4707 instrument-notation, invoking, lilypond, THANKS: another ream of small
4708 fixes from the Doc Helpers.
4710 2006-04-03 David Feuer <David.Feuer@gmail.com>
4712 * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4714 * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4716 * Cleaned up interfaces between PostScript and Scheme, and moved
4717 computations from PostScript to Scheme:
4719 * music-drawing-routines.ps
4720 (*SF, stroke_and_fill): new procedures. Replaced stroke and fill
4721 with stroke_and_fill throughout.
4722 (euclidean_length, print_letter, draw_box): Deleted unused
4723 procedures. If someone needs draw_box, implement it using
4724 draw_round_box; don't duplicate code.
4725 (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4726 Refactored/cleaned up interfaces.
4729 * output-ps.scm: reordered arguments to PostScript functions to
4730 match new interfaces
4731 (glyph-string): Rewrote glyph-string.
4732 (grob-cause): Replaced string-append with format.
4733 (repeat-slash): Rewrote to do computation here.
4734 (round-filled-box): Rewrote to do computation here.
4736 2006-04-04 Erlend Aasland <erlenda@gmail.com>
4738 * stepmake/stepmake/generic-targets.make: add cvs-clean target
4740 * stepmake/stepmake/toplevel- targets.make: print help info about
4743 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4745 * input/regression/hairpin-circled.ly: new file
4747 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4749 * lily/hairpin.cc (print): add support for circled tip
4751 * scm/define-grob-properties.scm: add circled-tip parameter
4753 * scm/define-grobs.scm: init circled-tip to false
4755 2006-04-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4757 * scm/music-functions.scm (quote-substitute): set
4760 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4762 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4765 * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4767 * scm/output-ps.scm (glyph-string): revert cid selectfont.
4769 2006-03-31 David Feuer <david.feuer@gmail.com>
4771 * scm/framework-ps.scm:
4773 * scm/output-ps.scm: glyph-string now produces smaller, more
4774 readable, and probably faster PostScript. Several findfont
4775 scalefont setfont instances changed to selectfont
4776 Hacked-up string-appends changed to formats.
4778 * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4780 2006-03-30 Graham Percival <gpermus@gmail.com>
4782 * scm/lily-library.scm: make "no version" warning message more polite.
4784 * lily/music.cc: add double quotes to failed octave check.
4786 * Documentation/user/ advanced-notation, changing-defaults,
4787 instrument-notation, invoking, music-glossary: whole bunch of minor
4790 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4792 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4793 $(buildscriptdir) iso. depth.
4795 * VERSION (PACKAGE_NAME): release 2.9.1
4797 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4799 * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4801 * VERSION (PATCH_LEVEL): bump version number.
4803 * flower/include/guile-compatibility.hh (scm_from_uint32): add
4806 * lily/pango-font.cc (pango_item_string_stencil): use
4809 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4810 $(outdir)/emmentaler-%.svg): remove canary.
4812 * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4813 glyphnames if we have a ttf font.
4815 2006-03-30 Mats Bengtsson <mabe@s3.kth.se>
4817 * Documentation/user/advanced-notation.itely (Font selection):
4818 Corrected reference to the font-family-override.ly example.
4820 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4822 * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4823 stem-tremolo object in the stem (or else the stem might not be
4826 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4828 * lily/ttf.cc (print_trailer): only print existing glyphs.
4830 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4832 * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4833 position the tremolo based on the position of the notehead.
4835 * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4836 notes and update the texidoc line with the new positioning rules.
4838 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4840 * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4842 * scripts/lilypond-book.py (Module): set default for linewidth if
4845 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4847 * VERSION (PACKAGE_NAME): release 2.9.0.
4849 * input/regression/stem-tremolo-position.ly: new file.
4851 * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4853 2006-03-28 Joe Neeman <joeneeman@gmail.com>
4855 * lily/stem-tremolo.cc (print): position
4856 the tremolo depending only on the end of the stem
4857 and not on the notehead
4858 (raw_stencil): center, on the middle staff line, the
4859 flag that is closest to the end of the stem (previously
4861 (calc_width): add this callback to shorten a tremolo when
4862 it is beamed or it is stemup with a flag
4863 (style): add this callback to make a tremolo rectangular when
4864 it is beamed or it is stemup with a flag
4865 (rotated_box): this is like Lookup::beam but makes a rotated
4866 rectangle instead of a parallelogram
4868 * lily/stem.cc (calc_stem_info): make sure the stem
4869 is long enough to fit the tremolo
4870 (calc-length): reduce the length of tremolo stems since the
4871 tremolo code is now capable of better positioning
4873 * scm/define-grobs.scm: make calc_width the default beam-width
4874 callback for stem-tremolo and add the style callback
4876 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4878 * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4881 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4883 * lily/ttf.cc (make_index_to_charcode_map): restore old
4886 2006-03-28 Werner Lemberg <wl@gnu.org>
4888 * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4890 2006-03-28 Graham Percival <gpermus@gmail.com>
4892 * THANKS: update for 2.9, add section for Documentation helpers.
4894 * Documentation/topdocs/NEWS.tely: compile fix.
4896 * Documentation/user/ basic-notation, global, advanced-notation,
4897 examples.itely: minor fixes from mailist.
4899 2006-03-28 Han-Wen Nienhuys <hanwen@lilypond.org>
4901 * mf/feta-bolletjes.mf: match width of solfa notes with normal
4904 * lily/ttf.cc (print_trailer): use it.
4906 * lily/pango-font.cc (get_unicode_name): new function.
4908 * lily/ttf.cc (make_index_to_charcode_map): move function from
4910 (print_trailer): substitute uniXXXX name if applicable.
4912 * lily/pango-font.cc (get_index_to_charcode_map): new function.
4913 (pango_item_string_stencil): use it to generate uniXXXX names.
4915 * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4916 note heads, for uniform widths in shape note output.
4917 (overdone_heads): hmm. remove them again.
4919 * scripts/lilypond-book.py (output): add links to filenames.
4921 * Documentation/topdocs/INSTALL.texi (Top): update versions.
4923 * lily/note-collision.cc (get_clash_groups): only consider when
4924 Note_column::dir <> CENTER.
4926 * scripts/lilypond-book.py (get_option_parser): init output_name
4929 2006-03-24 Graham Percival <gpermus@gmail.com>
4931 * Documentation/topdocs/NEWS.tely: add @end itemize
4933 * Documentation/user/ global, advanced-notation: minor
4936 2006-03-23 Graham Percival <gpermus@gmail.com>
4938 * Documentation/user/ lilypond.tely, music-glossary,
4939 preface: housekeeping; 2005->2006, remove "notes for 2.6"
4941 2006-03-23 Han-Wen Nienhuys <hanwen@lilypond.org>
4943 * mf/GNUmakefile: don't install .enc files.
4945 * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
4947 * VERSION (PATCH_LEVEL): bump to 2.9.0
4949 2006-03-22 Graham Percival <gpermus@gmail.com>
4951 * Documentation/user/advanced-notation.itely: minor fixes
4954 2006-03-22 Han-Wen Nienhuys <hanwen@lilypond.org>
4956 * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
4958 * branch lilypond_2_8
4960 2006-03-22 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4962 * scripts/lilypond-book.py (samefile): new function, for windoze
4965 2006-03-21 Graham Percival <gpermus@gmail.com>
4967 * ly/engraver-init.ly: add info about StaffGroup.
4969 2006-03-21 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4971 * input/regression/stem-direction-context.ly: idem.
4973 * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
4977 * input/regression/page-layout-twopass.ly: comment out \markup so
4980 * lily/instrument-name-engraver.cc (finalize): add to instrument
4981 name global System. This also fixes chopped instrument names, but
4982 doesn't crash when there are slurs/beams.
4984 * lily/slur-configuration.cc (add_score): disallow negative slur
4987 2006-03-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
4989 * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
4991 * lily/instrument-name-engraver.cc (process_music): kludge: add
4992 InstrumentName spanner to axis group of left bound. Fixes chopped
4993 off instrument names in EPS images.
4995 * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
4997 * scripts/abc2ly.py (option_parser): update to 2.7.40
4999 2006-03-20 Graham Percival <gpermus@gmail.com>
5001 * THANKS: move small doc contributors to SUGGESTIONS.
5003 * Documentation/user/ basic-notation, advanced-notation,
5004 global: small changes from mailist.
5006 2006-03-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5008 * Documentation/user/advanced-notation.itely (Text marks): update
5009 for new rehearsalMarkAlignSymbol convention.
5011 * VERSION (PATCH_LEVEL): bump version.
5013 * input/test/instrument-name-align.ly: new file.
5015 * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
5017 * input/test/instrument-name-align.ly: new file. Document how to
5018 align instrument names.
5020 * lily/mark-engraver.cc: remove properties.
5022 * scm/define-context-properties.scm
5023 (all-user-translation-properties): remove align symbol properties
5024 for barnumber/reh. mark.
5026 * lily/break-align-interface.cc (self_align_callback): new
5027 interface, new function. Look at complete alignment. This handles
5028 tunable break alignments in case break-align-symbols are missing.
5030 * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
5032 * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
5034 * python/convertrules.py (conv): mark/bar number alignment rule.
5036 * lily/break-align-interface.cc (calc_positioning_done): also
5037 store offset from last visible break-alignment to its
5038 neighbor. This makes alignment on non-visible objects more reliable.
5040 * po/lilypond.pot (Module): ran po-replace.
5042 * input/regression/tie-single-manual.ly (Module): new file.
5044 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
5045 look at has_manual_position_.
5046 (from_ties): set has_manual_position_ if tie has staff-position set.
5048 * lily/tuplet-bracket.cc (calc_positions): idem.
5050 * lily/tuplet-number.cc (print): don't print tupletnumber if it
5053 2006-03-19 Nicolas Sceaux <nicolas.sceaux@free.fr>
5055 * scm/define-markup-commands.scm (smallCaps): new markup command
5056 for turning a text to small caps using smaller font size and upper
5059 2006-03-17 Graham Percival <gpermus@gmail.com>
5061 * Documentation/user/ examples, instrument-notation,
5062 advnaced-notation: minor fixes from mailist.
5064 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5066 * Documentation/user/tutorial.itely (First steps): change example
5069 2006-03-17 Graham Percival <gpermus@gmail.com>
5071 * Documentation/user/ examples, advanced: minor changes from mailist.
5073 * THANKS: add Geoff Horton, for documentation stuff.
5075 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5077 * python/lilylib.py (system): revert have_select kludge.
5079 * Documentation/user/tutorial.itely (Commenting input files):
5080 update version numbers in doc.
5082 * scm/define-grob-interfaces.scm (multi-measure-interface): add
5083 bound-padding to multi-measure-interface
5085 2006-03-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5087 * input/test/engraver-example.ily: update version number.
5089 * VERSION (PACKAGE_NAME): release 2.7.39
5091 * lily/note-spacing.cc (get_spacing): heighten threshold where
5092 accidentals/arpeggios influence previous spacing fully.
5094 * lily/rest.cc (y_offset_callback): only use direction if
5095 staff-position wasn't set before.
5097 * lily/bar-number-engraver.cc: add support for
5098 barNumberAlignSymbol.
5099 add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
5101 * lily/pointer-group-interface.cc (set_ordered): new function.
5102 (add_unordered_grob): new function.
5104 * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
5105 to ordered, unless the opposite has been proved. This fixes
5106 random reordering of large object groups across linebreaks,
5109 * lily/main.cc (do_chroot_jail): printf format fix.
5111 * lily/tie-formatting-problem.cc (generate_configuration):
5112 multiply y-shift for dot with direction.
5114 * scm/define-markup-commands.scm (note-by-number): put (magstep
5115 size) in y-attach too.
5117 * Documentation/topdocs/NEWS.tely (Top): show override.
5119 * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
5120 direction for stems.
5122 2006-03-15 Graham Percival <gpermus@gmail.com>
5124 * Documentation/user/ changing-defaults, global: minor
5127 2006-03-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5129 * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5131 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5132 breakable items after uniformly stretched notes.
5134 * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5135 outline with outer edge of note heads. This prevents infinity
5136 problems with tied whole notes.
5138 * scripts/lilypond-book.py (do_file): use os.popen
5140 * python/convertrules.py (conv): add rule for Stem #'beamed-*
5142 2006-03-14 Erik Sandberg <mandolaerik@gmail.com>
5144 * Documentation/user/invoking.itely: Add ragged-right to bug report
5147 2006-03-14 Graham Percival <gpermus@gmail.com>
5149 * Documentation/user/global.itely: small fix from mailist.
5151 2006-03-14 Mats Bengtsson <mabe@s3.kth.se>
5153 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5154 file descriptor returned by tempfile.mkstemp() when writing
5155 to tmpfile and closing it. Solves problem with unlink(tmpfile)
5158 2006-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
5160 * po/fi.po: newline bugfix.
5162 2006-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
5164 * scm/paper.scm (paper-alist): Rounding fixes.
5166 2006-03-13 Graham Percival <gpermus@gmail.com>
5168 * Documentation/user/ changing-defaults, instrument-notation,
5169 tutorial: small fixes from mailist, mostly from Mats. Thanks!
5171 2006-03-13 Heikki Junes <hjunes@cc.hut.fi>
5175 2006-03-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5177 * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5180 * python/lilylib.py (print_environment): move ps_page_count to
5183 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5185 * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5187 * scm/framework-ps.scm (embed-document): new function. Use to
5190 * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5192 2006-03-12 Mats Bengtsson <mabe@s3.kth.se>
5194 * Documentation/user/instrument-notation.itely (Setting simple
5195 songs): Added \book{...} around the full example, so the separate
5196 markups are included in the printed example.
5198 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5200 * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5203 * python/lilylib.py (system): rewrite system() using
5204 subprocess. Remove >& redirection trickery.
5206 2006-03-11 Graham Percival <gpermus@gmail.com>
5208 * Documentation/user/ changing-defaults, global, scheme-tutorial,
5209 notation-appendices.itely: minor fixes from mailist.
5211 2006-03-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5213 * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5214 unsplit man also needs images.
5216 * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5218 * VERSION (PACKAGE_NAME): 2.7.38 released.
5220 2006-03-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5222 * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5225 2006-03-08 Johannes Schindelin <Johannes.Schindelin@gmx.de>
5227 * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5228 respects the Score.skipTypesetting property.
5230 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5232 * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5233 Prolog. No %%EOF after CFF file.
5235 2006-03-08 Joe Neeman <joeneeman@gmail.com>
5237 * lily/constrained-breaking.cc (get_max_systems): used to return a
5239 (combine_demerits): use pointers to reduce copying data
5240 (calc_subproblem): idem
5241 (get_page_penalty): add page turn penalties
5243 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5245 * Documentation/user/invoking.itely (Invoking lilypond): better
5246 explanation of -e usage.
5248 * lily/main.cc (main_with_guile): don't append to
5249 init_scheme_code_string
5251 * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5253 * Documentation/user/invoking.itely: add note about MacOS X scripts.
5255 * scripts/convert-ly.py (do_options): don't print help for
5258 * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5259 @code and @example. Update from texinfo.tex from CVS.
5261 2006-03-08 Graham Percival <gpermus@gmail.com>
5263 * Documentation/user/scheme-tutorial.itely: clarifies distances
5264 measured in staff-spaces.
5266 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5268 * lily/slur.cc (outside_slur_callback): only calculate offsets if
5269 consider[k] is true.
5271 * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5273 * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5274 consider columns that have originals. Unifies spacing for mm
5275 rests around line breaks.
5277 * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5278 (set_text_rods): idem.
5279 (calculate_spacing_rods): new function: share code between
5280 set_text_rods and set_spacing_rods.
5281 (set_text_rods): take extents of bounds into account.
5283 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5285 * Documentation/user/basic-notation.itely (Writing music in
5286 parallel): don't use relative.
5288 2006-03-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
5290 * ly/music-functions-init.ly (Module): add shiftDurations
5292 * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5294 * scm/paper.scm (paper-alist): no decimals for Ax paper sizes.
5296 * ly/engraver-init.ly: init vocalName to nil.
5298 2006-03-05 Erik Sandberg <mandolaerik@gmail.com>
5300 * scm/music-functions.scm (music->make-music): bugfix,
5301 KeyChangeEvents are now handled correctly.
5303 * scripts/lilypond-book.py: Add --debug option.
5305 2006-03-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
5307 * python/lilylib.py: add tempfile.
5309 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5311 * VERSION (PACKAGE_NAME): release 2.7.37
5313 * python/lilylib.py (ps_page_count): remove make_ps_images().
5314 (ps_page_count): remove mkdir_p
5315 (system): remove cleanup_temp.
5316 (exit): remove lilypond_version_(check)
5317 (error_log): remove pseudo_filter_p
5322 * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5325 * lily/accidental-engraver.cc (make_standard_accidental): only add
5326 support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5328 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5329 $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5330 Make incompatibilities.
5332 * scm/output-ps.scm (grob-cause): replace backslashes by /
5333 (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5335 2006-03-02 Jan Nieuwenhuizen <janneke@gnu.org>
5337 * cygwin/GNUmakefile: Install fixes.
5339 * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5341 * lily/note-head.cc (head::get_balltype): Compile fix.
5343 * flower/file-name.cc (dos_to_posix): Flower string fix.
5345 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5347 * python/lilylib.py: pychecker cleanups.
5349 * scripts/lilypond-book.py
5350 (Lilypond_snippet.output_print_filename): pychecker cleanups
5352 * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5354 * python/lilylib.py (underscore): remove identify() , warranty()
5356 * ps/music-drawing-routines.ps: change Border routine for GSView
5359 * lily/stem.cc (height): use quantize-positions. This triggers
5360 set_stem_lengths, so scripts on beamed stems are handled correctly.
5362 * lily/side-position-interface.cc (aligned_side): check if edges
5363 of script are inside staff. Fixes accent of edge of the staff.
5365 * input/regression/staccato-pos.ly: more examples.
5367 * stepmake/aclocal.m4 (depth): fix bashism.
5369 * lily/lyric-combine-music-iterator.cc: move from
5370 new-lyric-combine-iterator.cc
5371 (process): add pending_grace_lyric_ member to delay lyrics on
5374 * lily/system-start-text.cc (print): suicide if we don't have any
5375 elements. Fixes hara kiri'd instrument names.
5377 * scripts/mup2ly.py (Module): remove.
5379 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5381 * Documentation/user/global.itely (A single music expression):
5382 close @lilypond properly
5384 * lily/volta-bracket.cc (modify_edge_height): change from
5385 after_line_breaking_callback. Suicide last bracket if appropriate.
5387 * python/lilylib.py: strip getopt support
5389 * scripts/etf2ly.py (do_options): use optparse
5391 * scripts/midi2ly.py: optparse, strip lilylib copy.
5393 * scripts/abc2ly.py (voices): use optparse.
5395 * stepmake/stepmake/generic-vars.make: new function absdir.
5397 * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5399 * scripts/lilypond-book.py (find_file): use global_options for
5402 * scm/ps-to-png.scm (ps-page-count): prevent null characters
5405 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5407 * python/lilylib.py (get_global_option): ughness for extracting
5408 global options from lilylib.
5409 (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5411 * scripts/lilypond-book.py (get_option_parser): use optparse for
5412 option handling. Put options in global_options variable.
5414 2006-02-28 Heikki Junes <hjunes@cc.hut.fi>
5416 * Documentation/index.html.in: clarify.
5418 2006-02-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
5420 * scm/layout-page-layout.scm (write-page-breaks): add a
5421 music-system-heights property to the page layout output.
5423 * scm/page.scm (make-page-stencil): take footer into account when
5424 computing the 'space-left page property
5425 (annotate-space-left): take footer into account when annonating
5428 2006-02-28 Graham Percival <gpermus@gmail.com>
5430 * Documentation/user/ advanced-notation, global: more (final)
5431 docs for music expressions, removed special fermatas.
5433 2006-02-27 Graham Percival <gpermus@gmail.com>
5435 * Documentation/user/ basic-notation, global: minor changes
5438 2006-02-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
5440 * scm/framework-ps.scm:
5441 * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5442 layer for inf? and nan? from framework-ps to lily-library.
5444 2006-02-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
5446 * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5447 $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5449 * buildscripts/substitute-encoding.py (Module): remove file.
5451 * mf/GNUmakefile: more PFA strippage.
5453 * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5455 * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5458 * scm/framework-ps.scm: remove font name munging.
5460 * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5462 2006-02-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
5464 * scm/markup.scm (define-markup-command): change
5465 def-markup-command to define-markup-command
5467 * scm/music-functions.scm (define-music-function): change
5468 def-music-function to define-music-function.
5470 * python/convertrules.py (conv): rules for def-music-function
5471 and def-markup-commands
5473 * Documentation/user/programming-interface.itely,
5474 input/no-notation/display-lily-tests.ly,
5475 input/regression/lily-in-scheme.ly,
5476 input/regression/markup-user.ly,
5477 input/regression/music-function.ly, input/regression/tie-chord.ly,
5478 scm/fret-diagrams.scm, ly/music-functions-init.ly,
5479 ly/gregorian-init.ly: use new macro names (define-music-function,
5480 define-markup-command).
5482 2006-02-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
5484 * scripts/lilypond-book.py (main): write Makefile dependencies file.
5485 (output): add comments to lp-book latex output.
5487 * GNUmakefile.in (footifymail): use gmane address for webpage bug
5490 2006-02-23 Graham Percival <gpermus@gmail.com>
5492 * Documentation/user/ tutorial, global: minor changes.
5494 2006-02-23 Nicolas Sceaux <nicolas.sceaux@free.fr>
5496 * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5497 blocks (for make 3.80)
5499 * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5500 \notemode so that user should not have to explicitely type it.
5502 * scm/define-music-display-methods.scm: various
5503 fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5506 * input/no-notation/display-lily-tests.ly: new tests for
5507 \applyOutput and \applyContext
5509 2006-02-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
5511 * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5512 changed it slightly so that the number of systems returned by
5513 solve () will be the same as the last value passed to resize
5514 (). I've also added more documentation, removed casts, fixed style
5515 problems and put in some recovery if constraints aren't satisfied."
5517 2006-02-23 Jan Nieuwenhuizen <janneke@gnu.org>
5519 * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5520 for emacs < 22 compatibility.
5521 (count-rexp): Use it.
5522 (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5523 substring juggling (Milan Zamazal).
5525 2006-02-23 Graham Percival <gpermus@gmail.com>
5527 * Documentation/user/ basic-notation, advanced-notation,
5528 global.itely, invoking.itely, tutorial,itely:
5529 minor fixes from mailist.
5531 * scm/define-markup-commands.scm: improve docs of \filled-box.
5533 2006-02-23 Heikki Junes <hjunes@cc.hut.fi>
5535 * Documentation/index.html.in: changes concern the previous release.
5537 * input/regression/+.ly: cultivate typographical terminology.
5539 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5541 * scm/define-grob-interfaces.scm (parentheses-interface): add
5542 padding to parentheses-interface.
5544 * Documentation/user/GNUmakefile: remove $(CROSS) support from
5545 Documentation/user/GNUmakefile. Use --disable-documentation for that.
5547 * VERSION (PATCH_LEVEL): release 2.7.36
5549 * lily/slur.cc: add avoid-slur (ugh.)
5551 * lily/slur-configuration.cc (fit_factor): oops, skip point if
5552 intersection gets smaller. This fixes slurs over extreme points.
5554 * lily/melody-engraver.cc (stop_translation_timestep): ignore
5555 stems with neutral-direction set.
5557 * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5559 * lily/open-type-font.cc (load_table): format error.
5561 * lily/change-iterator.cc (process): format fix.
5563 * flower/include/international.hh (_f): idem.
5565 * flower/include/std-string.hh: add format printf attribute.
5567 * scm/define-grobs.scm (all-grob-descriptions): height of all
5568 PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5570 * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5573 * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5575 2006-02-22 Erik Sandberg <mandolaerik@gmail.com>
5577 * input/regression/: upgraded syntax for some files.
5579 * THANKS: Add bughunters.
5581 2006-02-22 Graham Percival <gpermus@gmail.com>
5583 * Documentation/user/ invoking.itely, advanced-notation.itely,
5584 global.itely: long-awaited "let's make chapter 10 not suck"
5585 update. Rearrange chapter 10; now called "global issues",
5586 addresses file structure, etc. Some info from other files
5587 moved into global.itely.
5589 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5591 * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5592 catch trill-span-event notes.
5594 * Documentation/user/examples.itely (Ancient notation templates): typo.
5597 * scripts/lilypond-book.py (main): scrap invokes_lilypond().
5599 * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5601 * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5603 * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5605 * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5606 froum Laissez_vibrer_engraver.
5608 * ly/declarations-init.ly (repeatTie): add \repeatTie
5610 * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5612 * scm/define-grob-properties.scm (all-user-grob-properties): add
5613 head-direction property.
5615 * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5616 from_lv_ties. Take head direction argument.
5618 * lily/semi-tie-column.cc: rename from
5619 laissez-vibrer-tie-column.cc. Rename class too.
5621 * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5624 * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5626 * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5628 (find_breaks): idem.
5630 2006-02-21 Graham Percival <gpermus@gmail.com>
5632 * Documentation/user/advanced-notation.itely: fixed make-moment]
5635 * Documentation/user/basic-notation.itely: more clarification to
5638 2006-02-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
5640 * lily/include/constrained-breaking.hh (class
5641 Constrained_breaking): new file.
5643 * lily/constrained-breaking.cc (resize): new file.
5645 * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5647 * Documentation/user/advanced-notation.itely (Clusters): insert
5650 * lily/tie-column.cc (calc_positioning_done): support for
5653 * lily/tie-formatting-problem.cc
5654 (generate_extremal_tie_variations): factor out.
5655 (score_ties_configuration): annotate all tie
5656 (print_ties_configuration): new routine.
5657 (generate_configuration): nudge extremal ties outside of the head
5659 (score_ties_configuration): oops. convert to staff-space before
5660 determining position symmetry.
5662 2006-02-20 Graham Percival <gpermus@gmail.com>
5664 * Documentation/user/*-notation.itely: misc minor editing,
5665 shifting doc sections around.
5667 * Documentation/user/*-notation-itely, global.itely,
5668 changing-defaults.itely: added new stuff from NEWS.
5670 2006-02-20 Heikki Junes <hjunes@cc.hut.fi>
5674 2006-02-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5676 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5677 lilypond --verbose for lp-book.
5679 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5680 $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5682 * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5683 $(buildscript-dir) iso. absolute depth.
5685 * buildscripts/genicon.py (dir): thinko.
5687 * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5689 2006-02-19 Erik Sandberg <mandolaerik@gmail.com>
5691 * scm/output-lib.scm: swap darkcyan/darkyellow
5693 * THANKS: Add bughunters.
5695 2006-02-19 Graham Percival <gpermus@gmail.com>
5697 * Documentation/user/programming-interfaces.itely: fixed example.
5699 * Documentation/user/instrument-notation.itely: fix @{ @}.
5701 * scm/script.scm: add avoid-slur for \open.
5703 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5705 * lily/tie-formatting-problem.cc (score_configuration): use
5706 sliding score for min-length.
5708 * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5709 spaghetti for icons.
5711 * buildscripts/genicon.py (program_name): new file.
5713 * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5715 (generate_configuration): for small ties, also look for collisions
5716 at Y + DIR*h + DELTA_Y.
5717 (get_variations): consider variation for dot positions too.
5719 * lily/side-position-interface.cc (aligned_side): take abs for
5720 quantized rounded position. Fixes tenuto below staff.
5722 * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5723 markers when necessary.
5725 * lily/program-option.cc (internal_set_option): add
5726 strict_infinity_checking option.
5728 * scm/output-lib.scm (cyan): swap yellow and cyan.
5730 2006-02-19 Graham Percival <gpermus@gmail.com>
5732 * darwin.patch: trivial linenumber update.
5734 * Documentation/user/ {various}: `\context foo = named' changed
5735 to `\new foo = "name"' in docs.
5737 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5739 * scm/stencil.scm (annotate-y-interval): use it.
5741 * scm/lily-library.scm (interval-sane?): new function.
5743 * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5746 * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5749 * flower/include/std-vector.hh (iterof): add iterof macro.
5751 * lily/enclosing-bracket.cc (width): new function.
5753 * lily/align-interface.cc (align_elements_to_extents): reinstate
5756 2006-02-18 Heikki Junes <hjunes@cc.hut.fi>
5758 * Documentation/index.html.in: fix spelling: thankyous.
5760 2006-02-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
5762 * lily/lyric-hyphen.cc: typo.
5764 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5766 * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5767 $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5770 * VERSION: release 2.7.35
5772 * lily/beam.cc (get_default_dir): oops. Take abs () for
5774 (get_default_dir): use extreme position criterion only in absence
5775 of forced stem directions.
5777 * VERSION (PATCH_LEVEL): bump VERSION.
5779 * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5780 dependencies. Necessary for -jX builds.
5782 2006-02-17 Jan Nieuwenhuizen <janneke@gnu.org>
5784 * lily/relocate.cc (setup_paths): Yet another const fix.
5786 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5788 * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5790 * lily/relocate.cc (setup_paths): oops.
5792 2006-02-17 Heikki Junes <hjunes@cc.hut.fi>
5794 * Documentation/index.html.in: order links: html before PDF.
5796 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5798 * lily/tie-column-format.cc (Module): remove.
5800 * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5802 * lily/text-spanner.cc (print): idem.
5804 * lily/dynamic-text-spanner.cc (print): only print line if longer
5807 * lily/auto-change-iterator.cc (change_to): formatting.
5809 * lily/beam.cc (get_default_dir): take extreme note head as input
5812 * lily/tie.cc (get_default_dir): only look directions for visible
5815 * lily/side-position-interface.cc (aligned_side): oops. Don't
5816 mutiply with direction. This fixes quantized (staccato, tenuto)
5817 scripts below notes.
5819 * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5820 direction. Fixes c-lyrics-center-align.ly
5822 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5824 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5827 * lily/std-string.cc:
5828 * lily/include/std-vector.hh (split_string): Move and rename from
5829 lily/include/misc.hh, lily/misc.cc. Update callers.
5831 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5833 * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5835 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5837 * flower/test-file.cc: New file.
5839 * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5842 * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5844 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5846 * flower/include/file-storage.hh: remove file.
5848 * lily/include/midi-item.hh (class Midi_track): idem.
5850 * lily/include/source.hh (class Sources): idem.
5852 * lily/include/performance.hh (class Performance): use vector
5855 * flower/include/cons.hh (class Cons): remove file.
5857 * flower/include/flower-proto.hh: remove template cruft.
5859 * lily/include/font-metric.hh: use size_t not vsize for indices.
5861 * flower/include/flower-proto.hh (Module): remove std-vector.hh
5864 * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5866 * lily/include/paper-book.hh (class Paper_book):
5867 make get_system_specs() public.
5869 * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5870 the force=10000 case if we don't have a current-best.
5872 * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5875 * flower/include/flower-proto.hh: remove outdated templates.
5877 * scm/page.scm: use annotate-spacing
5879 2006-02-15 Graham Percival <gpermus@gmail.com>
5881 * scm/translation-functions.scm: circle patch from Erlend, thanks!
5883 * THANKS: moved Erlend Aasland to contributors.
5885 2006-02-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5887 * config.hh.in: remove HAVE_PANGO_16
5889 * lily/tuplet-bracket.cc (calc_positions): multiply with
5890 staff-space for beam case. This fixes tuplets+beams on scaled
5893 * config.hh.in: remove all Kpathsea related defines.
5895 * lily/dot-column.cc (side_position): reach stem via dots->
5896 head->stem. Inspect all stems for dot collisions.
5898 * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5901 * lily/bar-number-engraver.cc (process_music): document function
5904 * lily/score.cc (default_rendering): add pscore, not systems
5907 * lily/paper-book.cc (get_system_specs): separate generation of
5910 * flower/include/std-vector.hh: don't include config.hh
5912 2006-02-15 Jan Nieuwenhuizen <janneke@gnu.org>
5914 * flower/include/std-vector.hh: Better wrapper compatibility with
5917 * flower/include/flower-proto.hh: Remove cheap forward declaration
5920 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5922 2006-02-14 Graham Percival <gpermus@gmail.com>
5924 * Documentation/user/invoking.itely: add warning about command line.
5926 2006-02-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
5928 * lily/include/lily-proto.hh: add Prob, rm Page.
5930 * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5932 * VERSION: release 2.7.34
5934 * lily/relocate.cc (framework_relocation): show canary if
5935 GHOSTSCRIPT_VERSION undefined.
5937 * GNUmakefile.in: remove $(VERSION) symlink.
5939 * lily/relocate.cc (setup_paths): add +
5941 2006-02-13 Heikki Junes <hjunes@cc.hut.fi>
5943 * Documentation/index.html.in: specify sizes for all big HTML pages.
5945 2006-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5947 * config.hh.in: remove @FRAMEWORKDIR@
5949 * lily/system-start-text.cc (get_stencil): new file: separate out
5950 system-start-delimiter text support.
5952 * input/**ly: replace \context with \new where appropriate.
5956 * lily/slur-scoring.cc (get_base_attachments): use
5957 robust_relative_extent. This fixes problems with empty paper-columns.
5959 2006-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5961 * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
5963 * scm/define-music-properties.scm (all-music-properties):
5964 create-new property.
5966 * lily/context-specced-music-iterator.cc (construct_children):
5967 inspect 'create-new property iso. magical $uniqueContextId context
5970 * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
5972 * lily/context-key-manager.cc (Module): new file. Encapsulate
5973 object key generation.
5975 * lily/include/context-key-manager.hh (Module): new file.
5977 2006-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5979 * scm/define-grobs.scm (all-grob-descriptions): center instrument
5982 * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
5984 (reloc_b): excise --enable-framework-dir
5986 * lily/relocate.cc (framework_relocation): use getenv
5987 LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
5989 2006-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
5991 * flower/include/std-string.hh:
5992 * flower/include/std-vector.hh: Finish std:: conversion; move
5993 flower extensions from std:: namespace. Update users.
5995 * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
5996 their expansion to vector<*>. Update users.
5998 2006-02-10 Graham Percival <gpermus@gmail.com>
6000 * Documentation/user/invoking.itely: add example to File structure.
6002 * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
6003 examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
6005 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6007 * ly/paper-defaults.ly: typo.
6009 * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
6010 set_parent() for parentheses. This will make it show up in bbox
6013 * scm/output-lib.scm (parentheses-item::print): rewrite, using
6014 ly:grob-common* functions.
6016 * lily/grob-scheme.cc (LY_DEFINE):
6017 ly:grob-common-refpoint-of-array: new function
6018 ly:grob-common-refpoint: new function
6019 ly:grob-relative-coordinate: new function
6021 * lily/instrument-name-engraver.cc (process_music): use
6022 Text_interface::is_markup(). This fixes \markup on instrument names.
6024 * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
6027 * lily/slur.cc (print): idem.
6029 * lily/tie.cc: add line-thickness for ties.
6031 2006-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
6033 * scm/output-svg.scm: Document diversion from GNU coding standards
6034 as a workaround for a bug in Microsoft Internet Explorer.
6036 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6038 * lily/instrument-name-engraver.cc (process_music): use
6039 is_markup() iso. is_string()
6041 * Documentation/user/changing-defaults.itely (Module): add menu entry.
6043 * lily/percent-repeat-engraver.cc (process_music): only look at
6044 main_part_ for % repeats.
6046 * lily/stem-tremolo.cc (get_beam_translation): new function.
6047 (calc_slope): new function.
6048 (height): don't use real slope.
6050 2006-02-10 Jürgen Reuter <reuter@ipd.uka.de>
6052 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
6053 new connect-to-neighbor, control-points and staff-padding
6054 properties to make ligature brackets showing up again.
6056 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6058 * VERSION: release 2.7.33
6060 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
6063 * Documentation/user/changing-defaults.itely (Difficult tweaks):
6064 remove applyOutput example.
6065 (Objects connected to the input): document \tweak, \parenthesize
6067 * lily/relocate.cc (prefix_relocation): allow "current"
6068 iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
6069 changing VERSION in a lily tree less painful.
6071 * input/regression/parenthesize.ly: new file.
6073 * scm/output-lib.scm (parenthesize-element): new function.
6075 * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
6077 * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
6079 * lily/accidental-engraver.cc (make_standard_accidental): reroute
6080 cause: accidentals are caused by note heads, not note events.
6082 2006-02-08 Graham Percival <gpermus@gmail.com>
6084 * darwin.patch: small patch from Erlend, thanks!
6086 * Documentation/user/basic-notation.itely: add stem-neutral example.
6088 * Documentation/user/putting.itely: clarifications.
6090 2006-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
6092 * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
6093 note, add more guidelines to what should go into NEWS.
6095 * input/sakura-sakura.ly: document how to override font.
6097 * input/regression/font-family-override.ly: doc -dshow-available-fonts
6099 2006-02-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6101 * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
6103 2006-02-08 Jan Nieuwenhuizen <janneke@gnu.org>
6105 * scripts/convert-ly.py (lilypond_version_re_str): Move from
6106 convertrules. Add explicit grouping, needed for python2.2.
6108 2006-02-07 Jan Nieuwenhuizen <janneke@gnu.org>
6110 * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
6112 2006-02-07 Graham Percival <gpermus@gmail.com>
6114 * Documentation/user/global.itely: fix line-width in (text) docs.
6116 * Documentation/user/lilypond-book.itely: same.
6118 2006-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6120 * VERSION (PACKAGE_NAME): release 2.7.32
6122 * Documentation/topdocs/NEWS.tely (Top): document new variable
6125 * flower/include/array.icc (Message): remove file.
6127 * flower/include/std-vector.hh: make sure vsize and VPOS are
6128 defined for binary_search_bounds().
6130 * flower/std-string.cc (std): add to_string(long unsigned).
6132 * configure.in (gui_b): excise std_string option.
6133 (gui_b): excise std_vector option.
6135 * flower/string.cc (Module): excise flower array & string
6137 * flower/include/std-string.hh: excise flower string.
6139 * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6141 * python/convertrules.py (lilypond_version_re_str): require
6142 only numbers and dots in \version string.
6144 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6146 * lily/system-start-delimiter.cc (print): allow style = text too.
6148 * lily/system-start-delimiter-engraver.cc
6149 (acknowledge_system_start_text): new function, also add add to
6150 support of system-start-text (instrument names). This fixes
6151 instrument names on piano staves.
6153 * lily/instrument-name-engraver.cc: rewrite. Use
6154 system-start-delimiter approach. This save memory and cpu.
6156 * scm/define-grobs.scm (all-grob-descriptions): remove
6157 instrument-name from break-alignment.
6159 * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6161 2006-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
6163 * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6166 * configure.in (std_vector): On by default.
6168 * lily/include/font-metric.hh:
6169 * lily/include/tfm-reader.hh:
6170 * lily/include/spanner.hh: Use unsigned for indices and sizes.
6173 * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6175 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6177 * VERSION (PACKAGE_NAME): 2.7.31
6179 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6180 EPS edge at 0, but take minimum with left-overshoot. This fixes
6181 cut off system start delims.
6183 * lily/instrument-name-engraver.cc (stop_translation_timestep):
6184 hack: add to axis group if not added yet. This fixes hara kiri'd
6187 * lily/hara-kiri-group-spanner.cc
6188 (force_hara_kiri_in_y_parent_callback): fix signatures.
6190 * lily/hairpin.cc (print): check next hairpin to see whether or
6191 not to be continuing.
6193 2006-02-04 Jan Nieuwenhuizen <janneke@gnu.org>
6195 * Remove trailing whitespace from makefiles.
6197 * flower/include/std-vector.hh: Add binary_search_bounds workaround
6200 * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft.
6202 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6204 * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6206 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6208 * configure.in: Use it.
6210 2006-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6212 * scm/music-functions.scm (pitch-of-note): new function.
6214 * ly/music-functions-init.ly: add \octave and \addquote
6216 * lily/parser.yy (music_function_chord_body): softcode \octave.
6217 (lilypond_header): softcode \addquote
6219 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6221 * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6222 array.hh, parray.hh at all. Getting ready to flip the
6225 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6227 * lily/source-file.cc (file::get_line): Help binary_search_bounds
6230 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6232 2006-02-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
6234 * flower/include/array.hh: typo.
6236 2006-02-02 Graham Percival <gpermus@gmail.com>
6238 * Documentation/user/advanced-notation.itely: doc "\#" in text.
6240 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6242 * flower/include/pqueue.hh: Derive from std::vector.
6244 * flower/include/parray.hh: Conform to std::vector interface.
6247 2006-02-02 Graham Percival <gpermus@gmail.com>
6249 * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6251 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6253 * flower/file-path.cc (is_file): remove if 0 section.
6255 * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6256 selecting afii61352.
6258 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6260 * flower/include/std-vector.hh (boundary): Oops, reverse.
6262 * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6263 remove superfluous `d'.
6265 * flower/include/std-vector.hh (boundary, top): Detach from class.
6266 Remove empty vector shell.
6268 * flower/include/array.hh (reverse, swap): Detach from class.
6271 * flower/include/std-vector.hh
6272 * flower/include/array.hh (concat): Globally change to insert ().
6274 * flower/include/std-vector.hh
6275 * flower/include/parray.hh
6276 * flower/include/array.hh (elem, elem_ref): Globally replace by
6279 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6281 * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6283 * python/convertrules.py (FatalConversionError.sub_cxx_id):
6284 anticipate on identifier substitutions.
6286 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6288 * flower/include/std-vector.hh (insert): Remove, replace by
6289 std::vector interface. Update callers.
6291 * flower/include/array.icc (insert): Change signature to
6292 match std::vector interface.
6294 * flower/include/array.icc (vector_sort): Bugfix.
6296 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6298 * lily/parser.yy (output_def_head_with_mode_switch): new
6299 production. Result: dashes and underscores may be used in the
6302 * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode.
6304 * python/convertrules.py (conv): oops. One slash too much.
6306 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6308 * flower/include/std-vector.hh (sort): Remove, replace by
6309 ::vector_sort. Update callers.
6311 * flower/include/std-vector.hh (slice): Remove. Update callers.
6314 * flower/test-std.cc (vector_sort): New test.
6316 2006-02-01 Graham Percival <gpermus@gmail.com>
6318 * Documentation/user/putting.itely: fixes from Erik.
6320 2006-02-01 Jan Nieuwenhuizen <janneke@gnu.org>
6322 * flower/test-std.cc: Add simple unit test for vector migration.
6324 * stepmake/stepmake/test*: Unit test support.
6326 * flower/include/std-vector.hh (del): Remove. Use erase (),
6329 * flower/include/array.hh (begin, end): Add.
6332 2006-02-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6334 * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6335 std::string not String.
6337 * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6340 * lily/prob.cc (Prob): copy type_ too.
6342 * lily/lily-guile.cc (mangle_cxx_identifier): new
6343 function. Class_bla::foo_bar_[px] ->
6344 ly:class-bla::foo-bar[?!]. Changes throughout
6346 2006-01-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6348 * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6350 * lily/beam.cc (calc_direction): take dir from visible stem in
6353 2006-01-31 Jan Nieuwenhuizen <janneke@gnu.org>
6355 * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6356 Fix -1, >=0 boundary checks for unsigned vsize.
6358 * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6359 loop for unsigned vsize.
6361 * configure.in (--enable-std-vector): New option.
6362 (--enable-std-string): On by default.
6364 * flower/include/std-vector.hh: New file. Enable switch to
6365 std::vector, update client code.
6367 2006-01-30 Graham Percival <gpermus@gmail.com>
6369 * scm/document-translation.scm: clarify "this context is also
6370 known as". Thanks, Werner!
6372 * Documentation/user/putting.itely: small fixes from Don Blaheta.
6374 * Documentation/user/invoking.itely: small fix from Don.
6376 2006-01-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6378 * scm/lily.scm (define-scheme-options): rename option
6379 preview-include-book-title to book-title-preview
6380 (define-scheme-options): move force-eps-font-include (from paper
6381 block) to eps-font-include -d option.
6383 * VERSION (PATCH_LEVEL): release 2.7.30
6385 * input/bach-schenker.ly (staffPiano): new file.
6387 * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6389 * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6392 * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6394 * ps/lilyponddefs.ps: remove start-system, stop-system,
6395 start-page fluff. This saves putting { } code on the stack, fixing
6396 stack overflows when including EPS files.
6398 2006-01-29 Graham Percival <gpermus@gmail.com>
6400 * Documentation/user/putting.itely: minor fixes (comments on -devel).
6402 2006-01-29 Nicolas Sceaux <nicolas.sceaux@free.fr>
6404 * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6406 2006-01-28 Graham Percival <gpermus@gmail.com>
6408 * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6410 2006-01-28 Jan Nieuwenhuizen <janneke@gnu.org>
6412 * input/mutopia/claop.py: Update.
6414 2006-01-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6416 * input/regression/completion-heads.ly (texidoc): fix.
6418 * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6420 * lily/tie-formatting-problem.cc
6421 (set_ties_config_standard_directions): use abs iso fabs for ints.
6423 * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6425 * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6426 little less than noteheight, to prevent overlaps in chords.
6428 * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6429 head, and fudge stem-attachment.
6431 * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6433 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6435 2006-01-27 Jan Nieuwenhuizen <janneke@gnu.org>
6437 * lily/main.cc (main): Debugging aid: catch exceptions.
6439 * flower/std-string.cc (to_string): Robustification. Fixes midi
6440 output with std::string.
6442 2006-01-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6444 * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6446 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6448 * Fix -DSTRING_UTILS_INLINED.
6450 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6452 * VERSION (PATCH_LEVEL): release 2.7.29
6454 * lily/relocate.cc (setup_paths): mingw uses std string too.
6456 * lily/*.cc: various fixes for substr(ARG).
6458 * lily/sustain-pedal.cc (print):
6460 * flower/file-name.cc (slashify): use std strings.
6462 * flower/string-convert.cc: remove publib.h
6464 * scm/define-markup-commands.scm (verbatim-file): new markup
6465 command \verbatim-file
6467 * Documentation/topdocs/NEWS.tely: fixup URLs
6469 * input/regression/alignment-vertical-manual-setting.ly (Module):
6472 * lily/align-interface.cc (align_elements_to_extents): overwrite
6473 translations with numbers in alignment-offsets from left bound
6475 * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6476 (page-translate-systems): new function: take into account Y-offset.
6478 * Documentation/topdocs/NEWS.tely (Top): document new features.
6480 * input/regression/page-layout-manual-position.ly (Module): new
6483 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6485 * flower/file-path.cc (path::parse_path): Oops.
6487 * Finish std::string interface. For now, use std:: marker
6488 throughout for easy s/r.
6490 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6492 * Documentation/user/putting.itely (Score is a single musical
6494 (Score is a single musical expression): more typos.
6496 * scm/page.scm (annotate-space-left): thinko.
6497 (annotate-page): more thinkos.
6499 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6501 * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6502 for different \score blocks separately.
6503 (post-process-pages): put write-page-layout into paper block.
6505 * lily/output-def.cc (get_parser): new file.
6507 * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6510 * lily/include/output-def.hh (class Output_def): add parser_ member.
6512 * input/regression/page-layout-twopass.ly (Module): new file.
6514 * scm/lily.scm: remove cpp hack.
6516 * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6518 2006-01-25 Jan Nieuwenhuizen <janneke@gnu.org>
6520 * GNUmakefile.in (c-clean): New target.
6522 * flower/include/std-string.hh: String/std::string compatibility:
6523 Use NPOS for `not found' (iso -1), use ssize for length () and pos
6526 * flower/rational.cc:
6527 * flower/include/rational.hh:
6530 * flower/include/offset.hh:
6532 * flower/interval.cc:
6533 * flower/include/interval.hh:
6535 * flower/string-convert.cc:
6536 * flower/include/string-convert.hh: Use std::string [interface].
6539 2006-01-25 Heikki Junes <hjunes@cc.hut.fi>
6541 * Documentation/index.html.in: clean up.
6543 2006-01-25 Graham Percival <gpermus@gmail.com>
6545 * Documentation/user/putting.itely: another new untested doc section.
6547 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6549 * scm/layout-page-layout.scm (write-page-breaks): write
6550 \spacingTweaks #ALIST. Handle grace timing.
6552 * scm/: more imports.
6554 * scm/page.scm (make-page): add footer/header.
6555 (annotate-space-left): revise: only take page argument.
6556 (layout->page-init): new function.
6558 * scm/layout-page-layout.scm (write-page-breaks): preliminary
6559 version of the system/spacing/linebreak hack writing to the output
6561 * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6564 * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6567 2006-01-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
6569 * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6571 * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6573 * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6574 handling to page.scm
6576 * lily/prob-scheme.cc (LY_DEFINE): new file.
6577 (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6579 * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6582 * lily/music.cc (derived_mark): derive Music from Prob.
6584 * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6586 * lily/prob.cc (Module): Implement Prob (Property Object), object
6587 with shared and r/w property alists.
6589 * lily/include/prob.hh (Module): new file. Declare Prob.
6591 * flower/string.cc: remove is_empty().
6593 * flower/include/string.hh (class String): remove String:: qualifier.
6595 * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6596 substitute appropriate functions.
6598 * flower/include/string.hh (class String): remove to_str0 and
6599 is_empty(). S&R everywhere.
6601 2006-01-23 Graham Percival <gpermus@gmail.com>
6603 * Documentation/user/basic-notation.itely: add hairpin
6604 after-linebreak tweak to commonprop.
6606 * Documentation/user/putting.itely: added two new sections.
6608 2006-01-23 Jan Nieuwenhuizen <janneke@gnu.org>
6610 * flower/international.cc:
6611 * flower/include/international.hh:
6613 * flower/getopt-long.cc:
6614 * flower/include/getopt-long.hh: Use std::string [interface].
6617 * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6619 * stepmake/stepmake/executable-rules.make: Add dependency on
6622 2006-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
6624 * flower/file-path.cc:
6625 * flower/include/file-path.hh: Use std::string [interface].
6628 * flower/direction.cc:
6629 * flower/axis.cc: Unused. Remove.
6631 * configure.in (--enable-std-string): New option.
6633 * flower/std-string.cc:
6634 * flower/include/std-string.hh: New file.
6636 * flower/file-name.cc[STD_STRING]:
6637 * flower/include/file-name.hh[STD_STRING]: Use it. Update callers.
6639 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6641 * scm/output-svg.scm (placebox): no GNU coding standards in SVG output.
6643 * scm/define-markup-commands.scm (with-dimensions):
6644 with-dimensions markup command.
6646 * input/test/font-table.ly: use it.
6648 * lily/open-type-font.cc (glyph_list): new function.
6650 * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6652 * lily/ttf.cc: remove ly:font-glyph-list scheme function
6654 2006-01-22 Nicolas Sceaux <nicolas.sceaux@free.fr>
6656 * ly/music-functions-init.ly (parallelMusic): new music function
6657 for parallel music entry.
6659 * scm/define-music-properties.scm (all-music-properties): new
6660 'void music property
6662 * scm/music-functions.scm (ly:music-message): make public, to be
6663 used in music function definitions
6665 * scm/lily-library.scm (collect-music-for-book): discard music
6666 when the 'void property is set.
6668 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6670 * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6672 * mf/GNUmakefile: idem.
6674 * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6676 * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6678 * Documentation/user/notation-appendices.itely (The Feta font):
6681 * input/test/font-table.ly: new file. Generate font table within lily.
6683 * Documentation/user/notation-appendices.itely (The Feta font):
6684 use new font-table.ly file.
6686 * stepmake/stepmake/install-out-targets.make
6687 (local-install-outfiles): only create directory if
6688 $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6690 2006-01-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6692 * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6694 * VERSION (PACKAGE_NAME): release 2.7.28
6696 * scm/framework-ps.scm (write-preamble): use it to pick exactly
6697 the right font from a Mac dfont.
6698 (write-preamble): don't forget directory, only look at files.
6700 This fixes problems with TTF files in dfonts that don't match
6701 their PostScript names.
6703 * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6704 PS name from TTF font.
6706 * input/regression/tie-manual.ly: document new feature.
6708 * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6710 * VERSION (MY_PATCH_LEVEL): bump to .28
6712 * Documentation/user/basic-notation.itely (Ties): add tie examples
6715 * lily/tie-formatting-problem.cc (score_ties_configuration):
6716 symmetry penalties for outer ties.
6718 2006-01-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
6720 * lily/tie-formatting-problem.cc (generate_configuration)
6721 (set_manual_tie_configuration): skip non-pair manual
6722 tie-configuration, so you can set individual ties as
6724 #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6726 * input/regression/tie-chord.ly: use generateTiePattern to
6729 * lily/tie-formatting-problem.cc (peak_around): new function.
6730 (score_configuration): use sliding criterion for staff line collisions.
6731 (score_configuration): idem for dot collisions.
6732 (generate_configuration): use separate stem_gap for gap to stem.
6734 * lily/include/tie-formatting-problem.hh (struct Tie_details):
6735 separate penalty factors for x and y distance.
6736 (struct Tie_details): separate penalties for tip and center line collisions.
6738 2006-01-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6740 * lily/tie-formatting-problem.cc (generate_configuration): make
6741 large ties avoid stafflines in the horizontal section.
6742 (score_configuration): use softcoded penalties
6743 (score_aptitude): idem.
6745 * lily/tie-helper.cc (from_grob): softcode tie details
6747 * lily/staff-symbol-referencer.cc (on_staff_line): new function
6749 * lily/staff-symbol-referencer.cc (on_line): rename from
6752 2006-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
6754 * ly/music-functions-init.ly: remove duplicate tag.
6756 * lily/include/*.hh: GCC 4.1 fixes.
6758 006-01-16 Erlend Aasland <erlenda@gmail.com>
6760 * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6762 * scm/define-music-types.scm: fix bug in desc. string
6763 for OverrideProperty
6765 2006-01-15 Erik Sandberg <mandolaerik@gmail.com>
6767 * scripts/lilypond-book.py: bugfix
6769 * scm/define-music-types.scm: fix typos.
6771 2006-01-14 Graham Percival <gpermus@gmail.com>
6773 * Documentation/user/ basic-notation.itely, global.itely,
6774 advanced-notation.itely, instrument-notation.itely: small
6775 additions (bugs and commonly tweaked properties).
6777 2006-01-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
6779 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6780 detection of mingw build.
6781 (MINGW_BUILD): opps.
6783 2006-01-12 Jan Nieuwenhuizen <janneke@gnu.org>
6785 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6788 2006-01-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
6790 * scm/music-functions.scm (skip->rest): add skip->rest
6792 2006-01-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
6794 * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6797 * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6798 config dirs. Aids debugging.
6799 (display_config): also display config files.
6801 2006-01-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6803 * VERSION: release 2.7.27
6805 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6806 for determining bar size.
6808 * lily/staff-symbol.cc (print): place lines at distance line-positions
6810 * scm/define-grob-properties.scm (all-user-grob-properties): add
6813 * lily/staff-symbol.cc (height): new function.
6815 * input/regression/staff-line-positions.ly: new file.
6817 2006-01-06 Graham Percival <gpermus@gmail.com>
6819 * input/test/add-staccato.ly: remove reference to old file.
6821 2006-01-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6823 * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6824 lilypond binary too.
6826 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6828 * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6830 2006-01-06 Jan Nieuwenhuizen <janneke@gnu.org>
6832 * scripts/midi2ly.py: Bugfix: Declare datadir.
6834 * make/ly-rules.make:
6835 * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6836 that seems to be gone). Fixes make web.
6838 * The grand 2005-2006 replace.
6840 * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6842 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6844 * make/lilypond-vars.make: set LILYPOND_BINARY variable
6845 (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6846 LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6847 like -dgs-font-load.
6849 * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6850 remove absolute path to lilypond binary.
6852 2006-01-05 Pedro Kroeger <kroeger@pedrokroeger.net>
6854 * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6856 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6858 * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6860 * mf/GNUmakefile: remove broken dvips map symlink.
6862 2006-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
6865 * configure.in: Cosmetic fixes.
6867 2006-01-04 Mats Bengtsson <mabe@s3.kth.se>
6869 * Documentation/user/music-glossary.tely (Pitch names): Added
6870 Spanish pitch names and durations, thanks to Ernesto Gancedo
6872 2006-01-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6874 * scm/lily.scm (define-scheme-options): use quasi-quote for option
6875 init. Fixes verbose printing of .scm files.
6877 * stepmake/aclocal.m4: add spaces before - options.
6879 2006-01-03 Jan Nieuwenhuizen <janneke@gnu.org>
6881 * lily/relocate.cc (setup_paths): Bugfix: do not store result
6882 of path search in local block variable.
6884 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6886 * configure.in (NCSB_DIR): --enable-ncsb-dir
6887 (LINK_GXX_STATICALLY): denko.
6889 * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH.
6891 * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option.
6892 use locate to find c059033l.pfb.
6894 2006-01-02 Jan Nieuwenhuizen <janneke@gnu.org>
6896 * lily/tie-formatting-problem.cc
6897 (problem::generate_base_chord_configuration): Use my_round (was
6900 * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6901 do not invoke mbrtowc.
6903 * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6905 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6907 * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6909 2005-01-02 Heikki Junes <hjunes@cc.hut.fi>
6911 * Documentation/user/invoking.itely (svg): revise.
6913 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6915 * lily/lexer.ll: use sourcefilename iso. renameinput.
6917 2006-01-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6919 * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6920 <PostScriptName>.ttf instead of c059XXXttf.
6922 * lily/program-option.cc (LY_DEFINE): special support for
6923 --verbose, so it works before option init too.
6925 * mf/GNUmakefile (local-install): oops.
6927 * lily/lyric-hyphen.cc (print): oops.
6929 * buildscripts/pfx2ttf.fontforge: new file.
6931 * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6932 ($(outdir)/%.ttf): new rule.
6934 * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6937 * lily/lyric-hyphen.cc (print): multiply hyphen height by
6940 2005-12-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6942 * VERSION: release 2.7.26
6944 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6946 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6948 * lily/font-config.cc (init_fontconfig): verbosity.
6950 * THANKS: add Muziekacademie Lede.
6952 * scripts/musicxml2ly.py (print_voice_definitions): new function
6953 (print_score_setup): new function
6954 (convert): read part definition to output staves properly.
6956 * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
6959 * python/musicexp.py (Output_printer.__init__): use _ in data
6961 (Output_printer.unformatted_output): new function: no formatting,
6963 (Duration.get_length): remove isinstance() checks for
6964 Output_printer everywhere.
6966 * input/regression/lyrics-bar.ly (texidoc): add
6967 Separating_line_group_engraver.
6969 2005-12-29 Jan Nieuwenhuizen <janneke@gnu.org>
6971 * lily/relocate.cc (framework_relocation): New function,
6972 factored from set_relocation ().
6973 (prefix_relocation): Rename from set_relocation ().
6974 (setup_paths): Use it.
6976 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6978 * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
6979 numbers. Patch by Erlend Aasland.
6981 2005-12-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
6983 * lily/font-config.cc (init_fontconfig): print warning if cache
6984 file is not existant.
6986 * lily/main.cc: don't use #ifdef but #if
6988 2005-12-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6990 * lily/grob-property.cc (internal_set_property): don't abort on
6991 calculation-in-progress.
6993 * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
6995 * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
6996 connect-to-neighbor property not connect-to-other
6998 * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
6999 (LY_DEFINE): oops. don't forget protection.
7001 * flower/parse-afm.cc (Module): strip AFM handling completely.
7003 * lily/stencil-expression.cc: idem.
7005 * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
7007 * lily/function-documentation.cc (ly_add_function_documentation):
7008 use static member iso. Protected_scm
7010 * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
7012 * config.make.in (prefix): remove HAVE_KPATHSEA_SO
7014 2005-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
7016 * lily/relocate.cc (set_env_dir): New function.
7017 (set_relocation): Use it to fix setting PANGO_PREFIX.
7019 2005-12-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7021 * input/regression/stem-direction-context.ly: remove rest.
7023 * lily/melody-engraver.cc (process_music): restart for bar lines.
7024 (acknowledge_slur): restart for slurs.
7026 2005-12-27 Heikki Junes <hjunes@cc.hut.fi>
7028 * Documentation/user/invoking.itely: describe how to view SVG
7029 output using Inkscape which replace embedded fonts with OTF fonts.
7031 2005-12-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7033 * lily/relocate.cc (set_relocation): set PANGO_PREFIX
7035 2005-12-23 Jan Nieuwenhuizen <janneke@gnu.org>
7037 * lily/melody-engraver.cc (class Melody_engraver): Remove lying
7040 2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7042 * VERSION (PACKAGE_NAME): release 2.7.25
7044 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7046 * input/regression/stem-direction-context.ly: new file.
7048 * lily/relocate.cc (set_relocation): add PANGO_PREFIX
7050 * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
7053 * ly/engraver-init.ly: add Melody_engraver
7055 * lily/beam.cc (calc_direction): use default-direction
7056 iso. get_default_direction()
7058 * scm/define-grob-properties.scm (all-user-grob-properties): add
7059 default-direction property.
7061 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
7063 * lily/stem.cc (calc_default_direction): remove
7064 Stem::get_default_direction, use default-direction with callback
7067 * lily/melody-spanner.cc (calc_neutral_stem_direction):
7069 * lily/melody-engraver.cc: new file. Acknowledge stems for
7070 interpolated stem directions.
7072 * lily/melody-spanner.cc: new file. Interpolate stem directions.
7074 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
7076 * lily/slur-configuration.cc (fit_factor): more robust check for
7077 point in curve X-extent.
7079 * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
7080 (outside_slur_callback): check for 'outside avoidance.
7082 * lily/slur-configuration.cc (score_extra_encompass): don't use
7083 bound->column() == avoid->column() for checking extents, as this
7084 doesn't work for accidentals.
7086 * lily/slur-engraver.cc (acknowledge_extra_object): remove
7087 DynamicText hardcoding.
7089 * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
7090 crash if bound stem is NULL
7092 * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
7095 2005-12-22 Graham Percival <gpermus@gmail.com>
7097 * scm/define-markup-commands.scm: typo. @code{\raise}
7100 * darwin.patch: now used again, includes a
7101 required patch from fink.
7103 2005-12-21 Heikki Junes <hjunes@cc.hut.fi>
7105 * po/TODO: mention gtranslator along with kbabel.
7106 * po/fi.po: update translations.
7108 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7110 * lily/relocate.cc (setup_paths): Bugfix.
7112 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7114 * lily/slur-configuration.cc (score_extra_encompass): don't use
7115 "avoid" choice for avoid-slur.
7117 * stepmake/bin/install.py (dest): don't create existing dir.
7119 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7121 * stepmake/bin/install.py: Remove file before copying.
7124 * stepmake/aclocal.m4: Do not substitute INSTALL.
7126 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7128 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7129 depend on link-tree.
7131 * lily/relocate.cc (setup_paths): only check path for non-absolute
7132 dir without directory part.
7134 * flower/file-name.cc (is_absolute): new method.
7135 (is_absolute): check root_ too.
7137 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7139 * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7140 relocation code. Oops, don't comment out too much.
7142 * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7145 * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw
7148 2005-12-20 Jan Nieuwenhuizen <janneke@gnu.org>
7150 * .cvsignore: Add install-sh.
7152 * autogen.sh (srcdir): Typo.
7154 2005-12-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
7156 * autogen.sh (srcdir): urg. Touch install-sh.
7158 * stepmake/bin/install-sh (Module): remove.
7160 * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7162 * lily/include/relocate.hh: new file.
7164 * lily/relocate.cc: new file. Contain relocation logic.
7166 * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7167 (main): read LILYPOND_VERBOSE as the first thing.
7169 * stepmake/aclocal.m4: remove INSTALL variable.
7171 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7172 separate target for making font symlinks.
7173 (documentation-dir): use $(if $(findstring )) for switching off
7176 * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7177 something if DOCUMENTATION is no.
7179 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7181 * VERSION: release 2.7.24
7183 * lily/script-column-engraver.cc (stop_translation_timestep):
7184 delay adding to script-column.
7186 * lily/tuplet-bracket.cc (print): suicide if no control-points.
7188 * python/convertrules.py (conv): rule for number-visibility
7190 * lily/slur-configuration.cc (score_extra_encompass): different
7191 distance measure for avoid and inside avoidance.
7192 (score_extra_encompass): use 1/(distance+eps) as penalty.
7194 * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7195 encompass objects for generating slur curves.
7197 * lily/slur.cc: use details iso. slur-details property.
7199 * input/regression/slur-tuplet.ly: new file.
7201 * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.
7203 * flower/include/offset.hh (class Offset): new operator /=
7205 * lily/tuplet-number.cc (print): new file, new interface.
7207 * scm/define-grob-properties.scm (all-user-grob-properties):
7208 remove number-visibility property.
7210 * lily/tuplet-bracket.cc (calc_control_points): new function
7211 (calc_connect_to_neighbors): new function.
7212 (print): remove text handling for tuplet numberdef.
7214 * lily/tuplet-engraver.cc (struct Tuplet_description): create
7217 * lily/lily-guile.cc (robust_scm2booldrul): new function
7219 * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7221 * lily/tuplet-bracket.cc (calc_position_and_height): use
7222 staff-padding to control whether tuplet brackets are over staves.
7224 * lily/grob.cc (suicide): clear dim_caches_.
7226 * lily/dimension-cache.cc (clear): new function.
7228 * lily/grob.cc (extent): swap order of min-extent and extent
7229 calculations. This fixes hara kiri staves.
7231 2005-12-19 Jan Nieuwenhuizen <janneke@gnu.org>
7233 * lily/main.cc: Nitpick: relocation is not based on path, but on
7234 directory (location).
7236 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7238 * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7240 * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7242 * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7244 * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7246 * stepmake/stepmake/generic-vars.make (Module): idem.
7248 * stepmake/stepmake/executable-targets.make (default): use it.
7250 * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7252 * make/GNUmakefile: don't install make rules.
7254 * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7256 (prepend_env_path): more verbosity.
7258 2005-12-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7260 * GNUmakefile.in: add dir argument for find command.
7262 * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7263 fixes weird line numbers for point & click.
7265 * lily/source-file.cc (get_counts): init line/column/char counts.
7267 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7269 * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7271 2005-12-16 Graham Percival <gpermus@gmail.com>
7273 * Documentation/user/basic-notation.itely, advanced-notation.itely:
7274 minor fixes from Fredric. Thanks!
7276 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7278 * ly/music-functions-init.ly: add \bar and \clef music function
7280 * lily/lily-lexer.cc: idem.
7282 * lily/parser.yy (FIXME): remove BAR and CLEF.
7284 2005-12-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7286 * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7288 * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7289 function arguments too
7291 * lily/main.cc (set_relocation): new function.
7293 * scripts/musicxml2ly.py (convert): add \version
7295 * lily/tie.cc: remove get_default_attachments()
7297 * VERSION (PACKAGE_NAME): release 2.7.23
7299 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7300 ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7302 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7304 * lily/tie-formatting-problem.cc (score_ties): new function
7305 (get_variations): new function. Try flipping dirs for collisions.
7306 (generate_optimal_chord_configuration): new function. 1-opt search
7307 for better configuration.
7309 * lily/tie-configuration.cc: new file.
7311 * lily/tie.cc: junk Tie::get_configuration()
7313 * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7314 (score_ties_configuration): new function.
7315 (generate_ties_configuration): new function.
7316 (generate_base_chord_configuration): new function.
7317 (set_ties_config_standard_directions): Move body from tie-column-format.cc
7318 (set_manual_tie_configuration): Move body from tie-column-format.cc
7320 * input/regression/tie-dot.ly: new file.
7322 * lily/tie-formatting-problem.cc (score_configuration): score
7325 * lily/tie-helper.cc (get_transformed_bezier): new function
7327 * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7329 * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7330 -undefined suppress iso. -framework Python
7332 * scm/define-grobs.scm (all-grob-descriptions): set
7333 springs-and-rods (thanks Joe Neeman!)
7335 2005-12-12 Nicolas Sceaux <nicolas.sceaux@free.fr>
7337 * input/no-notation/display-lily-tests.ly (test):
7338 * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7339 changed from \tag #'(a b) to \tag #'a \tag #'b
7341 2005-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7343 * Documentation/topdocs/NEWS.tely: strip out-www.
7345 * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7347 * config.make.in (AR): add AR and RANLIB
7349 * flower/libc-extension.cc: include cassert
7351 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7354 2005-12-11 Graham Percival <gpermus@gmail.com>
7356 * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7358 * stepmake/stepmake/python-modules-vars.make: define
7359 SHARED_FLAGS for OSX. Thanks Johannes Schindelin!
7361 * THANKS: added Johannes Schindelin.
7363 2005-12-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7365 * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7367 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7368 Span_arpeggio_engraver, add Tweak_engraver to Score context.
7370 * lily/parser.yy: reorganize file layout.
7372 * ly/music-functions-init.ly: add tweak music function.
7374 * lily/grob-info.cc (ultimate_music_cause): new function:
7375 recursively lookup causes.
7377 * lily/parser.yy (chord_body_element): allow music functions for
7378 post-events, allow music functions for chord elements.
7380 * lily/font-config-scheme.cc (display_fontset): add cast.
7382 * python/convertrules.py (FatalConversionError.sub_syms): \tag
7383 #'(a b) -> \tag #'a \tag #'b rule.
7385 * python/musicexp.py (Output_printer.dump_version): new function
7387 2005-12-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7389 * lily/parser.yy (FIXME): remove \tag
7390 (FIXME): remove tag_music() function.
7392 * lily/lily-lexer.cc: remove \tag
7394 * ly/music-functions-init.ly: define music-function "tag"
7396 * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7398 2005-12-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7400 * VERSION (PATCH_LEVEL): release 2.7.22
7402 * input/regression/lyric-hyphen-retain.ly: renew.
7404 * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7407 * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7408 iso. minimum-length property for rods.
7410 * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7411 LyricSpace item to keep lyrics spaced apart.
7413 * ly/engraver-init.ly: remove Separating_line_group_engraver
7415 * Documentation/user/music-glossary.tely: do setfilename before
7418 2005-12-07 Heikki Junes <hjunes@cc.hut.fi>
7420 * Documentation/user/lilypond-book.itely: use `,´ after xref:
7421 See xref documentation, for example.
7423 2005-12-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
7425 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7426 pending_skip iso. ly_voice[-1]
7427 (main): add if __main__ for debugging.
7429 * python/musicxml.py (Accidental.__init__): new class.
7431 * scripts/musicxml2ly.py (progress): new function
7432 (musicxml_key_to_lily): don't barf on modeless keys.
7433 (create_skip_music): new function.
7434 (musicxml_spanner_to_lily_event): new function. Handle beams too.
7435 (musicxml_note_to_lily_main_event): new function.
7437 * python/musicexp.py (Music.__init__): add comment field.
7438 (NestedMusic.append): new routine.
7439 (SequentialMusic.print_ly): print comment.
7440 (ArpeggioEvent.ly_expression): new class
7441 (BeamEvent.ly_expression): new class
7442 (NoteEvent.__init__): support for cautionary/forced accs.
7444 * lily/lookup.cc (slur): normal order for array loop.
7446 * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7449 * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7452 2005-12-06 Erik Sandberg <mandolaerik@gmail.com>
7454 * scm/music-functions.scm: Make phrasing slurs follow voice direction
7456 * scripts/lilypond-book.py: Introduce option
7457 --preserve-line-breaks, for usage with srcltx
7459 2005-12-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7461 * scm/output-lib.scm (print-circled-text-callback): draw circle
7462 around text using make-circle-markup.
7464 * Documentation/user/*: strip out-www from file names.
7466 2005-12-05 Heikki Junes <hjunes@cc.hut.fi>
7468 * Documentation/user/lilypond.tely (direntry): remove empty lines;
7469 fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7471 2005-12-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
7473 * Documentation/user/GNUmakefile: idem.
7475 * Documentation/user/macros.itexi: strip out-www
7477 * python/rational.py: python 2.3 compat.
7479 * VERSION (PATCH_LEVEL): release 2.7.21
7481 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7482 option formatting, lilypond style.
7484 * python/musicexp.py: grab from Ikebana: a library for composing
7485 ly music expressions.
7486 (Output_printer): class for advanced .ly printing.
7489 * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7490 convert to pythonesque structure.
7492 * python/rational.py: PD rational number class.
7494 * Documentation/user/converters.itely (Invoking musicxml2ly): new node.
7496 2005-12-04 Erik Sandberg <mandolaerik@gmail.com>
7498 * lily/part-combine-iterator.cc: Minor bugfix
7500 * THANKS: Update bughunters
7502 2005-12-02 Werner Lemberg <wl@gnu.org>
7504 * mf/README: Document process for proper mf2pt1 conversion.
7506 * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7509 * mf/feta-harmonica.mf: Removed. Unused.
7511 2005-12-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7513 * scripts/lilypond-book.py (do_file): fix thinkos.
7515 2005-12-01 Jan Nieuwenhuizen <janneke@gnu.org>
7517 * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7518 ($(outdir)/parser.cc):
7519 ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7521 2005-11-30 Pedro Kröger <kroeger@pedrokroeger.net>
7523 * ly/titling-init.ly (tagline): it should be a space between
7524 "Music engraving by LilyPond" and the version number.
7526 2005-12-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
7528 * VERSION (PACKAGE_NAME): release 2.7.20
7530 2005-11-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7532 * scm/define-markup-commands.scm (pad-to-box): new markup command.
7534 * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7536 (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7538 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7540 * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7542 * kpath-guile/: remove directory
7544 * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7545 file. Encapsulate kpathsea using commandline tools.
7547 * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7550 2005-11-29 Mats Bengtsson <mabe@s3.kth.se>
7552 * Documentation/user/advanced-notation.itely (Setting automatic
7553 beam behavior): Correct a few typos. Thanks to David Bobroff.
7555 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7556 \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7558 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7560 * scripts/*.py: gmane address for bugs.
7562 2005-11-28 Pal Benko <benkop@freestart.hu>
7564 * make/ly-rules.make: add -f switch to mv
7566 * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7568 * lily/bar-line.cc: interpret it
7570 2005-11-28 Jan Nieuwenhuizen <janneke@gnu.org>
7572 * configure.in (--disable-documentation): New switch.
7574 * GNUmakefile.in: Use it.
7576 * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7578 2005-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7580 * scripts/lilypond-book.py (do_file): search chunks for
7583 * GNUmakefile.in: add copy step in between so we can lose the
7584 out-www directories.
7586 2005-11-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7588 * lily/pango-font.cc (pango_item_string_stencil): put
7589 geometry.width into glyph-string too.
7591 2005-11-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
7593 * scm/define-music-display-methods.scm (RevertProperty):
7594 (OverrideProperty): Use grob-property-path property, a list of
7595 symbols, instead of grob-property, which used to be a single
7597 (BassFigureEvent): a figure can be a plain number, not necessarily a
7600 2005-11-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7602 * VERSION: release 2.7.19
7604 * lily/figured-bass-engraver.cc (process_music): check
7605 figuredBassCenterContinuations first.
7607 * scm/translation-functions.scm (format-bass-figure): make double
7610 * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7613 * lily/system-start-delimiter-engraver.cc: move from
7614 Nested_system_start_delimiter_engraver, rename
7615 Nested_system_start_delimiter_engraver ->
7616 System_start_delimiter_engraver.
7618 * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7619 bracket type from hierarchy.
7621 2005-11-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
7623 * lily/rest.cc (y_offset_callback): read staff-position.
7625 * scm/define-grob-properties.scm (all-user-grob-properties): don't
7626 mark after-line-breaking-callback as internal.
7628 * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7630 2005-11-25 Werner Lemberg <wl@gnu.org>
7632 * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7634 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7636 * stepmake/bin/add-html-footer.py (do_file): add google
7638 * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7639 staff if first_start_ is true.
7641 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7643 * scripts/midi2ly.py (split_track): add __repr__ members.
7644 (track_first_item): only return Item if not None. This fixes a
7645 problem when dumping a track that starts with an empty channel.
7647 * python/midi.c: doc module.
7649 2005-11-22 Mats Bengtsson <mabe@s3.kth.se>
7651 * Documentation/user/global.itely (Creating MIDI files): Fix
7652 compilation problem.
7654 2005-11-22 Graham Percival <gpermus@gmail.com>
7656 * Documentation/user/basic-notation.itely: clarify dynamic
7659 * Documentation/user/advanced-notation.itely: add unicode
7660 escape control example, whatever that is. :)
7662 * Documentation/user/global.itely: added "removing dynamics
7665 2005-11-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7667 * VERSION (PATCH_LEVEL): release 2.7.18
7669 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7670 System_start_delimiter_engraver by
7671 Nested_system_start_delimiter_engraver.
7673 * lily/nested-system-start-delimiter-engraver.cc (struct
7674 Bracket_nesting_node): new class.
7675 (struct Bracket_nesting_group): new class
7676 (struct Bracket_nesting_staff): new class.
7677 (process_music): create hierarchy of grobs. This allows separate
7678 tuning of different SSDs.
7680 * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7681 (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7683 2005-11-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7685 * lily/side-position-interface.cc (aligned_side): multiply
7688 * lily/script-engraver.cc (make_script_from_event): allow setting
7691 2005-11-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7693 * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7695 * scm/define-grobs.scm (all-grob-descriptions): new grob
7696 NestedSystemStartDelimiter.
7698 * input/regression/system-start-heavy-bar.ly: new file.
7700 * lily/nested-system-start-delimiter-engraver.cc: new file.
7702 * lily/nested-system-start-delimiter.cc: new file.
7704 * input/regression/system-start-nesting.ly: new file.
7706 * scm/define-grobs.scm (all-grob-descriptions): use X side
7707 positioning for positioning braces for nested contexts.
7709 * lily/system-start-delimiter.cc (print): don't divide extent by
7711 (print): use style iso. glyph.
7712 (staff_bracket): translate glyph inside routine already.
7714 2005-11-18 Michael Welsh Duggan <md5i@cs.cmu.edu>
7716 * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7719 2005-11-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
7721 * scm/define-context-properties.scm
7722 (all-user-translation-properties): rename figuredBassFormatter
7723 from newFiguredBassFormatter.
7725 * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7727 * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7729 * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7731 * lily/beam.cc (calc_beaming): new function.
7732 (calc_shorten): new function.
7734 * THANKS: add Edward Neeman.
7736 * input/regression/accidental-clef-change.ly: new file.
7738 * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7740 * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7742 * lily/clef-engraver.cc (inspect_clef_properties): reset
7743 localKeySignature for clef changes.
7745 2005-11-17 Mats Bengtsson <mabe@s3.kth.se>
7747 * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3
7748 add dummy definition that works in Linux and add information in
7749 INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7751 * Documentation/user/changing-defaults.itely (Modifying context
7752 plug-ins): Add index for \with.
7754 * Documentation/user/music-glossary.tely (dal segno): Updated
7755 example to version >=2.6.
7757 2005-11-16 Mats Bengtsson <mabe@s3.kth.se>
7759 * Documentation/user/instrument-notation.itely (Printing chord
7760 names): Reorder \chordmode and \repeat in one example.
7762 2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7764 * VERSION: release 2.7.17
7766 * Documentation/topdocs/NEWS.tely (Top): add note about
7769 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7770 new function. Search region of 3 positions for best tie.
7771 (score_configuration): new function.
7772 (score_aptitude): new function.
7773 (generate_configuration): new function.
7774 (get_configuration): new function.
7775 (Tie_formatting_problem): new function
7777 * input/regression/page-top-space.ly: a6 for page-top-space demo.
7779 * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7781 * THANKS: add Eduardo Vieira & Ralph Little
7783 * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7786 * lily/include/tie-formatting-problem.hh (class
7787 Tie_formatting_problem): add Tie_details to
7788 Tie_formatting_problem. Update calling conventions.
7790 * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7793 * Documentation/user/lilypond.tely: remove musedata2ly entry.
7795 2005-11-16 Jürgen Reuter <reuter@ipd.uka.de>
7797 * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7798 scm/define-context-properties.scm: Maintenance bugfix: make
7799 ligature brackets work again by removing obsolete ligature
7800 primitive callback push/pop.
7802 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7803 not call Tuplet_bracket::calc_direction. Removed obsolete gap
7806 2005-11-15 Jan Nieuwenhuizen <janneke@gnu.org>
7808 * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7809 used and do not call it a path.
7810 (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7812 2005-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7814 * lily/include/tie-formatting-problem.hh (class
7815 Tie_formatting_problem): new file.
7817 * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7819 * Documentation/misc/ChangeLog-2.3: new file.
7821 * lily/audio-staff.cc (output): degarianize.
7823 2005-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
7825 * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7826 Unset PYTHONOPTIMIZE. Fixes install if set.
7828 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7830 * python/convertrules.py (conv): add warning about drums.
7832 * make/stepmake.make: include toplevel-version.make after config.make.
7834 * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7835 also allow python2.4
7837 * config.make.in (configure-srcdir): remove GXX GCC vars.
7839 * stepmake/aclocal.m4: don't do non-srcdir build with
7840 symlinks. Use inclusion, so the src directory name can be changed.
7842 2005-11-13 Jan Nieuwenhuizen <janneke@gnu.org>
7844 * make/mutopia-vars.make:
7845 * make/ly-vars.make: Use src-wildcard iso wildcard for source
7848 2005-11-13 Werner Lemberg <wl@gnu.org>
7850 * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7851 but the affected path. This ensures that the (overlapping) outlines
7852 have the same direction, which is a necessary prerequisite for
7853 FontForge's algorithm to remove overlaps.
7856 * mf/feta-haak.mf: Formatting.
7857 (draw_bracket): Slightly modify outline to avoid an unnecessary
7859 Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7860 them from the affected paths.
7862 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7864 * mf/README: remove xpm / accordion notes.
7866 * lily/tie-column-format.cc (set_chord_outline): add dots into
7867 skyline extents. This fixes tie formatting if the left head has dots.
7869 * lily/tie.cc (get_configuration): only shift tie by a whole staff
7870 space inside the staff.
7871 (get_configuration): shift another position if necessary in case
7874 2005-11-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7876 * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7877 buildscript-dir iso. $(depth)/buildscripts.
7879 * tex/GNUmakefile (local-uninstall): remove
7880 music-drawing-routines.ps juggling.
7882 * stepmake/stepmake/install-targets.make (local-install-files):
7883 prepend src-dir to install targets.
7885 * lily/system-start-delimiter-engraver.cc
7886 (acknowledge_system_start_delimiter): use
7887 add_offset_callback(). This fixes translation of nested
7890 * lily/grob-closure.cc (add_offset_callback): only encaps in
7891 simple_closure if it's a procedure.
7893 * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7896 * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7897 remove-empty where pertinent.
7899 2005-11-12 Graham Percival <gpermus@gmail.com>
7901 * Documentation/user/instrument-notation.itely: added
7902 Cameron Horsburgh's multiple stanzas docs. Thanks!
7904 2005-11-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
7907 ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7908 make picture in builddir, not srcdir.
7910 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7912 * VERSION: release 2.7.16
7914 * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7917 2005-11-10 Mats Bengtsson <mabe@s3.kth.se>
7919 * Documentation/user/examples.itely (Piano templates): Minor
7920 modification to the Piano centered lyrics example.
7922 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7924 * scripts/lilypond-invoke-editor.scm (run-browser): look at
7927 * Documentation/user/point-and-click.itely: simplify p&c
7928 instruction: don't configure firefox. Put lilypond-invoke-editor
7929 in front of the browser.
7931 * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7932 (run-browser): new function.
7934 * lily/parser.yy (Lily_lexer): recognize Book
7936 * lily/book.cc (clone): new function
7938 * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7940 2005-11-10 Jürgen Reuter <reuter@ipd.uka.de>
7942 * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7943 Maintenance bugfix: reduce number of font related warnings by
7944 updating naming conventions for glyph-name.
7946 2005-11-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7948 * scm/define-grobs.scm (all-grob-descriptions): add
7949 rhythmic-grob-interface to TabNoteHead.
7951 * scm/layout-beam.scm (check-quant-callbacks): remove
7954 2005-11-08 Jürgen Reuter <reuter@ipd.uka.de>
7956 * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
7957 alignment of centered divisiones.
7959 * scm/scripts.scm (articulations): Maintenance bugfix:
7960 follow-into-staff -> quantize-position.
7962 * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
7963 plica head in porrectus deminutus.
7965 2005-11-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7967 * make/lilypond.fedora.spec.in (Group): add %clean section.
7969 * lily/tuplet-bracket.cc (print): change check: remove bracket if
7970 less then 1/5th of total length.
7971 (print): use gap too. Fixes tupletUp-single-bracket.ly
7973 * scm/music-functions.scm (glue-mm-rest-texts): also put other
7974 events into EventChord. This fixes textspanners on mm rests. Fixes
7977 * lily/side-position-interface.cc (get_axis): read side-axis
7978 (set_axis): set side-axis.
7980 * scm/define-grobs.scm (all-grob-descriptions): add side-axis
7981 properties everywhere.
7983 * lily/spacing-spanner.cc (breakable_column_spacing): add
7984 average-spacing-wishes. Take maximum if not set.
7985 (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
7987 * scm/define-grobs.scm (all-grob-descriptions): add
7988 average-spacing-wishes.
7990 * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
7991 offset callbacks. This fixes alignment for Fingering objects.
7993 * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
7994 space for key - timesig combination.
7996 * input/regression/script-stem-tremolo.ly (Module): new file.
7998 * scm/define-grobs.scm (all-grob-descriptions): decrease distance
8001 * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
8002 Fixes: c-tremolo-script.ly.
8004 * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
8006 * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
8008 * scm/define-grobs.scm (all-grob-descriptions): remove
8009 self-X-offset. Fixes alignment of octavate-8.
8011 * scripts/lilypond-book.py (datadir): look in
8012 LILYPONDPREFIX/share/lilypond/current/
8014 * GNUmakefile.in: symlink current to <VERSION>.
8016 2005-11-07 Pedro Kroger <kroeger@pedrokroeger.net>
8018 * lily/main.cc: eps listed as a backend.
8020 2005-11-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8022 * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
8024 2005-11-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
8026 * lily/include/score.hh (class Score): remove texts_ member.
8028 * lily/beam.cc (set_stem_lengths): force direction callback.
8029 (print): read quantized-positions, so we can force
8030 Beam::set_stem_lengths to occur.
8031 (rest_collision_callback): use common X parent.
8033 2005-11-03 Jan Nieuwenhuizen <janneke@gnu.org>
8035 * flower/file-path.cc (find): Bugfix: Return name of file found.
8037 * lily/main.cc (setup_paths): Bugfix for argv0 logic.
8038 (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
8039 (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
8041 2005-11-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8043 * flower/offset.cc: idem.
8045 * mf/*.mf: update email address.
8047 * lily/font-config-scheme.cc: new file.
8049 * GNUmakefile.in (SUBDIRS): remove debian/ directory.
8051 * lily/*: cs.uu.nl -> xs4all.nl
8053 * VERSION (PATCH_LEVEL): release 2.7.15
8055 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
8058 * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
8060 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8062 * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.
8064 * lily/staff-performer.cc (process_music): add audio
8065 elements. This makes MIDI instrument changes work once again.
8067 * lily/main.cc (LY_DEFINE): add gmane address.
8069 * lily/beam.cc: remove calc_positions()
8071 * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
8072 original_ in private scope.
8073 (class Grob): drop pscore_ pointer, change to output_def pointer.
8074 (class Grob): cleanup class definition.
8076 * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
8078 2005-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
8080 * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
8081 absolute. Better diagnostics.
8083 * GNUmakefile.in: Add bin/ to tree and populate with some links.
8084 This makes lilypond run from the build directory using argv0
8085 relocation (without any --prefix or LILYPONDPREFIX setting).
8087 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8089 * Documentation/topdocs/NEWS.tely (Top): document new backend design.
8091 * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
8092 with simple-closure.
8094 * lily/self-aligment-interface.cc (set_align_self): new function
8095 (set_center_parent): new function.
8097 * lily/side-position-interface.cc (set_axis): new function.
8099 * lily/new-fingering-engraver.cc (position_scripts): use drul for
8102 * scm/define-grob-properties.scm (all-user-grob-properties):
8103 remove [XY]-offset-callbacks add [YX]-offset
8105 2005-11-02 Mats Bengtsson <mabe@s3.kth.se>
8107 * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
8108 entry for time signatures after breathing signs. Bug report by
8111 2005-11-01 Jan Nieuwenhuizen <janneke@gnu.org>
8113 * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
8114 not absolute, make it absolute using PATH.
8116 2005-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
8118 * python/midi.c (initmidi): Fix type for mingw.
8120 2005-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
8122 * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8124 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8127 * stepmake/aclocal.m4: Support python cross compiling.
8129 * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8132 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8134 * scm/output-lib.scm (chain-grob-member-functions): replace
8137 * lily/chained-callback.cc (Module): remove file.
8139 * lily/rest-collision.cc (force_shift_callback_rest): change to
8142 * lily/rest.cc (y_offset_callback): merge function of 3 callbacks.
8144 * lily/grob.cc (y_parent_positioning): remove axis argument from
8145 parent_positioning callbacks.
8146 (Grob): junk init code
8147 (get_offset): use generic property callbacks for
8148 X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8149 (axis_parent_positioning): new function
8150 (axis_offset_symbol): new function
8151 (chain_offset_callback): new function
8152 (add_offset_callback): new function
8154 * lily/beam.cc (rest_collision_callback): change signature; this
8155 is now a chained callback.
8157 * lily/include/dimension-cache.hh (class Dimension_cache): remove
8158 callback administration.
8160 * lily/simple-closure.cc: new file. Smob type that allows "grob
8163 (ly:make-simple-closure FUNC A B)
8165 is evaluated as (FUNC grob A B). This allows chaining of callbacks
8168 * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8171 * lily/slur.cc (outside_slur_callback): take 2 arguments.
8173 * lily/rest.cc (polyphonic_offset_callback): remove.
8175 * lily/script-engraver.cc (try_music): remove bool* argument.
8177 * scm/script.scm (default-script-alist): set quantize-position
8180 * lily/script-engraver.cc: remove follow_into_staff_ special coding.
8182 * lily/side-position-interface.cc (aligned_side): move staff
8183 position quantization from
8184 Side_position_interface::quantised_position().
8185 (quantised_position): remove
8187 2005-10-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
8189 * input/regression/beam-quant-standard.ly: reindent, set
8190 debug-beam-quanting to #t.
8192 * lily/beam-concave.cc (calc_concaveness): set concaveness to
8193 10000 if this is a "hard" concave beam.
8195 * lily/beam.cc (calc_least_squares_positions): change from
8196 calc_least_squares_dy
8197 (set_stem_lengths): this is now a chained callback.
8199 * lily/context-property.cc (execute_general_pushpop_property):
8200 bugfix override with procedure should have effect.
8202 * scm/define-grob-properties.scm (all-internal-grob-properties):
8203 remove position-callbacks.
8205 * scm/define-grobs.scm (all-grob-descriptions): use
8206 ly:make-callback-chain for positions property.
8208 * scm/layout-beam.scm (check-quant-callbacks): return list of
8211 * scm/lily.scm (type-p-name-alist): add callback-chain
8213 * lily/lily-guile.cc (type_check_assignment): type check failure
8214 is warning not message.
8216 * lily/grob-property.cc (try_callback): walk callback chain if
8219 * lily/chained-callback.cc: new file. new smob type.
8221 * lily/lily-guile.cc (procedure_arity): new function.
8223 2005-10-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8225 * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8227 2005-10-25 John Mandereau <john.mandereau@free.fr>
8229 * Documentation/user/instrument-notation.itely (Figured bass):
8230 describe new features
8232 2005-10-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8234 * lily/beam.cc (calc_least_squares_dy): use property callback.
8236 * lily/beam-concave.cc (calc_concaveness): use property callback.
8238 * ly/paper-defaults.ly: move fixed dimensions from paper.scm
8240 2005-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
8244 2005-10-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
8246 * scm/layout-page-layout.scm (page-headfoot): annotate
8249 * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit.
8251 * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8252 doesn't take y-space.
8254 * scm/paper.scm (paper-alist): fix A7 dimensions.
8256 2005-10-24 Jan Nieuwenhuizen <janneke@gnu.org>
8258 * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8259 src-wildcard, remove $(wildcard).
8261 * po/GNUmakefile (PO_FILES):
8262 * ps/GNUmakefile (PS_FILES):
8263 * tex/GNUmakefile (TEX_FILES):
8264 * cygwin/GNUmakefile (POSTINSTALLS):
8265 * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8266 some wildcard calls.
8268 2005-10-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
8270 * THANKS: add Thomas Bushnell.
8272 2005-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
8274 * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8275 (lilypond-main): Redirect to gui-main if 'gui is set.
8277 * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8278 for alternative installations kludging s/share/lib/g
8281 * SConstruct (libdir_package_version): Define.
8283 * python/SConscript:
8284 * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8287 2005-10-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
8289 * lily/main.cc: clarify --safe.
8291 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8293 * VERSION: release 2.7.14
8295 * Documentation/user/*.itely: remove minimumVerticalExtent.
8297 * scm/define-grobs.scm (all-grob-descriptions): remove
8298 RemoveEmptyVerticalGroup
8300 * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8302 * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8305 * python/convertrules.py (conv): add rules.
8307 * lily/grob.cc: remove is_empty()
8309 * lily/grob-property.cc: remove add_to_list_property().
8311 * scripts/convert-ly.py (datadir): add prefix switching hack to
8314 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8315 space-function tweak.
8317 * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8319 * scm/define-grob-properties.scm (all-user-grob-properties):
8320 remove callback property.
8322 * lily/include/grob.hh (class Grob): remove property_callbacks_
8323 member. Properties of procedure type are assumed to be callbacks.
8325 * lily/ligature-engraver.cc (override_stencil_callback):
8326 rewrite. Use noteHeadLigaturePrimitive as source.
8328 * scm/define-grob-properties.scm (all-internal-grob-properties):
8329 remove ligature-primitive-callback
8331 * lily/include/dimension-cache.hh (class Dimension_cache): make
8332 class, with Grob as friend.
8334 * lily/grob.cc: remove set_extent_callback(), set_extent() and
8335 has_extent_callback()
8337 * scm/translation-functions.scm (format-new-bass-figure): read
8338 figuredBassPlusDirection
8340 * scm/define-context-properties.scm
8341 (all-user-translation-properties): add figuredBassPlusDirection.
8343 * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8345 * lily/align-interface.cc (set_ordered): new function.
8347 * lily/grob.cc (flush_extent_cache): rewrite.
8349 * lily/dimension-cache.cc (Dimension_cache): cache extent as
8350 Interval pointer directly.
8352 * lily/main.cc (setup_paths): insert extra / .
8353 (setup_paths): junk cff entry.
8355 * lily/font-config.cc (init_fontconfig): only add type1 / otf
8358 * lily/axis-group-engraver.cc (finalize): remove
8359 extraVerticalExtent, minimumVerticalExtent verticalExtent.
8361 * lily/grob.cc (Grob): don't set extent from ctor.
8362 (extent): use property callbacks.
8364 * lily/axis-group-interface.cc: remove set_axes() function.
8366 * lily/grob-property.cc (del_property): new function.
8368 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8370 * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8372 2005-10-20 Jan Nieuwenhuizen <janneke@gnu.org>
8374 * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add.
8376 2005-10-19 Jan Nieuwenhuizen <janneke@gnu.org>
8378 * mf/SConscript: Updates.
8380 * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8382 * stepmake/stepmake/*:
8386 * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8387 from any directory in build-dir. Cleanups.
8389 * make/srcdir.make.in: Remove.
8391 * lily/main.cc (setup_paths): Fix and document build-dir hack.
8393 * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8396 * lily/SConscript: Remove ttftools.
8398 * SConstruct: Resurrect.
8400 2005-10-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
8402 * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8405 * lily/paper-book.cc (add_score_title): put Paper_score title into
8408 * scm/translation-functions.scm (format-new-bass-figure): also
8409 allow plus in combination with _
8411 2005-10-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8413 * VERSION: 2.7.13 released.
8415 * lily/note-collision.cc (check_meshing_chords): don't wipe
8416 stencil, merely set transparent.
8418 * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau.
8419 (Top): document #'callbacks.
8420 (Top): document nested \override.
8422 * input/regression/figured-bass.ly: update for slash and pluses.
8424 * input/regression/figured-bass-continuation-forbid.ly (Module):
8427 * scm/translation-functions.scm (format-new-bass-figure): use
8428 slashed-digit if diminished is set.
8429 (format-new-bass-figure): add + if 'augmented is set.
8431 * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8433 * input/test/piano-staff-distance.ly: remove file.
8435 * Documentation/user/advanced-notation.itely (Formatting cue
8436 notes): use length-fraction for making stems/beams smaller.
8438 * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8441 * lily/new-figured-bass-engraver.cc: new property
8442 centerFiguredBassContinuations
8444 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8447 * lily/context-property.cc (execute_general_pushpop_property):
8450 * input/regression/override-nest.ly: new file.
8452 * python/convertrules.py (FatalConversionError.subber): conversion
8453 rule for #'callbacks
8455 * input/regression/override-nest.ly: new function.
8457 * lily/parser.yy (music_property_def): allow \override #'a #'b =
8460 * lily/context-property.cc (lookup_nested_property): new function.
8461 (evict_from_alist): new function.
8462 (general_pushpop_property): new function.
8463 (execute_general_pushpop_property): rewrite. Support nested
8466 2005-10-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
8468 * lily/beam.cc: use length-fraction too.
8470 * scm/define-grob-properties.scm (all-user-grob-properties):
8471 remove property flag-width-function
8472 (all-user-grob-properties): remove space-function.
8474 * scm/layout-beam.scm: remove flag-width-function.
8476 * lily/beam.cc: remove flag-width-function
8478 * scm/layout-beam.scm: remove beam dir functions.
8480 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8482 * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8483 for easier grace tweaks.
8485 * lily/beam.cc: remove dir-function.
8487 * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8489 * lily/grob.cc: remove spacing-procedure.
8491 * lily/note-head.cc (calc_stem_attachment): new function.
8492 (internal_print): use callback to get glyph-name.
8494 * lily/grob-property.cc (get_interfaces): new function.
8496 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8498 * lily/stem.cc (calc_stem_end_position): new function.
8499 (calc_length): new function.
8500 document details for stem.
8501 remove Stem::get_direction()
8503 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback!
8505 * lily/grob-property.cc (set_callback): new function.
8507 * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8509 * lily/item-scheme.cc: new file.
8511 * lily/bar-line.cc (before_line_breaking): remove function.
8512 remove bar-size-procedure, break-glyph-function
8514 * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8516 * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8518 * lily/system-start-delimiter.cc (print): suicide from
8519 here. Remove after_line_breaking_callback.
8521 * lily/script-interface.cc (calc_direction): use callback for direction.
8523 * lily/side-position-interface.cc (aligned_side): don't use
8524 Side_position_interface::get_direction directly. Use callback.
8526 * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8528 (get_print_stencil): rename from get_stencil: create stencil with
8529 transparency, color and cause.
8531 * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8533 * python/convertrules.py (conv): insert temporary warning rule.
8535 * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8537 * lily/grob-property.cc (try_callback): remove marker if applicable.
8539 * lily/grob.cc: elucidate doc about after/before-line-breaking
8541 * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8543 * lily/stem.cc (height): idem.
8545 * lily/stem-tremolo.cc: idem.
8547 * lily/slur.cc (height): don't use get_uncached_stencil()
8549 * lily/rest.cc (y_offset_callback): use offset callback
8550 iso. after-line-breaking callback.
8552 * lily/grob.cc: change after/before-line-breaking-callback to
8553 after/before-line-breaking dummy properties.
8555 * lily/include/grob.hh: remove Grob_status.
8557 * scm/define-context-properties.scm
8558 (all-user-translation-properties): remove verticalAlignmentChildCallback
8560 * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8561 (calc_direction): use callback
8562 (calc_positions): use callback.
8564 * lily/tie.cc (calc_direction): use callback. Only call parent
8565 positioning for more than one tie.
8567 * lily/tie-column.cc (calc_positioning_done): use callback
8569 * lily/slur-scoring.cc (calc_control_points): use callback
8571 * lily/slur.cc (calc_direction): use callback.
8573 * lily/note-collision.cc (force_shift_callback): remove.
8575 * lily/dot-column.cc (force_shift_callback): remove. Use
8576 other_axis_parent_positioning.
8578 * lily/grob.cc (other_axis_parent_positioning): new function.
8579 (same_axis_parent_positioning): new function
8581 * lily/align-interface.cc (alignment_callback): remove function.
8583 * lily/note-collision.cc (calc_positioning_done): use callback.
8585 * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8586 (calc_direction): idem.
8587 remove print function.
8589 * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8591 * lily/dot-column.cc (calc_positioning_done): use callback.
8593 * lily/break-align-interface.cc (calc_positioning_done): use callback.
8595 * lily/beam.cc (calc_direction): use pseudo-property for beam
8597 (calc_positions): use callback
8599 * lily/align-interface.cc (calc_positioning_done): use
8600 callback. Fold fixed distance and normal alignment in one function.
8602 * lily/stem.cc (calc_stem_end_position): use callback.
8603 (calc_positioning_done): idem.
8604 (calc_direction): idem.
8605 (calc_stem_end_position): idem
8606 (calc_stem_info): idem.
8608 * lily/grob-property.cc (get_property_data): new function:
8609 (try_callback): new function.
8611 * scm/define-grob-properties.scm (all-user-grob-properties): doc
8614 * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8616 2005-10-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
8618 * lily/tie.cc (get_position): robustness fix. Don't crash if a
8622 * lily/include/*.hh (Module): compile fixes.
8624 2005-10-14 Heikki Junes <hjunes@cc.hut.fi>
8626 * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil
8627 as an argument for char-syntax: use (char-syntax (or nil 0))
8628 instead of (char-syntax nil), thanks to Milan Zamazal.
8630 2005-10-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
8632 * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8635 * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8638 2005-10-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8640 * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8641 add class_name() method.
8643 * lily/music-scheme.cc: remove ly:music-name.
8645 2005-10-11 Jan Nieuwenhuizen <janneke@gnu.org>
8647 * cygwin/postinstall-lilypond.sh: Remove cruft.
8649 * cygwin/postremove-lilypond.sh: Remove.
8651 * cygwin/GNUmakefile (default): Remove postremove rules.
8653 2005-10-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8655 * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8658 * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8661 * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8662 consider break index for broken spanner.
8664 * scm/define-markup-commands.scm (wordwrap-string): remove \r
8665 characters from string before splitting.
8667 2005-10-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
8669 * scm/framework-ps.scm (output-preview-framework): use
8670 is-book-title to determine whether to chop off the booktitle.
8672 * lily/paper-book.cc (systems): init from book-title-properties
8673 (add_score_title): init score-title-properties.
8675 * ly/paper-defaults.ly: add {score,book}-title-properties.
8677 * scm/document-backend.scm (lookup-interface): error message if
8678 using unknown interface.
8680 * lily/volta-bracket.cc (after_line_breaking): new function. Set
8683 * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8685 (make_bracket): new function.
8687 * scm/lily.scm (define-scheme-options): add paper-size option.
8689 * ly/declarations-init.ly (laissezVibrer): get paper size from
8692 * scm/translation-functions.scm: use \fontsize for changing the
8695 * scm/define-grobs.scm (all-grob-descriptions): set
8696 between-length-limit to 1.0
8698 * lily/tie-helper.cc: add between_length_limit_ detail property.
8700 * mf/feta-bolletjes.mf: typos.
8702 * lily/note-head.cc (internal_print): don't shadow idx
8703 parameter. This fixes wrong attachment for do shape heads.
8705 2005-10-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
8707 * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8709 * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8711 * scm/layout-slur.scm: rename from slur.scm
8713 * scm/layout-page-layout.scm: rename from page-layout.scm
8715 * scm/layout-beam.scm: rename from beam.scm
8717 * scm/define-grob-interfaces.scm (bass-figure-interface): add
8718 bass-figure-interface
8720 * lily/new-figured-bass-engraver.cc (process_music): add
8721 implicitBassFigures property.
8723 * scm/define-markup-commands.scm (pad-x): new markup.
8725 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8726 minimumVerticalExtent on FiguredBass context.
8728 * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8729 case the continuation crosses a line break.
8731 2005-10-09 Jan Nieuwenhuizen <janneke@gnu.org>
8733 * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8734 unconverted value if cygwin_conv_to_posix_path () fails. Fixes
8735 absolute file name bug.
8737 2005-10-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
8739 * VERSION (PACKAGE_NAME): release 2.7.12
8741 * input/regression/figured-bass-continuation-center.ly: new file.
8743 * input/regression/beam-outside-beamlets.ly: new file.
8745 * lily/beam.cc (set_beaming): don't clip edges.
8746 (connect_beams): don't clip edges.
8748 * lily/beaming-info.cc (clip_edges): new function.
8750 * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8752 * Documentation/user/instrument-notation.itely (Figured bass):
8753 demonstrate extenders, update seealso links.
8755 * scm/titling.scm (marked-up-headfoot): change tagline
8756 handling. tagline = ##f will blank the tagline as well.
8758 2005-10-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8760 * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8762 * lily/new-figured-bass-engraver.cc (struct
8763 New_figured_bass_engraver): add new_music_found_ member.
8765 * lily/lilypond-version.cc (Lilypond_version): deal with
8766 incorrectly formatted version strings.
8768 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8769 New_figured_bass_engraver by default.
8771 * lily/ttf.cc (print_trailer): only define glyph names when
8772 FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8774 2005-10-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8776 * lily/horizontal-bracket.cc (make_bracket): new function.
8778 * scm/define-grobs.scm (all-grob-descriptions): new grobs
8779 NewBassFigure, BassFigureBracket, BassFigureContinuation,
8780 BassFigureLine, BassFigureAlignment
8782 * lily/new-figured-bass-engraver.cc (process_music): new file.
8784 * lily/figured-bass-continuation.cc: new file.
8786 * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8789 2005-10-04 Mats Bengtsson <mabe@s3.kth.se>
8791 * scripts/lilypond-book.py: Bug fix, put the quote around the
8792 actual score for LaTeX documents.
8794 * scm/define-grobs.scm (all-grob-descriptions): Change
8795 collapse-height of the SystemStartBracket grob to 5.0,
8796 so the bracket disappears for single stave score lines (similarly
8797 to SystemStartBraces).
8799 * Documentation/user/advanced-notation.itely (Polymetric
8800 notation): Clarify the use of compressMusic.
8802 * Documentation/user/basic-notation.itely (Grace notes): Clarify
8803 that the grace spacer note in other staves need the same duration
8804 and document the stroke-style property.
8806 2005-10-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8808 * Documentation/user/global.itely (Vertical spacing): document
8809 alignment-extra-space and fixed-alignment-extra-space.
8811 * Documentation/topdocs/NEWS.tely (Top): add entry.
8813 * input/regression/alignment-vertical-spacing.ly: new file.
8815 * python/convertrules.py (conv): add rule.
8817 * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8819 * lily/align-interface.cc (stretch_after_break): new
8820 function. Read fixed-alignment-extra-space property.
8821 (align_elements_to_extents): read alignment-extra-space property.
8823 * lily/lily-guile.cc (robust_scm2dir): new function.
8825 * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8826 (annotate-space-left): new function. Annotate space left on page.
8827 (annotate-y-interval): new function.
8828 (paper-system-annotate-last): new function. Annotate bottom-space.
8830 * mf/feta-beugel.mf (y):
8832 2005-10-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8834 * VERSION (PACKAGE_NAME): release 2.7.11
8836 * scm/lily-library.scm (interval-translate): new function
8837 (interval-center): new function.
8839 * scm/page-layout.scm (paper-system-annotate): new function. Add
8840 arrows for dimensions.
8842 * scm/stencil.scm (dimension-arrows): new function.
8844 * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8846 * input/regression/page-spacing.ly: add annotatespacing
8848 * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8849 (LY_DEFINE): new function ly:paper-system-set-property!
8851 * Documentation/user/global.itely (Paper size): explain how to add
8854 * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8855 correspond to GS's definition.
8857 * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8859 (print): only connect to next bracket if the next one is alive.
8860 (print): set padding to 0.0 if the bound is a breakable
8861 column. This makes tupletFullLength brackets reach up to the staff
8862 line if it doesn't connect to the next line.
8864 2005-09-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
8866 * lily/bar-number-engraver.cc: correct docs.
8868 * scm/output-lib.scm (first-bar-number-invisible): rename from
8869 default-bar-number-visibility
8871 2005-09-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8873 * scm/define-music-properties.scm (all-music-properties): remove
8876 2005-09-28 Heikki Junes <hjunes@cc.hut.fi>
8878 * po/fi.po: refresh.
8880 2005-09-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
8882 * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8884 (disappear): bugfix.
8886 * lily/stem-tremolo.cc (raw_stencil): read slope property.
8888 * lily/include/paper-system.hh (class Paper_system): remove
8889 staff_extents_ member.
8891 * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8893 * lily/include/paper-system.hh (class Paper_system): remove
8894 number_ variable. Remove is_title_. Remove break_before_penalty_
8896 * lily/paper-book.cc (systems): use 'number property iso. number_
8899 * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8900 remove ly:paper-system-number.
8902 * scm/lily-library.scm (paper-system-title?): new function.
8904 * lily/book.cc (process): bugfix: flip ?: cases.
8906 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8909 * ly/music-functions-init.ly: add outputProperty music function.
8911 * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8913 * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8915 (optimal-page-breaks): rename from ly:optimal-page-breaks.
8917 * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8919 * lily/paper-system.cc (internal_get_property): new function.
8921 * Documentation/user/global.itely (Vertical spacing): refer to
8924 * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8927 * input/regression/page-spacing.ly: new file.
8929 * input/regression/page-top-space.ly: new file.
8931 * lily/spacing-spanner.cc: cmath -> math.h
8933 * lily/paper-system.cc (read_left_bound): new function. Read
8934 line-break-system-details from left bound to determine extents.
8936 * Documentation/user/programming-interface.itely (Using LilyPond
8937 syntax inside Scheme): change applyxxx -> applyXxx.
8939 * ly/music-functions-init.ly: add outputProperty music function.
8941 * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8943 * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8945 * python/convertrules.py (conv): rule
8947 * ly/music-functions-init.ly: applyxxx -> applyXxx
8949 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
8952 2005-09-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8954 * flower/include/real.hh: include <math.h> iso. <cmath>
8956 * flower/include/offset.hh: include real.hh
8958 2005-09-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
8960 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8961 fix example, now that 'interfaces is no longer directly available.
8963 * lily/book.cc (process): don't crash if paper == NULL.
8967 2005-09-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8969 * scm/define-music-types.scm (music-descriptions): set length and
8970 start-callback for QuoteMusic
8972 2005-09-15 Mats Bengtsson <mabe@s3.kth.se>
8974 * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
8975 arguments. Fixes compilation error with gcc 3.3.
8977 2005-09-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
8979 * VERSION: release 2.7.10
8981 * stepmake/stepmake/python-module-rules.make
8982 ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.
8984 * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
8987 2005-09-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8989 * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
8990 -Werror. Otherwise GCC barfs over various optimizations.
8992 * scm/define-grob-properties.scm (all-internal-grob-properties):
8993 add note-head property
8995 * Documentation/user/instrument-notation.itely (Laissez vibrer
8998 * input/regression/laissez-vibrer-ties.ly: new file.
9000 * lily/laissez-vibrer-engraver.cc: new file.
9002 * lily/include/tie-column-format.hh: new file.
9004 * lily/tie-column-format.cc: new file.
9006 * lily/tie-column.cc (set_manual_tie_configuration): new function.
9008 * lily/laissez-vibrer-tie.cc: new file.
9010 * lily/include/laissez-vibrer-tie.hh: new file.
9012 * ly/engraver-init.ly: add Laissez_vibrer_engraver
9014 * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
9016 * scm/define-grobs.scm (all-grob-descriptions): add
9017 LaissezVibrerTie, LaissezVibrerTieColumn
9019 * lily/tie-column.cc (set_tie_config_directions): new function
9020 (final_shape_adjustment): new function.
9021 (shift_small_ties): new function.
9023 * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
9025 * lily/include/tie.hh (struct Tie_details): add x_gap_
9026 (struct Tie_configuration): add head_position_
9028 * lily/tie-column.cc (set_chord_outline): new function.
9030 * mf/cmr.enc.in: remove file.
9032 2005-09-11 Graham Percival <gpermus@gmail.com>
9034 * Documentation/user/examples.itely: typo fix. Thanks, Matevž
9036 2005-09-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
9038 * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
9039 reduce aliasing effects.
9041 * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
9044 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
9046 * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
9048 * flower/include/real.hh: std::fabs too.
9050 2005-09-08 Jan Nieuwenhuizen <janneke@gnu.org>
9052 * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner).
9054 * lily, flower: Include C++ iso C headers. Import namespace std
9057 * lily/side-position-interface.cc:
9059 * lily/note-head.cc:
9060 * lily/include/includable-lexer.hh:
9061 * flower/include/string-data.icc: Remove using std::*.
9063 * lily, flower: Include C++ iso C headers. Import namespace std
9066 * lily/side-position-interface.cc:
9068 * lily/note-head.cc:
9069 * lily/include/includable-lexer.hh:
9070 * flower/include/string-data.icc: Remove using std::*.
9072 * Documentation/user/instrument-notation.itely (Entering lyrics):
9073 Multiple latin-1->utf-8 conversion fix.
9075 * Documentation/user/*tely: Update Emacs cookie to utf-8.
9077 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
9079 * lily/tie.cc (get_configuration): also avoid dots for non-space
9082 2005-09-07 Jan Nieuwenhuizen <janneke@gnu.org>
9084 * Documentation/user/instrument-notation.itely: Bugfix.
9086 2005-09-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
9088 * tex/GNUmakefile: don't install texinfo.tex
9090 * tex/ : cleanup: remove unused files.
9092 * lily/general-scheme.cc: remove my_{isinf,isnan}.
9094 * flower/include/real.hh: using std::{isnan,isinf}
9096 * VERSION (PATCH_LEVEL): release 2.7.9
9098 2005-09-05 Graham Percival <gpermus@gmail.com>
9100 * Documentation/user/ instrument-notation.itely,
9101 advanced-notation.itely: minor tweaks.
9103 * input/test/script-chart.ly: add item padding.
9105 2005-09-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
9107 * flower/offset.cc: use math.h iso. <cmath>
9109 * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
9112 * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
9113 (widen-left-stencil-edges): new function. Fix alignment problems
9114 with LaTeX includegraphics.
9116 * lily/text-interface.cc (interpret_markup): use abort().
9118 2005-09-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
9120 * input/regression/tie-chord.ly (testLong): add a chord in 4ths
9122 * lily/tie.cc (get_configuration): update bezier shape as we
9124 (get_configuration): don't move large ties if we're outside of the
9127 2005-09-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
9129 * scm/define-markup-commands.scm (strut): swap X and Y dims.
9131 2005-09-03 Jan Nieuwenhuizen <janneke@gnu.org>
9133 * .cvsignore: Add auto-generated configure files and then some.
9135 2005-09-02 Jan Nieuwenhuizen <janneke@gnu.org>
9137 * scm/define-grobs.scm (DynamicLineSpanner): Add
9138 X-extent-callback. Fixes hairpin-slur collision.
9140 2005-08-31 Graham Percival <gpermus@gmail.com>
9142 * Documentation/user/advanced-notation.itely,
9143 basic-notation.itely: minor changes.
9145 2005-08-31 Mats Bengtsson <mabe@s3.kth.se>
9147 * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9148 \linebreak between each .eps file if \betweenLilyPondSystem is
9151 * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9152 music): Document the \linebreak
9154 * Documentation/user/lilypond-book.itely,
9155 input/tutorial/lbook-latex-test.tex,
9156 Documentation/user/examples.itely: Remove \usepackage{graphics}
9158 2005-08-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
9160 * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9162 * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9165 * scripts/lilypond-book.py (PREAMBLE_LY): define
9166 inside-lilypond-book
9167 (modify_preamble): new function. Insert \RequirePackage{graphics}
9168 when no {graphics found in preamble.
9170 2005-08030 Graham Percival <gpermus@gmail.com>
9172 * Documentation/user/basic-notation.itely, global.itely,
9173 tutorial.itely: misc small changes.
9175 2005-08-30 Jan Nieuwenhuizen <janneke@gnu.org>
9177 * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9180 2005-08-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
9182 * lily/tie-column.cc (new_directions): put Tie down on center
9185 * lily/script-interface.cc (before_line_breaking): use
9186 Grob::programming_error
9188 * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9190 * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9193 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9195 * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9197 2005-08-29 Werner Lemberg <wl@gnu.org>
9199 * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9200 the `*.scale.pfa' files to avoid warnings.
9202 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9204 * lily/tempo-performer.cc (process_music): idem.
9206 * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9208 2005-08-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
9210 * Documentation/user/advanced-notation.itely (Text markup): not a
9213 * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9215 * lily/staff-performer.cc (initialize): add tempo/name to
9218 2005-08-26 Graham Percival <gpermus@gmail.com>
9220 * Documentation/user/advanced.itely: add text-only example.
9222 * Documentation/user/invoking.itely: add index entries for
9225 * Documentation/user/ tutorial.itely, basic-notation.itely:
9226 small fixes suggested by Steve D. Thanks!
9228 2005-08-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
9230 * input/regression/markup-bidi-pango.ly: new file.
9232 * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9233 standard. Remove #ifdef. Remove memleak.
9234 (text_stencil): use text_dir to decide how to composite items.
9235 (text_stencil): determine uniform text direction for the entire
9238 * scripts/lilypond-book.py (output_name): remove
9239 latex_filter_cmd. Non-portable to non-Unix systems.
9240 (get_latex_textwidth): use File.write and os.unlink() instead.
9242 * THANKS: add Vicente & Trevor.
9244 * lily/grob.cc (discretionary_processing): look up origin for
9245 programming_error too.
9247 * input/regression/tie-broken.ly: new file.
9249 * lily/tie-column.cc (set_chord_outlines): set outline for line
9252 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9254 * lily/pango-font.cc (text_stencil): don't translate glyphs in
9255 unscaled transform, just translate stencils.
9257 * ly/performer-init.ly: init timing to #t. Fixes bar checks in
9260 * scm/define-markup-commands.scm (wordwrap-string): use
9262 (wordwrap-stencils): idem.
9265 (wordwrap-stencils): translate last line to right for
9266 text-direction = LEFT.
9268 * scm/define-grob-properties.scm (all-user-grob-properties): add
9271 2005-08-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
9273 * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9274 when copying a Lily_parser object.
9276 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9278 * scm/define-markup-commands.scm (null): add null markup.
9280 2005-08-25 Mats Bengtsson <mabe@s3.kth.se>
9282 * lily/item.cc: Add documentation of center-invisible
9284 2005-08-24 Graham Percival <gpermus@gmail.com>
9286 * Documentation/user/advanced-notation.itely: add info about
9289 * Documentation/user/programming-interface.itely: fix example
9290 involving raised text.
9292 2005-08-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
9294 * lily/beam.cc (print): fix X start/end points of isolated
9297 * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9299 * lily/multi-measure-rest.cc (set_text_rods): new function.
9301 * lily/vertical-align-engraver.cc (process_music): call
9302 Align_interface::set_axis(). This forces #'elements to be ordered,
9303 preventing random vertical reordering of staves.
9305 * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9306 add avoid-slur property.
9308 * Documentation/user/basic-notation.itely (Measure repeats): add
9309 countPercentRepeats example.
9311 * Documentation/user/advanced-notation.itely (Other text markup
9312 issues): remove remark about normal-font. We have \normal-text
9314 * input/regression/tie-chord.ly: add note about remaining bugs.
9316 * lily/tie.cc (print): try Tie_column::set_directions () if
9317 control-points not yet defined.
9319 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9321 * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9322 extent. This fixes braces falling out of the EPS bbox.
9324 * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9327 2005-08-23 Graham Percival <gpermus@gmail.com>
9329 * {various} : change #up->#UP and #down->#DOWN.
9331 * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9333 * Documentation/user/advanced-notation.itely: clarify
9334 what objects handles text on a multimeasure rest.
9336 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9338 * VERSION (PATCH_LEVEL): release 2.7.7
9340 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9342 * make/lilypond-vars.make: set -dgs-font-load for "make web"
9344 * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9346 * input/regression/*.ly: formatting clean-up. Default layout
9347 before music expression.
9349 * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9350 romanze28-2 example.
9352 * scm/ps-to-png.scm: remove dir-re function.
9353 (make-ps-images): generate page names, instead of globbing them.
9354 This brings down LilyPond memory usage for make web by a factor
9357 * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9358 don't use glob. With 3000 files, globbing
9359 Documentation/user/out-www/ can take too much time.
9361 * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9363 * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9365 * input/regression/tie-manual.ly: new file
9367 * input/regression/tie-chord.ly: update.
9369 * flower/include/interval.hh (struct Interval_t):
9371 * lily/tie.cc (distance): new function
9372 (height): new function.
9373 (init): new function
9374 (Tie_details): new struct.
9376 * lily/skyline.cc (skyline_height): new function.
9378 * lily/tie-column.cc (set_chord_outlines): new function.
9379 (new_directions): read tie-configuration
9381 * lily/skyline.cc: fix ASCII art.
9383 2005-08-22 Mats Bengtsson <mabe@s3.kth.se>
9385 * python/convertrules.py (string_or_scheme): Fix spelling error
9387 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9389 * lily/tie-column.cc (set_directions): set directions only once.
9390 (add_configuration): new function.
9392 * lily/tie.cc (set_control_points): new function
9394 * lily/tie-column.cc (new_directions): new function.
9396 * ly/music-functions-init.ly: set 'pitch property
9397 iso. trill-pitch. This makes \relative work with \pitchedTrill
9399 * lily/tie.cc (get_configuration): new function. Don't generate
9400 control points, rather, generate configuration.
9401 remove head-pair property.
9403 * lily/include/tie.hh (struct Tie_configuration): new struct.
9405 2005-08-22 Heikki Junes <hjunes@cc.hut.fi>
9407 * Documentation/topdocs/NEWS.tely: clarify.
9409 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9411 * lily/tie.cc: remove minimum-length
9413 * scm/define-grob-properties.scm (all-user-grob-properties):
9414 remove staffline-clearance, y-offset
9416 * input/regression/tie-dots.ly (Module): remove.
9418 * lily/tie.cc (get_control_points): rewrite. Put short ties in
9419 staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9421 * input/regression/tie-single.ly: new file.
9423 2005-08-21 Graham Percival <gpermus@gmail.com>
9425 * ly/bagpipe.ly: fix compile problem.
9427 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9429 * lily/midi-item.cc (name): new method.
9431 * lily/staff-performer.cc (acknowledge_audio_element): use
9432 signature of baseclass.
9434 * lily/engraver-group.cc (do_announces): move recursion call out
9437 * lily/drum-note-performer.cc (class Drum_note_performer): use
9438 process_music everywhere.
9440 * ly/performer-init.ly: add default children everywhere.
9442 * lily/paper-book.cc (output): call paper-book-write-midis
9443 directly: always write MIDI, even if no \layout {} block.
9445 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9447 * VERSION (PACKAGE_NAME): release 2.7.6
9449 * lily/percent-repeat-engraver.cc (try_music): don't print warning
9450 about not being able to handle repeat.
9452 2005-08-19 Jan Nieuwenhuizen <janneke@gnu.org>
9454 * Documentation/user/examples.itely (Piano templates):
9455 * lily/include/performer-group.hh: Remove last traces of
9456 Performer_group_performer. Fixes make web.
9458 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9460 * Documentation/user/examples.itely (Piano templates): change
9461 Engraver_group_engraver -> Engraver_group
9463 * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9464 scm_stand_in_procs is not weak_any.
9466 * lily/volta-bracket.cc (print): don't use strcmp().
9468 * lily/volta-engraver.cc (process_music): use
9469 Text_interface::is_markup() for setting the 'text property of the
9472 * input/mutopia/claop.py (accents): update syntax to 2.6
9474 * scm/define-context-properties.scm
9475 (all-user-translation-properties): add countPercentRepeats.
9477 * Documentation/user/basic-notation.itely (Measure repeats): add
9478 isolated percent example.
9480 2005-08-18 Graham Percival <gpermus@gmail.com>
9482 * input/ {various}: change direction #1, #-1 to
9483 #up/#down or \fooUp, \fooDown.
9485 * Documentation/user/music-glossary.tely: #-1 to #down.
9487 * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9488 to #up, #-1 to #down.
9490 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9492 * lily/include/engraver-group.hh: rename.
9494 * lily/include/performer-group.hh: rename.
9496 2005-08-18 Mats Bengtsson <mabe@s3.kth.se>
9498 * input/test/script-abbreviations.ly: Removed some old LaTeX
9501 2005-08-18 Jan Nieuwenhuizen <janneke@gnu.org>
9503 * python/convertrules.py (conv): inside-slur -> avoid-slur.
9504 Remove functions. Remove if 1: constructs, reindent.
9506 * scripts/convert-ly.py (add_version): Add functions from
9509 * scm/script.scm (default-script-alist):
9510 s/priority/script-priority. Fixes script stacking. Backportme.
9511 (Fermata): Very low priority.
9513 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9515 * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9517 * input/regression/slur-script.ly: remove padding tweaks. Add
9520 * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9521 time sigs and related stuff.
9523 * scm/define-grob-properties.scm (all-user-grob-properties): add