1 2006-11-09 Heikki Junes <hjunes@gmail.com>
3 * elisp/lilypond-font-lock.el: Should always have been GPL.
5 2006-11-07 Han-Wen Nienhuys <hanwen@lilypond.org>
7 * lily/break-substitution.cc:
8 * lily/dynamic-text-spanner.cc:
12 * lily/grob-property.cc:
13 use SCM_ASSERT_TYPE for graphing functions.
18 * lily/all-font-metrics.cc:
21 * input/regression/collision-heads.ly:
24 * lily/note-collision.cc:
25 * input/regression/collision-merge-differently-headed.ly:
26 Examine Stem::duration_log() for preventing merge of quarter and halfnote. Fixes collision-heads.ly. Add separate regtest for that.
28 * scripts/lilypond-invoke-editor.scm:
29 don't use guile -e main execution.
31 * scm/define-grobs.scm:
32 use stem::calc-duration-log for rest.
34 * scm/define-markup-commands.scm:
35 another (sign dir) fix for note markup
37 * scm/define-markup-commands.scm:
38 use (sign dir) for computing attachment points.
40 * buildscripts/git-update-changelog.py:
41 run cvs up before patching.
43 2006-11-06 Han-Wen Nienhuys <hanwen@lilypond.org>
46 trim note-head.cc includes.
48 * lily/easy-notation.cc:
49 * lily/mensural-ligature-engraver.cc:
50 * lily/note-collision.cc:
52 * scm/define-grobs.scm:
54 use Rhythmic_head::duration_log() iso. Note_head::get_balltype().
56 * buildscripts/git-update-changelog.py:
57 also barf if file doesn't exist.
59 2006-11-07 Erlend Aasland <erlenda@gmail.com>
61 * scm/music-function.scm (add-ballon-text): add FIXME comment.
63 * scm/define-grob-properties.scm: remove old balloon stuff,
64 and do some trivial beautification.
66 2006-11-06 Nicolas Sceaux <nicolas.sceaux@free.fr>
68 * scm/music-functions.scm (markup-expression->make-markup): fix
69 the case when a markup found in a markup list is a simple
72 2006-11-05 Han-Wen Nienhuys <hanwen@lilypond.org>
74 * lily/instrument-name-engraver.cc:
75 * input/regression/instrument-name-dynamic.ly:
76 ignore dynamic and pedal line spanners.
78 * Documentation/topdocs/NEWS.tely:
79 * Documentation/user/advanced-notation.itely:
81 * input/regression/balloon.ly:
83 * ly/music-functions-init.ly:
84 * scm/define-event-classes.scm:
85 * scm/define-grobs.scm:
86 * scm/define-music-properties.scm:
87 * scm/define-music-types.scm:
89 * lily/balloon-engraver.cc:
90 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.
92 * lily/paper-score.cc:
95 * lily/chord-name-engraver.cc:
98 * lily/paper-score.cc:
99 some useless statistics.
101 * buildscripts/git-update-changelog.py:
102 update todo/done after rejection due to removal analysis.
104 * buildscripts/git-update-changelog.py:
105 check whether removals from a diff actually apply.
107 2006-11-05 Joe Neeman <joeneeman@gmail.com>
109 * lily/include/page-turn-page-breaking.hh: remove unused
112 * lily/page-turn-page-breaking.cc (calc_demerits):
113 * lily/optimal-page-breaking.cc (try_page_spacing): remove
114 uniformity penalties.
116 2006-11-05 Werner Lemberg <wl@gnu.org>
118 * Documentation/user/changing-defaults.itely,
119 Documentation/user/preface.itely: Use `--', not `---'.
122 * Documentation/user/introduction.itely: Minor improvements.
123 (Automated engraving): Make example using \applyOutput work
126 * input/regression/apply-output.ly: Improve.
128 2006-11-05 Han-Wen Nienhuys <hanwen@lilypond.org>
130 * lily/dynamic-engraver.cc:
133 * input/regression/note-head-harmonic.ly:
135 * input/regression/note-head-harmonic-whole.ly:
136 Center harmonic heads if stem is invisible. Fixes #140
139 end context snippet with '\n'
142 catch all GUILE exceptions
147 * lily/include/lily-lexer.hh:
148 * lily/lily-lexer.cc:
149 * lily/lily-parser.cc:
150 Lily_parser* arg for copy ctor too.
153 abc2ly new tempo syntax
155 2006-11-04 Heikki Junes <hjunes@gmail.com>
157 * po/fi.po: update Finnish translation.
159 2006-11-03 Graham Percival <gpermus@gmail.com>
161 * Documentation/user/ {various}: rename page->spacing,
162 global->non-music, invoking->running, example->templates.
164 2006-11-03 Nicolas Sceaux <nicolas.sceaux@free.fr>
166 * scm/display-lily.scm: add a parser argument to display methods,
167 instead of using a *parser* special variable.
169 * scm/define-music-display-methods.scm: add a parser argument to
170 display methods. Update the methods for \melisma, \melismaEnd,
171 \breathe, \tempo, \partial.
173 * input/no-notation/display-lily-tests.ly: update the test
174 utilities according to the changes in display-lily.scm
176 2006-11-03 Han-Wen Nienhuys <hanwen@lilypond.org>
178 * *: The Joy of Merging.
180 * buildscripts/git-update-changelog.py:
181 sort commits, and use .git-commits-done file.
185 dist emacs patches too.
187 2006-11-02 Han-Wen Nienhuys <hanwen@lilypond.org>
189 * scm/autochange.scm:
192 * lily/context-def.cc:
193 * lily/include/parse-scm.hh:
194 * lily/include/smobs.hh:
197 * lily/program-option.cc:
199 implement and use ASSERT_LIVE_IS_ALLOWED()
201 * ly/music-functions-init.ly:
202 * scm/autochange.scm:
203 set-part-combine fix for autochange.
205 * lily/include/lily-lexer.hh:
206 * lily/include/lily-parser.hh:
207 * lily/lily-lexer.cc:
208 * lily/lily-parser-scheme.cc:
209 * lily/lily-parser.cc:
210 clear lexer scopes after parsing file. Plugs pseudo memory leak
212 * ly/declarations-init.ly:
213 * ly/music-functions-init.ly:
214 * scm/part-combiner.scm:
215 Remove set-part-combine-listener. This plugs a memory leak.
221 don't delete .scale.pfa; the FF script may not have read themyet. Fixes brace OTF bug
226 * lily/part-combine-iterator.cc:
227 don't allocate part combine events statically. Plugs small leak.
229 * lily/lily-parser-scheme.cc:
230 plug memleak in case of failed files.
232 * lily/include/source.hh:
237 hi-bit ascii is also counted as alpha chars. This allows unicodeidentifiers, and fixes premature stop at accented char. (#134)
239 * lily/include/program-option.hh:
240 * lily/program-option.cc:
241 get_program_option() function
243 * ly/titling-init.ly:
244 change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing.
246 * lily/include/translator.hh:
247 * lily/include/translator.icc:
248 * lily/translator.cc:
251 * lily/figured-bass-engraver.cc:
252 don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128.
254 * stepmake/stepmake/compile-vars.make:
255 don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC
257 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
263 trim warning messages.
268 * input/regression/utf-8.ly:
269 document utf-8 meaning of phrases.
271 * scm/define-markup-commands.scm:
272 make \caps markup default to smallCaps
274 * lily/pango-font.cc:
276 use glyph indexing for glyph name .notdef
278 2006-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
280 * input/regression/utf-8.ly: Fix doc to match order of language
283 2006-11-01 Joe Neeman <joeneeman@gmail.com>
285 * lily/optimal-page-breaking.cc (try_page_spacing): don't average
286 page and line forces.
288 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
290 * GNUmakefile.in (SUBDIRS): remove cygwin dir too.
292 2006-10-31 Han-Wen Nienhuys <hanwen@lilypond.org>
294 * Documentation/user/GNUmakefile:
295 don't use ImageMagick, use GS directly.
298 otf depends on otf-g?table. Fixes race condition in -j2 build.
299 (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)
305 remove .deb/.rpm downloading.
307 * buildscripts/git-update-changelog.py:
308 bugfixes for git-update-changelog.py
310 * Documentation/user/GNUmakefile:
313 2006-10-30 Han-Wen Nienhuys <hanwen@lilypond.org>
315 * input/regression/tie-semi-single.ly:
316 use position/direction from single tie case too. This fixes
317 overrides and defaults for single laissez-vibrer and repeat ties.
319 * buildscripts/git-update-changelog.py:
320 only prepend header if one patch was successful.
322 2006-10-31 Jan Nieuwenhuizen <janneke@gnu.org>
324 * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
325 stuff. Remove cygwin packaging stuff.
327 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
329 * python/convertrules.py (conv): Part 2 fixes vertical extent.
331 * input/test/vertical-extent.ly: Fix and elaborate on vertical
332 staff extent. (Thanks Mats)
334 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
336 * buildscripts/git-update-changelog.py (main): write .msg and cvs
339 * scm/define-grobs.scm:
340 separation-items have width
346 * Documentation/topdocs/NEWS.tely:
347 * lily/separating-group-spanner.cc:
348 * lily/slur-engraver.cc:
349 * lily/slur-scoring.cc:
350 * scm/define-grobs.scm:
351 * input/regression/slur-clef.ly:
352 add breakableSeparationItem to extra encompass for slurs. This
353 fixes slur/clef slur/key collisions etc. Should fix #49
355 * lily/include/slur-scoring.hh:
356 * lily/slur-scoring.cc:
357 Use X of separation item as slur start. Fixes #120
359 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
361 * buildscripts/git-update-changelog.py (changelog_body): don't
364 * lily/grob.cc: add avoid-slur
366 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
370 move server/emacsclient to elisp/
372 * buildscripts/git-update-changelog.py (Commit.note_del_file):
375 * elisp/server.el.patch:
378 * elisp/emacsclient.patch:
381 * buildscripts/git-update-changelog.py:
388 * buildscripts/git-update-changelog.py:
389 script to update ChangeLog with Git messages.
391 * lily/beam-engraver.cc:
392 * input/regression/rest-pitched-beam.ly:
393 don't set callback if staff-position set. Fixes #126.
395 * lily/bar-number-engraver.cc:
397 * lily/fingering-engraver.cc:
398 * lily/grob-property.cc:
400 * lily/include/grob.hh:
401 * lily/include/lily-guile-macros.hh:
402 * lily/mark-engraver.cc:
403 * lily/melody-engraver.cc:
404 * lily/script-column.cc:
405 * lily/tie-formatting-problem.cc:
407 internal_get_property_data() using ly_symbol2scm()
409 * stepmake/stepmake/generic-targets.make:
410 create .gitignore in outdir.
415 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
417 * input/test/vertical-extent.ly:
418 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
420 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
422 * stepmake/bin/add-html-footer.py (compose): remove setgcos
424 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
426 * GNUmakefile.in (install-help2man): install-help2man target.
428 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
430 * SConstruct (configure): Do not check for /bin/sh.
432 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
434 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
437 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
439 * input/regression/fret-boards.ly: new file.
441 * po/de.po: new po courtesy translation team.
443 * scripts/lilypond-book.py (get_option_parser): add newline to doc
446 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
448 * ly/gregorian-init.ly (neumeDemoLayout): update
449 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
451 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
452 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
454 2006-10-27 Erlend Aasland <erlenda@gmail.com>
456 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
457 Yet another build fix.
459 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
461 * SConstruct (lilypondprefix): use sorted() for list_sort()
464 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
466 * flower/SConscript: Unit test rules.
468 * flower/test-std.cc: Compile fix.
470 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
472 * python/midi.c (pymidi_parse_track): warning fixes.
474 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
475 include dot-column.hh
477 2006-10-26 Graham Percival <gpermus@gmail.com>
479 * Documentation/user/{basic-, global}: minor changes from mailist.
481 2006-10-26 Erlend Aasland <erlenda@gmail.com>
483 * scm/define-grobs.scm: trivial beautification
485 * lily/tie-performer.cc: no need to #include "pqueue.hh"
487 * lily/source-file.cc: put multibyte var inside #if clause
489 * scm/define-grob-interfaces.scm:
490 * scm/define-grob-properties.scm:
491 Build fix (string-fret-finger-combinations)
493 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
496 * Documentation/user/lilypond-book.itely: Build fix.
498 2006-10-26 Joe Neeman <joeneeman@gmail.com>
500 * lily/system.cc (get_paper_system):
501 * lily/paper-book.cc (systems):
502 move most of the backwards compatibility stuff into
505 * Documentation/topdocs/NEWS.tely: add 2 entries for the
508 * Documentation/user/page.itely: remove time-scaled-music
509 bug for the Page_turn_engraver
511 * lily/paper-book.cc (set_system_penalty): backwards
512 compatibility (breakbefore) for the old page breaker
514 2006-10-25 Graham Percival <gpermus@gmail.com>
516 * Diocumentation/user/instrument-notation.itely: added more
517 info about stanzas; thanks Geoff!
519 * Documentation/user/ {basic, advanced}: small fixes from
522 * THANKS: add some bug reporters.
524 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
526 * scm/define-context-properties.scm (all-user-translation-properties):
527 noteToFretFunction: Add.
529 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
530 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
532 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
534 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
537 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
538 Remove bashism in delete.
540 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
542 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
544 * scm/translation-functions.scm (determine-frets-mf): flatten let*
546 * scm/define-context-properties.scm
547 (all-user-translation-properties): add maximumFretStretch property.
549 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
551 * lily/source-file.cc (get_counts): use multibyte variable.
553 * scm/translation-functions.scm (determine-frets-mf): new
554 function: compute fret numbers.
556 * scm/output-lib.scm (string-frets->description) new function.
557 (fret-board::calc-stencil): new function
559 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
561 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
563 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
565 * lily/tab-note-heads-engraver.cc: cleanups.
567 * lily/fretboard-engraver.cc: new file
569 * ly/engraver-init.ly: add FretBoards context
571 2006-10-24 Joe Neeman <joeneeman@gmail.com>
573 * lily/grob.cc (pure_relative_y_coordinate)
574 (pure_height): use the new call_pure_function stuff
576 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
579 * lily/side-position-interface.cc (pure_y_aligned_side): add an
582 * lily/simple-closure.cc (ly_eval_simple_closure): make
583 simple-closure evaluatable from scheme
584 (evaluate_with_simple_closure): make simple-closures pure-
587 * lily/slur.cc (pure_outside_slur_callback): new function
589 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
590 fits in with previous changes that made the page forces much
593 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
594 and pure-Y-extent into this new function.
595 (pure-conversions-alist): add outside-slur-callback
597 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
599 * Documentation/user/advanced-notation.itely (Instrument names):
600 Remove obsolete bug workaround for instrument names on piano
603 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
605 * Documentation/user/lilypond-book.itely (Integrating DocBook and
606 music): patch by Bertalan Fodor for docbook.
608 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
609 of $(LILYPOND). Prevents lilypond run for .txt files.
611 * INSTALL.txt: gitness.
613 * .cvsignore: update to force gitness.
615 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
617 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
618 detect suicide in nested tuplets.
620 2006-10-23 Werner Lemberg <wl@gnu.org>
622 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
623 typo in argument to FT_Get_X11_Font_Format.
625 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
627 * stepmake/stepmake/po-vars.make: more gitness.
629 * flower/polynomial.cc (check_sol): no empty if bodies.
631 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
633 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
635 2006-10-22 Jürgen Reuter <reuter@ipd.uka.de>
637 * Documentation/user/examples.itely (Transcription of mensural
638 music): Added more comments in .ly source. Suggest to remove
639 Forbid_line_break_engraver to allow line breaking at all bars.
641 * Documentation/user/instrument-notation.itely (Ancient
642 articulations): Updated @refbugs regarding episem.
644 * Documentation/user/instrument-notation.itely (Gregorian square
645 neumes ligatures): Added \augmentum dots. Updated @refbugs
646 regarding \augmentum.
648 * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
650 * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated
653 * lily/vaticana-ligature-engraver.cc: Added TODO comment for
656 * ly/gregorian-init.ly: Added \augmentum macro.
658 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
660 * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
662 * lily/pango-font.cc (pango_item_string_stencil): use
663 FT_Get_X11_Font_Format()
665 2006-10-22 John Mandereau <john.mandereau@free.fr>
667 * po/fr.po: update translation.
669 2006-10-21 Han-Wen Nienhuys <hanwen@lilypond.org>
671 * VERSION (PATCH_LEVEL): bump version
673 * input/regression/horizontal-bracket-break.ly: new file.
675 * scm/define-grobs.scm (all-grob-descriptions): calc
678 * lily/horizontal-bracket.cc (make_bracket): support
679 connect-to-neighbor. Fix #118
681 * VERSION: release 2.9.26-2
683 * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
685 * VERSION (PACKAGE_NAME): release 2.9.26
687 * buildscripts/output-distance.py (test_basic_compare): add
689 (FileLink.multi_img_cell): new function, glob multi-page png
692 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
694 * po/lilypond.pot: update.
696 * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
698 * Documentation/user/global.itely (File structure): remove
701 * lily/parser.yy (FIXME): remove ADDQUOTE
703 * Documentation/user/global.itely (Extracting fragments of
704 notation): new node, about clip systems.
706 * Documentation/user/lilypond-book.itely (Many quotes of a large
707 score): ref to clip systems.
709 * Documentation/user/instrument-notation.itely (Entering lyrics):
710 add note about lyric ties and required font.
712 * lily/open-type-font.cc (glyph_list): format errors.
714 * Documentation/user/programming-interface.itely (Scheme
715 procedures as properties): more doco on simple-closure and scheme
717 (Input variables and Scheme): use lilypond[verbatim], document
720 * Documentation/user/page.itely (Displaying spacing): use \book
721 explicitly, so arrows show .
722 (Line breaking): add note about Forbid_line_break_engraver
724 * Documentation/user/tweaks.itely (Common tweaks): also set length
725 to prevent tie squeezing.
726 (Default files): use @var{}
728 * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
729 (Generating LilyPond files): add FOMUS.
731 2006-10-20 Joe Neeman <joeneeman@gmail.com>
733 * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
734 Y-offset for TextScript and Script
736 * lily/text-engraver.cc (make_item):
737 * lily/script-engraver.cc (make_script_from_event):
738 remove call to Side_position_interface::set_axis since all scripts
739 now have this set by default
742 * lily/prob.cc: use variables
744 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
746 * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
747 at typography, rather analyse stream event duration.
749 * Documentation/user/page.itely (Page formatting): set a6 paper
750 for system separator example.
752 * lily/arpeggio.cc (Module): idem.
754 * lily/accidental-placement.cc: add script-priority property.
756 * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
758 * lily/ttf.cc (print_trailer): if all else fails: use
759 glyphIndexXXXX as glyph name. Fixes #117.
761 * lily/pango-font.cc (pango_item_string_stencil): only use cmap
762 entry if cmap contains glyph.
763 (get_index_to_charcode_map): remove from Pango_font class, use
764 global filename -> font mapping.
765 (get_glyph_index_name): new function.
766 (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
769 * scripts/lilypond-book.py (main): use -deps-box-padding=-3
771 * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
774 * scm/define-grob-properties.scm (all-user-grob-properties):
775 remove outdated doc. Fixes #116
777 * lily/completion-note-heads-engraver.cc (process_music): always
778 clone input events; otherwise we may overwrite input 'duration
779 property. Fixes #115.
781 * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
784 * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
787 * VERSION (PATCH_LEVEL): bump version.
789 2006-10-19 Han-Wen Nienhuys <hanwen@lilypond.org>
791 * lily/engraver.cc (internal_make_grob): use variables.
793 * flower/string-convert.cc (dec2double): clean-up warnings.
795 * configure.in (CXXFLAGS): add -Werror.
797 * VERSION (PACKAGE_NAME): release 2.9.25
799 2006-10-18 Joe Neeman <joeneeman@gmail.com>
801 * lily/simple-spacer.cc (get_line_forces): test for non-fitting
802 line even if we precede a forced break.
804 * lily/optimal-page-breaking.cc (try_page_spacing): square line
805 forces too. Make page-spacing weight default to 10 because the
806 changes to vertical springs decreased the page force/line force
807 proportions. Also, take the average of line force and page force
808 instead of just the sum.
810 * lily/constrained-breaking.cc (initialize): make the stiffness
811 of the vertical springs depend on the height of the system. This
812 prevents pages with only a few large systems from getting huge
815 * Documentation/user/page.itely (Page formatting): document the
816 change in default page-spacing-weight
818 * lily/include/constrained-breaking.hh: initialise bottom_padding_
820 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
822 * input/typography-demo.ly (melody): remove superfluous slur.
824 * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
825 add piano-pedal-script-interface
827 2006-10-18 Bertalan Fodor <lilypondtool@organum.hu>
829 * scripts/lilypond-book.py: DocBook support.
831 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
833 * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
835 (stop_translation_timestep): set bound to currentMusicalColumn if
836 not set yet. Fixes #102
838 * lily/piano-pedal-bracket.cc: formatting.
840 * input/test/engraver-one-by-one.ly (MyStaff): reformat.
842 * lily/piano-pedal-align-engraver.cc: new class
843 Piano_pedal_align_engraver. Handle side-positioning Y-alignment
846 2006-10-18 Heikki Junes <hjunes@gmail.com>
848 * po/fi.po: Update Finnish translation (before the next release).
850 2006-10-17 Joe Neeman <joeneeman@gmail.com>
852 * lily/system.cc (get_paper_system): reinstate the backwards-
853 compatible page breaking for the old page breaker.
855 2006-10-17 Erik Sandberg <mandolaerik@gmail.com>
857 * lily/recording-group-engraver.cc: removed
859 * lily/context.cc, lily/translator-group.cc: Don't touch
860 Context::implementation_ if it's null
862 2006-10-17 Han-Wen Nienhuys <hanwen@lilypond.org>
864 * scm/paper.scm: only use left-margin if defined.
866 * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
868 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
870 * lily/new-fingering-engraver.cc: stringFingerOrientations ->
871 strokeFingerOrientations
873 * lily/script-column.cc (row_before_line_breaking): also handle
874 accidentals and arpeggios in horizontal script stacking.
876 * lily/script-row-engraver.cc (acknowledge_accidental_placement):
879 * input/regression/script-stack-horizontal.ly: trim.
881 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
883 * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
886 * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
887 'text if string argument.
889 * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
891 * scm/define-context-properties.scm
892 (all-user-translation-properties): change to strokeFingerOrientations
894 2006-10-16 Erik Sandberg <mandolaerik@gmail.com>
896 * lily/parser.yy: remove debug output
898 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
900 * ly/paper-defaults.ly: set left/right margin.
902 * scm/paper.scm (set-paper-dimensions): use left-margin and
903 right-margin for computing linewidth.
905 * Documentation/topdocs/NEWS.tely (Top): idem.
907 * input/regression/lyric-tie.ly (texidoc): use vowels for tied
910 * scm/define-markup-commands.scm (tied-lyric): increase negative
911 space: space syllables tighter.
913 * VERSION (PATCH_LEVEL): bump version.
915 * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
918 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
920 * COPYING: further clarification
922 * VERSION: release 2.9.24
924 * input/regression/script-stack-horizontal.ly: add version.
926 * scm/lily-library.scm (list-join): use fold-right. Fixes #112
928 * input/regression/lyric-tie.ly (texidoc): use different words.
930 * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
932 2006-10-15 Erik Sandberg <mandolaerik@gmail.com>
934 * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
935 macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
937 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
939 * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4;
941 * Doxyfile: remove file.
943 * scm/define-grob-interfaces.scm (string-finger-interface): add
944 string-finger-interface
946 * lily/general-scheme.cc (LY_DEFINE): move
947 ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[]
949 * Documentation/topdocs/NEWS.tely (Top): add note for
950 string-finger feature.
952 * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
955 * scm/output-lib.scm (string-finger::calc-text): read 'digit
958 * input/regression/script-stack-horizontal.ly: new file.
960 * ly/engraver-init.ly: add Script_row_engraver.
962 * lily/script-column.cc (order_grobs): refactor: separate axis
964 (row_before_line_breaking): new function.
966 * lily/script-row-engraver.cc (Script_row_engraver): new file.
968 * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
970 2006-10-14 Jürgen Reuter <reuter@ipd.uka.de>
972 * Documentation/user/instrument-notation.itely: Cleanup: Remove
973 annoying skip notes from mensural ligature example. Update
974 @refbugs for ligatures and mensural ligatures.
976 * lily/coherent-ligature-engraver.cc,
977 lily/include/coherent-ligature-engraver.hh,
978 lily/mensural-ligature-engraver.cc,
979 lily/vaticana-ligature-engraver.cc: Revise code for item
980 reparentizing. There should now be less programming_error
983 * lily/mensural-ligature-engraver.cc: Improve placement of dots.
985 * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
986 Maintenance bugfix: Don't create empty Stencil (), but empty box
987 instead. This fix should eliminate some programming_error
990 * ly/engraver-init.ly (MensuralStaff): Set default accidental
993 * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
994 \layout block _before_ score.
996 2006-10-14 Han-Wen Nienhuys <hanwen@lilypond.org>
998 * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
1000 * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
1002 2006-10-13 Erlend Aasland <erlenda@gmail.com>
1004 * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
1006 2006-10-13 Han-Wen Nienhuys <hanwen@lilypond.org>
1008 * VERSION (PATCH_LEVEL): bump version.
1010 * COPYING: clarify exception note.
1012 * lily/main.cc: remove remark about "COPYING".
1014 * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
1015 system-count starts at 0 for each clip-region. Change name to
1016 FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
1017 layout block, per score.
1019 2006-10-13 Erik Sandberg <mandolaerik@gmail.com>
1021 * lily/input-smob.cc: add equal_p for Input
1023 * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
1026 * lily/parser.yy: MY_MAKE_MUSIC sets music origin
1028 * lily/prob.cc: Add equal_p predicate for Prob
1030 * lily/translator.cc: small cleanup
1032 * scm/document-music.cc: use data from translator listener
1033 registration to generate documentation for event classes
1035 * lily/*: Eliminate accept arg of ADD_TRANSLATOR
1037 * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
1039 2006-10-13 Jan Nieuwenhuizen <janneke@gnu.org>
1041 * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
1043 2006-10-12 Jan Nieuwenhuizen <janneke@gnu.org>
1045 * Documentation/topdocs/INSTALL.texi: Thinko.
1047 * .cvsignore: Update.
1049 * lexer-gcc-3.1.sh: Remove.
1051 * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
1052 Update anonymous cvs access. Remove comment about gcc 3.0.4.
1054 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1056 * VERSION: release 2.9.23
1058 * lily/paper-column-engraver.cc (stop_translation_timestep): also
1059 typecheck barnumber.
1061 * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
1063 * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
1065 * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
1067 * input/regression/clip-systems.ly (Notes): new file.
1069 * scm/lily.scm (define-scheme-options): add clip-systems option.
1071 * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
1073 (dump-stencil-as-EPS): move bbox calculation from previous
1075 (output-framework): use -dclip-systems
1077 * scm/lily-library.scm (filtered-map): new function
1079 * scm/framework-ps.scm (clip-system-EPS): new function.
1080 (clip-system-EPSes): new function.
1082 * lily/paper-column.cc: add rhythmic-location to interface
1084 * scm/define-grob-properties.scm (all-user-grob-properties): add
1085 rhythmic-location property.
1087 * scm/clip-region.scm: new file: rhythmic-location data type and
1088 system-clipped-x-extent function.
1090 * ly/init.ly: use (scm clip-region)
1092 * lily/paper-column-engraver.cc (stop_translation_timestep): set
1093 rhythmic-location for paper column grobs.
1095 * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
1097 2006-10-12 Jürgen Reuter <reuter@ipd.uka.de>
1099 * ly/engraver-init.ly: Remove obsolete comment on
1100 Bar_number_engraver.
1102 * Documentation/user/instrument-notation.itely: Tune Ancient
1103 Articulations figure, such that the episem actually shows.
1105 * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
1106 fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
1108 * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
1111 2006-10-12 Graham Percival <gpermus@gmail.com>
1113 * Documentation/user/ {some}: minor edits that were lost somehow.
1115 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1117 * VERSION (PACKAGE_NAME): bump version.
1119 * input/regression/lyric-tie.ly (texidoc): new file.
1121 * Documentation/topdocs/NEWS.tely (Top): add new feature.
1123 * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
1125 * scm/define-markup-commands.scm (tied-lyric): new function: split
1126 string along ~ and reattach with U+203F (tie character) and
1129 * scm/output-lib.scm (lyric-text::calc-text): new function.
1131 * lily/lyric-engraver.cc (process_music): don't set 'text.
1133 * scm/output-lib.scm (string-finger::calc-text): new function
1134 (lyric-text::print): new function.
1136 * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1137 generic for fingering & string number. Use for string-finger.
1139 * scm/define-music-types.scm (music-descriptions): add
1142 * lily/fingering-engraver.cc (listen_string_finger): new function
1144 * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1146 * scm/define-context-properties.scm
1147 (all-user-translation-properties): add stringFingerOrientations
1149 2006-10-11 Jürgen Reuter <reuter@ipd.uka.de>
1151 * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1152 ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1154 * lily/dots.cc: Added style property for dots.
1156 * mf/parmesan-heads.mf: Fix typo in comment.
1158 * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1159 adding longa head to feta font and removing obsolete default
1160 mapping scheme code.
1162 2006-10-10 Han-Wen Nienhuys <hanwen@lilypond.org>
1164 * scm/output-lib.scm (fingering::calc-text): use origin
1165 event-property, not music-property.
1167 * lily/lilypond.rc.in: spell my name correctly.
1169 2006-10-10 Joe Neeman <joeneeman@gmail.com>
1171 * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1172 already have a non-empty extent. Fixes estimation for Hara-kiri
1175 2006-10-09 Jürgen Reuter <reuter@ipd.uka.de>
1177 * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1180 * lily/ligature-engraver.cc: Remove unused #include.
1182 * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1183 Bugfix: remove method check_for_prefix_loss(Item *) from global
1184 namespace to avoid namespace pollution.
1186 2006-10-09 Han-Wen Nienhuys <hanwen@lilypond.org>
1188 * VERSION: release 2.9.22
1190 * ly/generate-documentation.ly: update option name.
1192 * lily/dynamic-text-spanner.cc (print): revert fix.
1194 * scm/define-grob-interfaces.scm
1195 (trill-pitch-accidental-interface):
1196 add trill-pitch-accidental-interface
1198 * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1199 dereference if it's really a duration.
1201 * lily/figured-bass-engraver.cc (process_music): clear spanner if
1202 useBassFigureExtenders is not set.
1203 (listen_bass_figure): record as new event if
1204 useBassFigureExtenders not set. Fixes #103.
1206 * scm/stencil.scm (circle-stencil): don't center stencil argument,
1207 instead: move circle. Fixes #107.
1209 * scm/define-grobs.scm (all-grob-descriptions): set
1210 allow-loose-spacing for PaperColumn and
1211 NonMusicalPaperColumn. Kludge for #110.
1213 * lily/spaceable-grob.cc: add allow-loose-spacing property.
1215 * lily/spacing-determine-loose-columns.cc (is_loose_column):
1216 allow-loose-spacing property.
1218 * scm/define-markup-commands.scm (postscript): gsave & grestore
1219 around embedded PS. Do setlinewidth too. Fixes #109.
1221 2006-10-08 Jürgen Reuter <reuter@ipd.uka.de>
1223 * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1224 code. This patch fixes ligature brackets that were not at all
1227 2006-10-08 Graham Percival <gpermus@gmail.com>
1229 * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1231 * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1233 * scm/define-context-properties.scm: clarified docs (bug 91).
1235 * Documentation/user/basic-notation.itely: document volta brackets
1236 not aligning (bug 63).
1238 * Documentation/user/ global.itely invoking.itely: ignore or
1239 add warnings about texstr.
1241 2006-10-08 John Mandereau <john.mandereau@free.fr>
1243 * po/fr.po: update translation.
1245 * po/: update msgids.
1247 2006-10-08 Jan Nieuwenhuizen <janneke@gnu.org>
1249 * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1251 2006-10-08 Nicolas Sceaux <nicolas.sceaux@free.fr>
1253 * Documentation/user/page.itely (Two-pass vertical spacing): add
1254 documentation for two-pass spacing technique.
1256 2006-10-06 Graham Percival <gpermus@gmail.com>
1258 * Documentation/user/convert-ly.txt: new file; new
1259 storage place for this file (moved from bugs/ CVS).
1261 2006-10-06 Jürgen Reuter <reuter@ipd.uka.de>
1263 * lily/note-head.cc: Fixed programming_error message.
1265 2006-10-06 Han-Wen Nienhuys <hanwen@lilypond.org>
1267 * scm/define-grobs.scm (pure-conversion): move pure-callback
1270 * scm/script.scm (default-script-alist): set avoid-slur for turn,
1271 marcato, stopped, thumb.
1273 2006-10-05 Han-Wen Nienhuys <hanwen@lilypond.org>
1275 * lily/completion-note-heads-engraver.cc (process_music): don't
1276 skimp on memory usage.
1278 * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1281 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1282 parenthesis item. This fixes premature Y-extent triggering. Fixes
1285 * VERSION (PATCH_LEVEL): bump version.
1287 2006-10-04 Graham Percival <gpermus@gmail.com>
1289 * Documentation/user/advanced-notation.itely: added
1290 info about instrument names for piano or other contexts,
1293 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1295 * mf/feta-bolletjes.mf (solfa_quarter_width): use
1296 solfa_base_notewidth as unit for non-DO-notes too.
1298 * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1300 * VERSION: release 2.9.21
1302 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1305 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1307 * python/lilylib.py (progress): Minor fix.
1309 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1311 * lily/note-name-engraver.cc: doc engraver.
1313 * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1315 * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1317 * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1320 * lily/stem-engraver.cc (make_stem): don't set duration-log
1322 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1323 write snippet-names binary.
1325 * python/lilylib.py (system): use os.system for mingw32
1327 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1330 * scm/backend-library.scm: update email address.
1332 * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1335 * scm/define-grobs.scm (all-grob-descriptions): use callback to
1338 * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1339 handle dot creation separately.
1341 * lily/tab-note-heads-engraver.cc (process_music): idem.
1343 * lily/drum-note-engraver.cc (process_music): idem.
1345 * lily/note-heads-engraver.cc (process_music): idem.
1347 * lily/rest-engraver.cc: don't set duration-log.
1349 * scm/output-lib.scm (string-number::calc-text): new function.
1350 (note-head::calc-duration-log): new function.
1352 * lily/fingering-engraver.cc (make_script): remove 'text setting.
1354 * scm/output-lib.scm (fingering::calc-text): new function.
1356 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1358 * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1359 and include-eps-font -> include-eps-fonts
1361 2006-10-03 Han-Wen Nienhuys <hanwen@lilypond.org>
1363 * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1365 * lily/timing-translator.cc: list properties.
1366 (start_translation_timestep): update internalBarNumber too.
1368 * scm/define-context-properties.scm
1369 (all-user-translation-properties): add internalBarNumber.
1371 * input/regression/spacing-no-note.ly: new file.
1373 * buildscripts/output-distance.py (link_file): verbosity for OSError.
1375 * lily/book.cc: #include cleanup.
1377 * lily/include/lily-guile-macros.hh: add assert to
1378 scm_or_str2symbol(SCM).
1380 * VERSION (PATCH_LEVEL): bump version.
1382 * lily/spacing-spanner.cc (musical_column_spacing): handle
1383 musical->nonmusical spacing case, where there is no spacing
1384 wish. Fixes issue #61.
1386 * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1387 (pango_item_string_stencil): use logical rect horizontally (to
1388 preserve spaces), ink_rect vertically (for time signatures).
1390 * lily/font-metric.cc (word_stencil): new interface function
1392 * input/regression/utf-8-mixed-text.ly: new file.
1394 * lily/percent-repeat-engraver.cc (listen_percent): remove
1397 * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1398 non-dynamic scripts. Fixes #30.
1400 * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1402 * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1404 * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1405 SCM_UNDEFINED for non-existent data.
1407 * lily/side-position-interface.cc (general_side_position): allow
1408 optional current_offset argument for chaining, so combinations of side-position
1409 and outside slur callback don't add up. Fixes issue #92.
1411 * lily/pango-font.cc (pango_item_string_stencil): use
1412 logical_rect. This prevents spaces after words from disappearing,
1415 * VERSION: release 2.9.20
1417 2006-10-02 Han-Wen Nienhuys <hanwen@lilypond.org>
1419 * scm/define-grob-properties.scm (all-user-grob-properties):
1420 mention stencil as user settable.
1422 2006-10-02 Joe Neeman <joeneeman@gmail.com>
1424 * Documentation/user/page.itely (Page formatting):
1425 document auto-first-page-number
1427 * lily/page-breaking.cc (find_chunks_and_breaks):
1428 * lily/paper-score.cc (calc_breaking): Follow changes to the
1429 Constrained_breaking interface
1431 * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1432 here backwards, as an optimisation
1433 (initialize): new function; move most of the code in resize () here
1434 (combine_demerits): cache ragged_right_
1435 (Constrained_breaking): constructor now takes the Paper_score
1437 2006-10-02 Erik Sandberg <mandolaerik@gmail.com>
1439 * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1440 avoid parser lookahead for 0-ary functions.
1442 * lily/translator.cc: Extract event classes from
1443 IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1445 2006-10-02 Heikki Junes <hjunes@gmail.com>
1447 * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1450 2006-10-01 Nicolas Sceaux <nicolas.sceaux@free.fr>
1452 * scm/layout-page-layout.scm (page-breaking-wrapper): new
1453 function. Call the page breaking function selected in the
1454 `page-breaking' \paper variable, then the post processing function
1455 chosen using the `page-post-process' \paper variable.
1456 (line-height): new function. Return the height of a system.
1457 (line-minimum-position-on-page): new function. Return the position
1458 of a system on page (using the previous line position), only
1459 considering between system padding.
1460 (stretchable-line?): new function. Says whether a line can be
1461 stretched (ie. is not a title nor a single staff system).
1462 (page-maximum-space-left): new function. Computes space left on a
1463 page, when all systems are separated by their padding.
1465 * lily/page-breaking.cc (breaking::make_pages): Move page post
1466 processing function call to page breaking wrapper (common to all
1469 * lily/paper-book.cc (book::pages): call the page breaking
1470 wrapper, instead of the page breaker directly
1472 * ly/paper-defaults.ly: Add \paper variables for page breaking
1473 wrapper and page post processing function. Make
1474 `write-page-layout' value depend on the 'dump-tweaks option. Add a
1475 `system-maximum-stretch-procedure' variable for holding a function
1476 computing the maximum stretch a system allows.
1478 * scm/layout-page-dump.scm (write-page-breaks): computes the
1479 stretch to apply to systems on a page to minimize left
1480 space. Dump this stretch length.
1482 * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1483 the system-stretch property of the tweak data to stretch the
1485 (includePageLayoutFile): Void function which includes the
1486 generated page-layout file if it exists and if the page layout
1487 dumping is not asked.
1488 (scoreTweak): if the score tweak named by the argument exists,
1491 2006-10-01 Joe Neeman <joeneeman@gmail.com>
1493 * lily/page-spacing.cc (compress_lines, uncompress_solution):
1494 handle correctly the case where there are multiple \noPageBreaks
1497 2006-09-30 Laura Conrad <lconrad@laymusic.org>
1499 * abc2ly.py adds segno (S) and Coda (O) to articulations.
1501 * abc2ly.py fix so that entering " -- " will translate to a -- in
1502 the lilypond instead of a " - - "
1504 2006-09-30 Han-Wen Nienhuys <hanwen@lilypond.org>
1506 * lily/align-interface.cc: fix typo
1508 * lily/dynamic-text-spanner.cc (print): Add a special case for
1509 trill spanner right sides.
1511 * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1513 * lily/align-interface.cc (get_extents_aligned_translates): add
1514 support for padding variable.
1516 * lily/break-align-interface.cc (self_align_callback): oops: use
1517 loop variable in guard.
1519 * input/regression/repeat-percent-grace.ly: new file.
1521 * lily/percent-repeat-engraver.cc (start_translation_timestep):
1522 remember first currentCommandColumn of a grace run. Fixes issue 70.
1524 * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1525 move class definition to CC file.
1527 * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1529 * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1530 measure-long repeats.
1532 * flower/include/international.hh: include stdarg.h
1534 2006-09-30 Joe Neeman <joeneeman@gmail.com>
1536 * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1537 put_systems_on_pages to return an empty result, we need to assign
1538 demerits properly in that case.
1539 (put_systems_on_pages): Make the number of pages depend on the
1540 evenness of page_number. Add auto-first-page-number.
1541 (calc_subproblem): ensure that the page-number is even for the
1542 left-hand page. Warn if the first page-turn doesn't fit onto the
1543 first (right-hand) page.
1545 * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1546 (min_page_count): make this publicly accessible
1547 (min_page_count): fix a bug when there are forced page breaks that
1548 was introduced when I made this loop run backwards
1549 (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1550 replace space_systems_on_min_pages with these two. The logic in
1551 space_systems_on_min_pages was getting too convoluted and is better
1552 contained in page-turn-page-breaking.
1554 * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1556 (breakable_column): typo
1558 * lily/source-file.cc (get_line): fix off-by-one error
1559 and clean up some of the logic
1561 2006-09-29 Joe Neeman <joeneeman@gmail.com>
1563 * lily/page-breaking.cc (make_pages): honour the first-page-number
1566 2006-09-27 Han-Wen Nienhuys <hanwen@lilypond.org>
1568 * VERSION (PACKAGE_NAME): bump version.
1570 2006-09-26 Pal Benko <benko.pal@gmail.com>
1572 * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1573 (the latter is the same as petrucci-f which is kept for compatibility)
1575 2006-09-26 Erik Sandberg <mandolaerik@gmail.com>
1577 * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1579 2006-09-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1581 * lily/global-context.cc (run_iterator_on_me): break out of loop
1582 if moment doesn't increase.
1584 * scm/define-grob-properties.scm (all-user-grob-properties): add
1587 * lily/accidental.cc (after_line_breaking): read forced property.
1589 * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1592 * input/regression/accidental-forced-tie.ly: new file.
1594 2006-09-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1596 * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1598 * lily/figured-bass-engraver.cc: only listen to rest events if
1599 ignoreFiguredBassRest is not set.
1601 * scm/define-context-properties.scm
1602 (all-user-translation-properties): add ignoreFiguredBassRest property
1604 2006-09-24 Joe Neeman <joeneeman@gmail.com>
1606 * lily/paper-book.cc (get_system_specs):
1607 (set_system_penalty): fix breakbefore.
1608 We used to set a penalty on the system after the break, now we
1609 set a permission on the system before the break
1611 * lily/grob-property.cc: add scm debugging hooks into
1612 property modification
1614 * lily/context-property.cc:
1616 rename make_foo_from_properties to internal_make_foo and
1617 move it from context-property.cc to a member function of
1620 * lily/include/lily-guile-macros.hh:
1621 overload ly_symbol2scm macro so that there is no more need
1624 * lily/volta-repeat-iterator.cc:
1625 * lily/tweak-engraver.cc:
1626 * lily/tuplet-bracket.cc:
1627 * lily/span-bar-engraver.cc:
1628 * lily/script-engraver.cc:
1629 * lily/prob-scheme.cc:
1630 * lily/pointer-group-interface.cc:
1632 * lily/grob-scheme.cc:
1633 * lily/grob-property.cc:
1635 * lily/context-property.cc:
1636 * lily/break-substitution.cc:
1637 * lily/break-align-engraver.cc:
1638 * lily/axis-group-interface.cc:
1639 * lily/align-interface.cc:
1640 remove calls to internal_FOO
1642 * lily/system-start-delimiter-engraver.cc:
1643 * lily/parenthesis-engraver.cc:
1644 * lily/accidental-engraver.cc:
1645 remove calls to make_foo_from_properties
1647 2006-09-23 Graham Percival <gpermus@gmail.com>
1649 * Documentation/user/programming-iterfaces.itely: fix
1650 def-music-function -> define-music... leftover.
1652 2006-09-23 Joe Neeman <joeneeman@gmail.com>
1654 * lily/page-spacing.cc (min_page_count): by running the loop
1655 backwards, we can calculate ragged_last properly.
1657 2006-09-22 Mats Bengtsson <mabe@drongo.s3.kth.se>
1659 * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1660 printfirst-page-number -> print-first-page-number
1662 * python/convertrules.py: corresponding rule.
1664 * Documentation/user/page.itely (Page formatting): Document the
1665 default values of all page layout parameters.
1667 2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
1669 * lily/lexer.ll: remove limitation on music function arity. New
1670 mode extratoken, which inserts extra EXPECT_* tokens after
1671 MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1673 * lily/parser.yy: Change grammar for music function accordingly.
1675 * lily/include/lily-parser.hh: New method get_state, new member
1676 hidden_state. Works around a problem when parser fetches
1677 MUSIC_FUNCTION token but not the following EXPECT_* token.
1679 * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1682 * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1683 references to Music; use ASSIGN_EVENT_ONCE everywhere
1685 * lily/grob-info.cc: junk *music_cause
1687 * lily/music.cc: copy eventified articulations to stream event
1689 * lily/part-combine-iterator.cc: Cleanup using enums
1691 * lily/translator-group.cc: Junk OldMusicEvent, and associated
1694 * lily/include/engraver.hh: Junk music.hh include
1696 * lily/stream-event.cc: Changed constructors
1698 2006-09-21 Graham Percival <gpermus@gmail.com>
1700 * Documentation/user/tweaks.itely (Fitting music onto fewer
1701 pages): change settings to avoid warning messages.
1703 2006-09-21 Mats Bengtsson <mabe@drongo.s3.kth.se>
1705 * Documentation/user/tweaks.itely (Fitting music onto fewer
1706 pages): Add between-system-space setting.
1708 2006-09-21 Han-Wen Nienhuys <hanwen@lilypond.org>
1710 * lily/accidental-placement.cc (calc_positioning_done): don't
1711 trigger Y-extent calculation too early. Use pure_height instead.
1713 * lily/scale.cc (LY_DEFINE): new file.
1715 2006-09-20 Joe Neeman <joeneeman@gmail.com>
1717 * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1718 that happen at the start of a score: having a zero-length
1719 chunk was messing up min_system_count calculations.
1721 * lily/source-file.cc (get_line): lower_bound, not
1722 binary_search. Fixes problem where point-and-click would
1723 always point to the first line.
1725 2006-09-20 Han-Wen Nienhuys <hanwen@lilypond.org>
1727 * lily/accidental-placement.cc (calc_positioning_done): also put
1728 stems into accidental support.
1730 * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1733 * scm/script.scm (default-script-alist): avoid-slur and
1734 slur-padding for portato script.
1736 * lily/stem-tremolo.cc (translated_stencil): new function.
1737 (height): use new function. Fixes tremolos on whole notes.
1739 * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1742 2006-09-19 Han-Wen Nienhuys <hanwen@lilypond.org>
1744 * scripts/abc2ly.py (try_parse_comment): idem.
1746 * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1747 bar_string iso. string.find()
1751 * lily/slur.cc (get_curve): always use scm_is_pair() looping
1754 2006-09-18 Graham Percival <gpermus@gmail.com>
1756 * Documentation/user/basic-notation.itely: add bug
1757 warning about ties and octavation/clef.
1759 2006-09-18 Han-Wen Nienhuys <hanwen@lilypond.org>
1761 * VERSION (PACKAGE_NAME): release 2.9.18
1763 2006-08-29 Milan Zamazal <pdm@brailcom.org>
1765 * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1766 figure out midi file names right here.
1768 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1770 * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1772 * scm/backend-library.scm: option naming: gs-font-load*s*
1774 * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1777 2006-09-17 Joe Neeman <joeneeman@gmail.com>
1779 * scm/define-music-types.scm (music-descriptions): remove
1780 BreakEvent and fix {Page,Line}{Break,Turn}Event so
1781 Music::to_event doesn't complain.
1783 * lily/accidental-placement.cc (ape_compare):
1784 * lily/semi-tie.cc (compare):
1785 * lily/note-column.cc (shift_compare): replace by XXX_less
1787 * lily/tie-formatting-problem.cc (set_chord_outline):
1788 * lily/tie-column.cc (calc_positioning_done):
1789 * lily/system.cc (post_processing)
1791 * lily/stem.cc (note_head_positions)
1792 (calc_positioning_done):
1793 * lily/spanner.cc (do_break_processing)
1794 (find_broken_piece):
1795 * lily/span-bar.cc (print):
1796 * lily/semi-tie-column.cc (calc_positioning_done):
1797 * lily/rest-collision.cc (calc_positioning_done):
1798 * lily/program-option.cc (get_help_string):
1799 * lily/note-collision.cc (get_clash_groups):
1800 * lily/new-fingering-engraver.cc (position_scripts):
1801 * lily/keyword.cc (Keyword_table):
1802 * lily/hara-kiri-group-spanner.cc (request_suicide):
1803 * lily/grob-pq-engraver.cc (stop_translation_timestep):
1804 * lily/accidental-placement.cc (calc_positioning_done):
1806 * lily/beam.cc (get_beam_segments):
1807 * lily/grob-array.cc (remove_duplicates):
1810 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1811 ragged-last-bottom = ##f (test the new page breaker)
1813 * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1815 * scm/define-context-properties.scm
1816 (all-internal-translation-properties): remove properties that
1817 were used to communicate page-turn stuff to the paper-column
1820 * lily/lily-guile.cc (robust_scm2string): new function
1822 * lily/paper-column-engraver.cc: Clean up page turn stuff
1824 * lily/page-turn-engraver.cc: Re-write the page turn logic here
1825 instead of cluttering up paper-column-engraver.cc
1827 2006-09-17 Nicolas Sceaux <nicolas.sceaux@free.fr>
1829 * scm/layout-page-dump.scm (scm): export utility function names,
1830 to allow user writing cutsom dumping functions.
1832 * scm/layout-page-layout.scm: export utility function names to
1833 enable custom page breaking function writing. Tabify.
1834 (line-next-space): use ?-suffix only for predicates
1835 (page-maximum-space-to-fill): new function. Return the space
1836 between first and bottom system of a page, to give to
1838 (space-systems): use a space-to-fill argument (for instance as
1839 computed by page-maximum-space-to-fill) instead of computing
1840 internaly this space with the page height. That way, the caller
1841 can adjust the space to use.
1842 (make-page-from-systems, walk-paths): compute space to fill before
1843 calling space-systems.
1845 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1847 * scm/script.scm (default-script-alist): set paddings for every
1848 type here, increase for portato mark.
1850 * scm/lily.scm (define-scheme-options): typo: add s, so it is
1853 2006-09-16 Han-Wen Nienhuys <hanwen@lilypond.org>
1855 * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1856 use spanner::set-spacing-rods
1858 * lily/note-column.cc: reformat.
1860 * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1861 step positioning for note/rest combinations.
1863 * input/regression/rest-note-collision.ly: new file.
1865 * scm/define-grobs.scm (all-grob-descriptions): add
1868 * flower/include/std-vector.hh: switch off again.
1870 * VERSION (PATCH_LEVEL): bump to 2.9.18
1872 * flower/include/std-string.hh: idem.
1874 * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1876 2006-09-15 Mats Bengtsson <mabe@drongo.s3.kth.se>
1878 * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1881 2006-09-08 Joe Neeman <joeneeman@gmail.com>
1883 * Documentation/user/page.itely: update page breaking documentation
1885 2006-09-07 Han-Wen Nienhuys <hanwen@lilypond.org>
1887 * lily/note-collision.cc (calc_positioning_done): only access
1888 first head if available.
1890 * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1892 * scm/framework-ps.scm (output-preview-framework): use new name.
1894 * lily/program-option.cc (internal_set_option): use new names.
1896 * Documentation/user/SConscript (lilypond_book_flags): update -d
1899 * Documentation/user/lilypond-book.itely (Inserting LilyPond
1900 output into other programs): new variable names.
1902 * scm/lily.scm (define-scheme-options): uniformize var names.
1904 * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1905 tuplets_ is non-empty before popping.
1907 2006-09-07 Joe Neeman <joeneeman@gmail.com>
1909 * lily/spanner.cc (find_broken_piece):
1910 * lily/spacing-spanner.cc (get_columns):
1911 * lily/source-file.cc (get_line):
1912 * lily/simple-spacer.cc (get_column_description):
1913 * lily/keyword.cc (lookup):
1914 use the new binary search.
1916 * flower/include/std-vector.hh: replace binary_search with
1917 a more STL-like version
1919 2006-09-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1921 * lily/tie-performer.cc: remove unused last_event_ property.
1922 (class Tie_performer): add now_tied_heads_ property for
1923 partially-tied heads.
1924 (acknowledge_audio_element): when adding an Audio_note, put the
1925 note in now_tied_heads_ if the audio note is partially tied.
1926 (stop_translation_timestep): always include entries in
1927 now_tied_heads_ in heads_to_tie_.
1929 * lily/drum-note-performer.cc (process_music): look for tie-events
1930 in the articulations; pass to Audio_note constructor.
1932 * lily/note-performer.cc (process_music): look for tie-events in
1933 the articulations; pass to Audio_note constructor.
1935 * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1938 * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1939 include initializer in constructor.
1941 2006-09-02 Joe Neeman <joeneeman@gmail.com>
1943 * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1944 unless they are breakable. This fixes discrepancies between the forces
1945 calculated here and the forces calculated in get_line_configuration.
1947 * lily/grob.cc (pure_relative_y_coordinate): fix some
1948 mis-estimation that was happening with piano staves.
1950 * lily/constrained-breaking.cc (resize): don't choke if we get a
1951 measure that won't fit on a line.
1952 (combine_demerits): don't consider uniformity when ragged
1954 * lily/page-spacing.cc (solve): why the f* were there two of these?
1955 (calc_subproblem): properly handle the case where a system is taller
1958 * lily/system.cc (get_paper_system): ensure that all the permissions
1959 and penalties are passed to the paper systems.
1961 * lily/page-breaking.cc (create_system_list): support system-count.
1963 * scm/define-grobs.scm (pure-print-callbacks): add
1964 ly:script-interface::print
1966 * lily/page-spacing.cc (min_page_count): fix calculation of min
1967 pages if we are ragged and there are non-zero springs.
1969 * scm/layout-page-layout.scm: if the pure-height estimates are under
1970 the real height, allow space-systems to ignore padding if it is
1971 needed in order to fit the systems on one page
1973 * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
1975 (solve): fix performance problem. Make sure we always get at least
1978 * lily/page-breaking.cc (make_pages): include write-page-breaks
1981 * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
1983 * scm/define-grobs.scm: add the new slur-callback
1984 fix pure-relevant to not exclude grobs whose extent is already
1987 * ly/paper-defaults.ly: make ly:optimal-breaking the new default
1990 * lily/slur.cc (pure_height): new callback to estimate the height
1993 2006-09-02 Graham Percival <gpermus@gmail.com>
1995 * Documentation/user/invoking.itely: small update on
1996 MacOS X notes; thanks Trevor!
1998 2006-09-01 Han-Wen Nienhuys <hanwen@lilypond.org>
2000 * VERSION (MY_PATCH_LEVEL): release 2.9.17
2002 * lily/lexer.ll: accept EOF in all states.
2004 * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
2006 * lily/source-file.cc (Source_file): always 0-terminate character
2007 array, to prevent Flex from barfing.
2009 * lily/global-context.cc (get_output): robustness: don't crash if
2010 no Score context found.
2012 * lily/include/book.hh (class Book): idem.
2014 * lily/include/context-def.hh (struct Context_def): idem.
2016 * lily/include/score.hh (class Score): don't derive from Input.
2018 * lily/book.cc (Book): add a copy ctor.
2020 * buildscripts/output-distance.py (FileLink.calc_distance): count
2021 orphans in distance too.
2023 * python/midi.c (midi_parse_track): robustness: don't read past
2026 * ly/performer-init.ly: add Control_track_performer, move
2027 Tempo_performer and Time_signature_performer to Score.
2029 * lily/score-performer.cc (acknowledge_audio_elements): override
2030 from base class: add to audio-columns
2032 * lily/control-track-performer.cc (add_text): new file: generate
2035 * lily/performance.cc: move output_header_track to
2036 Control_track_performer ()
2038 * lily/midi-walker.cc (Midi_walker): get channel in constructor.
2040 * lily/include/midi-item.hh (class Midi_channel_item): insert
2041 class into hierarchy, for items that can have a channel setting. Dehungarify.
2043 * lily/include/performer.hh (class Performer): remove
2044 play_element(); move functionality into announce/acknowledge.
2046 * lily/audio-staff.cc (output): remove channel_ from Midi_track.
2048 * lily/tie-engraver.cc (stop_translation_timestep): only wipe
2049 heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties.
2051 2006-08-28 Han-Wen Nienhuys <hanwen@lilypond.org>
2053 * lily/tie-engraver.cc (stop_translation_timestep): robustness for
2056 * lily/all-font-metrics.cc: remove TFM support.
2058 * lily/include/tfm.hh: remove TFM support, TFM reader.
2060 * lily/include/binary-source-file.hh: remove Binary_source_file.
2062 2006-08-27 Graham Percival <gpermus@gmail.com>
2064 * Documentation/topdocs/NEWS.itely: add @c marker for
2065 stuff I've processed.
2067 * Documentation/user/ various: info from NEWS.
2069 2006-08-27 Joe Neeman <joeneeman@gmail.com>
2071 * lily/paper-column-engraver.cc (finalize): Oops, this change
2072 should have gone in on 2006-08-23
2074 2006-08-26 Mats Bengtsson <mabe@s3.kth.se>
2076 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
2077 quotes to quote arguments. Fixes Windows problem.
2079 * python/lilylib.py (progress): idem
2081 2006-08-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2083 * scripts/musicxml2ly.py: fix for importing
2084 minor key signatures from MusicXML. (Phillip Kirlin)
2086 2006-08-24 Phillip Kirlin <pkirlin@acm.org>
2088 * python/musicxml.py:
2089 (Attributes.get_key_signature): now correctly retrieves mode from
2092 2006-08-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2094 * lily/parser.yy (output_def_body): take ownership of identifier
2097 * Documentation/user/advanced-notation.itely (Metronome marks):
2098 update use of \tempo in \midi.
2100 * VERSION: release 2.9.16
2102 2006-08-24 Erik Sandberg <mandolaerik@gmail.com>
2104 * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
2107 2006-08-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2109 * input/regression/tie-chord-partial.ly: clarify example.
2111 * scm/define-music-properties.scm (all-music-properties): remove
2114 * ly/music-functions-init.ly: remove \untied.
2116 * lily/tie-engraver.cc (struct Head_event_tuple): store both
2117 stream events and music events.
2118 (stop_translation_timestep): search acknowledged heads for
2121 * input/regression/tie-chord-partial.ly: new file.
2123 * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
2124 for \char markup command.
2126 * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2128 * scm/define-music-types.scm (music-descriptions): consistency:
2129 Use solo-{one,two}-event iso. solo-[12]-event.
2131 * lily/part-combine-engraver.cc (process_music):
2132 Use solo-{one,two}-event iso. solo-[12]-event.
2134 * ly/declarations-init.ly (partCombineListener): add Timing as
2137 * flower/std-string.cc (string_copy): use copy ()
2139 * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2141 2006-08-24 Graham Percival <gpermus@gmail.com>
2143 * Documentation/user/changing-defaults.itely, global.itely,
2144 lilypond-book.itely, page.itely: minor changes from mailist.
2146 2006-08-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2148 * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2151 * scm/define-context-properties.scm
2152 (translator-property-description): robustness: detect type errors
2153 in property definitions.
2155 * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2156 after getting it from SCM.
2158 * lily/smobs.cc (protect_smob): switch off fancy smob protection
2161 * lily/include/performer.hh (class Performer): strip get_tempo()
2164 * lily/midi-def.cc: strip file.
2166 * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2168 * lily/include/context-def.hh (struct Context_def): use
2169 VIRTUAL_COPY_CONSTRUCTOR().
2171 * lily/source-file.cc: smobification.
2173 * lily/include/source-file.hh (class Source_file): smobify
2174 Source_file. Trim redundant members.
2176 * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2177 clones after creation. This plugs a huge memory leak.
2179 * python/convertrules.py (FatalConversionError.sub_tempo):
2180 complete rule for \midi{ \tempo }
2182 * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2184 * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2186 2006-08-23 Joe Neeman <joeneeman@gmail.com>
2188 * input/regression/optimal-page-breaking-hstretch.ly: test for
2189 ragged-last-bottom also
2191 * lily/paper-column-engraver.cc (finalize): make the end of a score
2192 breakable by default. This is to balance out a change in behaviour
2193 of the page-turn-breaker which no longer makes the end of a score
2196 * lily/paper-book.cc (pages): set the systems_ once the pages are
2199 * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2200 Page_breaking interface.
2202 * lily/page-breaking.cc (class Page_breaking): make the interface
2203 more consistent and provide abstractions for dealing with
2206 * lily/optimal-page-breaking.cc (solve): use a more straightforward
2207 algorithm. Use the new interface to Page_breaking.
2209 * lily/page-spacing.cc: better support for ragged-bottom and
2212 2006-08-22 Han-Wen Nienhuys <hanwen@lilypond.org>
2214 * python/convertrules.py (conv): warning on \tempo{}
2216 * ly/performer-init.ly: set tempoWholesPerMinute.
2218 * ly/midi-init.ly: remove \midi
2220 * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2223 * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2224 tempoUnitDuration for determining what to print.
2226 * lily/lyric-extender.cc: typo.
2228 * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2230 * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2233 * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2235 * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2236 eps-pad-boxes is set.
2238 * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2240 * THANKS: update sponsors.
2242 * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2244 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2246 * input/regression/tie-chord-untied.ly: new file.
2248 * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2250 * scm/define-music-properties.scm (all-music-properties): add
2253 * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2255 (headertext_nopics): sanitize no-examples text.
2257 * scm/page.scm (make-page-stencil): don't rely on extents of
2258 page-stencil. This fixes spurious space around .EPS files produced
2259 with the EPS backend.
2261 2006-08-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2263 * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2265 * lily/hara-kiri-engraver.cc (process_music): remember
2266 keepAliveInterfaces after processing \set
2268 * lily/lyric-extender.cc (print): support left/right-padding for
2271 * scm/documentation-generate.scm (string-append): revert lilypond/
2274 2006-08-20 Graham Percival <gpermus@gmail.com>
2276 * Documentation/user/lilypond.tely: clarification to
2277 license presentation (not to actual license).
2279 * Documentation/user/basic-notation.itely,
2280 instrument-notation.itely: minor changes.
2282 * input/ {regression, test}/+.ly: clarification to
2283 text (you can click on examples). Thanks, Mats!
2285 * input/manual/bar-lines.ly: adds ||: repeats.
2287 2006-08-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2289 * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES
2291 * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2293 * Documentation/user/lilypond.tely: strip lilypond/ from info
2294 links, rename to category LilyPond
2296 * lily/pango-font.cc (description_string): new function.
2298 * VERSION: release 2.9.15
2300 * lily/spacing-engraver.cc (stop_translation_timestep): use
2301 Dscho's fix for spacing spanner.
2303 * scm/define-music-types.scm (music-descriptions): use
2304 apply-output-event for ApplyOutputEvent
2306 * lily/output-property-engraver.cc (listen_apply_output): rename
2307 from listen_layout_instruction.
2309 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2312 2006-08-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2314 * scm/lily.scm (lilypond-all): option read-file-list: substitute
2315 commandline args with contains, split by \n.
2317 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2318 write snippet-names file, call with -dread-file-list. Fixes
2319 command limitations on 64-bit systems.
2321 * input/regression/stencil-color-rotation.ly: new file.
2323 * lily/include/translator.hh (struct Acknowledge_information):
2324 revert: don't use Protected_scm in global objects, as GUILE can't
2325 handle gc_unprotect from automated destructors on MacOS X.
2327 * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2328 color, not the original stencil. Fixes combinations of
2329 color/transparency/rotation.
2331 * scripts/lilypond-book.py (main): add --formats=eps for
2334 * lily/spacing-engraver.cc (stop_translation_timestep): don't
2335 crash if spacing_ is nonexistent.
2337 2006-08-14 Mats Bengtsson <mabe@s3.kth.se>
2339 * scripts/lilypond-book.py (output): Remove obsolete(!?)
2340 \catcode`\@=12 in the LaTeX output.
2342 2006-08-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2344 * scm/define-music-types.scm (music-descriptions):
2345 use sustain-event iso. sustain-pedal-event.
2347 2006-08-11 Joe Neeman <joeneeman@gmail.com>
2349 * scripts/convert-ly.py: honour the -n command-line switch
2351 2006-08-10 Han-Wen Nienhuys <hanwen@lilypond.org>
2353 * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2354 break specification.
2356 2006-08-10 Joe Neeman <joeneeman@gmail.com>
2358 * Documentation/user: convert-ly the user manual
2360 2006-08-09 Han-Wen Nienhuys <hanwen@lilypond.org>
2362 * stepmake/aclocal.m4: version check patch (thanks MWD)
2364 * ly/music-functions-init.ly: robustness. Don't crash if
2365 currentBarNumber is not a number.
2367 * VERSION (PATCH_LEVEL): bump.
2369 2006-08-08 Han-Wen Nienhuys <hanwen@lilypond.org>
2371 * stepmake/aclocal.m4: better version check; handle fooX.Y
2374 * ly/performer-init.ly: instrument name fixup.
2376 * input/manual/chord-names-jazz.ly (banterProperties):
2377 instrumentName update
2379 * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2381 * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2383 * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2384 function. Use hash tables to check membership.
2386 * lily/general-scheme.cc (LY_DEFINE): new function.
2388 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2390 * lily/include/translator.hh (struct Acknowledge_information): add
2393 * ly/music-functions-init.ly: change name to BreathingEvent
2395 * input/regression/*.ly: apply it.
2397 * python/convertrules.py (conv): better instrumentName conversion
2400 * scm/define-music-types.scm (music-descriptions): add
2401 line-break-event to LineBreakEvent music
2403 * lily/music.cc (to_event): don't crash if music type not set.
2405 * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2408 * lily/spacing-engraver.cc (stop_translation_timestep): set
2409 spacing for proportional notation too.
2411 * scm/translation-functions.scm (format-bass-figure): inspect
2414 * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2416 2006-08-08 Joe Neeman <joeneeman@gmail.com>
2418 * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2420 * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2422 * scm/layout-page-layout.scm (make-page-from-systems): new function
2423 (optimal-page-breaks): use the new page-breaking calling convention
2425 * scm/define-context-properties.scm (all-user-translation-properties):
2428 * lily/paper-column-engraver.cc (stop_translation_timestep): add
2429 revokePageTurns functionality. If there is a special barline within
2430 the breakable region, break there instead of at the end of the region.
2432 * lily/paper-book.cc (pages): use the new page-breaking calling
2435 2006-08-07 Erik Sandberg <mandolaerik@gmail.com>
2437 * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2439 * scripts/lilypond-book.py: insert \sourcefileline command in
2440 output, so lilypond error messages refer to the spot in the
2441 original .lytex / .itely sourcefile.
2443 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2445 * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2446 space to next column for distance to fixed col.
2448 * VERSION (PACKAGE_NAME): release 2.9.14
2450 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2453 * lily/accidental-engraver.cc (process_acknowledged): don't create
2454 accidental for trill span event. This fixes spurious accidentals
2457 2006-08-04 Mats Bengtsson <mabe@s3.kth.se>
2459 * scm/define-grob-properties.scm (all-user-grob-properties):
2460 Clarify documentation of side-axis and direction. Thanks to Paul
2461 for the inspiration.
2463 * lily/bar-line.cc: Add documentation for "||:" also in the
2464 interface documentation.
2466 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2468 * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2470 * lily/paper-column.cc (set_system): new function.
2472 * lily/spacing-engraver.cc (stop_translation_timestep): store
2473 SpacingSpanner refs in Paper_column.
2475 * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2476 compute loose clique spacing using GraceSpacing/SpacingSpanner.
2478 2006-08-03 Han-Wen Nienhuys <hanwen@lilypond.org>
2480 * lily/beam-engraver.cc (listen_beam): add method for
2481 Grace_beam_engraver too.
2483 2006-08-03 Mats Bengtsson <mabe@s3.kth.se>
2485 * python/convertrules.py: Fix indentation bug that broke
2486 conversion of files older than 1.3.117.
2487 Fix escape error in the description for 2.9.6.
2489 2006-08-02 Erik Sandberg <mandolaerik@gmail.com>
2491 * lily/*-engraver.cc: convert all try_music functions to listen_*
2494 * lily/piano-pedal-engraver.cc: some additional cleanups: use
2495 enums to represent pedal types, and calculate more data statically.
2497 * scm/part-combiner.scm (recording-group-emulate): create a
2498 softcoded substitute for recording-group-engraver.cc.
2500 * lily/music.cc: make a common transpose function for events and
2503 * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2504 ManualMelismaEvent, and obsoletes Melisma_translator.
2506 2006-08-02 Han-Wen Nienhuys <hanwen@lilypond.org>
2508 * input/test/instrument-name-align.ly: update version.
2510 2006-08-02 Mats Bengtsson <mabe@s3.kth.se>
2512 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2513 Doc the --pdf flag to lilypond-book.
2515 2006-07-31 Han-Wen Nienhuys <hanwen@lilypond.org>
2517 * Documentation/topdocs/NEWS.tely (Top): add description.
2519 * input/regression/tuplet-full-length-note.ly: add file.
2521 * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2522 always store axis group.
2524 2006-07-27 Han-Wen Nienhuys <hanwen@lilypond.org>
2526 * input/regression/instrument-switch.ly: new file.
2528 * lily/instrument-switch-engraver.cc (process_music): new file.
2530 * ly/engraver-init.ly: add Instrument_switch_engraver
2532 * ly/music-functions-init.ly: \instrumentSwitch
2534 * scm/define-context-properties.scm
2535 (all-user-translation-properties): add instrumentCueName
2537 * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2539 2006-07-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2541 * ly/music-functions-init.ly: music function \transposition.
2543 * lily/parser.yy (command_element): softcode \transposition.
2545 * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2546 (process_music): oops.
2548 * lily/instrument-name-engraver.cc (start_spanner): new
2549 function. Create spanner when property changes.
2550 (stop_spanner): new function.
2552 * python/convertrules.py (conv): add rule.
2554 * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2555 shortInstrumentName iso. instr.
2557 * scm/output-ps.scm (dashed-line): add phase argument to
2560 * lily/bar-line.cc (dashed_bar_line): new function.
2561 (compound_barline): support \bar "dashed".
2563 * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2564 --output=DIR to DIR/BASE if it is a dir.
2566 * flower/file-name.cc (file_part): new function
2567 (dir_part): new function
2569 * lily/lily-parser-scheme.cc (LY_DEFINE):
2571 * DEDICATION: update
2573 2006-07-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2575 * lily/instrument-name-engraver.cc: formatting.
2577 * python/convertrules.py (conv): bugfix for \epsfile.
2579 2006-07-25 Joe Neeman <joeneeman@gmail.com>
2583 * lily/gourlay-breaking.cc: Oops, these should have been included
2586 2006-07-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2588 * scripts/*.py (program_name): cleanup relocation snippets.
2590 * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2592 2006-07-24 Joe Neeman <joeneeman@gmail.com>
2594 * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2595 page-breakable by default
2597 * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2598 correctly calculated for a single-system page
2600 * scm/lily-library.scm (interval-sane?): also check that the first number is no
2601 bigger than the second number
2603 * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2604 acknowledge that we aren't satisfying constraints)
2606 * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2609 * lily/grob.cc (pure_height): add minimum-Y-extent
2611 * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2614 * lily/constrained-breaking.cc: convert code to use new Matrix class
2615 (get_best_solution): new function
2617 * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2618 is a page with no systems
2620 2006-07-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2622 * VERSION (PACKAGE_NAME): release 2.9.13
2624 * scm/define-grobs.scm (all-grob-descriptions): remove stray
2627 2006-07-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2629 * Documentation/topdocs/NEWS.tely (Top): doc new features.
2631 * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2634 * scm/define-grob-properties.scm (all-user-grob-properties):
2635 remove grace-space-factor.
2637 * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2638 grace-spacing-interface
2639 (spacing-options-interface): add.
2641 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2643 * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2645 * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2646 GraceSpacing object.
2648 * lily/note-spacing.cc: fix prop list formatting
2650 * lily/beaming-pattern.cc (de_grace): new function. Sensible
2651 beaming for grace notes too.
2653 * input/regression/spacing-grace.ly: update.
2655 * lily/grace-spacing-engraver.cc: new file.
2657 * lily/spacing-spanner.cc: add strict-grace-spacing.
2659 2006-07-20 Graham Percival <gpermus@gmail.com>
2661 * lily/parser.yy: compile fix.
2663 2006-07-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2665 * scm/define-grobs.scm (all-grob-descriptions): typo.
2667 * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2668 .eps extension from includegraphics.
2670 * scripts/lilypond-book.py (main): add support for --pdf.
2672 * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2673 callback to compute common shortest duration.
2674 (set_springs): typo.
2676 * scm/define-grob-properties.scm (all-user-grob-properties): add
2677 strict-grace-spacing.
2679 * lily/spacing-determine-loose-columns.cc (is_loose_column):
2680 support float_grace_columns_.
2682 * lily/spacing-options.cc (init_from_grob): new file.
2684 * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2686 * input/regression/spacing-loose-grace.ly: new file.
2688 * Documentation/topdocs/NEWS.tely (Top): document new feature.
2690 * lily/tuplet-engraver.cc (struct Tuplet_description): read
2691 tupletFullLengthNote too. Choose right bound depending on value.
2693 * input/regression/tuplet-full-length-note.ly: new file.
2695 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2697 * lily/*-performer.cc: Converted try_music to listen_*
2699 * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2700 as a stream-event internally. Introduce event_cause (), deprecate
2703 * scm/define-music-types.scm: Removed BusyPlayingEvent
2705 2006-07-19 Mats Bengtsson <mabe@s3.kth.se>
2707 * Documentation/user/advanced-notation.itely (Font selection):
2708 Document how to get a list of available fonts using 'lilypond
2709 -dshow-available-fonts blabla'.
2711 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2713 * GNUmakefile.in: filter lily-XXX.pdf files.
2715 * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2717 * scm/define-grob-properties.scm (all-internal-grob-properties):
2718 remove delta-pitch. Use delta-position everywhere.
2720 * scm/output-lib.scm (fall::print): use new order.
2722 * scm/output-ps.scm (path): reorder arguments.
2724 * scm/output-svg.scm (path): support for path primitive.
2726 * input/regression/bend-after.ly: new file.
2728 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2729 recipe for eps -> pdf conversion.
2731 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2733 * lily/parser.yy, lily/lexer.ll: added some simplifications by
2736 2006-07-19 Graham Percival <gpermus@gmail.com>
2738 * input/manual/screech-boink.ly: moved to here.
2740 * input/screech-boink.ly: deleted.
2742 * scm/define-grob-properties.scm: clarify doc string.
2744 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2746 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2748 * scm/output-ps.scm (path): define path.
2750 * scm/define-stencil-commands.scm
2751 (ly:register-stencil-expression): add path.
2753 * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2755 * ly/engraver-init.ly: add Fall_engraver
2757 * lily/parser.yy (music_function_event): allow musicfunction
2758 without music arg as music_function_event.
2760 * lily/grob-scheme.cc (LY_DEFINE):
2761 ly:grob-robust-relative-extent. New function.
2763 * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2765 * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2767 * scm/output-lib.scm (fall::print): new function
2769 * lily/fall-engraver.cc (stop_fall): new file.
2771 * ly/music-functions-init.ly: alphabetise.
2773 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2776 2006-07-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2778 * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2780 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2783 * lily/translator-group.cc (connect_to_context): non const error message.
2785 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2787 * scm/paper.scm (internal-set-paper-size): define landscape to #f
2790 * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape.
2792 * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2794 * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2797 * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2799 * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2801 * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2803 * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2805 * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2807 * scm/backend-library.scm (postscript->pdf): strip .eps too.
2809 2006-07-14 Nicolas Sceaux <nicolas.sceaux@free.fr>
2811 * scm/layout-page-layout.scm: Define module, tidy code, use more
2812 functions iso. a single big one.
2814 * scm/layout-page-dump.scm: move page dump functions used in two
2815 pass spacing to this file. Define module.
2817 * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2820 * ly/paper-defaults.ly: use module layout-page-layout.
2822 2006-07-14 Erik Sandberg <mandolaerik@gmail.com>
2824 * lily/music.cc: Revised MusicEvent event class. It now contains
2825 event data directly instead of encapsulating it in music. The
2826 previously used class is renamed to OldMusicEvent.
2828 * lily/stream-event.cc: Stream events are now probs.
2830 * lily/translator-group.cc, lily/translator.cc: Translators can
2831 now listen directly to stream events, by using macros
2832 [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2834 * lily/arpeggio-engraver.cc: Converted to use new event system
2836 * THANKS: Corrected spelling mistake.
2838 2006-07-12 Graham Percival <gpermus@gmail.com>
2840 * Documentation/user/SConscript, make/lilypond-vars.make,
2841 input/GNUmakefile: doc build looks in input/manual instead
2844 * input/manual/ GNUmakefile, SConscript: build files for
2847 * input/test/ various: some files moved to input/manual/
2849 * Documentation/user/basic-notation.itely: small updates;
2850 thanks Kieren and Charles!
2852 2006-07-12 Han-Wen Nienhuys <hanwen@lilypond.org>
2854 * VERSION (PACKAGE_NAME): release 2.9.11
2856 * Documentation/topdocs/NEWS.tely (Top): update prop value
2858 * Documentation/user/basic-notation.itely (Tuplets): new property
2861 2006-07-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2863 * python/convertrules.py (conv): tweaks.
2865 * VERSION (PATCH_LEVEL): bump version.
2867 * python/convertrules.py (conv): add rule for
2868 tupletNumberFormatFunction.
2870 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2871 tupletNumberFormatFunction.
2873 * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2874 text through 'text callback.
2876 * lily/time-scaled-music-iterator.cc (construct_children): copy
2877 tweaks generated events.
2879 * scm/define-context-properties.scm
2880 (all-user-translation-properties): remove tupletNumberFormatFunction
2882 * lily/tuplet-engraver.cc (process_music): don't read
2883 tupletNumberFormatFunction
2885 * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2888 2006-07-11 Erik Sandberg <mandolaerik@gmail.com>
2890 * lily/global-context-scheme.cc: Separated ly:run-translator into
2893 * lily/score-engraver.cc, lily/score-performer.cc,
2894 scm/define-context-properties.scm: Make paper/midi output
2895 accessable as a context property.
2897 * lily/score-translator.cc, lily/score-context.cc: Removed.
2899 2006-07-07 Guido Amoruso <guidonte@katamail.com>
2901 * scm/ps-to-png.scm (Module):
2902 * scm/framework-tex.scm (Module):
2903 * scm/framework-ps.scm (Module):
2904 * scm/backend-library.scm (Module):
2905 * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2906 "dDEVICEHEIGHTPOINTS".
2908 2006-07-04 Graham Percival <gpermus@gmail.com>
2910 * Documentation/user/ various: general improvements to
2911 "working with lilypond files" section.
2913 2006-07-03 Erik Sandberg <mandolaerik@gmail.com>
2915 * lily/sequential-iterator.cc: Change the default get_music_list
2916 to read elements-callback music property
2918 * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2919 processing of multimeasure rests. Softcoded
2920 sequential-music-iterator.
2922 * lily/sequential-music-iterator.cc: Removed.
2924 2006-06-28 Graham Percival <gpermus@gmail.com>
2926 * Documentation/user/basic-notation.itely: clarify \repeatTie.
2928 2006-06-27 Erik Sandberg <mandolaerik@gmail.com>
2930 * lily/parser.yy: Wrap non-post-events in EventChords before
2931 assigning them to identifiers.
2933 2006-06-27 Mats Bengtsson <mabe@s3.kth.se>
2935 * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2936 gives correct vertical placement of \bar ":" in all staff
2937 sizes. Thanks Martial!
2939 2006-06-26 Graham Percival <gpermus@gmail.com>
2941 * Documentation/user/invoking.itely : minor update from mailist.
2943 2006-06-26 Erik Sandberg <mandolaerik@gmail.com>
2945 * lily/ various: Introduce stream events of types Prepare,
2946 OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2947 ChangeContext, SetProperty, RevertProperty, Override and Revert.
2949 * lily/global-context*.cc: Time is now -inf before iteration
2952 * lily/include/context.hh: Removed unique_, init_
2954 * Documentation/topdocs/NEWS: Make the feathered beam example
2955 avoid triggering a bug.
2957 2006-06-24 Graham Percival <gpermus@gmail.com>
2959 * Documentation/user/ various: small additions from mailist.
2961 2006-06-22 Mats Bengtsson <mabe@s3.kth.se>
2963 * ly/performer-init.ly: Add some missing links in the context
2964 hierarchy for MIDI output. There are probably some more missing!
2966 2006-06-21 Graham Percival <gpermus@gmail.com>
2968 * Documentation/user/ various: minor spelling fixes;
2969 thanks Dave Luttinen!
2971 * Documentation/user/ various: small clarifications;
2972 thanks Anthony Youngman!
2974 2006-06-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2976 * po/fr.po: add \n appropriately.
2978 * lily/lexer.ll: remove ? from version-seen?
2980 2006-06-19 John Mandereau <john.mandereau@free.fr>
2982 * po/fr.po; update translation, by Jean-Charles Malahieude and
2985 2006-06-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2987 * THANKS: add Markus Schneider.
2989 * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
2990 Staff_symbol_engraver
2992 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
2993 replace staff_engraver
2995 * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
2998 * lily/staff-collecting-engraver.cc
2999 (acknowledge_end_staff_symbol): new function
3001 * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function.
3003 * lily/staff-collecting-engraver.cc
3004 (acknowledge_end_staff_symbol): new function.
3006 * lily/main.cc: switch on relocation by default.
3008 2006-06-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3010 * lily/spacing-spanner.cc (musical_column_spacing): set
3011 compound_fixed_note_space to 0.0. Document why.
3013 * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
3014 range of inverse_hooke_
3015 (Simple_spacer): init completely.
3017 (get_line_configuration): don't use cols.resize(); it introduces
3020 * scm/framework-ps.scm (dump-page): add setstrokeadjust.
3022 * ps/music-drawing-routines.ps: remove selectfont L1 hack.
3024 * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
3025 try. Divide by beatlength.
3027 * input/regression/beaming-ternary-metrum.ly: update doc.
3028 add beatLength hack.
3030 * scm/music-functions.scm (make-time-signature-set): add
3031 standard-beat-grouping.
3033 2006-06-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3035 * input/regression/tie-whole.ly: new file.
3037 * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
3038 cross center of note head in case of invisible stem.
3040 2006-06-16 Graham Percival <gpermus@gmail.com>
3042 * Documentation/user/ various: small fixes from mailist.
3044 2006-06-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3046 * lily/breathing-sign.cc (offset_callback): idem.
3048 * lily/align-interface.cc (align_to_fixed_distance): remove
3051 * lily/beaming-pattern.cc (count_factor_twos): oops. We want
3054 2006-06-15 Han-Wen Nienhuys <hanwen@lilypond.org>
3056 * VERSION (PACKAGE_NAME): release 2.9.9
3058 * ly/lilypond-book-preamble.ly: add \version
3060 2006-06-14 Han-Wen Nienhuys <hanwen@lilypond.org>
3062 * scripts/lilypond-book.py (PREAMBLE_LY): include
3063 lilypond-book-preamble.ly
3065 * lily/stem.cc (get_beaming): return max of 0 and
3066 scm_ilength. Fixes slurring from/to beams.
3068 * ly/lilypond-book-preamble.ly: new file.
3070 * lily/slur.cc: add inspect-index feature.
3072 2006-06-13 Graham Percival <gpermus@gmail.com>
3074 * Documentation/user/tutorial.itely: trivial fix.
3076 2006-06-13 Erik Sandberg <mandolaerik@gmail.com>
3078 * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
3079 all non-event music in the parser via MAKE_SYNTAX.
3081 * lily/parser-scheme.cc: Add ly:parser-error function
3083 * scm/paper.scm: fix typo
3085 2006-06-13 Han-Wen Nienhuys <hanwen@lilypond.org>
3089 * lily/font-config.cc (init_fontconfig): add warning if cache_file
3092 * buildscripts/output-distance.py (test_compare_signatures):
3094 (read_signature_file): use new signature format.
3096 * scm/stencil.scm (write-system-signature): simpler signature
3099 * lily/stem.cc (calc_stem_end_position): calc quantized-positions
3102 * lily/note-spacing.cc (stem_dir_correction): don't inspect
3103 stem_end_position, but estimate instead.
3105 * lily/tuplet-bracket.cc (calc_positions): look at
3106 stem-end-position for tuplet bracket slope. Fixes sloped tuplet
3107 brackets narrower than beams.
3109 * lily/lexer.ll: set version-seen? even if version is
3112 * lily/rest.cc (y_offset_callback): bugfix: decide position
3113 override based on scm_is_number(). Fixes \rest on center staff
3116 * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
3117 patterns for 16th triplets.
3119 2006-06-10 Graham Percival <gpermus@gmail.com>
3121 * Documentation/user/ page.itely, global.itely: editing
3124 * Documentation/user/ various: findex -> funindex.
3126 2006-06-10 Erik Sandberg <mandolaerik@gmail.com>
3128 * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3129 insert extra tuplet events.
3131 2006-06-10 Graham Percival <gpermus@gmail.com>
3133 * Documentation/user/programming-interfaces.itely: add
3136 * python/convertrules.py: add annotatefoo -> annotate-foo
3139 * Documentation/user/global.itely: start editing.
3141 * Documentation/user/page.itely: major editing, new spacing
3144 2006-06-10 Han-Wen Nienhuys <hanwen@lilypond.org>
3146 * scm/define-markup-commands.scm (wordwrap-markups): use
3147 output-def 'line-width if undefined.
3149 * HACKING: trim outdated info.
3151 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3153 * scm/define-grobs.scm (all-grob-descriptions): Add
3154 line-spanner-interface to all grobs that already have
3155 text-spanner-interface or dynamic-text-spanner-interface
3157 * scm/page.scm: Rename annotate{headers,systems,page}->
3160 * input/regression/page-spacing.ly,
3161 input/regression/page-layout-manual-position.ly: idem
3163 2006-06-09 Han-Wen Nienhuys <hanwen@lilypond.org>
3165 * lily/line-spanner.cc: cleanup property list.
3167 * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3168 generator expressions (2.3 compat).
3170 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3172 * lily/vertical-align-engraver.cc: Make sure that the
3173 align{Above,Below}Context properties are included in the automatic
3176 2006-06-08 Joe Neeman <joeneeman@gmail.com>
3178 * scm/paper-system.scm (paper-system-annotate): also annotate the
3179 estimated pure-Y-extent
3181 * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3183 * lily/system.cc (break_into_pieces): set the estimated height
3184 of each child system
3186 * lily/stem.cc (pure_height): new pure-Y-extent callback
3188 * lily/staff-symbol-referencer.cc (callback): don't destroy
3189 the staff-position property
3191 * lily/hara-kiri-group-spanner.cc (request_suicide): split
3192 consider_suicide into two functions
3194 * lily/constrained-breaking.cc (resize): use the new pure
3195 callbacks to estimate the height of a system
3197 * lily/axis-group-interface.cc (pure_group_height): new
3198 side-effect-free VerticalAxisGroup height-callback
3200 * lily/align-interface.cc (get_extents_aligned_translates):
3201 split align_elements_to_extents into two functions
3202 (get_pure_child_y_translation): new function
3204 * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3206 * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3208 * lily/paper-score.cc: cache break_indices and columns
3210 * lily/side-position-interface.cc: new pure-Y-extent callbacks
3212 2006-06-08 Han-Wen Nienhuys <hanwen@lilypond.org>
3214 * lily/font-config.cc (init_fontconfig): do the init if
3215 cache_file, but don't look at cache_file.
3217 * input/regression/quote-tie.ly: new file.
3219 * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3220 to Head_event_tuple, so we deal gracefully with ties on
3223 * lily/pango-font.cc (pango_item_string_stencil): type correctness
3226 2006-06-08 Graham Percival <gpermus@gmail.com>
3228 * input/test/ smart-transpose.ly, reverse-music.ly:
3229 \applyMusic to music functions update, thanks Michael!
3231 2006-06-07 Graham Percival <gpermus@gmail.com>
3233 * input/test/ add-staccato.ly, add-text-script.ly,
3234 unfold-all-repeats.ly, music-box.ly: \applyMusic to
3235 music functions update, thanks to Michael Meixner.
3237 * Documentation/user/music-glossary.tely: small fix
3240 * Documentation/user/ various: minor additions from mailist.
3242 * Documentation/user/lilypond.tely, basic-notation.itely:
3243 small test of @funindex. (works here)
3245 * input/test/font-table.ly: reduce size to partially
3246 de-ugly version in manual.
3248 * Documentation/user/page.itely: new file (split former
3249 "global issues" into "page settings" and "non-musical
3252 * Documentation/user/ various: fix @ref{}s to match
3253 new chapter names (above).
3255 2006-06-07 Jan Nieuwenhuizen <janneke@gnu.org>
3257 * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3259 2006-06-06 Graham Percival <gpermus@gmail.com>
3261 * Documentation/user/advanced-notation.itely: add example
3262 for segno/coda on barline.
3264 * tex/texinfo.tex: merge from upstream.
3266 2006-06-06 Jan Nieuwenhuizen <janneke@gnu.org>
3268 * scripts/lilypond-book.py (process_snippets): Argument fix.
3271 * buildscripts/builder.py:
3274 * Documentation/user/SConscript: More SCons fixes.
3276 2006-06-03 Jan Nieuwenhuizen <janneke@gnu.org>
3278 * lily/font-config.cc (init_fontconfig): Only initialize if
3279 global cache_file is found.
3281 2006-06-06 Erik Sandberg <mandolaerik@gmail.com>
3283 * ly/music-functions-init.ly: Updated \overrideProperty to use the
3286 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3288 * VERSION (PACKAGE_NAME): release 2.9.8
3290 * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3291 function. Delay ledger modifying ledgered grobs to
3292 stop_translation_timestep(), to ensure that we're ledgering
3293 according to the new spanner.
3294 (acknowledge_staff_symbol): don't check for non-NULL
3295 staff_sym->get_bound()
3297 * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3300 * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3303 * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3304 directly from srcdir/stepmake/aclocal.m4
3306 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3309 * lily/simple-spacer.cc (get_column_desc): desc -> description.
3311 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3313 * lily/simple-spacer.cc (get_line_configuration): add
3314 keep-inside-line rods
3315 (struct Column_desc): add constructor
3316 (struct Rod_desc): add constructor
3317 (get_line_forces): check for forced page breaks here too
3319 * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3320 support/elements cycles between InstrumentNames and AxisGroups
3322 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3324 * config.make.in (METAFONT): remove MAKEINFO_VERSION
3326 * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3327 make-txt-files target.
3329 * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3330 make-txt-files target.
3332 * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3334 * stepmake/stepmake/generic-vars.make (distdir): create dist in
3337 2006-06-06 Jürgen Reuter <reuter@ipd.uka.de>
3339 * Documentation/user/instrument-notation.itely,
3340 input/regression/breathing-sign-ancient.ly,
3341 input/test/divisiones.ly: Removed redundant property settings for
3344 * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3345 fix lyrics alignment problems. They are implemented now as scheme
3346 functions that add the appropriate unicode char to the first lyric
3347 event rather than adding a separate lyric event. Minor edit of
3350 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3352 * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3353 pollute src dir with built .txt files, but install directly from
3354 Documentation/topdocs/out/
3356 * buildscripts/output-distance.py
3357 (ComparisonData.create_html_result_page): put version/directories
3360 * Documentation/topdocs/NEWS.tely (Top): document spacing section
3363 * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3364 Patch by Karl Hammar
3366 * buildscripts/readlink.py: add file.
3367 Patch by Karl Hammar
3369 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3371 * lily/tuplet-number.cc (print): prevent stencil from being
3374 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3376 * scm/stencil.scm (write-system-signature): explicitly
3377 -well, superfluously- close output port.
3379 * buildscripts/output-distance.py (main): oops. Add extra argument.
3381 2006-06-05 Graham Percival <gpermus@gmail.com>
3383 * Documentation/user/music-glossary.tely: clarified example
3384 from Francisco Vila, thanks!
3386 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3388 * input/regression/spacing-section.ly: new file.
3390 * lily/input.cc (programming_error): new function.
3392 * lily/spacing-engraver.cc (try_music): new function. Accept
3393 spacing-section-event
3395 * lily/spacing-spanner.cc (set_springs): take slices of all
3396 columns for spacing.
3398 * lily/include/paper-column.hh (class Paper_column): add
3399 Paper_column::compare.
3401 * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3403 * scm/define-music-types.scm (music-descriptions): add
3406 * lily/music-iterator.cc (report_event): use programming_error for
3407 sending non-event error.
3409 * lily/input.cc (programming_error): new function
3411 * buildscripts/output-distance.py (main): use compare-XXX for
3413 (main): --threshold option, default at 0.30
3415 * output-distance.py (main): add --threshold option.
3417 2006-06-04 Nicolas Sceaux <nicolas.sceaux@free.fr>
3419 * scm/paper-system.scm (paper-system-annotate): fix problem when
3420 annotating an empty system
3422 2006-06-04 Han-Wen Nienhuys <hanwen@lilypond.org>
3424 * GNUmakefile.in: reinstate old web tar/copying.
3426 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3428 * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3429 nothing changes. (Erik S)
3431 * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3434 2006-05-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
3436 * scm/define-markup-commands.scm (whiteout): do not force
3437 foreground color of argument markup to black.
3439 * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3440 the left of the arrow, instead of below the arrow name, so that,
3441 when two little arrows are vertically stacked, their dimensions
3442 and name should not overlap. Add a color key parameter.
3444 * scm/paper-system.scm (paper-system-annotate): Annotate
3445 next-space+next-padding instead of next-space. Annotate space
3446 between next-padding and next-space+padding, respectively, and
3447 following system extent and refpoint-Y-extent. Use colors.
3449 * scm/page.scm (annotate-page): translate annotations slightly to
3452 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3454 * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3455 fix for x-staff slurs. Thanks Joe!
3457 * buildscripts/output-distance.py
3458 (SystemLink.output_expression_change_count): keep track of changed
3459 details, and dump in details html page.
3461 * input/regression/figured-bass-staff.ly: add note about setting
3462 properties in Staff context.
3464 * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3465 add slurs and ties to support too.
3467 * buildscripts/output-distance.py (main): set dest_dir
3468 argument. Add --max-count option.
3470 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3472 * ly/gregorian-init.ly: Converted to utf-8. Added memorable
3473 shortcuts for special unicode chars that are useful in chant
3474 notation. Revised exisiting and added new comments.
3476 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3478 * make/mutopia-rules.make: remove duplicate recipe.
3480 2006-06-02 Werner Lemberg <wl@gnu.org>
3482 * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3483 Add support for U+0132 (IJ) and U+0133 (ij).
3485 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3487 * buildscripts/output-distance.py (FileLink): new class. collect
3488 info systems from one .ly file.
3489 (FileLink.link_files_for_html): further tweaks.
3491 2006-06-02 Graham Percival <gpermus@gmail.com>
3493 * tex/texinfo.tex: partial fix for @funindex.
3495 * Documentation/user/macros.tely: uncomment @funindex (doesn't
3498 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3500 * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3502 * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3503 @example too. Backportme.
3505 2006-06-02 Graham Percival <gpermus@gmail.com>
3507 * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3508 from Werner Lemberg.
3510 2006-06-02 Paco (Francisco Vila) <fravd@ya.com>
3512 * Documentation/user/music-glossary.tely: additional spanish
3513 updates and a lyrics fix in an example.
3515 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3517 * scm/define-grob-properties.scm: Previous patch contained
3518 spurious line from another patch not yet committed. Fixed.
3520 * scm/define-grob-properties.scm: Add missing doc strings for
3523 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3525 * buildscripts/output-distance.py
3526 (ComparisonData.write_text_result_page): separate the scores, sort
3529 * scm/framework-eps.scm (output-classic-framework): start at 1 for
3532 * buildscripts/output-distance.py (me_path): use argv[0] for
3534 (ComparisonData.img_cell): use colored borders.
3536 * scm/stencil.scm (write-system-signature): escape newlines too.
3537 (write-system-signature): use (1,-1) interval for empty interval
3539 2006-01-01 Graham Percival <gpermus@gmail.com>
3541 * Documentation/user/music-glossary.tely: Spanish updates
3542 from Francisco Vila.
3544 * Documentation/user/lilypond-book.itely: addition from
3547 * Documentation/user/ various: edits, small additions
3550 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3552 * GNUmakefile.in (tree-lib-prefix-current):
3553 (tree-share-prefix-current): Use version number in tree, add
3556 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3558 * GNUmakefile.in: write VERSION, again.
3560 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3561 $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3563 * stepmake/aclocal.m4: robuster version detection.
3565 * buildscripts/output-distance.py
3566 (ComparisonData.create_html_result_page): copy only if file
3567 exists, fixup src paths.
3569 * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3571 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3573 * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3574 Another datarootdir reto.
3576 * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3577 available. This should be moved to postinstall-lilypond-doc.
3579 2006-05-31 Han-Wen Nienhuys <hanwen@lilypond.org>
3581 * GNUmakefile.in: simplify local-WWW-post.
3582 remove -type l from find.
3584 * buildscripts/output-distance.py (ComparisonData.compare_trees):
3585 fixes. Don't follow symlinks.
3586 (ComparisonData.create_html_result_page): remove previous results.
3587 insert ../python in path.
3589 * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3591 2006-05-31 Jan Nieuwenhuizen <janneke@gnu.org>
3593 * config.make.in (datadir): Add datarootdir to silence autoconf.
3595 * stepmake/aclocal.m4: Update for autoconf-2.59d.
3597 2006-05-31 Erlend Aasland <erlenda@gmail.com>
3599 * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3601 * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3602 slash beams too wide.
3604 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3606 * VERSION: release 2.9.7
3608 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3610 * lily/relocate.cc (read_relocation_dir): Do not blindly
3613 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3615 * lily/parser.yy: replace THIS by PARSER
3617 * Documentation/index.html.in: add link to test-results.html page.
3619 * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3621 * scm/translation-functions.scm (format-bass-figure): translate
3622 digits over 10 to the left
3624 * scm/define-markup-commands.scm (translate-scaled): new markup.
3626 * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3629 * ly/engraver-init.ly: add Figured_bass_engraver
3631 * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3633 * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3635 * lily/score-engraver.cc (announce_grob): only note START announces.
3637 * lily/include/engraver-group.hh (Translator_group):
3638 acknowledge_hash_table_ is now drul.
3640 * lily/engraver.cc (announce_end_grob): new method.
3642 * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3644 * lily/translator-dispatch-list.cc (create): take start_end argument.
3646 * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3647 acknowledge_static_array_ to drul
3649 * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3651 * scm/define-grob-interfaces.scm
3652 (bass-figure-alignment-interface): add bass-figure-alignment-interface
3654 * scm/define-grobs.scm (all-grob-descriptions): add
3655 BassFigureAlignmentPositioning
3657 * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3658 number stays up to date. Backportme.
3660 2006-05-30 Mats Bengtsson <mabe@s3.kth.se>
3662 * Documentation/user/basic-notation.itely (Bar lines): Document
3665 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3667 * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3669 * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3670 .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc'
3673 * Resurrect `scons lily' build.
3675 * SConstruct (symlink_tree): Bugfix: link
3676 music-drawing-routines.ps to file iso directory.
3678 * lily/SConscript: Remove kpath-guile from LIBS.
3680 * SConstruct (libdir_package_version): Typo.
3681 (configure): Comment-out fontforge for lack of fontforge.pc .
3682 Also add libdir* to environment.
3684 2006-05-30 Graham Percival <gpermus@gmail.com>
3686 * Documentation/user/ various: minor additions from mailist and
3689 2006-05-30 Paco <fravd@ya.com>
3691 * Documentation/user/music-glossary.tely: numerous corrections and
3692 some new translations.
3694 2006-05-29 Han-Wen Nienhuys <hanwen@lilypond.org>
3698 * buildscripts/output-distance.py
3699 (ComparisonData.create_html_result_page): new routine: summarise
3700 results in HTML page with images.
3701 (ComparisonData.create_text_result_page): create summary text files too.
3703 * GNUmakefile.in (web-ext): package .signature files too. They
3706 * scm/stencil.scm (write-system-signature): typo.
3708 * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3710 * scm/stencil.scm (write-system-signature): better escaping.
3711 only write signature for music systems, not for markup systems.
3713 * scm/framework-ps.scm (output-framework): dump-signatures support
3716 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3718 * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3719 for -dno-point-and-click
3721 * lily/grob.cc (get_print_stencil): don't read
3722 point_and_click_global to determine whether to set grob-cause.
3724 2006-05-28 Han-Wen Nienhuys <hanwen@lilypond.org>
3726 * buildscripts/output-distance.py (main): new function.
3727 (ComparisonData): new class.
3729 * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3730 careful with generating new LedgerLineSpanners.
3732 * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3734 * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3735 context. This fixes double ledger lines in output.
3737 * lily/system.cc (get_paper_system): remove 3 layer limit.
3739 * buildscripts/output-distance.py (SystemLink.distance): new
3740 file. Compare signatures.
3742 * python/safeeval.py (SafeEval.visitUnarySub): new file.
3744 * lily/grob-array.cc (remove_duplicates): rename from
3745 uniq(). Sort before calling uniq() so it actually works.
3747 2006-05-27 Han-Wen Nienhuys <hanwen@lilypond.org>
3749 * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3750 \version from lilypond file snippet.
3751 (Lilypond_file_snippet.ly): oops. typo.
3752 (find_toplevel_snippets): urgh. again.
3754 * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3755 prevent duplicated broken items in output.
3757 * scm/framework-eps.scm (output-classic-framework): only dump if
3758 dump-signatures is set.
3760 * scm/lily.scm (define-scheme-options): add dump-signatures option.
3762 * scm/stencil.scm (write-system-signature): new routine: write
3763 python parseable signature of a separate paper system.
3766 2006-05-26 Han-Wen Nienhuys <hanwen@lilypond.org>
3768 * lily/stanza-number-engraver.cc (process_music): use is_markup()
3772 2006-05-25 Erik Sandberg <mandolaerik@gmail.com>
3774 * translator-group.cc: send music events to engravers in
3775 non-bottom contexts.
3777 * tuplet-engraver.cc: process tuplet brackets in correct order.
3779 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3781 * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3782 arg 2 might point us to a new binary (patch by Karl Hammar)
3784 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3786 * VERSION (PACKAGE_NAME): release 2.9.6
3788 * Documentation/topdocs/NEWS.tely (Top): trim explanation.
3790 * Documentation/user/*.itely: 2nd
3791 attempt: replace funindex -> findex globally.
3793 2006-05-24 Nicolas Sceaux <nicolas.sceaux@free.fr>
3795 * input/no-notation/display-lily-tests.ly: fix \applyOutput
3796 test. Add \break, \pageBreak, \pageTurn, etc, tests.
3798 * scm/define-music-display-methods.scm: display methods for
3799 breaks. Fix \applyOutput.
3801 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3803 * Documentation/user/macros.itexi: comment out funindex expansion.
3805 * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3808 * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3809 Karl Hammar. Backportme.
3811 * Documentation/user/advanced-notation.itely (Balloon help): idem.
3813 * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3815 * Documentation/user/programming-interface.itely (Running a
3816 function on all layout objects): idem.
3818 * Documentation/user/introduction.itely (Automated engraving):
3819 update \applyOutput syntax
3821 * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3822 remove debugging hook.
3824 * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3827 * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3829 * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3830 TEXI2DVI_FLAGS to texi2dvi invocation.
3832 2006-05-24 Erik Sandberg <mandolaerik@gmail.com>
3834 * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3835 works. More work is done by iterator now, and engraver has been
3836 very much simplified.
3838 * lily/translator-group.cc: try_music is now invoked through a
3841 * lily/*-iterator.cc: Massive cleanups. Junked
3842 try_music_in_children globally. Renamed try_music to report_event,
3843 and made that method descend to a bottom context automatically.
3845 * lily/event-iterator.cc: New file.
3847 * lily/output-property-iterator.cc,
3848 lily/old-lyric-combine-music-iterator.cc: Removed.
3850 * python/convert-rules.py: Modified the syntax for \applyOutput.
3852 2006-05-23 Graham Percival <gpermus@gmail.com>
3854 * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3857 * Documentation/user/ various: stuff that might have helped
3858 to fix the pdf creation, plus some minor doc additions.
3860 * Documentation/user/changing-defaults.itely: remove @b from
3861 @b{ @internasref{foo}}; this breaks texi2dvi -E.
3863 2006-05-23 Han-Wen Nienhuys <hanwen@lilypond.org>
3865 * lily/beaming-pattern.cc (beamify): deal with negative start
3866 moments for beaming patterns.
3868 2006-05-22 Han-Wen Nienhuys <hanwen@lilypond.org>
3870 * lily/beaming-info.cc (beamify): new function: read beatLength
3871 and beatGrouping from context.
3873 * input/regression/beam-beat-grouping.ly (Module): new file.
3875 * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3877 * lily/beam.cc (get_beam_segments): generate events for
3878 max_connect_ case too.
3879 (get_beam_segments): read Stem::max-beam-connect.
3881 * input/regression/beam-single-stem.ly: new file.
3883 * lily/stem.cc (set_beaming): use #f as signaling value for
3886 * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3888 * lily/beam.cc (set_beaming): read clip-edges property.
3889 (calc_direction): don't suicide for single stem.
3891 * lily/beaming-info.cc (best_splitpoint_index): take bool*
3892 argument, remove 1<<15 hack. Remove clip_edges()
3894 * lily/hairpin.cc (print): only do padding for nonmusical bounds
3896 2006-05-21 Graham Percival <gpermus@gmail.com>
3898 * Documentation/user/basic-notation.itely: reorg.
3900 * Documentation/user/ various: minor fixes.
3902 2006-05-20 Han-Wen Nienhuys <hanwen@lilypond.org>
3904 * lily/stencil-expression.cc (register_stencil_head): opps, append
3905 to cdr of static SCM object.
3907 2006-05-19 Graham Percival <gpermus@gmail.com>
3909 * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3910 update framework for command index. DOC WRITERS: use @funindex
3911 instead of @cindex @code{}.
3913 * Documentation/user/ various: replace @cindex @code{} => @funindex
3915 2006-05-19 Han-Wen Nienhuys <hanwen@lilypond.org>
3917 * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3918 case positions is set manually.
3920 2006-05-18 Erik Sandberg <mandolaerik@gmail.com>
3922 * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3925 2006-05-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3927 * Documentation/user/changing-defaults.itely (Contexts explained):
3928 use absolute dimension for @image.
3930 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3931 out image for illustration too.
3932 ($(outdir)/%.png): add more png <-> eps rules.
3934 2006-05-17 Graham Percival <gpermus@gmail.com>
3936 * Documentation/user/ various: remove trailing whitespace, cosmetic
3937 change to reduce changes produced by diff.
3939 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3941 * lily/main.cc (do_chroot_jail): correctness tweak.
3943 * python/lilylib.py (system): import subprocess in system () only.
3945 * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3947 * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3948 variable. Backportme.
3950 2006-05-17 Erik Sandberg <mandolaerik@gmail.com>
3952 * lily/parser.yy: Change all syntax rules of type Music to SCM type
3954 2006-05-17 Werner Lemberg <wl@gnu.org>
3956 * lily/lexer.ll (init_signature_has_table): Add
3957 `scm-scm-music-music'.
3959 * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
3960 (Generic_prefix_music_scm): Add rule for it.
3962 * lily/quote-iterator.cc (Quote_iterator::process): Handle
3963 `quoted-transposition' property.
3965 * ly/music-functions-init.ly (transposedCueDuring): New function.
3967 * scm/define-music-properties.scm (all-music-properties): Updated.
3969 * Documenation/topdocs/NEWS.itely: Document it.
3971 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3973 * python/lilylib.py (system): move import subprocess to system()
3976 * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
3978 * VERSION (PATCH_LEVEL): release 2.9.5
3980 * Documentation/topdocs/INSTALL.texi (Top): update versions and
3983 * ly/engraver-init.ly: switch on hairpinToBarline by default.
3985 2006-05-16 Graham Percival <gpermus@gmail.com>
3987 * Documentation/user/basic-notation.itely: editing from Dave, thanks!
3989 * Documentation/user/ various: minor fixes.
3991 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3993 * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
3995 2006-05-16 Mats Bengtsson <mabe@s3.kth.se>
3997 * Documentation/user/advanced-notation.itely (Instrument names):
3998 Modified obsolete instruction on how to move instrument names away
3999 from the staves. Hmm, at second thought the bug probably has been
4000 solved, so the full bug description should probably be removed.
4002 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
4004 * lily/dynamic-engraver.cc (typeset_all): hang ending on
4005 currentCommandColumn.
4007 * lily/hairpin.cc (print): also add padding for non-neighbor
4010 * scm/define-context-properties.scm
4011 (all-user-translation-properties): add hairpinToBarline
4013 * input/regression/hairpin-to-barline.ly: new file.
4015 * lily/context.cc (internal_send_stream_event): thinko fix.
4017 * lily/tie.cc (set_default_control_points): robustness fix.
4019 * python/musicxml.py (Part.interpret): don't complain about
4020 incomplete measures.
4022 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
4023 new music if last_event_chord() returned None.
4025 * python/musicxml.py (Part.interpret): skip back over chord notes.
4027 2006-05-16 Erik Sandberg <mandolaerik@gmail.com>
4029 * lily/percent-repeat-engraver.cc, lily/parser.yy,
4030 lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
4031 lily/slash-repeat-engraver.cc,
4032 lily/include/percent-repeat-iterator.hh: Rework percent repeats:
4033 iterator sends PercentEvents
4035 * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
4036 rework tuplets: send start/stop events to engraver
4038 * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
4039 dispatchers event-source and events-below to Context
4041 2006-05-15 Graham Percival <gpermus@gmail.com>
4043 * Documentation/user/README.txt: update info for doc writers.
4045 * Documentation/user/programming-interface.itely: integrate
4046 Nicolas' fixes for chapter rewrite.
4048 * Documentation/user/ various: minor fixes.
4050 2006-05-15 Han-Wen Nienhuys <hanwen@lilypond.org>
4052 * lily/clef-engraver.cc: cleanup.
4054 * Documentation/user/GNUmakefile: dist context-example.eps too.
4056 * lily/key-engraver.cc (create_key): use
4057 explicitKeySignatureVisibility for cancellation too.
4059 * lily/font-config.cc (init_fontconfig): don't close file if
4062 2006-05-15 Erlend Aasland <erlenda@gmail.com>
4064 * Documentation/topdocs/NEWS.tely: niente and rotation news
4066 2006-05-14 Erlend Aasland <erlenda@gmail.com>
4068 * lily/include/stencil.hh
4069 * lily/stencil.cc (rotate): new function. Makes it possible
4070 to rotate a stencil around a given offset.
4072 * lily/grob.cc (get_print_stencil): add rotation support
4074 * lily/stencil-interpret.cc (interpret_stencil_expression):
4075 add rotation support
4077 * lily/stencil-scheme.cc (ly:stencil-rotate): new function
4079 * scm/define-grob-properties.scm: add 'rotation property
4081 * scm/define-markup-commands.scm: add rotate markup command
4083 * scm/output-ps.scm: add rotation support in PostScript backend
4085 * scm/output-svg.scm: add rotation support in SVG backend
4087 2006-05-13 Graham Percival <gpermus@gmail.com>
4089 * Documentation/user/music-glossary.itely: French correction.
4091 * Documentation/user/programming-interface.itely: major
4092 new docs, some reorg, some info from Nicolas.
4094 * Documentation/user/ various: small fixes.
4096 2006-05-12 Mats Bengtsson <mabe@s3.kth.se>
4098 * Documentation/user/programming-interface.itely (Markup
4099 programmer interface): Remove duplicate text.
4101 2006-05-12 Graham Percival <gpermus@gmail.com>
4103 * Documentation/user/context-example.eps: new file.
4105 * Documentation/user/changing-defaults.itely: set up file to
4108 * Documentation/user/programming-interface.itely: changes
4111 2006-05-12 Han-Wen Nienhuys <hanwen@lilypond.org>
4113 * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
4115 2006-05-11 Graham Percival <gpermus@gmail.com>
4117 * Documentation/user/programming-interface.itely: first round of
4118 editing and merging emails from Nicolas.
4120 * Documentation/user/scheme-tutorial: minor edit.
4122 2006-05-11 Han-Wen Nienhuys <hanwen@lilypond.org>
4124 * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
4126 (Xml_node.message): use it.
4128 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice):
4129 oops. Add duration argument.
4131 2006-05-10 Joe Neeman <joeneeman@gmail.com>
4133 * lily/paper-column-engraver.cc (make_columns):
4134 * scm/define-grobs.scm: Revert my previous change and set the default
4135 in define-grobs.scm instead.
4137 2006-05-09 Graham Percival <gpermus@gmail.com>
4139 * Documentation/user/changing-defaults.itely: general editing,
4140 info about \set and \override.
4142 * Documentation/user/tweaking.itely, advanced-notation.itely:
4143 fixes from Dave Luttinen, thanks!
4145 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4147 * lily/paper-column-engraver.cc (make_columns): By default, a column
4148 needs to be breakable.
4150 2006-05-09 Han-Wen Nienhuys <hanwen@lilypond.org>
4152 * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4154 (musicxml_time_to_lily): idem
4155 (musicxml_key_to_lily): idem
4156 (instrument_drumtype_dict): dict for supported drumtypes.
4157 (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4158 moments and pending mm rests
4159 (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4160 (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4161 (musicxml_voice_to_lily_voice): add mode change.
4162 (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4163 speed and less memory usage (factor 5 to 10).
4164 (convert): write -defs.ly and driver file separately so people
4165 can script their own part extraction.
4167 * python/musicxml.py (minidom_demarshal_node): new function:
4168 separate minidom handling.
4169 (lxml_demarshal_node): new function: support lxml.etree too.
4170 (Xml_node.message): new function: verbose error message, with XML
4171 path to offending node.
4172 (Attributes.get_measure_length): sane interface to MusicXML attributes.
4173 (Part_list.generate_id_instrument_dict): new method: collect
4174 instrument names, to be able to set drum_type.
4175 (Part.interpret): handle underfull measures
4176 (Part.interpret): assign instrument names.
4178 * python/musicexp.py (Output_printer.close): new method
4179 (MusicWrapper.print_ly): new class: support other modes,
4181 (BarCheck.print_ly): new class. Support bar checks, with comments
4182 and fancy barchecks.
4183 (NoteEvent.__init__): also set drum_type for drum notes.
4184 (MultiMeasureRest.lisp_expression): dump mm rests.
4186 * lily/paper-column-engraver.cc (stop_translation_timestep): set
4187 line-break-permission if forbidBreak is not set.
4189 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4191 * scm/define-context-properties.scm:
4192 * scm/define-grob-properties.scm:
4193 * scm/define-grobs.scm:
4194 * scm/define-music-display-methods.scm:
4195 * scm/define-music-properties.scm:
4196 * scm/define-music-types.scm:
4197 * scm/music-functions.scm:
4198 * ly/declarations-init.ly:
4199 * lily/include/constrained-breaking.hh:
4201 * lily/spaceable-grob.cc:
4202 * lily/simple-spacer.cc:
4203 * lily/paper-score.cc:
4204 * lily/paper-column.cc:
4205 * lily/paper-column-engraver.cc:
4207 * lily/gourlay-breaking.cc:
4208 * lily/constrained-breaking.cc:
4209 * python/convertrules.py:
4210 Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4211 "page-break-penalty" and "line-break-permission".
4212 Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4213 Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4215 * lily/bar-engraver.cc:
4216 * lily/beam-engraver.cc:
4217 * lily/forbid-break-engraver.cc:
4218 * lily/ligature-engraver.cc:
4219 * lily/paper-column-engraver.cc:
4220 * lily/percent-repeat-engraver.cc:
4221 * lily/score-engraver.cc:
4222 * lily/score-engraver.hh:
4223 * lily/paper-column-engraver.hh:
4224 Inter-engraver communication regarding line breaks is done through context
4225 properties (Score.forbidBreak) instead of function calls.
4227 2006-05-08 Han-Wen Nienhuys <hanwen@lilypond.org>
4229 * VERSION (PACKAGE_NAME): release 2.9.4
4231 2006-05-08 Graham Percival <gpermus@gmail.com>
4233 * Documentation/user/working.itely: proofreading from Dave
4236 * Doucmentation/user/README.txt: updated with manual style info.
4238 * Documentation/user/ various: trim linewidth to 78 chars.
4240 2006-05-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4242 * scm/define-grob-properties.scm (all-internal-grob-properties):
4243 remove chord-tremolo property.
4245 * lily/beam.cc (get_beam_segments): don't use stem position as
4246 base for broken ends.
4248 2006-05-06 Graham Percival <gpermus@gmail.com>
4250 * Documentation/user/putting.itely: proofreading from Dave
4253 * Documentation/user/ various: more reorg and clarifications.
4255 2006-05-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4257 * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4259 * ly/music-functions-init.ly: new function featherDurations
4261 * lily/beam.cc: read grow-direction for feathered beaming.
4263 * Documentation/topdocs/NEWS.tely (Top): typo.
4265 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4267 * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4270 2006-05-05 Erik Sandberg <mandolaerik@gmail.com>
4271 * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4272 used by music streams.
4274 * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4275 lily/stream-event.cc, lily/stream-event-scheme.cc,
4276 lily/listener.cc, lily/scheme-listener.cc,
4277 lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4278 lily/include/stream-event.hh, lily/include/listener.hh,
4279 lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4280 Created data structures for music streams.
4282 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4284 * lily/beam.cc (get_beam_segments): new function. Reorganise the
4285 construction of a beam.
4288 * flower/include/std-vector.hh (default_compare): use only one comparison.
4290 * scm/define-markup-commands.scm (note-by-number): remove debug display.
4291 (note-by-number): further attachment fixes.
4293 * scm/lily-library.scm (ordered-cons): new function.
4294 (interval-index): new function
4296 * lily/note-head-scheme.cc (LY_DEFINE): new file.
4298 * lily/note-head.cc (get_stem_attachment): new function.
4300 * scm/define-markup-commands.scm (note-by-number): read 'style
4303 * input/regression/markup-note.ly: show note-head style option.
4305 * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4308 2006-05-04 Han-Wen Nienhuys <hanwen@lilypond.org>
4310 * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4312 * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4314 * lily/include/constrained-breaking.hh: GCC 4 fix.
4316 2006-05-04 Joe Neeman <joeneeman@gmail.com>
4318 * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4319 Replace it with functions get_line_forces and get_line_configuration.
4320 (class Simple_spacer): Make data private.
4321 Rewrite compression algorithm to be faster and simpler.
4323 * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4324 * lily/gourlay-breaking.cc (solve):
4325 * lily/constrained_breaking.cc (space_line):
4326 Change it to the new simple-spacer code.
4328 * lily/paper-score.cc (get_paper_systems):
4331 Delay breaking the systems until they are requested.
4332 (find_break_indices):
4333 Use vsize for indices.
4335 Move the "Calculating line breaks" message here.
4337 * lily/system.cc (pre_processing):
4338 Move the "Calculating line breaks" message away from here.
4339 (break_into_pieces):
4340 Allow multiple calls to this function in sequence (with touching-but-
4341 not-overlapping breakpoints).
4343 * lily/constrained-breaking.cc:
4344 Replace most of the get_XXXX functions with get_line_details.
4345 Only calculate the force for each line. Calculate configurations only
4346 for the lines we will actually use.
4347 Replace cols_ with lines_.
4349 2006-05-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
4351 * mf/GNUmakefile (depth): remove FC_FIND.
4353 * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4355 * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4357 * scm/framework-ps.scm (write-preamble): new function.
4358 (write-preamble): load mac fonts via fondu, even if gs-font-load
4361 2006-05-03 Werner Lemberg <wl@gnu.org>
4363 * mf/GNUmakefile (FC_FIND): Fix typo.
4365 2006-05-03 Erlend Aasland <erlenda@gmail.com>
4367 * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4369 2006-05-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4371 * stepmake/aclocal.m4: run python-config for crosscompiling
4374 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4375 -f png for HTML, TEXINFO formats.
4377 * input/tutorial/lbook-html-test.html: new file.
4379 * lily/include/tie-formatting-problem.hh (class
4380 Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4381 [column, direction]. This fixes laissez vibrer ties.
4383 * flower/include/tuple.hh (struct Tuple2): new file.
4385 * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4386 $(FCMATCH), only if $(NCSB_DIR) not set.
4388 * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4390 * config.make.in (DOCUMENTATION): set FCMATCH.
4392 * autogen.sh (srcdir): don't set --with-ncsb-dir.
4394 2006-05-03 Graham Percival <gpermus@gmail.com>
4396 * Documentation/user/ various: final round of reorg.
4398 * Documentation/user/instrument-notation.itely: some more
4399 fixes from Eduardo, thanks!
4401 2006-05-02 Han-Wen Nienhuys <hanwen@lilypond.org>
4403 * VERSION (PACKAGE_NAME): release 2.9.3
4405 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4407 * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4409 2006-05-01 Mats Bengtsson <mabe@s3.kth.se>
4411 * scm/define-grob-properties.scm (all-user-grob-properties):
4412 Correct typo, thanks to Eduardo.
4414 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4416 * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4418 * buildscripts/lilypond-words.py (F): indent fix.
4420 * input/regression/tie-arpeggio-collision.ly: new file.
4422 * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4423 function: store outlines per column rank.
4425 * lily/include/tie-configuration.hh (class Tie_configuration): add
4426 column_ranks_ to specification and configuration, to distinguish
4427 between ties for different heads in arpegiated chords.
4429 * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4431 * *.py: more 4 space indents.
4433 * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4435 2006-05-01 Joe Neeman <joeneeman@gmail.com>
4437 * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4439 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4441 * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4443 * scripts/abc2ly.py (dump_score): indent of 4 for python code.
4445 * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4447 2006-04-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
4449 * python/convertrules.py (conv): indent 4 for python files.
4451 2006-04-29 Mats Bengtsson <mabe@s3.kth.se>
4453 * Documentation/user/changing-defaults.itely (Creating contexts):
4454 Clarify \new semantics.
4456 2006-04-28 Graham Percival <gpermus@gmail.com>
4458 * Documentation/user/ various: major new sections in the
4459 Learning manual, slight reorg elsewhere.
4461 2006-04-27 Han-Wen Nienhuys <hanwen@lilypond.org>
4463 * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE)
4465 * scm/framework-ps.scm (output-framework): remove PageMedia
4467 2006-04-27 Graham Percival <gpermus@gmail.com>
4469 * Documentation/user/ tweaks.itely, working.itely: new
4470 files, being more advanced "learning manual" chapters.
4472 * Documentation/user/ tutorial, putting, lilypond: reorg.
4474 2006-04-26 Graham Percival <gpermus@gmail.com>
4476 * input/regression/lyric-combine-polyphonic.ly: fixed test
4477 (no more "can't find context `one'" error).
4479 2006-04-25 Joe Neeman <joeneeman@gmail.com>
4481 * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4483 * input/regression/stem-tremolo.ly: add 2 more whole note examples
4485 2006-04-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
4487 * lily/relocate.cc (read_relocation_dir): new function.
4489 2006-04-26 Graham Percival <gpermus@gmail.com>
4491 * Documentation/user/instrument-notation.itely: a few more fixes
4492 from Eduardo, thanks!
4494 * Documentation/user/README.txt: new file; contains info on
4495 style that used to be in lilypond.tely.
4497 * Documentation/user/ various: first round of doc reorg.
4499 * Documentation/user/baer-flat-bw.png: remove alpha bit from
4500 graphic; this probably causes problems on some pdf
4501 viewers, notably Adobe Acrobat.
4503 2006-04-24 Graham Percival <gpermus@gmail.com>
4505 * Documentation/user/instrument-notation.itely: many alterations
4506 to Vocal music, from Eduardo Viera.
4508 2006-04-23 Graham Percival <gpermus@gmail.com>
4510 * Documentation/user/instrument-notation.itely: fix \new
4511 instead of \context problem.
4513 2006-04-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
4515 * lily/relocate.cc (expand_environment_variables): new function.
4517 (read_relocation_file): id.
4519 * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code
4521 2006-04-21 Erlend Aasland <erlenda@gmail.com>
4523 * ly/engraver-init.ly: remove old comments from TabVoice
4525 2006-04-20 Graham Percival <gpermus@gmail.com>
4527 * Documentation/user/instrument-notation.itely: added Erlend's
4528 latest doc patch, thanks!
4530 2006-04-19 Erlend Aasland <erlenda@gmail.com>
4532 * lily/include/slur.hh:
4534 * lily/phrasing-slur-engraver.cc:
4535 * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4536 acknowledge_extra_object () from Phrasing_slur_engraver:: and
4537 Slur_engraver:: and putting it in
4538 Slur::auxiliary_acknowledge_extra_object ().
4540 * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4542 * lily/note-collision.cc: fix a comment
4544 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4546 * stepmake/bin/add-html-footer.py: fix footer position in
4547 generated html files: before </body> and </html> tags.
4549 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4551 * scripts/GNUmakefile: revert last "fix", which rather broke make.
4552 Earlier successive `make' commands finally compiled ok.
4554 * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4556 2006-04-18 Erlend Aasland <erlenda@gmail.com>
4558 * lily/include/stem-tremolo.hh:
4559 * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4563 * lily/include/lookup.hh: add rotated_box ()
4565 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4567 * scripts/GNUmakefile: bugfix: run help2man only after scripts have
4568 been generated. Fixes "can't get `--help'" bug after make clean.
4570 * THANKS: alphabetize contributors.
4572 2006-04-17 Graham Percival <gpermus@gmail.com>
4574 * Documentation/user/instrument-notation.itely: added Erlend's
4575 tabs and banjo doc patch. Thanks!
4577 2006-04-17 Erlend Aasland <erlenda@gmail.com>
4579 * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4581 * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4583 * scm/output-lib.scm: add some more predefined string tunings.
4585 * Documentation/user/instrument-notation.itely: and doc them.
4587 2006-04-16 Jürgen Reuter <reuter@ipd.uka.de>
4589 * ly/engraver.ly: Remove obsolete comments.
4591 * ly/gregorian-init.ly: Define default layout block.
4593 * input/puer-fragment.ly: Updated and extended.
4595 2006-04-15 Jan Nieuwenhuizen <janneke@gnu.org>
4597 * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4598 pdf conversion behaviour.
4600 * flower/file-name.cc (dir_name)
4601 (get_working_directory): Move from relocate.cc.
4603 * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4605 * lily/relocate.cc: Encapsulate sys/stat.h in
4608 2006-04-14 Graham Percival <gpermus@gmail.com>
4610 * Documentation/user/ various: small updates from Cameron
4611 and Juergen, thanks!
4613 * Documentation/user/ various: small updates of my own.
4615 * THANKS: 2.7 -> 2.8.
4617 2006-04-11 Graham Percival <gpermus@gmail.com>
4619 * scm/define-context-properties.scm: typo.
4621 * Documentation/user/ : many more small updates.
4623 2006-04-13 Jürgen Reuter <reuter@ipd.uka.de>
4625 * scm/define-music-types.scm: disposed "docme".
4627 2006-04-11 Erlend Aasland <erlenda@gmail.com>
4629 * lily/hairpin.cc: make niente circles a bit smaller.
4631 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4633 * mf/GNUmakefile: remove redundant mftrace check. Also remove
4634 get-pfa and get-*-fonts targets.
4636 2006-04-10 Graham Percival <gpermus@gmail.com>
4638 * THANKS, Documentation/user/ basic-notation, advanced-notation,
4639 music-glossary, programming-interface: more minor fixes
4642 * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4644 * scm/define-context-properties.scm: another old \property update.
4645 This time tested for compiling!
4647 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4649 * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4651 2006-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
4653 * scm/define-context-properties.scm (all-user-translation-properties):
4654 * Documentation/user/global.itely (Page formatting): Compile fix.
4656 2006-04-09 Mats Bengtsson <mabe@s3.kth.se>
4658 * Documentation/user/advanced-notation.itely (Polymetric
4659 notation): Update the example to use the "+" symbol and add link
4660 to input/test/compound-time.ly.
4662 2006-04-08 Graham Percival <gpermus@gmail.com>
4664 * scm/define-grob-properties.scm: clarify docs for #'direction.
4666 * scm/define-context-properties.scm: update old \property override.
4668 * Documentation/user/ advanced-notation, global, lilypond-book:
4669 more minor doc updates.
4671 2006-04-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4673 * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4675 * scm/backend-library.scm (search-gs): oops.
4677 2006-04-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4679 * scripts/lilypond-book.py (output): use base, not filename for href.
4681 * scm/backend-library.scm: only look for gs.
4683 * scripts/lilypond-book.py (output): fix printfilename.
4685 * lily/parser.yy (music_function_musicless_prefix): fold together
4686 definitions of signature (SCM*) (Music|post_event|chord_body_element)
4688 * lily/slur.cc (print): only set font-size if not set yet.
4690 * lily/slur-configuration.cc (add_score): improved layout of debug
4693 2006-04-05 David Feuer <David.Feuer@gmail.com>
4695 * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4696 (draw_circle): Hopefully fixed regression.
4697 Improved documentation for several procedures.
4699 2006-03-04 Werner Lemberg <wl@gnu.org>
4701 * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4703 2006-04-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4705 * scripts/musicxml2ly.py (bindir): add dynamic
4708 2006-04-04 Graham Percival <gpermus@gmail.com>
4710 * Documentation/user/ basic-notation, advanced-notation, putting,
4711 instrument-notation, invoking, lilypond, THANKS: another ream of small
4712 fixes from the Doc Helpers.
4714 2006-04-03 David Feuer <David.Feuer@gmail.com>
4716 * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4718 * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4720 * Cleaned up interfaces between PostScript and Scheme, and moved
4721 computations from PostScript to Scheme:
4723 * music-drawing-routines.ps
4724 (*SF, stroke_and_fill): new procedures. Replaced stroke and fill
4725 with stroke_and_fill throughout.
4726 (euclidean_length, print_letter, draw_box): Deleted unused
4727 procedures. If someone needs draw_box, implement it using
4728 draw_round_box; don't duplicate code.
4729 (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4730 Refactored/cleaned up interfaces.
4733 * output-ps.scm: reordered arguments to PostScript functions to
4734 match new interfaces
4735 (glyph-string): Rewrote glyph-string.
4736 (grob-cause): Replaced string-append with format.
4737 (repeat-slash): Rewrote to do computation here.
4738 (round-filled-box): Rewrote to do computation here.
4740 2006-04-04 Erlend Aasland <erlenda@gmail.com>
4742 * stepmake/stepmake/generic-targets.make: add cvs-clean target
4744 * stepmake/stepmake/toplevel- targets.make: print help info about
4747 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4749 * input/regression/hairpin-circled.ly: new file
4751 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4753 * lily/hairpin.cc (print): add support for circled tip
4755 * scm/define-grob-properties.scm: add circled-tip parameter
4757 * scm/define-grobs.scm: init circled-tip to false
4759 2006-04-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4761 * scm/music-functions.scm (quote-substitute): set
4764 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4766 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4769 * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4771 * scm/output-ps.scm (glyph-string): revert cid selectfont.
4773 2006-03-31 David Feuer <david.feuer@gmail.com>
4775 * scm/framework-ps.scm:
4777 * scm/output-ps.scm: glyph-string now produces smaller, more
4778 readable, and probably faster PostScript. Several findfont
4779 scalefont setfont instances changed to selectfont
4780 Hacked-up string-appends changed to formats.
4782 * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4784 2006-03-30 Graham Percival <gpermus@gmail.com>
4786 * scm/lily-library.scm: make "no version" warning message more polite.
4788 * lily/music.cc: add double quotes to failed octave check.
4790 * Documentation/user/ advanced-notation, changing-defaults,
4791 instrument-notation, invoking, music-glossary: whole bunch of minor
4794 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4796 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4797 $(buildscriptdir) iso. depth.
4799 * VERSION (PACKAGE_NAME): release 2.9.1
4801 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4803 * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4805 * VERSION (PATCH_LEVEL): bump version number.
4807 * flower/include/guile-compatibility.hh (scm_from_uint32): add
4810 * lily/pango-font.cc (pango_item_string_stencil): use
4813 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4814 $(outdir)/emmentaler-%.svg): remove canary.
4816 * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4817 glyphnames if we have a ttf font.
4819 2006-03-30 Mats Bengtsson <mabe@s3.kth.se>
4821 * Documentation/user/advanced-notation.itely (Font selection):
4822 Corrected reference to the font-family-override.ly example.
4824 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4826 * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4827 stem-tremolo object in the stem (or else the stem might not be
4830 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4832 * lily/ttf.cc (print_trailer): only print existing glyphs.
4834 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4836 * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4837 position the tremolo based on the position of the notehead.
4839 * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4840 notes and update the texidoc line with the new positioning rules.
4842 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4844 * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4846 * scripts/lilypond-book.py (Module): set default for linewidth if
4849 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4851 * VERSION (PACKAGE_NAME): release 2.9.0.
4853 * input/regression/stem-tremolo-position.ly: new file.
4855 * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4857 2006-03-28 Joe Neeman <joeneeman@gmail.com>
4859 * lily/stem-tremolo.cc (print): position
4860 the tremolo depending only on the end of the stem
4861 and not on the notehead
4862 (raw_stencil): center, on the middle staff line, the
4863 flag that is closest to the end of the stem (previously
4865 (calc_width): add this callback to shorten a tremolo when
4866 it is beamed or it is stemup with a flag
4867 (style): add this callback to make a tremolo rectangular when
4868 it is beamed or it is stemup with a flag
4869 (rotated_box): this is like Lookup::beam but makes a rotated
4870 rectangle instead of a parallelogram
4872 * lily/stem.cc (calc_stem_info): make sure the stem
4873 is long enough to fit the tremolo
4874 (calc-length): reduce the length of tremolo stems since the
4875 tremolo code is now capable of better positioning
4877 * scm/define-grobs.scm: make calc_width the default beam-width
4878 callback for stem-tremolo and add the style callback
4880 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4882 * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4885 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4887 * lily/ttf.cc (make_index_to_charcode_map): restore old
4890 2006-03-28 Werner Lemberg <wl@gnu.org>
4892 * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4894 2006-03-28 Graham Percival <gpermus@gmail.com>
4896 * THANKS: update for 2.9, add section for Documentation helpers.
4898 * Documentation/topdocs/NEWS.tely: compile fix.
4900 * Documentation/user/ basic-notation, global, advanced-notation,
4901 examples.itely: minor fixes from mailist.
4903 2006-03-28 Han-Wen Nienhuys <hanwen@lilypond.org>
4905 * mf/feta-bolletjes.mf: match width of solfa notes with normal
4908 * lily/ttf.cc (print_trailer): use it.
4910 * lily/pango-font.cc (get_unicode_name): new function.
4912 * lily/ttf.cc (make_index_to_charcode_map): move function from
4914 (print_trailer): substitute uniXXXX name if applicable.
4916 * lily/pango-font.cc (get_index_to_charcode_map): new function.
4917 (pango_item_string_stencil): use it to generate uniXXXX names.
4919 * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4920 note heads, for uniform widths in shape note output.
4921 (overdone_heads): hmm. remove them again.
4923 * scripts/lilypond-book.py (output): add links to filenames.
4925 * Documentation/topdocs/INSTALL.texi (Top): update versions.
4927 * lily/note-collision.cc (get_clash_groups): only consider when
4928 Note_column::dir <> CENTER.
4930 * scripts/lilypond-book.py (get_option_parser): init output_name
4933 2006-03-24 Graham Percival <gpermus@gmail.com>
4935 * Documentation/topdocs/NEWS.tely: add @end itemize
4937 * Documentation/user/ global, advanced-notation: minor
4940 2006-03-23 Graham Percival <gpermus@gmail.com>
4942 * Documentation/user/ lilypond.tely, music-glossary,
4943 preface: housekeeping; 2005->2006, remove "notes for 2.6"
4945 2006-03-23 Han-Wen Nienhuys <hanwen@lilypond.org>
4947 * mf/GNUmakefile: don't install .enc files.
4949 * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
4951 * VERSION (PATCH_LEVEL): bump to 2.9.0
4953 2006-03-22 Graham Percival <gpermus@gmail.com>
4955 * Documentation/user/advanced-notation.itely: minor fixes
4958 2006-03-22 Han-Wen Nienhuys <hanwen@lilypond.org>
4960 * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
4962 * branch lilypond_2_8
4964 2006-03-22 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4966 * scripts/lilypond-book.py (samefile): new function, for windoze
4969 2006-03-21 Graham Percival <gpermus@gmail.com>
4971 * ly/engraver-init.ly: add info about StaffGroup.
4973 2006-03-21 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4975 * input/regression/stem-direction-context.ly: idem.
4977 * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
4981 * input/regression/page-layout-twopass.ly: comment out \markup so
4984 * lily/instrument-name-engraver.cc (finalize): add to instrument
4985 name global System. This also fixes chopped instrument names, but
4986 doesn't crash when there are slurs/beams.
4988 * lily/slur-configuration.cc (add_score): disallow negative slur
4991 2006-03-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
4993 * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
4995 * lily/instrument-name-engraver.cc (process_music): kludge: add
4996 InstrumentName spanner to axis group of left bound. Fixes chopped
4997 off instrument names in EPS images.
4999 * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
5001 * scripts/abc2ly.py (option_parser): update to 2.7.40
5003 2006-03-20 Graham Percival <gpermus@gmail.com>
5005 * THANKS: move small doc contributors to SUGGESTIONS.
5007 * Documentation/user/ basic-notation, advanced-notation,
5008 global: small changes from mailist.
5010 2006-03-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5012 * Documentation/user/advanced-notation.itely (Text marks): update
5013 for new rehearsalMarkAlignSymbol convention.
5015 * VERSION (PATCH_LEVEL): bump version.
5017 * input/test/instrument-name-align.ly: new file.
5019 * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
5021 * input/test/instrument-name-align.ly: new file. Document how to
5022 align instrument names.
5024 * lily/mark-engraver.cc: remove properties.
5026 * scm/define-context-properties.scm
5027 (all-user-translation-properties): remove align symbol properties
5028 for barnumber/reh. mark.
5030 * lily/break-align-interface.cc (self_align_callback): new
5031 interface, new function. Look at complete alignment. This handles
5032 tunable break alignments in case break-align-symbols are missing.
5034 * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
5036 * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
5038 * python/convertrules.py (conv): mark/bar number alignment rule.
5040 * lily/break-align-interface.cc (calc_positioning_done): also
5041 store offset from last visible break-alignment to its
5042 neighbor. This makes alignment on non-visible objects more reliable.
5044 * po/lilypond.pot (Module): ran po-replace.
5046 * input/regression/tie-single-manual.ly (Module): new file.
5048 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
5049 look at has_manual_position_.
5050 (from_ties): set has_manual_position_ if tie has staff-position set.
5052 * lily/tuplet-bracket.cc (calc_positions): idem.
5054 * lily/tuplet-number.cc (print): don't print tupletnumber if it
5057 2006-03-19 Nicolas Sceaux <nicolas.sceaux@free.fr>
5059 * scm/define-markup-commands.scm (smallCaps): new markup command
5060 for turning a text to small caps using smaller font size and upper
5063 2006-03-17 Graham Percival <gpermus@gmail.com>
5065 * Documentation/user/ examples, instrument-notation,
5066 advnaced-notation: minor fixes from mailist.
5068 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5070 * Documentation/user/tutorial.itely (First steps): change example
5073 2006-03-17 Graham Percival <gpermus@gmail.com>
5075 * Documentation/user/ examples, advanced: minor changes from mailist.
5077 * THANKS: add Geoff Horton, for documentation stuff.
5079 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5081 * python/lilylib.py (system): revert have_select kludge.
5083 * Documentation/user/tutorial.itely (Commenting input files):
5084 update version numbers in doc.
5086 * scm/define-grob-interfaces.scm (multi-measure-interface): add
5087 bound-padding to multi-measure-interface
5089 2006-03-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5091 * input/test/engraver-example.ily: update version number.
5093 * VERSION (PACKAGE_NAME): release 2.7.39
5095 * lily/note-spacing.cc (get_spacing): heighten threshold where
5096 accidentals/arpeggios influence previous spacing fully.
5098 * lily/rest.cc (y_offset_callback): only use direction if
5099 staff-position wasn't set before.
5101 * lily/bar-number-engraver.cc: add support for
5102 barNumberAlignSymbol.
5103 add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
5105 * lily/pointer-group-interface.cc (set_ordered): new function.
5106 (add_unordered_grob): new function.
5108 * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
5109 to ordered, unless the opposite has been proved. This fixes
5110 random reordering of large object groups across linebreaks,
5113 * lily/main.cc (do_chroot_jail): printf format fix.
5115 * lily/tie-formatting-problem.cc (generate_configuration):
5116 multiply y-shift for dot with direction.
5118 * scm/define-markup-commands.scm (note-by-number): put (magstep
5119 size) in y-attach too.
5121 * Documentation/topdocs/NEWS.tely (Top): show override.
5123 * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
5124 direction for stems.
5126 2006-03-15 Graham Percival <gpermus@gmail.com>
5128 * Documentation/user/ changing-defaults, global: minor
5131 2006-03-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5133 * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5135 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5136 breakable items after uniformly stretched notes.
5138 * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5139 outline with outer edge of note heads. This prevents infinity
5140 problems with tied whole notes.
5142 * scripts/lilypond-book.py (do_file): use os.popen
5144 * python/convertrules.py (conv): add rule for Stem #'beamed-*
5146 2006-03-14 Erik Sandberg <mandolaerik@gmail.com>
5148 * Documentation/user/invoking.itely: Add ragged-right to bug report
5151 2006-03-14 Graham Percival <gpermus@gmail.com>
5153 * Documentation/user/global.itely: small fix from mailist.
5155 2006-03-14 Mats Bengtsson <mabe@s3.kth.se>
5157 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5158 file descriptor returned by tempfile.mkstemp() when writing
5159 to tmpfile and closing it. Solves problem with unlink(tmpfile)
5162 2006-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
5164 * po/fi.po: newline bugfix.
5166 2006-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
5168 * scm/paper.scm (paper-alist): Rounding fixes.
5170 2006-03-13 Graham Percival <gpermus@gmail.com>
5172 * Documentation/user/ changing-defaults, instrument-notation,
5173 tutorial: small fixes from mailist, mostly from Mats. Thanks!
5175 2006-03-13 Heikki Junes <hjunes@cc.hut.fi>
5179 2006-03-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5181 * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5184 * python/lilylib.py (print_environment): move ps_page_count to
5187 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5189 * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5191 * scm/framework-ps.scm (embed-document): new function. Use to
5194 * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5196 2006-03-12 Mats Bengtsson <mabe@s3.kth.se>
5198 * Documentation/user/instrument-notation.itely (Setting simple
5199 songs): Added \book{...} around the full example, so the separate
5200 markups are included in the printed example.
5202 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5204 * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5207 * python/lilylib.py (system): rewrite system() using
5208 subprocess. Remove >& redirection trickery.
5210 2006-03-11 Graham Percival <gpermus@gmail.com>
5212 * Documentation/user/ changing-defaults, global, scheme-tutorial,
5213 notation-appendices.itely: minor fixes from mailist.
5215 2006-03-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5217 * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5218 unsplit man also needs images.
5220 * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5222 * VERSION (PACKAGE_NAME): 2.7.38 released.
5224 2006-03-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5226 * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5229 2006-03-08 Johannes Schindelin <Johannes.Schindelin@gmx.de>
5231 * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5232 respects the Score.skipTypesetting property.
5234 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5236 * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5237 Prolog. No %%EOF after CFF file.
5239 2006-03-08 Joe Neeman <joeneeman@gmail.com>
5241 * lily/constrained-breaking.cc (get_max_systems): used to return a
5243 (combine_demerits): use pointers to reduce copying data
5244 (calc_subproblem): idem
5245 (get_page_penalty): add page turn penalties
5247 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5249 * Documentation/user/invoking.itely (Invoking lilypond): better
5250 explanation of -e usage.
5252 * lily/main.cc (main_with_guile): don't append to
5253 init_scheme_code_string
5255 * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5257 * Documentation/user/invoking.itely: add note about MacOS X scripts.
5259 * scripts/convert-ly.py (do_options): don't print help for
5262 * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5263 @code and @example. Update from texinfo.tex from CVS.
5265 2006-03-08 Graham Percival <gpermus@gmail.com>
5267 * Documentation/user/scheme-tutorial.itely: clarifies distances
5268 measured in staff-spaces.
5270 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5272 * lily/slur.cc (outside_slur_callback): only calculate offsets if
5273 consider[k] is true.
5275 * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5277 * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5278 consider columns that have originals. Unifies spacing for mm
5279 rests around line breaks.
5281 * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5282 (set_text_rods): idem.
5283 (calculate_spacing_rods): new function: share code between
5284 set_text_rods and set_spacing_rods.
5285 (set_text_rods): take extents of bounds into account.
5287 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5289 * Documentation/user/basic-notation.itely (Writing music in
5290 parallel): don't use relative.
5292 2006-03-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
5294 * ly/music-functions-init.ly (Module): add shiftDurations
5296 * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5298 * scm/paper.scm (paper-alist): no decimals for Ax paper sizes.
5300 * ly/engraver-init.ly: init vocalName to nil.
5302 2006-03-05 Erik Sandberg <mandolaerik@gmail.com>
5304 * scm/music-functions.scm (music->make-music): bugfix,
5305 KeyChangeEvents are now handled correctly.
5307 * scripts/lilypond-book.py: Add --debug option.
5309 2006-03-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
5311 * python/lilylib.py: add tempfile.
5313 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5315 * VERSION (PACKAGE_NAME): release 2.7.37
5317 * python/lilylib.py (ps_page_count): remove make_ps_images().
5318 (ps_page_count): remove mkdir_p
5319 (system): remove cleanup_temp.
5320 (exit): remove lilypond_version_(check)
5321 (error_log): remove pseudo_filter_p
5326 * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5329 * lily/accidental-engraver.cc (make_standard_accidental): only add
5330 support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5332 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5333 $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5334 Make incompatibilities.
5336 * scm/output-ps.scm (grob-cause): replace backslashes by /
5337 (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5339 2006-03-02 Jan Nieuwenhuizen <janneke@gnu.org>
5341 * cygwin/GNUmakefile: Install fixes.
5343 * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5345 * lily/note-head.cc (head::get_balltype): Compile fix.
5347 * flower/file-name.cc (dos_to_posix): Flower string fix.
5349 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5351 * python/lilylib.py: pychecker cleanups.
5353 * scripts/lilypond-book.py
5354 (Lilypond_snippet.output_print_filename): pychecker cleanups
5356 * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5358 * python/lilylib.py (underscore): remove identify() , warranty()
5360 * ps/music-drawing-routines.ps: change Border routine for GSView
5363 * lily/stem.cc (height): use quantize-positions. This triggers
5364 set_stem_lengths, so scripts on beamed stems are handled correctly.
5366 * lily/side-position-interface.cc (aligned_side): check if edges
5367 of script are inside staff. Fixes accent of edge of the staff.
5369 * input/regression/staccato-pos.ly: more examples.
5371 * stepmake/aclocal.m4 (depth): fix bashism.
5373 * lily/lyric-combine-music-iterator.cc: move from
5374 new-lyric-combine-iterator.cc
5375 (process): add pending_grace_lyric_ member to delay lyrics on
5378 * lily/system-start-text.cc (print): suicide if we don't have any
5379 elements. Fixes hara kiri'd instrument names.
5381 * scripts/mup2ly.py (Module): remove.
5383 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5385 * Documentation/user/global.itely (A single music expression):
5386 close @lilypond properly
5388 * lily/volta-bracket.cc (modify_edge_height): change from
5389 after_line_breaking_callback. Suicide last bracket if appropriate.
5391 * python/lilylib.py: strip getopt support
5393 * scripts/etf2ly.py (do_options): use optparse
5395 * scripts/midi2ly.py: optparse, strip lilylib copy.
5397 * scripts/abc2ly.py (voices): use optparse.
5399 * stepmake/stepmake/generic-vars.make: new function absdir.
5401 * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5403 * scripts/lilypond-book.py (find_file): use global_options for
5406 * scm/ps-to-png.scm (ps-page-count): prevent null characters
5409 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5411 * python/lilylib.py (get_global_option): ughness for extracting
5412 global options from lilylib.
5413 (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5415 * scripts/lilypond-book.py (get_option_parser): use optparse for
5416 option handling. Put options in global_options variable.
5418 2006-02-28 Heikki Junes <hjunes@cc.hut.fi>
5420 * Documentation/index.html.in: clarify.
5422 2006-02-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
5424 * scm/layout-page-layout.scm (write-page-breaks): add a
5425 music-system-heights property to the page layout output.
5427 * scm/page.scm (make-page-stencil): take footer into account when
5428 computing the 'space-left page property
5429 (annotate-space-left): take footer into account when annonating
5432 2006-02-28 Graham Percival <gpermus@gmail.com>
5434 * Documentation/user/ advanced-notation, global: more (final)
5435 docs for music expressions, removed special fermatas.
5437 2006-02-27 Graham Percival <gpermus@gmail.com>
5439 * Documentation/user/ basic-notation, global: minor changes
5442 2006-02-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
5444 * scm/framework-ps.scm:
5445 * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5446 layer for inf? and nan? from framework-ps to lily-library.
5448 2006-02-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
5450 * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5451 $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5453 * buildscripts/substitute-encoding.py (Module): remove file.
5455 * mf/GNUmakefile: more PFA strippage.
5457 * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5459 * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5462 * scm/framework-ps.scm: remove font name munging.
5464 * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5466 2006-02-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
5468 * scm/markup.scm (define-markup-command): change
5469 def-markup-command to define-markup-command
5471 * scm/music-functions.scm (define-music-function): change
5472 def-music-function to define-music-function.
5474 * python/convertrules.py (conv): rules for def-music-function
5475 and def-markup-commands
5477 * Documentation/user/programming-interface.itely,
5478 input/no-notation/display-lily-tests.ly,
5479 input/regression/lily-in-scheme.ly,
5480 input/regression/markup-user.ly,
5481 input/regression/music-function.ly, input/regression/tie-chord.ly,
5482 scm/fret-diagrams.scm, ly/music-functions-init.ly,
5483 ly/gregorian-init.ly: use new macro names (define-music-function,
5484 define-markup-command).
5486 2006-02-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
5488 * scripts/lilypond-book.py (main): write Makefile dependencies file.
5489 (output): add comments to lp-book latex output.
5491 * GNUmakefile.in (footifymail): use gmane address for webpage bug
5494 2006-02-23 Graham Percival <gpermus@gmail.com>
5496 * Documentation/user/ tutorial, global: minor changes.
5498 2006-02-23 Nicolas Sceaux <nicolas.sceaux@free.fr>
5500 * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5501 blocks (for make 3.80)
5503 * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5504 \notemode so that user should not have to explicitely type it.
5506 * scm/define-music-display-methods.scm: various
5507 fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5510 * input/no-notation/display-lily-tests.ly: new tests for
5511 \applyOutput and \applyContext
5513 2006-02-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
5515 * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5516 changed it slightly so that the number of systems returned by
5517 solve () will be the same as the last value passed to resize
5518 (). I've also added more documentation, removed casts, fixed style
5519 problems and put in some recovery if constraints aren't satisfied."
5521 2006-02-23 Jan Nieuwenhuizen <janneke@gnu.org>
5523 * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5524 for emacs < 22 compatibility.
5525 (count-rexp): Use it.
5526 (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5527 substring juggling (Milan Zamazal).
5529 2006-02-23 Graham Percival <gpermus@gmail.com>
5531 * Documentation/user/ basic-notation, advanced-notation,
5532 global.itely, invoking.itely, tutorial,itely:
5533 minor fixes from mailist.
5535 * scm/define-markup-commands.scm: improve docs of \filled-box.
5537 2006-02-23 Heikki Junes <hjunes@cc.hut.fi>
5539 * Documentation/index.html.in: changes concern the previous release.
5541 * input/regression/+.ly: cultivate typographical terminology.
5543 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5545 * scm/define-grob-interfaces.scm (parentheses-interface): add
5546 padding to parentheses-interface.
5548 * Documentation/user/GNUmakefile: remove $(CROSS) support from
5549 Documentation/user/GNUmakefile. Use --disable-documentation for that.
5551 * VERSION (PATCH_LEVEL): release 2.7.36
5553 * lily/slur.cc: add avoid-slur (ugh.)
5555 * lily/slur-configuration.cc (fit_factor): oops, skip point if
5556 intersection gets smaller. This fixes slurs over extreme points.
5558 * lily/melody-engraver.cc (stop_translation_timestep): ignore
5559 stems with neutral-direction set.
5561 * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5563 * lily/open-type-font.cc (load_table): format error.
5565 * lily/change-iterator.cc (process): format fix.
5567 * flower/include/international.hh (_f): idem.
5569 * flower/include/std-string.hh: add format printf attribute.
5571 * scm/define-grobs.scm (all-grob-descriptions): height of all
5572 PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5574 * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5577 * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5579 2006-02-22 Erik Sandberg <mandolaerik@gmail.com>
5581 * input/regression/: upgraded syntax for some files.
5583 * THANKS: Add bughunters.
5585 2006-02-22 Graham Percival <gpermus@gmail.com>
5587 * Documentation/user/ invoking.itely, advanced-notation.itely,
5588 global.itely: long-awaited "let's make chapter 10 not suck"
5589 update. Rearrange chapter 10; now called "global issues",
5590 addresses file structure, etc. Some info from other files
5591 moved into global.itely.
5593 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5595 * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5596 catch trill-span-event notes.
5598 * Documentation/user/examples.itely (Ancient notation templates): typo.
5601 * scripts/lilypond-book.py (main): scrap invokes_lilypond().
5603 * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5605 * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5607 * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5609 * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5610 froum Laissez_vibrer_engraver.
5612 * ly/declarations-init.ly (repeatTie): add \repeatTie
5614 * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5616 * scm/define-grob-properties.scm (all-user-grob-properties): add
5617 head-direction property.
5619 * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5620 from_lv_ties. Take head direction argument.
5622 * lily/semi-tie-column.cc: rename from
5623 laissez-vibrer-tie-column.cc. Rename class too.
5625 * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5628 * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5630 * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5632 (find_breaks): idem.
5634 2006-02-21 Graham Percival <gpermus@gmail.com>
5636 * Documentation/user/advanced-notation.itely: fixed make-moment]
5639 * Documentation/user/basic-notation.itely: more clarification to
5642 2006-02-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
5644 * lily/include/constrained-breaking.hh (class
5645 Constrained_breaking): new file.
5647 * lily/constrained-breaking.cc (resize): new file.
5649 * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5651 * Documentation/user/advanced-notation.itely (Clusters): insert
5654 * lily/tie-column.cc (calc_positioning_done): support for
5657 * lily/tie-formatting-problem.cc
5658 (generate_extremal_tie_variations): factor out.
5659 (score_ties_configuration): annotate all tie
5660 (print_ties_configuration): new routine.
5661 (generate_configuration): nudge extremal ties outside of the head
5663 (score_ties_configuration): oops. convert to staff-space before
5664 determining position symmetry.
5666 2006-02-20 Graham Percival <gpermus@gmail.com>
5668 * Documentation/user/*-notation.itely: misc minor editing,
5669 shifting doc sections around.
5671 * Documentation/user/*-notation-itely, global.itely,
5672 changing-defaults.itely: added new stuff from NEWS.
5674 2006-02-20 Heikki Junes <hjunes@cc.hut.fi>
5678 2006-02-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5680 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5681 lilypond --verbose for lp-book.
5683 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5684 $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5686 * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5687 $(buildscript-dir) iso. absolute depth.
5689 * buildscripts/genicon.py (dir): thinko.
5691 * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5693 2006-02-19 Erik Sandberg <mandolaerik@gmail.com>
5695 * scm/output-lib.scm: swap darkcyan/darkyellow
5697 * THANKS: Add bughunters.
5699 2006-02-19 Graham Percival <gpermus@gmail.com>
5701 * Documentation/user/programming-interfaces.itely: fixed example.
5703 * Documentation/user/instrument-notation.itely: fix @{ @}.
5705 * scm/script.scm: add avoid-slur for \open.
5707 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5709 * lily/tie-formatting-problem.cc (score_configuration): use
5710 sliding score for min-length.
5712 * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5713 spaghetti for icons.
5715 * buildscripts/genicon.py (program_name): new file.
5717 * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5719 (generate_configuration): for small ties, also look for collisions
5720 at Y + DIR*h + DELTA_Y.
5721 (get_variations): consider variation for dot positions too.
5723 * lily/side-position-interface.cc (aligned_side): take abs for
5724 quantized rounded position. Fixes tenuto below staff.
5726 * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5727 markers when necessary.
5729 * lily/program-option.cc (internal_set_option): add
5730 strict_infinity_checking option.
5732 * scm/output-lib.scm (cyan): swap yellow and cyan.
5734 2006-02-19 Graham Percival <gpermus@gmail.com>
5736 * darwin.patch: trivial linenumber update.
5738 * Documentation/user/ {various}: `\context foo = named' changed
5739 to `\new foo = "name"' in docs.
5741 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5743 * scm/stencil.scm (annotate-y-interval): use it.
5745 * scm/lily-library.scm (interval-sane?): new function.
5747 * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5750 * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5753 * flower/include/std-vector.hh (iterof): add iterof macro.
5755 * lily/enclosing-bracket.cc (width): new function.
5757 * lily/align-interface.cc (align_elements_to_extents): reinstate
5760 2006-02-18 Heikki Junes <hjunes@cc.hut.fi>
5762 * Documentation/index.html.in: fix spelling: thankyous.
5764 2006-02-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
5766 * lily/lyric-hyphen.cc: typo.
5768 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5770 * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5771 $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5774 * VERSION: release 2.7.35
5776 * lily/beam.cc (get_default_dir): oops. Take abs () for
5778 (get_default_dir): use extreme position criterion only in absence
5779 of forced stem directions.
5781 * VERSION (PATCH_LEVEL): bump VERSION.
5783 * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5784 dependencies. Necessary for -jX builds.
5786 2006-02-17 Jan Nieuwenhuizen <janneke@gnu.org>
5788 * lily/relocate.cc (setup_paths): Yet another const fix.
5790 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5792 * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5794 * lily/relocate.cc (setup_paths): oops.
5796 2006-02-17 Heikki Junes <hjunes@cc.hut.fi>
5798 * Documentation/index.html.in: order links: html before PDF.
5800 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5802 * lily/tie-column-format.cc (Module): remove.
5804 * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5806 * lily/text-spanner.cc (print): idem.
5808 * lily/dynamic-text-spanner.cc (print): only print line if longer
5811 * lily/auto-change-iterator.cc (change_to): formatting.
5813 * lily/beam.cc (get_default_dir): take extreme note head as input
5816 * lily/tie.cc (get_default_dir): only look directions for visible
5819 * lily/side-position-interface.cc (aligned_side): oops. Don't
5820 mutiply with direction. This fixes quantized (staccato, tenuto)
5821 scripts below notes.
5823 * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5824 direction. Fixes c-lyrics-center-align.ly
5826 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5828 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5831 * lily/std-string.cc:
5832 * lily/include/std-vector.hh (split_string): Move and rename from
5833 lily/include/misc.hh, lily/misc.cc. Update callers.
5835 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5837 * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5839 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5841 * flower/test-file.cc: New file.
5843 * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5846 * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5848 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5850 * flower/include/file-storage.hh: remove file.
5852 * lily/include/midi-item.hh (class Midi_track): idem.
5854 * lily/include/source.hh (class Sources): idem.
5856 * lily/include/performance.hh (class Performance): use vector
5859 * flower/include/cons.hh (class Cons): remove file.
5861 * flower/include/flower-proto.hh: remove template cruft.
5863 * lily/include/font-metric.hh: use size_t not vsize for indices.
5865 * flower/include/flower-proto.hh (Module): remove std-vector.hh
5868 * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5870 * lily/include/paper-book.hh (class Paper_book):
5871 make get_system_specs() public.
5873 * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5874 the force=10000 case if we don't have a current-best.
5876 * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5879 * flower/include/flower-proto.hh: remove outdated templates.
5881 * scm/page.scm: use annotate-spacing
5883 2006-02-15 Graham Percival <gpermus@gmail.com>
5885 * scm/translation-functions.scm: circle patch from Erlend, thanks!
5887 * THANKS: moved Erlend Aasland to contributors.
5889 2006-02-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5891 * config.hh.in: remove HAVE_PANGO_16
5893 * lily/tuplet-bracket.cc (calc_positions): multiply with
5894 staff-space for beam case. This fixes tuplets+beams on scaled
5897 * config.hh.in: remove all Kpathsea related defines.
5899 * lily/dot-column.cc (side_position): reach stem via dots->
5900 head->stem. Inspect all stems for dot collisions.
5902 * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5905 * lily/bar-number-engraver.cc (process_music): document function
5908 * lily/score.cc (default_rendering): add pscore, not systems
5911 * lily/paper-book.cc (get_system_specs): separate generation of
5914 * flower/include/std-vector.hh: don't include config.hh
5916 2006-02-15 Jan Nieuwenhuizen <janneke@gnu.org>
5918 * flower/include/std-vector.hh: Better wrapper compatibility with
5921 * flower/include/flower-proto.hh: Remove cheap forward declaration
5924 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5926 2006-02-14 Graham Percival <gpermus@gmail.com>
5928 * Documentation/user/invoking.itely: add warning about command line.
5930 2006-02-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
5932 * lily/include/lily-proto.hh: add Prob, rm Page.
5934 * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5936 * VERSION: release 2.7.34
5938 * lily/relocate.cc (framework_relocation): show canary if
5939 GHOSTSCRIPT_VERSION undefined.
5941 * GNUmakefile.in: remove $(VERSION) symlink.
5943 * lily/relocate.cc (setup_paths): add +
5945 2006-02-13 Heikki Junes <hjunes@cc.hut.fi>
5947 * Documentation/index.html.in: specify sizes for all big HTML pages.
5949 2006-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5951 * config.hh.in: remove @FRAMEWORKDIR@
5953 * lily/system-start-text.cc (get_stencil): new file: separate out
5954 system-start-delimiter text support.
5956 * input/**ly: replace \context with \new where appropriate.
5960 * lily/slur-scoring.cc (get_base_attachments): use
5961 robust_relative_extent. This fixes problems with empty paper-columns.
5963 2006-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5965 * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
5967 * scm/define-music-properties.scm (all-music-properties):
5968 create-new property.
5970 * lily/context-specced-music-iterator.cc (construct_children):
5971 inspect 'create-new property iso. magical $uniqueContextId context
5974 * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
5976 * lily/context-key-manager.cc (Module): new file. Encapsulate
5977 object key generation.
5979 * lily/include/context-key-manager.hh (Module): new file.
5981 2006-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5983 * scm/define-grobs.scm (all-grob-descriptions): center instrument
5986 * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
5988 (reloc_b): excise --enable-framework-dir
5990 * lily/relocate.cc (framework_relocation): use getenv
5991 LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
5993 2006-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
5995 * flower/include/std-string.hh:
5996 * flower/include/std-vector.hh: Finish std:: conversion; move
5997 flower extensions from std:: namespace. Update users.
5999 * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
6000 their expansion to vector<*>. Update users.
6002 2006-02-10 Graham Percival <gpermus@gmail.com>
6004 * Documentation/user/invoking.itely: add example to File structure.
6006 * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
6007 examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
6009 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6011 * ly/paper-defaults.ly: typo.
6013 * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
6014 set_parent() for parentheses. This will make it show up in bbox
6017 * scm/output-lib.scm (parentheses-item::print): rewrite, using
6018 ly:grob-common* functions.
6020 * lily/grob-scheme.cc (LY_DEFINE):
6021 ly:grob-common-refpoint-of-array: new function
6022 ly:grob-common-refpoint: new function
6023 ly:grob-relative-coordinate: new function
6025 * lily/instrument-name-engraver.cc (process_music): use
6026 Text_interface::is_markup(). This fixes \markup on instrument names.
6028 * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
6031 * lily/slur.cc (print): idem.
6033 * lily/tie.cc: add line-thickness for ties.
6035 2006-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
6037 * scm/output-svg.scm: Document diversion from GNU coding standards
6038 as a workaround for a bug in Microsoft Internet Explorer.
6040 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6042 * lily/instrument-name-engraver.cc (process_music): use
6043 is_markup() iso. is_string()
6045 * Documentation/user/changing-defaults.itely (Module): add menu entry.
6047 * lily/percent-repeat-engraver.cc (process_music): only look at
6048 main_part_ for % repeats.
6050 * lily/stem-tremolo.cc (get_beam_translation): new function.
6051 (calc_slope): new function.
6052 (height): don't use real slope.
6054 2006-02-10 Jürgen Reuter <reuter@ipd.uka.de>
6056 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
6057 new connect-to-neighbor, control-points and staff-padding
6058 properties to make ligature brackets showing up again.
6060 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6062 * VERSION: release 2.7.33
6064 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
6067 * Documentation/user/changing-defaults.itely (Difficult tweaks):
6068 remove applyOutput example.
6069 (Objects connected to the input): document \tweak, \parenthesize
6071 * lily/relocate.cc (prefix_relocation): allow "current"
6072 iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
6073 changing VERSION in a lily tree less painful.
6075 * input/regression/parenthesize.ly: new file.
6077 * scm/output-lib.scm (parenthesize-element): new function.
6079 * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
6081 * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
6083 * lily/accidental-engraver.cc (make_standard_accidental): reroute
6084 cause: accidentals are caused by note heads, not note events.
6086 2006-02-08 Graham Percival <gpermus@gmail.com>
6088 * darwin.patch: small patch from Erlend, thanks!
6090 * Documentation/user/basic-notation.itely: add stem-neutral example.
6092 * Documentation/user/putting.itely: clarifications.
6094 2006-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
6096 * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
6097 note, add more guidelines to what should go into NEWS.
6099 * input/sakura-sakura.ly: document how to override font.
6101 * input/regression/font-family-override.ly: doc -dshow-available-fonts
6103 2006-02-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6105 * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
6107 2006-02-08 Jan Nieuwenhuizen <janneke@gnu.org>
6109 * scripts/convert-ly.py (lilypond_version_re_str): Move from
6110 convertrules. Add explicit grouping, needed for python2.2.
6112 2006-02-07 Jan Nieuwenhuizen <janneke@gnu.org>
6114 * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
6116 2006-02-07 Graham Percival <gpermus@gmail.com>
6118 * Documentation/user/global.itely: fix line-width in (text) docs.
6120 * Documentation/user/lilypond-book.itely: same.
6122 2006-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6124 * VERSION (PACKAGE_NAME): release 2.7.32
6126 * Documentation/topdocs/NEWS.tely (Top): document new variable
6129 * flower/include/array.icc (Message): remove file.
6131 * flower/include/std-vector.hh: make sure vsize and VPOS are
6132 defined for binary_search_bounds().
6134 * flower/std-string.cc (std): add to_string(long unsigned).
6136 * configure.in (gui_b): excise std_string option.
6137 (gui_b): excise std_vector option.
6139 * flower/string.cc (Module): excise flower array & string
6141 * flower/include/std-string.hh: excise flower string.
6143 * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6145 * python/convertrules.py (lilypond_version_re_str): require
6146 only numbers and dots in \version string.
6148 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6150 * lily/system-start-delimiter.cc (print): allow style = text too.
6152 * lily/system-start-delimiter-engraver.cc
6153 (acknowledge_system_start_text): new function, also add add to
6154 support of system-start-text (instrument names). This fixes
6155 instrument names on piano staves.
6157 * lily/instrument-name-engraver.cc: rewrite. Use
6158 system-start-delimiter approach. This save memory and cpu.
6160 * scm/define-grobs.scm (all-grob-descriptions): remove
6161 instrument-name from break-alignment.
6163 * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6165 2006-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
6167 * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6170 * configure.in (std_vector): On by default.
6172 * lily/include/font-metric.hh:
6173 * lily/include/tfm-reader.hh:
6174 * lily/include/spanner.hh: Use unsigned for indices and sizes.
6177 * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6179 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6181 * VERSION (PACKAGE_NAME): 2.7.31
6183 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6184 EPS edge at 0, but take minimum with left-overshoot. This fixes
6185 cut off system start delims.
6187 * lily/instrument-name-engraver.cc (stop_translation_timestep):
6188 hack: add to axis group if not added yet. This fixes hara kiri'd
6191 * lily/hara-kiri-group-spanner.cc
6192 (force_hara_kiri_in_y_parent_callback): fix signatures.
6194 * lily/hairpin.cc (print): check next hairpin to see whether or
6195 not to be continuing.
6197 2006-02-04 Jan Nieuwenhuizen <janneke@gnu.org>
6199 * Remove trailing whitespace from makefiles.
6201 * flower/include/std-vector.hh: Add binary_search_bounds workaround
6204 * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft.
6206 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6208 * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6210 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6212 * configure.in: Use it.
6214 2006-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6216 * scm/music-functions.scm (pitch-of-note): new function.
6218 * ly/music-functions-init.ly: add \octave and \addquote
6220 * lily/parser.yy (music_function_chord_body): softcode \octave.
6221 (lilypond_header): softcode \addquote
6223 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6225 * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6226 array.hh, parray.hh at all. Getting ready to flip the
6229 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6231 * lily/source-file.cc (file::get_line): Help binary_search_bounds
6234 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6236 2006-02-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
6238 * flower/include/array.hh: typo.
6240 2006-02-02 Graham Percival <gpermus@gmail.com>
6242 * Documentation/user/advanced-notation.itely: doc "\#" in text.
6244 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6246 * flower/include/pqueue.hh: Derive from std::vector.
6248 * flower/include/parray.hh: Conform to std::vector interface.
6251 2006-02-02 Graham Percival <gpermus@gmail.com>
6253 * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6255 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6257 * flower/file-path.cc (is_file): remove if 0 section.
6259 * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6260 selecting afii61352.
6262 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6264 * flower/include/std-vector.hh (boundary): Oops, reverse.
6266 * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6267 remove superfluous `d'.
6269 * flower/include/std-vector.hh (boundary, top): Detach from class.
6270 Remove empty vector shell.
6272 * flower/include/array.hh (reverse, swap): Detach from class.
6275 * flower/include/std-vector.hh
6276 * flower/include/array.hh (concat): Globally change to insert ().
6278 * flower/include/std-vector.hh
6279 * flower/include/parray.hh
6280 * flower/include/array.hh (elem, elem_ref): Globally replace by
6283 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6285 * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6287 * python/convertrules.py (FatalConversionError.sub_cxx_id):
6288 anticipate on identifier substitutions.
6290 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6292 * flower/include/std-vector.hh (insert): Remove, replace by
6293 std::vector interface. Update callers.
6295 * flower/include/array.icc (insert): Change signature to
6296 match std::vector interface.
6298 * flower/include/array.icc (vector_sort): Bugfix.
6300 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6302 * lily/parser.yy (output_def_head_with_mode_switch): new
6303 production. Result: dashes and underscores may be used in the
6306 * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode.
6308 * python/convertrules.py (conv): oops. One slash too much.
6310 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6312 * flower/include/std-vector.hh (sort): Remove, replace by
6313 ::vector_sort. Update callers.
6315 * flower/include/std-vector.hh (slice): Remove. Update callers.
6318 * flower/test-std.cc (vector_sort): New test.
6320 2006-02-01 Graham Percival <gpermus@gmail.com>
6322 * Documentation/user/putting.itely: fixes from Erik.
6324 2006-02-01 Jan Nieuwenhuizen <janneke@gnu.org>
6326 * flower/test-std.cc: Add simple unit test for vector migration.
6328 * stepmake/stepmake/test*: Unit test support.
6330 * flower/include/std-vector.hh (del): Remove. Use erase (),
6333 * flower/include/array.hh (begin, end): Add.
6336 2006-02-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6338 * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6339 std::string not String.
6341 * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6344 * lily/prob.cc (Prob): copy type_ too.
6346 * lily/lily-guile.cc (mangle_cxx_identifier): new
6347 function. Class_bla::foo_bar_[px] ->
6348 ly:class-bla::foo-bar[?!]. Changes throughout
6350 2006-01-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6352 * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6354 * lily/beam.cc (calc_direction): take dir from visible stem in
6357 2006-01-31 Jan Nieuwenhuizen <janneke@gnu.org>
6359 * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6360 Fix -1, >=0 boundary checks for unsigned vsize.
6362 * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6363 loop for unsigned vsize.
6365 * configure.in (--enable-std-vector): New option.
6366 (--enable-std-string): On by default.
6368 * flower/include/std-vector.hh: New file. Enable switch to
6369 std::vector, update client code.
6371 2006-01-30 Graham Percival <gpermus@gmail.com>
6373 * scm/document-translation.scm: clarify "this context is also
6374 known as". Thanks, Werner!
6376 * Documentation/user/putting.itely: small fixes from Don Blaheta.
6378 * Documentation/user/invoking.itely: small fix from Don.
6380 2006-01-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6382 * scm/lily.scm (define-scheme-options): rename option
6383 preview-include-book-title to book-title-preview
6384 (define-scheme-options): move force-eps-font-include (from paper
6385 block) to eps-font-include -d option.
6387 * VERSION (PATCH_LEVEL): release 2.7.30
6389 * input/bach-schenker.ly (staffPiano): new file.
6391 * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6393 * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6396 * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6398 * ps/lilyponddefs.ps: remove start-system, stop-system,
6399 start-page fluff. This saves putting { } code on the stack, fixing
6400 stack overflows when including EPS files.
6402 2006-01-29 Graham Percival <gpermus@gmail.com>
6404 * Documentation/user/putting.itely: minor fixes (comments on -devel).
6406 2006-01-29 Nicolas Sceaux <nicolas.sceaux@free.fr>
6408 * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6410 2006-01-28 Graham Percival <gpermus@gmail.com>
6412 * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6414 2006-01-28 Jan Nieuwenhuizen <janneke@gnu.org>
6416 * input/mutopia/claop.py: Update.
6418 2006-01-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6420 * input/regression/completion-heads.ly (texidoc): fix.
6422 * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6424 * lily/tie-formatting-problem.cc
6425 (set_ties_config_standard_directions): use abs iso fabs for ints.
6427 * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6429 * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6430 little less than noteheight, to prevent overlaps in chords.
6432 * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6433 head, and fudge stem-attachment.
6435 * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6437 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6439 2006-01-27 Jan Nieuwenhuizen <janneke@gnu.org>
6441 * lily/main.cc (main): Debugging aid: catch exceptions.
6443 * flower/std-string.cc (to_string): Robustification. Fixes midi
6444 output with std::string.
6446 2006-01-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6448 * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6450 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6452 * Fix -DSTRING_UTILS_INLINED.
6454 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6456 * VERSION (PATCH_LEVEL): release 2.7.29
6458 * lily/relocate.cc (setup_paths): mingw uses std string too.
6460 * lily/*.cc: various fixes for substr(ARG).
6462 * lily/sustain-pedal.cc (print):
6464 * flower/file-name.cc (slashify): use std strings.
6466 * flower/string-convert.cc: remove publib.h
6468 * scm/define-markup-commands.scm (verbatim-file): new markup
6469 command \verbatim-file
6471 * Documentation/topdocs/NEWS.tely: fixup URLs
6473 * input/regression/alignment-vertical-manual-setting.ly (Module):
6476 * lily/align-interface.cc (align_elements_to_extents): overwrite
6477 translations with numbers in alignment-offsets from left bound
6479 * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6480 (page-translate-systems): new function: take into account Y-offset.
6482 * Documentation/topdocs/NEWS.tely (Top): document new features.
6484 * input/regression/page-layout-manual-position.ly (Module): new
6487 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6489 * flower/file-path.cc (path::parse_path): Oops.
6491 * Finish std::string interface. For now, use std:: marker
6492 throughout for easy s/r.
6494 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6496 * Documentation/user/putting.itely (Score is a single musical
6498 (Score is a single musical expression): more typos.
6500 * scm/page.scm (annotate-space-left): thinko.
6501 (annotate-page): more thinkos.
6503 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6505 * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6506 for different \score blocks separately.
6507 (post-process-pages): put write-page-layout into paper block.
6509 * lily/output-def.cc (get_parser): new file.
6511 * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6514 * lily/include/output-def.hh (class Output_def): add parser_ member.
6516 * input/regression/page-layout-twopass.ly (Module): new file.
6518 * scm/lily.scm: remove cpp hack.
6520 * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6522 2006-01-25 Jan Nieuwenhuizen <janneke@gnu.org>
6524 * GNUmakefile.in (c-clean): New target.
6526 * flower/include/std-string.hh: String/std::string compatibility:
6527 Use NPOS for `not found' (iso -1), use ssize for length () and pos
6530 * flower/rational.cc:
6531 * flower/include/rational.hh:
6534 * flower/include/offset.hh:
6536 * flower/interval.cc:
6537 * flower/include/interval.hh:
6539 * flower/string-convert.cc:
6540 * flower/include/string-convert.hh: Use std::string [interface].
6543 2006-01-25 Heikki Junes <hjunes@cc.hut.fi>
6545 * Documentation/index.html.in: clean up.
6547 2006-01-25 Graham Percival <gpermus@gmail.com>
6549 * Documentation/user/putting.itely: another new untested doc section.
6551 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6553 * scm/layout-page-layout.scm (write-page-breaks): write
6554 \spacingTweaks #ALIST. Handle grace timing.
6556 * scm/: more imports.
6558 * scm/page.scm (make-page): add footer/header.
6559 (annotate-space-left): revise: only take page argument.
6560 (layout->page-init): new function.
6562 * scm/layout-page-layout.scm (write-page-breaks): preliminary
6563 version of the system/spacing/linebreak hack writing to the output
6565 * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6568 * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6571 2006-01-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
6573 * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6575 * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6577 * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6578 handling to page.scm
6580 * lily/prob-scheme.cc (LY_DEFINE): new file.
6581 (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6583 * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6586 * lily/music.cc (derived_mark): derive Music from Prob.
6588 * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6590 * lily/prob.cc (Module): Implement Prob (Property Object), object
6591 with shared and r/w property alists.
6593 * lily/include/prob.hh (Module): new file. Declare Prob.
6595 * flower/string.cc: remove is_empty().
6597 * flower/include/string.hh (class String): remove String:: qualifier.
6599 * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6600 substitute appropriate functions.
6602 * flower/include/string.hh (class String): remove to_str0 and
6603 is_empty(). S&R everywhere.
6605 2006-01-23 Graham Percival <gpermus@gmail.com>
6607 * Documentation/user/basic-notation.itely: add hairpin
6608 after-linebreak tweak to commonprop.
6610 * Documentation/user/putting.itely: added two new sections.
6612 2006-01-23 Jan Nieuwenhuizen <janneke@gnu.org>
6614 * flower/international.cc:
6615 * flower/include/international.hh:
6617 * flower/getopt-long.cc:
6618 * flower/include/getopt-long.hh: Use std::string [interface].
6621 * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6623 * stepmake/stepmake/executable-rules.make: Add dependency on
6626 2006-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
6628 * flower/file-path.cc:
6629 * flower/include/file-path.hh: Use std::string [interface].
6632 * flower/direction.cc:
6633 * flower/axis.cc: Unused. Remove.
6635 * configure.in (--enable-std-string): New option.
6637 * flower/std-string.cc:
6638 * flower/include/std-string.hh: New file.
6640 * flower/file-name.cc[STD_STRING]:
6641 * flower/include/file-name.hh[STD_STRING]: Use it. Update callers.
6643 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6645 * scm/output-svg.scm (placebox): no GNU coding standards in SVG output.
6647 * scm/define-markup-commands.scm (with-dimensions):
6648 with-dimensions markup command.
6650 * input/test/font-table.ly: use it.
6652 * lily/open-type-font.cc (glyph_list): new function.
6654 * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6656 * lily/ttf.cc: remove ly:font-glyph-list scheme function
6658 2006-01-22 Nicolas Sceaux <nicolas.sceaux@free.fr>
6660 * ly/music-functions-init.ly (parallelMusic): new music function
6661 for parallel music entry.
6663 * scm/define-music-properties.scm (all-music-properties): new
6664 'void music property
6666 * scm/music-functions.scm (ly:music-message): make public, to be
6667 used in music function definitions
6669 * scm/lily-library.scm (collect-music-for-book): discard music
6670 when the 'void property is set.
6672 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6674 * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6676 * mf/GNUmakefile: idem.
6678 * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6680 * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6682 * Documentation/user/notation-appendices.itely (The Feta font):
6685 * input/test/font-table.ly: new file. Generate font table within lily.
6687 * Documentation/user/notation-appendices.itely (The Feta font):
6688 use new font-table.ly file.
6690 * stepmake/stepmake/install-out-targets.make
6691 (local-install-outfiles): only create directory if
6692 $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6694 2006-01-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6696 * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6698 * VERSION (PACKAGE_NAME): release 2.7.28
6700 * scm/framework-ps.scm (write-preamble): use it to pick exactly
6701 the right font from a Mac dfont.
6702 (write-preamble): don't forget directory, only look at files.
6704 This fixes problems with TTF files in dfonts that don't match
6705 their PostScript names.
6707 * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6708 PS name from TTF font.
6710 * input/regression/tie-manual.ly: document new feature.
6712 * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6714 * VERSION (MY_PATCH_LEVEL): bump to .28
6716 * Documentation/user/basic-notation.itely (Ties): add tie examples
6719 * lily/tie-formatting-problem.cc (score_ties_configuration):
6720 symmetry penalties for outer ties.
6722 2006-01-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
6724 * lily/tie-formatting-problem.cc (generate_configuration)
6725 (set_manual_tie_configuration): skip non-pair manual
6726 tie-configuration, so you can set individual ties as
6728 #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6730 * input/regression/tie-chord.ly: use generateTiePattern to
6733 * lily/tie-formatting-problem.cc (peak_around): new function.
6734 (score_configuration): use sliding criterion for staff line collisions.
6735 (score_configuration): idem for dot collisions.
6736 (generate_configuration): use separate stem_gap for gap to stem.
6738 * lily/include/tie-formatting-problem.hh (struct Tie_details):
6739 separate penalty factors for x and y distance.
6740 (struct Tie_details): separate penalties for tip and center line collisions.
6742 2006-01-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6744 * lily/tie-formatting-problem.cc (generate_configuration): make
6745 large ties avoid stafflines in the horizontal section.
6746 (score_configuration): use softcoded penalties
6747 (score_aptitude): idem.
6749 * lily/tie-helper.cc (from_grob): softcode tie details
6751 * lily/staff-symbol-referencer.cc (on_staff_line): new function
6753 * lily/staff-symbol-referencer.cc (on_line): rename from
6756 2006-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
6758 * ly/music-functions-init.ly: remove duplicate tag.
6760 * lily/include/*.hh: GCC 4.1 fixes.
6762 006-01-16 Erlend Aasland <erlenda@gmail.com>
6764 * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6766 * scm/define-music-types.scm: fix bug in desc. string
6767 for OverrideProperty
6769 2006-01-15 Erik Sandberg <mandolaerik@gmail.com>
6771 * scripts/lilypond-book.py: bugfix
6773 * scm/define-music-types.scm: fix typos.
6775 2006-01-14 Graham Percival <gpermus@gmail.com>
6777 * Documentation/user/ basic-notation.itely, global.itely,
6778 advanced-notation.itely, instrument-notation.itely: small
6779 additions (bugs and commonly tweaked properties).
6781 2006-01-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
6783 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6784 detection of mingw build.
6785 (MINGW_BUILD): opps.
6787 2006-01-12 Jan Nieuwenhuizen <janneke@gnu.org>
6789 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6792 2006-01-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
6794 * scm/music-functions.scm (skip->rest): add skip->rest
6796 2006-01-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
6798 * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6801 * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6802 config dirs. Aids debugging.
6803 (display_config): also display config files.
6805 2006-01-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6807 * VERSION: release 2.7.27
6809 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6810 for determining bar size.
6812 * lily/staff-symbol.cc (print): place lines at distance line-positions
6814 * scm/define-grob-properties.scm (all-user-grob-properties): add
6817 * lily/staff-symbol.cc (height): new function.
6819 * input/regression/staff-line-positions.ly: new file.
6821 2006-01-06 Graham Percival <gpermus@gmail.com>
6823 * input/test/add-staccato.ly: remove reference to old file.
6825 2006-01-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6827 * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6828 lilypond binary too.
6830 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6832 * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6834 2006-01-06 Jan Nieuwenhuizen <janneke@gnu.org>
6836 * scripts/midi2ly.py: Bugfix: Declare datadir.
6838 * make/ly-rules.make:
6839 * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6840 that seems to be gone). Fixes make web.
6842 * The grand 2005-2006 replace.
6844 * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6846 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6848 * make/lilypond-vars.make: set LILYPOND_BINARY variable
6849 (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6850 LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6851 like -dgs-font-load.
6853 * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6854 remove absolute path to lilypond binary.
6856 2006-01-05 Pedro Kroeger <kroeger@pedrokroeger.net>
6858 * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6860 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6862 * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6864 * mf/GNUmakefile: remove broken dvips map symlink.
6866 2006-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
6869 * configure.in: Cosmetic fixes.
6871 2006-01-04 Mats Bengtsson <mabe@s3.kth.se>
6873 * Documentation/user/music-glossary.tely (Pitch names): Added
6874 Spanish pitch names and durations, thanks to Ernesto Gancedo
6876 2006-01-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6878 * scm/lily.scm (define-scheme-options): use quasi-quote for option
6879 init. Fixes verbose printing of .scm files.
6881 * stepmake/aclocal.m4: add spaces before - options.
6883 2006-01-03 Jan Nieuwenhuizen <janneke@gnu.org>
6885 * lily/relocate.cc (setup_paths): Bugfix: do not store result
6886 of path search in local block variable.
6888 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6890 * configure.in (NCSB_DIR): --enable-ncsb-dir
6891 (LINK_GXX_STATICALLY): denko.
6893 * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH.
6895 * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option.
6896 use locate to find c059033l.pfb.
6898 2006-01-02 Jan Nieuwenhuizen <janneke@gnu.org>
6900 * lily/tie-formatting-problem.cc
6901 (problem::generate_base_chord_configuration): Use my_round (was
6904 * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6905 do not invoke mbrtowc.
6907 * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6909 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6911 * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6913 2005-01-02 Heikki Junes <hjunes@cc.hut.fi>
6915 * Documentation/user/invoking.itely (svg): revise.
6917 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6919 * lily/lexer.ll: use sourcefilename iso. renameinput.
6921 2006-01-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6923 * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6924 <PostScriptName>.ttf instead of c059XXXttf.
6926 * lily/program-option.cc (LY_DEFINE): special support for
6927 --verbose, so it works before option init too.
6929 * mf/GNUmakefile (local-install): oops.
6931 * lily/lyric-hyphen.cc (print): oops.
6933 * buildscripts/pfx2ttf.fontforge: new file.
6935 * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6936 ($(outdir)/%.ttf): new rule.
6938 * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6941 * lily/lyric-hyphen.cc (print): multiply hyphen height by
6944 2005-12-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6946 * VERSION: release 2.7.26
6948 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6950 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6952 * lily/font-config.cc (init_fontconfig): verbosity.
6954 * THANKS: add Muziekacademie Lede.
6956 * scripts/musicxml2ly.py (print_voice_definitions): new function
6957 (print_score_setup): new function
6958 (convert): read part definition to output staves properly.
6960 * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
6963 * python/musicexp.py (Output_printer.__init__): use _ in data
6965 (Output_printer.unformatted_output): new function: no formatting,
6967 (Duration.get_length): remove isinstance() checks for
6968 Output_printer everywhere.
6970 * input/regression/lyrics-bar.ly (texidoc): add
6971 Separating_line_group_engraver.
6973 2005-12-29 Jan Nieuwenhuizen <janneke@gnu.org>
6975 * lily/relocate.cc (framework_relocation): New function,
6976 factored from set_relocation ().
6977 (prefix_relocation): Rename from set_relocation ().
6978 (setup_paths): Use it.
6980 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6982 * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
6983 numbers. Patch by Erlend Aasland.
6985 2005-12-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
6987 * lily/font-config.cc (init_fontconfig): print warning if cache
6988 file is not existant.
6990 * lily/main.cc: don't use #ifdef but #if
6992 2005-12-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6994 * lily/grob-property.cc (internal_set_property): don't abort on
6995 calculation-in-progress.
6997 * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
6999 * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
7000 connect-to-neighbor property not connect-to-other
7002 * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
7003 (LY_DEFINE): oops. don't forget protection.
7005 * flower/parse-afm.cc (Module): strip AFM handling completely.
7007 * lily/stencil-expression.cc: idem.
7009 * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
7011 * lily/function-documentation.cc (ly_add_function_documentation):
7012 use static member iso. Protected_scm
7014 * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
7016 * config.make.in (prefix): remove HAVE_KPATHSEA_SO
7018 2005-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
7020 * lily/relocate.cc (set_env_dir): New function.
7021 (set_relocation): Use it to fix setting PANGO_PREFIX.
7023 2005-12-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7025 * input/regression/stem-direction-context.ly: remove rest.
7027 * lily/melody-engraver.cc (process_music): restart for bar lines.
7028 (acknowledge_slur): restart for slurs.
7030 2005-12-27 Heikki Junes <hjunes@cc.hut.fi>
7032 * Documentation/user/invoking.itely: describe how to view SVG
7033 output using Inkscape which replace embedded fonts with OTF fonts.
7035 2005-12-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7037 * lily/relocate.cc (set_relocation): set PANGO_PREFIX
7039 2005-12-23 Jan Nieuwenhuizen <janneke@gnu.org>
7041 * lily/melody-engraver.cc (class Melody_engraver): Remove lying
7044 2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7046 * VERSION (PACKAGE_NAME): release 2.7.25
7048 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7050 * input/regression/stem-direction-context.ly: new file.
7052 * lily/relocate.cc (set_relocation): add PANGO_PREFIX
7054 * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
7057 * ly/engraver-init.ly: add Melody_engraver
7059 * lily/beam.cc (calc_direction): use default-direction
7060 iso. get_default_direction()
7062 * scm/define-grob-properties.scm (all-user-grob-properties): add
7063 default-direction property.
7065 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
7067 * lily/stem.cc (calc_default_direction): remove
7068 Stem::get_default_direction, use default-direction with callback
7071 * lily/melody-spanner.cc (calc_neutral_stem_direction):
7073 * lily/melody-engraver.cc: new file. Acknowledge stems for
7074 interpolated stem directions.
7076 * lily/melody-spanner.cc: new file. Interpolate stem directions.
7078 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
7080 * lily/slur-configuration.cc (fit_factor): more robust check for
7081 point in curve X-extent.
7083 * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
7084 (outside_slur_callback): check for 'outside avoidance.
7086 * lily/slur-configuration.cc (score_extra_encompass): don't use
7087 bound->column() == avoid->column() for checking extents, as this
7088 doesn't work for accidentals.
7090 * lily/slur-engraver.cc (acknowledge_extra_object): remove
7091 DynamicText hardcoding.
7093 * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
7094 crash if bound stem is NULL
7096 * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
7099 2005-12-22 Graham Percival <gpermus@gmail.com>
7101 * scm/define-markup-commands.scm: typo. @code{\raise}
7104 * darwin.patch: now used again, includes a
7105 required patch from fink.
7107 2005-12-21 Heikki Junes <hjunes@cc.hut.fi>
7109 * po/TODO: mention gtranslator along with kbabel.
7110 * po/fi.po: update translations.
7112 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7114 * lily/relocate.cc (setup_paths): Bugfix.
7116 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7118 * lily/slur-configuration.cc (score_extra_encompass): don't use
7119 "avoid" choice for avoid-slur.
7121 * stepmake/bin/install.py (dest): don't create existing dir.
7123 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7125 * stepmake/bin/install.py: Remove file before copying.
7128 * stepmake/aclocal.m4: Do not substitute INSTALL.
7130 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7132 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7133 depend on link-tree.
7135 * lily/relocate.cc (setup_paths): only check path for non-absolute
7136 dir without directory part.
7138 * flower/file-name.cc (is_absolute): new method.
7139 (is_absolute): check root_ too.
7141 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7143 * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7144 relocation code. Oops, don't comment out too much.
7146 * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7149 * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw
7152 2005-12-20 Jan Nieuwenhuizen <janneke@gnu.org>
7154 * .cvsignore: Add install-sh.
7156 * autogen.sh (srcdir): Typo.
7158 2005-12-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
7160 * autogen.sh (srcdir): urg. Touch install-sh.
7162 * stepmake/bin/install-sh (Module): remove.
7164 * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7166 * lily/include/relocate.hh: new file.
7168 * lily/relocate.cc: new file. Contain relocation logic.
7170 * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7171 (main): read LILYPOND_VERBOSE as the first thing.
7173 * stepmake/aclocal.m4: remove INSTALL variable.
7175 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7176 separate target for making font symlinks.
7177 (documentation-dir): use $(if $(findstring )) for switching off
7180 * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7181 something if DOCUMENTATION is no.
7183 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7185 * VERSION: release 2.7.24
7187 * lily/script-column-engraver.cc (stop_translation_timestep):
7188 delay adding to script-column.
7190 * lily/tuplet-bracket.cc (print): suicide if no control-points.
7192 * python/convertrules.py (conv): rule for number-visibility
7194 * lily/slur-configuration.cc (score_extra_encompass): different
7195 distance measure for avoid and inside avoidance.
7196 (score_extra_encompass): use 1/(distance+eps) as penalty.
7198 * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7199 encompass objects for generating slur curves.
7201 * lily/slur.cc: use details iso. slur-details property.
7203 * input/regression/slur-tuplet.ly: new file.
7205 * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.
7207 * flower/include/offset.hh (class Offset): new operator /=
7209 * lily/tuplet-number.cc (print): new file, new interface.
7211 * scm/define-grob-properties.scm (all-user-grob-properties):
7212 remove number-visibility property.
7214 * lily/tuplet-bracket.cc (calc_control_points): new function
7215 (calc_connect_to_neighbors): new function.
7216 (print): remove text handling for tuplet numberdef.
7218 * lily/tuplet-engraver.cc (struct Tuplet_description): create
7221 * lily/lily-guile.cc (robust_scm2booldrul): new function
7223 * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7225 * lily/tuplet-bracket.cc (calc_position_and_height): use
7226 staff-padding to control whether tuplet brackets are over staves.
7228 * lily/grob.cc (suicide): clear dim_caches_.
7230 * lily/dimension-cache.cc (clear): new function.
7232 * lily/grob.cc (extent): swap order of min-extent and extent
7233 calculations. This fixes hara kiri staves.
7235 2005-12-19 Jan Nieuwenhuizen <janneke@gnu.org>
7237 * lily/main.cc: Nitpick: relocation is not based on path, but on
7238 directory (location).
7240 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7242 * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7244 * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7246 * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7248 * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7250 * stepmake/stepmake/generic-vars.make (Module): idem.
7252 * stepmake/stepmake/executable-targets.make (default): use it.
7254 * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7256 * make/GNUmakefile: don't install make rules.
7258 * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7260 (prepend_env_path): more verbosity.
7262 2005-12-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7264 * GNUmakefile.in: add dir argument for find command.
7266 * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7267 fixes weird line numbers for point & click.
7269 * lily/source-file.cc (get_counts): init line/column/char counts.
7271 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7273 * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7275 2005-12-16 Graham Percival <gpermus@gmail.com>
7277 * Documentation/user/basic-notation.itely, advanced-notation.itely:
7278 minor fixes from Fredric. Thanks!
7280 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7282 * ly/music-functions-init.ly: add \bar and \clef music function
7284 * lily/lily-lexer.cc: idem.
7286 * lily/parser.yy (FIXME): remove BAR and CLEF.
7288 2005-12-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7290 * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7292 * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7293 function arguments too
7295 * lily/main.cc (set_relocation): new function.
7297 * scripts/musicxml2ly.py (convert): add \version
7299 * lily/tie.cc: remove get_default_attachments()
7301 * VERSION (PACKAGE_NAME): release 2.7.23
7303 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7304 ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7306 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7308 * lily/tie-formatting-problem.cc (score_ties): new function
7309 (get_variations): new function. Try flipping dirs for collisions.
7310 (generate_optimal_chord_configuration): new function. 1-opt search
7311 for better configuration.
7313 * lily/tie-configuration.cc: new file.
7315 * lily/tie.cc: junk Tie::get_configuration()
7317 * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7318 (score_ties_configuration): new function.
7319 (generate_ties_configuration): new function.
7320 (generate_base_chord_configuration): new function.
7321 (set_ties_config_standard_directions): Move body from tie-column-format.cc
7322 (set_manual_tie_configuration): Move body from tie-column-format.cc
7324 * input/regression/tie-dot.ly: new file.
7326 * lily/tie-formatting-problem.cc (score_configuration): score
7329 * lily/tie-helper.cc (get_transformed_bezier): new function
7331 * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7333 * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7334 -undefined suppress iso. -framework Python
7336 * scm/define-grobs.scm (all-grob-descriptions): set
7337 springs-and-rods (thanks Joe Neeman!)
7339 2005-12-12 Nicolas Sceaux <nicolas.sceaux@free.fr>
7341 * input/no-notation/display-lily-tests.ly (test):
7342 * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7343 changed from \tag #'(a b) to \tag #'a \tag #'b
7345 2005-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7347 * Documentation/topdocs/NEWS.tely: strip out-www.
7349 * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7351 * config.make.in (AR): add AR and RANLIB
7353 * flower/libc-extension.cc: include cassert
7355 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7358 2005-12-11 Graham Percival <gpermus@gmail.com>
7360 * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7362 * stepmake/stepmake/python-modules-vars.make: define
7363 SHARED_FLAGS for OSX. Thanks Johannes Schindelin!
7365 * THANKS: added Johannes Schindelin.
7367 2005-12-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7369 * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7371 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7372 Span_arpeggio_engraver, add Tweak_engraver to Score context.
7374 * lily/parser.yy: reorganize file layout.
7376 * ly/music-functions-init.ly: add tweak music function.
7378 * lily/grob-info.cc (ultimate_music_cause): new function:
7379 recursively lookup causes.
7381 * lily/parser.yy (chord_body_element): allow music functions for
7382 post-events, allow music functions for chord elements.
7384 * lily/font-config-scheme.cc (display_fontset): add cast.
7386 * python/convertrules.py (FatalConversionError.sub_syms): \tag
7387 #'(a b) -> \tag #'a \tag #'b rule.
7389 * python/musicexp.py (Output_printer.dump_version): new function
7391 2005-12-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7393 * lily/parser.yy (FIXME): remove \tag
7394 (FIXME): remove tag_music() function.
7396 * lily/lily-lexer.cc: remove \tag
7398 * ly/music-functions-init.ly: define music-function "tag"
7400 * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7402 2005-12-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7404 * VERSION (PATCH_LEVEL): release 2.7.22
7406 * input/regression/lyric-hyphen-retain.ly: renew.
7408 * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7411 * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7412 iso. minimum-length property for rods.
7414 * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7415 LyricSpace item to keep lyrics spaced apart.
7417 * ly/engraver-init.ly: remove Separating_line_group_engraver
7419 * Documentation/user/music-glossary.tely: do setfilename before
7422 2005-12-07 Heikki Junes <hjunes@cc.hut.fi>
7424 * Documentation/user/lilypond-book.itely: use `,´ after xref:
7425 See xref documentation, for example.
7427 2005-12-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
7429 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7430 pending_skip iso. ly_voice[-1]
7431 (main): add if __main__ for debugging.
7433 * python/musicxml.py (Accidental.__init__): new class.
7435 * scripts/musicxml2ly.py (progress): new function
7436 (musicxml_key_to_lily): don't barf on modeless keys.
7437 (create_skip_music): new function.
7438 (musicxml_spanner_to_lily_event): new function. Handle beams too.
7439 (musicxml_note_to_lily_main_event): new function.
7441 * python/musicexp.py (Music.__init__): add comment field.
7442 (NestedMusic.append): new routine.
7443 (SequentialMusic.print_ly): print comment.
7444 (ArpeggioEvent.ly_expression): new class
7445 (BeamEvent.ly_expression): new class
7446 (NoteEvent.__init__): support for cautionary/forced accs.
7448 * lily/lookup.cc (slur): normal order for array loop.
7450 * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7453 * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7456 2005-12-06 Erik Sandberg <mandolaerik@gmail.com>
7458 * scm/music-functions.scm: Make phrasing slurs follow voice direction
7460 * scripts/lilypond-book.py: Introduce option
7461 --preserve-line-breaks, for usage with srcltx
7463 2005-12-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7465 * scm/output-lib.scm (print-circled-text-callback): draw circle
7466 around text using make-circle-markup.
7468 * Documentation/user/*: strip out-www from file names.
7470 2005-12-05 Heikki Junes <hjunes@cc.hut.fi>
7472 * Documentation/user/lilypond.tely (direntry): remove empty lines;
7473 fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7475 2005-12-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
7477 * Documentation/user/GNUmakefile: idem.
7479 * Documentation/user/macros.itexi: strip out-www
7481 * python/rational.py: python 2.3 compat.
7483 * VERSION (PATCH_LEVEL): release 2.7.21
7485 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7486 option formatting, lilypond style.
7488 * python/musicexp.py: grab from Ikebana: a library for composing
7489 ly music expressions.
7490 (Output_printer): class for advanced .ly printing.
7493 * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7494 convert to pythonesque structure.
7496 * python/rational.py: PD rational number class.
7498 * Documentation/user/converters.itely (Invoking musicxml2ly): new node.
7500 2005-12-04 Erik Sandberg <mandolaerik@gmail.com>
7502 * lily/part-combine-iterator.cc: Minor bugfix
7504 * THANKS: Update bughunters
7506 2005-12-02 Werner Lemberg <wl@gnu.org>
7508 * mf/README: Document process for proper mf2pt1 conversion.
7510 * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7513 * mf/feta-harmonica.mf: Removed. Unused.
7515 2005-12-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7517 * scripts/lilypond-book.py (do_file): fix thinkos.
7519 2005-12-01 Jan Nieuwenhuizen <janneke@gnu.org>
7521 * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7522 ($(outdir)/parser.cc):
7523 ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7525 2005-11-30 Pedro Kröger <kroeger@pedrokroeger.net>
7527 * ly/titling-init.ly (tagline): it should be a space between
7528 "Music engraving by LilyPond" and the version number.
7530 2005-12-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
7532 * VERSION (PACKAGE_NAME): release 2.7.20
7534 2005-11-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7536 * scm/define-markup-commands.scm (pad-to-box): new markup command.
7538 * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7540 (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7542 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7544 * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7546 * kpath-guile/: remove directory
7548 * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7549 file. Encapsulate kpathsea using commandline tools.
7551 * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7554 2005-11-29 Mats Bengtsson <mabe@s3.kth.se>
7556 * Documentation/user/advanced-notation.itely (Setting automatic
7557 beam behavior): Correct a few typos. Thanks to David Bobroff.
7559 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7560 \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7562 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7564 * scripts/*.py: gmane address for bugs.
7566 2005-11-28 Pal Benko <benkop@freestart.hu>
7568 * make/ly-rules.make: add -f switch to mv
7570 * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7572 * lily/bar-line.cc: interpret it
7574 2005-11-28 Jan Nieuwenhuizen <janneke@gnu.org>
7576 * configure.in (--disable-documentation): New switch.
7578 * GNUmakefile.in: Use it.
7580 * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7582 2005-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7584 * scripts/lilypond-book.py (do_file): search chunks for
7587 * GNUmakefile.in: add copy step in between so we can lose the
7588 out-www directories.
7590 2005-11-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7592 * lily/pango-font.cc (pango_item_string_stencil): put
7593 geometry.width into glyph-string too.
7595 2005-11-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
7597 * scm/define-music-display-methods.scm (RevertProperty):
7598 (OverrideProperty): Use grob-property-path property, a list of
7599 symbols, instead of grob-property, which used to be a single
7601 (BassFigureEvent): a figure can be a plain number, not necessarily a
7604 2005-11-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7606 * VERSION: release 2.7.19
7608 * lily/figured-bass-engraver.cc (process_music): check
7609 figuredBassCenterContinuations first.
7611 * scm/translation-functions.scm (format-bass-figure): make double
7614 * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7617 * lily/system-start-delimiter-engraver.cc: move from
7618 Nested_system_start_delimiter_engraver, rename
7619 Nested_system_start_delimiter_engraver ->
7620 System_start_delimiter_engraver.
7622 * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7623 bracket type from hierarchy.
7625 2005-11-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
7627 * lily/rest.cc (y_offset_callback): read staff-position.
7629 * scm/define-grob-properties.scm (all-user-grob-properties): don't
7630 mark after-line-breaking-callback as internal.
7632 * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7634 2005-11-25 Werner Lemberg <wl@gnu.org>
7636 * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7638 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7640 * stepmake/bin/add-html-footer.py (do_file): add google
7642 * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7643 staff if first_start_ is true.
7645 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7647 * scripts/midi2ly.py (split_track): add __repr__ members.
7648 (track_first_item): only return Item if not None. This fixes a
7649 problem when dumping a track that starts with an empty channel.
7651 * python/midi.c: doc module.
7653 2005-11-22 Mats Bengtsson <mabe@s3.kth.se>
7655 * Documentation/user/global.itely (Creating MIDI files): Fix
7656 compilation problem.
7658 2005-11-22 Graham Percival <gpermus@gmail.com>
7660 * Documentation/user/basic-notation.itely: clarify dynamic
7663 * Documentation/user/advanced-notation.itely: add unicode
7664 escape control example, whatever that is. :)
7666 * Documentation/user/global.itely: added "removing dynamics
7669 2005-11-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7671 * VERSION (PATCH_LEVEL): release 2.7.18
7673 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7674 System_start_delimiter_engraver by
7675 Nested_system_start_delimiter_engraver.
7677 * lily/nested-system-start-delimiter-engraver.cc (struct
7678 Bracket_nesting_node): new class.
7679 (struct Bracket_nesting_group): new class
7680 (struct Bracket_nesting_staff): new class.
7681 (process_music): create hierarchy of grobs. This allows separate
7682 tuning of different SSDs.
7684 * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7685 (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7687 2005-11-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7689 * lily/side-position-interface.cc (aligned_side): multiply
7692 * lily/script-engraver.cc (make_script_from_event): allow setting
7695 2005-11-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7697 * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7699 * scm/define-grobs.scm (all-grob-descriptions): new grob
7700 NestedSystemStartDelimiter.
7702 * input/regression/system-start-heavy-bar.ly: new file.
7704 * lily/nested-system-start-delimiter-engraver.cc: new file.
7706 * lily/nested-system-start-delimiter.cc: new file.
7708 * input/regression/system-start-nesting.ly: new file.
7710 * scm/define-grobs.scm (all-grob-descriptions): use X side
7711 positioning for positioning braces for nested contexts.
7713 * lily/system-start-delimiter.cc (print): don't divide extent by
7715 (print): use style iso. glyph.
7716 (staff_bracket): translate glyph inside routine already.
7718 2005-11-18 Michael Welsh Duggan <md5i@cs.cmu.edu>
7720 * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7723 2005-11-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
7725 * scm/define-context-properties.scm
7726 (all-user-translation-properties): rename figuredBassFormatter
7727 from newFiguredBassFormatter.
7729 * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7731 * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7733 * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7735 * lily/beam.cc (calc_beaming): new function.
7736 (calc_shorten): new function.
7738 * THANKS: add Edward Neeman.
7740 * input/regression/accidental-clef-change.ly: new file.
7742 * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7744 * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7746 * lily/clef-engraver.cc (inspect_clef_properties): reset
7747 localKeySignature for clef changes.
7749 2005-11-17 Mats Bengtsson <mabe@s3.kth.se>
7751 * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3
7752 add dummy definition that works in Linux and add information in
7753 INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7755 * Documentation/user/changing-defaults.itely (Modifying context
7756 plug-ins): Add index for \with.
7758 * Documentation/user/music-glossary.tely (dal segno): Updated
7759 example to version >=2.6.
7761 2005-11-16 Mats Bengtsson <mabe@s3.kth.se>
7763 * Documentation/user/instrument-notation.itely (Printing chord
7764 names): Reorder \chordmode and \repeat in one example.
7766 2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7768 * VERSION: release 2.7.17
7770 * Documentation/topdocs/NEWS.tely (Top): add note about
7773 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7774 new function. Search region of 3 positions for best tie.
7775 (score_configuration): new function.
7776 (score_aptitude): new function.
7777 (generate_configuration): new function.
7778 (get_configuration): new function.
7779 (Tie_formatting_problem): new function
7781 * input/regression/page-top-space.ly: a6 for page-top-space demo.
7783 * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7785 * THANKS: add Eduardo Vieira & Ralph Little
7787 * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7790 * lily/include/tie-formatting-problem.hh (class
7791 Tie_formatting_problem): add Tie_details to
7792 Tie_formatting_problem. Update calling conventions.
7794 * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7797 * Documentation/user/lilypond.tely: remove musedata2ly entry.
7799 2005-11-16 Jürgen Reuter <reuter@ipd.uka.de>
7801 * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7802 scm/define-context-properties.scm: Maintenance bugfix: make
7803 ligature brackets work again by removing obsolete ligature
7804 primitive callback push/pop.
7806 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7807 not call Tuplet_bracket::calc_direction. Removed obsolete gap
7810 2005-11-15 Jan Nieuwenhuizen <janneke@gnu.org>
7812 * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7813 used and do not call it a path.
7814 (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7816 2005-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7818 * lily/include/tie-formatting-problem.hh (class
7819 Tie_formatting_problem): new file.
7821 * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7823 * Documentation/misc/ChangeLog-2.3: new file.
7825 * lily/audio-staff.cc (output): degarianize.
7827 2005-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
7829 * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7830 Unset PYTHONOPTIMIZE. Fixes install if set.
7832 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7834 * python/convertrules.py (conv): add warning about drums.
7836 * make/stepmake.make: include toplevel-version.make after config.make.
7838 * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7839 also allow python2.4
7841 * config.make.in (configure-srcdir): remove GXX GCC vars.
7843 * stepmake/aclocal.m4: don't do non-srcdir build with
7844 symlinks. Use inclusion, so the src directory name can be changed.
7846 2005-11-13 Jan Nieuwenhuizen <janneke@gnu.org>
7848 * make/mutopia-vars.make:
7849 * make/ly-vars.make: Use src-wildcard iso wildcard for source
7852 2005-11-13 Werner Lemberg <wl@gnu.org>
7854 * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7855 but the affected path. This ensures that the (overlapping) outlines
7856 have the same direction, which is a necessary prerequisite for
7857 FontForge's algorithm to remove overlaps.
7860 * mf/feta-haak.mf: Formatting.
7861 (draw_bracket): Slightly modify outline to avoid an unnecessary
7863 Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7864 them from the affected paths.
7866 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7868 * mf/README: remove xpm / accordion notes.
7870 * lily/tie-column-format.cc (set_chord_outline): add dots into
7871 skyline extents. This fixes tie formatting if the left head has dots.
7873 * lily/tie.cc (get_configuration): only shift tie by a whole staff
7874 space inside the staff.
7875 (get_configuration): shift another position if necessary in case
7878 2005-11-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7880 * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7881 buildscript-dir iso. $(depth)/buildscripts.
7883 * tex/GNUmakefile (local-uninstall): remove
7884 music-drawing-routines.ps juggling.
7886 * stepmake/stepmake/install-targets.make (local-install-files):
7887 prepend src-dir to install targets.
7889 * lily/system-start-delimiter-engraver.cc
7890 (acknowledge_system_start_delimiter): use
7891 add_offset_callback(). This fixes translation of nested
7894 * lily/grob-closure.cc (add_offset_callback): only encaps in
7895 simple_closure if it's a procedure.
7897 * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7900 * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7901 remove-empty where pertinent.
7903 2005-11-12 Graham Percival <gpermus@gmail.com>
7905 * Documentation/user/instrument-notation.itely: added
7906 Cameron Horsburgh's multiple stanzas docs. Thanks!
7908 2005-11-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
7911 ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7912 make picture in builddir, not srcdir.
7914 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7916 * VERSION: release 2.7.16
7918 * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7921 2005-11-10 Mats Bengtsson <mabe@s3.kth.se>
7923 * Documentation/user/examples.itely (Piano templates): Minor
7924 modification to the Piano centered lyrics example.
7926 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7928 * scripts/lilypond-invoke-editor.scm (run-browser): look at
7931 * Documentation/user/point-and-click.itely: simplify p&c
7932 instruction: don't configure firefox. Put lilypond-invoke-editor
7933 in front of the browser.
7935 * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7936 (run-browser): new function.
7938 * lily/parser.yy (Lily_lexer): recognize Book
7940 * lily/book.cc (clone): new function
7942 * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7944 2005-11-10 Jürgen Reuter <reuter@ipd.uka.de>
7946 * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7947 Maintenance bugfix: reduce number of font related warnings by
7948 updating naming conventions for glyph-name.
7950 2005-11-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7952 * scm/define-grobs.scm (all-grob-descriptions): add
7953 rhythmic-grob-interface to TabNoteHead.
7955 * scm/layout-beam.scm (check-quant-callbacks): remove
7958 2005-11-08 Jürgen Reuter <reuter@ipd.uka.de>
7960 * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
7961 alignment of centered divisiones.
7963 * scm/scripts.scm (articulations): Maintenance bugfix:
7964 follow-into-staff -> quantize-position.
7966 * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
7967 plica head in porrectus deminutus.
7969 2005-11-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7971 * make/lilypond.fedora.spec.in (Group): add %clean section.
7973 * lily/tuplet-bracket.cc (print): change check: remove bracket if
7974 less then 1/5th of total length.
7975 (print): use gap too. Fixes tupletUp-single-bracket.ly
7977 * scm/music-functions.scm (glue-mm-rest-texts): also put other
7978 events into EventChord. This fixes textspanners on mm rests. Fixes
7981 * lily/side-position-interface.cc (get_axis): read side-axis
7982 (set_axis): set side-axis.
7984 * scm/define-grobs.scm (all-grob-descriptions): add side-axis
7985 properties everywhere.
7987 * lily/spacing-spanner.cc (breakable_column_spacing): add
7988 average-spacing-wishes. Take maximum if not set.
7989 (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
7991 * scm/define-grobs.scm (all-grob-descriptions): add
7992 average-spacing-wishes.
7994 * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
7995 offset callbacks. This fixes alignment for Fingering objects.
7997 * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
7998 space for key - timesig combination.
8000 * input/regression/script-stem-tremolo.ly (Module): new file.
8002 * scm/define-grobs.scm (all-grob-descriptions): decrease distance
8005 * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
8006 Fixes: c-tremolo-script.ly.
8008 * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
8010 * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
8012 * scm/define-grobs.scm (all-grob-descriptions): remove
8013 self-X-offset. Fixes alignment of octavate-8.
8015 * scripts/lilypond-book.py (datadir): look in
8016 LILYPONDPREFIX/share/lilypond/current/
8018 * GNUmakefile.in: symlink current to <VERSION>.
8020 2005-11-07 Pedro Kroger <kroeger@pedrokroeger.net>
8022 * lily/main.cc: eps listed as a backend.
8024 2005-11-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8026 * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
8028 2005-11-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
8030 * lily/include/score.hh (class Score): remove texts_ member.
8032 * lily/beam.cc (set_stem_lengths): force direction callback.
8033 (print): read quantized-positions, so we can force
8034 Beam::set_stem_lengths to occur.
8035 (rest_collision_callback): use common X parent.
8037 2005-11-03 Jan Nieuwenhuizen <janneke@gnu.org>
8039 * flower/file-path.cc (find): Bugfix: Return name of file found.
8041 * lily/main.cc (setup_paths): Bugfix for argv0 logic.
8042 (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
8043 (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
8045 2005-11-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8047 * flower/offset.cc: idem.
8049 * mf/*.mf: update email address.
8051 * lily/font-config-scheme.cc: new file.
8053 * GNUmakefile.in (SUBDIRS): remove debian/ directory.
8055 * lily/*: cs.uu.nl -> xs4all.nl
8057 * VERSION (PATCH_LEVEL): release 2.7.15
8059 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
8062 * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
8064 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8066 * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.
8068 * lily/staff-performer.cc (process_music): add audio
8069 elements. This makes MIDI instrument changes work once again.
8071 * lily/main.cc (LY_DEFINE): add gmane address.
8073 * lily/beam.cc: remove calc_positions()
8075 * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
8076 original_ in private scope.
8077 (class Grob): drop pscore_ pointer, change to output_def pointer.
8078 (class Grob): cleanup class definition.
8080 * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
8082 2005-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
8084 * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
8085 absolute. Better diagnostics.
8087 * GNUmakefile.in: Add bin/ to tree and populate with some links.
8088 This makes lilypond run from the build directory using argv0
8089 relocation (without any --prefix or LILYPONDPREFIX setting).
8091 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8093 * Documentation/topdocs/NEWS.tely (Top): document new backend design.
8095 * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
8096 with simple-closure.
8098 * lily/self-aligment-interface.cc (set_align_self): new function
8099 (set_center_parent): new function.
8101 * lily/side-position-interface.cc (set_axis): new function.
8103 * lily/new-fingering-engraver.cc (position_scripts): use drul for
8106 * scm/define-grob-properties.scm (all-user-grob-properties):
8107 remove [XY]-offset-callbacks add [YX]-offset
8109 2005-11-02 Mats Bengtsson <mabe@s3.kth.se>
8111 * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
8112 entry for time signatures after breathing signs. Bug report by
8115 2005-11-01 Jan Nieuwenhuizen <janneke@gnu.org>
8117 * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
8118 not absolute, make it absolute using PATH.
8120 2005-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
8122 * python/midi.c (initmidi): Fix type for mingw.
8124 2005-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
8126 * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8128 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8131 * stepmake/aclocal.m4: Support python cross compiling.
8133 * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8136 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8138 * scm/output-lib.scm (chain-grob-member-functions): replace
8141 * lily/chained-callback.cc (Module): remove file.
8143 * lily/rest-collision.cc (force_shift_callback_rest): change to
8146 * lily/rest.cc (y_offset_callback): merge function of 3 callbacks.
8148 * lily/grob.cc (y_parent_positioning): remove axis argument from
8149 parent_positioning callbacks.
8150 (Grob): junk init code
8151 (get_offset): use generic property callbacks for
8152 X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8153 (axis_parent_positioning): new function
8154 (axis_offset_symbol): new function
8155 (chain_offset_callback): new function
8156 (add_offset_callback): new function
8158 * lily/beam.cc (rest_collision_callback): change signature; this
8159 is now a chained callback.
8161 * lily/include/dimension-cache.hh (class Dimension_cache): remove
8162 callback administration.
8164 * lily/simple-closure.cc: new file. Smob type that allows "grob
8167 (ly:make-simple-closure FUNC A B)
8169 is evaluated as (FUNC grob A B). This allows chaining of callbacks
8172 * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8175 * lily/slur.cc (outside_slur_callback): take 2 arguments.
8177 * lily/rest.cc (polyphonic_offset_callback): remove.
8179 * lily/script-engraver.cc (try_music): remove bool* argument.
8181 * scm/script.scm (default-script-alist): set quantize-position
8184 * lily/script-engraver.cc: remove follow_into_staff_ special coding.
8186 * lily/side-position-interface.cc (aligned_side): move staff
8187 position quantization from
8188 Side_position_interface::quantised_position().
8189 (quantised_position): remove
8191 2005-10-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
8193 * input/regression/beam-quant-standard.ly: reindent, set
8194 debug-beam-quanting to #t.
8196 * lily/beam-concave.cc (calc_concaveness): set concaveness to
8197 10000 if this is a "hard" concave beam.
8199 * lily/beam.cc (calc_least_squares_positions): change from
8200 calc_least_squares_dy
8201 (set_stem_lengths): this is now a chained callback.
8203 * lily/context-property.cc (execute_general_pushpop_property):
8204 bugfix override with procedure should have effect.
8206 * scm/define-grob-properties.scm (all-internal-grob-properties):
8207 remove position-callbacks.
8209 * scm/define-grobs.scm (all-grob-descriptions): use
8210 ly:make-callback-chain for positions property.
8212 * scm/layout-beam.scm (check-quant-callbacks): return list of
8215 * scm/lily.scm (type-p-name-alist): add callback-chain
8217 * lily/lily-guile.cc (type_check_assignment): type check failure
8218 is warning not message.
8220 * lily/grob-property.cc (try_callback): walk callback chain if
8223 * lily/chained-callback.cc: new file. new smob type.
8225 * lily/lily-guile.cc (procedure_arity): new function.
8227 2005-10-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8229 * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8231 2005-10-25 John Mandereau <john.mandereau@free.fr>
8233 * Documentation/user/instrument-notation.itely (Figured bass):
8234 describe new features
8236 2005-10-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8238 * lily/beam.cc (calc_least_squares_dy): use property callback.
8240 * lily/beam-concave.cc (calc_concaveness): use property callback.
8242 * ly/paper-defaults.ly: move fixed dimensions from paper.scm
8244 2005-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
8248 2005-10-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
8250 * scm/layout-page-layout.scm (page-headfoot): annotate
8253 * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit.
8255 * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8256 doesn't take y-space.
8258 * scm/paper.scm (paper-alist): fix A7 dimensions.
8260 2005-10-24 Jan Nieuwenhuizen <janneke@gnu.org>
8262 * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8263 src-wildcard, remove $(wildcard).
8265 * po/GNUmakefile (PO_FILES):
8266 * ps/GNUmakefile (PS_FILES):
8267 * tex/GNUmakefile (TEX_FILES):
8268 * cygwin/GNUmakefile (POSTINSTALLS):
8269 * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8270 some wildcard calls.
8272 2005-10-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
8274 * THANKS: add Thomas Bushnell.
8276 2005-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
8278 * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8279 (lilypond-main): Redirect to gui-main if 'gui is set.
8281 * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8282 for alternative installations kludging s/share/lib/g
8285 * SConstruct (libdir_package_version): Define.
8287 * python/SConscript:
8288 * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8291 2005-10-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
8293 * lily/main.cc: clarify --safe.
8295 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8297 * VERSION: release 2.7.14
8299 * Documentation/user/*.itely: remove minimumVerticalExtent.
8301 * scm/define-grobs.scm (all-grob-descriptions): remove
8302 RemoveEmptyVerticalGroup
8304 * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8306 * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8309 * python/convertrules.py (conv): add rules.
8311 * lily/grob.cc: remove is_empty()
8313 * lily/grob-property.cc: remove add_to_list_property().
8315 * scripts/convert-ly.py (datadir): add prefix switching hack to
8318 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8319 space-function tweak.
8321 * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8323 * scm/define-grob-properties.scm (all-user-grob-properties):
8324 remove callback property.
8326 * lily/include/grob.hh (class Grob): remove property_callbacks_
8327 member. Properties of procedure type are assumed to be callbacks.
8329 * lily/ligature-engraver.cc (override_stencil_callback):
8330 rewrite. Use noteHeadLigaturePrimitive as source.
8332 * scm/define-grob-properties.scm (all-internal-grob-properties):
8333 remove ligature-primitive-callback
8335 * lily/include/dimension-cache.hh (class Dimension_cache): make
8336 class, with Grob as friend.
8338 * lily/grob.cc: remove set_extent_callback(), set_extent() and
8339 has_extent_callback()
8341 * scm/translation-functions.scm (format-new-bass-figure): read
8342 figuredBassPlusDirection
8344 * scm/define-context-properties.scm
8345 (all-user-translation-properties): add figuredBassPlusDirection.
8347 * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8349 * lily/align-interface.cc (set_ordered): new function.
8351 * lily/grob.cc (flush_extent_cache): rewrite.
8353 * lily/dimension-cache.cc (Dimension_cache): cache extent as
8354 Interval pointer directly.
8356 * lily/main.cc (setup_paths): insert extra / .
8357 (setup_paths): junk cff entry.
8359 * lily/font-config.cc (init_fontconfig): only add type1 / otf
8362 * lily/axis-group-engraver.cc (finalize): remove
8363 extraVerticalExtent, minimumVerticalExtent verticalExtent.
8365 * lily/grob.cc (Grob): don't set extent from ctor.
8366 (extent): use property callbacks.
8368 * lily/axis-group-interface.cc: remove set_axes() function.
8370 * lily/grob-property.cc (del_property): new function.
8372 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8374 * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8376 2005-10-20 Jan Nieuwenhuizen <janneke@gnu.org>
8378 * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add.
8380 2005-10-19 Jan Nieuwenhuizen <janneke@gnu.org>
8382 * mf/SConscript: Updates.
8384 * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8386 * stepmake/stepmake/*:
8390 * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8391 from any directory in build-dir. Cleanups.
8393 * make/srcdir.make.in: Remove.
8395 * lily/main.cc (setup_paths): Fix and document build-dir hack.
8397 * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8400 * lily/SConscript: Remove ttftools.
8402 * SConstruct: Resurrect.
8404 2005-10-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
8406 * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8409 * lily/paper-book.cc (add_score_title): put Paper_score title into
8412 * scm/translation-functions.scm (format-new-bass-figure): also
8413 allow plus in combination with _
8415 2005-10-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8417 * VERSION: 2.7.13 released.
8419 * lily/note-collision.cc (check_meshing_chords): don't wipe
8420 stencil, merely set transparent.
8422 * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau.
8423 (Top): document #'callbacks.
8424 (Top): document nested \override.
8426 * input/regression/figured-bass.ly: update for slash and pluses.
8428 * input/regression/figured-bass-continuation-forbid.ly (Module):
8431 * scm/translation-functions.scm (format-new-bass-figure): use
8432 slashed-digit if diminished is set.
8433 (format-new-bass-figure): add + if 'augmented is set.
8435 * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8437 * input/test/piano-staff-distance.ly: remove file.
8439 * Documentation/user/advanced-notation.itely (Formatting cue
8440 notes): use length-fraction for making stems/beams smaller.
8442 * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8445 * lily/new-figured-bass-engraver.cc: new property
8446 centerFiguredBassContinuations
8448 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8451 * lily/context-property.cc (execute_general_pushpop_property):
8454 * input/regression/override-nest.ly: new file.
8456 * python/convertrules.py (FatalConversionError.subber): conversion
8457 rule for #'callbacks
8459 * input/regression/override-nest.ly: new function.
8461 * lily/parser.yy (music_property_def): allow \override #'a #'b =
8464 * lily/context-property.cc (lookup_nested_property): new function.
8465 (evict_from_alist): new function.
8466 (general_pushpop_property): new function.
8467 (execute_general_pushpop_property): rewrite. Support nested
8470 2005-10-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
8472 * lily/beam.cc: use length-fraction too.
8474 * scm/define-grob-properties.scm (all-user-grob-properties):
8475 remove property flag-width-function
8476 (all-user-grob-properties): remove space-function.
8478 * scm/layout-beam.scm: remove flag-width-function.
8480 * lily/beam.cc: remove flag-width-function
8482 * scm/layout-beam.scm: remove beam dir functions.
8484 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8486 * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8487 for easier grace tweaks.
8489 * lily/beam.cc: remove dir-function.
8491 * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8493 * lily/grob.cc: remove spacing-procedure.
8495 * lily/note-head.cc (calc_stem_attachment): new function.
8496 (internal_print): use callback to get glyph-name.
8498 * lily/grob-property.cc (get_interfaces): new function.
8500 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8502 * lily/stem.cc (calc_stem_end_position): new function.
8503 (calc_length): new function.
8504 document details for stem.
8505 remove Stem::get_direction()
8507 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback!
8509 * lily/grob-property.cc (set_callback): new function.
8511 * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8513 * lily/item-scheme.cc: new file.
8515 * lily/bar-line.cc (before_line_breaking): remove function.
8516 remove bar-size-procedure, break-glyph-function
8518 * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8520 * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8522 * lily/system-start-delimiter.cc (print): suicide from
8523 here. Remove after_line_breaking_callback.
8525 * lily/script-interface.cc (calc_direction): use callback for direction.
8527 * lily/side-position-interface.cc (aligned_side): don't use
8528 Side_position_interface::get_direction directly. Use callback.
8530 * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8532 (get_print_stencil): rename from get_stencil: create stencil with
8533 transparency, color and cause.
8535 * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8537 * python/convertrules.py (conv): insert temporary warning rule.
8539 * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8541 * lily/grob-property.cc (try_callback): remove marker if applicable.
8543 * lily/grob.cc: elucidate doc about after/before-line-breaking
8545 * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8547 * lily/stem.cc (height): idem.
8549 * lily/stem-tremolo.cc: idem.
8551 * lily/slur.cc (height): don't use get_uncached_stencil()
8553 * lily/rest.cc (y_offset_callback): use offset callback
8554 iso. after-line-breaking callback.
8556 * lily/grob.cc: change after/before-line-breaking-callback to
8557 after/before-line-breaking dummy properties.
8559 * lily/include/grob.hh: remove Grob_status.
8561 * scm/define-context-properties.scm
8562 (all-user-translation-properties): remove verticalAlignmentChildCallback
8564 * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8565 (calc_direction): use callback
8566 (calc_positions): use callback.
8568 * lily/tie.cc (calc_direction): use callback. Only call parent
8569 positioning for more than one tie.
8571 * lily/tie-column.cc (calc_positioning_done): use callback
8573 * lily/slur-scoring.cc (calc_control_points): use callback
8575 * lily/slur.cc (calc_direction): use callback.
8577 * lily/note-collision.cc (force_shift_callback): remove.
8579 * lily/dot-column.cc (force_shift_callback): remove. Use
8580 other_axis_parent_positioning.
8582 * lily/grob.cc (other_axis_parent_positioning): new function.
8583 (same_axis_parent_positioning): new function
8585 * lily/align-interface.cc (alignment_callback): remove function.
8587 * lily/note-collision.cc (calc_positioning_done): use callback.
8589 * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8590 (calc_direction): idem.
8591 remove print function.
8593 * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8595 * lily/dot-column.cc (calc_positioning_done): use callback.
8597 * lily/break-align-interface.cc (calc_positioning_done): use callback.
8599 * lily/beam.cc (calc_direction): use pseudo-property for beam
8601 (calc_positions): use callback
8603 * lily/align-interface.cc (calc_positioning_done): use
8604 callback. Fold fixed distance and normal alignment in one function.
8606 * lily/stem.cc (calc_stem_end_position): use callback.
8607 (calc_positioning_done): idem.
8608 (calc_direction): idem.
8609 (calc_stem_end_position): idem
8610 (calc_stem_info): idem.
8612 * lily/grob-property.cc (get_property_data): new function:
8613 (try_callback): new function.
8615 * scm/define-grob-properties.scm (all-user-grob-properties): doc
8618 * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8620 2005-10-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
8622 * lily/tie.cc (get_position): robustness fix. Don't crash if a
8626 * lily/include/*.hh (Module): compile fixes.
8628 2005-10-14 Heikki Junes <hjunes@cc.hut.fi>
8630 * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil
8631 as an argument for char-syntax: use (char-syntax (or nil 0))
8632 instead of (char-syntax nil), thanks to Milan Zamazal.
8634 2005-10-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
8636 * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8639 * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8642 2005-10-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8644 * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8645 add class_name() method.
8647 * lily/music-scheme.cc: remove ly:music-name.
8649 2005-10-11 Jan Nieuwenhuizen <janneke@gnu.org>
8651 * cygwin/postinstall-lilypond.sh: Remove cruft.
8653 * cygwin/postremove-lilypond.sh: Remove.
8655 * cygwin/GNUmakefile (default): Remove postremove rules.
8657 2005-10-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8659 * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8662 * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8665 * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8666 consider break index for broken spanner.
8668 * scm/define-markup-commands.scm (wordwrap-string): remove \r
8669 characters from string before splitting.
8671 2005-10-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
8673 * scm/framework-ps.scm (output-preview-framework): use
8674 is-book-title to determine whether to chop off the booktitle.
8676 * lily/paper-book.cc (systems): init from book-title-properties
8677 (add_score_title): init score-title-properties.
8679 * ly/paper-defaults.ly: add {score,book}-title-properties.
8681 * scm/document-backend.scm (lookup-interface): error message if
8682 using unknown interface.
8684 * lily/volta-bracket.cc (after_line_breaking): new function. Set
8687 * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8689 (make_bracket): new function.
8691 * scm/lily.scm (define-scheme-options): add paper-size option.
8693 * ly/declarations-init.ly (laissezVibrer): get paper size from
8696 * scm/translation-functions.scm: use \fontsize for changing the
8699 * scm/define-grobs.scm (all-grob-descriptions): set
8700 between-length-limit to 1.0
8702 * lily/tie-helper.cc: add between_length_limit_ detail property.
8704 * mf/feta-bolletjes.mf: typos.
8706 * lily/note-head.cc (internal_print): don't shadow idx
8707 parameter. This fixes wrong attachment for do shape heads.
8709 2005-10-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
8711 * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8713 * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8715 * scm/layout-slur.scm: rename from slur.scm
8717 * scm/layout-page-layout.scm: rename from page-layout.scm
8719 * scm/layout-beam.scm: rename from beam.scm
8721 * scm/define-grob-interfaces.scm (bass-figure-interface): add
8722 bass-figure-interface
8724 * lily/new-figured-bass-engraver.cc (process_music): add
8725 implicitBassFigures property.
8727 * scm/define-markup-commands.scm (pad-x): new markup.
8729 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8730 minimumVerticalExtent on FiguredBass context.
8732 * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8733 case the continuation crosses a line break.
8735 2005-10-09 Jan Nieuwenhuizen <janneke@gnu.org>
8737 * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8738 unconverted value if cygwin_conv_to_posix_path () fails. Fixes
8739 absolute file name bug.
8741 2005-10-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
8743 * VERSION (PACKAGE_NAME): release 2.7.12
8745 * input/regression/figured-bass-continuation-center.ly: new file.
8747 * input/regression/beam-outside-beamlets.ly: new file.
8749 * lily/beam.cc (set_beaming): don't clip edges.
8750 (connect_beams): don't clip edges.
8752 * lily/beaming-info.cc (clip_edges): new function.
8754 * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8756 * Documentation/user/instrument-notation.itely (Figured bass):
8757 demonstrate extenders, update seealso links.
8759 * scm/titling.scm (marked-up-headfoot): change tagline
8760 handling. tagline = ##f will blank the tagline as well.
8762 2005-10-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8764 * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8766 * lily/new-figured-bass-engraver.cc (struct
8767 New_figured_bass_engraver): add new_music_found_ member.
8769 * lily/lilypond-version.cc (Lilypond_version): deal with
8770 incorrectly formatted version strings.
8772 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8773 New_figured_bass_engraver by default.
8775 * lily/ttf.cc (print_trailer): only define glyph names when
8776 FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8778 2005-10-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8780 * lily/horizontal-bracket.cc (make_bracket): new function.
8782 * scm/define-grobs.scm (all-grob-descriptions): new grobs
8783 NewBassFigure, BassFigureBracket, BassFigureContinuation,
8784 BassFigureLine, BassFigureAlignment
8786 * lily/new-figured-bass-engraver.cc (process_music): new file.
8788 * lily/figured-bass-continuation.cc: new file.
8790 * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8793 2005-10-04 Mats Bengtsson <mabe@s3.kth.se>
8795 * scripts/lilypond-book.py: Bug fix, put the quote around the
8796 actual score for LaTeX documents.
8798 * scm/define-grobs.scm (all-grob-descriptions): Change
8799 collapse-height of the SystemStartBracket grob to 5.0,
8800 so the bracket disappears for single stave score lines (similarly
8801 to SystemStartBraces).
8803 * Documentation/user/advanced-notation.itely (Polymetric
8804 notation): Clarify the use of compressMusic.
8806 * Documentation/user/basic-notation.itely (Grace notes): Clarify
8807 that the grace spacer note in other staves need the same duration
8808 and document the stroke-style property.
8810 2005-10-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8812 * Documentation/user/global.itely (Vertical spacing): document
8813 alignment-extra-space and fixed-alignment-extra-space.
8815 * Documentation/topdocs/NEWS.tely (Top): add entry.
8817 * input/regression/alignment-vertical-spacing.ly: new file.
8819 * python/convertrules.py (conv): add rule.
8821 * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8823 * lily/align-interface.cc (stretch_after_break): new
8824 function. Read fixed-alignment-extra-space property.
8825 (align_elements_to_extents): read alignment-extra-space property.
8827 * lily/lily-guile.cc (robust_scm2dir): new function.
8829 * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8830 (annotate-space-left): new function. Annotate space left on page.
8831 (annotate-y-interval): new function.
8832 (paper-system-annotate-last): new function. Annotate bottom-space.
8834 * mf/feta-beugel.mf (y):
8836 2005-10-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8838 * VERSION (PACKAGE_NAME): release 2.7.11
8840 * scm/lily-library.scm (interval-translate): new function
8841 (interval-center): new function.
8843 * scm/page-layout.scm (paper-system-annotate): new function. Add
8844 arrows for dimensions.
8846 * scm/stencil.scm (dimension-arrows): new function.
8848 * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8850 * input/regression/page-spacing.ly: add annotatespacing
8852 * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8853 (LY_DEFINE): new function ly:paper-system-set-property!
8855 * Documentation/user/global.itely (Paper size): explain how to add
8858 * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8859 correspond to GS's definition.
8861 * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8863 (print): only connect to next bracket if the next one is alive.
8864 (print): set padding to 0.0 if the bound is a breakable
8865 column. This makes tupletFullLength brackets reach up to the staff
8866 line if it doesn't connect to the next line.
8868 2005-09-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
8870 * lily/bar-number-engraver.cc: correct docs.
8872 * scm/output-lib.scm (first-bar-number-invisible): rename from
8873 default-bar-number-visibility
8875 2005-09-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8877 * scm/define-music-properties.scm (all-music-properties): remove
8880 2005-09-28 Heikki Junes <hjunes@cc.hut.fi>
8882 * po/fi.po: refresh.
8884 2005-09-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
8886 * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8888 (disappear): bugfix.
8890 * lily/stem-tremolo.cc (raw_stencil): read slope property.
8892 * lily/include/paper-system.hh (class Paper_system): remove
8893 staff_extents_ member.
8895 * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8897 * lily/include/paper-system.hh (class Paper_system): remove
8898 number_ variable. Remove is_title_. Remove break_before_penalty_
8900 * lily/paper-book.cc (systems): use 'number property iso. number_
8903 * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8904 remove ly:paper-system-number.
8906 * scm/lily-library.scm (paper-system-title?): new function.
8908 * lily/book.cc (process): bugfix: flip ?: cases.
8910 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8913 * ly/music-functions-init.ly: add outputProperty music function.
8915 * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8917 * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8919 (optimal-page-breaks): rename from ly:optimal-page-breaks.
8921 * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8923 * lily/paper-system.cc (internal_get_property): new function.
8925 * Documentation/user/global.itely (Vertical spacing): refer to
8928 * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8931 * input/regression/page-spacing.ly: new file.
8933 * input/regression/page-top-space.ly: new file.
8935 * lily/spacing-spanner.cc: cmath -> math.h
8937 * lily/paper-system.cc (read_left_bound): new function. Read
8938 line-break-system-details from left bound to determine extents.
8940 * Documentation/user/programming-interface.itely (Using LilyPond
8941 syntax inside Scheme): change applyxxx -> applyXxx.
8943 * ly/music-functions-init.ly: add outputProperty music function.
8945 * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8947 * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8949 * python/convertrules.py (conv): rule
8951 * ly/music-functions-init.ly: applyxxx -> applyXxx
8953 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
8956 2005-09-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8958 * flower/include/real.hh: include <math.h> iso. <cmath>
8960 * flower/include/offset.hh: include real.hh
8962 2005-09-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
8964 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8965 fix example, now that 'interfaces is no longer directly available.
8967 * lily/book.cc (process): don't crash if paper == NULL.
8971 2005-09-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8973 * scm/define-music-types.scm (music-descriptions): set length and
8974 start-callback for QuoteMusic
8976 2005-09-15 Mats Bengtsson <mabe@s3.kth.se>
8978 * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
8979 arguments. Fixes compilation error with gcc 3.3.
8981 2005-09-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
8983 * VERSION: release 2.7.10
8985 * stepmake/stepmake/python-module-rules.make
8986 ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.
8988 * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
8991 2005-09-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8993 * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
8994 -Werror. Otherwise GCC barfs over various optimizations.
8996 * scm/define-grob-properties.scm (all-internal-grob-properties):
8997 add note-head property
8999 * Documentation/user/instrument-notation.itely (Laissez vibrer
9002 * input/regression/laissez-vibrer-ties.ly: new file.
9004 * lily/laissez-vibrer-engraver.cc: new file.
9006 * lily/include/tie-column-format.hh: new file.
9008 * lily/tie-column-format.cc: new file.
9010 * lily/tie-column.cc (set_manual_tie_configuration): new function.
9012 * lily/laissez-vibrer-tie.cc: new file.
9014 * lily/include/laissez-vibrer-tie.hh: new file.
9016 * ly/engraver-init.ly: add Laissez_vibrer_engraver
9018 * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
9020 * scm/define-grobs.scm (all-grob-descriptions): add
9021 LaissezVibrerTie, LaissezVibrerTieColumn
9023 * lily/tie-column.cc (set_tie_config_directions): new function
9024 (final_shape_adjustment): new function.
9025 (shift_small_ties): new function.
9027 * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
9029 * lily/include/tie.hh (struct Tie_details): add x_gap_
9030 (struct Tie_configuration): add head_position_
9032 * lily/tie-column.cc (set_chord_outline): new function.
9034 * mf/cmr.enc.in: remove file.
9036 2005-09-11 Graham Percival <gpermus@gmail.com>
9038 * Documentation/user/examples.itely: typo fix. Thanks, Matevž
9040 2005-09-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
9042 * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
9043 reduce aliasing effects.
9045 * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
9048 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
9050 * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
9052 * flower/include/real.hh: std::fabs too.
9054 2005-09-08 Jan Nieuwenhuizen <janneke@gnu.org>
9056 * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner).
9058 * lily, flower: Include C++ iso C headers. Import namespace std
9061 * lily/side-position-interface.cc:
9063 * lily/note-head.cc:
9064 * lily/include/includable-lexer.hh:
9065 * flower/include/string-data.icc: Remove using std::*.
9067 * lily, flower: Include C++ iso C headers. Import namespace std
9070 * lily/side-position-interface.cc:
9072 * lily/note-head.cc:
9073 * lily/include/includable-lexer.hh:
9074 * flower/include/string-data.icc: Remove using std::*.
9076 * Documentation/user/instrument-notation.itely (Entering lyrics):
9077 Multiple latin-1->utf-8 conversion fix.
9079 * Documentation/user/*tely: Update Emacs cookie to utf-8.
9081 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
9083 * lily/tie.cc (get_configuration): also avoid dots for non-space
9086 2005-09-07 Jan Nieuwenhuizen <janneke@gnu.org>
9088 * Documentation/user/instrument-notation.itely: Bugfix.
9090 2005-09-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
9092 * tex/GNUmakefile: don't install texinfo.tex
9094 * tex/ : cleanup: remove unused files.
9096 * lily/general-scheme.cc: remove my_{isinf,isnan}.
9098 * flower/include/real.hh: using std::{isnan,isinf}
9100 * VERSION (PATCH_LEVEL): release 2.7.9
9102 2005-09-05 Graham Percival <gpermus@gmail.com>
9104 * Documentation/user/ instrument-notation.itely,
9105 advanced-notation.itely: minor tweaks.
9107 * input/test/script-chart.ly: add item padding.
9109 2005-09-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
9111 * flower/offset.cc: use math.h iso. <cmath>
9113 * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
9116 * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
9117 (widen-left-stencil-edges): new function. Fix alignment problems
9118 with LaTeX includegraphics.
9120 * lily/text-interface.cc (interpret_markup): use abort().
9122 2005-09-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
9124 * input/regression/tie-chord.ly (testLong): add a chord in 4ths
9126 * lily/tie.cc (get_configuration): update bezier shape as we
9128 (get_configuration): don't move large ties if we're outside of the
9131 2005-09-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
9133 * scm/define-markup-commands.scm (strut): swap X and Y dims.
9135 2005-09-03 Jan Nieuwenhuizen <janneke@gnu.org>
9137 * .cvsignore: Add auto-generated configure files and then some.
9139 2005-09-02 Jan Nieuwenhuizen <janneke@gnu.org>
9141 * scm/define-grobs.scm (DynamicLineSpanner): Add
9142 X-extent-callback. Fixes hairpin-slur collision.
9144 2005-08-31 Graham Percival <gpermus@gmail.com>
9146 * Documentation/user/advanced-notation.itely,
9147 basic-notation.itely: minor changes.
9149 2005-08-31 Mats Bengtsson <mabe@s3.kth.se>
9151 * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9152 \linebreak between each .eps file if \betweenLilyPondSystem is
9155 * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9156 music): Document the \linebreak
9158 * Documentation/user/lilypond-book.itely,
9159 input/tutorial/lbook-latex-test.tex,
9160 Documentation/user/examples.itely: Remove \usepackage{graphics}
9162 2005-08-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
9164 * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9166 * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9169 * scripts/lilypond-book.py (PREAMBLE_LY): define
9170 inside-lilypond-book
9171 (modify_preamble): new function. Insert \RequirePackage{graphics}
9172 when no {graphics found in preamble.
9174 2005-08030 Graham Percival <gpermus@gmail.com>
9176 * Documentation/user/basic-notation.itely, global.itely,
9177 tutorial.itely: misc small changes.
9179 2005-08-30 Jan Nieuwenhuizen <janneke@gnu.org>
9181 * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9184 2005-08-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
9186 * lily/tie-column.cc (new_directions): put Tie down on center
9189 * lily/script-interface.cc (before_line_breaking): use
9190 Grob::programming_error
9192 * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9194 * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9197 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9199 * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9201 2005-08-29 Werner Lemberg <wl@gnu.org>
9203 * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9204 the `*.scale.pfa' files to avoid warnings.
9206 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9208 * lily/tempo-performer.cc (process_music): idem.
9210 * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9212 2005-08-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
9214 * Documentation/user/advanced-notation.itely (Text markup): not a
9217 * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9219 * lily/staff-performer.cc (initialize): add tempo/name to
9222 2005-08-26 Graham Percival <gpermus@gmail.com>
9224 * Documentation/user/advanced.itely: add text-only example.
9226 * Documentation/user/invoking.itely: add index entries for
9229 * Documentation/user/ tutorial.itely, basic-notation.itely:
9230 small fixes suggested by Steve D. Thanks!
9232 2005-08-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
9234 * input/regression/markup-bidi-pango.ly: new file.
9236 * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9237 standard. Remove #ifdef. Remove memleak.
9238 (text_stencil): use text_dir to decide how to composite items.
9239 (text_stencil): determine uniform text direction for the entire
9242 * scripts/lilypond-book.py (output_name): remove
9243 latex_filter_cmd. Non-portable to non-Unix systems.
9244 (get_latex_textwidth): use File.write and os.unlink() instead.
9246 * THANKS: add Vicente & Trevor.
9248 * lily/grob.cc (discretionary_processing): look up origin for
9249 programming_error too.
9251 * input/regression/tie-broken.ly: new file.
9253 * lily/tie-column.cc (set_chord_outlines): set outline for line
9256 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9258 * lily/pango-font.cc (text_stencil): don't translate glyphs in
9259 unscaled transform, just translate stencils.
9261 * ly/performer-init.ly: init timing to #t. Fixes bar checks in
9264 * scm/define-markup-commands.scm (wordwrap-string): use
9266 (wordwrap-stencils): idem.
9269 (wordwrap-stencils): translate last line to right for
9270 text-direction = LEFT.
9272 * scm/define-grob-properties.scm (all-user-grob-properties): add
9275 2005-08-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
9277 * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9278 when copying a Lily_parser object.
9280 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9282 * scm/define-markup-commands.scm (null): add null markup.
9284 2005-08-25 Mats Bengtsson <mabe@s3.kth.se>
9286 * lily/item.cc: Add documentation of center-invisible
9288 2005-08-24 Graham Percival <gpermus@gmail.com>
9290 * Documentation/user/advanced-notation.itely: add info about
9293 * Documentation/user/programming-interface.itely: fix example
9294 involving raised text.
9296 2005-08-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
9298 * lily/beam.cc (print): fix X start/end points of isolated
9301 * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9303 * lily/multi-measure-rest.cc (set_text_rods): new function.
9305 * lily/vertical-align-engraver.cc (process_music): call
9306 Align_interface::set_axis(). This forces #'elements to be ordered,
9307 preventing random vertical reordering of staves.
9309 * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9310 add avoid-slur property.
9312 * Documentation/user/basic-notation.itely (Measure repeats): add
9313 countPercentRepeats example.
9315 * Documentation/user/advanced-notation.itely (Other text markup
9316 issues): remove remark about normal-font. We have \normal-text
9318 * input/regression/tie-chord.ly: add note about remaining bugs.
9320 * lily/tie.cc (print): try Tie_column::set_directions () if
9321 control-points not yet defined.
9323 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9325 * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9326 extent. This fixes braces falling out of the EPS bbox.
9328 * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9331 2005-08-23 Graham Percival <gpermus@gmail.com>
9333 * {various} : change #up->#UP and #down->#DOWN.
9335 * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9337 * Documentation/user/advanced-notation.itely: clarify
9338 what objects handles text on a multimeasure rest.
9340 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9342 * VERSION (PATCH_LEVEL): release 2.7.7
9344 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9346 * make/lilypond-vars.make: set -dgs-font-load for "make web"
9348 * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9350 * input/regression/*.ly: formatting clean-up. Default layout
9351 before music expression.
9353 * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9354 romanze28-2 example.
9356 * scm/ps-to-png.scm: remove dir-re function.
9357 (make-ps-images): generate page names, instead of globbing them.
9358 This brings down LilyPond memory usage for make web by a factor
9361 * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9362 don't use glob. With 3000 files, globbing
9363 Documentation/user/out-www/ can take too much time.
9365 * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9367 * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9369 * input/regression/tie-manual.ly: new file
9371 * input/regression/tie-chord.ly: update.
9373 * flower/include/interval.hh (struct Interval_t):
9375 * lily/tie.cc (distance): new function
9376 (height): new function.
9377 (init): new function
9378 (Tie_details): new struct.
9380 * lily/skyline.cc (skyline_height): new function.
9382 * lily/tie-column.cc (set_chord_outlines): new function.
9383 (new_directions): read tie-configuration
9385 * lily/skyline.cc: fix ASCII art.
9387 2005-08-22 Mats Bengtsson <mabe@s3.kth.se>
9389 * python/convertrules.py (string_or_scheme): Fix spelling error
9391 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9393 * lily/tie-column.cc (set_directions): set directions only once.
9394 (add_configuration): new function.
9396 * lily/tie.cc (set_control_points): new function
9398 * lily/tie-column.cc (new_directions): new function.
9400 * ly/music-functions-init.ly: set 'pitch property
9401 iso. trill-pitch. This makes \relative work with \pitchedTrill
9403 * lily/tie.cc (get_configuration): new function. Don't generate
9404 control points, rather, generate configuration.
9405 remove head-pair property.
9407 * lily/include/tie.hh (struct Tie_configuration): new struct.
9409 2005-08-22 Heikki Junes <hjunes@cc.hut.fi>
9411 * Documentation/topdocs/NEWS.tely: clarify.
9413 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9415 * lily/tie.cc: remove minimum-length
9417 * scm/define-grob-properties.scm (all-user-grob-properties):
9418 remove staffline-clearance, y-offset
9420 * input/regression/tie-dots.ly (Module): remove.
9422 * lily/tie.cc (get_control_points): rewrite. Put short ties in
9423 staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9425 * input/regression/tie-single.ly: new file.
9427 2005-08-21 Graham Percival <gpermus@gmail.com>
9429 * ly/bagpipe.ly: fix compile problem.
9431 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9433 * lily/midi-item.cc (name): new method.
9435 * lily/staff-performer.cc (acknowledge_audio_element): use
9436 signature of baseclass.
9438 * lily/engraver-group.cc (do_announces): move recursion call out
9441 * lily/drum-note-performer.cc (class Drum_note_performer): use
9442 process_music everywhere.
9444 * ly/performer-init.ly: add default children everywhere.
9446 * lily/paper-book.cc (output): call paper-book-write-midis
9447 directly: always write MIDI, even if no \layout {} block.
9449 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9451 * VERSION (PACKAGE_NAME): release 2.7.6
9453 * lily/percent-repeat-engraver.cc (try_music): don't print warning
9454 about not being able to handle repeat.
9456 2005-08-19 Jan Nieuwenhuizen <janneke@gnu.org>
9458 * Documentation/user/examples.itely (Piano templates):
9459 * lily/include/performer-group.hh: Remove last traces of
9460 Performer_group_performer. Fixes make web.
9462 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9464 * Documentation/user/examples.itely (Piano templates): change
9465 Engraver_group_engraver -> Engraver_group
9467 * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9468 scm_stand_in_procs is not weak_any.
9470 * lily/volta-bracket.cc (print): don't use strcmp().
9472 * lily/volta-engraver.cc (process_music): use
9473 Text_interface::is_markup() for setting the 'text property of the
9476 * input/mutopia/claop.py (accents): update syntax to 2.6
9478 * scm/define-context-properties.scm
9479 (all-user-translation-properties): add countPercentRepeats.
9481 * Documentation/user/basic-notation.itely (Measure repeats): add
9482 isolated percent example.
9484 2005-08-18 Graham Percival <gpermus@gmail.com>
9486 * input/ {various}: change direction #1, #-1 to
9487 #up/#down or \fooUp, \fooDown.
9489 * Documentation/user/music-glossary.tely: #-1 to #down.
9491 * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9492 to #up, #-1 to #down.
9494 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9496 * lily/include/engraver-group.hh: rename.
9498 * lily/include/performer-group.hh: rename.
9500 2005-08-18 Mats Bengtsson <mabe@s3.kth.se>
9502 * input/test/script-abbreviations.ly: Removed some old LaTeX
9505 2005-08-18 Jan Nieuwenhuizen <janneke@gnu.org>
9507 * python/convertrules.py (conv): inside-slur -> avoid-slur.
9508 Remove functions. Remove if 1: constructs, reindent.
9510 * scripts/convert-ly.py (add_version): Add functions from
9513 * scm/script.scm (default-script-alist):
9514 s/priority/script-priority. Fixes script stacking. Backportme.
9515 (Fermata): Very low priority.
9517 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9519 * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9521 * input/regression/slur-script.ly: remove padding tweaks. Add
9524 * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9525 time sigs and related stuff.
9527 * scm/define-grob-properties.scm (all-user-grob-properties): add