1 2006-11-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3 * buildscripts/git-update-changelog.py:
4 update todo/done after rejection due to removal analysis.
6 * buildscripts/git-update-changelog.py:
7 check whether removals from a diff actually apply.
9 2006-11-05 Joe Neeman <joeneeman@gmail.com>
11 * lily/include/page-turn-page-breaking.hh: remove unused
14 * lily/page-turn-page-breaking.cc (calc_demerits):
15 * lily/optimal-page-breaking.cc (try_page_spacing): remove
18 2006-11-05 Werner Lemberg <wl@gnu.org>
20 * Documentation/user/changing-defaults.itely,
21 Documentation/user/preface.itely: Use `--', not `---'.
24 * Documentation/user/introduction.itely: Minor improvements.
25 (Automated engraving): Make example using \applyOutput work
28 * input/regression/apply-output.ly: Improve.
30 2006-11-05 Han-Wen Nienhuys <hanwen@lilypond.org>
32 * lily/dynamic-engraver.cc:
35 * input/regression/note-head-harmonic.ly:
37 * input/regression/note-head-harmonic-whole.ly:
38 Center harmonic heads if stem is invisible. Fixes #140
41 end context snippet with '\n'
44 catch all GUILE exceptions
49 * lily/include/lily-lexer.hh:
51 * lily/lily-parser.cc:
52 Lily_parser* arg for copy ctor too.
55 abc2ly new tempo syntax
57 2006-11-04 Heikki Junes <hjunes@gmail.com>
59 * po/fi.po: update Finnish translation.
61 2006-11-03 Graham Percival <gpermus@gmail.com>
63 * Documentation/user/ {various}: rename page->spacing,
64 global->non-music, invoking->running, example->templates.
66 2006-11-03 Nicolas Sceaux <nicolas.sceaux@free.fr>
68 * scm/display-lily.scm: add a parser argument to display methods,
69 instead of using a *parser* special variable.
71 * scm/define-music-display-methods.scm: add a parser argument to
72 display methods. Update the methods for \melisma, \melismaEnd,
73 \breathe, \tempo, \partial.
75 * input/no-notation/display-lily-tests.ly: update the test
76 utilities according to the changes in display-lily.scm
78 2006-11-03 Han-Wen Nienhuys <hanwen@lilypond.org>
80 * *: The Joy of Merging.
82 * buildscripts/git-update-changelog.py:
83 sort commits, and use .git-commits-done file.
87 dist emacs patches too.
89 2006-11-02 Han-Wen Nienhuys <hanwen@lilypond.org>
94 * lily/context-def.cc:
95 * lily/include/parse-scm.hh:
96 * lily/include/smobs.hh:
99 * lily/program-option.cc:
101 implement and use ASSERT_LIVE_IS_ALLOWED()
103 * ly/music-functions-init.ly:
104 * scm/autochange.scm:
105 set-part-combine fix for autochange.
107 * lily/include/lily-lexer.hh:
108 * lily/include/lily-parser.hh:
109 * lily/lily-lexer.cc:
110 * lily/lily-parser-scheme.cc:
111 * lily/lily-parser.cc:
112 clear lexer scopes after parsing file. Plugs pseudo memory leak
114 * ly/declarations-init.ly:
115 * ly/music-functions-init.ly:
116 * scm/part-combiner.scm:
117 Remove set-part-combine-listener. This plugs a memory leak.
123 don't delete .scale.pfa; the FF script may not have read themyet. Fixes brace OTF bug
128 * lily/part-combine-iterator.cc:
129 don't allocate part combine events statically. Plugs small leak.
131 * lily/lily-parser-scheme.cc:
132 plug memleak in case of failed files.
134 * lily/include/source.hh:
139 hi-bit ascii is also counted as alpha chars. This allows unicodeidentifiers, and fixes premature stop at accented char. (#134)
141 * lily/include/program-option.hh:
142 * lily/program-option.cc:
143 get_program_option() function
145 * ly/titling-init.ly:
146 change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing.
148 * lily/include/translator.hh:
149 * lily/include/translator.icc:
150 * lily/translator.cc:
153 * lily/figured-bass-engraver.cc:
154 don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128.
156 * stepmake/stepmake/compile-vars.make:
157 don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC
159 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
165 trim warning messages.
170 * input/regression/utf-8.ly:
171 document utf-8 meaning of phrases.
173 * scm/define-markup-commands.scm:
174 make \caps markup default to smallCaps
176 * lily/pango-font.cc:
178 use glyph indexing for glyph name .notdef
180 2006-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
182 * input/regression/utf-8.ly: Fix doc to match order of language
185 2006-11-01 Joe Neeman <joeneeman@gmail.com>
187 * lily/optimal-page-breaking.cc (try_page_spacing): don't average
188 page and line forces.
190 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
192 * GNUmakefile.in (SUBDIRS): remove cygwin dir too.
194 2006-10-31 Han-Wen Nienhuys <hanwen@lilypond.org>
196 * Documentation/user/GNUmakefile:
197 don't use ImageMagick, use GS directly.
200 otf depends on otf-g?table. Fixes race condition in -j2 build.
201 (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)
207 remove .deb/.rpm downloading.
209 * buildscripts/git-update-changelog.py:
210 bugfixes for git-update-changelog.py
212 * Documentation/user/GNUmakefile:
215 2006-10-30 Han-Wen Nienhuys <hanwen@lilypond.org>
217 * input/regression/tie-semi-single.ly:
218 use position/direction from single tie case too. This fixes
219 overrides and defaults for single laissez-vibrer and repeat ties.
221 * buildscripts/git-update-changelog.py:
222 only prepend header if one patch was successful.
224 2006-10-31 Jan Nieuwenhuizen <janneke@gnu.org>
226 * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
227 stuff. Remove cygwin packaging stuff.
229 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
231 * python/convertrules.py (conv): Part 2 fixes vertical extent.
233 * input/test/vertical-extent.ly: Fix and elaborate on vertical
234 staff extent. (Thanks Mats)
236 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
238 * buildscripts/git-update-changelog.py (main): write .msg and cvs
241 * scm/define-grobs.scm:
242 separation-items have width
248 * Documentation/topdocs/NEWS.tely:
249 * lily/separating-group-spanner.cc:
250 * lily/slur-engraver.cc:
251 * lily/slur-scoring.cc:
252 * scm/define-grobs.scm:
253 * input/regression/slur-clef.ly:
254 add breakableSeparationItem to extra encompass for slurs. This
255 fixes slur/clef slur/key collisions etc. Should fix #49
257 * lily/include/slur-scoring.hh:
258 * lily/slur-scoring.cc:
259 Use X of separation item as slur start. Fixes #120
261 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
263 * buildscripts/git-update-changelog.py (changelog_body): don't
266 * lily/grob.cc: add avoid-slur
268 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
272 move server/emacsclient to elisp/
274 * buildscripts/git-update-changelog.py (Commit.note_del_file):
277 * elisp/server.el.patch:
280 * elisp/emacsclient.patch:
283 * buildscripts/git-update-changelog.py:
290 * buildscripts/git-update-changelog.py:
291 script to update ChangeLog with Git messages.
293 * lily/beam-engraver.cc:
294 * input/regression/rest-pitched-beam.ly:
295 don't set callback if staff-position set. Fixes #126.
297 * lily/bar-number-engraver.cc:
299 * lily/fingering-engraver.cc:
300 * lily/grob-property.cc:
302 * lily/include/grob.hh:
303 * lily/include/lily-guile-macros.hh:
304 * lily/mark-engraver.cc:
305 * lily/melody-engraver.cc:
306 * lily/script-column.cc:
307 * lily/tie-formatting-problem.cc:
309 internal_get_property_data() using ly_symbol2scm()
311 * stepmake/stepmake/generic-targets.make:
312 create .gitignore in outdir.
317 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
319 * input/test/vertical-extent.ly:
320 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
322 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
324 * stepmake/bin/add-html-footer.py (compose): remove setgcos
326 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
328 * GNUmakefile.in (install-help2man): install-help2man target.
330 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
332 * SConstruct (configure): Do not check for /bin/sh.
334 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
336 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
339 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
341 * input/regression/fret-boards.ly: new file.
343 * po/de.po: new po courtesy translation team.
345 * scripts/lilypond-book.py (get_option_parser): add newline to doc
348 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
350 * ly/gregorian-init.ly (neumeDemoLayout): update
351 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
353 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
354 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
356 2006-10-27 Erlend Aasland <erlenda@gmail.com>
358 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
359 Yet another build fix.
361 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
363 * SConstruct (lilypondprefix): use sorted() for list_sort()
366 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
368 * flower/SConscript: Unit test rules.
370 * flower/test-std.cc: Compile fix.
372 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
374 * python/midi.c (pymidi_parse_track): warning fixes.
376 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
377 include dot-column.hh
379 2006-10-26 Graham Percival <gpermus@gmail.com>
381 * Documentation/user/{basic-, global}: minor changes from mailist.
383 2006-10-26 Erlend Aasland <erlenda@gmail.com>
385 * scm/define-grobs.scm: trivial beautification
387 * lily/tie-performer.cc: no need to #include "pqueue.hh"
389 * lily/source-file.cc: put multibyte var inside #if clause
391 * scm/define-grob-interfaces.scm:
392 * scm/define-grob-properties.scm:
393 Build fix (string-fret-finger-combinations)
395 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
398 * Documentation/user/lilypond-book.itely: Build fix.
400 2006-10-26 Joe Neeman <joeneeman@gmail.com>
402 * lily/system.cc (get_paper_system):
403 * lily/paper-book.cc (systems):
404 move most of the backwards compatibility stuff into
407 * Documentation/topdocs/NEWS.tely: add 2 entries for the
410 * Documentation/user/page.itely: remove time-scaled-music
411 bug for the Page_turn_engraver
413 * lily/paper-book.cc (set_system_penalty): backwards
414 compatibility (breakbefore) for the old page breaker
416 2006-10-25 Graham Percival <gpermus@gmail.com>
418 * Diocumentation/user/instrument-notation.itely: added more
419 info about stanzas; thanks Geoff!
421 * Documentation/user/ {basic, advanced}: small fixes from
424 * THANKS: add some bug reporters.
426 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
428 * scm/define-context-properties.scm (all-user-translation-properties):
429 noteToFretFunction: Add.
431 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
432 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
434 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
436 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
439 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
440 Remove bashism in delete.
442 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
444 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
446 * scm/translation-functions.scm (determine-frets-mf): flatten let*
448 * scm/define-context-properties.scm
449 (all-user-translation-properties): add maximumFretStretch property.
451 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
453 * lily/source-file.cc (get_counts): use multibyte variable.
455 * scm/translation-functions.scm (determine-frets-mf): new
456 function: compute fret numbers.
458 * scm/output-lib.scm (string-frets->description) new function.
459 (fret-board::calc-stencil): new function
461 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
463 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
465 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
467 * lily/tab-note-heads-engraver.cc: cleanups.
469 * lily/fretboard-engraver.cc: new file
471 * ly/engraver-init.ly: add FretBoards context
473 2006-10-24 Joe Neeman <joeneeman@gmail.com>
475 * lily/grob.cc (pure_relative_y_coordinate)
476 (pure_height): use the new call_pure_function stuff
478 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
481 * lily/side-position-interface.cc (pure_y_aligned_side): add an
484 * lily/simple-closure.cc (ly_eval_simple_closure): make
485 simple-closure evaluatable from scheme
486 (evaluate_with_simple_closure): make simple-closures pure-
489 * lily/slur.cc (pure_outside_slur_callback): new function
491 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
492 fits in with previous changes that made the page forces much
495 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
496 and pure-Y-extent into this new function.
497 (pure-conversions-alist): add outside-slur-callback
499 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
501 * Documentation/user/advanced-notation.itely (Instrument names):
502 Remove obsolete bug workaround for instrument names on piano
505 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
507 * Documentation/user/lilypond-book.itely (Integrating DocBook and
508 music): patch by Bertalan Fodor for docbook.
510 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
511 of $(LILYPOND). Prevents lilypond run for .txt files.
513 * INSTALL.txt: gitness.
515 * .cvsignore: update to force gitness.
517 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
519 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
520 detect suicide in nested tuplets.
522 2006-10-23 Werner Lemberg <wl@gnu.org>
524 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
525 typo in argument to FT_Get_X11_Font_Format.
527 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
529 * stepmake/stepmake/po-vars.make: more gitness.
531 * flower/polynomial.cc (check_sol): no empty if bodies.
533 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
535 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
537 2006-10-22 Jürgen Reuter <reuter@ipd.uka.de>
539 * Documentation/user/examples.itely (Transcription of mensural
540 music): Added more comments in .ly source. Suggest to remove
541 Forbid_line_break_engraver to allow line breaking at all bars.
543 * Documentation/user/instrument-notation.itely (Ancient
544 articulations): Updated @refbugs regarding episem.
546 * Documentation/user/instrument-notation.itely (Gregorian square
547 neumes ligatures): Added \augmentum dots. Updated @refbugs
548 regarding \augmentum.
550 * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
552 * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated
555 * lily/vaticana-ligature-engraver.cc: Added TODO comment for
558 * ly/gregorian-init.ly: Added \augmentum macro.
560 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
562 * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
564 * lily/pango-font.cc (pango_item_string_stencil): use
565 FT_Get_X11_Font_Format()
567 2006-10-22 John Mandereau <john.mandereau@free.fr>
569 * po/fr.po: update translation.
571 2006-10-21 Han-Wen Nienhuys <hanwen@lilypond.org>
573 * VERSION (PATCH_LEVEL): bump version
575 * input/regression/horizontal-bracket-break.ly: new file.
577 * scm/define-grobs.scm (all-grob-descriptions): calc
580 * lily/horizontal-bracket.cc (make_bracket): support
581 connect-to-neighbor. Fix #118
583 * VERSION: release 2.9.26-2
585 * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
587 * VERSION (PACKAGE_NAME): release 2.9.26
589 * buildscripts/output-distance.py (test_basic_compare): add
591 (FileLink.multi_img_cell): new function, glob multi-page png
594 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
596 * po/lilypond.pot: update.
598 * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
600 * Documentation/user/global.itely (File structure): remove
603 * lily/parser.yy (FIXME): remove ADDQUOTE
605 * Documentation/user/global.itely (Extracting fragments of
606 notation): new node, about clip systems.
608 * Documentation/user/lilypond-book.itely (Many quotes of a large
609 score): ref to clip systems.
611 * Documentation/user/instrument-notation.itely (Entering lyrics):
612 add note about lyric ties and required font.
614 * lily/open-type-font.cc (glyph_list): format errors.
616 * Documentation/user/programming-interface.itely (Scheme
617 procedures as properties): more doco on simple-closure and scheme
619 (Input variables and Scheme): use lilypond[verbatim], document
622 * Documentation/user/page.itely (Displaying spacing): use \book
623 explicitly, so arrows show .
624 (Line breaking): add note about Forbid_line_break_engraver
626 * Documentation/user/tweaks.itely (Common tweaks): also set length
627 to prevent tie squeezing.
628 (Default files): use @var{}
630 * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
631 (Generating LilyPond files): add FOMUS.
633 2006-10-20 Joe Neeman <joeneeman@gmail.com>
635 * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
636 Y-offset for TextScript and Script
638 * lily/text-engraver.cc (make_item):
639 * lily/script-engraver.cc (make_script_from_event):
640 remove call to Side_position_interface::set_axis since all scripts
641 now have this set by default
644 * lily/prob.cc: use variables
646 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
648 * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
649 at typography, rather analyse stream event duration.
651 * Documentation/user/page.itely (Page formatting): set a6 paper
652 for system separator example.
654 * lily/arpeggio.cc (Module): idem.
656 * lily/accidental-placement.cc: add script-priority property.
658 * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
660 * lily/ttf.cc (print_trailer): if all else fails: use
661 glyphIndexXXXX as glyph name. Fixes #117.
663 * lily/pango-font.cc (pango_item_string_stencil): only use cmap
664 entry if cmap contains glyph.
665 (get_index_to_charcode_map): remove from Pango_font class, use
666 global filename -> font mapping.
667 (get_glyph_index_name): new function.
668 (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
671 * scripts/lilypond-book.py (main): use -deps-box-padding=-3
673 * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
676 * scm/define-grob-properties.scm (all-user-grob-properties):
677 remove outdated doc. Fixes #116
679 * lily/completion-note-heads-engraver.cc (process_music): always
680 clone input events; otherwise we may overwrite input 'duration
681 property. Fixes #115.
683 * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
686 * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
689 * VERSION (PATCH_LEVEL): bump version.
691 2006-10-19 Han-Wen Nienhuys <hanwen@lilypond.org>
693 * lily/engraver.cc (internal_make_grob): use variables.
695 * flower/string-convert.cc (dec2double): clean-up warnings.
697 * configure.in (CXXFLAGS): add -Werror.
699 * VERSION (PACKAGE_NAME): release 2.9.25
701 2006-10-18 Joe Neeman <joeneeman@gmail.com>
703 * lily/simple-spacer.cc (get_line_forces): test for non-fitting
704 line even if we precede a forced break.
706 * lily/optimal-page-breaking.cc (try_page_spacing): square line
707 forces too. Make page-spacing weight default to 10 because the
708 changes to vertical springs decreased the page force/line force
709 proportions. Also, take the average of line force and page force
710 instead of just the sum.
712 * lily/constrained-breaking.cc (initialize): make the stiffness
713 of the vertical springs depend on the height of the system. This
714 prevents pages with only a few large systems from getting huge
717 * Documentation/user/page.itely (Page formatting): document the
718 change in default page-spacing-weight
720 * lily/include/constrained-breaking.hh: initialise bottom_padding_
722 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
724 * input/typography-demo.ly (melody): remove superfluous slur.
726 * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
727 add piano-pedal-script-interface
729 2006-10-18 Bertalan Fodor <lilypondtool@organum.hu>
731 * scripts/lilypond-book.py: DocBook support.
733 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
735 * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
737 (stop_translation_timestep): set bound to currentMusicalColumn if
738 not set yet. Fixes #102
740 * lily/piano-pedal-bracket.cc: formatting.
742 * input/test/engraver-one-by-one.ly (MyStaff): reformat.
744 * lily/piano-pedal-align-engraver.cc: new class
745 Piano_pedal_align_engraver. Handle side-positioning Y-alignment
748 2006-10-18 Heikki Junes <hjunes@gmail.com>
750 * po/fi.po: Update Finnish translation (before the next release).
752 2006-10-17 Joe Neeman <joeneeman@gmail.com>
754 * lily/system.cc (get_paper_system): reinstate the backwards-
755 compatible page breaking for the old page breaker.
757 2006-10-17 Erik Sandberg <mandolaerik@gmail.com>
759 * lily/recording-group-engraver.cc: removed
761 * lily/context.cc, lily/translator-group.cc: Don't touch
762 Context::implementation_ if it's null
764 2006-10-17 Han-Wen Nienhuys <hanwen@lilypond.org>
766 * scm/paper.scm: only use left-margin if defined.
768 * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
770 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
772 * lily/new-fingering-engraver.cc: stringFingerOrientations ->
773 strokeFingerOrientations
775 * lily/script-column.cc (row_before_line_breaking): also handle
776 accidentals and arpeggios in horizontal script stacking.
778 * lily/script-row-engraver.cc (acknowledge_accidental_placement):
781 * input/regression/script-stack-horizontal.ly: trim.
783 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
785 * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
788 * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
789 'text if string argument.
791 * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
793 * scm/define-context-properties.scm
794 (all-user-translation-properties): change to strokeFingerOrientations
796 2006-10-16 Erik Sandberg <mandolaerik@gmail.com>
798 * lily/parser.yy: remove debug output
800 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
802 * ly/paper-defaults.ly: set left/right margin.
804 * scm/paper.scm (set-paper-dimensions): use left-margin and
805 right-margin for computing linewidth.
807 * Documentation/topdocs/NEWS.tely (Top): idem.
809 * input/regression/lyric-tie.ly (texidoc): use vowels for tied
812 * scm/define-markup-commands.scm (tied-lyric): increase negative
813 space: space syllables tighter.
815 * VERSION (PATCH_LEVEL): bump version.
817 * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
820 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
822 * COPYING: further clarification
824 * VERSION: release 2.9.24
826 * input/regression/script-stack-horizontal.ly: add version.
828 * scm/lily-library.scm (list-join): use fold-right. Fixes #112
830 * input/regression/lyric-tie.ly (texidoc): use different words.
832 * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
834 2006-10-15 Erik Sandberg <mandolaerik@gmail.com>
836 * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
837 macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
839 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
841 * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4;
843 * Doxyfile: remove file.
845 * scm/define-grob-interfaces.scm (string-finger-interface): add
846 string-finger-interface
848 * lily/general-scheme.cc (LY_DEFINE): move
849 ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[]
851 * Documentation/topdocs/NEWS.tely (Top): add note for
852 string-finger feature.
854 * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
857 * scm/output-lib.scm (string-finger::calc-text): read 'digit
860 * input/regression/script-stack-horizontal.ly: new file.
862 * ly/engraver-init.ly: add Script_row_engraver.
864 * lily/script-column.cc (order_grobs): refactor: separate axis
866 (row_before_line_breaking): new function.
868 * lily/script-row-engraver.cc (Script_row_engraver): new file.
870 * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
872 2006-10-14 Jürgen Reuter <reuter@ipd.uka.de>
874 * Documentation/user/instrument-notation.itely: Cleanup: Remove
875 annoying skip notes from mensural ligature example. Update
876 @refbugs for ligatures and mensural ligatures.
878 * lily/coherent-ligature-engraver.cc,
879 lily/include/coherent-ligature-engraver.hh,
880 lily/mensural-ligature-engraver.cc,
881 lily/vaticana-ligature-engraver.cc: Revise code for item
882 reparentizing. There should now be less programming_error
885 * lily/mensural-ligature-engraver.cc: Improve placement of dots.
887 * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
888 Maintenance bugfix: Don't create empty Stencil (), but empty box
889 instead. This fix should eliminate some programming_error
892 * ly/engraver-init.ly (MensuralStaff): Set default accidental
895 * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
896 \layout block _before_ score.
898 2006-10-14 Han-Wen Nienhuys <hanwen@lilypond.org>
900 * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
902 * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
904 2006-10-13 Erlend Aasland <erlenda@gmail.com>
906 * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
908 2006-10-13 Han-Wen Nienhuys <hanwen@lilypond.org>
910 * VERSION (PATCH_LEVEL): bump version.
912 * COPYING: clarify exception note.
914 * lily/main.cc: remove remark about "COPYING".
916 * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
917 system-count starts at 0 for each clip-region. Change name to
918 FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
919 layout block, per score.
921 2006-10-13 Erik Sandberg <mandolaerik@gmail.com>
923 * lily/input-smob.cc: add equal_p for Input
925 * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
928 * lily/parser.yy: MY_MAKE_MUSIC sets music origin
930 * lily/prob.cc: Add equal_p predicate for Prob
932 * lily/translator.cc: small cleanup
934 * scm/document-music.cc: use data from translator listener
935 registration to generate documentation for event classes
937 * lily/*: Eliminate accept arg of ADD_TRANSLATOR
939 * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
941 2006-10-13 Jan Nieuwenhuizen <janneke@gnu.org>
943 * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
945 2006-10-12 Jan Nieuwenhuizen <janneke@gnu.org>
947 * Documentation/topdocs/INSTALL.texi: Thinko.
949 * .cvsignore: Update.
951 * lexer-gcc-3.1.sh: Remove.
953 * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
954 Update anonymous cvs access. Remove comment about gcc 3.0.4.
956 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
958 * VERSION: release 2.9.23
960 * lily/paper-column-engraver.cc (stop_translation_timestep): also
963 * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
965 * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
967 * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
969 * input/regression/clip-systems.ly (Notes): new file.
971 * scm/lily.scm (define-scheme-options): add clip-systems option.
973 * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
975 (dump-stencil-as-EPS): move bbox calculation from previous
977 (output-framework): use -dclip-systems
979 * scm/lily-library.scm (filtered-map): new function
981 * scm/framework-ps.scm (clip-system-EPS): new function.
982 (clip-system-EPSes): new function.
984 * lily/paper-column.cc: add rhythmic-location to interface
986 * scm/define-grob-properties.scm (all-user-grob-properties): add
987 rhythmic-location property.
989 * scm/clip-region.scm: new file: rhythmic-location data type and
990 system-clipped-x-extent function.
992 * ly/init.ly: use (scm clip-region)
994 * lily/paper-column-engraver.cc (stop_translation_timestep): set
995 rhythmic-location for paper column grobs.
997 * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
999 2006-10-12 Jürgen Reuter <reuter@ipd.uka.de>
1001 * ly/engraver-init.ly: Remove obsolete comment on
1002 Bar_number_engraver.
1004 * Documentation/user/instrument-notation.itely: Tune Ancient
1005 Articulations figure, such that the episem actually shows.
1007 * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
1008 fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
1010 * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
1013 2006-10-12 Graham Percival <gpermus@gmail.com>
1015 * Documentation/user/ {some}: minor edits that were lost somehow.
1017 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1019 * VERSION (PACKAGE_NAME): bump version.
1021 * input/regression/lyric-tie.ly (texidoc): new file.
1023 * Documentation/topdocs/NEWS.tely (Top): add new feature.
1025 * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
1027 * scm/define-markup-commands.scm (tied-lyric): new function: split
1028 string along ~ and reattach with U+203F (tie character) and
1031 * scm/output-lib.scm (lyric-text::calc-text): new function.
1033 * lily/lyric-engraver.cc (process_music): don't set 'text.
1035 * scm/output-lib.scm (string-finger::calc-text): new function
1036 (lyric-text::print): new function.
1038 * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1039 generic for fingering & string number. Use for string-finger.
1041 * scm/define-music-types.scm (music-descriptions): add
1044 * lily/fingering-engraver.cc (listen_string_finger): new function
1046 * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1048 * scm/define-context-properties.scm
1049 (all-user-translation-properties): add stringFingerOrientations
1051 2006-10-11 Jürgen Reuter <reuter@ipd.uka.de>
1053 * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1054 ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1056 * lily/dots.cc: Added style property for dots.
1058 * mf/parmesan-heads.mf: Fix typo in comment.
1060 * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1061 adding longa head to feta font and removing obsolete default
1062 mapping scheme code.
1064 2006-10-10 Han-Wen Nienhuys <hanwen@lilypond.org>
1066 * scm/output-lib.scm (fingering::calc-text): use origin
1067 event-property, not music-property.
1069 * lily/lilypond.rc.in: spell my name correctly.
1071 2006-10-10 Joe Neeman <joeneeman@gmail.com>
1073 * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1074 already have a non-empty extent. Fixes estimation for Hara-kiri
1077 2006-10-09 Jürgen Reuter <reuter@ipd.uka.de>
1079 * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1082 * lily/ligature-engraver.cc: Remove unused #include.
1084 * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1085 Bugfix: remove method check_for_prefix_loss(Item *) from global
1086 namespace to avoid namespace pollution.
1088 2006-10-09 Han-Wen Nienhuys <hanwen@lilypond.org>
1090 * VERSION: release 2.9.22
1092 * ly/generate-documentation.ly: update option name.
1094 * lily/dynamic-text-spanner.cc (print): revert fix.
1096 * scm/define-grob-interfaces.scm
1097 (trill-pitch-accidental-interface):
1098 add trill-pitch-accidental-interface
1100 * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1101 dereference if it's really a duration.
1103 * lily/figured-bass-engraver.cc (process_music): clear spanner if
1104 useBassFigureExtenders is not set.
1105 (listen_bass_figure): record as new event if
1106 useBassFigureExtenders not set. Fixes #103.
1108 * scm/stencil.scm (circle-stencil): don't center stencil argument,
1109 instead: move circle. Fixes #107.
1111 * scm/define-grobs.scm (all-grob-descriptions): set
1112 allow-loose-spacing for PaperColumn and
1113 NonMusicalPaperColumn. Kludge for #110.
1115 * lily/spaceable-grob.cc: add allow-loose-spacing property.
1117 * lily/spacing-determine-loose-columns.cc (is_loose_column):
1118 allow-loose-spacing property.
1120 * scm/define-markup-commands.scm (postscript): gsave & grestore
1121 around embedded PS. Do setlinewidth too. Fixes #109.
1123 2006-10-08 Jürgen Reuter <reuter@ipd.uka.de>
1125 * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1126 code. This patch fixes ligature brackets that were not at all
1129 2006-10-08 Graham Percival <gpermus@gmail.com>
1131 * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1133 * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1135 * scm/define-context-properties.scm: clarified docs (bug 91).
1137 * Documentation/user/basic-notation.itely: document volta brackets
1138 not aligning (bug 63).
1140 * Documentation/user/ global.itely invoking.itely: ignore or
1141 add warnings about texstr.
1143 2006-10-08 John Mandereau <john.mandereau@free.fr>
1145 * po/fr.po: update translation.
1147 * po/: update msgids.
1149 2006-10-08 Jan Nieuwenhuizen <janneke@gnu.org>
1151 * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1153 2006-10-08 Nicolas Sceaux <nicolas.sceaux@free.fr>
1155 * Documentation/user/page.itely (Two-pass vertical spacing): add
1156 documentation for two-pass spacing technique.
1158 2006-10-06 Graham Percival <gpermus@gmail.com>
1160 * Documentation/user/convert-ly.txt: new file; new
1161 storage place for this file (moved from bugs/ CVS).
1163 2006-10-06 Jürgen Reuter <reuter@ipd.uka.de>
1165 * lily/note-head.cc: Fixed programming_error message.
1167 2006-10-06 Han-Wen Nienhuys <hanwen@lilypond.org>
1169 * scm/define-grobs.scm (pure-conversion): move pure-callback
1172 * scm/script.scm (default-script-alist): set avoid-slur for turn,
1173 marcato, stopped, thumb.
1175 2006-10-05 Han-Wen Nienhuys <hanwen@lilypond.org>
1177 * lily/completion-note-heads-engraver.cc (process_music): don't
1178 skimp on memory usage.
1180 * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1183 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1184 parenthesis item. This fixes premature Y-extent triggering. Fixes
1187 * VERSION (PATCH_LEVEL): bump version.
1189 2006-10-04 Graham Percival <gpermus@gmail.com>
1191 * Documentation/user/advanced-notation.itely: added
1192 info about instrument names for piano or other contexts,
1195 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1197 * mf/feta-bolletjes.mf (solfa_quarter_width): use
1198 solfa_base_notewidth as unit for non-DO-notes too.
1200 * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1202 * VERSION: release 2.9.21
1204 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1207 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1209 * python/lilylib.py (progress): Minor fix.
1211 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1213 * lily/note-name-engraver.cc: doc engraver.
1215 * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1217 * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1219 * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1222 * lily/stem-engraver.cc (make_stem): don't set duration-log
1224 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1225 write snippet-names binary.
1227 * python/lilylib.py (system): use os.system for mingw32
1229 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1232 * scm/backend-library.scm: update email address.
1234 * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1237 * scm/define-grobs.scm (all-grob-descriptions): use callback to
1240 * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1241 handle dot creation separately.
1243 * lily/tab-note-heads-engraver.cc (process_music): idem.
1245 * lily/drum-note-engraver.cc (process_music): idem.
1247 * lily/note-heads-engraver.cc (process_music): idem.
1249 * lily/rest-engraver.cc: don't set duration-log.
1251 * scm/output-lib.scm (string-number::calc-text): new function.
1252 (note-head::calc-duration-log): new function.
1254 * lily/fingering-engraver.cc (make_script): remove 'text setting.
1256 * scm/output-lib.scm (fingering::calc-text): new function.
1258 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1260 * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1261 and include-eps-font -> include-eps-fonts
1263 2006-10-03 Han-Wen Nienhuys <hanwen@lilypond.org>
1265 * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1267 * lily/timing-translator.cc: list properties.
1268 (start_translation_timestep): update internalBarNumber too.
1270 * scm/define-context-properties.scm
1271 (all-user-translation-properties): add internalBarNumber.
1273 * input/regression/spacing-no-note.ly: new file.
1275 * buildscripts/output-distance.py (link_file): verbosity for OSError.
1277 * lily/book.cc: #include cleanup.
1279 * lily/include/lily-guile-macros.hh: add assert to
1280 scm_or_str2symbol(SCM).
1282 * VERSION (PATCH_LEVEL): bump version.
1284 * lily/spacing-spanner.cc (musical_column_spacing): handle
1285 musical->nonmusical spacing case, where there is no spacing
1286 wish. Fixes issue #61.
1288 * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1289 (pango_item_string_stencil): use logical rect horizontally (to
1290 preserve spaces), ink_rect vertically (for time signatures).
1292 * lily/font-metric.cc (word_stencil): new interface function
1294 * input/regression/utf-8-mixed-text.ly: new file.
1296 * lily/percent-repeat-engraver.cc (listen_percent): remove
1299 * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1300 non-dynamic scripts. Fixes #30.
1302 * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1304 * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1306 * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1307 SCM_UNDEFINED for non-existent data.
1309 * lily/side-position-interface.cc (general_side_position): allow
1310 optional current_offset argument for chaining, so combinations of side-position
1311 and outside slur callback don't add up. Fixes issue #92.
1313 * lily/pango-font.cc (pango_item_string_stencil): use
1314 logical_rect. This prevents spaces after words from disappearing,
1317 * VERSION: release 2.9.20
1319 2006-10-02 Han-Wen Nienhuys <hanwen@lilypond.org>
1321 * scm/define-grob-properties.scm (all-user-grob-properties):
1322 mention stencil as user settable.
1324 2006-10-02 Joe Neeman <joeneeman@gmail.com>
1326 * Documentation/user/page.itely (Page formatting):
1327 document auto-first-page-number
1329 * lily/page-breaking.cc (find_chunks_and_breaks):
1330 * lily/paper-score.cc (calc_breaking): Follow changes to the
1331 Constrained_breaking interface
1333 * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1334 here backwards, as an optimisation
1335 (initialize): new function; move most of the code in resize () here
1336 (combine_demerits): cache ragged_right_
1337 (Constrained_breaking): constructor now takes the Paper_score
1339 2006-10-02 Erik Sandberg <mandolaerik@gmail.com>
1341 * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1342 avoid parser lookahead for 0-ary functions.
1344 * lily/translator.cc: Extract event classes from
1345 IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1347 2006-10-02 Heikki Junes <hjunes@gmail.com>
1349 * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1352 2006-10-01 Nicolas Sceaux <nicolas.sceaux@free.fr>
1354 * scm/layout-page-layout.scm (page-breaking-wrapper): new
1355 function. Call the page breaking function selected in the
1356 `page-breaking' \paper variable, then the post processing function
1357 chosen using the `page-post-process' \paper variable.
1358 (line-height): new function. Return the height of a system.
1359 (line-minimum-position-on-page): new function. Return the position
1360 of a system on page (using the previous line position), only
1361 considering between system padding.
1362 (stretchable-line?): new function. Says whether a line can be
1363 stretched (ie. is not a title nor a single staff system).
1364 (page-maximum-space-left): new function. Computes space left on a
1365 page, when all systems are separated by their padding.
1367 * lily/page-breaking.cc (breaking::make_pages): Move page post
1368 processing function call to page breaking wrapper (common to all
1371 * lily/paper-book.cc (book::pages): call the page breaking
1372 wrapper, instead of the page breaker directly
1374 * ly/paper-defaults.ly: Add \paper variables for page breaking
1375 wrapper and page post processing function. Make
1376 `write-page-layout' value depend on the 'dump-tweaks option. Add a
1377 `system-maximum-stretch-procedure' variable for holding a function
1378 computing the maximum stretch a system allows.
1380 * scm/layout-page-dump.scm (write-page-breaks): computes the
1381 stretch to apply to systems on a page to minimize left
1382 space. Dump this stretch length.
1384 * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1385 the system-stretch property of the tweak data to stretch the
1387 (includePageLayoutFile): Void function which includes the
1388 generated page-layout file if it exists and if the page layout
1389 dumping is not asked.
1390 (scoreTweak): if the score tweak named by the argument exists,
1393 2006-10-01 Joe Neeman <joeneeman@gmail.com>
1395 * lily/page-spacing.cc (compress_lines, uncompress_solution):
1396 handle correctly the case where there are multiple \noPageBreaks
1399 2006-09-30 Laura Conrad <lconrad@laymusic.org>
1401 * abc2ly.py adds segno (S) and Coda (O) to articulations.
1403 * abc2ly.py fix so that entering " -- " will translate to a -- in
1404 the lilypond instead of a " - - "
1406 2006-09-30 Han-Wen Nienhuys <hanwen@lilypond.org>
1408 * lily/align-interface.cc: fix typo
1410 * lily/dynamic-text-spanner.cc (print): Add a special case for
1411 trill spanner right sides.
1413 * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1415 * lily/align-interface.cc (get_extents_aligned_translates): add
1416 support for padding variable.
1418 * lily/break-align-interface.cc (self_align_callback): oops: use
1419 loop variable in guard.
1421 * input/regression/repeat-percent-grace.ly: new file.
1423 * lily/percent-repeat-engraver.cc (start_translation_timestep):
1424 remember first currentCommandColumn of a grace run. Fixes issue 70.
1426 * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1427 move class definition to CC file.
1429 * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1431 * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1432 measure-long repeats.
1434 * flower/include/international.hh: include stdarg.h
1436 2006-09-30 Joe Neeman <joeneeman@gmail.com>
1438 * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1439 put_systems_on_pages to return an empty result, we need to assign
1440 demerits properly in that case.
1441 (put_systems_on_pages): Make the number of pages depend on the
1442 evenness of page_number. Add auto-first-page-number.
1443 (calc_subproblem): ensure that the page-number is even for the
1444 left-hand page. Warn if the first page-turn doesn't fit onto the
1445 first (right-hand) page.
1447 * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1448 (min_page_count): make this publicly accessible
1449 (min_page_count): fix a bug when there are forced page breaks that
1450 was introduced when I made this loop run backwards
1451 (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1452 replace space_systems_on_min_pages with these two. The logic in
1453 space_systems_on_min_pages was getting too convoluted and is better
1454 contained in page-turn-page-breaking.
1456 * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1458 (breakable_column): typo
1460 * lily/source-file.cc (get_line): fix off-by-one error
1461 and clean up some of the logic
1463 2006-09-29 Joe Neeman <joeneeman@gmail.com>
1465 * lily/page-breaking.cc (make_pages): honour the first-page-number
1468 2006-09-27 Han-Wen Nienhuys <hanwen@lilypond.org>
1470 * VERSION (PACKAGE_NAME): bump version.
1472 2006-09-26 Pal Benko <benko.pal@gmail.com>
1474 * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1475 (the latter is the same as petrucci-f which is kept for compatibility)
1477 2006-09-26 Erik Sandberg <mandolaerik@gmail.com>
1479 * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1481 2006-09-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1483 * lily/global-context.cc (run_iterator_on_me): break out of loop
1484 if moment doesn't increase.
1486 * scm/define-grob-properties.scm (all-user-grob-properties): add
1489 * lily/accidental.cc (after_line_breaking): read forced property.
1491 * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1494 * input/regression/accidental-forced-tie.ly: new file.
1496 2006-09-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1498 * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1500 * lily/figured-bass-engraver.cc: only listen to rest events if
1501 ignoreFiguredBassRest is not set.
1503 * scm/define-context-properties.scm
1504 (all-user-translation-properties): add ignoreFiguredBassRest property
1506 2006-09-24 Joe Neeman <joeneeman@gmail.com>
1508 * lily/paper-book.cc (get_system_specs):
1509 (set_system_penalty): fix breakbefore.
1510 We used to set a penalty on the system after the break, now we
1511 set a permission on the system before the break
1513 * lily/grob-property.cc: add scm debugging hooks into
1514 property modification
1516 * lily/context-property.cc:
1518 rename make_foo_from_properties to internal_make_foo and
1519 move it from context-property.cc to a member function of
1522 * lily/include/lily-guile-macros.hh:
1523 overload ly_symbol2scm macro so that there is no more need
1526 * lily/volta-repeat-iterator.cc:
1527 * lily/tweak-engraver.cc:
1528 * lily/tuplet-bracket.cc:
1529 * lily/span-bar-engraver.cc:
1530 * lily/script-engraver.cc:
1531 * lily/prob-scheme.cc:
1532 * lily/pointer-group-interface.cc:
1534 * lily/grob-scheme.cc:
1535 * lily/grob-property.cc:
1537 * lily/context-property.cc:
1538 * lily/break-substitution.cc:
1539 * lily/break-align-engraver.cc:
1540 * lily/axis-group-interface.cc:
1541 * lily/align-interface.cc:
1542 remove calls to internal_FOO
1544 * lily/system-start-delimiter-engraver.cc:
1545 * lily/parenthesis-engraver.cc:
1546 * lily/accidental-engraver.cc:
1547 remove calls to make_foo_from_properties
1549 2006-09-23 Graham Percival <gpermus@gmail.com>
1551 * Documentation/user/programming-iterfaces.itely: fix
1552 def-music-function -> define-music... leftover.
1554 2006-09-23 Joe Neeman <joeneeman@gmail.com>
1556 * lily/page-spacing.cc (min_page_count): by running the loop
1557 backwards, we can calculate ragged_last properly.
1559 2006-09-22 Mats Bengtsson <mabe@drongo.s3.kth.se>
1561 * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1562 printfirst-page-number -> print-first-page-number
1564 * python/convertrules.py: corresponding rule.
1566 * Documentation/user/page.itely (Page formatting): Document the
1567 default values of all page layout parameters.
1569 2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
1571 * lily/lexer.ll: remove limitation on music function arity. New
1572 mode extratoken, which inserts extra EXPECT_* tokens after
1573 MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1575 * lily/parser.yy: Change grammar for music function accordingly.
1577 * lily/include/lily-parser.hh: New method get_state, new member
1578 hidden_state. Works around a problem when parser fetches
1579 MUSIC_FUNCTION token but not the following EXPECT_* token.
1581 * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1584 * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1585 references to Music; use ASSIGN_EVENT_ONCE everywhere
1587 * lily/grob-info.cc: junk *music_cause
1589 * lily/music.cc: copy eventified articulations to stream event
1591 * lily/part-combine-iterator.cc: Cleanup using enums
1593 * lily/translator-group.cc: Junk OldMusicEvent, and associated
1596 * lily/include/engraver.hh: Junk music.hh include
1598 * lily/stream-event.cc: Changed constructors
1600 2006-09-21 Graham Percival <gpermus@gmail.com>
1602 * Documentation/user/tweaks.itely (Fitting music onto fewer
1603 pages): change settings to avoid warning messages.
1605 2006-09-21 Mats Bengtsson <mabe@drongo.s3.kth.se>
1607 * Documentation/user/tweaks.itely (Fitting music onto fewer
1608 pages): Add between-system-space setting.
1610 2006-09-21 Han-Wen Nienhuys <hanwen@lilypond.org>
1612 * lily/accidental-placement.cc (calc_positioning_done): don't
1613 trigger Y-extent calculation too early. Use pure_height instead.
1615 * lily/scale.cc (LY_DEFINE): new file.
1617 2006-09-20 Joe Neeman <joeneeman@gmail.com>
1619 * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1620 that happen at the start of a score: having a zero-length
1621 chunk was messing up min_system_count calculations.
1623 * lily/source-file.cc (get_line): lower_bound, not
1624 binary_search. Fixes problem where point-and-click would
1625 always point to the first line.
1627 2006-09-20 Han-Wen Nienhuys <hanwen@lilypond.org>
1629 * lily/accidental-placement.cc (calc_positioning_done): also put
1630 stems into accidental support.
1632 * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1635 * scm/script.scm (default-script-alist): avoid-slur and
1636 slur-padding for portato script.
1638 * lily/stem-tremolo.cc (translated_stencil): new function.
1639 (height): use new function. Fixes tremolos on whole notes.
1641 * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1644 2006-09-19 Han-Wen Nienhuys <hanwen@lilypond.org>
1646 * scripts/abc2ly.py (try_parse_comment): idem.
1648 * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1649 bar_string iso. string.find()
1653 * lily/slur.cc (get_curve): always use scm_is_pair() looping
1656 2006-09-18 Graham Percival <gpermus@gmail.com>
1658 * Documentation/user/basic-notation.itely: add bug
1659 warning about ties and octavation/clef.
1661 2006-09-18 Han-Wen Nienhuys <hanwen@lilypond.org>
1663 * VERSION (PACKAGE_NAME): release 2.9.18
1665 2006-08-29 Milan Zamazal <pdm@brailcom.org>
1667 * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1668 figure out midi file names right here.
1670 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1672 * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1674 * scm/backend-library.scm: option naming: gs-font-load*s*
1676 * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1679 2006-09-17 Joe Neeman <joeneeman@gmail.com>
1681 * scm/define-music-types.scm (music-descriptions): remove
1682 BreakEvent and fix {Page,Line}{Break,Turn}Event so
1683 Music::to_event doesn't complain.
1685 * lily/accidental-placement.cc (ape_compare):
1686 * lily/semi-tie.cc (compare):
1687 * lily/note-column.cc (shift_compare): replace by XXX_less
1689 * lily/tie-formatting-problem.cc (set_chord_outline):
1690 * lily/tie-column.cc (calc_positioning_done):
1691 * lily/system.cc (post_processing)
1693 * lily/stem.cc (note_head_positions)
1694 (calc_positioning_done):
1695 * lily/spanner.cc (do_break_processing)
1696 (find_broken_piece):
1697 * lily/span-bar.cc (print):
1698 * lily/semi-tie-column.cc (calc_positioning_done):
1699 * lily/rest-collision.cc (calc_positioning_done):
1700 * lily/program-option.cc (get_help_string):
1701 * lily/note-collision.cc (get_clash_groups):
1702 * lily/new-fingering-engraver.cc (position_scripts):
1703 * lily/keyword.cc (Keyword_table):
1704 * lily/hara-kiri-group-spanner.cc (request_suicide):
1705 * lily/grob-pq-engraver.cc (stop_translation_timestep):
1706 * lily/accidental-placement.cc (calc_positioning_done):
1708 * lily/beam.cc (get_beam_segments):
1709 * lily/grob-array.cc (remove_duplicates):
1712 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1713 ragged-last-bottom = ##f (test the new page breaker)
1715 * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1717 * scm/define-context-properties.scm
1718 (all-internal-translation-properties): remove properties that
1719 were used to communicate page-turn stuff to the paper-column
1722 * lily/lily-guile.cc (robust_scm2string): new function
1724 * lily/paper-column-engraver.cc: Clean up page turn stuff
1726 * lily/page-turn-engraver.cc: Re-write the page turn logic here
1727 instead of cluttering up paper-column-engraver.cc
1729 2006-09-17 Nicolas Sceaux <nicolas.sceaux@free.fr>
1731 * scm/layout-page-dump.scm (scm): export utility function names,
1732 to allow user writing cutsom dumping functions.
1734 * scm/layout-page-layout.scm: export utility function names to
1735 enable custom page breaking function writing. Tabify.
1736 (line-next-space): use ?-suffix only for predicates
1737 (page-maximum-space-to-fill): new function. Return the space
1738 between first and bottom system of a page, to give to
1740 (space-systems): use a space-to-fill argument (for instance as
1741 computed by page-maximum-space-to-fill) instead of computing
1742 internaly this space with the page height. That way, the caller
1743 can adjust the space to use.
1744 (make-page-from-systems, walk-paths): compute space to fill before
1745 calling space-systems.
1747 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1749 * scm/script.scm (default-script-alist): set paddings for every
1750 type here, increase for portato mark.
1752 * scm/lily.scm (define-scheme-options): typo: add s, so it is
1755 2006-09-16 Han-Wen Nienhuys <hanwen@lilypond.org>
1757 * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1758 use spanner::set-spacing-rods
1760 * lily/note-column.cc: reformat.
1762 * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1763 step positioning for note/rest combinations.
1765 * input/regression/rest-note-collision.ly: new file.
1767 * scm/define-grobs.scm (all-grob-descriptions): add
1770 * flower/include/std-vector.hh: switch off again.
1772 * VERSION (PATCH_LEVEL): bump to 2.9.18
1774 * flower/include/std-string.hh: idem.
1776 * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1778 2006-09-15 Mats Bengtsson <mabe@drongo.s3.kth.se>
1780 * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1783 2006-09-08 Joe Neeman <joeneeman@gmail.com>
1785 * Documentation/user/page.itely: update page breaking documentation
1787 2006-09-07 Han-Wen Nienhuys <hanwen@lilypond.org>
1789 * lily/note-collision.cc (calc_positioning_done): only access
1790 first head if available.
1792 * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1794 * scm/framework-ps.scm (output-preview-framework): use new name.
1796 * lily/program-option.cc (internal_set_option): use new names.
1798 * Documentation/user/SConscript (lilypond_book_flags): update -d
1801 * Documentation/user/lilypond-book.itely (Inserting LilyPond
1802 output into other programs): new variable names.
1804 * scm/lily.scm (define-scheme-options): uniformize var names.
1806 * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1807 tuplets_ is non-empty before popping.
1809 2006-09-07 Joe Neeman <joeneeman@gmail.com>
1811 * lily/spanner.cc (find_broken_piece):
1812 * lily/spacing-spanner.cc (get_columns):
1813 * lily/source-file.cc (get_line):
1814 * lily/simple-spacer.cc (get_column_description):
1815 * lily/keyword.cc (lookup):
1816 use the new binary search.
1818 * flower/include/std-vector.hh: replace binary_search with
1819 a more STL-like version
1821 2006-09-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1823 * lily/tie-performer.cc: remove unused last_event_ property.
1824 (class Tie_performer): add now_tied_heads_ property for
1825 partially-tied heads.
1826 (acknowledge_audio_element): when adding an Audio_note, put the
1827 note in now_tied_heads_ if the audio note is partially tied.
1828 (stop_translation_timestep): always include entries in
1829 now_tied_heads_ in heads_to_tie_.
1831 * lily/drum-note-performer.cc (process_music): look for tie-events
1832 in the articulations; pass to Audio_note constructor.
1834 * lily/note-performer.cc (process_music): look for tie-events in
1835 the articulations; pass to Audio_note constructor.
1837 * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1840 * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1841 include initializer in constructor.
1843 2006-09-02 Joe Neeman <joeneeman@gmail.com>
1845 * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1846 unless they are breakable. This fixes discrepancies between the forces
1847 calculated here and the forces calculated in get_line_configuration.
1849 * lily/grob.cc (pure_relative_y_coordinate): fix some
1850 mis-estimation that was happening with piano staves.
1852 * lily/constrained-breaking.cc (resize): don't choke if we get a
1853 measure that won't fit on a line.
1854 (combine_demerits): don't consider uniformity when ragged
1856 * lily/page-spacing.cc (solve): why the f* were there two of these?
1857 (calc_subproblem): properly handle the case where a system is taller
1860 * lily/system.cc (get_paper_system): ensure that all the permissions
1861 and penalties are passed to the paper systems.
1863 * lily/page-breaking.cc (create_system_list): support system-count.
1865 * scm/define-grobs.scm (pure-print-callbacks): add
1866 ly:script-interface::print
1868 * lily/page-spacing.cc (min_page_count): fix calculation of min
1869 pages if we are ragged and there are non-zero springs.
1871 * scm/layout-page-layout.scm: if the pure-height estimates are under
1872 the real height, allow space-systems to ignore padding if it is
1873 needed in order to fit the systems on one page
1875 * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
1877 (solve): fix performance problem. Make sure we always get at least
1880 * lily/page-breaking.cc (make_pages): include write-page-breaks
1883 * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
1885 * scm/define-grobs.scm: add the new slur-callback
1886 fix pure-relevant to not exclude grobs whose extent is already
1889 * ly/paper-defaults.ly: make ly:optimal-breaking the new default
1892 * lily/slur.cc (pure_height): new callback to estimate the height
1895 2006-09-02 Graham Percival <gpermus@gmail.com>
1897 * Documentation/user/invoking.itely: small update on
1898 MacOS X notes; thanks Trevor!
1900 2006-09-01 Han-Wen Nienhuys <hanwen@lilypond.org>
1902 * VERSION (MY_PATCH_LEVEL): release 2.9.17
1904 * lily/lexer.ll: accept EOF in all states.
1906 * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
1908 * lily/source-file.cc (Source_file): always 0-terminate character
1909 array, to prevent Flex from barfing.
1911 * lily/global-context.cc (get_output): robustness: don't crash if
1912 no Score context found.
1914 * lily/include/book.hh (class Book): idem.
1916 * lily/include/context-def.hh (struct Context_def): idem.
1918 * lily/include/score.hh (class Score): don't derive from Input.
1920 * lily/book.cc (Book): add a copy ctor.
1922 * buildscripts/output-distance.py (FileLink.calc_distance): count
1923 orphans in distance too.
1925 * python/midi.c (midi_parse_track): robustness: don't read past
1928 * ly/performer-init.ly: add Control_track_performer, move
1929 Tempo_performer and Time_signature_performer to Score.
1931 * lily/score-performer.cc (acknowledge_audio_elements): override
1932 from base class: add to audio-columns
1934 * lily/control-track-performer.cc (add_text): new file: generate
1937 * lily/performance.cc: move output_header_track to
1938 Control_track_performer ()
1940 * lily/midi-walker.cc (Midi_walker): get channel in constructor.
1942 * lily/include/midi-item.hh (class Midi_channel_item): insert
1943 class into hierarchy, for items that can have a channel setting. Dehungarify.
1945 * lily/include/performer.hh (class Performer): remove
1946 play_element(); move functionality into announce/acknowledge.
1948 * lily/audio-staff.cc (output): remove channel_ from Midi_track.
1950 * lily/tie-engraver.cc (stop_translation_timestep): only wipe
1951 heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties.
1953 2006-08-28 Han-Wen Nienhuys <hanwen@lilypond.org>
1955 * lily/tie-engraver.cc (stop_translation_timestep): robustness for
1958 * lily/all-font-metrics.cc: remove TFM support.
1960 * lily/include/tfm.hh: remove TFM support, TFM reader.
1962 * lily/include/binary-source-file.hh: remove Binary_source_file.
1964 2006-08-27 Graham Percival <gpermus@gmail.com>
1966 * Documentation/topdocs/NEWS.itely: add @c marker for
1967 stuff I've processed.
1969 * Documentation/user/ various: info from NEWS.
1971 2006-08-27 Joe Neeman <joeneeman@gmail.com>
1973 * lily/paper-column-engraver.cc (finalize): Oops, this change
1974 should have gone in on 2006-08-23
1976 2006-08-26 Mats Bengtsson <mabe@s3.kth.se>
1978 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
1979 quotes to quote arguments. Fixes Windows problem.
1981 * python/lilylib.py (progress): idem
1983 2006-08-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1985 * scripts/musicxml2ly.py: fix for importing
1986 minor key signatures from MusicXML. (Phillip Kirlin)
1988 2006-08-24 Phillip Kirlin <pkirlin@acm.org>
1990 * python/musicxml.py:
1991 (Attributes.get_key_signature): now correctly retrieves mode from
1994 2006-08-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1996 * lily/parser.yy (output_def_body): take ownership of identifier
1999 * Documentation/user/advanced-notation.itely (Metronome marks):
2000 update use of \tempo in \midi.
2002 * VERSION: release 2.9.16
2004 2006-08-24 Erik Sandberg <mandolaerik@gmail.com>
2006 * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
2009 2006-08-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2011 * input/regression/tie-chord-partial.ly: clarify example.
2013 * scm/define-music-properties.scm (all-music-properties): remove
2016 * ly/music-functions-init.ly: remove \untied.
2018 * lily/tie-engraver.cc (struct Head_event_tuple): store both
2019 stream events and music events.
2020 (stop_translation_timestep): search acknowledged heads for
2023 * input/regression/tie-chord-partial.ly: new file.
2025 * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
2026 for \char markup command.
2028 * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2030 * scm/define-music-types.scm (music-descriptions): consistency:
2031 Use solo-{one,two}-event iso. solo-[12]-event.
2033 * lily/part-combine-engraver.cc (process_music):
2034 Use solo-{one,two}-event iso. solo-[12]-event.
2036 * ly/declarations-init.ly (partCombineListener): add Timing as
2039 * flower/std-string.cc (string_copy): use copy ()
2041 * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2043 2006-08-24 Graham Percival <gpermus@gmail.com>
2045 * Documentation/user/changing-defaults.itely, global.itely,
2046 lilypond-book.itely, page.itely: minor changes from mailist.
2048 2006-08-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2050 * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2053 * scm/define-context-properties.scm
2054 (translator-property-description): robustness: detect type errors
2055 in property definitions.
2057 * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2058 after getting it from SCM.
2060 * lily/smobs.cc (protect_smob): switch off fancy smob protection
2063 * lily/include/performer.hh (class Performer): strip get_tempo()
2066 * lily/midi-def.cc: strip file.
2068 * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2070 * lily/include/context-def.hh (struct Context_def): use
2071 VIRTUAL_COPY_CONSTRUCTOR().
2073 * lily/source-file.cc: smobification.
2075 * lily/include/source-file.hh (class Source_file): smobify
2076 Source_file. Trim redundant members.
2078 * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2079 clones after creation. This plugs a huge memory leak.
2081 * python/convertrules.py (FatalConversionError.sub_tempo):
2082 complete rule for \midi{ \tempo }
2084 * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2086 * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2088 2006-08-23 Joe Neeman <joeneeman@gmail.com>
2090 * input/regression/optimal-page-breaking-hstretch.ly: test for
2091 ragged-last-bottom also
2093 * lily/paper-column-engraver.cc (finalize): make the end of a score
2094 breakable by default. This is to balance out a change in behaviour
2095 of the page-turn-breaker which no longer makes the end of a score
2098 * lily/paper-book.cc (pages): set the systems_ once the pages are
2101 * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2102 Page_breaking interface.
2104 * lily/page-breaking.cc (class Page_breaking): make the interface
2105 more consistent and provide abstractions for dealing with
2108 * lily/optimal-page-breaking.cc (solve): use a more straightforward
2109 algorithm. Use the new interface to Page_breaking.
2111 * lily/page-spacing.cc: better support for ragged-bottom and
2114 2006-08-22 Han-Wen Nienhuys <hanwen@lilypond.org>
2116 * python/convertrules.py (conv): warning on \tempo{}
2118 * ly/performer-init.ly: set tempoWholesPerMinute.
2120 * ly/midi-init.ly: remove \midi
2122 * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2125 * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2126 tempoUnitDuration for determining what to print.
2128 * lily/lyric-extender.cc: typo.
2130 * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2132 * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2135 * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2137 * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2138 eps-pad-boxes is set.
2140 * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2142 * THANKS: update sponsors.
2144 * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2146 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2148 * input/regression/tie-chord-untied.ly: new file.
2150 * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2152 * scm/define-music-properties.scm (all-music-properties): add
2155 * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2157 (headertext_nopics): sanitize no-examples text.
2159 * scm/page.scm (make-page-stencil): don't rely on extents of
2160 page-stencil. This fixes spurious space around .EPS files produced
2161 with the EPS backend.
2163 2006-08-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2165 * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2167 * lily/hara-kiri-engraver.cc (process_music): remember
2168 keepAliveInterfaces after processing \set
2170 * lily/lyric-extender.cc (print): support left/right-padding for
2173 * scm/documentation-generate.scm (string-append): revert lilypond/
2176 2006-08-20 Graham Percival <gpermus@gmail.com>
2178 * Documentation/user/lilypond.tely: clarification to
2179 license presentation (not to actual license).
2181 * Documentation/user/basic-notation.itely,
2182 instrument-notation.itely: minor changes.
2184 * input/ {regression, test}/+.ly: clarification to
2185 text (you can click on examples). Thanks, Mats!
2187 * input/manual/bar-lines.ly: adds ||: repeats.
2189 2006-08-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2191 * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES
2193 * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2195 * Documentation/user/lilypond.tely: strip lilypond/ from info
2196 links, rename to category LilyPond
2198 * lily/pango-font.cc (description_string): new function.
2200 * VERSION: release 2.9.15
2202 * lily/spacing-engraver.cc (stop_translation_timestep): use
2203 Dscho's fix for spacing spanner.
2205 * scm/define-music-types.scm (music-descriptions): use
2206 apply-output-event for ApplyOutputEvent
2208 * lily/output-property-engraver.cc (listen_apply_output): rename
2209 from listen_layout_instruction.
2211 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2214 2006-08-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2216 * scm/lily.scm (lilypond-all): option read-file-list: substitute
2217 commandline args with contains, split by \n.
2219 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2220 write snippet-names file, call with -dread-file-list. Fixes
2221 command limitations on 64-bit systems.
2223 * input/regression/stencil-color-rotation.ly: new file.
2225 * lily/include/translator.hh (struct Acknowledge_information):
2226 revert: don't use Protected_scm in global objects, as GUILE can't
2227 handle gc_unprotect from automated destructors on MacOS X.
2229 * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2230 color, not the original stencil. Fixes combinations of
2231 color/transparency/rotation.
2233 * scripts/lilypond-book.py (main): add --formats=eps for
2236 * lily/spacing-engraver.cc (stop_translation_timestep): don't
2237 crash if spacing_ is nonexistent.
2239 2006-08-14 Mats Bengtsson <mabe@s3.kth.se>
2241 * scripts/lilypond-book.py (output): Remove obsolete(!?)
2242 \catcode`\@=12 in the LaTeX output.
2244 2006-08-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2246 * scm/define-music-types.scm (music-descriptions):
2247 use sustain-event iso. sustain-pedal-event.
2249 2006-08-11 Joe Neeman <joeneeman@gmail.com>
2251 * scripts/convert-ly.py: honour the -n command-line switch
2253 2006-08-10 Han-Wen Nienhuys <hanwen@lilypond.org>
2255 * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2256 break specification.
2258 2006-08-10 Joe Neeman <joeneeman@gmail.com>
2260 * Documentation/user: convert-ly the user manual
2262 2006-08-09 Han-Wen Nienhuys <hanwen@lilypond.org>
2264 * stepmake/aclocal.m4: version check patch (thanks MWD)
2266 * ly/music-functions-init.ly: robustness. Don't crash if
2267 currentBarNumber is not a number.
2269 * VERSION (PATCH_LEVEL): bump.
2271 2006-08-08 Han-Wen Nienhuys <hanwen@lilypond.org>
2273 * stepmake/aclocal.m4: better version check; handle fooX.Y
2276 * ly/performer-init.ly: instrument name fixup.
2278 * input/manual/chord-names-jazz.ly (banterProperties):
2279 instrumentName update
2281 * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2283 * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2285 * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2286 function. Use hash tables to check membership.
2288 * lily/general-scheme.cc (LY_DEFINE): new function.
2290 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2292 * lily/include/translator.hh (struct Acknowledge_information): add
2295 * ly/music-functions-init.ly: change name to BreathingEvent
2297 * input/regression/*.ly: apply it.
2299 * python/convertrules.py (conv): better instrumentName conversion
2302 * scm/define-music-types.scm (music-descriptions): add
2303 line-break-event to LineBreakEvent music
2305 * lily/music.cc (to_event): don't crash if music type not set.
2307 * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2310 * lily/spacing-engraver.cc (stop_translation_timestep): set
2311 spacing for proportional notation too.
2313 * scm/translation-functions.scm (format-bass-figure): inspect
2316 * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2318 2006-08-08 Joe Neeman <joeneeman@gmail.com>
2320 * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2322 * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2324 * scm/layout-page-layout.scm (make-page-from-systems): new function
2325 (optimal-page-breaks): use the new page-breaking calling convention
2327 * scm/define-context-properties.scm (all-user-translation-properties):
2330 * lily/paper-column-engraver.cc (stop_translation_timestep): add
2331 revokePageTurns functionality. If there is a special barline within
2332 the breakable region, break there instead of at the end of the region.
2334 * lily/paper-book.cc (pages): use the new page-breaking calling
2337 2006-08-07 Erik Sandberg <mandolaerik@gmail.com>
2339 * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2341 * scripts/lilypond-book.py: insert \sourcefileline command in
2342 output, so lilypond error messages refer to the spot in the
2343 original .lytex / .itely sourcefile.
2345 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2347 * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2348 space to next column for distance to fixed col.
2350 * VERSION (PACKAGE_NAME): release 2.9.14
2352 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2355 * lily/accidental-engraver.cc (process_acknowledged): don't create
2356 accidental for trill span event. This fixes spurious accidentals
2359 2006-08-04 Mats Bengtsson <mabe@s3.kth.se>
2361 * scm/define-grob-properties.scm (all-user-grob-properties):
2362 Clarify documentation of side-axis and direction. Thanks to Paul
2363 for the inspiration.
2365 * lily/bar-line.cc: Add documentation for "||:" also in the
2366 interface documentation.
2368 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2370 * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2372 * lily/paper-column.cc (set_system): new function.
2374 * lily/spacing-engraver.cc (stop_translation_timestep): store
2375 SpacingSpanner refs in Paper_column.
2377 * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2378 compute loose clique spacing using GraceSpacing/SpacingSpanner.
2380 2006-08-03 Han-Wen Nienhuys <hanwen@lilypond.org>
2382 * lily/beam-engraver.cc (listen_beam): add method for
2383 Grace_beam_engraver too.
2385 2006-08-03 Mats Bengtsson <mabe@s3.kth.se>
2387 * python/convertrules.py: Fix indentation bug that broke
2388 conversion of files older than 1.3.117.
2389 Fix escape error in the description for 2.9.6.
2391 2006-08-02 Erik Sandberg <mandolaerik@gmail.com>
2393 * lily/*-engraver.cc: convert all try_music functions to listen_*
2396 * lily/piano-pedal-engraver.cc: some additional cleanups: use
2397 enums to represent pedal types, and calculate more data statically.
2399 * scm/part-combiner.scm (recording-group-emulate): create a
2400 softcoded substitute for recording-group-engraver.cc.
2402 * lily/music.cc: make a common transpose function for events and
2405 * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2406 ManualMelismaEvent, and obsoletes Melisma_translator.
2408 2006-08-02 Han-Wen Nienhuys <hanwen@lilypond.org>
2410 * input/test/instrument-name-align.ly: update version.
2412 2006-08-02 Mats Bengtsson <mabe@s3.kth.se>
2414 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2415 Doc the --pdf flag to lilypond-book.
2417 2006-07-31 Han-Wen Nienhuys <hanwen@lilypond.org>
2419 * Documentation/topdocs/NEWS.tely (Top): add description.
2421 * input/regression/tuplet-full-length-note.ly: add file.
2423 * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2424 always store axis group.
2426 2006-07-27 Han-Wen Nienhuys <hanwen@lilypond.org>
2428 * input/regression/instrument-switch.ly: new file.
2430 * lily/instrument-switch-engraver.cc (process_music): new file.
2432 * ly/engraver-init.ly: add Instrument_switch_engraver
2434 * ly/music-functions-init.ly: \instrumentSwitch
2436 * scm/define-context-properties.scm
2437 (all-user-translation-properties): add instrumentCueName
2439 * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2441 2006-07-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2443 * ly/music-functions-init.ly: music function \transposition.
2445 * lily/parser.yy (command_element): softcode \transposition.
2447 * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2448 (process_music): oops.
2450 * lily/instrument-name-engraver.cc (start_spanner): new
2451 function. Create spanner when property changes.
2452 (stop_spanner): new function.
2454 * python/convertrules.py (conv): add rule.
2456 * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2457 shortInstrumentName iso. instr.
2459 * scm/output-ps.scm (dashed-line): add phase argument to
2462 * lily/bar-line.cc (dashed_bar_line): new function.
2463 (compound_barline): support \bar "dashed".
2465 * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2466 --output=DIR to DIR/BASE if it is a dir.
2468 * flower/file-name.cc (file_part): new function
2469 (dir_part): new function
2471 * lily/lily-parser-scheme.cc (LY_DEFINE):
2473 * DEDICATION: update
2475 2006-07-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2477 * lily/instrument-name-engraver.cc: formatting.
2479 * python/convertrules.py (conv): bugfix for \epsfile.
2481 2006-07-25 Joe Neeman <joeneeman@gmail.com>
2485 * lily/gourlay-breaking.cc: Oops, these should have been included
2488 2006-07-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2490 * scripts/*.py (program_name): cleanup relocation snippets.
2492 * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2494 2006-07-24 Joe Neeman <joeneeman@gmail.com>
2496 * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2497 page-breakable by default
2499 * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2500 correctly calculated for a single-system page
2502 * scm/lily-library.scm (interval-sane?): also check that the first number is no
2503 bigger than the second number
2505 * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2506 acknowledge that we aren't satisfying constraints)
2508 * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2511 * lily/grob.cc (pure_height): add minimum-Y-extent
2513 * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2516 * lily/constrained-breaking.cc: convert code to use new Matrix class
2517 (get_best_solution): new function
2519 * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2520 is a page with no systems
2522 2006-07-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2524 * VERSION (PACKAGE_NAME): release 2.9.13
2526 * scm/define-grobs.scm (all-grob-descriptions): remove stray
2529 2006-07-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2531 * Documentation/topdocs/NEWS.tely (Top): doc new features.
2533 * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2536 * scm/define-grob-properties.scm (all-user-grob-properties):
2537 remove grace-space-factor.
2539 * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2540 grace-spacing-interface
2541 (spacing-options-interface): add.
2543 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2545 * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2547 * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2548 GraceSpacing object.
2550 * lily/note-spacing.cc: fix prop list formatting
2552 * lily/beaming-pattern.cc (de_grace): new function. Sensible
2553 beaming for grace notes too.
2555 * input/regression/spacing-grace.ly: update.
2557 * lily/grace-spacing-engraver.cc: new file.
2559 * lily/spacing-spanner.cc: add strict-grace-spacing.
2561 2006-07-20 Graham Percival <gpermus@gmail.com>
2563 * lily/parser.yy: compile fix.
2565 2006-07-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2567 * scm/define-grobs.scm (all-grob-descriptions): typo.
2569 * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2570 .eps extension from includegraphics.
2572 * scripts/lilypond-book.py (main): add support for --pdf.
2574 * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2575 callback to compute common shortest duration.
2576 (set_springs): typo.
2578 * scm/define-grob-properties.scm (all-user-grob-properties): add
2579 strict-grace-spacing.
2581 * lily/spacing-determine-loose-columns.cc (is_loose_column):
2582 support float_grace_columns_.
2584 * lily/spacing-options.cc (init_from_grob): new file.
2586 * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2588 * input/regression/spacing-loose-grace.ly: new file.
2590 * Documentation/topdocs/NEWS.tely (Top): document new feature.
2592 * lily/tuplet-engraver.cc (struct Tuplet_description): read
2593 tupletFullLengthNote too. Choose right bound depending on value.
2595 * input/regression/tuplet-full-length-note.ly: new file.
2597 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2599 * lily/*-performer.cc: Converted try_music to listen_*
2601 * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2602 as a stream-event internally. Introduce event_cause (), deprecate
2605 * scm/define-music-types.scm: Removed BusyPlayingEvent
2607 2006-07-19 Mats Bengtsson <mabe@s3.kth.se>
2609 * Documentation/user/advanced-notation.itely (Font selection):
2610 Document how to get a list of available fonts using 'lilypond
2611 -dshow-available-fonts blabla'.
2613 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2615 * GNUmakefile.in: filter lily-XXX.pdf files.
2617 * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2619 * scm/define-grob-properties.scm (all-internal-grob-properties):
2620 remove delta-pitch. Use delta-position everywhere.
2622 * scm/output-lib.scm (fall::print): use new order.
2624 * scm/output-ps.scm (path): reorder arguments.
2626 * scm/output-svg.scm (path): support for path primitive.
2628 * input/regression/bend-after.ly: new file.
2630 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2631 recipe for eps -> pdf conversion.
2633 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2635 * lily/parser.yy, lily/lexer.ll: added some simplifications by
2638 2006-07-19 Graham Percival <gpermus@gmail.com>
2640 * input/manual/screech-boink.ly: moved to here.
2642 * input/screech-boink.ly: deleted.
2644 * scm/define-grob-properties.scm: clarify doc string.
2646 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2648 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2650 * scm/output-ps.scm (path): define path.
2652 * scm/define-stencil-commands.scm
2653 (ly:register-stencil-expression): add path.
2655 * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2657 * ly/engraver-init.ly: add Fall_engraver
2659 * lily/parser.yy (music_function_event): allow musicfunction
2660 without music arg as music_function_event.
2662 * lily/grob-scheme.cc (LY_DEFINE):
2663 ly:grob-robust-relative-extent. New function.
2665 * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2667 * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2669 * scm/output-lib.scm (fall::print): new function
2671 * lily/fall-engraver.cc (stop_fall): new file.
2673 * ly/music-functions-init.ly: alphabetise.
2675 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2678 2006-07-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2680 * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2682 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2685 * lily/translator-group.cc (connect_to_context): non const error message.
2687 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2689 * scm/paper.scm (internal-set-paper-size): define landscape to #f
2692 * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape.
2694 * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2696 * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2699 * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2701 * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2703 * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2705 * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2707 * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2709 * scm/backend-library.scm (postscript->pdf): strip .eps too.
2711 2006-07-14 Nicolas Sceaux <nicolas.sceaux@free.fr>
2713 * scm/layout-page-layout.scm: Define module, tidy code, use more
2714 functions iso. a single big one.
2716 * scm/layout-page-dump.scm: move page dump functions used in two
2717 pass spacing to this file. Define module.
2719 * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2722 * ly/paper-defaults.ly: use module layout-page-layout.
2724 2006-07-14 Erik Sandberg <mandolaerik@gmail.com>
2726 * lily/music.cc: Revised MusicEvent event class. It now contains
2727 event data directly instead of encapsulating it in music. The
2728 previously used class is renamed to OldMusicEvent.
2730 * lily/stream-event.cc: Stream events are now probs.
2732 * lily/translator-group.cc, lily/translator.cc: Translators can
2733 now listen directly to stream events, by using macros
2734 [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2736 * lily/arpeggio-engraver.cc: Converted to use new event system
2738 * THANKS: Corrected spelling mistake.
2740 2006-07-12 Graham Percival <gpermus@gmail.com>
2742 * Documentation/user/SConscript, make/lilypond-vars.make,
2743 input/GNUmakefile: doc build looks in input/manual instead
2746 * input/manual/ GNUmakefile, SConscript: build files for
2749 * input/test/ various: some files moved to input/manual/
2751 * Documentation/user/basic-notation.itely: small updates;
2752 thanks Kieren and Charles!
2754 2006-07-12 Han-Wen Nienhuys <hanwen@lilypond.org>
2756 * VERSION (PACKAGE_NAME): release 2.9.11
2758 * Documentation/topdocs/NEWS.tely (Top): update prop value
2760 * Documentation/user/basic-notation.itely (Tuplets): new property
2763 2006-07-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2765 * python/convertrules.py (conv): tweaks.
2767 * VERSION (PATCH_LEVEL): bump version.
2769 * python/convertrules.py (conv): add rule for
2770 tupletNumberFormatFunction.
2772 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2773 tupletNumberFormatFunction.
2775 * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2776 text through 'text callback.
2778 * lily/time-scaled-music-iterator.cc (construct_children): copy
2779 tweaks generated events.
2781 * scm/define-context-properties.scm
2782 (all-user-translation-properties): remove tupletNumberFormatFunction
2784 * lily/tuplet-engraver.cc (process_music): don't read
2785 tupletNumberFormatFunction
2787 * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2790 2006-07-11 Erik Sandberg <mandolaerik@gmail.com>
2792 * lily/global-context-scheme.cc: Separated ly:run-translator into
2795 * lily/score-engraver.cc, lily/score-performer.cc,
2796 scm/define-context-properties.scm: Make paper/midi output
2797 accessable as a context property.
2799 * lily/score-translator.cc, lily/score-context.cc: Removed.
2801 2006-07-07 Guido Amoruso <guidonte@katamail.com>
2803 * scm/ps-to-png.scm (Module):
2804 * scm/framework-tex.scm (Module):
2805 * scm/framework-ps.scm (Module):
2806 * scm/backend-library.scm (Module):
2807 * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2808 "dDEVICEHEIGHTPOINTS".
2810 2006-07-04 Graham Percival <gpermus@gmail.com>
2812 * Documentation/user/ various: general improvements to
2813 "working with lilypond files" section.
2815 2006-07-03 Erik Sandberg <mandolaerik@gmail.com>
2817 * lily/sequential-iterator.cc: Change the default get_music_list
2818 to read elements-callback music property
2820 * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2821 processing of multimeasure rests. Softcoded
2822 sequential-music-iterator.
2824 * lily/sequential-music-iterator.cc: Removed.
2826 2006-06-28 Graham Percival <gpermus@gmail.com>
2828 * Documentation/user/basic-notation.itely: clarify \repeatTie.
2830 2006-06-27 Erik Sandberg <mandolaerik@gmail.com>
2832 * lily/parser.yy: Wrap non-post-events in EventChords before
2833 assigning them to identifiers.
2835 2006-06-27 Mats Bengtsson <mabe@s3.kth.se>
2837 * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2838 gives correct vertical placement of \bar ":" in all staff
2839 sizes. Thanks Martial!
2841 2006-06-26 Graham Percival <gpermus@gmail.com>
2843 * Documentation/user/invoking.itely : minor update from mailist.
2845 2006-06-26 Erik Sandberg <mandolaerik@gmail.com>
2847 * lily/ various: Introduce stream events of types Prepare,
2848 OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2849 ChangeContext, SetProperty, RevertProperty, Override and Revert.
2851 * lily/global-context*.cc: Time is now -inf before iteration
2854 * lily/include/context.hh: Removed unique_, init_
2856 * Documentation/topdocs/NEWS: Make the feathered beam example
2857 avoid triggering a bug.
2859 2006-06-24 Graham Percival <gpermus@gmail.com>
2861 * Documentation/user/ various: small additions from mailist.
2863 2006-06-22 Mats Bengtsson <mabe@s3.kth.se>
2865 * ly/performer-init.ly: Add some missing links in the context
2866 hierarchy for MIDI output. There are probably some more missing!
2868 2006-06-21 Graham Percival <gpermus@gmail.com>
2870 * Documentation/user/ various: minor spelling fixes;
2871 thanks Dave Luttinen!
2873 * Documentation/user/ various: small clarifications;
2874 thanks Anthony Youngman!
2876 2006-06-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2878 * po/fr.po: add \n appropriately.
2880 * lily/lexer.ll: remove ? from version-seen?
2882 2006-06-19 John Mandereau <john.mandereau@free.fr>
2884 * po/fr.po; update translation, by Jean-Charles Malahieude and
2887 2006-06-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2889 * THANKS: add Markus Schneider.
2891 * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
2892 Staff_symbol_engraver
2894 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
2895 replace staff_engraver
2897 * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
2900 * lily/staff-collecting-engraver.cc
2901 (acknowledge_end_staff_symbol): new function
2903 * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function.
2905 * lily/staff-collecting-engraver.cc
2906 (acknowledge_end_staff_symbol): new function.
2908 * lily/main.cc: switch on relocation by default.
2910 2006-06-18 Han-Wen Nienhuys <hanwen@lilypond.org>
2912 * lily/spacing-spanner.cc (musical_column_spacing): set
2913 compound_fixed_note_space to 0.0. Document why.
2915 * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
2916 range of inverse_hooke_
2917 (Simple_spacer): init completely.
2919 (get_line_configuration): don't use cols.resize(); it introduces
2922 * scm/framework-ps.scm (dump-page): add setstrokeadjust.
2924 * ps/music-drawing-routines.ps: remove selectfont L1 hack.
2926 * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
2927 try. Divide by beatlength.
2929 * input/regression/beaming-ternary-metrum.ly: update doc.
2930 add beatLength hack.
2932 * scm/music-functions.scm (make-time-signature-set): add
2933 standard-beat-grouping.
2935 2006-06-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2937 * input/regression/tie-whole.ly: new file.
2939 * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
2940 cross center of note head in case of invisible stem.
2942 2006-06-16 Graham Percival <gpermus@gmail.com>
2944 * Documentation/user/ various: small fixes from mailist.
2946 2006-06-16 Han-Wen Nienhuys <hanwen@lilypond.org>
2948 * lily/breathing-sign.cc (offset_callback): idem.
2950 * lily/align-interface.cc (align_to_fixed_distance): remove
2953 * lily/beaming-pattern.cc (count_factor_twos): oops. We want
2956 2006-06-15 Han-Wen Nienhuys <hanwen@lilypond.org>
2958 * VERSION (PACKAGE_NAME): release 2.9.9
2960 * ly/lilypond-book-preamble.ly: add \version
2962 2006-06-14 Han-Wen Nienhuys <hanwen@lilypond.org>
2964 * scripts/lilypond-book.py (PREAMBLE_LY): include
2965 lilypond-book-preamble.ly
2967 * lily/stem.cc (get_beaming): return max of 0 and
2968 scm_ilength. Fixes slurring from/to beams.
2970 * ly/lilypond-book-preamble.ly: new file.
2972 * lily/slur.cc: add inspect-index feature.
2974 2006-06-13 Graham Percival <gpermus@gmail.com>
2976 * Documentation/user/tutorial.itely: trivial fix.
2978 2006-06-13 Erik Sandberg <mandolaerik@gmail.com>
2980 * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
2981 all non-event music in the parser via MAKE_SYNTAX.
2983 * lily/parser-scheme.cc: Add ly:parser-error function
2985 * scm/paper.scm: fix typo
2987 2006-06-13 Han-Wen Nienhuys <hanwen@lilypond.org>
2991 * lily/font-config.cc (init_fontconfig): add warning if cache_file
2994 * buildscripts/output-distance.py (test_compare_signatures):
2996 (read_signature_file): use new signature format.
2998 * scm/stencil.scm (write-system-signature): simpler signature
3001 * lily/stem.cc (calc_stem_end_position): calc quantized-positions
3004 * lily/note-spacing.cc (stem_dir_correction): don't inspect
3005 stem_end_position, but estimate instead.
3007 * lily/tuplet-bracket.cc (calc_positions): look at
3008 stem-end-position for tuplet bracket slope. Fixes sloped tuplet
3009 brackets narrower than beams.
3011 * lily/lexer.ll: set version-seen? even if version is
3014 * lily/rest.cc (y_offset_callback): bugfix: decide position
3015 override based on scm_is_number(). Fixes \rest on center staff
3018 * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
3019 patterns for 16th triplets.
3021 2006-06-10 Graham Percival <gpermus@gmail.com>
3023 * Documentation/user/ page.itely, global.itely: editing
3026 * Documentation/user/ various: findex -> funindex.
3028 2006-06-10 Erik Sandberg <mandolaerik@gmail.com>
3030 * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3031 insert extra tuplet events.
3033 2006-06-10 Graham Percival <gpermus@gmail.com>
3035 * Documentation/user/programming-interfaces.itely: add
3038 * python/convertrules.py: add annotatefoo -> annotate-foo
3041 * Documentation/user/global.itely: start editing.
3043 * Documentation/user/page.itely: major editing, new spacing
3046 2006-06-10 Han-Wen Nienhuys <hanwen@lilypond.org>
3048 * scm/define-markup-commands.scm (wordwrap-markups): use
3049 output-def 'line-width if undefined.
3051 * HACKING: trim outdated info.
3053 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3055 * scm/define-grobs.scm (all-grob-descriptions): Add
3056 line-spanner-interface to all grobs that already have
3057 text-spanner-interface or dynamic-text-spanner-interface
3059 * scm/page.scm: Rename annotate{headers,systems,page}->
3062 * input/regression/page-spacing.ly,
3063 input/regression/page-layout-manual-position.ly: idem
3065 2006-06-09 Han-Wen Nienhuys <hanwen@lilypond.org>
3067 * lily/line-spanner.cc: cleanup property list.
3069 * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3070 generator expressions (2.3 compat).
3072 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3074 * lily/vertical-align-engraver.cc: Make sure that the
3075 align{Above,Below}Context properties are included in the automatic
3078 2006-06-08 Joe Neeman <joeneeman@gmail.com>
3080 * scm/paper-system.scm (paper-system-annotate): also annotate the
3081 estimated pure-Y-extent
3083 * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3085 * lily/system.cc (break_into_pieces): set the estimated height
3086 of each child system
3088 * lily/stem.cc (pure_height): new pure-Y-extent callback
3090 * lily/staff-symbol-referencer.cc (callback): don't destroy
3091 the staff-position property
3093 * lily/hara-kiri-group-spanner.cc (request_suicide): split
3094 consider_suicide into two functions
3096 * lily/constrained-breaking.cc (resize): use the new pure
3097 callbacks to estimate the height of a system
3099 * lily/axis-group-interface.cc (pure_group_height): new
3100 side-effect-free VerticalAxisGroup height-callback
3102 * lily/align-interface.cc (get_extents_aligned_translates):
3103 split align_elements_to_extents into two functions
3104 (get_pure_child_y_translation): new function
3106 * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3108 * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3110 * lily/paper-score.cc: cache break_indices and columns
3112 * lily/side-position-interface.cc: new pure-Y-extent callbacks
3114 2006-06-08 Han-Wen Nienhuys <hanwen@lilypond.org>
3116 * lily/font-config.cc (init_fontconfig): do the init if
3117 cache_file, but don't look at cache_file.
3119 * input/regression/quote-tie.ly: new file.
3121 * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3122 to Head_event_tuple, so we deal gracefully with ties on
3125 * lily/pango-font.cc (pango_item_string_stencil): type correctness
3128 2006-06-08 Graham Percival <gpermus@gmail.com>
3130 * input/test/ smart-transpose.ly, reverse-music.ly:
3131 \applyMusic to music functions update, thanks Michael!
3133 2006-06-07 Graham Percival <gpermus@gmail.com>
3135 * input/test/ add-staccato.ly, add-text-script.ly,
3136 unfold-all-repeats.ly, music-box.ly: \applyMusic to
3137 music functions update, thanks to Michael Meixner.
3139 * Documentation/user/music-glossary.tely: small fix
3142 * Documentation/user/ various: minor additions from mailist.
3144 * Documentation/user/lilypond.tely, basic-notation.itely:
3145 small test of @funindex. (works here)
3147 * input/test/font-table.ly: reduce size to partially
3148 de-ugly version in manual.
3150 * Documentation/user/page.itely: new file (split former
3151 "global issues" into "page settings" and "non-musical
3154 * Documentation/user/ various: fix @ref{}s to match
3155 new chapter names (above).
3157 2006-06-07 Jan Nieuwenhuizen <janneke@gnu.org>
3159 * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3161 2006-06-06 Graham Percival <gpermus@gmail.com>
3163 * Documentation/user/advanced-notation.itely: add example
3164 for segno/coda on barline.
3166 * tex/texinfo.tex: merge from upstream.
3168 2006-06-06 Jan Nieuwenhuizen <janneke@gnu.org>
3170 * scripts/lilypond-book.py (process_snippets): Argument fix.
3173 * buildscripts/builder.py:
3176 * Documentation/user/SConscript: More SCons fixes.
3178 2006-06-03 Jan Nieuwenhuizen <janneke@gnu.org>
3180 * lily/font-config.cc (init_fontconfig): Only initialize if
3181 global cache_file is found.
3183 2006-06-06 Erik Sandberg <mandolaerik@gmail.com>
3185 * ly/music-functions-init.ly: Updated \overrideProperty to use the
3188 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3190 * VERSION (PACKAGE_NAME): release 2.9.8
3192 * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3193 function. Delay ledger modifying ledgered grobs to
3194 stop_translation_timestep(), to ensure that we're ledgering
3195 according to the new spanner.
3196 (acknowledge_staff_symbol): don't check for non-NULL
3197 staff_sym->get_bound()
3199 * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3202 * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3205 * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3206 directly from srcdir/stepmake/aclocal.m4
3208 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3211 * lily/simple-spacer.cc (get_column_desc): desc -> description.
3213 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3215 * lily/simple-spacer.cc (get_line_configuration): add
3216 keep-inside-line rods
3217 (struct Column_desc): add constructor
3218 (struct Rod_desc): add constructor
3219 (get_line_forces): check for forced page breaks here too
3221 * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3222 support/elements cycles between InstrumentNames and AxisGroups
3224 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3226 * config.make.in (METAFONT): remove MAKEINFO_VERSION
3228 * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3229 make-txt-files target.
3231 * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3232 make-txt-files target.
3234 * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3236 * stepmake/stepmake/generic-vars.make (distdir): create dist in
3239 2006-06-06 Jürgen Reuter <reuter@ipd.uka.de>
3241 * Documentation/user/instrument-notation.itely,
3242 input/regression/breathing-sign-ancient.ly,
3243 input/test/divisiones.ly: Removed redundant property settings for
3246 * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3247 fix lyrics alignment problems. They are implemented now as scheme
3248 functions that add the appropriate unicode char to the first lyric
3249 event rather than adding a separate lyric event. Minor edit of
3252 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3254 * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3255 pollute src dir with built .txt files, but install directly from
3256 Documentation/topdocs/out/
3258 * buildscripts/output-distance.py
3259 (ComparisonData.create_html_result_page): put version/directories
3262 * Documentation/topdocs/NEWS.tely (Top): document spacing section
3265 * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3266 Patch by Karl Hammar
3268 * buildscripts/readlink.py: add file.
3269 Patch by Karl Hammar
3271 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3273 * lily/tuplet-number.cc (print): prevent stencil from being
3276 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3278 * scm/stencil.scm (write-system-signature): explicitly
3279 -well, superfluously- close output port.
3281 * buildscripts/output-distance.py (main): oops. Add extra argument.
3283 2006-06-05 Graham Percival <gpermus@gmail.com>
3285 * Documentation/user/music-glossary.tely: clarified example
3286 from Francisco Vila, thanks!
3288 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3290 * input/regression/spacing-section.ly: new file.
3292 * lily/input.cc (programming_error): new function.
3294 * lily/spacing-engraver.cc (try_music): new function. Accept
3295 spacing-section-event
3297 * lily/spacing-spanner.cc (set_springs): take slices of all
3298 columns for spacing.
3300 * lily/include/paper-column.hh (class Paper_column): add
3301 Paper_column::compare.
3303 * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3305 * scm/define-music-types.scm (music-descriptions): add
3308 * lily/music-iterator.cc (report_event): use programming_error for
3309 sending non-event error.
3311 * lily/input.cc (programming_error): new function
3313 * buildscripts/output-distance.py (main): use compare-XXX for
3315 (main): --threshold option, default at 0.30
3317 * output-distance.py (main): add --threshold option.
3319 2006-06-04 Nicolas Sceaux <nicolas.sceaux@free.fr>
3321 * scm/paper-system.scm (paper-system-annotate): fix problem when
3322 annotating an empty system
3324 2006-06-04 Han-Wen Nienhuys <hanwen@lilypond.org>
3326 * GNUmakefile.in: reinstate old web tar/copying.
3328 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3330 * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3331 nothing changes. (Erik S)
3333 * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3336 2006-05-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
3338 * scm/define-markup-commands.scm (whiteout): do not force
3339 foreground color of argument markup to black.
3341 * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3342 the left of the arrow, instead of below the arrow name, so that,
3343 when two little arrows are vertically stacked, their dimensions
3344 and name should not overlap. Add a color key parameter.
3346 * scm/paper-system.scm (paper-system-annotate): Annotate
3347 next-space+next-padding instead of next-space. Annotate space
3348 between next-padding and next-space+padding, respectively, and
3349 following system extent and refpoint-Y-extent. Use colors.
3351 * scm/page.scm (annotate-page): translate annotations slightly to
3354 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3356 * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3357 fix for x-staff slurs. Thanks Joe!
3359 * buildscripts/output-distance.py
3360 (SystemLink.output_expression_change_count): keep track of changed
3361 details, and dump in details html page.
3363 * input/regression/figured-bass-staff.ly: add note about setting
3364 properties in Staff context.
3366 * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3367 add slurs and ties to support too.
3369 * buildscripts/output-distance.py (main): set dest_dir
3370 argument. Add --max-count option.
3372 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3374 * ly/gregorian-init.ly: Converted to utf-8. Added memorable
3375 shortcuts for special unicode chars that are useful in chant
3376 notation. Revised exisiting and added new comments.
3378 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3380 * make/mutopia-rules.make: remove duplicate recipe.
3382 2006-06-02 Werner Lemberg <wl@gnu.org>
3384 * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3385 Add support for U+0132 (IJ) and U+0133 (ij).
3387 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3389 * buildscripts/output-distance.py (FileLink): new class. collect
3390 info systems from one .ly file.
3391 (FileLink.link_files_for_html): further tweaks.
3393 2006-06-02 Graham Percival <gpermus@gmail.com>
3395 * tex/texinfo.tex: partial fix for @funindex.
3397 * Documentation/user/macros.tely: uncomment @funindex (doesn't
3400 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3402 * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3404 * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3405 @example too. Backportme.
3407 2006-06-02 Graham Percival <gpermus@gmail.com>
3409 * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3410 from Werner Lemberg.
3412 2006-06-02 Paco (Francisco Vila) <fravd@ya.com>
3414 * Documentation/user/music-glossary.tely: additional spanish
3415 updates and a lyrics fix in an example.
3417 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3419 * scm/define-grob-properties.scm: Previous patch contained
3420 spurious line from another patch not yet committed. Fixed.
3422 * scm/define-grob-properties.scm: Add missing doc strings for
3425 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3427 * buildscripts/output-distance.py
3428 (ComparisonData.write_text_result_page): separate the scores, sort
3431 * scm/framework-eps.scm (output-classic-framework): start at 1 for
3434 * buildscripts/output-distance.py (me_path): use argv[0] for
3436 (ComparisonData.img_cell): use colored borders.
3438 * scm/stencil.scm (write-system-signature): escape newlines too.
3439 (write-system-signature): use (1,-1) interval for empty interval
3441 2006-01-01 Graham Percival <gpermus@gmail.com>
3443 * Documentation/user/music-glossary.tely: Spanish updates
3444 from Francisco Vila.
3446 * Documentation/user/lilypond-book.itely: addition from
3449 * Documentation/user/ various: edits, small additions
3452 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3454 * GNUmakefile.in (tree-lib-prefix-current):
3455 (tree-share-prefix-current): Use version number in tree, add
3458 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3460 * GNUmakefile.in: write VERSION, again.
3462 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3463 $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3465 * stepmake/aclocal.m4: robuster version detection.
3467 * buildscripts/output-distance.py
3468 (ComparisonData.create_html_result_page): copy only if file
3469 exists, fixup src paths.
3471 * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3473 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3475 * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3476 Another datarootdir reto.
3478 * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3479 available. This should be moved to postinstall-lilypond-doc.
3481 2006-05-31 Han-Wen Nienhuys <hanwen@lilypond.org>
3483 * GNUmakefile.in: simplify local-WWW-post.
3484 remove -type l from find.
3486 * buildscripts/output-distance.py (ComparisonData.compare_trees):
3487 fixes. Don't follow symlinks.
3488 (ComparisonData.create_html_result_page): remove previous results.
3489 insert ../python in path.
3491 * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3493 2006-05-31 Jan Nieuwenhuizen <janneke@gnu.org>
3495 * config.make.in (datadir): Add datarootdir to silence autoconf.
3497 * stepmake/aclocal.m4: Update for autoconf-2.59d.
3499 2006-05-31 Erlend Aasland <erlenda@gmail.com>
3501 * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3503 * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3504 slash beams too wide.
3506 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3508 * VERSION: release 2.9.7
3510 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3512 * lily/relocate.cc (read_relocation_dir): Do not blindly
3515 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3517 * lily/parser.yy: replace THIS by PARSER
3519 * Documentation/index.html.in: add link to test-results.html page.
3521 * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3523 * scm/translation-functions.scm (format-bass-figure): translate
3524 digits over 10 to the left
3526 * scm/define-markup-commands.scm (translate-scaled): new markup.
3528 * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3531 * ly/engraver-init.ly: add Figured_bass_engraver
3533 * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3535 * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3537 * lily/score-engraver.cc (announce_grob): only note START announces.
3539 * lily/include/engraver-group.hh (Translator_group):
3540 acknowledge_hash_table_ is now drul.
3542 * lily/engraver.cc (announce_end_grob): new method.
3544 * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3546 * lily/translator-dispatch-list.cc (create): take start_end argument.
3548 * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3549 acknowledge_static_array_ to drul
3551 * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3553 * scm/define-grob-interfaces.scm
3554 (bass-figure-alignment-interface): add bass-figure-alignment-interface
3556 * scm/define-grobs.scm (all-grob-descriptions): add
3557 BassFigureAlignmentPositioning
3559 * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3560 number stays up to date. Backportme.
3562 2006-05-30 Mats Bengtsson <mabe@s3.kth.se>
3564 * Documentation/user/basic-notation.itely (Bar lines): Document
3567 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3569 * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3571 * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3572 .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc'
3575 * Resurrect `scons lily' build.
3577 * SConstruct (symlink_tree): Bugfix: link
3578 music-drawing-routines.ps to file iso directory.
3580 * lily/SConscript: Remove kpath-guile from LIBS.
3582 * SConstruct (libdir_package_version): Typo.
3583 (configure): Comment-out fontforge for lack of fontforge.pc .
3584 Also add libdir* to environment.
3586 2006-05-30 Graham Percival <gpermus@gmail.com>
3588 * Documentation/user/ various: minor additions from mailist and
3591 2006-05-30 Paco <fravd@ya.com>
3593 * Documentation/user/music-glossary.tely: numerous corrections and
3594 some new translations.
3596 2006-05-29 Han-Wen Nienhuys <hanwen@lilypond.org>
3600 * buildscripts/output-distance.py
3601 (ComparisonData.create_html_result_page): new routine: summarise
3602 results in HTML page with images.
3603 (ComparisonData.create_text_result_page): create summary text files too.
3605 * GNUmakefile.in (web-ext): package .signature files too. They
3608 * scm/stencil.scm (write-system-signature): typo.
3610 * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3612 * scm/stencil.scm (write-system-signature): better escaping.
3613 only write signature for music systems, not for markup systems.
3615 * scm/framework-ps.scm (output-framework): dump-signatures support
3618 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3620 * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3621 for -dno-point-and-click
3623 * lily/grob.cc (get_print_stencil): don't read
3624 point_and_click_global to determine whether to set grob-cause.
3626 2006-05-28 Han-Wen Nienhuys <hanwen@lilypond.org>
3628 * buildscripts/output-distance.py (main): new function.
3629 (ComparisonData): new class.
3631 * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3632 careful with generating new LedgerLineSpanners.
3634 * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3636 * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3637 context. This fixes double ledger lines in output.
3639 * lily/system.cc (get_paper_system): remove 3 layer limit.
3641 * buildscripts/output-distance.py (SystemLink.distance): new
3642 file. Compare signatures.
3644 * python/safeeval.py (SafeEval.visitUnarySub): new file.
3646 * lily/grob-array.cc (remove_duplicates): rename from
3647 uniq(). Sort before calling uniq() so it actually works.
3649 2006-05-27 Han-Wen Nienhuys <hanwen@lilypond.org>
3651 * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3652 \version from lilypond file snippet.
3653 (Lilypond_file_snippet.ly): oops. typo.
3654 (find_toplevel_snippets): urgh. again.
3656 * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3657 prevent duplicated broken items in output.
3659 * scm/framework-eps.scm (output-classic-framework): only dump if
3660 dump-signatures is set.
3662 * scm/lily.scm (define-scheme-options): add dump-signatures option.
3664 * scm/stencil.scm (write-system-signature): new routine: write
3665 python parseable signature of a separate paper system.
3668 2006-05-26 Han-Wen Nienhuys <hanwen@lilypond.org>
3670 * lily/stanza-number-engraver.cc (process_music): use is_markup()
3674 2006-05-25 Erik Sandberg <mandolaerik@gmail.com>
3676 * translator-group.cc: send music events to engravers in
3677 non-bottom contexts.
3679 * tuplet-engraver.cc: process tuplet brackets in correct order.
3681 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3683 * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3684 arg 2 might point us to a new binary (patch by Karl Hammar)
3686 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3688 * VERSION (PACKAGE_NAME): release 2.9.6
3690 * Documentation/topdocs/NEWS.tely (Top): trim explanation.
3692 * Documentation/user/*.itely: 2nd
3693 attempt: replace funindex -> findex globally.
3695 2006-05-24 Nicolas Sceaux <nicolas.sceaux@free.fr>
3697 * input/no-notation/display-lily-tests.ly: fix \applyOutput
3698 test. Add \break, \pageBreak, \pageTurn, etc, tests.
3700 * scm/define-music-display-methods.scm: display methods for
3701 breaks. Fix \applyOutput.
3703 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3705 * Documentation/user/macros.itexi: comment out funindex expansion.
3707 * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3710 * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3711 Karl Hammar. Backportme.
3713 * Documentation/user/advanced-notation.itely (Balloon help): idem.
3715 * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3717 * Documentation/user/programming-interface.itely (Running a
3718 function on all layout objects): idem.
3720 * Documentation/user/introduction.itely (Automated engraving):
3721 update \applyOutput syntax
3723 * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3724 remove debugging hook.
3726 * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3729 * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3731 * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3732 TEXI2DVI_FLAGS to texi2dvi invocation.
3734 2006-05-24 Erik Sandberg <mandolaerik@gmail.com>
3736 * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3737 works. More work is done by iterator now, and engraver has been
3738 very much simplified.
3740 * lily/translator-group.cc: try_music is now invoked through a
3743 * lily/*-iterator.cc: Massive cleanups. Junked
3744 try_music_in_children globally. Renamed try_music to report_event,
3745 and made that method descend to a bottom context automatically.
3747 * lily/event-iterator.cc: New file.
3749 * lily/output-property-iterator.cc,
3750 lily/old-lyric-combine-music-iterator.cc: Removed.
3752 * python/convert-rules.py: Modified the syntax for \applyOutput.
3754 2006-05-23 Graham Percival <gpermus@gmail.com>
3756 * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3759 * Documentation/user/ various: stuff that might have helped
3760 to fix the pdf creation, plus some minor doc additions.
3762 * Documentation/user/changing-defaults.itely: remove @b from
3763 @b{ @internasref{foo}}; this breaks texi2dvi -E.
3765 2006-05-23 Han-Wen Nienhuys <hanwen@lilypond.org>
3767 * lily/beaming-pattern.cc (beamify): deal with negative start
3768 moments for beaming patterns.
3770 2006-05-22 Han-Wen Nienhuys <hanwen@lilypond.org>
3772 * lily/beaming-info.cc (beamify): new function: read beatLength
3773 and beatGrouping from context.
3775 * input/regression/beam-beat-grouping.ly (Module): new file.
3777 * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3779 * lily/beam.cc (get_beam_segments): generate events for
3780 max_connect_ case too.
3781 (get_beam_segments): read Stem::max-beam-connect.
3783 * input/regression/beam-single-stem.ly: new file.
3785 * lily/stem.cc (set_beaming): use #f as signaling value for
3788 * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3790 * lily/beam.cc (set_beaming): read clip-edges property.
3791 (calc_direction): don't suicide for single stem.
3793 * lily/beaming-info.cc (best_splitpoint_index): take bool*
3794 argument, remove 1<<15 hack. Remove clip_edges()
3796 * lily/hairpin.cc (print): only do padding for nonmusical bounds
3798 2006-05-21 Graham Percival <gpermus@gmail.com>
3800 * Documentation/user/basic-notation.itely: reorg.
3802 * Documentation/user/ various: minor fixes.
3804 2006-05-20 Han-Wen Nienhuys <hanwen@lilypond.org>
3806 * lily/stencil-expression.cc (register_stencil_head): opps, append
3807 to cdr of static SCM object.
3809 2006-05-19 Graham Percival <gpermus@gmail.com>
3811 * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3812 update framework for command index. DOC WRITERS: use @funindex
3813 instead of @cindex @code{}.
3815 * Documentation/user/ various: replace @cindex @code{} => @funindex
3817 2006-05-19 Han-Wen Nienhuys <hanwen@lilypond.org>
3819 * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3820 case positions is set manually.
3822 2006-05-18 Erik Sandberg <mandolaerik@gmail.com>
3824 * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3827 2006-05-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3829 * Documentation/user/changing-defaults.itely (Contexts explained):
3830 use absolute dimension for @image.
3832 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3833 out image for illustration too.
3834 ($(outdir)/%.png): add more png <-> eps rules.
3836 2006-05-17 Graham Percival <gpermus@gmail.com>
3838 * Documentation/user/ various: remove trailing whitespace, cosmetic
3839 change to reduce changes produced by diff.
3841 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3843 * lily/main.cc (do_chroot_jail): correctness tweak.
3845 * python/lilylib.py (system): import subprocess in system () only.
3847 * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3849 * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3850 variable. Backportme.
3852 2006-05-17 Erik Sandberg <mandolaerik@gmail.com>
3854 * lily/parser.yy: Change all syntax rules of type Music to SCM type
3856 2006-05-17 Werner Lemberg <wl@gnu.org>
3858 * lily/lexer.ll (init_signature_has_table): Add
3859 `scm-scm-music-music'.
3861 * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
3862 (Generic_prefix_music_scm): Add rule for it.
3864 * lily/quote-iterator.cc (Quote_iterator::process): Handle
3865 `quoted-transposition' property.
3867 * ly/music-functions-init.ly (transposedCueDuring): New function.
3869 * scm/define-music-properties.scm (all-music-properties): Updated.
3871 * Documenation/topdocs/NEWS.itely: Document it.
3873 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3875 * python/lilylib.py (system): move import subprocess to system()
3878 * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
3880 * VERSION (PATCH_LEVEL): release 2.9.5
3882 * Documentation/topdocs/INSTALL.texi (Top): update versions and
3885 * ly/engraver-init.ly: switch on hairpinToBarline by default.
3887 2006-05-16 Graham Percival <gpermus@gmail.com>
3889 * Documentation/user/basic-notation.itely: editing from Dave, thanks!
3891 * Documentation/user/ various: minor fixes.
3893 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3895 * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
3897 2006-05-16 Mats Bengtsson <mabe@s3.kth.se>
3899 * Documentation/user/advanced-notation.itely (Instrument names):
3900 Modified obsolete instruction on how to move instrument names away
3901 from the staves. Hmm, at second thought the bug probably has been
3902 solved, so the full bug description should probably be removed.
3904 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3906 * lily/dynamic-engraver.cc (typeset_all): hang ending on
3907 currentCommandColumn.
3909 * lily/hairpin.cc (print): also add padding for non-neighbor
3912 * scm/define-context-properties.scm
3913 (all-user-translation-properties): add hairpinToBarline
3915 * input/regression/hairpin-to-barline.ly: new file.
3917 * lily/context.cc (internal_send_stream_event): thinko fix.
3919 * lily/tie.cc (set_default_control_points): robustness fix.
3921 * python/musicxml.py (Part.interpret): don't complain about
3922 incomplete measures.
3924 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
3925 new music if last_event_chord() returned None.
3927 * python/musicxml.py (Part.interpret): skip back over chord notes.
3929 2006-05-16 Erik Sandberg <mandolaerik@gmail.com>
3931 * lily/percent-repeat-engraver.cc, lily/parser.yy,
3932 lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
3933 lily/slash-repeat-engraver.cc,
3934 lily/include/percent-repeat-iterator.hh: Rework percent repeats:
3935 iterator sends PercentEvents
3937 * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
3938 rework tuplets: send start/stop events to engraver
3940 * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
3941 dispatchers event-source and events-below to Context
3943 2006-05-15 Graham Percival <gpermus@gmail.com>
3945 * Documentation/user/README.txt: update info for doc writers.
3947 * Documentation/user/programming-interface.itely: integrate
3948 Nicolas' fixes for chapter rewrite.
3950 * Documentation/user/ various: minor fixes.
3952 2006-05-15 Han-Wen Nienhuys <hanwen@lilypond.org>
3954 * lily/clef-engraver.cc: cleanup.
3956 * Documentation/user/GNUmakefile: dist context-example.eps too.
3958 * lily/key-engraver.cc (create_key): use
3959 explicitKeySignatureVisibility for cancellation too.
3961 * lily/font-config.cc (init_fontconfig): don't close file if
3964 2006-05-15 Erlend Aasland <erlenda@gmail.com>
3966 * Documentation/topdocs/NEWS.tely: niente and rotation news
3968 2006-05-14 Erlend Aasland <erlenda@gmail.com>
3970 * lily/include/stencil.hh
3971 * lily/stencil.cc (rotate): new function. Makes it possible
3972 to rotate a stencil around a given offset.
3974 * lily/grob.cc (get_print_stencil): add rotation support
3976 * lily/stencil-interpret.cc (interpret_stencil_expression):
3977 add rotation support
3979 * lily/stencil-scheme.cc (ly:stencil-rotate): new function
3981 * scm/define-grob-properties.scm: add 'rotation property
3983 * scm/define-markup-commands.scm: add rotate markup command
3985 * scm/output-ps.scm: add rotation support in PostScript backend
3987 * scm/output-svg.scm: add rotation support in SVG backend
3989 2006-05-13 Graham Percival <gpermus@gmail.com>
3991 * Documentation/user/music-glossary.itely: French correction.
3993 * Documentation/user/programming-interface.itely: major
3994 new docs, some reorg, some info from Nicolas.
3996 * Documentation/user/ various: small fixes.
3998 2006-05-12 Mats Bengtsson <mabe@s3.kth.se>
4000 * Documentation/user/programming-interface.itely (Markup
4001 programmer interface): Remove duplicate text.
4003 2006-05-12 Graham Percival <gpermus@gmail.com>
4005 * Documentation/user/context-example.eps: new file.
4007 * Documentation/user/changing-defaults.itely: set up file to
4010 * Documentation/user/programming-interface.itely: changes
4013 2006-05-12 Han-Wen Nienhuys <hanwen@lilypond.org>
4015 * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
4017 2006-05-11 Graham Percival <gpermus@gmail.com>
4019 * Documentation/user/programming-interface.itely: first round of
4020 editing and merging emails from Nicolas.
4022 * Documentation/user/scheme-tutorial: minor edit.
4024 2006-05-11 Han-Wen Nienhuys <hanwen@lilypond.org>
4026 * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
4028 (Xml_node.message): use it.
4030 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice):
4031 oops. Add duration argument.
4033 2006-05-10 Joe Neeman <joeneeman@gmail.com>
4035 * lily/paper-column-engraver.cc (make_columns):
4036 * scm/define-grobs.scm: Revert my previous change and set the default
4037 in define-grobs.scm instead.
4039 2006-05-09 Graham Percival <gpermus@gmail.com>
4041 * Documentation/user/changing-defaults.itely: general editing,
4042 info about \set and \override.
4044 * Documentation/user/tweaking.itely, advanced-notation.itely:
4045 fixes from Dave Luttinen, thanks!
4047 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4049 * lily/paper-column-engraver.cc (make_columns): By default, a column
4050 needs to be breakable.
4052 2006-05-09 Han-Wen Nienhuys <hanwen@lilypond.org>
4054 * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4056 (musicxml_time_to_lily): idem
4057 (musicxml_key_to_lily): idem
4058 (instrument_drumtype_dict): dict for supported drumtypes.
4059 (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4060 moments and pending mm rests
4061 (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4062 (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4063 (musicxml_voice_to_lily_voice): add mode change.
4064 (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4065 speed and less memory usage (factor 5 to 10).
4066 (convert): write -defs.ly and driver file separately so people
4067 can script their own part extraction.
4069 * python/musicxml.py (minidom_demarshal_node): new function:
4070 separate minidom handling.
4071 (lxml_demarshal_node): new function: support lxml.etree too.
4072 (Xml_node.message): new function: verbose error message, with XML
4073 path to offending node.
4074 (Attributes.get_measure_length): sane interface to MusicXML attributes.
4075 (Part_list.generate_id_instrument_dict): new method: collect
4076 instrument names, to be able to set drum_type.
4077 (Part.interpret): handle underfull measures
4078 (Part.interpret): assign instrument names.
4080 * python/musicexp.py (Output_printer.close): new method
4081 (MusicWrapper.print_ly): new class: support other modes,
4083 (BarCheck.print_ly): new class. Support bar checks, with comments
4084 and fancy barchecks.
4085 (NoteEvent.__init__): also set drum_type for drum notes.
4086 (MultiMeasureRest.lisp_expression): dump mm rests.
4088 * lily/paper-column-engraver.cc (stop_translation_timestep): set
4089 line-break-permission if forbidBreak is not set.
4091 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4093 * scm/define-context-properties.scm:
4094 * scm/define-grob-properties.scm:
4095 * scm/define-grobs.scm:
4096 * scm/define-music-display-methods.scm:
4097 * scm/define-music-properties.scm:
4098 * scm/define-music-types.scm:
4099 * scm/music-functions.scm:
4100 * ly/declarations-init.ly:
4101 * lily/include/constrained-breaking.hh:
4103 * lily/spaceable-grob.cc:
4104 * lily/simple-spacer.cc:
4105 * lily/paper-score.cc:
4106 * lily/paper-column.cc:
4107 * lily/paper-column-engraver.cc:
4109 * lily/gourlay-breaking.cc:
4110 * lily/constrained-breaking.cc:
4111 * python/convertrules.py:
4112 Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4113 "page-break-penalty" and "line-break-permission".
4114 Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4115 Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4117 * lily/bar-engraver.cc:
4118 * lily/beam-engraver.cc:
4119 * lily/forbid-break-engraver.cc:
4120 * lily/ligature-engraver.cc:
4121 * lily/paper-column-engraver.cc:
4122 * lily/percent-repeat-engraver.cc:
4123 * lily/score-engraver.cc:
4124 * lily/score-engraver.hh:
4125 * lily/paper-column-engraver.hh:
4126 Inter-engraver communication regarding line breaks is done through context
4127 properties (Score.forbidBreak) instead of function calls.
4129 2006-05-08 Han-Wen Nienhuys <hanwen@lilypond.org>
4131 * VERSION (PACKAGE_NAME): release 2.9.4
4133 2006-05-08 Graham Percival <gpermus@gmail.com>
4135 * Documentation/user/working.itely: proofreading from Dave
4138 * Doucmentation/user/README.txt: updated with manual style info.
4140 * Documentation/user/ various: trim linewidth to 78 chars.
4142 2006-05-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4144 * scm/define-grob-properties.scm (all-internal-grob-properties):
4145 remove chord-tremolo property.
4147 * lily/beam.cc (get_beam_segments): don't use stem position as
4148 base for broken ends.
4150 2006-05-06 Graham Percival <gpermus@gmail.com>
4152 * Documentation/user/putting.itely: proofreading from Dave
4155 * Documentation/user/ various: more reorg and clarifications.
4157 2006-05-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4159 * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4161 * ly/music-functions-init.ly: new function featherDurations
4163 * lily/beam.cc: read grow-direction for feathered beaming.
4165 * Documentation/topdocs/NEWS.tely (Top): typo.
4167 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4169 * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4172 2006-05-05 Erik Sandberg <mandolaerik@gmail.com>
4173 * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4174 used by music streams.
4176 * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4177 lily/stream-event.cc, lily/stream-event-scheme.cc,
4178 lily/listener.cc, lily/scheme-listener.cc,
4179 lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4180 lily/include/stream-event.hh, lily/include/listener.hh,
4181 lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4182 Created data structures for music streams.
4184 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4186 * lily/beam.cc (get_beam_segments): new function. Reorganise the
4187 construction of a beam.
4190 * flower/include/std-vector.hh (default_compare): use only one comparison.
4192 * scm/define-markup-commands.scm (note-by-number): remove debug display.
4193 (note-by-number): further attachment fixes.
4195 * scm/lily-library.scm (ordered-cons): new function.
4196 (interval-index): new function
4198 * lily/note-head-scheme.cc (LY_DEFINE): new file.
4200 * lily/note-head.cc (get_stem_attachment): new function.
4202 * scm/define-markup-commands.scm (note-by-number): read 'style
4205 * input/regression/markup-note.ly: show note-head style option.
4207 * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4210 2006-05-04 Han-Wen Nienhuys <hanwen@lilypond.org>
4212 * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4214 * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4216 * lily/include/constrained-breaking.hh: GCC 4 fix.
4218 2006-05-04 Joe Neeman <joeneeman@gmail.com>
4220 * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4221 Replace it with functions get_line_forces and get_line_configuration.
4222 (class Simple_spacer): Make data private.
4223 Rewrite compression algorithm to be faster and simpler.
4225 * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4226 * lily/gourlay-breaking.cc (solve):
4227 * lily/constrained_breaking.cc (space_line):
4228 Change it to the new simple-spacer code.
4230 * lily/paper-score.cc (get_paper_systems):
4233 Delay breaking the systems until they are requested.
4234 (find_break_indices):
4235 Use vsize for indices.
4237 Move the "Calculating line breaks" message here.
4239 * lily/system.cc (pre_processing):
4240 Move the "Calculating line breaks" message away from here.
4241 (break_into_pieces):
4242 Allow multiple calls to this function in sequence (with touching-but-
4243 not-overlapping breakpoints).
4245 * lily/constrained-breaking.cc:
4246 Replace most of the get_XXXX functions with get_line_details.
4247 Only calculate the force for each line. Calculate configurations only
4248 for the lines we will actually use.
4249 Replace cols_ with lines_.
4251 2006-05-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
4253 * mf/GNUmakefile (depth): remove FC_FIND.
4255 * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4257 * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4259 * scm/framework-ps.scm (write-preamble): new function.
4260 (write-preamble): load mac fonts via fondu, even if gs-font-load
4263 2006-05-03 Werner Lemberg <wl@gnu.org>
4265 * mf/GNUmakefile (FC_FIND): Fix typo.
4267 2006-05-03 Erlend Aasland <erlenda@gmail.com>
4269 * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4271 2006-05-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4273 * stepmake/aclocal.m4: run python-config for crosscompiling
4276 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4277 -f png for HTML, TEXINFO formats.
4279 * input/tutorial/lbook-html-test.html: new file.
4281 * lily/include/tie-formatting-problem.hh (class
4282 Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4283 [column, direction]. This fixes laissez vibrer ties.
4285 * flower/include/tuple.hh (struct Tuple2): new file.
4287 * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4288 $(FCMATCH), only if $(NCSB_DIR) not set.
4290 * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4292 * config.make.in (DOCUMENTATION): set FCMATCH.
4294 * autogen.sh (srcdir): don't set --with-ncsb-dir.
4296 2006-05-03 Graham Percival <gpermus@gmail.com>
4298 * Documentation/user/ various: final round of reorg.
4300 * Documentation/user/instrument-notation.itely: some more
4301 fixes from Eduardo, thanks!
4303 2006-05-02 Han-Wen Nienhuys <hanwen@lilypond.org>
4305 * VERSION (PACKAGE_NAME): release 2.9.3
4307 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4309 * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4311 2006-05-01 Mats Bengtsson <mabe@s3.kth.se>
4313 * scm/define-grob-properties.scm (all-user-grob-properties):
4314 Correct typo, thanks to Eduardo.
4316 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4318 * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4320 * buildscripts/lilypond-words.py (F): indent fix.
4322 * input/regression/tie-arpeggio-collision.ly: new file.
4324 * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4325 function: store outlines per column rank.
4327 * lily/include/tie-configuration.hh (class Tie_configuration): add
4328 column_ranks_ to specification and configuration, to distinguish
4329 between ties for different heads in arpegiated chords.
4331 * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4333 * *.py: more 4 space indents.
4335 * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4337 2006-05-01 Joe Neeman <joeneeman@gmail.com>
4339 * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4341 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4343 * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4345 * scripts/abc2ly.py (dump_score): indent of 4 for python code.
4347 * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4349 2006-04-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
4351 * python/convertrules.py (conv): indent 4 for python files.
4353 2006-04-29 Mats Bengtsson <mabe@s3.kth.se>
4355 * Documentation/user/changing-defaults.itely (Creating contexts):
4356 Clarify \new semantics.
4358 2006-04-28 Graham Percival <gpermus@gmail.com>
4360 * Documentation/user/ various: major new sections in the
4361 Learning manual, slight reorg elsewhere.
4363 2006-04-27 Han-Wen Nienhuys <hanwen@lilypond.org>
4365 * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE)
4367 * scm/framework-ps.scm (output-framework): remove PageMedia
4369 2006-04-27 Graham Percival <gpermus@gmail.com>
4371 * Documentation/user/ tweaks.itely, working.itely: new
4372 files, being more advanced "learning manual" chapters.
4374 * Documentation/user/ tutorial, putting, lilypond: reorg.
4376 2006-04-26 Graham Percival <gpermus@gmail.com>
4378 * input/regression/lyric-combine-polyphonic.ly: fixed test
4379 (no more "can't find context `one'" error).
4381 2006-04-25 Joe Neeman <joeneeman@gmail.com>
4383 * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4385 * input/regression/stem-tremolo.ly: add 2 more whole note examples
4387 2006-04-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
4389 * lily/relocate.cc (read_relocation_dir): new function.
4391 2006-04-26 Graham Percival <gpermus@gmail.com>
4393 * Documentation/user/instrument-notation.itely: a few more fixes
4394 from Eduardo, thanks!
4396 * Documentation/user/README.txt: new file; contains info on
4397 style that used to be in lilypond.tely.
4399 * Documentation/user/ various: first round of doc reorg.
4401 * Documentation/user/baer-flat-bw.png: remove alpha bit from
4402 graphic; this probably causes problems on some pdf
4403 viewers, notably Adobe Acrobat.
4405 2006-04-24 Graham Percival <gpermus@gmail.com>
4407 * Documentation/user/instrument-notation.itely: many alterations
4408 to Vocal music, from Eduardo Viera.
4410 2006-04-23 Graham Percival <gpermus@gmail.com>
4412 * Documentation/user/instrument-notation.itely: fix \new
4413 instead of \context problem.
4415 2006-04-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
4417 * lily/relocate.cc (expand_environment_variables): new function.
4419 (read_relocation_file): id.
4421 * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code
4423 2006-04-21 Erlend Aasland <erlenda@gmail.com>
4425 * ly/engraver-init.ly: remove old comments from TabVoice
4427 2006-04-20 Graham Percival <gpermus@gmail.com>
4429 * Documentation/user/instrument-notation.itely: added Erlend's
4430 latest doc patch, thanks!
4432 2006-04-19 Erlend Aasland <erlenda@gmail.com>
4434 * lily/include/slur.hh:
4436 * lily/phrasing-slur-engraver.cc:
4437 * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4438 acknowledge_extra_object () from Phrasing_slur_engraver:: and
4439 Slur_engraver:: and putting it in
4440 Slur::auxiliary_acknowledge_extra_object ().
4442 * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4444 * lily/note-collision.cc: fix a comment
4446 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4448 * stepmake/bin/add-html-footer.py: fix footer position in
4449 generated html files: before </body> and </html> tags.
4451 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4453 * scripts/GNUmakefile: revert last "fix", which rather broke make.
4454 Earlier successive `make' commands finally compiled ok.
4456 * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4458 2006-04-18 Erlend Aasland <erlenda@gmail.com>
4460 * lily/include/stem-tremolo.hh:
4461 * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4465 * lily/include/lookup.hh: add rotated_box ()
4467 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4469 * scripts/GNUmakefile: bugfix: run help2man only after scripts have
4470 been generated. Fixes "can't get `--help'" bug after make clean.
4472 * THANKS: alphabetize contributors.
4474 2006-04-17 Graham Percival <gpermus@gmail.com>
4476 * Documentation/user/instrument-notation.itely: added Erlend's
4477 tabs and banjo doc patch. Thanks!
4479 2006-04-17 Erlend Aasland <erlenda@gmail.com>
4481 * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4483 * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4485 * scm/output-lib.scm: add some more predefined string tunings.
4487 * Documentation/user/instrument-notation.itely: and doc them.
4489 2006-04-16 Jürgen Reuter <reuter@ipd.uka.de>
4491 * ly/engraver.ly: Remove obsolete comments.
4493 * ly/gregorian-init.ly: Define default layout block.
4495 * input/puer-fragment.ly: Updated and extended.
4497 2006-04-15 Jan Nieuwenhuizen <janneke@gnu.org>
4499 * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4500 pdf conversion behaviour.
4502 * flower/file-name.cc (dir_name)
4503 (get_working_directory): Move from relocate.cc.
4505 * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4507 * lily/relocate.cc: Encapsulate sys/stat.h in
4510 2006-04-14 Graham Percival <gpermus@gmail.com>
4512 * Documentation/user/ various: small updates from Cameron
4513 and Juergen, thanks!
4515 * Documentation/user/ various: small updates of my own.
4517 * THANKS: 2.7 -> 2.8.
4519 2006-04-11 Graham Percival <gpermus@gmail.com>
4521 * scm/define-context-properties.scm: typo.
4523 * Documentation/user/ : many more small updates.
4525 2006-04-13 Jürgen Reuter <reuter@ipd.uka.de>
4527 * scm/define-music-types.scm: disposed "docme".
4529 2006-04-11 Erlend Aasland <erlenda@gmail.com>
4531 * lily/hairpin.cc: make niente circles a bit smaller.
4533 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4535 * mf/GNUmakefile: remove redundant mftrace check. Also remove
4536 get-pfa and get-*-fonts targets.
4538 2006-04-10 Graham Percival <gpermus@gmail.com>
4540 * THANKS, Documentation/user/ basic-notation, advanced-notation,
4541 music-glossary, programming-interface: more minor fixes
4544 * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4546 * scm/define-context-properties.scm: another old \property update.
4547 This time tested for compiling!
4549 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4551 * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4553 2006-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
4555 * scm/define-context-properties.scm (all-user-translation-properties):
4556 * Documentation/user/global.itely (Page formatting): Compile fix.
4558 2006-04-09 Mats Bengtsson <mabe@s3.kth.se>
4560 * Documentation/user/advanced-notation.itely (Polymetric
4561 notation): Update the example to use the "+" symbol and add link
4562 to input/test/compound-time.ly.
4564 2006-04-08 Graham Percival <gpermus@gmail.com>
4566 * scm/define-grob-properties.scm: clarify docs for #'direction.
4568 * scm/define-context-properties.scm: update old \property override.
4570 * Documentation/user/ advanced-notation, global, lilypond-book:
4571 more minor doc updates.
4573 2006-04-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4575 * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4577 * scm/backend-library.scm (search-gs): oops.
4579 2006-04-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4581 * scripts/lilypond-book.py (output): use base, not filename for href.
4583 * scm/backend-library.scm: only look for gs.
4585 * scripts/lilypond-book.py (output): fix printfilename.
4587 * lily/parser.yy (music_function_musicless_prefix): fold together
4588 definitions of signature (SCM*) (Music|post_event|chord_body_element)
4590 * lily/slur.cc (print): only set font-size if not set yet.
4592 * lily/slur-configuration.cc (add_score): improved layout of debug
4595 2006-04-05 David Feuer <David.Feuer@gmail.com>
4597 * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4598 (draw_circle): Hopefully fixed regression.
4599 Improved documentation for several procedures.
4601 2006-03-04 Werner Lemberg <wl@gnu.org>
4603 * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4605 2006-04-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4607 * scripts/musicxml2ly.py (bindir): add dynamic
4610 2006-04-04 Graham Percival <gpermus@gmail.com>
4612 * Documentation/user/ basic-notation, advanced-notation, putting,
4613 instrument-notation, invoking, lilypond, THANKS: another ream of small
4614 fixes from the Doc Helpers.
4616 2006-04-03 David Feuer <David.Feuer@gmail.com>
4618 * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4620 * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4622 * Cleaned up interfaces between PostScript and Scheme, and moved
4623 computations from PostScript to Scheme:
4625 * music-drawing-routines.ps
4626 (*SF, stroke_and_fill): new procedures. Replaced stroke and fill
4627 with stroke_and_fill throughout.
4628 (euclidean_length, print_letter, draw_box): Deleted unused
4629 procedures. If someone needs draw_box, implement it using
4630 draw_round_box; don't duplicate code.
4631 (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4632 Refactored/cleaned up interfaces.
4635 * output-ps.scm: reordered arguments to PostScript functions to
4636 match new interfaces
4637 (glyph-string): Rewrote glyph-string.
4638 (grob-cause): Replaced string-append with format.
4639 (repeat-slash): Rewrote to do computation here.
4640 (round-filled-box): Rewrote to do computation here.
4642 2006-04-04 Erlend Aasland <erlenda@gmail.com>
4644 * stepmake/stepmake/generic-targets.make: add cvs-clean target
4646 * stepmake/stepmake/toplevel- targets.make: print help info about
4649 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4651 * input/regression/hairpin-circled.ly: new file
4653 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4655 * lily/hairpin.cc (print): add support for circled tip
4657 * scm/define-grob-properties.scm: add circled-tip parameter
4659 * scm/define-grobs.scm: init circled-tip to false
4661 2006-04-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4663 * scm/music-functions.scm (quote-substitute): set
4666 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4668 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4671 * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4673 * scm/output-ps.scm (glyph-string): revert cid selectfont.
4675 2006-03-31 David Feuer <david.feuer@gmail.com>
4677 * scm/framework-ps.scm:
4679 * scm/output-ps.scm: glyph-string now produces smaller, more
4680 readable, and probably faster PostScript. Several findfont
4681 scalefont setfont instances changed to selectfont
4682 Hacked-up string-appends changed to formats.
4684 * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4686 2006-03-30 Graham Percival <gpermus@gmail.com>
4688 * scm/lily-library.scm: make "no version" warning message more polite.
4690 * lily/music.cc: add double quotes to failed octave check.
4692 * Documentation/user/ advanced-notation, changing-defaults,
4693 instrument-notation, invoking, music-glossary: whole bunch of minor
4696 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4698 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4699 $(buildscriptdir) iso. depth.
4701 * VERSION (PACKAGE_NAME): release 2.9.1
4703 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4705 * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4707 * VERSION (PATCH_LEVEL): bump version number.
4709 * flower/include/guile-compatibility.hh (scm_from_uint32): add
4712 * lily/pango-font.cc (pango_item_string_stencil): use
4715 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4716 $(outdir)/emmentaler-%.svg): remove canary.
4718 * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4719 glyphnames if we have a ttf font.
4721 2006-03-30 Mats Bengtsson <mabe@s3.kth.se>
4723 * Documentation/user/advanced-notation.itely (Font selection):
4724 Corrected reference to the font-family-override.ly example.
4726 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4728 * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4729 stem-tremolo object in the stem (or else the stem might not be
4732 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4734 * lily/ttf.cc (print_trailer): only print existing glyphs.
4736 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4738 * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4739 position the tremolo based on the position of the notehead.
4741 * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4742 notes and update the texidoc line with the new positioning rules.
4744 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4746 * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4748 * scripts/lilypond-book.py (Module): set default for linewidth if
4751 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4753 * VERSION (PACKAGE_NAME): release 2.9.0.
4755 * input/regression/stem-tremolo-position.ly: new file.
4757 * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4759 2006-03-28 Joe Neeman <joeneeman@gmail.com>
4761 * lily/stem-tremolo.cc (print): position
4762 the tremolo depending only on the end of the stem
4763 and not on the notehead
4764 (raw_stencil): center, on the middle staff line, the
4765 flag that is closest to the end of the stem (previously
4767 (calc_width): add this callback to shorten a tremolo when
4768 it is beamed or it is stemup with a flag
4769 (style): add this callback to make a tremolo rectangular when
4770 it is beamed or it is stemup with a flag
4771 (rotated_box): this is like Lookup::beam but makes a rotated
4772 rectangle instead of a parallelogram
4774 * lily/stem.cc (calc_stem_info): make sure the stem
4775 is long enough to fit the tremolo
4776 (calc-length): reduce the length of tremolo stems since the
4777 tremolo code is now capable of better positioning
4779 * scm/define-grobs.scm: make calc_width the default beam-width
4780 callback for stem-tremolo and add the style callback
4782 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4784 * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4787 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4789 * lily/ttf.cc (make_index_to_charcode_map): restore old
4792 2006-03-28 Werner Lemberg <wl@gnu.org>
4794 * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4796 2006-03-28 Graham Percival <gpermus@gmail.com>
4798 * THANKS: update for 2.9, add section for Documentation helpers.
4800 * Documentation/topdocs/NEWS.tely: compile fix.
4802 * Documentation/user/ basic-notation, global, advanced-notation,
4803 examples.itely: minor fixes from mailist.
4805 2006-03-28 Han-Wen Nienhuys <hanwen@lilypond.org>
4807 * mf/feta-bolletjes.mf: match width of solfa notes with normal
4810 * lily/ttf.cc (print_trailer): use it.
4812 * lily/pango-font.cc (get_unicode_name): new function.
4814 * lily/ttf.cc (make_index_to_charcode_map): move function from
4816 (print_trailer): substitute uniXXXX name if applicable.
4818 * lily/pango-font.cc (get_index_to_charcode_map): new function.
4819 (pango_item_string_stencil): use it to generate uniXXXX names.
4821 * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4822 note heads, for uniform widths in shape note output.
4823 (overdone_heads): hmm. remove them again.
4825 * scripts/lilypond-book.py (output): add links to filenames.
4827 * Documentation/topdocs/INSTALL.texi (Top): update versions.
4829 * lily/note-collision.cc (get_clash_groups): only consider when
4830 Note_column::dir <> CENTER.
4832 * scripts/lilypond-book.py (get_option_parser): init output_name
4835 2006-03-24 Graham Percival <gpermus@gmail.com>
4837 * Documentation/topdocs/NEWS.tely: add @end itemize
4839 * Documentation/user/ global, advanced-notation: minor
4842 2006-03-23 Graham Percival <gpermus@gmail.com>
4844 * Documentation/user/ lilypond.tely, music-glossary,
4845 preface: housekeeping; 2005->2006, remove "notes for 2.6"
4847 2006-03-23 Han-Wen Nienhuys <hanwen@lilypond.org>
4849 * mf/GNUmakefile: don't install .enc files.
4851 * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
4853 * VERSION (PATCH_LEVEL): bump to 2.9.0
4855 2006-03-22 Graham Percival <gpermus@gmail.com>
4857 * Documentation/user/advanced-notation.itely: minor fixes
4860 2006-03-22 Han-Wen Nienhuys <hanwen@lilypond.org>
4862 * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
4864 * branch lilypond_2_8
4866 2006-03-22 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4868 * scripts/lilypond-book.py (samefile): new function, for windoze
4871 2006-03-21 Graham Percival <gpermus@gmail.com>
4873 * ly/engraver-init.ly: add info about StaffGroup.
4875 2006-03-21 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4877 * input/regression/stem-direction-context.ly: idem.
4879 * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
4883 * input/regression/page-layout-twopass.ly: comment out \markup so
4886 * lily/instrument-name-engraver.cc (finalize): add to instrument
4887 name global System. This also fixes chopped instrument names, but
4888 doesn't crash when there are slurs/beams.
4890 * lily/slur-configuration.cc (add_score): disallow negative slur
4893 2006-03-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
4895 * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
4897 * lily/instrument-name-engraver.cc (process_music): kludge: add
4898 InstrumentName spanner to axis group of left bound. Fixes chopped
4899 off instrument names in EPS images.
4901 * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
4903 * scripts/abc2ly.py (option_parser): update to 2.7.40
4905 2006-03-20 Graham Percival <gpermus@gmail.com>
4907 * THANKS: move small doc contributors to SUGGESTIONS.
4909 * Documentation/user/ basic-notation, advanced-notation,
4910 global: small changes from mailist.
4912 2006-03-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
4914 * Documentation/user/advanced-notation.itely (Text marks): update
4915 for new rehearsalMarkAlignSymbol convention.
4917 * VERSION (PATCH_LEVEL): bump version.
4919 * input/test/instrument-name-align.ly: new file.
4921 * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
4923 * input/test/instrument-name-align.ly: new file. Document how to
4924 align instrument names.
4926 * lily/mark-engraver.cc: remove properties.
4928 * scm/define-context-properties.scm
4929 (all-user-translation-properties): remove align symbol properties
4930 for barnumber/reh. mark.
4932 * lily/break-align-interface.cc (self_align_callback): new
4933 interface, new function. Look at complete alignment. This handles
4934 tunable break alignments in case break-align-symbols are missing.
4936 * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
4938 * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
4940 * python/convertrules.py (conv): mark/bar number alignment rule.
4942 * lily/break-align-interface.cc (calc_positioning_done): also
4943 store offset from last visible break-alignment to its
4944 neighbor. This makes alignment on non-visible objects more reliable.
4946 * po/lilypond.pot (Module): ran po-replace.
4948 * input/regression/tie-single-manual.ly (Module): new file.
4950 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
4951 look at has_manual_position_.
4952 (from_ties): set has_manual_position_ if tie has staff-position set.
4954 * lily/tuplet-bracket.cc (calc_positions): idem.
4956 * lily/tuplet-number.cc (print): don't print tupletnumber if it
4959 2006-03-19 Nicolas Sceaux <nicolas.sceaux@free.fr>
4961 * scm/define-markup-commands.scm (smallCaps): new markup command
4962 for turning a text to small caps using smaller font size and upper
4965 2006-03-17 Graham Percival <gpermus@gmail.com>
4967 * Documentation/user/ examples, instrument-notation,
4968 advnaced-notation: minor fixes from mailist.
4970 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
4972 * Documentation/user/tutorial.itely (First steps): change example
4975 2006-03-17 Graham Percival <gpermus@gmail.com>
4977 * Documentation/user/ examples, advanced: minor changes from mailist.
4979 * THANKS: add Geoff Horton, for documentation stuff.
4981 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
4983 * python/lilylib.py (system): revert have_select kludge.
4985 * Documentation/user/tutorial.itely (Commenting input files):
4986 update version numbers in doc.
4988 * scm/define-grob-interfaces.scm (multi-measure-interface): add
4989 bound-padding to multi-measure-interface
4991 2006-03-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
4993 * input/test/engraver-example.ily: update version number.
4995 * VERSION (PACKAGE_NAME): release 2.7.39
4997 * lily/note-spacing.cc (get_spacing): heighten threshold where
4998 accidentals/arpeggios influence previous spacing fully.
5000 * lily/rest.cc (y_offset_callback): only use direction if
5001 staff-position wasn't set before.
5003 * lily/bar-number-engraver.cc: add support for
5004 barNumberAlignSymbol.
5005 add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
5007 * lily/pointer-group-interface.cc (set_ordered): new function.
5008 (add_unordered_grob): new function.
5010 * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
5011 to ordered, unless the opposite has been proved. This fixes
5012 random reordering of large object groups across linebreaks,
5015 * lily/main.cc (do_chroot_jail): printf format fix.
5017 * lily/tie-formatting-problem.cc (generate_configuration):
5018 multiply y-shift for dot with direction.
5020 * scm/define-markup-commands.scm (note-by-number): put (magstep
5021 size) in y-attach too.
5023 * Documentation/topdocs/NEWS.tely (Top): show override.
5025 * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
5026 direction for stems.
5028 2006-03-15 Graham Percival <gpermus@gmail.com>
5030 * Documentation/user/ changing-defaults, global: minor
5033 2006-03-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5035 * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5037 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5038 breakable items after uniformly stretched notes.
5040 * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5041 outline with outer edge of note heads. This prevents infinity
5042 problems with tied whole notes.
5044 * scripts/lilypond-book.py (do_file): use os.popen
5046 * python/convertrules.py (conv): add rule for Stem #'beamed-*
5048 2006-03-14 Erik Sandberg <mandolaerik@gmail.com>
5050 * Documentation/user/invoking.itely: Add ragged-right to bug report
5053 2006-03-14 Graham Percival <gpermus@gmail.com>
5055 * Documentation/user/global.itely: small fix from mailist.
5057 2006-03-14 Mats Bengtsson <mabe@s3.kth.se>
5059 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5060 file descriptor returned by tempfile.mkstemp() when writing
5061 to tmpfile and closing it. Solves problem with unlink(tmpfile)
5064 2006-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
5066 * po/fi.po: newline bugfix.
5068 2006-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
5070 * scm/paper.scm (paper-alist): Rounding fixes.
5072 2006-03-13 Graham Percival <gpermus@gmail.com>
5074 * Documentation/user/ changing-defaults, instrument-notation,
5075 tutorial: small fixes from mailist, mostly from Mats. Thanks!
5077 2006-03-13 Heikki Junes <hjunes@cc.hut.fi>
5081 2006-03-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5083 * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5086 * python/lilylib.py (print_environment): move ps_page_count to
5089 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5091 * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5093 * scm/framework-ps.scm (embed-document): new function. Use to
5096 * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5098 2006-03-12 Mats Bengtsson <mabe@s3.kth.se>
5100 * Documentation/user/instrument-notation.itely (Setting simple
5101 songs): Added \book{...} around the full example, so the separate
5102 markups are included in the printed example.
5104 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5106 * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5109 * python/lilylib.py (system): rewrite system() using
5110 subprocess. Remove >& redirection trickery.
5112 2006-03-11 Graham Percival <gpermus@gmail.com>
5114 * Documentation/user/ changing-defaults, global, scheme-tutorial,
5115 notation-appendices.itely: minor fixes from mailist.
5117 2006-03-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5119 * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5120 unsplit man also needs images.
5122 * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5124 * VERSION (PACKAGE_NAME): 2.7.38 released.
5126 2006-03-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5128 * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5131 2006-03-08 Johannes Schindelin <Johannes.Schindelin@gmx.de>
5133 * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5134 respects the Score.skipTypesetting property.
5136 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5138 * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5139 Prolog. No %%EOF after CFF file.
5141 2006-03-08 Joe Neeman <joeneeman@gmail.com>
5143 * lily/constrained-breaking.cc (get_max_systems): used to return a
5145 (combine_demerits): use pointers to reduce copying data
5146 (calc_subproblem): idem
5147 (get_page_penalty): add page turn penalties
5149 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5151 * Documentation/user/invoking.itely (Invoking lilypond): better
5152 explanation of -e usage.
5154 * lily/main.cc (main_with_guile): don't append to
5155 init_scheme_code_string
5157 * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5159 * Documentation/user/invoking.itely: add note about MacOS X scripts.
5161 * scripts/convert-ly.py (do_options): don't print help for
5164 * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5165 @code and @example. Update from texinfo.tex from CVS.
5167 2006-03-08 Graham Percival <gpermus@gmail.com>
5169 * Documentation/user/scheme-tutorial.itely: clarifies distances
5170 measured in staff-spaces.
5172 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5174 * lily/slur.cc (outside_slur_callback): only calculate offsets if
5175 consider[k] is true.
5177 * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5179 * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5180 consider columns that have originals. Unifies spacing for mm
5181 rests around line breaks.
5183 * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5184 (set_text_rods): idem.
5185 (calculate_spacing_rods): new function: share code between
5186 set_text_rods and set_spacing_rods.
5187 (set_text_rods): take extents of bounds into account.
5189 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5191 * Documentation/user/basic-notation.itely (Writing music in
5192 parallel): don't use relative.
5194 2006-03-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
5196 * ly/music-functions-init.ly (Module): add shiftDurations
5198 * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5200 * scm/paper.scm (paper-alist): no decimals for Ax paper sizes.
5202 * ly/engraver-init.ly: init vocalName to nil.
5204 2006-03-05 Erik Sandberg <mandolaerik@gmail.com>
5206 * scm/music-functions.scm (music->make-music): bugfix,
5207 KeyChangeEvents are now handled correctly.
5209 * scripts/lilypond-book.py: Add --debug option.
5211 2006-03-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
5213 * python/lilylib.py: add tempfile.
5215 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5217 * VERSION (PACKAGE_NAME): release 2.7.37
5219 * python/lilylib.py (ps_page_count): remove make_ps_images().
5220 (ps_page_count): remove mkdir_p
5221 (system): remove cleanup_temp.
5222 (exit): remove lilypond_version_(check)
5223 (error_log): remove pseudo_filter_p
5228 * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5231 * lily/accidental-engraver.cc (make_standard_accidental): only add
5232 support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5234 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5235 $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5236 Make incompatibilities.
5238 * scm/output-ps.scm (grob-cause): replace backslashes by /
5239 (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5241 2006-03-02 Jan Nieuwenhuizen <janneke@gnu.org>
5243 * cygwin/GNUmakefile: Install fixes.
5245 * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5247 * lily/note-head.cc (head::get_balltype): Compile fix.
5249 * flower/file-name.cc (dos_to_posix): Flower string fix.
5251 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5253 * python/lilylib.py: pychecker cleanups.
5255 * scripts/lilypond-book.py
5256 (Lilypond_snippet.output_print_filename): pychecker cleanups
5258 * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5260 * python/lilylib.py (underscore): remove identify() , warranty()
5262 * ps/music-drawing-routines.ps: change Border routine for GSView
5265 * lily/stem.cc (height): use quantize-positions. This triggers
5266 set_stem_lengths, so scripts on beamed stems are handled correctly.
5268 * lily/side-position-interface.cc (aligned_side): check if edges
5269 of script are inside staff. Fixes accent of edge of the staff.
5271 * input/regression/staccato-pos.ly: more examples.
5273 * stepmake/aclocal.m4 (depth): fix bashism.
5275 * lily/lyric-combine-music-iterator.cc: move from
5276 new-lyric-combine-iterator.cc
5277 (process): add pending_grace_lyric_ member to delay lyrics on
5280 * lily/system-start-text.cc (print): suicide if we don't have any
5281 elements. Fixes hara kiri'd instrument names.
5283 * scripts/mup2ly.py (Module): remove.
5285 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5287 * Documentation/user/global.itely (A single music expression):
5288 close @lilypond properly
5290 * lily/volta-bracket.cc (modify_edge_height): change from
5291 after_line_breaking_callback. Suicide last bracket if appropriate.
5293 * python/lilylib.py: strip getopt support
5295 * scripts/etf2ly.py (do_options): use optparse
5297 * scripts/midi2ly.py: optparse, strip lilylib copy.
5299 * scripts/abc2ly.py (voices): use optparse.
5301 * stepmake/stepmake/generic-vars.make: new function absdir.
5303 * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5305 * scripts/lilypond-book.py (find_file): use global_options for
5308 * scm/ps-to-png.scm (ps-page-count): prevent null characters
5311 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5313 * python/lilylib.py (get_global_option): ughness for extracting
5314 global options from lilylib.
5315 (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5317 * scripts/lilypond-book.py (get_option_parser): use optparse for
5318 option handling. Put options in global_options variable.
5320 2006-02-28 Heikki Junes <hjunes@cc.hut.fi>
5322 * Documentation/index.html.in: clarify.
5324 2006-02-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
5326 * scm/layout-page-layout.scm (write-page-breaks): add a
5327 music-system-heights property to the page layout output.
5329 * scm/page.scm (make-page-stencil): take footer into account when
5330 computing the 'space-left page property
5331 (annotate-space-left): take footer into account when annonating
5334 2006-02-28 Graham Percival <gpermus@gmail.com>
5336 * Documentation/user/ advanced-notation, global: more (final)
5337 docs for music expressions, removed special fermatas.
5339 2006-02-27 Graham Percival <gpermus@gmail.com>
5341 * Documentation/user/ basic-notation, global: minor changes
5344 2006-02-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
5346 * scm/framework-ps.scm:
5347 * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5348 layer for inf? and nan? from framework-ps to lily-library.
5350 2006-02-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
5352 * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5353 $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5355 * buildscripts/substitute-encoding.py (Module): remove file.
5357 * mf/GNUmakefile: more PFA strippage.
5359 * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5361 * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5364 * scm/framework-ps.scm: remove font name munging.
5366 * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5368 2006-02-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
5370 * scm/markup.scm (define-markup-command): change
5371 def-markup-command to define-markup-command
5373 * scm/music-functions.scm (define-music-function): change
5374 def-music-function to define-music-function.
5376 * python/convertrules.py (conv): rules for def-music-function
5377 and def-markup-commands
5379 * Documentation/user/programming-interface.itely,
5380 input/no-notation/display-lily-tests.ly,
5381 input/regression/lily-in-scheme.ly,
5382 input/regression/markup-user.ly,
5383 input/regression/music-function.ly, input/regression/tie-chord.ly,
5384 scm/fret-diagrams.scm, ly/music-functions-init.ly,
5385 ly/gregorian-init.ly: use new macro names (define-music-function,
5386 define-markup-command).
5388 2006-02-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
5390 * scripts/lilypond-book.py (main): write Makefile dependencies file.
5391 (output): add comments to lp-book latex output.
5393 * GNUmakefile.in (footifymail): use gmane address for webpage bug
5396 2006-02-23 Graham Percival <gpermus@gmail.com>
5398 * Documentation/user/ tutorial, global: minor changes.
5400 2006-02-23 Nicolas Sceaux <nicolas.sceaux@free.fr>
5402 * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5403 blocks (for make 3.80)
5405 * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5406 \notemode so that user should not have to explicitely type it.
5408 * scm/define-music-display-methods.scm: various
5409 fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5412 * input/no-notation/display-lily-tests.ly: new tests for
5413 \applyOutput and \applyContext
5415 2006-02-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
5417 * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5418 changed it slightly so that the number of systems returned by
5419 solve () will be the same as the last value passed to resize
5420 (). I've also added more documentation, removed casts, fixed style
5421 problems and put in some recovery if constraints aren't satisfied."
5423 2006-02-23 Jan Nieuwenhuizen <janneke@gnu.org>
5425 * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5426 for emacs < 22 compatibility.
5427 (count-rexp): Use it.
5428 (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5429 substring juggling (Milan Zamazal).
5431 2006-02-23 Graham Percival <gpermus@gmail.com>
5433 * Documentation/user/ basic-notation, advanced-notation,
5434 global.itely, invoking.itely, tutorial,itely:
5435 minor fixes from mailist.
5437 * scm/define-markup-commands.scm: improve docs of \filled-box.
5439 2006-02-23 Heikki Junes <hjunes@cc.hut.fi>
5441 * Documentation/index.html.in: changes concern the previous release.
5443 * input/regression/+.ly: cultivate typographical terminology.
5445 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5447 * scm/define-grob-interfaces.scm (parentheses-interface): add
5448 padding to parentheses-interface.
5450 * Documentation/user/GNUmakefile: remove $(CROSS) support from
5451 Documentation/user/GNUmakefile. Use --disable-documentation for that.
5453 * VERSION (PATCH_LEVEL): release 2.7.36
5455 * lily/slur.cc: add avoid-slur (ugh.)
5457 * lily/slur-configuration.cc (fit_factor): oops, skip point if
5458 intersection gets smaller. This fixes slurs over extreme points.
5460 * lily/melody-engraver.cc (stop_translation_timestep): ignore
5461 stems with neutral-direction set.
5463 * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5465 * lily/open-type-font.cc (load_table): format error.
5467 * lily/change-iterator.cc (process): format fix.
5469 * flower/include/international.hh (_f): idem.
5471 * flower/include/std-string.hh: add format printf attribute.
5473 * scm/define-grobs.scm (all-grob-descriptions): height of all
5474 PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5476 * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5479 * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5481 2006-02-22 Erik Sandberg <mandolaerik@gmail.com>
5483 * input/regression/: upgraded syntax for some files.
5485 * THANKS: Add bughunters.
5487 2006-02-22 Graham Percival <gpermus@gmail.com>
5489 * Documentation/user/ invoking.itely, advanced-notation.itely,
5490 global.itely: long-awaited "let's make chapter 10 not suck"
5491 update. Rearrange chapter 10; now called "global issues",
5492 addresses file structure, etc. Some info from other files
5493 moved into global.itely.
5495 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5497 * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5498 catch trill-span-event notes.
5500 * Documentation/user/examples.itely (Ancient notation templates): typo.
5503 * scripts/lilypond-book.py (main): scrap invokes_lilypond().
5505 * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5507 * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5509 * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5511 * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5512 froum Laissez_vibrer_engraver.
5514 * ly/declarations-init.ly (repeatTie): add \repeatTie
5516 * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5518 * scm/define-grob-properties.scm (all-user-grob-properties): add
5519 head-direction property.
5521 * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5522 from_lv_ties. Take head direction argument.
5524 * lily/semi-tie-column.cc: rename from
5525 laissez-vibrer-tie-column.cc. Rename class too.
5527 * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5530 * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5532 * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5534 (find_breaks): idem.
5536 2006-02-21 Graham Percival <gpermus@gmail.com>
5538 * Documentation/user/advanced-notation.itely: fixed make-moment]
5541 * Documentation/user/basic-notation.itely: more clarification to
5544 2006-02-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
5546 * lily/include/constrained-breaking.hh (class
5547 Constrained_breaking): new file.
5549 * lily/constrained-breaking.cc (resize): new file.
5551 * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5553 * Documentation/user/advanced-notation.itely (Clusters): insert
5556 * lily/tie-column.cc (calc_positioning_done): support for
5559 * lily/tie-formatting-problem.cc
5560 (generate_extremal_tie_variations): factor out.
5561 (score_ties_configuration): annotate all tie
5562 (print_ties_configuration): new routine.
5563 (generate_configuration): nudge extremal ties outside of the head
5565 (score_ties_configuration): oops. convert to staff-space before
5566 determining position symmetry.
5568 2006-02-20 Graham Percival <gpermus@gmail.com>
5570 * Documentation/user/*-notation.itely: misc minor editing,
5571 shifting doc sections around.
5573 * Documentation/user/*-notation-itely, global.itely,
5574 changing-defaults.itely: added new stuff from NEWS.
5576 2006-02-20 Heikki Junes <hjunes@cc.hut.fi>
5580 2006-02-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5582 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5583 lilypond --verbose for lp-book.
5585 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5586 $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5588 * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5589 $(buildscript-dir) iso. absolute depth.
5591 * buildscripts/genicon.py (dir): thinko.
5593 * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5595 2006-02-19 Erik Sandberg <mandolaerik@gmail.com>
5597 * scm/output-lib.scm: swap darkcyan/darkyellow
5599 * THANKS: Add bughunters.
5601 2006-02-19 Graham Percival <gpermus@gmail.com>
5603 * Documentation/user/programming-interfaces.itely: fixed example.
5605 * Documentation/user/instrument-notation.itely: fix @{ @}.
5607 * scm/script.scm: add avoid-slur for \open.
5609 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5611 * lily/tie-formatting-problem.cc (score_configuration): use
5612 sliding score for min-length.
5614 * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5615 spaghetti for icons.
5617 * buildscripts/genicon.py (program_name): new file.
5619 * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5621 (generate_configuration): for small ties, also look for collisions
5622 at Y + DIR*h + DELTA_Y.
5623 (get_variations): consider variation for dot positions too.
5625 * lily/side-position-interface.cc (aligned_side): take abs for
5626 quantized rounded position. Fixes tenuto below staff.
5628 * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5629 markers when necessary.
5631 * lily/program-option.cc (internal_set_option): add
5632 strict_infinity_checking option.
5634 * scm/output-lib.scm (cyan): swap yellow and cyan.
5636 2006-02-19 Graham Percival <gpermus@gmail.com>
5638 * darwin.patch: trivial linenumber update.
5640 * Documentation/user/ {various}: `\context foo = named' changed
5641 to `\new foo = "name"' in docs.
5643 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5645 * scm/stencil.scm (annotate-y-interval): use it.
5647 * scm/lily-library.scm (interval-sane?): new function.
5649 * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5652 * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5655 * flower/include/std-vector.hh (iterof): add iterof macro.
5657 * lily/enclosing-bracket.cc (width): new function.
5659 * lily/align-interface.cc (align_elements_to_extents): reinstate
5662 2006-02-18 Heikki Junes <hjunes@cc.hut.fi>
5664 * Documentation/index.html.in: fix spelling: thankyous.
5666 2006-02-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
5668 * lily/lyric-hyphen.cc: typo.
5670 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5672 * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5673 $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5676 * VERSION: release 2.7.35
5678 * lily/beam.cc (get_default_dir): oops. Take abs () for
5680 (get_default_dir): use extreme position criterion only in absence
5681 of forced stem directions.
5683 * VERSION (PATCH_LEVEL): bump VERSION.
5685 * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5686 dependencies. Necessary for -jX builds.
5688 2006-02-17 Jan Nieuwenhuizen <janneke@gnu.org>
5690 * lily/relocate.cc (setup_paths): Yet another const fix.
5692 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5694 * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5696 * lily/relocate.cc (setup_paths): oops.
5698 2006-02-17 Heikki Junes <hjunes@cc.hut.fi>
5700 * Documentation/index.html.in: order links: html before PDF.
5702 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5704 * lily/tie-column-format.cc (Module): remove.
5706 * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5708 * lily/text-spanner.cc (print): idem.
5710 * lily/dynamic-text-spanner.cc (print): only print line if longer
5713 * lily/auto-change-iterator.cc (change_to): formatting.
5715 * lily/beam.cc (get_default_dir): take extreme note head as input
5718 * lily/tie.cc (get_default_dir): only look directions for visible
5721 * lily/side-position-interface.cc (aligned_side): oops. Don't
5722 mutiply with direction. This fixes quantized (staccato, tenuto)
5723 scripts below notes.
5725 * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5726 direction. Fixes c-lyrics-center-align.ly
5728 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5730 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5733 * lily/std-string.cc:
5734 * lily/include/std-vector.hh (split_string): Move and rename from
5735 lily/include/misc.hh, lily/misc.cc. Update callers.
5737 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5739 * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5741 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5743 * flower/test-file.cc: New file.
5745 * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5748 * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5750 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5752 * flower/include/file-storage.hh: remove file.
5754 * lily/include/midi-item.hh (class Midi_track): idem.
5756 * lily/include/source.hh (class Sources): idem.
5758 * lily/include/performance.hh (class Performance): use vector
5761 * flower/include/cons.hh (class Cons): remove file.
5763 * flower/include/flower-proto.hh: remove template cruft.
5765 * lily/include/font-metric.hh: use size_t not vsize for indices.
5767 * flower/include/flower-proto.hh (Module): remove std-vector.hh
5770 * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5772 * lily/include/paper-book.hh (class Paper_book):
5773 make get_system_specs() public.
5775 * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5776 the force=10000 case if we don't have a current-best.
5778 * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5781 * flower/include/flower-proto.hh: remove outdated templates.
5783 * scm/page.scm: use annotate-spacing
5785 2006-02-15 Graham Percival <gpermus@gmail.com>
5787 * scm/translation-functions.scm: circle patch from Erlend, thanks!
5789 * THANKS: moved Erlend Aasland to contributors.
5791 2006-02-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5793 * config.hh.in: remove HAVE_PANGO_16
5795 * lily/tuplet-bracket.cc (calc_positions): multiply with
5796 staff-space for beam case. This fixes tuplets+beams on scaled
5799 * config.hh.in: remove all Kpathsea related defines.
5801 * lily/dot-column.cc (side_position): reach stem via dots->
5802 head->stem. Inspect all stems for dot collisions.
5804 * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5807 * lily/bar-number-engraver.cc (process_music): document function
5810 * lily/score.cc (default_rendering): add pscore, not systems
5813 * lily/paper-book.cc (get_system_specs): separate generation of
5816 * flower/include/std-vector.hh: don't include config.hh
5818 2006-02-15 Jan Nieuwenhuizen <janneke@gnu.org>
5820 * flower/include/std-vector.hh: Better wrapper compatibility with
5823 * flower/include/flower-proto.hh: Remove cheap forward declaration
5826 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5828 2006-02-14 Graham Percival <gpermus@gmail.com>
5830 * Documentation/user/invoking.itely: add warning about command line.
5832 2006-02-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
5834 * lily/include/lily-proto.hh: add Prob, rm Page.
5836 * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5838 * VERSION: release 2.7.34
5840 * lily/relocate.cc (framework_relocation): show canary if
5841 GHOSTSCRIPT_VERSION undefined.
5843 * GNUmakefile.in: remove $(VERSION) symlink.
5845 * lily/relocate.cc (setup_paths): add +
5847 2006-02-13 Heikki Junes <hjunes@cc.hut.fi>
5849 * Documentation/index.html.in: specify sizes for all big HTML pages.
5851 2006-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5853 * config.hh.in: remove @FRAMEWORKDIR@
5855 * lily/system-start-text.cc (get_stencil): new file: separate out
5856 system-start-delimiter text support.
5858 * input/**ly: replace \context with \new where appropriate.
5862 * lily/slur-scoring.cc (get_base_attachments): use
5863 robust_relative_extent. This fixes problems with empty paper-columns.
5865 2006-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5867 * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
5869 * scm/define-music-properties.scm (all-music-properties):
5870 create-new property.
5872 * lily/context-specced-music-iterator.cc (construct_children):
5873 inspect 'create-new property iso. magical $uniqueContextId context
5876 * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
5878 * lily/context-key-manager.cc (Module): new file. Encapsulate
5879 object key generation.
5881 * lily/include/context-key-manager.hh (Module): new file.
5883 2006-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5885 * scm/define-grobs.scm (all-grob-descriptions): center instrument
5888 * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
5890 (reloc_b): excise --enable-framework-dir
5892 * lily/relocate.cc (framework_relocation): use getenv
5893 LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
5895 2006-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
5897 * flower/include/std-string.hh:
5898 * flower/include/std-vector.hh: Finish std:: conversion; move
5899 flower extensions from std:: namespace. Update users.
5901 * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
5902 their expansion to vector<*>. Update users.
5904 2006-02-10 Graham Percival <gpermus@gmail.com>
5906 * Documentation/user/invoking.itely: add example to File structure.
5908 * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
5909 examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
5911 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5913 * ly/paper-defaults.ly: typo.
5915 * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
5916 set_parent() for parentheses. This will make it show up in bbox
5919 * scm/output-lib.scm (parentheses-item::print): rewrite, using
5920 ly:grob-common* functions.
5922 * lily/grob-scheme.cc (LY_DEFINE):
5923 ly:grob-common-refpoint-of-array: new function
5924 ly:grob-common-refpoint: new function
5925 ly:grob-relative-coordinate: new function
5927 * lily/instrument-name-engraver.cc (process_music): use
5928 Text_interface::is_markup(). This fixes \markup on instrument names.
5930 * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
5933 * lily/slur.cc (print): idem.
5935 * lily/tie.cc: add line-thickness for ties.
5937 2006-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
5939 * scm/output-svg.scm: Document diversion from GNU coding standards
5940 as a workaround for a bug in Microsoft Internet Explorer.
5942 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5944 * lily/instrument-name-engraver.cc (process_music): use
5945 is_markup() iso. is_string()
5947 * Documentation/user/changing-defaults.itely (Module): add menu entry.
5949 * lily/percent-repeat-engraver.cc (process_music): only look at
5950 main_part_ for % repeats.
5952 * lily/stem-tremolo.cc (get_beam_translation): new function.
5953 (calc_slope): new function.
5954 (height): don't use real slope.
5956 2006-02-10 Jürgen Reuter <reuter@ipd.uka.de>
5958 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
5959 new connect-to-neighbor, control-points and staff-padding
5960 properties to make ligature brackets showing up again.
5962 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5964 * VERSION: release 2.7.33
5966 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
5969 * Documentation/user/changing-defaults.itely (Difficult tweaks):
5970 remove applyOutput example.
5971 (Objects connected to the input): document \tweak, \parenthesize
5973 * lily/relocate.cc (prefix_relocation): allow "current"
5974 iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
5975 changing VERSION in a lily tree less painful.
5977 * input/regression/parenthesize.ly: new file.
5979 * scm/output-lib.scm (parenthesize-element): new function.
5981 * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
5983 * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
5985 * lily/accidental-engraver.cc (make_standard_accidental): reroute
5986 cause: accidentals are caused by note heads, not note events.
5988 2006-02-08 Graham Percival <gpermus@gmail.com>
5990 * darwin.patch: small patch from Erlend, thanks!
5992 * Documentation/user/basic-notation.itely: add stem-neutral example.
5994 * Documentation/user/putting.itely: clarifications.
5996 2006-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
5998 * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
5999 note, add more guidelines to what should go into NEWS.
6001 * input/sakura-sakura.ly: document how to override font.
6003 * input/regression/font-family-override.ly: doc -dshow-available-fonts
6005 2006-02-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6007 * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
6009 2006-02-08 Jan Nieuwenhuizen <janneke@gnu.org>
6011 * scripts/convert-ly.py (lilypond_version_re_str): Move from
6012 convertrules. Add explicit grouping, needed for python2.2.
6014 2006-02-07 Jan Nieuwenhuizen <janneke@gnu.org>
6016 * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
6018 2006-02-07 Graham Percival <gpermus@gmail.com>
6020 * Documentation/user/global.itely: fix line-width in (text) docs.
6022 * Documentation/user/lilypond-book.itely: same.
6024 2006-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6026 * VERSION (PACKAGE_NAME): release 2.7.32
6028 * Documentation/topdocs/NEWS.tely (Top): document new variable
6031 * flower/include/array.icc (Message): remove file.
6033 * flower/include/std-vector.hh: make sure vsize and VPOS are
6034 defined for binary_search_bounds().
6036 * flower/std-string.cc (std): add to_string(long unsigned).
6038 * configure.in (gui_b): excise std_string option.
6039 (gui_b): excise std_vector option.
6041 * flower/string.cc (Module): excise flower array & string
6043 * flower/include/std-string.hh: excise flower string.
6045 * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6047 * python/convertrules.py (lilypond_version_re_str): require
6048 only numbers and dots in \version string.
6050 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6052 * lily/system-start-delimiter.cc (print): allow style = text too.
6054 * lily/system-start-delimiter-engraver.cc
6055 (acknowledge_system_start_text): new function, also add add to
6056 support of system-start-text (instrument names). This fixes
6057 instrument names on piano staves.
6059 * lily/instrument-name-engraver.cc: rewrite. Use
6060 system-start-delimiter approach. This save memory and cpu.
6062 * scm/define-grobs.scm (all-grob-descriptions): remove
6063 instrument-name from break-alignment.
6065 * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6067 2006-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
6069 * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6072 * configure.in (std_vector): On by default.
6074 * lily/include/font-metric.hh:
6075 * lily/include/tfm-reader.hh:
6076 * lily/include/spanner.hh: Use unsigned for indices and sizes.
6079 * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6081 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6083 * VERSION (PACKAGE_NAME): 2.7.31
6085 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6086 EPS edge at 0, but take minimum with left-overshoot. This fixes
6087 cut off system start delims.
6089 * lily/instrument-name-engraver.cc (stop_translation_timestep):
6090 hack: add to axis group if not added yet. This fixes hara kiri'd
6093 * lily/hara-kiri-group-spanner.cc
6094 (force_hara_kiri_in_y_parent_callback): fix signatures.
6096 * lily/hairpin.cc (print): check next hairpin to see whether or
6097 not to be continuing.
6099 2006-02-04 Jan Nieuwenhuizen <janneke@gnu.org>
6101 * Remove trailing whitespace from makefiles.
6103 * flower/include/std-vector.hh: Add binary_search_bounds workaround
6106 * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft.
6108 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6110 * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6112 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6114 * configure.in: Use it.
6116 2006-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6118 * scm/music-functions.scm (pitch-of-note): new function.
6120 * ly/music-functions-init.ly: add \octave and \addquote
6122 * lily/parser.yy (music_function_chord_body): softcode \octave.
6123 (lilypond_header): softcode \addquote
6125 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6127 * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6128 array.hh, parray.hh at all. Getting ready to flip the
6131 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6133 * lily/source-file.cc (file::get_line): Help binary_search_bounds
6136 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6138 2006-02-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
6140 * flower/include/array.hh: typo.
6142 2006-02-02 Graham Percival <gpermus@gmail.com>
6144 * Documentation/user/advanced-notation.itely: doc "\#" in text.
6146 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6148 * flower/include/pqueue.hh: Derive from std::vector.
6150 * flower/include/parray.hh: Conform to std::vector interface.
6153 2006-02-02 Graham Percival <gpermus@gmail.com>
6155 * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6157 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6159 * flower/file-path.cc (is_file): remove if 0 section.
6161 * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6162 selecting afii61352.
6164 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6166 * flower/include/std-vector.hh (boundary): Oops, reverse.
6168 * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6169 remove superfluous `d'.
6171 * flower/include/std-vector.hh (boundary, top): Detach from class.
6172 Remove empty vector shell.
6174 * flower/include/array.hh (reverse, swap): Detach from class.
6177 * flower/include/std-vector.hh
6178 * flower/include/array.hh (concat): Globally change to insert ().
6180 * flower/include/std-vector.hh
6181 * flower/include/parray.hh
6182 * flower/include/array.hh (elem, elem_ref): Globally replace by
6185 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6187 * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6189 * python/convertrules.py (FatalConversionError.sub_cxx_id):
6190 anticipate on identifier substitutions.
6192 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6194 * flower/include/std-vector.hh (insert): Remove, replace by
6195 std::vector interface. Update callers.
6197 * flower/include/array.icc (insert): Change signature to
6198 match std::vector interface.
6200 * flower/include/array.icc (vector_sort): Bugfix.
6202 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6204 * lily/parser.yy (output_def_head_with_mode_switch): new
6205 production. Result: dashes and underscores may be used in the
6208 * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode.
6210 * python/convertrules.py (conv): oops. One slash too much.
6212 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6214 * flower/include/std-vector.hh (sort): Remove, replace by
6215 ::vector_sort. Update callers.
6217 * flower/include/std-vector.hh (slice): Remove. Update callers.
6220 * flower/test-std.cc (vector_sort): New test.
6222 2006-02-01 Graham Percival <gpermus@gmail.com>
6224 * Documentation/user/putting.itely: fixes from Erik.
6226 2006-02-01 Jan Nieuwenhuizen <janneke@gnu.org>
6228 * flower/test-std.cc: Add simple unit test for vector migration.
6230 * stepmake/stepmake/test*: Unit test support.
6232 * flower/include/std-vector.hh (del): Remove. Use erase (),
6235 * flower/include/array.hh (begin, end): Add.
6238 2006-02-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6240 * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6241 std::string not String.
6243 * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6246 * lily/prob.cc (Prob): copy type_ too.
6248 * lily/lily-guile.cc (mangle_cxx_identifier): new
6249 function. Class_bla::foo_bar_[px] ->
6250 ly:class-bla::foo-bar[?!]. Changes throughout
6252 2006-01-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6254 * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6256 * lily/beam.cc (calc_direction): take dir from visible stem in
6259 2006-01-31 Jan Nieuwenhuizen <janneke@gnu.org>
6261 * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6262 Fix -1, >=0 boundary checks for unsigned vsize.
6264 * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6265 loop for unsigned vsize.
6267 * configure.in (--enable-std-vector): New option.
6268 (--enable-std-string): On by default.
6270 * flower/include/std-vector.hh: New file. Enable switch to
6271 std::vector, update client code.
6273 2006-01-30 Graham Percival <gpermus@gmail.com>
6275 * scm/document-translation.scm: clarify "this context is also
6276 known as". Thanks, Werner!
6278 * Documentation/user/putting.itely: small fixes from Don Blaheta.
6280 * Documentation/user/invoking.itely: small fix from Don.
6282 2006-01-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6284 * scm/lily.scm (define-scheme-options): rename option
6285 preview-include-book-title to book-title-preview
6286 (define-scheme-options): move force-eps-font-include (from paper
6287 block) to eps-font-include -d option.
6289 * VERSION (PATCH_LEVEL): release 2.7.30
6291 * input/bach-schenker.ly (staffPiano): new file.
6293 * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6295 * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6298 * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6300 * ps/lilyponddefs.ps: remove start-system, stop-system,
6301 start-page fluff. This saves putting { } code on the stack, fixing
6302 stack overflows when including EPS files.
6304 2006-01-29 Graham Percival <gpermus@gmail.com>
6306 * Documentation/user/putting.itely: minor fixes (comments on -devel).
6308 2006-01-29 Nicolas Sceaux <nicolas.sceaux@free.fr>
6310 * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6312 2006-01-28 Graham Percival <gpermus@gmail.com>
6314 * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6316 2006-01-28 Jan Nieuwenhuizen <janneke@gnu.org>
6318 * input/mutopia/claop.py: Update.
6320 2006-01-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6322 * input/regression/completion-heads.ly (texidoc): fix.
6324 * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6326 * lily/tie-formatting-problem.cc
6327 (set_ties_config_standard_directions): use abs iso fabs for ints.
6329 * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6331 * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6332 little less than noteheight, to prevent overlaps in chords.
6334 * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6335 head, and fudge stem-attachment.
6337 * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6339 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6341 2006-01-27 Jan Nieuwenhuizen <janneke@gnu.org>
6343 * lily/main.cc (main): Debugging aid: catch exceptions.
6345 * flower/std-string.cc (to_string): Robustification. Fixes midi
6346 output with std::string.
6348 2006-01-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6350 * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6352 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6354 * Fix -DSTRING_UTILS_INLINED.
6356 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6358 * VERSION (PATCH_LEVEL): release 2.7.29
6360 * lily/relocate.cc (setup_paths): mingw uses std string too.
6362 * lily/*.cc: various fixes for substr(ARG).
6364 * lily/sustain-pedal.cc (print):
6366 * flower/file-name.cc (slashify): use std strings.
6368 * flower/string-convert.cc: remove publib.h
6370 * scm/define-markup-commands.scm (verbatim-file): new markup
6371 command \verbatim-file
6373 * Documentation/topdocs/NEWS.tely: fixup URLs
6375 * input/regression/alignment-vertical-manual-setting.ly (Module):
6378 * lily/align-interface.cc (align_elements_to_extents): overwrite
6379 translations with numbers in alignment-offsets from left bound
6381 * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6382 (page-translate-systems): new function: take into account Y-offset.
6384 * Documentation/topdocs/NEWS.tely (Top): document new features.
6386 * input/regression/page-layout-manual-position.ly (Module): new
6389 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6391 * flower/file-path.cc (path::parse_path): Oops.
6393 * Finish std::string interface. For now, use std:: marker
6394 throughout for easy s/r.
6396 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6398 * Documentation/user/putting.itely (Score is a single musical
6400 (Score is a single musical expression): more typos.
6402 * scm/page.scm (annotate-space-left): thinko.
6403 (annotate-page): more thinkos.
6405 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6407 * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6408 for different \score blocks separately.
6409 (post-process-pages): put write-page-layout into paper block.
6411 * lily/output-def.cc (get_parser): new file.
6413 * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6416 * lily/include/output-def.hh (class Output_def): add parser_ member.
6418 * input/regression/page-layout-twopass.ly (Module): new file.
6420 * scm/lily.scm: remove cpp hack.
6422 * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6424 2006-01-25 Jan Nieuwenhuizen <janneke@gnu.org>
6426 * GNUmakefile.in (c-clean): New target.
6428 * flower/include/std-string.hh: String/std::string compatibility:
6429 Use NPOS for `not found' (iso -1), use ssize for length () and pos
6432 * flower/rational.cc:
6433 * flower/include/rational.hh:
6436 * flower/include/offset.hh:
6438 * flower/interval.cc:
6439 * flower/include/interval.hh:
6441 * flower/string-convert.cc:
6442 * flower/include/string-convert.hh: Use std::string [interface].
6445 2006-01-25 Heikki Junes <hjunes@cc.hut.fi>
6447 * Documentation/index.html.in: clean up.
6449 2006-01-25 Graham Percival <gpermus@gmail.com>
6451 * Documentation/user/putting.itely: another new untested doc section.
6453 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6455 * scm/layout-page-layout.scm (write-page-breaks): write
6456 \spacingTweaks #ALIST. Handle grace timing.
6458 * scm/: more imports.
6460 * scm/page.scm (make-page): add footer/header.
6461 (annotate-space-left): revise: only take page argument.
6462 (layout->page-init): new function.
6464 * scm/layout-page-layout.scm (write-page-breaks): preliminary
6465 version of the system/spacing/linebreak hack writing to the output
6467 * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6470 * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6473 2006-01-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
6475 * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6477 * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6479 * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6480 handling to page.scm
6482 * lily/prob-scheme.cc (LY_DEFINE): new file.
6483 (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6485 * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6488 * lily/music.cc (derived_mark): derive Music from Prob.
6490 * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6492 * lily/prob.cc (Module): Implement Prob (Property Object), object
6493 with shared and r/w property alists.
6495 * lily/include/prob.hh (Module): new file. Declare Prob.
6497 * flower/string.cc: remove is_empty().
6499 * flower/include/string.hh (class String): remove String:: qualifier.
6501 * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6502 substitute appropriate functions.
6504 * flower/include/string.hh (class String): remove to_str0 and
6505 is_empty(). S&R everywhere.
6507 2006-01-23 Graham Percival <gpermus@gmail.com>
6509 * Documentation/user/basic-notation.itely: add hairpin
6510 after-linebreak tweak to commonprop.
6512 * Documentation/user/putting.itely: added two new sections.
6514 2006-01-23 Jan Nieuwenhuizen <janneke@gnu.org>
6516 * flower/international.cc:
6517 * flower/include/international.hh:
6519 * flower/getopt-long.cc:
6520 * flower/include/getopt-long.hh: Use std::string [interface].
6523 * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6525 * stepmake/stepmake/executable-rules.make: Add dependency on
6528 2006-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
6530 * flower/file-path.cc:
6531 * flower/include/file-path.hh: Use std::string [interface].
6534 * flower/direction.cc:
6535 * flower/axis.cc: Unused. Remove.
6537 * configure.in (--enable-std-string): New option.
6539 * flower/std-string.cc:
6540 * flower/include/std-string.hh: New file.
6542 * flower/file-name.cc[STD_STRING]:
6543 * flower/include/file-name.hh[STD_STRING]: Use it. Update callers.
6545 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6547 * scm/output-svg.scm (placebox): no GNU coding standards in SVG output.
6549 * scm/define-markup-commands.scm (with-dimensions):
6550 with-dimensions markup command.
6552 * input/test/font-table.ly: use it.
6554 * lily/open-type-font.cc (glyph_list): new function.
6556 * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6558 * lily/ttf.cc: remove ly:font-glyph-list scheme function
6560 2006-01-22 Nicolas Sceaux <nicolas.sceaux@free.fr>
6562 * ly/music-functions-init.ly (parallelMusic): new music function
6563 for parallel music entry.
6565 * scm/define-music-properties.scm (all-music-properties): new
6566 'void music property
6568 * scm/music-functions.scm (ly:music-message): make public, to be
6569 used in music function definitions
6571 * scm/lily-library.scm (collect-music-for-book): discard music
6572 when the 'void property is set.
6574 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6576 * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6578 * mf/GNUmakefile: idem.
6580 * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6582 * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6584 * Documentation/user/notation-appendices.itely (The Feta font):
6587 * input/test/font-table.ly: new file. Generate font table within lily.
6589 * Documentation/user/notation-appendices.itely (The Feta font):
6590 use new font-table.ly file.
6592 * stepmake/stepmake/install-out-targets.make
6593 (local-install-outfiles): only create directory if
6594 $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6596 2006-01-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6598 * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6600 * VERSION (PACKAGE_NAME): release 2.7.28
6602 * scm/framework-ps.scm (write-preamble): use it to pick exactly
6603 the right font from a Mac dfont.
6604 (write-preamble): don't forget directory, only look at files.
6606 This fixes problems with TTF files in dfonts that don't match
6607 their PostScript names.
6609 * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6610 PS name from TTF font.
6612 * input/regression/tie-manual.ly: document new feature.
6614 * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6616 * VERSION (MY_PATCH_LEVEL): bump to .28
6618 * Documentation/user/basic-notation.itely (Ties): add tie examples
6621 * lily/tie-formatting-problem.cc (score_ties_configuration):
6622 symmetry penalties for outer ties.
6624 2006-01-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
6626 * lily/tie-formatting-problem.cc (generate_configuration)
6627 (set_manual_tie_configuration): skip non-pair manual
6628 tie-configuration, so you can set individual ties as
6630 #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6632 * input/regression/tie-chord.ly: use generateTiePattern to
6635 * lily/tie-formatting-problem.cc (peak_around): new function.
6636 (score_configuration): use sliding criterion for staff line collisions.
6637 (score_configuration): idem for dot collisions.
6638 (generate_configuration): use separate stem_gap for gap to stem.
6640 * lily/include/tie-formatting-problem.hh (struct Tie_details):
6641 separate penalty factors for x and y distance.
6642 (struct Tie_details): separate penalties for tip and center line collisions.
6644 2006-01-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6646 * lily/tie-formatting-problem.cc (generate_configuration): make
6647 large ties avoid stafflines in the horizontal section.
6648 (score_configuration): use softcoded penalties
6649 (score_aptitude): idem.
6651 * lily/tie-helper.cc (from_grob): softcode tie details
6653 * lily/staff-symbol-referencer.cc (on_staff_line): new function
6655 * lily/staff-symbol-referencer.cc (on_line): rename from
6658 2006-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
6660 * ly/music-functions-init.ly: remove duplicate tag.
6662 * lily/include/*.hh: GCC 4.1 fixes.
6664 006-01-16 Erlend Aasland <erlenda@gmail.com>
6666 * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6668 * scm/define-music-types.scm: fix bug in desc. string
6669 for OverrideProperty
6671 2006-01-15 Erik Sandberg <mandolaerik@gmail.com>
6673 * scripts/lilypond-book.py: bugfix
6675 * scm/define-music-types.scm: fix typos.
6677 2006-01-14 Graham Percival <gpermus@gmail.com>
6679 * Documentation/user/ basic-notation.itely, global.itely,
6680 advanced-notation.itely, instrument-notation.itely: small
6681 additions (bugs and commonly tweaked properties).
6683 2006-01-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
6685 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6686 detection of mingw build.
6687 (MINGW_BUILD): opps.
6689 2006-01-12 Jan Nieuwenhuizen <janneke@gnu.org>
6691 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6694 2006-01-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
6696 * scm/music-functions.scm (skip->rest): add skip->rest
6698 2006-01-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
6700 * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6703 * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6704 config dirs. Aids debugging.
6705 (display_config): also display config files.
6707 2006-01-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6709 * VERSION: release 2.7.27
6711 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6712 for determining bar size.
6714 * lily/staff-symbol.cc (print): place lines at distance line-positions
6716 * scm/define-grob-properties.scm (all-user-grob-properties): add
6719 * lily/staff-symbol.cc (height): new function.
6721 * input/regression/staff-line-positions.ly: new file.
6723 2006-01-06 Graham Percival <gpermus@gmail.com>
6725 * input/test/add-staccato.ly: remove reference to old file.
6727 2006-01-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6729 * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6730 lilypond binary too.
6732 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6734 * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6736 2006-01-06 Jan Nieuwenhuizen <janneke@gnu.org>
6738 * scripts/midi2ly.py: Bugfix: Declare datadir.
6740 * make/ly-rules.make:
6741 * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6742 that seems to be gone). Fixes make web.
6744 * The grand 2005-2006 replace.
6746 * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6748 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6750 * make/lilypond-vars.make: set LILYPOND_BINARY variable
6751 (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6752 LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6753 like -dgs-font-load.
6755 * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6756 remove absolute path to lilypond binary.
6758 2006-01-05 Pedro Kroeger <kroeger@pedrokroeger.net>
6760 * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6762 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6764 * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6766 * mf/GNUmakefile: remove broken dvips map symlink.
6768 2006-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
6771 * configure.in: Cosmetic fixes.
6773 2006-01-04 Mats Bengtsson <mabe@s3.kth.se>
6775 * Documentation/user/music-glossary.tely (Pitch names): Added
6776 Spanish pitch names and durations, thanks to Ernesto Gancedo
6778 2006-01-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6780 * scm/lily.scm (define-scheme-options): use quasi-quote for option
6781 init. Fixes verbose printing of .scm files.
6783 * stepmake/aclocal.m4: add spaces before - options.
6785 2006-01-03 Jan Nieuwenhuizen <janneke@gnu.org>
6787 * lily/relocate.cc (setup_paths): Bugfix: do not store result
6788 of path search in local block variable.
6790 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6792 * configure.in (NCSB_DIR): --enable-ncsb-dir
6793 (LINK_GXX_STATICALLY): denko.
6795 * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH.
6797 * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option.
6798 use locate to find c059033l.pfb.
6800 2006-01-02 Jan Nieuwenhuizen <janneke@gnu.org>
6802 * lily/tie-formatting-problem.cc
6803 (problem::generate_base_chord_configuration): Use my_round (was
6806 * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6807 do not invoke mbrtowc.
6809 * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6811 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6813 * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6815 2005-01-02 Heikki Junes <hjunes@cc.hut.fi>
6817 * Documentation/user/invoking.itely (svg): revise.
6819 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6821 * lily/lexer.ll: use sourcefilename iso. renameinput.
6823 2006-01-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6825 * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6826 <PostScriptName>.ttf instead of c059XXXttf.
6828 * lily/program-option.cc (LY_DEFINE): special support for
6829 --verbose, so it works before option init too.
6831 * mf/GNUmakefile (local-install): oops.
6833 * lily/lyric-hyphen.cc (print): oops.
6835 * buildscripts/pfx2ttf.fontforge: new file.
6837 * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6838 ($(outdir)/%.ttf): new rule.
6840 * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6843 * lily/lyric-hyphen.cc (print): multiply hyphen height by
6846 2005-12-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6848 * VERSION: release 2.7.26
6850 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6852 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6854 * lily/font-config.cc (init_fontconfig): verbosity.
6856 * THANKS: add Muziekacademie Lede.
6858 * scripts/musicxml2ly.py (print_voice_definitions): new function
6859 (print_score_setup): new function
6860 (convert): read part definition to output staves properly.
6862 * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
6865 * python/musicexp.py (Output_printer.__init__): use _ in data
6867 (Output_printer.unformatted_output): new function: no formatting,
6869 (Duration.get_length): remove isinstance() checks for
6870 Output_printer everywhere.
6872 * input/regression/lyrics-bar.ly (texidoc): add
6873 Separating_line_group_engraver.
6875 2005-12-29 Jan Nieuwenhuizen <janneke@gnu.org>
6877 * lily/relocate.cc (framework_relocation): New function,
6878 factored from set_relocation ().
6879 (prefix_relocation): Rename from set_relocation ().
6880 (setup_paths): Use it.
6882 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6884 * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
6885 numbers. Patch by Erlend Aasland.
6887 2005-12-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
6889 * lily/font-config.cc (init_fontconfig): print warning if cache
6890 file is not existant.
6892 * lily/main.cc: don't use #ifdef but #if
6894 2005-12-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6896 * lily/grob-property.cc (internal_set_property): don't abort on
6897 calculation-in-progress.
6899 * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
6901 * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
6902 connect-to-neighbor property not connect-to-other
6904 * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
6905 (LY_DEFINE): oops. don't forget protection.
6907 * flower/parse-afm.cc (Module): strip AFM handling completely.
6909 * lily/stencil-expression.cc: idem.
6911 * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
6913 * lily/function-documentation.cc (ly_add_function_documentation):
6914 use static member iso. Protected_scm
6916 * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
6918 * config.make.in (prefix): remove HAVE_KPATHSEA_SO
6920 2005-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
6922 * lily/relocate.cc (set_env_dir): New function.
6923 (set_relocation): Use it to fix setting PANGO_PREFIX.
6925 2005-12-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6927 * input/regression/stem-direction-context.ly: remove rest.
6929 * lily/melody-engraver.cc (process_music): restart for bar lines.
6930 (acknowledge_slur): restart for slurs.
6932 2005-12-27 Heikki Junes <hjunes@cc.hut.fi>
6934 * Documentation/user/invoking.itely: describe how to view SVG
6935 output using Inkscape which replace embedded fonts with OTF fonts.
6937 2005-12-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6939 * lily/relocate.cc (set_relocation): set PANGO_PREFIX
6941 2005-12-23 Jan Nieuwenhuizen <janneke@gnu.org>
6943 * lily/melody-engraver.cc (class Melody_engraver): Remove lying
6946 2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
6948 * VERSION (PACKAGE_NAME): release 2.7.25
6950 * Documentation/topdocs/NEWS.tely (Top): document new feature.
6952 * input/regression/stem-direction-context.ly: new file.
6954 * lily/relocate.cc (set_relocation): add PANGO_PREFIX
6956 * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
6959 * ly/engraver-init.ly: add Melody_engraver
6961 * lily/beam.cc (calc_direction): use default-direction
6962 iso. get_default_direction()
6964 * scm/define-grob-properties.scm (all-user-grob-properties): add
6965 default-direction property.
6967 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
6969 * lily/stem.cc (calc_default_direction): remove
6970 Stem::get_default_direction, use default-direction with callback
6973 * lily/melody-spanner.cc (calc_neutral_stem_direction):
6975 * lily/melody-engraver.cc: new file. Acknowledge stems for
6976 interpolated stem directions.
6978 * lily/melody-spanner.cc: new file. Interpolate stem directions.
6980 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
6982 * lily/slur-configuration.cc (fit_factor): more robust check for
6983 point in curve X-extent.
6985 * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
6986 (outside_slur_callback): check for 'outside avoidance.
6988 * lily/slur-configuration.cc (score_extra_encompass): don't use
6989 bound->column() == avoid->column() for checking extents, as this
6990 doesn't work for accidentals.
6992 * lily/slur-engraver.cc (acknowledge_extra_object): remove
6993 DynamicText hardcoding.
6995 * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
6996 crash if bound stem is NULL
6998 * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
7001 2005-12-22 Graham Percival <gpermus@gmail.com>
7003 * scm/define-markup-commands.scm: typo. @code{\raise}
7006 * darwin.patch: now used again, includes a
7007 required patch from fink.
7009 2005-12-21 Heikki Junes <hjunes@cc.hut.fi>
7011 * po/TODO: mention gtranslator along with kbabel.
7012 * po/fi.po: update translations.
7014 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7016 * lily/relocate.cc (setup_paths): Bugfix.
7018 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7020 * lily/slur-configuration.cc (score_extra_encompass): don't use
7021 "avoid" choice for avoid-slur.
7023 * stepmake/bin/install.py (dest): don't create existing dir.
7025 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7027 * stepmake/bin/install.py: Remove file before copying.
7030 * stepmake/aclocal.m4: Do not substitute INSTALL.
7032 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7034 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7035 depend on link-tree.
7037 * lily/relocate.cc (setup_paths): only check path for non-absolute
7038 dir without directory part.
7040 * flower/file-name.cc (is_absolute): new method.
7041 (is_absolute): check root_ too.
7043 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7045 * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7046 relocation code. Oops, don't comment out too much.
7048 * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7051 * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw
7054 2005-12-20 Jan Nieuwenhuizen <janneke@gnu.org>
7056 * .cvsignore: Add install-sh.
7058 * autogen.sh (srcdir): Typo.
7060 2005-12-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
7062 * autogen.sh (srcdir): urg. Touch install-sh.
7064 * stepmake/bin/install-sh (Module): remove.
7066 * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7068 * lily/include/relocate.hh: new file.
7070 * lily/relocate.cc: new file. Contain relocation logic.
7072 * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7073 (main): read LILYPOND_VERBOSE as the first thing.
7075 * stepmake/aclocal.m4: remove INSTALL variable.
7077 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7078 separate target for making font symlinks.
7079 (documentation-dir): use $(if $(findstring )) for switching off
7082 * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7083 something if DOCUMENTATION is no.
7085 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7087 * VERSION: release 2.7.24
7089 * lily/script-column-engraver.cc (stop_translation_timestep):
7090 delay adding to script-column.
7092 * lily/tuplet-bracket.cc (print): suicide if no control-points.
7094 * python/convertrules.py (conv): rule for number-visibility
7096 * lily/slur-configuration.cc (score_extra_encompass): different
7097 distance measure for avoid and inside avoidance.
7098 (score_extra_encompass): use 1/(distance+eps) as penalty.
7100 * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7101 encompass objects for generating slur curves.
7103 * lily/slur.cc: use details iso. slur-details property.
7105 * input/regression/slur-tuplet.ly: new file.
7107 * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.
7109 * flower/include/offset.hh (class Offset): new operator /=
7111 * lily/tuplet-number.cc (print): new file, new interface.
7113 * scm/define-grob-properties.scm (all-user-grob-properties):
7114 remove number-visibility property.
7116 * lily/tuplet-bracket.cc (calc_control_points): new function
7117 (calc_connect_to_neighbors): new function.
7118 (print): remove text handling for tuplet numberdef.
7120 * lily/tuplet-engraver.cc (struct Tuplet_description): create
7123 * lily/lily-guile.cc (robust_scm2booldrul): new function
7125 * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7127 * lily/tuplet-bracket.cc (calc_position_and_height): use
7128 staff-padding to control whether tuplet brackets are over staves.
7130 * lily/grob.cc (suicide): clear dim_caches_.
7132 * lily/dimension-cache.cc (clear): new function.
7134 * lily/grob.cc (extent): swap order of min-extent and extent
7135 calculations. This fixes hara kiri staves.
7137 2005-12-19 Jan Nieuwenhuizen <janneke@gnu.org>
7139 * lily/main.cc: Nitpick: relocation is not based on path, but on
7140 directory (location).
7142 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7144 * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7146 * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7148 * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7150 * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7152 * stepmake/stepmake/generic-vars.make (Module): idem.
7154 * stepmake/stepmake/executable-targets.make (default): use it.
7156 * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7158 * make/GNUmakefile: don't install make rules.
7160 * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7162 (prepend_env_path): more verbosity.
7164 2005-12-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7166 * GNUmakefile.in: add dir argument for find command.
7168 * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7169 fixes weird line numbers for point & click.
7171 * lily/source-file.cc (get_counts): init line/column/char counts.
7173 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7175 * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7177 2005-12-16 Graham Percival <gpermus@gmail.com>
7179 * Documentation/user/basic-notation.itely, advanced-notation.itely:
7180 minor fixes from Fredric. Thanks!
7182 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7184 * ly/music-functions-init.ly: add \bar and \clef music function
7186 * lily/lily-lexer.cc: idem.
7188 * lily/parser.yy (FIXME): remove BAR and CLEF.
7190 2005-12-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7192 * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7194 * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7195 function arguments too
7197 * lily/main.cc (set_relocation): new function.
7199 * scripts/musicxml2ly.py (convert): add \version
7201 * lily/tie.cc: remove get_default_attachments()
7203 * VERSION (PACKAGE_NAME): release 2.7.23
7205 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7206 ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7208 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7210 * lily/tie-formatting-problem.cc (score_ties): new function
7211 (get_variations): new function. Try flipping dirs for collisions.
7212 (generate_optimal_chord_configuration): new function. 1-opt search
7213 for better configuration.
7215 * lily/tie-configuration.cc: new file.
7217 * lily/tie.cc: junk Tie::get_configuration()
7219 * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7220 (score_ties_configuration): new function.
7221 (generate_ties_configuration): new function.
7222 (generate_base_chord_configuration): new function.
7223 (set_ties_config_standard_directions): Move body from tie-column-format.cc
7224 (set_manual_tie_configuration): Move body from tie-column-format.cc
7226 * input/regression/tie-dot.ly: new file.
7228 * lily/tie-formatting-problem.cc (score_configuration): score
7231 * lily/tie-helper.cc (get_transformed_bezier): new function
7233 * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7235 * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7236 -undefined suppress iso. -framework Python
7238 * scm/define-grobs.scm (all-grob-descriptions): set
7239 springs-and-rods (thanks Joe Neeman!)
7241 2005-12-12 Nicolas Sceaux <nicolas.sceaux@free.fr>
7243 * input/no-notation/display-lily-tests.ly (test):
7244 * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7245 changed from \tag #'(a b) to \tag #'a \tag #'b
7247 2005-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7249 * Documentation/topdocs/NEWS.tely: strip out-www.
7251 * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7253 * config.make.in (AR): add AR and RANLIB
7255 * flower/libc-extension.cc: include cassert
7257 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7260 2005-12-11 Graham Percival <gpermus@gmail.com>
7262 * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7264 * stepmake/stepmake/python-modules-vars.make: define
7265 SHARED_FLAGS for OSX. Thanks Johannes Schindelin!
7267 * THANKS: added Johannes Schindelin.
7269 2005-12-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7271 * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7273 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7274 Span_arpeggio_engraver, add Tweak_engraver to Score context.
7276 * lily/parser.yy: reorganize file layout.
7278 * ly/music-functions-init.ly: add tweak music function.
7280 * lily/grob-info.cc (ultimate_music_cause): new function:
7281 recursively lookup causes.
7283 * lily/parser.yy (chord_body_element): allow music functions for
7284 post-events, allow music functions for chord elements.
7286 * lily/font-config-scheme.cc (display_fontset): add cast.
7288 * python/convertrules.py (FatalConversionError.sub_syms): \tag
7289 #'(a b) -> \tag #'a \tag #'b rule.
7291 * python/musicexp.py (Output_printer.dump_version): new function
7293 2005-12-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7295 * lily/parser.yy (FIXME): remove \tag
7296 (FIXME): remove tag_music() function.
7298 * lily/lily-lexer.cc: remove \tag
7300 * ly/music-functions-init.ly: define music-function "tag"
7302 * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7304 2005-12-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7306 * VERSION (PATCH_LEVEL): release 2.7.22
7308 * input/regression/lyric-hyphen-retain.ly: renew.
7310 * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7313 * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7314 iso. minimum-length property for rods.
7316 * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7317 LyricSpace item to keep lyrics spaced apart.
7319 * ly/engraver-init.ly: remove Separating_line_group_engraver
7321 * Documentation/user/music-glossary.tely: do setfilename before
7324 2005-12-07 Heikki Junes <hjunes@cc.hut.fi>
7326 * Documentation/user/lilypond-book.itely: use `,´ after xref:
7327 See xref documentation, for example.
7329 2005-12-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
7331 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7332 pending_skip iso. ly_voice[-1]
7333 (main): add if __main__ for debugging.
7335 * python/musicxml.py (Accidental.__init__): new class.
7337 * scripts/musicxml2ly.py (progress): new function
7338 (musicxml_key_to_lily): don't barf on modeless keys.
7339 (create_skip_music): new function.
7340 (musicxml_spanner_to_lily_event): new function. Handle beams too.
7341 (musicxml_note_to_lily_main_event): new function.
7343 * python/musicexp.py (Music.__init__): add comment field.
7344 (NestedMusic.append): new routine.
7345 (SequentialMusic.print_ly): print comment.
7346 (ArpeggioEvent.ly_expression): new class
7347 (BeamEvent.ly_expression): new class
7348 (NoteEvent.__init__): support for cautionary/forced accs.
7350 * lily/lookup.cc (slur): normal order for array loop.
7352 * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7355 * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7358 2005-12-06 Erik Sandberg <mandolaerik@gmail.com>
7360 * scm/music-functions.scm: Make phrasing slurs follow voice direction
7362 * scripts/lilypond-book.py: Introduce option
7363 --preserve-line-breaks, for usage with srcltx
7365 2005-12-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7367 * scm/output-lib.scm (print-circled-text-callback): draw circle
7368 around text using make-circle-markup.
7370 * Documentation/user/*: strip out-www from file names.
7372 2005-12-05 Heikki Junes <hjunes@cc.hut.fi>
7374 * Documentation/user/lilypond.tely (direntry): remove empty lines;
7375 fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7377 2005-12-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
7379 * Documentation/user/GNUmakefile: idem.
7381 * Documentation/user/macros.itexi: strip out-www
7383 * python/rational.py: python 2.3 compat.
7385 * VERSION (PATCH_LEVEL): release 2.7.21
7387 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7388 option formatting, lilypond style.
7390 * python/musicexp.py: grab from Ikebana: a library for composing
7391 ly music expressions.
7392 (Output_printer): class for advanced .ly printing.
7395 * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7396 convert to pythonesque structure.
7398 * python/rational.py: PD rational number class.
7400 * Documentation/user/converters.itely (Invoking musicxml2ly): new node.
7402 2005-12-04 Erik Sandberg <mandolaerik@gmail.com>
7404 * lily/part-combine-iterator.cc: Minor bugfix
7406 * THANKS: Update bughunters
7408 2005-12-02 Werner Lemberg <wl@gnu.org>
7410 * mf/README: Document process for proper mf2pt1 conversion.
7412 * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7415 * mf/feta-harmonica.mf: Removed. Unused.
7417 2005-12-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7419 * scripts/lilypond-book.py (do_file): fix thinkos.
7421 2005-12-01 Jan Nieuwenhuizen <janneke@gnu.org>
7423 * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7424 ($(outdir)/parser.cc):
7425 ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7427 2005-11-30 Pedro Kröger <kroeger@pedrokroeger.net>
7429 * ly/titling-init.ly (tagline): it should be a space between
7430 "Music engraving by LilyPond" and the version number.
7432 2005-12-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
7434 * VERSION (PACKAGE_NAME): release 2.7.20
7436 2005-11-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7438 * scm/define-markup-commands.scm (pad-to-box): new markup command.
7440 * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7442 (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7444 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7446 * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7448 * kpath-guile/: remove directory
7450 * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7451 file. Encapsulate kpathsea using commandline tools.
7453 * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7456 2005-11-29 Mats Bengtsson <mabe@s3.kth.se>
7458 * Documentation/user/advanced-notation.itely (Setting automatic
7459 beam behavior): Correct a few typos. Thanks to David Bobroff.
7461 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7462 \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7464 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7466 * scripts/*.py: gmane address for bugs.
7468 2005-11-28 Pal Benko <benkop@freestart.hu>
7470 * make/ly-rules.make: add -f switch to mv
7472 * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7474 * lily/bar-line.cc: interpret it
7476 2005-11-28 Jan Nieuwenhuizen <janneke@gnu.org>
7478 * configure.in (--disable-documentation): New switch.
7480 * GNUmakefile.in: Use it.
7482 * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7484 2005-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7486 * scripts/lilypond-book.py (do_file): search chunks for
7489 * GNUmakefile.in: add copy step in between so we can lose the
7490 out-www directories.
7492 2005-11-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7494 * lily/pango-font.cc (pango_item_string_stencil): put
7495 geometry.width into glyph-string too.
7497 2005-11-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
7499 * scm/define-music-display-methods.scm (RevertProperty):
7500 (OverrideProperty): Use grob-property-path property, a list of
7501 symbols, instead of grob-property, which used to be a single
7503 (BassFigureEvent): a figure can be a plain number, not necessarily a
7506 2005-11-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7508 * VERSION: release 2.7.19
7510 * lily/figured-bass-engraver.cc (process_music): check
7511 figuredBassCenterContinuations first.
7513 * scm/translation-functions.scm (format-bass-figure): make double
7516 * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7519 * lily/system-start-delimiter-engraver.cc: move from
7520 Nested_system_start_delimiter_engraver, rename
7521 Nested_system_start_delimiter_engraver ->
7522 System_start_delimiter_engraver.
7524 * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7525 bracket type from hierarchy.
7527 2005-11-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
7529 * lily/rest.cc (y_offset_callback): read staff-position.
7531 * scm/define-grob-properties.scm (all-user-grob-properties): don't
7532 mark after-line-breaking-callback as internal.
7534 * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7536 2005-11-25 Werner Lemberg <wl@gnu.org>
7538 * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7540 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7542 * stepmake/bin/add-html-footer.py (do_file): add google
7544 * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7545 staff if first_start_ is true.
7547 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7549 * scripts/midi2ly.py (split_track): add __repr__ members.
7550 (track_first_item): only return Item if not None. This fixes a
7551 problem when dumping a track that starts with an empty channel.
7553 * python/midi.c: doc module.
7555 2005-11-22 Mats Bengtsson <mabe@s3.kth.se>
7557 * Documentation/user/global.itely (Creating MIDI files): Fix
7558 compilation problem.
7560 2005-11-22 Graham Percival <gpermus@gmail.com>
7562 * Documentation/user/basic-notation.itely: clarify dynamic
7565 * Documentation/user/advanced-notation.itely: add unicode
7566 escape control example, whatever that is. :)
7568 * Documentation/user/global.itely: added "removing dynamics
7571 2005-11-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7573 * VERSION (PATCH_LEVEL): release 2.7.18
7575 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7576 System_start_delimiter_engraver by
7577 Nested_system_start_delimiter_engraver.
7579 * lily/nested-system-start-delimiter-engraver.cc (struct
7580 Bracket_nesting_node): new class.
7581 (struct Bracket_nesting_group): new class
7582 (struct Bracket_nesting_staff): new class.
7583 (process_music): create hierarchy of grobs. This allows separate
7584 tuning of different SSDs.
7586 * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7587 (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7589 2005-11-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7591 * lily/side-position-interface.cc (aligned_side): multiply
7594 * lily/script-engraver.cc (make_script_from_event): allow setting
7597 2005-11-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7599 * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7601 * scm/define-grobs.scm (all-grob-descriptions): new grob
7602 NestedSystemStartDelimiter.
7604 * input/regression/system-start-heavy-bar.ly: new file.
7606 * lily/nested-system-start-delimiter-engraver.cc: new file.
7608 * lily/nested-system-start-delimiter.cc: new file.
7610 * input/regression/system-start-nesting.ly: new file.
7612 * scm/define-grobs.scm (all-grob-descriptions): use X side
7613 positioning for positioning braces for nested contexts.
7615 * lily/system-start-delimiter.cc (print): don't divide extent by
7617 (print): use style iso. glyph.
7618 (staff_bracket): translate glyph inside routine already.
7620 2005-11-18 Michael Welsh Duggan <md5i@cs.cmu.edu>
7622 * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7625 2005-11-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
7627 * scm/define-context-properties.scm
7628 (all-user-translation-properties): rename figuredBassFormatter
7629 from newFiguredBassFormatter.
7631 * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7633 * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7635 * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7637 * lily/beam.cc (calc_beaming): new function.
7638 (calc_shorten): new function.
7640 * THANKS: add Edward Neeman.
7642 * input/regression/accidental-clef-change.ly: new file.
7644 * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7646 * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7648 * lily/clef-engraver.cc (inspect_clef_properties): reset
7649 localKeySignature for clef changes.
7651 2005-11-17 Mats Bengtsson <mabe@s3.kth.se>
7653 * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3
7654 add dummy definition that works in Linux and add information in
7655 INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7657 * Documentation/user/changing-defaults.itely (Modifying context
7658 plug-ins): Add index for \with.
7660 * Documentation/user/music-glossary.tely (dal segno): Updated
7661 example to version >=2.6.
7663 2005-11-16 Mats Bengtsson <mabe@s3.kth.se>
7665 * Documentation/user/instrument-notation.itely (Printing chord
7666 names): Reorder \chordmode and \repeat in one example.
7668 2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7670 * VERSION: release 2.7.17
7672 * Documentation/topdocs/NEWS.tely (Top): add note about
7675 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7676 new function. Search region of 3 positions for best tie.
7677 (score_configuration): new function.
7678 (score_aptitude): new function.
7679 (generate_configuration): new function.
7680 (get_configuration): new function.
7681 (Tie_formatting_problem): new function
7683 * input/regression/page-top-space.ly: a6 for page-top-space demo.
7685 * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7687 * THANKS: add Eduardo Vieira & Ralph Little
7689 * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7692 * lily/include/tie-formatting-problem.hh (class
7693 Tie_formatting_problem): add Tie_details to
7694 Tie_formatting_problem. Update calling conventions.
7696 * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7699 * Documentation/user/lilypond.tely: remove musedata2ly entry.
7701 2005-11-16 Jürgen Reuter <reuter@ipd.uka.de>
7703 * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7704 scm/define-context-properties.scm: Maintenance bugfix: make
7705 ligature brackets work again by removing obsolete ligature
7706 primitive callback push/pop.
7708 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7709 not call Tuplet_bracket::calc_direction. Removed obsolete gap
7712 2005-11-15 Jan Nieuwenhuizen <janneke@gnu.org>
7714 * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7715 used and do not call it a path.
7716 (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7718 2005-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7720 * lily/include/tie-formatting-problem.hh (class
7721 Tie_formatting_problem): new file.
7723 * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7725 * Documentation/misc/ChangeLog-2.3: new file.
7727 * lily/audio-staff.cc (output): degarianize.
7729 2005-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
7731 * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7732 Unset PYTHONOPTIMIZE. Fixes install if set.
7734 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7736 * python/convertrules.py (conv): add warning about drums.
7738 * make/stepmake.make: include toplevel-version.make after config.make.
7740 * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7741 also allow python2.4
7743 * config.make.in (configure-srcdir): remove GXX GCC vars.
7745 * stepmake/aclocal.m4: don't do non-srcdir build with
7746 symlinks. Use inclusion, so the src directory name can be changed.
7748 2005-11-13 Jan Nieuwenhuizen <janneke@gnu.org>
7750 * make/mutopia-vars.make:
7751 * make/ly-vars.make: Use src-wildcard iso wildcard for source
7754 2005-11-13 Werner Lemberg <wl@gnu.org>
7756 * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7757 but the affected path. This ensures that the (overlapping) outlines
7758 have the same direction, which is a necessary prerequisite for
7759 FontForge's algorithm to remove overlaps.
7762 * mf/feta-haak.mf: Formatting.
7763 (draw_bracket): Slightly modify outline to avoid an unnecessary
7765 Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7766 them from the affected paths.
7768 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7770 * mf/README: remove xpm / accordion notes.
7772 * lily/tie-column-format.cc (set_chord_outline): add dots into
7773 skyline extents. This fixes tie formatting if the left head has dots.
7775 * lily/tie.cc (get_configuration): only shift tie by a whole staff
7776 space inside the staff.
7777 (get_configuration): shift another position if necessary in case
7780 2005-11-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7782 * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7783 buildscript-dir iso. $(depth)/buildscripts.
7785 * tex/GNUmakefile (local-uninstall): remove
7786 music-drawing-routines.ps juggling.
7788 * stepmake/stepmake/install-targets.make (local-install-files):
7789 prepend src-dir to install targets.
7791 * lily/system-start-delimiter-engraver.cc
7792 (acknowledge_system_start_delimiter): use
7793 add_offset_callback(). This fixes translation of nested
7796 * lily/grob-closure.cc (add_offset_callback): only encaps in
7797 simple_closure if it's a procedure.
7799 * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7802 * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7803 remove-empty where pertinent.
7805 2005-11-12 Graham Percival <gpermus@gmail.com>
7807 * Documentation/user/instrument-notation.itely: added
7808 Cameron Horsburgh's multiple stanzas docs. Thanks!
7810 2005-11-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
7813 ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7814 make picture in builddir, not srcdir.
7816 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7818 * VERSION: release 2.7.16
7820 * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7823 2005-11-10 Mats Bengtsson <mabe@s3.kth.se>
7825 * Documentation/user/examples.itely (Piano templates): Minor
7826 modification to the Piano centered lyrics example.
7828 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7830 * scripts/lilypond-invoke-editor.scm (run-browser): look at
7833 * Documentation/user/point-and-click.itely: simplify p&c
7834 instruction: don't configure firefox. Put lilypond-invoke-editor
7835 in front of the browser.
7837 * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7838 (run-browser): new function.
7840 * lily/parser.yy (Lily_lexer): recognize Book
7842 * lily/book.cc (clone): new function
7844 * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7846 2005-11-10 Jürgen Reuter <reuter@ipd.uka.de>
7848 * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7849 Maintenance bugfix: reduce number of font related warnings by
7850 updating naming conventions for glyph-name.
7852 2005-11-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7854 * scm/define-grobs.scm (all-grob-descriptions): add
7855 rhythmic-grob-interface to TabNoteHead.
7857 * scm/layout-beam.scm (check-quant-callbacks): remove
7860 2005-11-08 Jürgen Reuter <reuter@ipd.uka.de>
7862 * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
7863 alignment of centered divisiones.
7865 * scm/scripts.scm (articulations): Maintenance bugfix:
7866 follow-into-staff -> quantize-position.
7868 * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
7869 plica head in porrectus deminutus.
7871 2005-11-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7873 * make/lilypond.fedora.spec.in (Group): add %clean section.
7875 * lily/tuplet-bracket.cc (print): change check: remove bracket if
7876 less then 1/5th of total length.
7877 (print): use gap too. Fixes tupletUp-single-bracket.ly
7879 * scm/music-functions.scm (glue-mm-rest-texts): also put other
7880 events into EventChord. This fixes textspanners on mm rests. Fixes
7883 * lily/side-position-interface.cc (get_axis): read side-axis
7884 (set_axis): set side-axis.
7886 * scm/define-grobs.scm (all-grob-descriptions): add side-axis
7887 properties everywhere.
7889 * lily/spacing-spanner.cc (breakable_column_spacing): add
7890 average-spacing-wishes. Take maximum if not set.
7891 (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
7893 * scm/define-grobs.scm (all-grob-descriptions): add
7894 average-spacing-wishes.
7896 * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
7897 offset callbacks. This fixes alignment for Fingering objects.
7899 * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
7900 space for key - timesig combination.
7902 * input/regression/script-stem-tremolo.ly (Module): new file.
7904 * scm/define-grobs.scm (all-grob-descriptions): decrease distance
7907 * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
7908 Fixes: c-tremolo-script.ly.
7910 * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
7912 * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
7914 * scm/define-grobs.scm (all-grob-descriptions): remove
7915 self-X-offset. Fixes alignment of octavate-8.
7917 * scripts/lilypond-book.py (datadir): look in
7918 LILYPONDPREFIX/share/lilypond/current/
7920 * GNUmakefile.in: symlink current to <VERSION>.
7922 2005-11-07 Pedro Kroger <kroeger@pedrokroeger.net>
7924 * lily/main.cc: eps listed as a backend.
7926 2005-11-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7928 * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
7930 2005-11-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
7932 * lily/include/score.hh (class Score): remove texts_ member.
7934 * lily/beam.cc (set_stem_lengths): force direction callback.
7935 (print): read quantized-positions, so we can force
7936 Beam::set_stem_lengths to occur.
7937 (rest_collision_callback): use common X parent.
7939 2005-11-03 Jan Nieuwenhuizen <janneke@gnu.org>
7941 * flower/file-path.cc (find): Bugfix: Return name of file found.
7943 * lily/main.cc (setup_paths): Bugfix for argv0 logic.
7944 (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
7945 (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
7947 2005-11-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
7949 * flower/offset.cc: idem.
7951 * mf/*.mf: update email address.
7953 * lily/font-config-scheme.cc: new file.
7955 * GNUmakefile.in (SUBDIRS): remove debian/ directory.
7957 * lily/*: cs.uu.nl -> xs4all.nl
7959 * VERSION (PATCH_LEVEL): release 2.7.15
7961 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
7964 * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
7966 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7968 * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.
7970 * lily/staff-performer.cc (process_music): add audio
7971 elements. This makes MIDI instrument changes work once again.
7973 * lily/main.cc (LY_DEFINE): add gmane address.
7975 * lily/beam.cc: remove calc_positions()
7977 * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
7978 original_ in private scope.
7979 (class Grob): drop pscore_ pointer, change to output_def pointer.
7980 (class Grob): cleanup class definition.
7982 * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
7984 2005-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
7986 * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
7987 absolute. Better diagnostics.
7989 * GNUmakefile.in: Add bin/ to tree and populate with some links.
7990 This makes lilypond run from the build directory using argv0
7991 relocation (without any --prefix or LILYPONDPREFIX setting).
7993 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7995 * Documentation/topdocs/NEWS.tely (Top): document new backend design.
7997 * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
7998 with simple-closure.
8000 * lily/self-aligment-interface.cc (set_align_self): new function
8001 (set_center_parent): new function.
8003 * lily/side-position-interface.cc (set_axis): new function.
8005 * lily/new-fingering-engraver.cc (position_scripts): use drul for
8008 * scm/define-grob-properties.scm (all-user-grob-properties):
8009 remove [XY]-offset-callbacks add [YX]-offset
8011 2005-11-02 Mats Bengtsson <mabe@s3.kth.se>
8013 * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
8014 entry for time signatures after breathing signs. Bug report by
8017 2005-11-01 Jan Nieuwenhuizen <janneke@gnu.org>
8019 * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
8020 not absolute, make it absolute using PATH.
8022 2005-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
8024 * python/midi.c (initmidi): Fix type for mingw.
8026 2005-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
8028 * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8030 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8033 * stepmake/aclocal.m4: Support python cross compiling.
8035 * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8038 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8040 * scm/output-lib.scm (chain-grob-member-functions): replace
8043 * lily/chained-callback.cc (Module): remove file.
8045 * lily/rest-collision.cc (force_shift_callback_rest): change to
8048 * lily/rest.cc (y_offset_callback): merge function of 3 callbacks.
8050 * lily/grob.cc (y_parent_positioning): remove axis argument from
8051 parent_positioning callbacks.
8052 (Grob): junk init code
8053 (get_offset): use generic property callbacks for
8054 X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8055 (axis_parent_positioning): new function
8056 (axis_offset_symbol): new function
8057 (chain_offset_callback): new function
8058 (add_offset_callback): new function
8060 * lily/beam.cc (rest_collision_callback): change signature; this
8061 is now a chained callback.
8063 * lily/include/dimension-cache.hh (class Dimension_cache): remove
8064 callback administration.
8066 * lily/simple-closure.cc: new file. Smob type that allows "grob
8069 (ly:make-simple-closure FUNC A B)
8071 is evaluated as (FUNC grob A B). This allows chaining of callbacks
8074 * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8077 * lily/slur.cc (outside_slur_callback): take 2 arguments.
8079 * lily/rest.cc (polyphonic_offset_callback): remove.
8081 * lily/script-engraver.cc (try_music): remove bool* argument.
8083 * scm/script.scm (default-script-alist): set quantize-position
8086 * lily/script-engraver.cc: remove follow_into_staff_ special coding.
8088 * lily/side-position-interface.cc (aligned_side): move staff
8089 position quantization from
8090 Side_position_interface::quantised_position().
8091 (quantised_position): remove
8093 2005-10-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
8095 * input/regression/beam-quant-standard.ly: reindent, set
8096 debug-beam-quanting to #t.
8098 * lily/beam-concave.cc (calc_concaveness): set concaveness to
8099 10000 if this is a "hard" concave beam.
8101 * lily/beam.cc (calc_least_squares_positions): change from
8102 calc_least_squares_dy
8103 (set_stem_lengths): this is now a chained callback.
8105 * lily/context-property.cc (execute_general_pushpop_property):
8106 bugfix override with procedure should have effect.
8108 * scm/define-grob-properties.scm (all-internal-grob-properties):
8109 remove position-callbacks.
8111 * scm/define-grobs.scm (all-grob-descriptions): use
8112 ly:make-callback-chain for positions property.
8114 * scm/layout-beam.scm (check-quant-callbacks): return list of
8117 * scm/lily.scm (type-p-name-alist): add callback-chain
8119 * lily/lily-guile.cc (type_check_assignment): type check failure
8120 is warning not message.
8122 * lily/grob-property.cc (try_callback): walk callback chain if
8125 * lily/chained-callback.cc: new file. new smob type.
8127 * lily/lily-guile.cc (procedure_arity): new function.
8129 2005-10-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8131 * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8133 2005-10-25 John Mandereau <john.mandereau@free.fr>
8135 * Documentation/user/instrument-notation.itely (Figured bass):
8136 describe new features
8138 2005-10-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8140 * lily/beam.cc (calc_least_squares_dy): use property callback.
8142 * lily/beam-concave.cc (calc_concaveness): use property callback.
8144 * ly/paper-defaults.ly: move fixed dimensions from paper.scm
8146 2005-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
8150 2005-10-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
8152 * scm/layout-page-layout.scm (page-headfoot): annotate
8155 * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit.
8157 * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8158 doesn't take y-space.
8160 * scm/paper.scm (paper-alist): fix A7 dimensions.
8162 2005-10-24 Jan Nieuwenhuizen <janneke@gnu.org>
8164 * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8165 src-wildcard, remove $(wildcard).
8167 * po/GNUmakefile (PO_FILES):
8168 * ps/GNUmakefile (PS_FILES):
8169 * tex/GNUmakefile (TEX_FILES):
8170 * cygwin/GNUmakefile (POSTINSTALLS):
8171 * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8172 some wildcard calls.
8174 2005-10-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
8176 * THANKS: add Thomas Bushnell.
8178 2005-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
8180 * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8181 (lilypond-main): Redirect to gui-main if 'gui is set.
8183 * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8184 for alternative installations kludging s/share/lib/g
8187 * SConstruct (libdir_package_version): Define.
8189 * python/SConscript:
8190 * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8193 2005-10-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
8195 * lily/main.cc: clarify --safe.
8197 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8199 * VERSION: release 2.7.14
8201 * Documentation/user/*.itely: remove minimumVerticalExtent.
8203 * scm/define-grobs.scm (all-grob-descriptions): remove
8204 RemoveEmptyVerticalGroup
8206 * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8208 * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8211 * python/convertrules.py (conv): add rules.
8213 * lily/grob.cc: remove is_empty()
8215 * lily/grob-property.cc: remove add_to_list_property().
8217 * scripts/convert-ly.py (datadir): add prefix switching hack to
8220 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8221 space-function tweak.
8223 * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8225 * scm/define-grob-properties.scm (all-user-grob-properties):
8226 remove callback property.
8228 * lily/include/grob.hh (class Grob): remove property_callbacks_
8229 member. Properties of procedure type are assumed to be callbacks.
8231 * lily/ligature-engraver.cc (override_stencil_callback):
8232 rewrite. Use noteHeadLigaturePrimitive as source.
8234 * scm/define-grob-properties.scm (all-internal-grob-properties):
8235 remove ligature-primitive-callback
8237 * lily/include/dimension-cache.hh (class Dimension_cache): make
8238 class, with Grob as friend.
8240 * lily/grob.cc: remove set_extent_callback(), set_extent() and
8241 has_extent_callback()
8243 * scm/translation-functions.scm (format-new-bass-figure): read
8244 figuredBassPlusDirection
8246 * scm/define-context-properties.scm
8247 (all-user-translation-properties): add figuredBassPlusDirection.
8249 * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8251 * lily/align-interface.cc (set_ordered): new function.
8253 * lily/grob.cc (flush_extent_cache): rewrite.
8255 * lily/dimension-cache.cc (Dimension_cache): cache extent as
8256 Interval pointer directly.
8258 * lily/main.cc (setup_paths): insert extra / .
8259 (setup_paths): junk cff entry.
8261 * lily/font-config.cc (init_fontconfig): only add type1 / otf
8264 * lily/axis-group-engraver.cc (finalize): remove
8265 extraVerticalExtent, minimumVerticalExtent verticalExtent.
8267 * lily/grob.cc (Grob): don't set extent from ctor.
8268 (extent): use property callbacks.
8270 * lily/axis-group-interface.cc: remove set_axes() function.
8272 * lily/grob-property.cc (del_property): new function.
8274 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8276 * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8278 2005-10-20 Jan Nieuwenhuizen <janneke@gnu.org>
8280 * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add.
8282 2005-10-19 Jan Nieuwenhuizen <janneke@gnu.org>
8284 * mf/SConscript: Updates.
8286 * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8288 * stepmake/stepmake/*:
8292 * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8293 from any directory in build-dir. Cleanups.
8295 * make/srcdir.make.in: Remove.
8297 * lily/main.cc (setup_paths): Fix and document build-dir hack.
8299 * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8302 * lily/SConscript: Remove ttftools.
8304 * SConstruct: Resurrect.
8306 2005-10-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
8308 * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8311 * lily/paper-book.cc (add_score_title): put Paper_score title into
8314 * scm/translation-functions.scm (format-new-bass-figure): also
8315 allow plus in combination with _
8317 2005-10-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8319 * VERSION: 2.7.13 released.
8321 * lily/note-collision.cc (check_meshing_chords): don't wipe
8322 stencil, merely set transparent.
8324 * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau.
8325 (Top): document #'callbacks.
8326 (Top): document nested \override.
8328 * input/regression/figured-bass.ly: update for slash and pluses.
8330 * input/regression/figured-bass-continuation-forbid.ly (Module):
8333 * scm/translation-functions.scm (format-new-bass-figure): use
8334 slashed-digit if diminished is set.
8335 (format-new-bass-figure): add + if 'augmented is set.
8337 * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8339 * input/test/piano-staff-distance.ly: remove file.
8341 * Documentation/user/advanced-notation.itely (Formatting cue
8342 notes): use length-fraction for making stems/beams smaller.
8344 * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8347 * lily/new-figured-bass-engraver.cc: new property
8348 centerFiguredBassContinuations
8350 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8353 * lily/context-property.cc (execute_general_pushpop_property):
8356 * input/regression/override-nest.ly: new file.
8358 * python/convertrules.py (FatalConversionError.subber): conversion
8359 rule for #'callbacks
8361 * input/regression/override-nest.ly: new function.
8363 * lily/parser.yy (music_property_def): allow \override #'a #'b =
8366 * lily/context-property.cc (lookup_nested_property): new function.
8367 (evict_from_alist): new function.
8368 (general_pushpop_property): new function.
8369 (execute_general_pushpop_property): rewrite. Support nested
8372 2005-10-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
8374 * lily/beam.cc: use length-fraction too.
8376 * scm/define-grob-properties.scm (all-user-grob-properties):
8377 remove property flag-width-function
8378 (all-user-grob-properties): remove space-function.
8380 * scm/layout-beam.scm: remove flag-width-function.
8382 * lily/beam.cc: remove flag-width-function
8384 * scm/layout-beam.scm: remove beam dir functions.
8386 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8388 * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8389 for easier grace tweaks.
8391 * lily/beam.cc: remove dir-function.
8393 * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8395 * lily/grob.cc: remove spacing-procedure.
8397 * lily/note-head.cc (calc_stem_attachment): new function.
8398 (internal_print): use callback to get glyph-name.
8400 * lily/grob-property.cc (get_interfaces): new function.
8402 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8404 * lily/stem.cc (calc_stem_end_position): new function.
8405 (calc_length): new function.
8406 document details for stem.
8407 remove Stem::get_direction()
8409 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback!
8411 * lily/grob-property.cc (set_callback): new function.
8413 * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8415 * lily/item-scheme.cc: new file.
8417 * lily/bar-line.cc (before_line_breaking): remove function.
8418 remove bar-size-procedure, break-glyph-function
8420 * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8422 * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8424 * lily/system-start-delimiter.cc (print): suicide from
8425 here. Remove after_line_breaking_callback.
8427 * lily/script-interface.cc (calc_direction): use callback for direction.
8429 * lily/side-position-interface.cc (aligned_side): don't use
8430 Side_position_interface::get_direction directly. Use callback.
8432 * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8434 (get_print_stencil): rename from get_stencil: create stencil with
8435 transparency, color and cause.
8437 * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8439 * python/convertrules.py (conv): insert temporary warning rule.
8441 * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8443 * lily/grob-property.cc (try_callback): remove marker if applicable.
8445 * lily/grob.cc: elucidate doc about after/before-line-breaking
8447 * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8449 * lily/stem.cc (height): idem.
8451 * lily/stem-tremolo.cc: idem.
8453 * lily/slur.cc (height): don't use get_uncached_stencil()
8455 * lily/rest.cc (y_offset_callback): use offset callback
8456 iso. after-line-breaking callback.
8458 * lily/grob.cc: change after/before-line-breaking-callback to
8459 after/before-line-breaking dummy properties.
8461 * lily/include/grob.hh: remove Grob_status.
8463 * scm/define-context-properties.scm
8464 (all-user-translation-properties): remove verticalAlignmentChildCallback
8466 * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8467 (calc_direction): use callback
8468 (calc_positions): use callback.
8470 * lily/tie.cc (calc_direction): use callback. Only call parent
8471 positioning for more than one tie.
8473 * lily/tie-column.cc (calc_positioning_done): use callback
8475 * lily/slur-scoring.cc (calc_control_points): use callback
8477 * lily/slur.cc (calc_direction): use callback.
8479 * lily/note-collision.cc (force_shift_callback): remove.
8481 * lily/dot-column.cc (force_shift_callback): remove. Use
8482 other_axis_parent_positioning.
8484 * lily/grob.cc (other_axis_parent_positioning): new function.
8485 (same_axis_parent_positioning): new function
8487 * lily/align-interface.cc (alignment_callback): remove function.
8489 * lily/note-collision.cc (calc_positioning_done): use callback.
8491 * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8492 (calc_direction): idem.
8493 remove print function.
8495 * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8497 * lily/dot-column.cc (calc_positioning_done): use callback.
8499 * lily/break-align-interface.cc (calc_positioning_done): use callback.
8501 * lily/beam.cc (calc_direction): use pseudo-property for beam
8503 (calc_positions): use callback
8505 * lily/align-interface.cc (calc_positioning_done): use
8506 callback. Fold fixed distance and normal alignment in one function.
8508 * lily/stem.cc (calc_stem_end_position): use callback.
8509 (calc_positioning_done): idem.
8510 (calc_direction): idem.
8511 (calc_stem_end_position): idem
8512 (calc_stem_info): idem.
8514 * lily/grob-property.cc (get_property_data): new function:
8515 (try_callback): new function.
8517 * scm/define-grob-properties.scm (all-user-grob-properties): doc
8520 * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8522 2005-10-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
8524 * lily/tie.cc (get_position): robustness fix. Don't crash if a
8528 * lily/include/*.hh (Module): compile fixes.
8530 2005-10-14 Heikki Junes <hjunes@cc.hut.fi>
8532 * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil
8533 as an argument for char-syntax: use (char-syntax (or nil 0))
8534 instead of (char-syntax nil), thanks to Milan Zamazal.
8536 2005-10-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
8538 * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8541 * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8544 2005-10-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8546 * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8547 add class_name() method.
8549 * lily/music-scheme.cc: remove ly:music-name.
8551 2005-10-11 Jan Nieuwenhuizen <janneke@gnu.org>
8553 * cygwin/postinstall-lilypond.sh: Remove cruft.
8555 * cygwin/postremove-lilypond.sh: Remove.
8557 * cygwin/GNUmakefile (default): Remove postremove rules.
8559 2005-10-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8561 * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8564 * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8567 * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8568 consider break index for broken spanner.
8570 * scm/define-markup-commands.scm (wordwrap-string): remove \r
8571 characters from string before splitting.
8573 2005-10-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
8575 * scm/framework-ps.scm (output-preview-framework): use
8576 is-book-title to determine whether to chop off the booktitle.
8578 * lily/paper-book.cc (systems): init from book-title-properties
8579 (add_score_title): init score-title-properties.
8581 * ly/paper-defaults.ly: add {score,book}-title-properties.
8583 * scm/document-backend.scm (lookup-interface): error message if
8584 using unknown interface.
8586 * lily/volta-bracket.cc (after_line_breaking): new function. Set
8589 * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8591 (make_bracket): new function.
8593 * scm/lily.scm (define-scheme-options): add paper-size option.
8595 * ly/declarations-init.ly (laissezVibrer): get paper size from
8598 * scm/translation-functions.scm: use \fontsize for changing the
8601 * scm/define-grobs.scm (all-grob-descriptions): set
8602 between-length-limit to 1.0
8604 * lily/tie-helper.cc: add between_length_limit_ detail property.
8606 * mf/feta-bolletjes.mf: typos.
8608 * lily/note-head.cc (internal_print): don't shadow idx
8609 parameter. This fixes wrong attachment for do shape heads.
8611 2005-10-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
8613 * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8615 * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8617 * scm/layout-slur.scm: rename from slur.scm
8619 * scm/layout-page-layout.scm: rename from page-layout.scm
8621 * scm/layout-beam.scm: rename from beam.scm
8623 * scm/define-grob-interfaces.scm (bass-figure-interface): add
8624 bass-figure-interface
8626 * lily/new-figured-bass-engraver.cc (process_music): add
8627 implicitBassFigures property.
8629 * scm/define-markup-commands.scm (pad-x): new markup.
8631 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8632 minimumVerticalExtent on FiguredBass context.
8634 * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8635 case the continuation crosses a line break.
8637 2005-10-09 Jan Nieuwenhuizen <janneke@gnu.org>
8639 * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8640 unconverted value if cygwin_conv_to_posix_path () fails. Fixes
8641 absolute file name bug.
8643 2005-10-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
8645 * VERSION (PACKAGE_NAME): release 2.7.12
8647 * input/regression/figured-bass-continuation-center.ly: new file.
8649 * input/regression/beam-outside-beamlets.ly: new file.
8651 * lily/beam.cc (set_beaming): don't clip edges.
8652 (connect_beams): don't clip edges.
8654 * lily/beaming-info.cc (clip_edges): new function.
8656 * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8658 * Documentation/user/instrument-notation.itely (Figured bass):
8659 demonstrate extenders, update seealso links.
8661 * scm/titling.scm (marked-up-headfoot): change tagline
8662 handling. tagline = ##f will blank the tagline as well.
8664 2005-10-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8666 * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8668 * lily/new-figured-bass-engraver.cc (struct
8669 New_figured_bass_engraver): add new_music_found_ member.
8671 * lily/lilypond-version.cc (Lilypond_version): deal with
8672 incorrectly formatted version strings.
8674 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8675 New_figured_bass_engraver by default.
8677 * lily/ttf.cc (print_trailer): only define glyph names when
8678 FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8680 2005-10-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8682 * lily/horizontal-bracket.cc (make_bracket): new function.
8684 * scm/define-grobs.scm (all-grob-descriptions): new grobs
8685 NewBassFigure, BassFigureBracket, BassFigureContinuation,
8686 BassFigureLine, BassFigureAlignment
8688 * lily/new-figured-bass-engraver.cc (process_music): new file.
8690 * lily/figured-bass-continuation.cc: new file.
8692 * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8695 2005-10-04 Mats Bengtsson <mabe@s3.kth.se>
8697 * scripts/lilypond-book.py: Bug fix, put the quote around the
8698 actual score for LaTeX documents.
8700 * scm/define-grobs.scm (all-grob-descriptions): Change
8701 collapse-height of the SystemStartBracket grob to 5.0,
8702 so the bracket disappears for single stave score lines (similarly
8703 to SystemStartBraces).
8705 * Documentation/user/advanced-notation.itely (Polymetric
8706 notation): Clarify the use of compressMusic.
8708 * Documentation/user/basic-notation.itely (Grace notes): Clarify
8709 that the grace spacer note in other staves need the same duration
8710 and document the stroke-style property.
8712 2005-10-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8714 * Documentation/user/global.itely (Vertical spacing): document
8715 alignment-extra-space and fixed-alignment-extra-space.
8717 * Documentation/topdocs/NEWS.tely (Top): add entry.
8719 * input/regression/alignment-vertical-spacing.ly: new file.
8721 * python/convertrules.py (conv): add rule.
8723 * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8725 * lily/align-interface.cc (stretch_after_break): new
8726 function. Read fixed-alignment-extra-space property.
8727 (align_elements_to_extents): read alignment-extra-space property.
8729 * lily/lily-guile.cc (robust_scm2dir): new function.
8731 * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8732 (annotate-space-left): new function. Annotate space left on page.
8733 (annotate-y-interval): new function.
8734 (paper-system-annotate-last): new function. Annotate bottom-space.
8736 * mf/feta-beugel.mf (y):
8738 2005-10-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8740 * VERSION (PACKAGE_NAME): release 2.7.11
8742 * scm/lily-library.scm (interval-translate): new function
8743 (interval-center): new function.
8745 * scm/page-layout.scm (paper-system-annotate): new function. Add
8746 arrows for dimensions.
8748 * scm/stencil.scm (dimension-arrows): new function.
8750 * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8752 * input/regression/page-spacing.ly: add annotatespacing
8754 * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8755 (LY_DEFINE): new function ly:paper-system-set-property!
8757 * Documentation/user/global.itely (Paper size): explain how to add
8760 * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8761 correspond to GS's definition.
8763 * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8765 (print): only connect to next bracket if the next one is alive.
8766 (print): set padding to 0.0 if the bound is a breakable
8767 column. This makes tupletFullLength brackets reach up to the staff
8768 line if it doesn't connect to the next line.
8770 2005-09-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
8772 * lily/bar-number-engraver.cc: correct docs.
8774 * scm/output-lib.scm (first-bar-number-invisible): rename from
8775 default-bar-number-visibility
8777 2005-09-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8779 * scm/define-music-properties.scm (all-music-properties): remove
8782 2005-09-28 Heikki Junes <hjunes@cc.hut.fi>
8784 * po/fi.po: refresh.
8786 2005-09-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
8788 * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8790 (disappear): bugfix.
8792 * lily/stem-tremolo.cc (raw_stencil): read slope property.
8794 * lily/include/paper-system.hh (class Paper_system): remove
8795 staff_extents_ member.
8797 * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8799 * lily/include/paper-system.hh (class Paper_system): remove
8800 number_ variable. Remove is_title_. Remove break_before_penalty_
8802 * lily/paper-book.cc (systems): use 'number property iso. number_
8805 * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8806 remove ly:paper-system-number.
8808 * scm/lily-library.scm (paper-system-title?): new function.
8810 * lily/book.cc (process): bugfix: flip ?: cases.
8812 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8815 * ly/music-functions-init.ly: add outputProperty music function.
8817 * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8819 * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8821 (optimal-page-breaks): rename from ly:optimal-page-breaks.
8823 * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8825 * lily/paper-system.cc (internal_get_property): new function.
8827 * Documentation/user/global.itely (Vertical spacing): refer to
8830 * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8833 * input/regression/page-spacing.ly: new file.
8835 * input/regression/page-top-space.ly: new file.
8837 * lily/spacing-spanner.cc: cmath -> math.h
8839 * lily/paper-system.cc (read_left_bound): new function. Read
8840 line-break-system-details from left bound to determine extents.
8842 * Documentation/user/programming-interface.itely (Using LilyPond
8843 syntax inside Scheme): change applyxxx -> applyXxx.
8845 * ly/music-functions-init.ly: add outputProperty music function.
8847 * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8849 * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8851 * python/convertrules.py (conv): rule
8853 * ly/music-functions-init.ly: applyxxx -> applyXxx
8855 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
8858 2005-09-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8860 * flower/include/real.hh: include <math.h> iso. <cmath>
8862 * flower/include/offset.hh: include real.hh
8864 2005-09-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
8866 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8867 fix example, now that 'interfaces is no longer directly available.
8869 * lily/book.cc (process): don't crash if paper == NULL.
8873 2005-09-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8875 * scm/define-music-types.scm (music-descriptions): set length and
8876 start-callback for QuoteMusic
8878 2005-09-15 Mats Bengtsson <mabe@s3.kth.se>
8880 * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
8881 arguments. Fixes compilation error with gcc 3.3.
8883 2005-09-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
8885 * VERSION: release 2.7.10
8887 * stepmake/stepmake/python-module-rules.make
8888 ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.
8890 * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
8893 2005-09-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8895 * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
8896 -Werror. Otherwise GCC barfs over various optimizations.
8898 * scm/define-grob-properties.scm (all-internal-grob-properties):
8899 add note-head property
8901 * Documentation/user/instrument-notation.itely (Laissez vibrer
8904 * input/regression/laissez-vibrer-ties.ly: new file.
8906 * lily/laissez-vibrer-engraver.cc: new file.
8908 * lily/include/tie-column-format.hh: new file.
8910 * lily/tie-column-format.cc: new file.
8912 * lily/tie-column.cc (set_manual_tie_configuration): new function.
8914 * lily/laissez-vibrer-tie.cc: new file.
8916 * lily/include/laissez-vibrer-tie.hh: new file.
8918 * ly/engraver-init.ly: add Laissez_vibrer_engraver
8920 * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
8922 * scm/define-grobs.scm (all-grob-descriptions): add
8923 LaissezVibrerTie, LaissezVibrerTieColumn
8925 * lily/tie-column.cc (set_tie_config_directions): new function
8926 (final_shape_adjustment): new function.
8927 (shift_small_ties): new function.
8929 * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
8931 * lily/include/tie.hh (struct Tie_details): add x_gap_
8932 (struct Tie_configuration): add head_position_
8934 * lily/tie-column.cc (set_chord_outline): new function.
8936 * mf/cmr.enc.in: remove file.
8938 2005-09-11 Graham Percival <gpermus@gmail.com>
8940 * Documentation/user/examples.itely: typo fix. Thanks, Matevž
8942 2005-09-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8944 * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
8945 reduce aliasing effects.
8947 * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
8950 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
8952 * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
8954 * flower/include/real.hh: std::fabs too.
8956 2005-09-08 Jan Nieuwenhuizen <janneke@gnu.org>
8958 * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner).
8960 * lily, flower: Include C++ iso C headers. Import namespace std
8963 * lily/side-position-interface.cc:
8965 * lily/note-head.cc:
8966 * lily/include/includable-lexer.hh:
8967 * flower/include/string-data.icc: Remove using std::*.
8969 * lily, flower: Include C++ iso C headers. Import namespace std
8972 * lily/side-position-interface.cc:
8974 * lily/note-head.cc:
8975 * lily/include/includable-lexer.hh:
8976 * flower/include/string-data.icc: Remove using std::*.
8978 * Documentation/user/instrument-notation.itely (Entering lyrics):
8979 Multiple latin-1->utf-8 conversion fix.
8981 * Documentation/user/*tely: Update Emacs cookie to utf-8.
8983 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
8985 * lily/tie.cc (get_configuration): also avoid dots for non-space
8988 2005-09-07 Jan Nieuwenhuizen <janneke@gnu.org>
8990 * Documentation/user/instrument-notation.itely: Bugfix.
8992 2005-09-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8994 * tex/GNUmakefile: don't install texinfo.tex
8996 * tex/ : cleanup: remove unused files.
8998 * lily/general-scheme.cc: remove my_{isinf,isnan}.
9000 * flower/include/real.hh: using std::{isnan,isinf}
9002 * VERSION (PATCH_LEVEL): release 2.7.9
9004 2005-09-05 Graham Percival <gpermus@gmail.com>
9006 * Documentation/user/ instrument-notation.itely,
9007 advanced-notation.itely: minor tweaks.
9009 * input/test/script-chart.ly: add item padding.
9011 2005-09-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
9013 * flower/offset.cc: use math.h iso. <cmath>
9015 * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
9018 * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
9019 (widen-left-stencil-edges): new function. Fix alignment problems
9020 with LaTeX includegraphics.
9022 * lily/text-interface.cc (interpret_markup): use abort().
9024 2005-09-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
9026 * input/regression/tie-chord.ly (testLong): add a chord in 4ths
9028 * lily/tie.cc (get_configuration): update bezier shape as we
9030 (get_configuration): don't move large ties if we're outside of the
9033 2005-09-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
9035 * scm/define-markup-commands.scm (strut): swap X and Y dims.
9037 2005-09-03 Jan Nieuwenhuizen <janneke@gnu.org>
9039 * .cvsignore: Add auto-generated configure files and then some.
9041 2005-09-02 Jan Nieuwenhuizen <janneke@gnu.org>
9043 * scm/define-grobs.scm (DynamicLineSpanner): Add
9044 X-extent-callback. Fixes hairpin-slur collision.
9046 2005-08-31 Graham Percival <gpermus@gmail.com>
9048 * Documentation/user/advanced-notation.itely,
9049 basic-notation.itely: minor changes.
9051 2005-08-31 Mats Bengtsson <mabe@s3.kth.se>
9053 * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9054 \linebreak between each .eps file if \betweenLilyPondSystem is
9057 * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9058 music): Document the \linebreak
9060 * Documentation/user/lilypond-book.itely,
9061 input/tutorial/lbook-latex-test.tex,
9062 Documentation/user/examples.itely: Remove \usepackage{graphics}
9064 2005-08-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
9066 * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9068 * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9071 * scripts/lilypond-book.py (PREAMBLE_LY): define
9072 inside-lilypond-book
9073 (modify_preamble): new function. Insert \RequirePackage{graphics}
9074 when no {graphics found in preamble.
9076 2005-08030 Graham Percival <gpermus@gmail.com>
9078 * Documentation/user/basic-notation.itely, global.itely,
9079 tutorial.itely: misc small changes.
9081 2005-08-30 Jan Nieuwenhuizen <janneke@gnu.org>
9083 * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9086 2005-08-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
9088 * lily/tie-column.cc (new_directions): put Tie down on center
9091 * lily/script-interface.cc (before_line_breaking): use
9092 Grob::programming_error
9094 * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9096 * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9099 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9101 * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9103 2005-08-29 Werner Lemberg <wl@gnu.org>
9105 * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9106 the `*.scale.pfa' files to avoid warnings.
9108 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9110 * lily/tempo-performer.cc (process_music): idem.
9112 * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9114 2005-08-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
9116 * Documentation/user/advanced-notation.itely (Text markup): not a
9119 * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9121 * lily/staff-performer.cc (initialize): add tempo/name to
9124 2005-08-26 Graham Percival <gpermus@gmail.com>
9126 * Documentation/user/advanced.itely: add text-only example.
9128 * Documentation/user/invoking.itely: add index entries for
9131 * Documentation/user/ tutorial.itely, basic-notation.itely:
9132 small fixes suggested by Steve D. Thanks!
9134 2005-08-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
9136 * input/regression/markup-bidi-pango.ly: new file.
9138 * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9139 standard. Remove #ifdef. Remove memleak.
9140 (text_stencil): use text_dir to decide how to composite items.
9141 (text_stencil): determine uniform text direction for the entire
9144 * scripts/lilypond-book.py (output_name): remove
9145 latex_filter_cmd. Non-portable to non-Unix systems.
9146 (get_latex_textwidth): use File.write and os.unlink() instead.
9148 * THANKS: add Vicente & Trevor.
9150 * lily/grob.cc (discretionary_processing): look up origin for
9151 programming_error too.
9153 * input/regression/tie-broken.ly: new file.
9155 * lily/tie-column.cc (set_chord_outlines): set outline for line
9158 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9160 * lily/pango-font.cc (text_stencil): don't translate glyphs in
9161 unscaled transform, just translate stencils.
9163 * ly/performer-init.ly: init timing to #t. Fixes bar checks in
9166 * scm/define-markup-commands.scm (wordwrap-string): use
9168 (wordwrap-stencils): idem.
9171 (wordwrap-stencils): translate last line to right for
9172 text-direction = LEFT.
9174 * scm/define-grob-properties.scm (all-user-grob-properties): add
9177 2005-08-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
9179 * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9180 when copying a Lily_parser object.
9182 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9184 * scm/define-markup-commands.scm (null): add null markup.
9186 2005-08-25 Mats Bengtsson <mabe@s3.kth.se>
9188 * lily/item.cc: Add documentation of center-invisible
9190 2005-08-24 Graham Percival <gpermus@gmail.com>
9192 * Documentation/user/advanced-notation.itely: add info about
9195 * Documentation/user/programming-interface.itely: fix example
9196 involving raised text.
9198 2005-08-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
9200 * lily/beam.cc (print): fix X start/end points of isolated
9203 * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9205 * lily/multi-measure-rest.cc (set_text_rods): new function.
9207 * lily/vertical-align-engraver.cc (process_music): call
9208 Align_interface::set_axis(). This forces #'elements to be ordered,
9209 preventing random vertical reordering of staves.
9211 * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9212 add avoid-slur property.
9214 * Documentation/user/basic-notation.itely (Measure repeats): add
9215 countPercentRepeats example.
9217 * Documentation/user/advanced-notation.itely (Other text markup
9218 issues): remove remark about normal-font. We have \normal-text
9220 * input/regression/tie-chord.ly: add note about remaining bugs.
9222 * lily/tie.cc (print): try Tie_column::set_directions () if
9223 control-points not yet defined.
9225 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9227 * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9228 extent. This fixes braces falling out of the EPS bbox.
9230 * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9233 2005-08-23 Graham Percival <gpermus@gmail.com>
9235 * {various} : change #up->#UP and #down->#DOWN.
9237 * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9239 * Documentation/user/advanced-notation.itely: clarify
9240 what objects handles text on a multimeasure rest.
9242 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9244 * VERSION (PATCH_LEVEL): release 2.7.7
9246 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9248 * make/lilypond-vars.make: set -dgs-font-load for "make web"
9250 * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9252 * input/regression/*.ly: formatting clean-up. Default layout
9253 before music expression.
9255 * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9256 romanze28-2 example.
9258 * scm/ps-to-png.scm: remove dir-re function.
9259 (make-ps-images): generate page names, instead of globbing them.
9260 This brings down LilyPond memory usage for make web by a factor
9263 * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9264 don't use glob. With 3000 files, globbing
9265 Documentation/user/out-www/ can take too much time.
9267 * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9269 * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9271 * input/regression/tie-manual.ly: new file
9273 * input/regression/tie-chord.ly: update.
9275 * flower/include/interval.hh (struct Interval_t):
9277 * lily/tie.cc (distance): new function
9278 (height): new function.
9279 (init): new function
9280 (Tie_details): new struct.
9282 * lily/skyline.cc (skyline_height): new function.
9284 * lily/tie-column.cc (set_chord_outlines): new function.
9285 (new_directions): read tie-configuration
9287 * lily/skyline.cc: fix ASCII art.
9289 2005-08-22 Mats Bengtsson <mabe@s3.kth.se>
9291 * python/convertrules.py (string_or_scheme): Fix spelling error
9293 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9295 * lily/tie-column.cc (set_directions): set directions only once.
9296 (add_configuration): new function.
9298 * lily/tie.cc (set_control_points): new function
9300 * lily/tie-column.cc (new_directions): new function.
9302 * ly/music-functions-init.ly: set 'pitch property
9303 iso. trill-pitch. This makes \relative work with \pitchedTrill
9305 * lily/tie.cc (get_configuration): new function. Don't generate
9306 control points, rather, generate configuration.
9307 remove head-pair property.
9309 * lily/include/tie.hh (struct Tie_configuration): new struct.
9311 2005-08-22 Heikki Junes <hjunes@cc.hut.fi>
9313 * Documentation/topdocs/NEWS.tely: clarify.
9315 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9317 * lily/tie.cc: remove minimum-length
9319 * scm/define-grob-properties.scm (all-user-grob-properties):
9320 remove staffline-clearance, y-offset
9322 * input/regression/tie-dots.ly (Module): remove.
9324 * lily/tie.cc (get_control_points): rewrite. Put short ties in
9325 staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9327 * input/regression/tie-single.ly: new file.
9329 2005-08-21 Graham Percival <gpermus@gmail.com>
9331 * ly/bagpipe.ly: fix compile problem.
9333 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9335 * lily/midi-item.cc (name): new method.
9337 * lily/staff-performer.cc (acknowledge_audio_element): use
9338 signature of baseclass.
9340 * lily/engraver-group.cc (do_announces): move recursion call out
9343 * lily/drum-note-performer.cc (class Drum_note_performer): use
9344 process_music everywhere.
9346 * ly/performer-init.ly: add default children everywhere.
9348 * lily/paper-book.cc (output): call paper-book-write-midis
9349 directly: always write MIDI, even if no \layout {} block.
9351 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9353 * VERSION (PACKAGE_NAME): release 2.7.6
9355 * lily/percent-repeat-engraver.cc (try_music): don't print warning
9356 about not being able to handle repeat.
9358 2005-08-19 Jan Nieuwenhuizen <janneke@gnu.org>
9360 * Documentation/user/examples.itely (Piano templates):
9361 * lily/include/performer-group.hh: Remove last traces of
9362 Performer_group_performer. Fixes make web.
9364 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9366 * Documentation/user/examples.itely (Piano templates): change
9367 Engraver_group_engraver -> Engraver_group
9369 * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9370 scm_stand_in_procs is not weak_any.
9372 * lily/volta-bracket.cc (print): don't use strcmp().
9374 * lily/volta-engraver.cc (process_music): use
9375 Text_interface::is_markup() for setting the 'text property of the
9378 * input/mutopia/claop.py (accents): update syntax to 2.6
9380 * scm/define-context-properties.scm
9381 (all-user-translation-properties): add countPercentRepeats.
9383 * Documentation/user/basic-notation.itely (Measure repeats): add
9384 isolated percent example.
9386 2005-08-18 Graham Percival <gpermus@gmail.com>
9388 * input/ {various}: change direction #1, #-1 to
9389 #up/#down or \fooUp, \fooDown.
9391 * Documentation/user/music-glossary.tely: #-1 to #down.
9393 * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9394 to #up, #-1 to #down.
9396 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9398 * lily/include/engraver-group.hh: rename.
9400 * lily/include/performer-group.hh: rename.
9402 2005-08-18 Mats Bengtsson <mabe@s3.kth.se>
9404 * input/test/script-abbreviations.ly: Removed some old LaTeX
9407 2005-08-18 Jan Nieuwenhuizen <janneke@gnu.org>
9409 * python/convertrules.py (conv): inside-slur -> avoid-slur.
9410 Remove functions. Remove if 1: constructs, reindent.
9412 * scripts/convert-ly.py (add_version): Add functions from
9415 * scm/script.scm (default-script-alist):
9416 s/priority/script-priority. Fixes script stacking. Backportme.
9417 (Fermata): Very low priority.
9419 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9421 * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9423 * input/regression/slur-script.ly: remove padding tweaks. Add
9426 * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9427 time sigs and related stuff.
9429 * scm/define-grob-properties.scm (all-user-grob-properties): add