1 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
3 * stepmake/stepmake/po-vars.make: Resolve.
5 2006-10-29 Jan Nieuwenhuizen <janneke@gnu.org>
7 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
9 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
11 * buildscripts/git-update-changelog.py (main): write .msg and cvs command.
13 * scm/define-grobs.scm:
14 separation-items have width
20 * Documentation/topdocs/NEWS.tely:
21 * lily/separating-group-spanner.cc:
22 * lily/slur-engraver.cc:
23 * lily/slur-scoring.cc:
24 * scm/define-grobs.scm:
25 * input/regression/slur-clef.ly:
26 add breakableSeparationItem to extra encompass for slurs. This
27 fixes slur/clef slur/key collisions etc. Should fix #49
29 * lily/include/slur-scoring.hh:
30 * lily/slur-scoring.cc:
31 Use X of separation item as slur start. Fixes #120
33 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
35 * buildscripts/git-update-changelog.py (changelog_body): don't
38 * lily/grob.cc: add avoid-slur
40 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
44 move server/emacsclient to elisp/
46 * buildscripts/git-update-changelog.py (Commit.note_del_file):
49 * elisp/server.el.patch:
52 * elisp/emacsclient.patch:
55 * buildscripts/git-update-changelog.py:
62 * buildscripts/git-update-changelog.py:
63 script to update ChangeLog with Git messages.
65 * lily/beam-engraver.cc:
66 * input/regression/rest-pitched-beam.ly:
67 don't set callback if staff-position set. Fixes #126.
69 * lily/bar-number-engraver.cc:
71 * lily/fingering-engraver.cc:
72 * lily/grob-property.cc:
74 * lily/include/grob.hh:
75 * lily/include/lily-guile-macros.hh:
76 * lily/mark-engraver.cc:
77 * lily/melody-engraver.cc:
78 * lily/script-column.cc:
79 * lily/tie-formatting-problem.cc:
81 internal_get_property_data() using ly_symbol2scm()
83 * stepmake/stepmake/generic-targets.make:
84 create .gitignore in outdir.
89 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
91 * input/test/vertical-extent.ly:
92 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
94 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
96 * stepmake/bin/add-html-footer.py (compose): remove setgcos
98 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
100 * GNUmakefile.in (install-help2man): install-help2man target.
102 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
104 * SConstruct (configure): Do not check for /bin/sh.
106 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
108 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
111 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
113 * input/regression/fret-boards.ly: new file.
115 * po/de.po: new po courtesy translation team.
117 * scripts/lilypond-book.py (get_option_parser): add newline to doc
120 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
122 * ly/gregorian-init.ly (neumeDemoLayout): update
123 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
125 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
126 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
128 2006-10-27 Erlend Aasland <erlenda@gmail.com>
130 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
131 Yet another build fix.
133 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
135 * SConstruct (lilypondprefix): use sorted() for list_sort()
138 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
140 * flower/SConscript: Unit test rules.
142 * flower/test-std.cc: Compile fix.
144 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
146 * python/midi.c (pymidi_parse_track): warning fixes.
148 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
149 include dot-column.hh
151 2006-10-26 Graham Percival <gpermus@gmail.com>
153 * Documentation/user/{basic-, global}: minor changes from mailist.
155 2006-10-26 Erlend Aasland <erlenda@gmail.com>
157 * scm/define-grobs.scm: trivial beautification
159 * lily/tie-performer.cc: no need to #include "pqueue.hh"
161 * lily/source-file.cc: put multibyte var inside #if clause
163 * scm/define-grob-interfaces.scm:
164 * scm/define-grob-properties.scm:
165 Build fix (string-fret-finger-combinations)
167 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
170 * Documentation/user/lilypond-book.itely: Build fix.
172 2006-10-26 Joe Neeman <joeneeman@gmail.com>
174 * lily/system.cc (get_paper_system):
175 * lily/paper-book.cc (systems):
176 move most of the backwards compatibility stuff into
179 * Documentation/topdocs/NEWS.tely: add 2 entries for the
182 * Documentation/user/page.itely: remove time-scaled-music
183 bug for the Page_turn_engraver
185 * lily/paper-book.cc (set_system_penalty): backwards
186 compatibility (breakbefore) for the old page breaker
188 2006-10-25 Graham Percival <gpermus@gmail.com>
190 * Diocumentation/user/instrument-notation.itely: added more
191 info about stanzas; thanks Geoff!
193 * Documentation/user/ {basic, advanced}: small fixes from
196 * THANKS: add some bug reporters.
198 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
200 * scm/define-context-properties.scm (all-user-translation-properties):
201 noteToFretFunction: Add.
203 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
204 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
206 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
208 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
211 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
212 Remove bashism in delete.
214 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
216 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
218 * scm/translation-functions.scm (determine-frets-mf): flatten let*
220 * scm/define-context-properties.scm
221 (all-user-translation-properties): add maximumFretStretch property.
223 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
225 * lily/source-file.cc (get_counts): use multibyte variable.
227 * scm/translation-functions.scm (determine-frets-mf): new
228 function: compute fret numbers.
230 * scm/output-lib.scm (string-frets->description) new function.
231 (fret-board::calc-stencil): new function
233 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
235 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
237 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
239 * lily/tab-note-heads-engraver.cc: cleanups.
241 * lily/fretboard-engraver.cc: new file
243 * ly/engraver-init.ly: add FretBoards context
245 2006-10-24 Joe Neeman <joeneeman@gmail.com>
247 * lily/grob.cc (pure_relative_y_coordinate)
248 (pure_height): use the new call_pure_function stuff
250 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
253 * lily/side-position-interface.cc (pure_y_aligned_side): add an
256 * lily/simple-closure.cc (ly_eval_simple_closure): make
257 simple-closure evaluatable from scheme
258 (evaluate_with_simple_closure): make simple-closures pure-
261 * lily/slur.cc (pure_outside_slur_callback): new function
263 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
264 fits in with previous changes that made the page forces much
267 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
268 and pure-Y-extent into this new function.
269 (pure-conversions-alist): add outside-slur-callback
271 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
273 * Documentation/user/advanced-notation.itely (Instrument names):
274 Remove obsolete bug workaround for instrument names on piano
277 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
279 * Documentation/user/lilypond-book.itely (Integrating DocBook and
280 music): patch by Bertalan Fodor for docbook.
282 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
283 of $(LILYPOND). Prevents lilypond run for .txt files.
285 * INSTALL.txt: gitness.
287 * .cvsignore: update to force gitness.
289 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
291 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
292 detect suicide in nested tuplets.
294 2006-10-23 Werner Lemberg <wl@gnu.org>
296 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
297 typo in argument to FT_Get_X11_Font_Format.
299 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
301 * stepmake/stepmake/po-vars.make: more gitness.
303 * flower/polynomial.cc (check_sol): no empty if bodies.
305 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
307 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
309 2006-10-22 Jürgen Reuter <reuter@ipd.uka.de>
311 * Documentation/user/examples.itely (Transcription of mensural
312 music): Added more comments in .ly source. Suggest to remove
313 Forbid_line_break_engraver to allow line breaking at all bars.
315 * Documentation/user/instrument-notation.itely (Ancient
316 articulations): Updated @refbugs regarding episem.
318 * Documentation/user/instrument-notation.itely (Gregorian square
319 neumes ligatures): Added \augmentum dots. Updated @refbugs
320 regarding \augmentum.
322 * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
324 * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated
327 * lily/vaticana-ligature-engraver.cc: Added TODO comment for
330 * ly/gregorian-init.ly: Added \augmentum macro.
332 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
334 * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
336 * lily/pango-font.cc (pango_item_string_stencil): use
337 FT_Get_X11_Font_Format()
339 2006-10-22 John Mandereau <john.mandereau@free.fr>
341 * po/fr.po: update translation.
343 2006-10-21 Han-Wen Nienhuys <hanwen@lilypond.org>
345 * VERSION (PATCH_LEVEL): bump version
347 * input/regression/horizontal-bracket-break.ly: new file.
349 * scm/define-grobs.scm (all-grob-descriptions): calc
352 * lily/horizontal-bracket.cc (make_bracket): support
353 connect-to-neighbor. Fix #118
355 * VERSION: release 2.9.26-2
357 * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
359 * VERSION (PACKAGE_NAME): release 2.9.26
361 * buildscripts/output-distance.py (test_basic_compare): add
363 (FileLink.multi_img_cell): new function, glob multi-page png
366 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
368 * po/lilypond.pot: update.
370 * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
372 * Documentation/user/global.itely (File structure): remove
375 * lily/parser.yy (FIXME): remove ADDQUOTE
377 * Documentation/user/global.itely (Extracting fragments of
378 notation): new node, about clip systems.
380 * Documentation/user/lilypond-book.itely (Many quotes of a large
381 score): ref to clip systems.
383 * Documentation/user/instrument-notation.itely (Entering lyrics):
384 add note about lyric ties and required font.
386 * lily/open-type-font.cc (glyph_list): format errors.
388 * Documentation/user/programming-interface.itely (Scheme
389 procedures as properties): more doco on simple-closure and scheme
391 (Input variables and Scheme): use lilypond[verbatim], document
394 * Documentation/user/page.itely (Displaying spacing): use \book
395 explicitly, so arrows show .
396 (Line breaking): add note about Forbid_line_break_engraver
398 * Documentation/user/tweaks.itely (Common tweaks): also set length
399 to prevent tie squeezing.
400 (Default files): use @var{}
402 * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
403 (Generating LilyPond files): add FOMUS.
405 2006-10-20 Joe Neeman <joeneeman@gmail.com>
407 * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
408 Y-offset for TextScript and Script
410 * lily/text-engraver.cc (make_item):
411 * lily/script-engraver.cc (make_script_from_event):
412 remove call to Side_position_interface::set_axis since all scripts
413 now have this set by default
416 * lily/prob.cc: use variables
418 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
420 * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
421 at typography, rather analyse stream event duration.
423 * Documentation/user/page.itely (Page formatting): set a6 paper
424 for system separator example.
426 * lily/arpeggio.cc (Module): idem.
428 * lily/accidental-placement.cc: add script-priority property.
430 * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
432 * lily/ttf.cc (print_trailer): if all else fails: use
433 glyphIndexXXXX as glyph name. Fixes #117.
435 * lily/pango-font.cc (pango_item_string_stencil): only use cmap
436 entry if cmap contains glyph.
437 (get_index_to_charcode_map): remove from Pango_font class, use
438 global filename -> font mapping.
439 (get_glyph_index_name): new function.
440 (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
443 * scripts/lilypond-book.py (main): use -deps-box-padding=-3
445 * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
448 * scm/define-grob-properties.scm (all-user-grob-properties):
449 remove outdated doc. Fixes #116
451 * lily/completion-note-heads-engraver.cc (process_music): always
452 clone input events; otherwise we may overwrite input 'duration
453 property. Fixes #115.
455 * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
458 * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
461 * VERSION (PATCH_LEVEL): bump version.
463 2006-10-19 Han-Wen Nienhuys <hanwen@lilypond.org>
465 * lily/engraver.cc (internal_make_grob): use variables.
467 * flower/string-convert.cc (dec2double): clean-up warnings.
469 * configure.in (CXXFLAGS): add -Werror.
471 * VERSION (PACKAGE_NAME): release 2.9.25
473 2006-10-18 Joe Neeman <joeneeman@gmail.com>
475 * lily/simple-spacer.cc (get_line_forces): test for non-fitting
476 line even if we precede a forced break.
478 * lily/optimal-page-breaking.cc (try_page_spacing): square line
479 forces too. Make page-spacing weight default to 10 because the
480 changes to vertical springs decreased the page force/line force
481 proportions. Also, take the average of line force and page force
482 instead of just the sum.
484 * lily/constrained-breaking.cc (initialize): make the stiffness
485 of the vertical springs depend on the height of the system. This
486 prevents pages with only a few large systems from getting huge
489 * Documentation/user/page.itely (Page formatting): document the
490 change in default page-spacing-weight
492 * lily/include/constrained-breaking.hh: initialise bottom_padding_
494 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
496 * input/typography-demo.ly (melody): remove superfluous slur.
498 * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
499 add piano-pedal-script-interface
501 2006-10-18 Bertalan Fodor <lilypondtool@organum.hu>
503 * scripts/lilypond-book.py: DocBook support.
505 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
507 * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
509 (stop_translation_timestep): set bound to currentMusicalColumn if
510 not set yet. Fixes #102
512 * lily/piano-pedal-bracket.cc: formatting.
514 * input/test/engraver-one-by-one.ly (MyStaff): reformat.
516 * lily/piano-pedal-align-engraver.cc: new class
517 Piano_pedal_align_engraver. Handle side-positioning Y-alignment
520 2006-10-18 Heikki Junes <hjunes@gmail.com>
522 * po/fi.po: Update Finnish translation (before the next release).
524 2006-10-17 Joe Neeman <joeneeman@gmail.com>
526 * lily/system.cc (get_paper_system): reinstate the backwards-
527 compatible page breaking for the old page breaker.
529 2006-10-17 Erik Sandberg <mandolaerik@gmail.com>
531 * lily/recording-group-engraver.cc: removed
533 * lily/context.cc, lily/translator-group.cc: Don't touch
534 Context::implementation_ if it's null
536 2006-10-17 Han-Wen Nienhuys <hanwen@lilypond.org>
538 * scm/paper.scm: only use left-margin if defined.
540 * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
542 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
544 * lily/new-fingering-engraver.cc: stringFingerOrientations ->
545 strokeFingerOrientations
547 * lily/script-column.cc (row_before_line_breaking): also handle
548 accidentals and arpeggios in horizontal script stacking.
550 * lily/script-row-engraver.cc (acknowledge_accidental_placement):
553 * input/regression/script-stack-horizontal.ly: trim.
555 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
557 * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
560 * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
561 'text if string argument.
563 * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
565 * scm/define-context-properties.scm
566 (all-user-translation-properties): change to strokeFingerOrientations
568 2006-10-16 Erik Sandberg <mandolaerik@gmail.com>
570 * lily/parser.yy: remove debug output
572 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
574 * ly/paper-defaults.ly: set left/right margin.
576 * scm/paper.scm (set-paper-dimensions): use left-margin and
577 right-margin for computing linewidth.
579 * Documentation/topdocs/NEWS.tely (Top): idem.
581 * input/regression/lyric-tie.ly (texidoc): use vowels for tied
584 * scm/define-markup-commands.scm (tied-lyric): increase negative
585 space: space syllables tighter.
587 * VERSION (PATCH_LEVEL): bump version.
589 * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
592 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
594 * COPYING: further clarification
596 * VERSION: release 2.9.24
598 * input/regression/script-stack-horizontal.ly: add version.
600 * scm/lily-library.scm (list-join): use fold-right. Fixes #112
602 * input/regression/lyric-tie.ly (texidoc): use different words.
604 * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
606 2006-10-15 Erik Sandberg <mandolaerik@gmail.com>
608 * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
609 macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
611 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
613 * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4;
615 * Doxyfile: remove file.
617 * scm/define-grob-interfaces.scm (string-finger-interface): add
618 string-finger-interface
620 * lily/general-scheme.cc (LY_DEFINE): move
621 ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[]
623 * Documentation/topdocs/NEWS.tely (Top): add note for
624 string-finger feature.
626 * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
629 * scm/output-lib.scm (string-finger::calc-text): read 'digit
632 * input/regression/script-stack-horizontal.ly: new file.
634 * ly/engraver-init.ly: add Script_row_engraver.
636 * lily/script-column.cc (order_grobs): refactor: separate axis
638 (row_before_line_breaking): new function.
640 * lily/script-row-engraver.cc (Script_row_engraver): new file.
642 * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
644 2006-10-14 Jürgen Reuter <reuter@ipd.uka.de>
646 * Documentation/user/instrument-notation.itely: Cleanup: Remove
647 annoying skip notes from mensural ligature example. Update
648 @refbugs for ligatures and mensural ligatures.
650 * lily/coherent-ligature-engraver.cc,
651 lily/include/coherent-ligature-engraver.hh,
652 lily/mensural-ligature-engraver.cc,
653 lily/vaticana-ligature-engraver.cc: Revise code for item
654 reparentizing. There should now be less programming_error
657 * lily/mensural-ligature-engraver.cc: Improve placement of dots.
659 * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
660 Maintenance bugfix: Don't create empty Stencil (), but empty box
661 instead. This fix should eliminate some programming_error
664 * ly/engraver-init.ly (MensuralStaff): Set default accidental
667 * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
668 \layout block _before_ score.
670 2006-10-14 Han-Wen Nienhuys <hanwen@lilypond.org>
672 * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
674 * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
676 2006-10-13 Erlend Aasland <erlenda@gmail.com>
678 * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
680 2006-10-13 Han-Wen Nienhuys <hanwen@lilypond.org>
682 * VERSION (PATCH_LEVEL): bump version.
684 * COPYING: clarify exception note.
686 * lily/main.cc: remove remark about "COPYING".
688 * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
689 system-count starts at 0 for each clip-region. Change name to
690 FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
691 layout block, per score.
693 2006-10-13 Erik Sandberg <mandolaerik@gmail.com>
695 * lily/input-smob.cc: add equal_p for Input
697 * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
700 * lily/parser.yy: MY_MAKE_MUSIC sets music origin
702 * lily/prob.cc: Add equal_p predicate for Prob
704 * lily/translator.cc: small cleanup
706 * scm/document-music.cc: use data from translator listener
707 registration to generate documentation for event classes
709 * lily/*: Eliminate accept arg of ADD_TRANSLATOR
711 * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
713 2006-10-13 Jan Nieuwenhuizen <janneke@gnu.org>
715 * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
717 2006-10-12 Jan Nieuwenhuizen <janneke@gnu.org>
719 * Documentation/topdocs/INSTALL.texi: Thinko.
721 * .cvsignore: Update.
723 * lexer-gcc-3.1.sh: Remove.
725 * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
726 Update anonymous cvs access. Remove comment about gcc 3.0.4.
728 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
730 * VERSION: release 2.9.23
732 * lily/paper-column-engraver.cc (stop_translation_timestep): also
735 * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
737 * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
739 * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
741 * input/regression/clip-systems.ly (Notes): new file.
743 * scm/lily.scm (define-scheme-options): add clip-systems option.
745 * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
747 (dump-stencil-as-EPS): move bbox calculation from previous
749 (output-framework): use -dclip-systems
751 * scm/lily-library.scm (filtered-map): new function
753 * scm/framework-ps.scm (clip-system-EPS): new function.
754 (clip-system-EPSes): new function.
756 * lily/paper-column.cc: add rhythmic-location to interface
758 * scm/define-grob-properties.scm (all-user-grob-properties): add
759 rhythmic-location property.
761 * scm/clip-region.scm: new file: rhythmic-location data type and
762 system-clipped-x-extent function.
764 * ly/init.ly: use (scm clip-region)
766 * lily/paper-column-engraver.cc (stop_translation_timestep): set
767 rhythmic-location for paper column grobs.
769 * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
771 2006-10-12 Jürgen Reuter <reuter@ipd.uka.de>
773 * ly/engraver-init.ly: Remove obsolete comment on
776 * Documentation/user/instrument-notation.itely: Tune Ancient
777 Articulations figure, such that the episem actually shows.
779 * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
780 fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
782 * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
785 2006-10-12 Graham Percival <gpermus@gmail.com>
787 * Documentation/user/ {some}: minor edits that were lost somehow.
789 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
791 * VERSION (PACKAGE_NAME): bump version.
793 * input/regression/lyric-tie.ly (texidoc): new file.
795 * Documentation/topdocs/NEWS.tely (Top): add new feature.
797 * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
799 * scm/define-markup-commands.scm (tied-lyric): new function: split
800 string along ~ and reattach with U+203F (tie character) and
803 * scm/output-lib.scm (lyric-text::calc-text): new function.
805 * lily/lyric-engraver.cc (process_music): don't set 'text.
807 * scm/output-lib.scm (string-finger::calc-text): new function
808 (lyric-text::print): new function.
810 * lily/new-fingering-engraver.cc (add_fingering): refactor; make
811 generic for fingering & string number. Use for string-finger.
813 * scm/define-music-types.scm (music-descriptions): add
816 * lily/fingering-engraver.cc (listen_string_finger): new function
818 * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
820 * scm/define-context-properties.scm
821 (all-user-translation-properties): add stringFingerOrientations
823 2006-10-11 Jürgen Reuter <reuter@ipd.uka.de>
825 * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
826 ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
828 * lily/dots.cc: Added style property for dots.
830 * mf/parmesan-heads.mf: Fix typo in comment.
832 * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
833 adding longa head to feta font and removing obsolete default
836 2006-10-10 Han-Wen Nienhuys <hanwen@lilypond.org>
838 * scm/output-lib.scm (fingering::calc-text): use origin
839 event-property, not music-property.
841 * lily/lilypond.rc.in: spell my name correctly.
843 2006-10-10 Joe Neeman <joeneeman@gmail.com>
845 * lily/grob.cc (pure_height): only add minimum-Y-extent if we
846 already have a non-empty extent. Fixes estimation for Hara-kiri
849 2006-10-09 Jürgen Reuter <reuter@ipd.uka.de>
851 * ly/gregorian-init.ly: Simplify definition of \episemInitium and
854 * lily/ligature-engraver.cc: Remove unused #include.
856 * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
857 Bugfix: remove method check_for_prefix_loss(Item *) from global
858 namespace to avoid namespace pollution.
860 2006-10-09 Han-Wen Nienhuys <hanwen@lilypond.org>
862 * VERSION: release 2.9.22
864 * ly/generate-documentation.ly: update option name.
866 * lily/dynamic-text-spanner.cc (print): revert fix.
868 * scm/define-grob-interfaces.scm
869 (trill-pitch-accidental-interface):
870 add trill-pitch-accidental-interface
872 * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
873 dereference if it's really a duration.
875 * lily/figured-bass-engraver.cc (process_music): clear spanner if
876 useBassFigureExtenders is not set.
877 (listen_bass_figure): record as new event if
878 useBassFigureExtenders not set. Fixes #103.
880 * scm/stencil.scm (circle-stencil): don't center stencil argument,
881 instead: move circle. Fixes #107.
883 * scm/define-grobs.scm (all-grob-descriptions): set
884 allow-loose-spacing for PaperColumn and
885 NonMusicalPaperColumn. Kludge for #110.
887 * lily/spaceable-grob.cc: add allow-loose-spacing property.
889 * lily/spacing-determine-loose-columns.cc (is_loose_column):
890 allow-loose-spacing property.
892 * scm/define-markup-commands.scm (postscript): gsave & grestore
893 around embedded PS. Do setlinewidth too. Fixes #109.
895 2006-10-08 Jürgen Reuter <reuter@ipd.uka.de>
897 * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
898 code. This patch fixes ligature brackets that were not at all
901 2006-10-08 Graham Percival <gpermus@gmail.com>
903 * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
905 * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
907 * scm/define-context-properties.scm: clarified docs (bug 91).
909 * Documentation/user/basic-notation.itely: document volta brackets
910 not aligning (bug 63).
912 * Documentation/user/ global.itely invoking.itely: ignore or
913 add warnings about texstr.
915 2006-10-08 John Mandereau <john.mandereau@free.fr>
917 * po/fr.po: update translation.
919 * po/: update msgids.
921 2006-10-08 Jan Nieuwenhuizen <janneke@gnu.org>
923 * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
925 2006-10-08 Nicolas Sceaux <nicolas.sceaux@free.fr>
927 * Documentation/user/page.itely (Two-pass vertical spacing): add
928 documentation for two-pass spacing technique.
930 2006-10-06 Graham Percival <gpermus@gmail.com>
932 * Documentation/user/convert-ly.txt: new file; new
933 storage place for this file (moved from bugs/ CVS).
935 2006-10-06 Jürgen Reuter <reuter@ipd.uka.de>
937 * lily/note-head.cc: Fixed programming_error message.
939 2006-10-06 Han-Wen Nienhuys <hanwen@lilypond.org>
941 * scm/define-grobs.scm (pure-conversion): move pure-callback
944 * scm/script.scm (default-script-alist): set avoid-slur for turn,
945 marcato, stopped, thumb.
947 2006-10-05 Han-Wen Nienhuys <hanwen@lilypond.org>
949 * lily/completion-note-heads-engraver.cc (process_music): don't
950 skimp on memory usage.
952 * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
955 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
956 parenthesis item. This fixes premature Y-extent triggering. Fixes
959 * VERSION (PATCH_LEVEL): bump version.
961 2006-10-04 Graham Percival <gpermus@gmail.com>
963 * Documentation/user/advanced-notation.itely: added
964 info about instrument names for piano or other contexts,
967 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
969 * mf/feta-bolletjes.mf (solfa_quarter_width): use
970 solfa_base_notewidth as unit for non-DO-notes too.
972 * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
974 * VERSION: release 2.9.21
976 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
979 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
981 * python/lilylib.py (progress): Minor fix.
983 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
985 * lily/note-name-engraver.cc: doc engraver.
987 * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
989 * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
991 * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
994 * lily/stem-engraver.cc (make_stem): don't set duration-log
996 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
997 write snippet-names binary.
999 * python/lilylib.py (system): use os.system for mingw32
1001 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1004 * scm/backend-library.scm: update email address.
1006 * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1009 * scm/define-grobs.scm (all-grob-descriptions): use callback to
1012 * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1013 handle dot creation separately.
1015 * lily/tab-note-heads-engraver.cc (process_music): idem.
1017 * lily/drum-note-engraver.cc (process_music): idem.
1019 * lily/note-heads-engraver.cc (process_music): idem.
1021 * lily/rest-engraver.cc: don't set duration-log.
1023 * scm/output-lib.scm (string-number::calc-text): new function.
1024 (note-head::calc-duration-log): new function.
1026 * lily/fingering-engraver.cc (make_script): remove 'text setting.
1028 * scm/output-lib.scm (fingering::calc-text): new function.
1030 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1032 * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1033 and include-eps-font -> include-eps-fonts
1035 2006-10-03 Han-Wen Nienhuys <hanwen@lilypond.org>
1037 * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1039 * lily/timing-translator.cc: list properties.
1040 (start_translation_timestep): update internalBarNumber too.
1042 * scm/define-context-properties.scm
1043 (all-user-translation-properties): add internalBarNumber.
1045 * input/regression/spacing-no-note.ly: new file.
1047 * buildscripts/output-distance.py (link_file): verbosity for OSError.
1049 * lily/book.cc: #include cleanup.
1051 * lily/include/lily-guile-macros.hh: add assert to
1052 scm_or_str2symbol(SCM).
1054 * VERSION (PATCH_LEVEL): bump version.
1056 * lily/spacing-spanner.cc (musical_column_spacing): handle
1057 musical->nonmusical spacing case, where there is no spacing
1058 wish. Fixes issue #61.
1060 * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1061 (pango_item_string_stencil): use logical rect horizontally (to
1062 preserve spaces), ink_rect vertically (for time signatures).
1064 * lily/font-metric.cc (word_stencil): new interface function
1066 * input/regression/utf-8-mixed-text.ly: new file.
1068 * lily/percent-repeat-engraver.cc (listen_percent): remove
1071 * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1072 non-dynamic scripts. Fixes #30.
1074 * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1076 * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1078 * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1079 SCM_UNDEFINED for non-existent data.
1081 * lily/side-position-interface.cc (general_side_position): allow
1082 optional current_offset argument for chaining, so combinations of side-position
1083 and outside slur callback don't add up. Fixes issue #92.
1085 * lily/pango-font.cc (pango_item_string_stencil): use
1086 logical_rect. This prevents spaces after words from disappearing,
1089 * VERSION: release 2.9.20
1091 2006-10-02 Han-Wen Nienhuys <hanwen@lilypond.org>
1093 * scm/define-grob-properties.scm (all-user-grob-properties):
1094 mention stencil as user settable.
1096 2006-10-02 Joe Neeman <joeneeman@gmail.com>
1098 * Documentation/user/page.itely (Page formatting):
1099 document auto-first-page-number
1101 * lily/page-breaking.cc (find_chunks_and_breaks):
1102 * lily/paper-score.cc (calc_breaking): Follow changes to the
1103 Constrained_breaking interface
1105 * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1106 here backwards, as an optimisation
1107 (initialize): new function; move most of the code in resize () here
1108 (combine_demerits): cache ragged_right_
1109 (Constrained_breaking): constructor now takes the Paper_score
1111 2006-10-02 Erik Sandberg <mandolaerik@gmail.com>
1113 * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1114 avoid parser lookahead for 0-ary functions.
1116 * lily/translator.cc: Extract event classes from
1117 IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1119 2006-10-02 Heikki Junes <hjunes@gmail.com>
1121 * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1124 2006-10-01 Nicolas Sceaux <nicolas.sceaux@free.fr>
1126 * scm/layout-page-layout.scm (page-breaking-wrapper): new
1127 function. Call the page breaking function selected in the
1128 `page-breaking' \paper variable, then the post processing function
1129 chosen using the `page-post-process' \paper variable.
1130 (line-height): new function. Return the height of a system.
1131 (line-minimum-position-on-page): new function. Return the position
1132 of a system on page (using the previous line position), only
1133 considering between system padding.
1134 (stretchable-line?): new function. Says whether a line can be
1135 stretched (ie. is not a title nor a single staff system).
1136 (page-maximum-space-left): new function. Computes space left on a
1137 page, when all systems are separated by their padding.
1139 * lily/page-breaking.cc (breaking::make_pages): Move page post
1140 processing function call to page breaking wrapper (common to all
1143 * lily/paper-book.cc (book::pages): call the page breaking
1144 wrapper, instead of the page breaker directly
1146 * ly/paper-defaults.ly: Add \paper variables for page breaking
1147 wrapper and page post processing function. Make
1148 `write-page-layout' value depend on the 'dump-tweaks option. Add a
1149 `system-maximum-stretch-procedure' variable for holding a function
1150 computing the maximum stretch a system allows.
1152 * scm/layout-page-dump.scm (write-page-breaks): computes the
1153 stretch to apply to systems on a page to minimize left
1154 space. Dump this stretch length.
1156 * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1157 the system-stretch property of the tweak data to stretch the
1159 (includePageLayoutFile): Void function which includes the
1160 generated page-layout file if it exists and if the page layout
1161 dumping is not asked.
1162 (scoreTweak): if the score tweak named by the argument exists,
1165 2006-10-01 Joe Neeman <joeneeman@gmail.com>
1167 * lily/page-spacing.cc (compress_lines, uncompress_solution):
1168 handle correctly the case where there are multiple \noPageBreaks
1171 2006-09-30 Laura Conrad <lconrad@laymusic.org>
1173 * abc2ly.py adds segno (S) and Coda (O) to articulations.
1175 * abc2ly.py fix so that entering " -- " will translate to a -- in
1176 the lilypond instead of a " - - "
1178 2006-09-30 Han-Wen Nienhuys <hanwen@lilypond.org>
1180 * lily/align-interface.cc: fix typo
1182 * lily/dynamic-text-spanner.cc (print): Add a special case for
1183 trill spanner right sides.
1185 * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1187 * lily/align-interface.cc (get_extents_aligned_translates): add
1188 support for padding variable.
1190 * lily/break-align-interface.cc (self_align_callback): oops: use
1191 loop variable in guard.
1193 * input/regression/repeat-percent-grace.ly: new file.
1195 * lily/percent-repeat-engraver.cc (start_translation_timestep):
1196 remember first currentCommandColumn of a grace run. Fixes issue 70.
1198 * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1199 move class definition to CC file.
1201 * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1203 * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1204 measure-long repeats.
1206 * flower/include/international.hh: include stdarg.h
1208 2006-09-30 Joe Neeman <joeneeman@gmail.com>
1210 * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1211 put_systems_on_pages to return an empty result, we need to assign
1212 demerits properly in that case.
1213 (put_systems_on_pages): Make the number of pages depend on the
1214 evenness of page_number. Add auto-first-page-number.
1215 (calc_subproblem): ensure that the page-number is even for the
1216 left-hand page. Warn if the first page-turn doesn't fit onto the
1217 first (right-hand) page.
1219 * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1220 (min_page_count): make this publicly accessible
1221 (min_page_count): fix a bug when there are forced page breaks that
1222 was introduced when I made this loop run backwards
1223 (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1224 replace space_systems_on_min_pages with these two. The logic in
1225 space_systems_on_min_pages was getting too convoluted and is better
1226 contained in page-turn-page-breaking.
1228 * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1230 (breakable_column): typo
1232 * lily/source-file.cc (get_line): fix off-by-one error
1233 and clean up some of the logic
1235 2006-09-29 Joe Neeman <joeneeman@gmail.com>
1237 * lily/page-breaking.cc (make_pages): honour the first-page-number
1240 2006-09-27 Han-Wen Nienhuys <hanwen@lilypond.org>
1242 * VERSION (PACKAGE_NAME): bump version.
1244 2006-09-26 Pal Benko <benko.pal@gmail.com>
1246 * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1247 (the latter is the same as petrucci-f which is kept for compatibility)
1249 2006-09-26 Erik Sandberg <mandolaerik@gmail.com>
1251 * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1253 2006-09-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1255 * lily/global-context.cc (run_iterator_on_me): break out of loop
1256 if moment doesn't increase.
1258 * scm/define-grob-properties.scm (all-user-grob-properties): add
1261 * lily/accidental.cc (after_line_breaking): read forced property.
1263 * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1266 * input/regression/accidental-forced-tie.ly: new file.
1268 2006-09-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1270 * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1272 * lily/figured-bass-engraver.cc: only listen to rest events if
1273 ignoreFiguredBassRest is not set.
1275 * scm/define-context-properties.scm
1276 (all-user-translation-properties): add ignoreFiguredBassRest property
1278 2006-09-24 Joe Neeman <joeneeman@gmail.com>
1280 * lily/paper-book.cc (get_system_specs):
1281 (set_system_penalty): fix breakbefore.
1282 We used to set a penalty on the system after the break, now we
1283 set a permission on the system before the break
1285 * lily/grob-property.cc: add scm debugging hooks into
1286 property modification
1288 * lily/context-property.cc:
1290 rename make_foo_from_properties to internal_make_foo and
1291 move it from context-property.cc to a member function of
1294 * lily/include/lily-guile-macros.hh:
1295 overload ly_symbol2scm macro so that there is no more need
1298 * lily/volta-repeat-iterator.cc:
1299 * lily/tweak-engraver.cc:
1300 * lily/tuplet-bracket.cc:
1301 * lily/span-bar-engraver.cc:
1302 * lily/script-engraver.cc:
1303 * lily/prob-scheme.cc:
1304 * lily/pointer-group-interface.cc:
1306 * lily/grob-scheme.cc:
1307 * lily/grob-property.cc:
1309 * lily/context-property.cc:
1310 * lily/break-substitution.cc:
1311 * lily/break-align-engraver.cc:
1312 * lily/axis-group-interface.cc:
1313 * lily/align-interface.cc:
1314 remove calls to internal_FOO
1316 * lily/system-start-delimiter-engraver.cc:
1317 * lily/parenthesis-engraver.cc:
1318 * lily/accidental-engraver.cc:
1319 remove calls to make_foo_from_properties
1321 2006-09-23 Graham Percival <gpermus@gmail.com>
1323 * Documentation/user/programming-iterfaces.itely: fix
1324 def-music-function -> define-music... leftover.
1326 2006-09-23 Joe Neeman <joeneeman@gmail.com>
1328 * lily/page-spacing.cc (min_page_count): by running the loop
1329 backwards, we can calculate ragged_last properly.
1331 2006-09-22 Mats Bengtsson <mabe@drongo.s3.kth.se>
1333 * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1334 printfirst-page-number -> print-first-page-number
1336 * python/convertrules.py: corresponding rule.
1338 * Documentation/user/page.itely (Page formatting): Document the
1339 default values of all page layout parameters.
1341 2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
1343 * lily/lexer.ll: remove limitation on music function arity. New
1344 mode extratoken, which inserts extra EXPECT_* tokens after
1345 MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1347 * lily/parser.yy: Change grammar for music function accordingly.
1349 * lily/include/lily-parser.hh: New method get_state, new member
1350 hidden_state. Works around a problem when parser fetches
1351 MUSIC_FUNCTION token but not the following EXPECT_* token.
1353 * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1356 * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1357 references to Music; use ASSIGN_EVENT_ONCE everywhere
1359 * lily/grob-info.cc: junk *music_cause
1361 * lily/music.cc: copy eventified articulations to stream event
1363 * lily/part-combine-iterator.cc: Cleanup using enums
1365 * lily/translator-group.cc: Junk OldMusicEvent, and associated
1368 * lily/include/engraver.hh: Junk music.hh include
1370 * lily/stream-event.cc: Changed constructors
1372 2006-09-21 Graham Percival <gpermus@gmail.com>
1374 * Documentation/user/tweaks.itely (Fitting music onto fewer
1375 pages): change settings to avoid warning messages.
1377 2006-09-21 Mats Bengtsson <mabe@drongo.s3.kth.se>
1379 * Documentation/user/tweaks.itely (Fitting music onto fewer
1380 pages): Add between-system-space setting.
1382 2006-09-21 Han-Wen Nienhuys <hanwen@lilypond.org>
1384 * lily/accidental-placement.cc (calc_positioning_done): don't
1385 trigger Y-extent calculation too early. Use pure_height instead.
1387 * lily/scale.cc (LY_DEFINE): new file.
1389 2006-09-20 Joe Neeman <joeneeman@gmail.com>
1391 * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1392 that happen at the start of a score: having a zero-length
1393 chunk was messing up min_system_count calculations.
1395 * lily/source-file.cc (get_line): lower_bound, not
1396 binary_search. Fixes problem where point-and-click would
1397 always point to the first line.
1399 2006-09-20 Han-Wen Nienhuys <hanwen@lilypond.org>
1401 * lily/accidental-placement.cc (calc_positioning_done): also put
1402 stems into accidental support.
1404 * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1407 * scm/script.scm (default-script-alist): avoid-slur and
1408 slur-padding for portato script.
1410 * lily/stem-tremolo.cc (translated_stencil): new function.
1411 (height): use new function. Fixes tremolos on whole notes.
1413 * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1416 2006-09-19 Han-Wen Nienhuys <hanwen@lilypond.org>
1418 * scripts/abc2ly.py (try_parse_comment): idem.
1420 * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1421 bar_string iso. string.find()
1425 * lily/slur.cc (get_curve): always use scm_is_pair() looping
1428 2006-09-18 Graham Percival <gpermus@gmail.com>
1430 * Documentation/user/basic-notation.itely: add bug
1431 warning about ties and octavation/clef.
1433 2006-09-18 Han-Wen Nienhuys <hanwen@lilypond.org>
1435 * VERSION (PACKAGE_NAME): release 2.9.18
1437 2006-08-29 Milan Zamazal <pdm@brailcom.org>
1439 * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1440 figure out midi file names right here.
1442 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1444 * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1446 * scm/backend-library.scm: option naming: gs-font-load*s*
1448 * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1451 2006-09-17 Joe Neeman <joeneeman@gmail.com>
1453 * scm/define-music-types.scm (music-descriptions): remove
1454 BreakEvent and fix {Page,Line}{Break,Turn}Event so
1455 Music::to_event doesn't complain.
1457 * lily/accidental-placement.cc (ape_compare):
1458 * lily/semi-tie.cc (compare):
1459 * lily/note-column.cc (shift_compare): replace by XXX_less
1461 * lily/tie-formatting-problem.cc (set_chord_outline):
1462 * lily/tie-column.cc (calc_positioning_done):
1463 * lily/system.cc (post_processing)
1465 * lily/stem.cc (note_head_positions)
1466 (calc_positioning_done):
1467 * lily/spanner.cc (do_break_processing)
1468 (find_broken_piece):
1469 * lily/span-bar.cc (print):
1470 * lily/semi-tie-column.cc (calc_positioning_done):
1471 * lily/rest-collision.cc (calc_positioning_done):
1472 * lily/program-option.cc (get_help_string):
1473 * lily/note-collision.cc (get_clash_groups):
1474 * lily/new-fingering-engraver.cc (position_scripts):
1475 * lily/keyword.cc (Keyword_table):
1476 * lily/hara-kiri-group-spanner.cc (request_suicide):
1477 * lily/grob-pq-engraver.cc (stop_translation_timestep):
1478 * lily/accidental-placement.cc (calc_positioning_done):
1480 * lily/beam.cc (get_beam_segments):
1481 * lily/grob-array.cc (remove_duplicates):
1484 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1485 ragged-last-bottom = ##f (test the new page breaker)
1487 * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1489 * scm/define-context-properties.scm
1490 (all-internal-translation-properties): remove properties that
1491 were used to communicate page-turn stuff to the paper-column
1494 * lily/lily-guile.cc (robust_scm2string): new function
1496 * lily/paper-column-engraver.cc: Clean up page turn stuff
1498 * lily/page-turn-engraver.cc: Re-write the page turn logic here
1499 instead of cluttering up paper-column-engraver.cc
1501 2006-09-17 Nicolas Sceaux <nicolas.sceaux@free.fr>
1503 * scm/layout-page-dump.scm (scm): export utility function names,
1504 to allow user writing cutsom dumping functions.
1506 * scm/layout-page-layout.scm: export utility function names to
1507 enable custom page breaking function writing. Tabify.
1508 (line-next-space): use ?-suffix only for predicates
1509 (page-maximum-space-to-fill): new function. Return the space
1510 between first and bottom system of a page, to give to
1512 (space-systems): use a space-to-fill argument (for instance as
1513 computed by page-maximum-space-to-fill) instead of computing
1514 internaly this space with the page height. That way, the caller
1515 can adjust the space to use.
1516 (make-page-from-systems, walk-paths): compute space to fill before
1517 calling space-systems.
1519 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1521 * scm/script.scm (default-script-alist): set paddings for every
1522 type here, increase for portato mark.
1524 * scm/lily.scm (define-scheme-options): typo: add s, so it is
1527 2006-09-16 Han-Wen Nienhuys <hanwen@lilypond.org>
1529 * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1530 use spanner::set-spacing-rods
1532 * lily/note-column.cc: reformat.
1534 * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1535 step positioning for note/rest combinations.
1537 * input/regression/rest-note-collision.ly: new file.
1539 * scm/define-grobs.scm (all-grob-descriptions): add
1542 * flower/include/std-vector.hh: switch off again.
1544 * VERSION (PATCH_LEVEL): bump to 2.9.18
1546 * flower/include/std-string.hh: idem.
1548 * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1550 2006-09-15 Mats Bengtsson <mabe@drongo.s3.kth.se>
1552 * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1555 2006-09-08 Joe Neeman <joeneeman@gmail.com>
1557 * Documentation/user/page.itely: update page breaking documentation
1559 2006-09-07 Han-Wen Nienhuys <hanwen@lilypond.org>
1561 * lily/note-collision.cc (calc_positioning_done): only access
1562 first head if available.
1564 * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1566 * scm/framework-ps.scm (output-preview-framework): use new name.
1568 * lily/program-option.cc (internal_set_option): use new names.
1570 * Documentation/user/SConscript (lilypond_book_flags): update -d
1573 * Documentation/user/lilypond-book.itely (Inserting LilyPond
1574 output into other programs): new variable names.
1576 * scm/lily.scm (define-scheme-options): uniformize var names.
1578 * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1579 tuplets_ is non-empty before popping.
1581 2006-09-07 Joe Neeman <joeneeman@gmail.com>
1583 * lily/spanner.cc (find_broken_piece):
1584 * lily/spacing-spanner.cc (get_columns):
1585 * lily/source-file.cc (get_line):
1586 * lily/simple-spacer.cc (get_column_description):
1587 * lily/keyword.cc (lookup):
1588 use the new binary search.
1590 * flower/include/std-vector.hh: replace binary_search with
1591 a more STL-like version
1593 2006-09-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1595 * lily/tie-performer.cc: remove unused last_event_ property.
1596 (class Tie_performer): add now_tied_heads_ property for
1597 partially-tied heads.
1598 (acknowledge_audio_element): when adding an Audio_note, put the
1599 note in now_tied_heads_ if the audio note is partially tied.
1600 (stop_translation_timestep): always include entries in
1601 now_tied_heads_ in heads_to_tie_.
1603 * lily/drum-note-performer.cc (process_music): look for tie-events
1604 in the articulations; pass to Audio_note constructor.
1606 * lily/note-performer.cc (process_music): look for tie-events in
1607 the articulations; pass to Audio_note constructor.
1609 * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1612 * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1613 include initializer in constructor.
1615 2006-09-02 Joe Neeman <joeneeman@gmail.com>
1617 * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1618 unless they are breakable. This fixes discrepancies between the forces
1619 calculated here and the forces calculated in get_line_configuration.
1621 * lily/grob.cc (pure_relative_y_coordinate): fix some
1622 mis-estimation that was happening with piano staves.
1624 * lily/constrained-breaking.cc (resize): don't choke if we get a
1625 measure that won't fit on a line.
1626 (combine_demerits): don't consider uniformity when ragged
1628 * lily/page-spacing.cc (solve): why the f* were there two of these?
1629 (calc_subproblem): properly handle the case where a system is taller
1632 * lily/system.cc (get_paper_system): ensure that all the permissions
1633 and penalties are passed to the paper systems.
1635 * lily/page-breaking.cc (create_system_list): support system-count.
1637 * scm/define-grobs.scm (pure-print-callbacks): add
1638 ly:script-interface::print
1640 * lily/page-spacing.cc (min_page_count): fix calculation of min
1641 pages if we are ragged and there are non-zero springs.
1643 * scm/layout-page-layout.scm: if the pure-height estimates are under
1644 the real height, allow space-systems to ignore padding if it is
1645 needed in order to fit the systems on one page
1647 * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
1649 (solve): fix performance problem. Make sure we always get at least
1652 * lily/page-breaking.cc (make_pages): include write-page-breaks
1655 * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
1657 * scm/define-grobs.scm: add the new slur-callback
1658 fix pure-relevant to not exclude grobs whose extent is already
1661 * ly/paper-defaults.ly: make ly:optimal-breaking the new default
1664 * lily/slur.cc (pure_height): new callback to estimate the height
1667 2006-09-02 Graham Percival <gpermus@gmail.com>
1669 * Documentation/user/invoking.itely: small update on
1670 MacOS X notes; thanks Trevor!
1672 2006-09-01 Han-Wen Nienhuys <hanwen@lilypond.org>
1674 * VERSION (MY_PATCH_LEVEL): release 2.9.17
1676 * lily/lexer.ll: accept EOF in all states.
1678 * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
1680 * lily/source-file.cc (Source_file): always 0-terminate character
1681 array, to prevent Flex from barfing.
1683 * lily/global-context.cc (get_output): robustness: don't crash if
1684 no Score context found.
1686 * lily/include/book.hh (class Book): idem.
1688 * lily/include/context-def.hh (struct Context_def): idem.
1690 * lily/include/score.hh (class Score): don't derive from Input.
1692 * lily/book.cc (Book): add a copy ctor.
1694 * buildscripts/output-distance.py (FileLink.calc_distance): count
1695 orphans in distance too.
1697 * python/midi.c (midi_parse_track): robustness: don't read past
1700 * ly/performer-init.ly: add Control_track_performer, move
1701 Tempo_performer and Time_signature_performer to Score.
1703 * lily/score-performer.cc (acknowledge_audio_elements): override
1704 from base class: add to audio-columns
1706 * lily/control-track-performer.cc (add_text): new file: generate
1709 * lily/performance.cc: move output_header_track to
1710 Control_track_performer ()
1712 * lily/midi-walker.cc (Midi_walker): get channel in constructor.
1714 * lily/include/midi-item.hh (class Midi_channel_item): insert
1715 class into hierarchy, for items that can have a channel setting. Dehungarify.
1717 * lily/include/performer.hh (class Performer): remove
1718 play_element(); move functionality into announce/acknowledge.
1720 * lily/audio-staff.cc (output): remove channel_ from Midi_track.
1722 * lily/tie-engraver.cc (stop_translation_timestep): only wipe
1723 heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties.
1725 2006-08-28 Han-Wen Nienhuys <hanwen@lilypond.org>
1727 * lily/tie-engraver.cc (stop_translation_timestep): robustness for
1730 * lily/all-font-metrics.cc: remove TFM support.
1732 * lily/include/tfm.hh: remove TFM support, TFM reader.
1734 * lily/include/binary-source-file.hh: remove Binary_source_file.
1736 2006-08-27 Graham Percival <gpermus@gmail.com>
1738 * Documentation/topdocs/NEWS.itely: add @c marker for
1739 stuff I've processed.
1741 * Documentation/user/ various: info from NEWS.
1743 2006-08-27 Joe Neeman <joeneeman@gmail.com>
1745 * lily/paper-column-engraver.cc (finalize): Oops, this change
1746 should have gone in on 2006-08-23
1748 2006-08-26 Mats Bengtsson <mabe@s3.kth.se>
1750 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
1751 quotes to quote arguments. Fixes Windows problem.
1753 * python/lilylib.py (progress): idem
1755 2006-08-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1757 * scripts/musicxml2ly.py: fix for importing
1758 minor key signatures from MusicXML. (Phillip Kirlin)
1760 2006-08-24 Phillip Kirlin <pkirlin@acm.org>
1762 * python/musicxml.py:
1763 (Attributes.get_key_signature): now correctly retrieves mode from
1766 2006-08-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1768 * lily/parser.yy (output_def_body): take ownership of identifier
1771 * Documentation/user/advanced-notation.itely (Metronome marks):
1772 update use of \tempo in \midi.
1774 * VERSION: release 2.9.16
1776 2006-08-24 Erik Sandberg <mandolaerik@gmail.com>
1778 * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
1781 2006-08-24 Han-Wen Nienhuys <hanwen@lilypond.org>
1783 * input/regression/tie-chord-partial.ly: clarify example.
1785 * scm/define-music-properties.scm (all-music-properties): remove
1788 * ly/music-functions-init.ly: remove \untied.
1790 * lily/tie-engraver.cc (struct Head_event_tuple): store both
1791 stream events and music events.
1792 (stop_translation_timestep): search acknowledged heads for
1795 * input/regression/tie-chord-partial.ly: new file.
1797 * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
1798 for \char markup command.
1800 * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
1802 * scm/define-music-types.scm (music-descriptions): consistency:
1803 Use solo-{one,two}-event iso. solo-[12]-event.
1805 * lily/part-combine-engraver.cc (process_music):
1806 Use solo-{one,two}-event iso. solo-[12]-event.
1808 * ly/declarations-init.ly (partCombineListener): add Timing as
1811 * flower/std-string.cc (string_copy): use copy ()
1813 * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
1815 2006-08-24 Graham Percival <gpermus@gmail.com>
1817 * Documentation/user/changing-defaults.itely, global.itely,
1818 lilypond-book.itely, page.itely: minor changes from mailist.
1820 2006-08-23 Han-Wen Nienhuys <hanwen@lilypond.org>
1822 * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
1825 * scm/define-context-properties.scm
1826 (translator-property-description): robustness: detect type errors
1827 in property definitions.
1829 * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
1830 after getting it from SCM.
1832 * lily/smobs.cc (protect_smob): switch off fancy smob protection
1835 * lily/include/performer.hh (class Performer): strip get_tempo()
1838 * lily/midi-def.cc: strip file.
1840 * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
1842 * lily/include/context-def.hh (struct Context_def): use
1843 VIRTUAL_COPY_CONSTRUCTOR().
1845 * lily/source-file.cc: smobification.
1847 * lily/include/source-file.hh (class Source_file): smobify
1848 Source_file. Trim redundant members.
1850 * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
1851 clones after creation. This plugs a huge memory leak.
1853 * python/convertrules.py (FatalConversionError.sub_tempo):
1854 complete rule for \midi{ \tempo }
1856 * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
1858 * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
1860 2006-08-23 Joe Neeman <joeneeman@gmail.com>
1862 * input/regression/optimal-page-breaking-hstretch.ly: test for
1863 ragged-last-bottom also
1865 * lily/paper-column-engraver.cc (finalize): make the end of a score
1866 breakable by default. This is to balance out a change in behaviour
1867 of the page-turn-breaker which no longer makes the end of a score
1870 * lily/paper-book.cc (pages): set the systems_ once the pages are
1873 * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
1874 Page_breaking interface.
1876 * lily/page-breaking.cc (class Page_breaking): make the interface
1877 more consistent and provide abstractions for dealing with
1880 * lily/optimal-page-breaking.cc (solve): use a more straightforward
1881 algorithm. Use the new interface to Page_breaking.
1883 * lily/page-spacing.cc: better support for ragged-bottom and
1886 2006-08-22 Han-Wen Nienhuys <hanwen@lilypond.org>
1888 * python/convertrules.py (conv): warning on \tempo{}
1890 * ly/performer-init.ly: set tempoWholesPerMinute.
1892 * ly/midi-init.ly: remove \midi
1894 * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
1897 * lily/metronome-engraver.cc (process_music): use tempoUnitCount
1898 tempoUnitDuration for determining what to print.
1900 * lily/lyric-extender.cc: typo.
1902 * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
1904 * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
1907 * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
1909 * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
1910 eps-pad-boxes is set.
1912 * scripts/lilypond-book.py (main): use -deps-pad-boxes.
1914 * THANKS: update sponsors.
1916 * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
1918 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
1920 * input/regression/tie-chord-untied.ly: new file.
1922 * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
1924 * scm/define-music-properties.scm (all-music-properties): add
1927 * buildscripts/mutopia-index.py (allfiles): look for .ly rather
1929 (headertext_nopics): sanitize no-examples text.
1931 * scm/page.scm (make-page-stencil): don't rely on extents of
1932 page-stencil. This fixes spurious space around .EPS files produced
1933 with the EPS backend.
1935 2006-08-21 Han-Wen Nienhuys <hanwen@lilypond.org>
1937 * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
1939 * lily/hara-kiri-engraver.cc (process_music): remember
1940 keepAliveInterfaces after processing \set
1942 * lily/lyric-extender.cc (print): support left/right-padding for
1945 * scm/documentation-generate.scm (string-append): revert lilypond/
1948 2006-08-20 Graham Percival <gpermus@gmail.com>
1950 * Documentation/user/lilypond.tely: clarification to
1951 license presentation (not to actual license).
1953 * Documentation/user/basic-notation.itely,
1954 instrument-notation.itely: minor changes.
1956 * input/ {regression, test}/+.ly: clarification to
1957 text (you can click on examples). Thanks, Mats!
1959 * input/manual/bar-lines.ly: adds ||: repeats.
1961 2006-08-20 Han-Wen Nienhuys <hanwen@lilypond.org>
1963 * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES
1965 * scm/documentation-lib.scm (texi-file-head): category LilyPond.
1967 * Documentation/user/lilypond.tely: strip lilypond/ from info
1968 links, rename to category LilyPond
1970 * lily/pango-font.cc (description_string): new function.
1972 * VERSION: release 2.9.15
1974 * lily/spacing-engraver.cc (stop_translation_timestep): use
1975 Dscho's fix for spacing spanner.
1977 * scm/define-music-types.scm (music-descriptions): use
1978 apply-output-event for ApplyOutputEvent
1980 * lily/output-property-engraver.cc (listen_apply_output): rename
1981 from listen_layout_instruction.
1983 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
1986 2006-08-19 Han-Wen Nienhuys <hanwen@lilypond.org>
1988 * scm/lily.scm (lilypond-all): option read-file-list: substitute
1989 commandline args with contains, split by \n.
1991 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1992 write snippet-names file, call with -dread-file-list. Fixes
1993 command limitations on 64-bit systems.
1995 * input/regression/stencil-color-rotation.ly: new file.
1997 * lily/include/translator.hh (struct Acknowledge_information):
1998 revert: don't use Protected_scm in global objects, as GUILE can't
1999 handle gc_unprotect from automated destructors on MacOS X.
2001 * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2002 color, not the original stencil. Fixes combinations of
2003 color/transparency/rotation.
2005 * scripts/lilypond-book.py (main): add --formats=eps for
2008 * lily/spacing-engraver.cc (stop_translation_timestep): don't
2009 crash if spacing_ is nonexistent.
2011 2006-08-14 Mats Bengtsson <mabe@s3.kth.se>
2013 * scripts/lilypond-book.py (output): Remove obsolete(!?)
2014 \catcode`\@=12 in the LaTeX output.
2016 2006-08-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2018 * scm/define-music-types.scm (music-descriptions):
2019 use sustain-event iso. sustain-pedal-event.
2021 2006-08-11 Joe Neeman <joeneeman@gmail.com>
2023 * scripts/convert-ly.py: honour the -n command-line switch
2025 2006-08-10 Han-Wen Nienhuys <hanwen@lilypond.org>
2027 * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2028 break specification.
2030 2006-08-10 Joe Neeman <joeneeman@gmail.com>
2032 * Documentation/user: convert-ly the user manual
2034 2006-08-09 Han-Wen Nienhuys <hanwen@lilypond.org>
2036 * stepmake/aclocal.m4: version check patch (thanks MWD)
2038 * ly/music-functions-init.ly: robustness. Don't crash if
2039 currentBarNumber is not a number.
2041 * VERSION (PATCH_LEVEL): bump.
2043 2006-08-08 Han-Wen Nienhuys <hanwen@lilypond.org>
2045 * stepmake/aclocal.m4: better version check; handle fooX.Y
2048 * ly/performer-init.ly: instrument name fixup.
2050 * input/manual/chord-names-jazz.ly (banterProperties):
2051 instrumentName update
2053 * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2055 * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2057 * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2058 function. Use hash tables to check membership.
2060 * lily/general-scheme.cc (LY_DEFINE): new function.
2062 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2064 * lily/include/translator.hh (struct Acknowledge_information): add
2067 * ly/music-functions-init.ly: change name to BreathingEvent
2069 * input/regression/*.ly: apply it.
2071 * python/convertrules.py (conv): better instrumentName conversion
2074 * scm/define-music-types.scm (music-descriptions): add
2075 line-break-event to LineBreakEvent music
2077 * lily/music.cc (to_event): don't crash if music type not set.
2079 * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2082 * lily/spacing-engraver.cc (stop_translation_timestep): set
2083 spacing for proportional notation too.
2085 * scm/translation-functions.scm (format-bass-figure): inspect
2088 * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2090 2006-08-08 Joe Neeman <joeneeman@gmail.com>
2092 * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2094 * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2096 * scm/layout-page-layout.scm (make-page-from-systems): new function
2097 (optimal-page-breaks): use the new page-breaking calling convention
2099 * scm/define-context-properties.scm (all-user-translation-properties):
2102 * lily/paper-column-engraver.cc (stop_translation_timestep): add
2103 revokePageTurns functionality. If there is a special barline within
2104 the breakable region, break there instead of at the end of the region.
2106 * lily/paper-book.cc (pages): use the new page-breaking calling
2109 2006-08-07 Erik Sandberg <mandolaerik@gmail.com>
2111 * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2113 * scripts/lilypond-book.py: insert \sourcefileline command in
2114 output, so lilypond error messages refer to the spot in the
2115 original .lytex / .itely sourcefile.
2117 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2119 * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2120 space to next column for distance to fixed col.
2122 * VERSION (PACKAGE_NAME): release 2.9.14
2124 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2127 * lily/accidental-engraver.cc (process_acknowledged): don't create
2128 accidental for trill span event. This fixes spurious accidentals
2131 2006-08-04 Mats Bengtsson <mabe@s3.kth.se>
2133 * scm/define-grob-properties.scm (all-user-grob-properties):
2134 Clarify documentation of side-axis and direction. Thanks to Paul
2135 for the inspiration.
2137 * lily/bar-line.cc: Add documentation for "||:" also in the
2138 interface documentation.
2140 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2142 * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2144 * lily/paper-column.cc (set_system): new function.
2146 * lily/spacing-engraver.cc (stop_translation_timestep): store
2147 SpacingSpanner refs in Paper_column.
2149 * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2150 compute loose clique spacing using GraceSpacing/SpacingSpanner.
2152 2006-08-03 Han-Wen Nienhuys <hanwen@lilypond.org>
2154 * lily/beam-engraver.cc (listen_beam): add method for
2155 Grace_beam_engraver too.
2157 2006-08-03 Mats Bengtsson <mabe@s3.kth.se>
2159 * python/convertrules.py: Fix indentation bug that broke
2160 conversion of files older than 1.3.117.
2161 Fix escape error in the description for 2.9.6.
2163 2006-08-02 Erik Sandberg <mandolaerik@gmail.com>
2165 * lily/*-engraver.cc: convert all try_music functions to listen_*
2168 * lily/piano-pedal-engraver.cc: some additional cleanups: use
2169 enums to represent pedal types, and calculate more data statically.
2171 * scm/part-combiner.scm (recording-group-emulate): create a
2172 softcoded substitute for recording-group-engraver.cc.
2174 * lily/music.cc: make a common transpose function for events and
2177 * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2178 ManualMelismaEvent, and obsoletes Melisma_translator.
2180 2006-08-02 Han-Wen Nienhuys <hanwen@lilypond.org>
2182 * input/test/instrument-name-align.ly: update version.
2184 2006-08-02 Mats Bengtsson <mabe@s3.kth.se>
2186 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2187 Doc the --pdf flag to lilypond-book.
2189 2006-07-31 Han-Wen Nienhuys <hanwen@lilypond.org>
2191 * Documentation/topdocs/NEWS.tely (Top): add description.
2193 * input/regression/tuplet-full-length-note.ly: add file.
2195 * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2196 always store axis group.
2198 2006-07-27 Han-Wen Nienhuys <hanwen@lilypond.org>
2200 * input/regression/instrument-switch.ly: new file.
2202 * lily/instrument-switch-engraver.cc (process_music): new file.
2204 * ly/engraver-init.ly: add Instrument_switch_engraver
2206 * ly/music-functions-init.ly: \instrumentSwitch
2208 * scm/define-context-properties.scm
2209 (all-user-translation-properties): add instrumentCueName
2211 * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2213 2006-07-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2215 * ly/music-functions-init.ly: music function \transposition.
2217 * lily/parser.yy (command_element): softcode \transposition.
2219 * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2220 (process_music): oops.
2222 * lily/instrument-name-engraver.cc (start_spanner): new
2223 function. Create spanner when property changes.
2224 (stop_spanner): new function.
2226 * python/convertrules.py (conv): add rule.
2228 * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2229 shortInstrumentName iso. instr.
2231 * scm/output-ps.scm (dashed-line): add phase argument to
2234 * lily/bar-line.cc (dashed_bar_line): new function.
2235 (compound_barline): support \bar "dashed".
2237 * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2238 --output=DIR to DIR/BASE if it is a dir.
2240 * flower/file-name.cc (file_part): new function
2241 (dir_part): new function
2243 * lily/lily-parser-scheme.cc (LY_DEFINE):
2245 * DEDICATION: update
2247 2006-07-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2249 * lily/instrument-name-engraver.cc: formatting.
2251 * python/convertrules.py (conv): bugfix for \epsfile.
2253 2006-07-25 Joe Neeman <joeneeman@gmail.com>
2257 * lily/gourlay-breaking.cc: Oops, these should have been included
2260 2006-07-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2262 * scripts/*.py (program_name): cleanup relocation snippets.
2264 * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2266 2006-07-24 Joe Neeman <joeneeman@gmail.com>
2268 * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2269 page-breakable by default
2271 * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2272 correctly calculated for a single-system page
2274 * scm/lily-library.scm (interval-sane?): also check that the first number is no
2275 bigger than the second number
2277 * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2278 acknowledge that we aren't satisfying constraints)
2280 * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2283 * lily/grob.cc (pure_height): add minimum-Y-extent
2285 * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2288 * lily/constrained-breaking.cc: convert code to use new Matrix class
2289 (get_best_solution): new function
2291 * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2292 is a page with no systems
2294 2006-07-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2296 * VERSION (PACKAGE_NAME): release 2.9.13
2298 * scm/define-grobs.scm (all-grob-descriptions): remove stray
2301 2006-07-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2303 * Documentation/topdocs/NEWS.tely (Top): doc new features.
2305 * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2308 * scm/define-grob-properties.scm (all-user-grob-properties):
2309 remove grace-space-factor.
2311 * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2312 grace-spacing-interface
2313 (spacing-options-interface): add.
2315 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2317 * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2319 * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2320 GraceSpacing object.
2322 * lily/note-spacing.cc: fix prop list formatting
2324 * lily/beaming-pattern.cc (de_grace): new function. Sensible
2325 beaming for grace notes too.
2327 * input/regression/spacing-grace.ly: update.
2329 * lily/grace-spacing-engraver.cc: new file.
2331 * lily/spacing-spanner.cc: add strict-grace-spacing.
2333 2006-07-20 Graham Percival <gpermus@gmail.com>
2335 * lily/parser.yy: compile fix.
2337 2006-07-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2339 * scm/define-grobs.scm (all-grob-descriptions): typo.
2341 * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2342 .eps extension from includegraphics.
2344 * scripts/lilypond-book.py (main): add support for --pdf.
2346 * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2347 callback to compute common shortest duration.
2348 (set_springs): typo.
2350 * scm/define-grob-properties.scm (all-user-grob-properties): add
2351 strict-grace-spacing.
2353 * lily/spacing-determine-loose-columns.cc (is_loose_column):
2354 support float_grace_columns_.
2356 * lily/spacing-options.cc (init_from_grob): new file.
2358 * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2360 * input/regression/spacing-loose-grace.ly: new file.
2362 * Documentation/topdocs/NEWS.tely (Top): document new feature.
2364 * lily/tuplet-engraver.cc (struct Tuplet_description): read
2365 tupletFullLengthNote too. Choose right bound depending on value.
2367 * input/regression/tuplet-full-length-note.ly: new file.
2369 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2371 * lily/*-performer.cc: Converted try_music to listen_*
2373 * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2374 as a stream-event internally. Introduce event_cause (), deprecate
2377 * scm/define-music-types.scm: Removed BusyPlayingEvent
2379 2006-07-19 Mats Bengtsson <mabe@s3.kth.se>
2381 * Documentation/user/advanced-notation.itely (Font selection):
2382 Document how to get a list of available fonts using 'lilypond
2383 -dshow-available-fonts blabla'.
2385 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2387 * GNUmakefile.in: filter lily-XXX.pdf files.
2389 * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2391 * scm/define-grob-properties.scm (all-internal-grob-properties):
2392 remove delta-pitch. Use delta-position everywhere.
2394 * scm/output-lib.scm (fall::print): use new order.
2396 * scm/output-ps.scm (path): reorder arguments.
2398 * scm/output-svg.scm (path): support for path primitive.
2400 * input/regression/bend-after.ly: new file.
2402 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2403 recipe for eps -> pdf conversion.
2405 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2407 * lily/parser.yy, lily/lexer.ll: added some simplifications by
2410 2006-07-19 Graham Percival <gpermus@gmail.com>
2412 * input/manual/screech-boink.ly: moved to here.
2414 * input/screech-boink.ly: deleted.
2416 * scm/define-grob-properties.scm: clarify doc string.
2418 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2420 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2422 * scm/output-ps.scm (path): define path.
2424 * scm/define-stencil-commands.scm
2425 (ly:register-stencil-expression): add path.
2427 * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2429 * ly/engraver-init.ly: add Fall_engraver
2431 * lily/parser.yy (music_function_event): allow musicfunction
2432 without music arg as music_function_event.
2434 * lily/grob-scheme.cc (LY_DEFINE):
2435 ly:grob-robust-relative-extent. New function.
2437 * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2439 * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2441 * scm/output-lib.scm (fall::print): new function
2443 * lily/fall-engraver.cc (stop_fall): new file.
2445 * ly/music-functions-init.ly: alphabetise.
2447 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2450 2006-07-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2452 * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2454 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2457 * lily/translator-group.cc (connect_to_context): non const error message.
2459 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2461 * scm/paper.scm (internal-set-paper-size): define landscape to #f
2464 * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape.
2466 * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2468 * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2471 * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2473 * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2475 * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2477 * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2479 * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2481 * scm/backend-library.scm (postscript->pdf): strip .eps too.
2483 2006-07-14 Nicolas Sceaux <nicolas.sceaux@free.fr>
2485 * scm/layout-page-layout.scm: Define module, tidy code, use more
2486 functions iso. a single big one.
2488 * scm/layout-page-dump.scm: move page dump functions used in two
2489 pass spacing to this file. Define module.
2491 * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2494 * ly/paper-defaults.ly: use module layout-page-layout.
2496 2006-07-14 Erik Sandberg <mandolaerik@gmail.com>
2498 * lily/music.cc: Revised MusicEvent event class. It now contains
2499 event data directly instead of encapsulating it in music. The
2500 previously used class is renamed to OldMusicEvent.
2502 * lily/stream-event.cc: Stream events are now probs.
2504 * lily/translator-group.cc, lily/translator.cc: Translators can
2505 now listen directly to stream events, by using macros
2506 [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2508 * lily/arpeggio-engraver.cc: Converted to use new event system
2510 * THANKS: Corrected spelling mistake.
2512 2006-07-12 Graham Percival <gpermus@gmail.com>
2514 * Documentation/user/SConscript, make/lilypond-vars.make,
2515 input/GNUmakefile: doc build looks in input/manual instead
2518 * input/manual/ GNUmakefile, SConscript: build files for
2521 * input/test/ various: some files moved to input/manual/
2523 * Documentation/user/basic-notation.itely: small updates;
2524 thanks Kieren and Charles!
2526 2006-07-12 Han-Wen Nienhuys <hanwen@lilypond.org>
2528 * VERSION (PACKAGE_NAME): release 2.9.11
2530 * Documentation/topdocs/NEWS.tely (Top): update prop value
2532 * Documentation/user/basic-notation.itely (Tuplets): new property
2535 2006-07-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2537 * python/convertrules.py (conv): tweaks.
2539 * VERSION (PATCH_LEVEL): bump version.
2541 * python/convertrules.py (conv): add rule for
2542 tupletNumberFormatFunction.
2544 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2545 tupletNumberFormatFunction.
2547 * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2548 text through 'text callback.
2550 * lily/time-scaled-music-iterator.cc (construct_children): copy
2551 tweaks generated events.
2553 * scm/define-context-properties.scm
2554 (all-user-translation-properties): remove tupletNumberFormatFunction
2556 * lily/tuplet-engraver.cc (process_music): don't read
2557 tupletNumberFormatFunction
2559 * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2562 2006-07-11 Erik Sandberg <mandolaerik@gmail.com>
2564 * lily/global-context-scheme.cc: Separated ly:run-translator into
2567 * lily/score-engraver.cc, lily/score-performer.cc,
2568 scm/define-context-properties.scm: Make paper/midi output
2569 accessable as a context property.
2571 * lily/score-translator.cc, lily/score-context.cc: Removed.
2573 2006-07-07 Guido Amoruso <guidonte@katamail.com>
2575 * scm/ps-to-png.scm (Module):
2576 * scm/framework-tex.scm (Module):
2577 * scm/framework-ps.scm (Module):
2578 * scm/backend-library.scm (Module):
2579 * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2580 "dDEVICEHEIGHTPOINTS".
2582 2006-07-04 Graham Percival <gpermus@gmail.com>
2584 * Documentation/user/ various: general improvements to
2585 "working with lilypond files" section.
2587 2006-07-03 Erik Sandberg <mandolaerik@gmail.com>
2589 * lily/sequential-iterator.cc: Change the default get_music_list
2590 to read elements-callback music property
2592 * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2593 processing of multimeasure rests. Softcoded
2594 sequential-music-iterator.
2596 * lily/sequential-music-iterator.cc: Removed.
2598 2006-06-28 Graham Percival <gpermus@gmail.com>
2600 * Documentation/user/basic-notation.itely: clarify \repeatTie.
2602 2006-06-27 Erik Sandberg <mandolaerik@gmail.com>
2604 * lily/parser.yy: Wrap non-post-events in EventChords before
2605 assigning them to identifiers.
2607 2006-06-27 Mats Bengtsson <mabe@s3.kth.se>
2609 * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2610 gives correct vertical placement of \bar ":" in all staff
2611 sizes. Thanks Martial!
2613 2006-06-26 Graham Percival <gpermus@gmail.com>
2615 * Documentation/user/invoking.itely : minor update from mailist.
2617 2006-06-26 Erik Sandberg <mandolaerik@gmail.com>
2619 * lily/ various: Introduce stream events of types Prepare,
2620 OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2621 ChangeContext, SetProperty, RevertProperty, Override and Revert.
2623 * lily/global-context*.cc: Time is now -inf before iteration
2626 * lily/include/context.hh: Removed unique_, init_
2628 * Documentation/topdocs/NEWS: Make the feathered beam example
2629 avoid triggering a bug.
2631 2006-06-24 Graham Percival <gpermus@gmail.com>
2633 * Documentation/user/ various: small additions from mailist.
2635 2006-06-22 Mats Bengtsson <mabe@s3.kth.se>
2637 * ly/performer-init.ly: Add some missing links in the context
2638 hierarchy for MIDI output. There are probably some more missing!
2640 2006-06-21 Graham Percival <gpermus@gmail.com>
2642 * Documentation/user/ various: minor spelling fixes;
2643 thanks Dave Luttinen!
2645 * Documentation/user/ various: small clarifications;
2646 thanks Anthony Youngman!
2648 2006-06-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2650 * po/fr.po: add \n appropriately.
2652 * lily/lexer.ll: remove ? from version-seen?
2654 2006-06-19 John Mandereau <john.mandereau@free.fr>
2656 * po/fr.po; update translation, by Jean-Charles Malahieude and
2659 2006-06-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2661 * THANKS: add Markus Schneider.
2663 * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
2664 Staff_symbol_engraver
2666 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
2667 replace staff_engraver
2669 * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
2672 * lily/staff-collecting-engraver.cc
2673 (acknowledge_end_staff_symbol): new function
2675 * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function.
2677 * lily/staff-collecting-engraver.cc
2678 (acknowledge_end_staff_symbol): new function.
2680 * lily/main.cc: switch on relocation by default.
2682 2006-06-18 Han-Wen Nienhuys <hanwen@lilypond.org>
2684 * lily/spacing-spanner.cc (musical_column_spacing): set
2685 compound_fixed_note_space to 0.0. Document why.
2687 * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
2688 range of inverse_hooke_
2689 (Simple_spacer): init completely.
2691 (get_line_configuration): don't use cols.resize(); it introduces
2694 * scm/framework-ps.scm (dump-page): add setstrokeadjust.
2696 * ps/music-drawing-routines.ps: remove selectfont L1 hack.
2698 * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
2699 try. Divide by beatlength.
2701 * input/regression/beaming-ternary-metrum.ly: update doc.
2702 add beatLength hack.
2704 * scm/music-functions.scm (make-time-signature-set): add
2705 standard-beat-grouping.
2707 2006-06-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2709 * input/regression/tie-whole.ly: new file.
2711 * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
2712 cross center of note head in case of invisible stem.
2714 2006-06-16 Graham Percival <gpermus@gmail.com>
2716 * Documentation/user/ various: small fixes from mailist.
2718 2006-06-16 Han-Wen Nienhuys <hanwen@lilypond.org>
2720 * lily/breathing-sign.cc (offset_callback): idem.
2722 * lily/align-interface.cc (align_to_fixed_distance): remove
2725 * lily/beaming-pattern.cc (count_factor_twos): oops. We want
2728 2006-06-15 Han-Wen Nienhuys <hanwen@lilypond.org>
2730 * VERSION (PACKAGE_NAME): release 2.9.9
2732 * ly/lilypond-book-preamble.ly: add \version
2734 2006-06-14 Han-Wen Nienhuys <hanwen@lilypond.org>
2736 * scripts/lilypond-book.py (PREAMBLE_LY): include
2737 lilypond-book-preamble.ly
2739 * lily/stem.cc (get_beaming): return max of 0 and
2740 scm_ilength. Fixes slurring from/to beams.
2742 * ly/lilypond-book-preamble.ly: new file.
2744 * lily/slur.cc: add inspect-index feature.
2746 2006-06-13 Graham Percival <gpermus@gmail.com>
2748 * Documentation/user/tutorial.itely: trivial fix.
2750 2006-06-13 Erik Sandberg <mandolaerik@gmail.com>
2752 * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
2753 all non-event music in the parser via MAKE_SYNTAX.
2755 * lily/parser-scheme.cc: Add ly:parser-error function
2757 * scm/paper.scm: fix typo
2759 2006-06-13 Han-Wen Nienhuys <hanwen@lilypond.org>
2763 * lily/font-config.cc (init_fontconfig): add warning if cache_file
2766 * buildscripts/output-distance.py (test_compare_signatures):
2768 (read_signature_file): use new signature format.
2770 * scm/stencil.scm (write-system-signature): simpler signature
2773 * lily/stem.cc (calc_stem_end_position): calc quantized-positions
2776 * lily/note-spacing.cc (stem_dir_correction): don't inspect
2777 stem_end_position, but estimate instead.
2779 * lily/tuplet-bracket.cc (calc_positions): look at
2780 stem-end-position for tuplet bracket slope. Fixes sloped tuplet
2781 brackets narrower than beams.
2783 * lily/lexer.ll: set version-seen? even if version is
2786 * lily/rest.cc (y_offset_callback): bugfix: decide position
2787 override based on scm_is_number(). Fixes \rest on center staff
2790 * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
2791 patterns for 16th triplets.
2793 2006-06-10 Graham Percival <gpermus@gmail.com>
2795 * Documentation/user/ page.itely, global.itely: editing
2798 * Documentation/user/ various: findex -> funindex.
2800 2006-06-10 Erik Sandberg <mandolaerik@gmail.com>
2802 * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
2803 insert extra tuplet events.
2805 2006-06-10 Graham Percival <gpermus@gmail.com>
2807 * Documentation/user/programming-interfaces.itely: add
2810 * python/convertrules.py: add annotatefoo -> annotate-foo
2813 * Documentation/user/global.itely: start editing.
2815 * Documentation/user/page.itely: major editing, new spacing
2818 2006-06-10 Han-Wen Nienhuys <hanwen@lilypond.org>
2820 * scm/define-markup-commands.scm (wordwrap-markups): use
2821 output-def 'line-width if undefined.
2823 * HACKING: trim outdated info.
2825 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
2827 * scm/define-grobs.scm (all-grob-descriptions): Add
2828 line-spanner-interface to all grobs that already have
2829 text-spanner-interface or dynamic-text-spanner-interface
2831 * scm/page.scm: Rename annotate{headers,systems,page}->
2834 * input/regression/page-spacing.ly,
2835 input/regression/page-layout-manual-position.ly: idem
2837 2006-06-09 Han-Wen Nienhuys <hanwen@lilypond.org>
2839 * lily/line-spanner.cc: cleanup property list.
2841 * scripts/lilypond-book.py (find_toplevel_snippets): don't use
2842 generator expressions (2.3 compat).
2844 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
2846 * lily/vertical-align-engraver.cc: Make sure that the
2847 align{Above,Below}Context properties are included in the automatic
2850 2006-06-08 Joe Neeman <joeneeman@gmail.com>
2852 * scm/paper-system.scm (paper-system-annotate): also annotate the
2853 estimated pure-Y-extent
2855 * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
2857 * lily/system.cc (break_into_pieces): set the estimated height
2858 of each child system
2860 * lily/stem.cc (pure_height): new pure-Y-extent callback
2862 * lily/staff-symbol-referencer.cc (callback): don't destroy
2863 the staff-position property
2865 * lily/hara-kiri-group-spanner.cc (request_suicide): split
2866 consider_suicide into two functions
2868 * lily/constrained-breaking.cc (resize): use the new pure
2869 callbacks to estimate the height of a system
2871 * lily/axis-group-interface.cc (pure_group_height): new
2872 side-effect-free VerticalAxisGroup height-callback
2874 * lily/align-interface.cc (get_extents_aligned_translates):
2875 split align_elements_to_extents into two functions
2876 (get_pure_child_y_translation): new function
2878 * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
2880 * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
2882 * lily/paper-score.cc: cache break_indices and columns
2884 * lily/side-position-interface.cc: new pure-Y-extent callbacks
2886 2006-06-08 Han-Wen Nienhuys <hanwen@lilypond.org>
2888 * lily/font-config.cc (init_fontconfig): do the init if
2889 cache_file, but don't look at cache_file.
2891 * input/regression/quote-tie.ly: new file.
2893 * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
2894 to Head_event_tuple, so we deal gracefully with ties on
2897 * lily/pango-font.cc (pango_item_string_stencil): type correctness
2900 2006-06-08 Graham Percival <gpermus@gmail.com>
2902 * input/test/ smart-transpose.ly, reverse-music.ly:
2903 \applyMusic to music functions update, thanks Michael!
2905 2006-06-07 Graham Percival <gpermus@gmail.com>
2907 * input/test/ add-staccato.ly, add-text-script.ly,
2908 unfold-all-repeats.ly, music-box.ly: \applyMusic to
2909 music functions update, thanks to Michael Meixner.
2911 * Documentation/user/music-glossary.tely: small fix
2914 * Documentation/user/ various: minor additions from mailist.
2916 * Documentation/user/lilypond.tely, basic-notation.itely:
2917 small test of @funindex. (works here)
2919 * input/test/font-table.ly: reduce size to partially
2920 de-ugly version in manual.
2922 * Documentation/user/page.itely: new file (split former
2923 "global issues" into "page settings" and "non-musical
2926 * Documentation/user/ various: fix @ref{}s to match
2927 new chapter names (above).
2929 2006-06-07 Jan Nieuwenhuizen <janneke@gnu.org>
2931 * SConstruct (LILYPONDPREFIX): Bootstrap fix.
2933 2006-06-06 Graham Percival <gpermus@gmail.com>
2935 * Documentation/user/advanced-notation.itely: add example
2936 for segno/coda on barline.
2938 * tex/texinfo.tex: merge from upstream.
2940 2006-06-06 Jan Nieuwenhuizen <janneke@gnu.org>
2942 * scripts/lilypond-book.py (process_snippets): Argument fix.
2945 * buildscripts/builder.py:
2948 * Documentation/user/SConscript: More SCons fixes.
2950 2006-06-03 Jan Nieuwenhuizen <janneke@gnu.org>
2952 * lily/font-config.cc (init_fontconfig): Only initialize if
2953 global cache_file is found.
2955 2006-06-06 Erik Sandberg <mandolaerik@gmail.com>
2957 * ly/music-functions-init.ly: Updated \overrideProperty to use the
2960 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
2962 * VERSION (PACKAGE_NAME): release 2.9.8
2964 * lily/ledger-line-engraver.cc (stop_translation_timestep): new
2965 function. Delay ledger modifying ledgered grobs to
2966 stop_translation_timestep(), to ensure that we're ledgering
2967 according to the new spanner.
2968 (acknowledge_staff_symbol): don't check for non-NULL
2969 staff_sym->get_bound()
2971 * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
2974 * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
2977 * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
2978 directly from srcdir/stepmake/aclocal.m4
2980 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
2983 * lily/simple-spacer.cc (get_column_desc): desc -> description.
2985 2006-06-06 Joe Neeman <joeneeman@gmail.com>
2987 * lily/simple-spacer.cc (get_line_configuration): add
2988 keep-inside-line rods
2989 (struct Column_desc): add constructor
2990 (struct Rod_desc): add constructor
2991 (get_line_forces): check for forced page breaks here too
2993 * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
2994 support/elements cycles between InstrumentNames and AxisGroups
2996 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
2998 * config.make.in (METAFONT): remove MAKEINFO_VERSION
3000 * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3001 make-txt-files target.
3003 * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3004 make-txt-files target.
3006 * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3008 * stepmake/stepmake/generic-vars.make (distdir): create dist in
3011 2006-06-06 Jürgen Reuter <reuter@ipd.uka.de>
3013 * Documentation/user/instrument-notation.itely,
3014 input/regression/breathing-sign-ancient.ly,
3015 input/test/divisiones.ly: Removed redundant property settings for
3018 * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3019 fix lyrics alignment problems. They are implemented now as scheme
3020 functions that add the appropriate unicode char to the first lyric
3021 event rather than adding a separate lyric event. Minor edit of
3024 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3026 * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3027 pollute src dir with built .txt files, but install directly from
3028 Documentation/topdocs/out/
3030 * buildscripts/output-distance.py
3031 (ComparisonData.create_html_result_page): put version/directories
3034 * Documentation/topdocs/NEWS.tely (Top): document spacing section
3037 * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3038 Patch by Karl Hammar
3040 * buildscripts/readlink.py: add file.
3041 Patch by Karl Hammar
3043 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3045 * lily/tuplet-number.cc (print): prevent stencil from being
3048 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3050 * scm/stencil.scm (write-system-signature): explicitly
3051 -well, superfluously- close output port.
3053 * buildscripts/output-distance.py (main): oops. Add extra argument.
3055 2006-06-05 Graham Percival <gpermus@gmail.com>
3057 * Documentation/user/music-glossary.tely: clarified example
3058 from Francisco Vila, thanks!
3060 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3062 * input/regression/spacing-section.ly: new file.
3064 * lily/input.cc (programming_error): new function.
3066 * lily/spacing-engraver.cc (try_music): new function. Accept
3067 spacing-section-event
3069 * lily/spacing-spanner.cc (set_springs): take slices of all
3070 columns for spacing.
3072 * lily/include/paper-column.hh (class Paper_column): add
3073 Paper_column::compare.
3075 * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3077 * scm/define-music-types.scm (music-descriptions): add
3080 * lily/music-iterator.cc (report_event): use programming_error for
3081 sending non-event error.
3083 * lily/input.cc (programming_error): new function
3085 * buildscripts/output-distance.py (main): use compare-XXX for
3087 (main): --threshold option, default at 0.30
3089 * output-distance.py (main): add --threshold option.
3091 2006-06-04 Nicolas Sceaux <nicolas.sceaux@free.fr>
3093 * scm/paper-system.scm (paper-system-annotate): fix problem when
3094 annotating an empty system
3096 2006-06-04 Han-Wen Nienhuys <hanwen@lilypond.org>
3098 * GNUmakefile.in: reinstate old web tar/copying.
3100 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3102 * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3103 nothing changes. (Erik S)
3105 * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3108 2006-05-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
3110 * scm/define-markup-commands.scm (whiteout): do not force
3111 foreground color of argument markup to black.
3113 * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3114 the left of the arrow, instead of below the arrow name, so that,
3115 when two little arrows are vertically stacked, their dimensions
3116 and name should not overlap. Add a color key parameter.
3118 * scm/paper-system.scm (paper-system-annotate): Annotate
3119 next-space+next-padding instead of next-space. Annotate space
3120 between next-padding and next-space+padding, respectively, and
3121 following system extent and refpoint-Y-extent. Use colors.
3123 * scm/page.scm (annotate-page): translate annotations slightly to
3126 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3128 * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3129 fix for x-staff slurs. Thanks Joe!
3131 * buildscripts/output-distance.py
3132 (SystemLink.output_expression_change_count): keep track of changed
3133 details, and dump in details html page.
3135 * input/regression/figured-bass-staff.ly: add note about setting
3136 properties in Staff context.
3138 * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3139 add slurs and ties to support too.
3141 * buildscripts/output-distance.py (main): set dest_dir
3142 argument. Add --max-count option.
3144 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3146 * ly/gregorian-init.ly: Converted to utf-8. Added memorable
3147 shortcuts for special unicode chars that are useful in chant
3148 notation. Revised exisiting and added new comments.
3150 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3152 * make/mutopia-rules.make: remove duplicate recipe.
3154 2006-06-02 Werner Lemberg <wl@gnu.org>
3156 * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3157 Add support for U+0132 (IJ) and U+0133 (ij).
3159 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3161 * buildscripts/output-distance.py (FileLink): new class. collect
3162 info systems from one .ly file.
3163 (FileLink.link_files_for_html): further tweaks.
3165 2006-06-02 Graham Percival <gpermus@gmail.com>
3167 * tex/texinfo.tex: partial fix for @funindex.
3169 * Documentation/user/macros.tely: uncomment @funindex (doesn't
3172 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3174 * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3176 * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3177 @example too. Backportme.
3179 2006-06-02 Graham Percival <gpermus@gmail.com>
3181 * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3182 from Werner Lemberg.
3184 2006-06-02 Paco (Francisco Vila) <fravd@ya.com>
3186 * Documentation/user/music-glossary.tely: additional spanish
3187 updates and a lyrics fix in an example.
3189 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3191 * scm/define-grob-properties.scm: Previous patch contained
3192 spurious line from another patch not yet committed. Fixed.
3194 * scm/define-grob-properties.scm: Add missing doc strings for
3197 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3199 * buildscripts/output-distance.py
3200 (ComparisonData.write_text_result_page): separate the scores, sort
3203 * scm/framework-eps.scm (output-classic-framework): start at 1 for
3206 * buildscripts/output-distance.py (me_path): use argv[0] for
3208 (ComparisonData.img_cell): use colored borders.
3210 * scm/stencil.scm (write-system-signature): escape newlines too.
3211 (write-system-signature): use (1,-1) interval for empty interval
3213 2006-01-01 Graham Percival <gpermus@gmail.com>
3215 * Documentation/user/music-glossary.tely: Spanish updates
3216 from Francisco Vila.
3218 * Documentation/user/lilypond-book.itely: addition from
3221 * Documentation/user/ various: edits, small additions
3224 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3226 * GNUmakefile.in (tree-lib-prefix-current):
3227 (tree-share-prefix-current): Use version number in tree, add
3230 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3232 * GNUmakefile.in: write VERSION, again.
3234 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3235 $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3237 * stepmake/aclocal.m4: robuster version detection.
3239 * buildscripts/output-distance.py
3240 (ComparisonData.create_html_result_page): copy only if file
3241 exists, fixup src paths.
3243 * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3245 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3247 * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3248 Another datarootdir reto.
3250 * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3251 available. This should be moved to postinstall-lilypond-doc.
3253 2006-05-31 Han-Wen Nienhuys <hanwen@lilypond.org>
3255 * GNUmakefile.in: simplify local-WWW-post.
3256 remove -type l from find.
3258 * buildscripts/output-distance.py (ComparisonData.compare_trees):
3259 fixes. Don't follow symlinks.
3260 (ComparisonData.create_html_result_page): remove previous results.
3261 insert ../python in path.
3263 * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3265 2006-05-31 Jan Nieuwenhuizen <janneke@gnu.org>
3267 * config.make.in (datadir): Add datarootdir to silence autoconf.
3269 * stepmake/aclocal.m4: Update for autoconf-2.59d.
3271 2006-05-31 Erlend Aasland <erlenda@gmail.com>
3273 * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3275 * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3276 slash beams too wide.
3278 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3280 * VERSION: release 2.9.7
3282 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3284 * lily/relocate.cc (read_relocation_dir): Do not blindly
3287 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3289 * lily/parser.yy: replace THIS by PARSER
3291 * Documentation/index.html.in: add link to test-results.html page.
3293 * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3295 * scm/translation-functions.scm (format-bass-figure): translate
3296 digits over 10 to the left
3298 * scm/define-markup-commands.scm (translate-scaled): new markup.
3300 * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3303 * ly/engraver-init.ly: add Figured_bass_engraver
3305 * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3307 * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3309 * lily/score-engraver.cc (announce_grob): only note START announces.
3311 * lily/include/engraver-group.hh (Translator_group):
3312 acknowledge_hash_table_ is now drul.
3314 * lily/engraver.cc (announce_end_grob): new method.
3316 * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3318 * lily/translator-dispatch-list.cc (create): take start_end argument.
3320 * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3321 acknowledge_static_array_ to drul
3323 * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3325 * scm/define-grob-interfaces.scm
3326 (bass-figure-alignment-interface): add bass-figure-alignment-interface
3328 * scm/define-grobs.scm (all-grob-descriptions): add
3329 BassFigureAlignmentPositioning
3331 * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3332 number stays up to date. Backportme.
3334 2006-05-30 Mats Bengtsson <mabe@s3.kth.se>
3336 * Documentation/user/basic-notation.itely (Bar lines): Document
3339 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3341 * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3343 * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3344 .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc'
3347 * Resurrect `scons lily' build.
3349 * SConstruct (symlink_tree): Bugfix: link
3350 music-drawing-routines.ps to file iso directory.
3352 * lily/SConscript: Remove kpath-guile from LIBS.
3354 * SConstruct (libdir_package_version): Typo.
3355 (configure): Comment-out fontforge for lack of fontforge.pc .
3356 Also add libdir* to environment.
3358 2006-05-30 Graham Percival <gpermus@gmail.com>
3360 * Documentation/user/ various: minor additions from mailist and
3363 2006-05-30 Paco <fravd@ya.com>
3365 * Documentation/user/music-glossary.tely: numerous corrections and
3366 some new translations.
3368 2006-05-29 Han-Wen Nienhuys <hanwen@lilypond.org>
3372 * buildscripts/output-distance.py
3373 (ComparisonData.create_html_result_page): new routine: summarise
3374 results in HTML page with images.
3375 (ComparisonData.create_text_result_page): create summary text files too.
3377 * GNUmakefile.in (web-ext): package .signature files too. They
3380 * scm/stencil.scm (write-system-signature): typo.
3382 * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3384 * scm/stencil.scm (write-system-signature): better escaping.
3385 only write signature for music systems, not for markup systems.
3387 * scm/framework-ps.scm (output-framework): dump-signatures support
3390 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3392 * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3393 for -dno-point-and-click
3395 * lily/grob.cc (get_print_stencil): don't read
3396 point_and_click_global to determine whether to set grob-cause.
3398 2006-05-28 Han-Wen Nienhuys <hanwen@lilypond.org>
3400 * buildscripts/output-distance.py (main): new function.
3401 (ComparisonData): new class.
3403 * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3404 careful with generating new LedgerLineSpanners.
3406 * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3408 * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3409 context. This fixes double ledger lines in output.
3411 * lily/system.cc (get_paper_system): remove 3 layer limit.
3413 * buildscripts/output-distance.py (SystemLink.distance): new
3414 file. Compare signatures.
3416 * python/safeeval.py (SafeEval.visitUnarySub): new file.
3418 * lily/grob-array.cc (remove_duplicates): rename from
3419 uniq(). Sort before calling uniq() so it actually works.
3421 2006-05-27 Han-Wen Nienhuys <hanwen@lilypond.org>
3423 * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3424 \version from lilypond file snippet.
3425 (Lilypond_file_snippet.ly): oops. typo.
3426 (find_toplevel_snippets): urgh. again.
3428 * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3429 prevent duplicated broken items in output.
3431 * scm/framework-eps.scm (output-classic-framework): only dump if
3432 dump-signatures is set.
3434 * scm/lily.scm (define-scheme-options): add dump-signatures option.
3436 * scm/stencil.scm (write-system-signature): new routine: write
3437 python parseable signature of a separate paper system.
3440 2006-05-26 Han-Wen Nienhuys <hanwen@lilypond.org>
3442 * lily/stanza-number-engraver.cc (process_music): use is_markup()
3446 2006-05-25 Erik Sandberg <mandolaerik@gmail.com>
3448 * translator-group.cc: send music events to engravers in
3449 non-bottom contexts.
3451 * tuplet-engraver.cc: process tuplet brackets in correct order.
3453 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3455 * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3456 arg 2 might point us to a new binary (patch by Karl Hammar)
3458 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3460 * VERSION (PACKAGE_NAME): release 2.9.6
3462 * Documentation/topdocs/NEWS.tely (Top): trim explanation.
3464 * Documentation/user/*.itely: 2nd
3465 attempt: replace funindex -> findex globally.
3467 2006-05-24 Nicolas Sceaux <nicolas.sceaux@free.fr>
3469 * input/no-notation/display-lily-tests.ly: fix \applyOutput
3470 test. Add \break, \pageBreak, \pageTurn, etc, tests.
3472 * scm/define-music-display-methods.scm: display methods for
3473 breaks. Fix \applyOutput.
3475 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3477 * Documentation/user/macros.itexi: comment out funindex expansion.
3479 * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3482 * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3483 Karl Hammar. Backportme.
3485 * Documentation/user/advanced-notation.itely (Balloon help): idem.
3487 * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3489 * Documentation/user/programming-interface.itely (Running a
3490 function on all layout objects): idem.
3492 * Documentation/user/introduction.itely (Automated engraving):
3493 update \applyOutput syntax
3495 * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3496 remove debugging hook.
3498 * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3501 * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3503 * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3504 TEXI2DVI_FLAGS to texi2dvi invocation.
3506 2006-05-24 Erik Sandberg <mandolaerik@gmail.com>
3508 * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3509 works. More work is done by iterator now, and engraver has been
3510 very much simplified.
3512 * lily/translator-group.cc: try_music is now invoked through a
3515 * lily/*-iterator.cc: Massive cleanups. Junked
3516 try_music_in_children globally. Renamed try_music to report_event,
3517 and made that method descend to a bottom context automatically.
3519 * lily/event-iterator.cc: New file.
3521 * lily/output-property-iterator.cc,
3522 lily/old-lyric-combine-music-iterator.cc: Removed.
3524 * python/convert-rules.py: Modified the syntax for \applyOutput.
3526 2006-05-23 Graham Percival <gpermus@gmail.com>
3528 * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3531 * Documentation/user/ various: stuff that might have helped
3532 to fix the pdf creation, plus some minor doc additions.
3534 * Documentation/user/changing-defaults.itely: remove @b from
3535 @b{ @internasref{foo}}; this breaks texi2dvi -E.
3537 2006-05-23 Han-Wen Nienhuys <hanwen@lilypond.org>
3539 * lily/beaming-pattern.cc (beamify): deal with negative start
3540 moments for beaming patterns.
3542 2006-05-22 Han-Wen Nienhuys <hanwen@lilypond.org>
3544 * lily/beaming-info.cc (beamify): new function: read beatLength
3545 and beatGrouping from context.
3547 * input/regression/beam-beat-grouping.ly (Module): new file.
3549 * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3551 * lily/beam.cc (get_beam_segments): generate events for
3552 max_connect_ case too.
3553 (get_beam_segments): read Stem::max-beam-connect.
3555 * input/regression/beam-single-stem.ly: new file.
3557 * lily/stem.cc (set_beaming): use #f as signaling value for
3560 * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3562 * lily/beam.cc (set_beaming): read clip-edges property.
3563 (calc_direction): don't suicide for single stem.
3565 * lily/beaming-info.cc (best_splitpoint_index): take bool*
3566 argument, remove 1<<15 hack. Remove clip_edges()
3568 * lily/hairpin.cc (print): only do padding for nonmusical bounds
3570 2006-05-21 Graham Percival <gpermus@gmail.com>
3572 * Documentation/user/basic-notation.itely: reorg.
3574 * Documentation/user/ various: minor fixes.
3576 2006-05-20 Han-Wen Nienhuys <hanwen@lilypond.org>
3578 * lily/stencil-expression.cc (register_stencil_head): opps, append
3579 to cdr of static SCM object.
3581 2006-05-19 Graham Percival <gpermus@gmail.com>
3583 * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3584 update framework for command index. DOC WRITERS: use @funindex
3585 instead of @cindex @code{}.
3587 * Documentation/user/ various: replace @cindex @code{} => @funindex
3589 2006-05-19 Han-Wen Nienhuys <hanwen@lilypond.org>
3591 * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3592 case positions is set manually.
3594 2006-05-18 Erik Sandberg <mandolaerik@gmail.com>
3596 * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3599 2006-05-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3601 * Documentation/user/changing-defaults.itely (Contexts explained):
3602 use absolute dimension for @image.
3604 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3605 out image for illustration too.
3606 ($(outdir)/%.png): add more png <-> eps rules.
3608 2006-05-17 Graham Percival <gpermus@gmail.com>
3610 * Documentation/user/ various: remove trailing whitespace, cosmetic
3611 change to reduce changes produced by diff.
3613 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3615 * lily/main.cc (do_chroot_jail): correctness tweak.
3617 * python/lilylib.py (system): import subprocess in system () only.
3619 * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3621 * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3622 variable. Backportme.
3624 2006-05-17 Erik Sandberg <mandolaerik@gmail.com>
3626 * lily/parser.yy: Change all syntax rules of type Music to SCM type
3628 2006-05-17 Werner Lemberg <wl@gnu.org>
3630 * lily/lexer.ll (init_signature_has_table): Add
3631 `scm-scm-music-music'.
3633 * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
3634 (Generic_prefix_music_scm): Add rule for it.
3636 * lily/quote-iterator.cc (Quote_iterator::process): Handle
3637 `quoted-transposition' property.
3639 * ly/music-functions-init.ly (transposedCueDuring): New function.
3641 * scm/define-music-properties.scm (all-music-properties): Updated.
3643 * Documenation/topdocs/NEWS.itely: Document it.
3645 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3647 * python/lilylib.py (system): move import subprocess to system()
3650 * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
3652 * VERSION (PATCH_LEVEL): release 2.9.5
3654 * Documentation/topdocs/INSTALL.texi (Top): update versions and
3657 * ly/engraver-init.ly: switch on hairpinToBarline by default.
3659 2006-05-16 Graham Percival <gpermus@gmail.com>
3661 * Documentation/user/basic-notation.itely: editing from Dave, thanks!
3663 * Documentation/user/ various: minor fixes.
3665 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3667 * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
3669 2006-05-16 Mats Bengtsson <mabe@s3.kth.se>
3671 * Documentation/user/advanced-notation.itely (Instrument names):
3672 Modified obsolete instruction on how to move instrument names away
3673 from the staves. Hmm, at second thought the bug probably has been
3674 solved, so the full bug description should probably be removed.
3676 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3678 * lily/dynamic-engraver.cc (typeset_all): hang ending on
3679 currentCommandColumn.
3681 * lily/hairpin.cc (print): also add padding for non-neighbor
3684 * scm/define-context-properties.scm
3685 (all-user-translation-properties): add hairpinToBarline
3687 * input/regression/hairpin-to-barline.ly: new file.
3689 * lily/context.cc (internal_send_stream_event): thinko fix.
3691 * lily/tie.cc (set_default_control_points): robustness fix.
3693 * python/musicxml.py (Part.interpret): don't complain about
3694 incomplete measures.
3696 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
3697 new music if last_event_chord() returned None.
3699 * python/musicxml.py (Part.interpret): skip back over chord notes.
3701 2006-05-16 Erik Sandberg <mandolaerik@gmail.com>
3703 * lily/percent-repeat-engraver.cc, lily/parser.yy,
3704 lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
3705 lily/slash-repeat-engraver.cc,
3706 lily/include/percent-repeat-iterator.hh: Rework percent repeats:
3707 iterator sends PercentEvents
3709 * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
3710 rework tuplets: send start/stop events to engraver
3712 * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
3713 dispatchers event-source and events-below to Context
3715 2006-05-15 Graham Percival <gpermus@gmail.com>
3717 * Documentation/user/README.txt: update info for doc writers.
3719 * Documentation/user/programming-interface.itely: integrate
3720 Nicolas' fixes for chapter rewrite.
3722 * Documentation/user/ various: minor fixes.
3724 2006-05-15 Han-Wen Nienhuys <hanwen@lilypond.org>
3726 * lily/clef-engraver.cc: cleanup.
3728 * Documentation/user/GNUmakefile: dist context-example.eps too.
3730 * lily/key-engraver.cc (create_key): use
3731 explicitKeySignatureVisibility for cancellation too.
3733 * lily/font-config.cc (init_fontconfig): don't close file if
3736 2006-05-15 Erlend Aasland <erlenda@gmail.com>
3738 * Documentation/topdocs/NEWS.tely: niente and rotation news
3740 2006-05-14 Erlend Aasland <erlenda@gmail.com>
3742 * lily/include/stencil.hh
3743 * lily/stencil.cc (rotate): new function. Makes it possible
3744 to rotate a stencil around a given offset.
3746 * lily/grob.cc (get_print_stencil): add rotation support
3748 * lily/stencil-interpret.cc (interpret_stencil_expression):
3749 add rotation support
3751 * lily/stencil-scheme.cc (ly:stencil-rotate): new function
3753 * scm/define-grob-properties.scm: add 'rotation property
3755 * scm/define-markup-commands.scm: add rotate markup command
3757 * scm/output-ps.scm: add rotation support in PostScript backend
3759 * scm/output-svg.scm: add rotation support in SVG backend
3761 2006-05-13 Graham Percival <gpermus@gmail.com>
3763 * Documentation/user/music-glossary.itely: French correction.
3765 * Documentation/user/programming-interface.itely: major
3766 new docs, some reorg, some info from Nicolas.
3768 * Documentation/user/ various: small fixes.
3770 2006-05-12 Mats Bengtsson <mabe@s3.kth.se>
3772 * Documentation/user/programming-interface.itely (Markup
3773 programmer interface): Remove duplicate text.
3775 2006-05-12 Graham Percival <gpermus@gmail.com>
3777 * Documentation/user/context-example.eps: new file.
3779 * Documentation/user/changing-defaults.itely: set up file to
3782 * Documentation/user/programming-interface.itely: changes
3785 2006-05-12 Han-Wen Nienhuys <hanwen@lilypond.org>
3787 * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
3789 2006-05-11 Graham Percival <gpermus@gmail.com>
3791 * Documentation/user/programming-interface.itely: first round of
3792 editing and merging emails from Nicolas.
3794 * Documentation/user/scheme-tutorial: minor edit.
3796 2006-05-11 Han-Wen Nienhuys <hanwen@lilypond.org>
3798 * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
3800 (Xml_node.message): use it.
3802 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice):
3803 oops. Add duration argument.
3805 2006-05-10 Joe Neeman <joeneeman@gmail.com>
3807 * lily/paper-column-engraver.cc (make_columns):
3808 * scm/define-grobs.scm: Revert my previous change and set the default
3809 in define-grobs.scm instead.
3811 2006-05-09 Graham Percival <gpermus@gmail.com>
3813 * Documentation/user/changing-defaults.itely: general editing,
3814 info about \set and \override.
3816 * Documentation/user/tweaking.itely, advanced-notation.itely:
3817 fixes from Dave Luttinen, thanks!
3819 2006-05-09 Joe Neeman <joeneeman@gmail.com>
3821 * lily/paper-column-engraver.cc (make_columns): By default, a column
3822 needs to be breakable.
3824 2006-05-09 Han-Wen Nienhuys <hanwen@lilypond.org>
3826 * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
3828 (musicxml_time_to_lily): idem
3829 (musicxml_key_to_lily): idem
3830 (instrument_drumtype_dict): dict for supported drumtypes.
3831 (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
3832 moments and pending mm rests
3833 (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
3834 (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
3835 (musicxml_voice_to_lily_voice): add mode change.
3836 (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
3837 speed and less memory usage (factor 5 to 10).
3838 (convert): write -defs.ly and driver file separately so people
3839 can script their own part extraction.
3841 * python/musicxml.py (minidom_demarshal_node): new function:
3842 separate minidom handling.
3843 (lxml_demarshal_node): new function: support lxml.etree too.
3844 (Xml_node.message): new function: verbose error message, with XML
3845 path to offending node.
3846 (Attributes.get_measure_length): sane interface to MusicXML attributes.
3847 (Part_list.generate_id_instrument_dict): new method: collect
3848 instrument names, to be able to set drum_type.
3849 (Part.interpret): handle underfull measures
3850 (Part.interpret): assign instrument names.
3852 * python/musicexp.py (Output_printer.close): new method
3853 (MusicWrapper.print_ly): new class: support other modes,
3855 (BarCheck.print_ly): new class. Support bar checks, with comments
3856 and fancy barchecks.
3857 (NoteEvent.__init__): also set drum_type for drum notes.
3858 (MultiMeasureRest.lisp_expression): dump mm rests.
3860 * lily/paper-column-engraver.cc (stop_translation_timestep): set
3861 line-break-permission if forbidBreak is not set.
3863 2006-05-09 Joe Neeman <joeneeman@gmail.com>
3865 * scm/define-context-properties.scm:
3866 * scm/define-grob-properties.scm:
3867 * scm/define-grobs.scm:
3868 * scm/define-music-display-methods.scm:
3869 * scm/define-music-properties.scm:
3870 * scm/define-music-types.scm:
3871 * scm/music-functions.scm:
3872 * ly/declarations-init.ly:
3873 * lily/include/constrained-breaking.hh:
3875 * lily/spaceable-grob.cc:
3876 * lily/simple-spacer.cc:
3877 * lily/paper-score.cc:
3878 * lily/paper-column.cc:
3879 * lily/paper-column-engraver.cc:
3881 * lily/gourlay-breaking.cc:
3882 * lily/constrained-breaking.cc:
3883 * python/convertrules.py:
3884 Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
3885 "page-break-penalty" and "line-break-permission".
3886 Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
3887 Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
3889 * lily/bar-engraver.cc:
3890 * lily/beam-engraver.cc:
3891 * lily/forbid-break-engraver.cc:
3892 * lily/ligature-engraver.cc:
3893 * lily/paper-column-engraver.cc:
3894 * lily/percent-repeat-engraver.cc:
3895 * lily/score-engraver.cc:
3896 * lily/score-engraver.hh:
3897 * lily/paper-column-engraver.hh:
3898 Inter-engraver communication regarding line breaks is done through context
3899 properties (Score.forbidBreak) instead of function calls.
3901 2006-05-08 Han-Wen Nienhuys <hanwen@lilypond.org>
3903 * VERSION (PACKAGE_NAME): release 2.9.4
3905 2006-05-08 Graham Percival <gpermus@gmail.com>
3907 * Documentation/user/working.itely: proofreading from Dave
3910 * Doucmentation/user/README.txt: updated with manual style info.
3912 * Documentation/user/ various: trim linewidth to 78 chars.
3914 2006-05-07 Han-Wen Nienhuys <hanwen@lilypond.org>
3916 * scm/define-grob-properties.scm (all-internal-grob-properties):
3917 remove chord-tremolo property.
3919 * lily/beam.cc (get_beam_segments): don't use stem position as
3920 base for broken ends.
3922 2006-05-06 Graham Percival <gpermus@gmail.com>
3924 * Documentation/user/putting.itely: proofreading from Dave
3927 * Documentation/user/ various: more reorg and clarifications.
3929 2006-05-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3931 * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
3933 * ly/music-functions-init.ly: new function featherDurations
3935 * lily/beam.cc: read grow-direction for feathered beaming.
3937 * Documentation/topdocs/NEWS.tely (Top): typo.
3939 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3941 * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
3944 2006-05-05 Erik Sandberg <mandolaerik@gmail.com>
3945 * lily/context.cc, lily/global-context.cc: Added 'unique' member,
3946 used by music streams.
3948 * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
3949 lily/stream-event.cc, lily/stream-event-scheme.cc,
3950 lily/listener.cc, lily/scheme-listener.cc,
3951 lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
3952 lily/include/stream-event.hh, lily/include/listener.hh,
3953 lily/include/scheme-listener.hh, scm/define-event-classes.scm:
3954 Created data structures for music streams.
3956 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3958 * lily/beam.cc (get_beam_segments): new function. Reorganise the
3959 construction of a beam.
3962 * flower/include/std-vector.hh (default_compare): use only one comparison.
3964 * scm/define-markup-commands.scm (note-by-number): remove debug display.
3965 (note-by-number): further attachment fixes.
3967 * scm/lily-library.scm (ordered-cons): new function.
3968 (interval-index): new function
3970 * lily/note-head-scheme.cc (LY_DEFINE): new file.
3972 * lily/note-head.cc (get_stem_attachment): new function.
3974 * scm/define-markup-commands.scm (note-by-number): read 'style
3977 * input/regression/markup-note.ly: show note-head style option.
3979 * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
3982 2006-05-04 Han-Wen Nienhuys <hanwen@lilypond.org>
3984 * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
3986 * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
3988 * lily/include/constrained-breaking.hh: GCC 4 fix.
3990 2006-05-04 Joe Neeman <joeneeman@gmail.com>
3992 * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
3993 Replace it with functions get_line_forces and get_line_configuration.
3994 (class Simple_spacer): Make data private.
3995 Rewrite compression algorithm to be faster and simpler.
3997 * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
3998 * lily/gourlay-breaking.cc (solve):
3999 * lily/constrained_breaking.cc (space_line):
4000 Change it to the new simple-spacer code.
4002 * lily/paper-score.cc (get_paper_systems):
4005 Delay breaking the systems until they are requested.
4006 (find_break_indices):
4007 Use vsize for indices.
4009 Move the "Calculating line breaks" message here.
4011 * lily/system.cc (pre_processing):
4012 Move the "Calculating line breaks" message away from here.
4013 (break_into_pieces):
4014 Allow multiple calls to this function in sequence (with touching-but-
4015 not-overlapping breakpoints).
4017 * lily/constrained-breaking.cc:
4018 Replace most of the get_XXXX functions with get_line_details.
4019 Only calculate the force for each line. Calculate configurations only
4020 for the lines we will actually use.
4021 Replace cols_ with lines_.
4023 2006-05-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
4025 * mf/GNUmakefile (depth): remove FC_FIND.
4027 * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4029 * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4031 * scm/framework-ps.scm (write-preamble): new function.
4032 (write-preamble): load mac fonts via fondu, even if gs-font-load
4035 2006-05-03 Werner Lemberg <wl@gnu.org>
4037 * mf/GNUmakefile (FC_FIND): Fix typo.
4039 2006-05-03 Erlend Aasland <erlenda@gmail.com>
4041 * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4043 2006-05-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4045 * stepmake/aclocal.m4: run python-config for crosscompiling
4048 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4049 -f png for HTML, TEXINFO formats.
4051 * input/tutorial/lbook-html-test.html: new file.
4053 * lily/include/tie-formatting-problem.hh (class
4054 Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4055 [column, direction]. This fixes laissez vibrer ties.
4057 * flower/include/tuple.hh (struct Tuple2): new file.
4059 * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4060 $(FCMATCH), only if $(NCSB_DIR) not set.
4062 * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4064 * config.make.in (DOCUMENTATION): set FCMATCH.
4066 * autogen.sh (srcdir): don't set --with-ncsb-dir.
4068 2006-05-03 Graham Percival <gpermus@gmail.com>
4070 * Documentation/user/ various: final round of reorg.
4072 * Documentation/user/instrument-notation.itely: some more
4073 fixes from Eduardo, thanks!
4075 2006-05-02 Han-Wen Nienhuys <hanwen@lilypond.org>
4077 * VERSION (PACKAGE_NAME): release 2.9.3
4079 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4081 * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4083 2006-05-01 Mats Bengtsson <mabe@s3.kth.se>
4085 * scm/define-grob-properties.scm (all-user-grob-properties):
4086 Correct typo, thanks to Eduardo.
4088 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4090 * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4092 * buildscripts/lilypond-words.py (F): indent fix.
4094 * input/regression/tie-arpeggio-collision.ly: new file.
4096 * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4097 function: store outlines per column rank.
4099 * lily/include/tie-configuration.hh (class Tie_configuration): add
4100 column_ranks_ to specification and configuration, to distinguish
4101 between ties for different heads in arpegiated chords.
4103 * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4105 * *.py: more 4 space indents.
4107 * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4109 2006-05-01 Joe Neeman <joeneeman@gmail.com>
4111 * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4113 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4115 * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4117 * scripts/abc2ly.py (dump_score): indent of 4 for python code.
4119 * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4121 2006-04-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
4123 * python/convertrules.py (conv): indent 4 for python files.
4125 2006-04-29 Mats Bengtsson <mabe@s3.kth.se>
4127 * Documentation/user/changing-defaults.itely (Creating contexts):
4128 Clarify \new semantics.
4130 2006-04-28 Graham Percival <gpermus@gmail.com>
4132 * Documentation/user/ various: major new sections in the
4133 Learning manual, slight reorg elsewhere.
4135 2006-04-27 Han-Wen Nienhuys <hanwen@lilypond.org>
4137 * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE)
4139 * scm/framework-ps.scm (output-framework): remove PageMedia
4141 2006-04-27 Graham Percival <gpermus@gmail.com>
4143 * Documentation/user/ tweaks.itely, working.itely: new
4144 files, being more advanced "learning manual" chapters.
4146 * Documentation/user/ tutorial, putting, lilypond: reorg.
4148 2006-04-26 Graham Percival <gpermus@gmail.com>
4150 * input/regression/lyric-combine-polyphonic.ly: fixed test
4151 (no more "can't find context `one'" error).
4153 2006-04-25 Joe Neeman <joeneeman@gmail.com>
4155 * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4157 * input/regression/stem-tremolo.ly: add 2 more whole note examples
4159 2006-04-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
4161 * lily/relocate.cc (read_relocation_dir): new function.
4163 2006-04-26 Graham Percival <gpermus@gmail.com>
4165 * Documentation/user/instrument-notation.itely: a few more fixes
4166 from Eduardo, thanks!
4168 * Documentation/user/README.txt: new file; contains info on
4169 style that used to be in lilypond.tely.
4171 * Documentation/user/ various: first round of doc reorg.
4173 * Documentation/user/baer-flat-bw.png: remove alpha bit from
4174 graphic; this probably causes problems on some pdf
4175 viewers, notably Adobe Acrobat.
4177 2006-04-24 Graham Percival <gpermus@gmail.com>
4179 * Documentation/user/instrument-notation.itely: many alterations
4180 to Vocal music, from Eduardo Viera.
4182 2006-04-23 Graham Percival <gpermus@gmail.com>
4184 * Documentation/user/instrument-notation.itely: fix \new
4185 instead of \context problem.
4187 2006-04-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
4189 * lily/relocate.cc (expand_environment_variables): new function.
4191 (read_relocation_file): id.
4193 * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code
4195 2006-04-21 Erlend Aasland <erlenda@gmail.com>
4197 * ly/engraver-init.ly: remove old comments from TabVoice
4199 2006-04-20 Graham Percival <gpermus@gmail.com>
4201 * Documentation/user/instrument-notation.itely: added Erlend's
4202 latest doc patch, thanks!
4204 2006-04-19 Erlend Aasland <erlenda@gmail.com>
4206 * lily/include/slur.hh:
4208 * lily/phrasing-slur-engraver.cc:
4209 * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4210 acknowledge_extra_object () from Phrasing_slur_engraver:: and
4211 Slur_engraver:: and putting it in
4212 Slur::auxiliary_acknowledge_extra_object ().
4214 * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4216 * lily/note-collision.cc: fix a comment
4218 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4220 * stepmake/bin/add-html-footer.py: fix footer position in
4221 generated html files: before </body> and </html> tags.
4223 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4225 * scripts/GNUmakefile: revert last "fix", which rather broke make.
4226 Earlier successive `make' commands finally compiled ok.
4228 * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4230 2006-04-18 Erlend Aasland <erlenda@gmail.com>
4232 * lily/include/stem-tremolo.hh:
4233 * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4237 * lily/include/lookup.hh: add rotated_box ()
4239 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4241 * scripts/GNUmakefile: bugfix: run help2man only after scripts have
4242 been generated. Fixes "can't get `--help'" bug after make clean.
4244 * THANKS: alphabetize contributors.
4246 2006-04-17 Graham Percival <gpermus@gmail.com>
4248 * Documentation/user/instrument-notation.itely: added Erlend's
4249 tabs and banjo doc patch. Thanks!
4251 2006-04-17 Erlend Aasland <erlenda@gmail.com>
4253 * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4255 * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4257 * scm/output-lib.scm: add some more predefined string tunings.
4259 * Documentation/user/instrument-notation.itely: and doc them.
4261 2006-04-16 Jürgen Reuter <reuter@ipd.uka.de>
4263 * ly/engraver.ly: Remove obsolete comments.
4265 * ly/gregorian-init.ly: Define default layout block.
4267 * input/puer-fragment.ly: Updated and extended.
4269 2006-04-15 Jan Nieuwenhuizen <janneke@gnu.org>
4271 * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4272 pdf conversion behaviour.
4274 * flower/file-name.cc (dir_name)
4275 (get_working_directory): Move from relocate.cc.
4277 * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4279 * lily/relocate.cc: Encapsulate sys/stat.h in
4282 2006-04-14 Graham Percival <gpermus@gmail.com>
4284 * Documentation/user/ various: small updates from Cameron
4285 and Juergen, thanks!
4287 * Documentation/user/ various: small updates of my own.
4289 * THANKS: 2.7 -> 2.8.
4291 2006-04-11 Graham Percival <gpermus@gmail.com>
4293 * scm/define-context-properties.scm: typo.
4295 * Documentation/user/ : many more small updates.
4297 2006-04-13 Jürgen Reuter <reuter@ipd.uka.de>
4299 * scm/define-music-types.scm: disposed "docme".
4301 2006-04-11 Erlend Aasland <erlenda@gmail.com>
4303 * lily/hairpin.cc: make niente circles a bit smaller.
4305 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4307 * mf/GNUmakefile: remove redundant mftrace check. Also remove
4308 get-pfa and get-*-fonts targets.
4310 2006-04-10 Graham Percival <gpermus@gmail.com>
4312 * THANKS, Documentation/user/ basic-notation, advanced-notation,
4313 music-glossary, programming-interface: more minor fixes
4316 * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4318 * scm/define-context-properties.scm: another old \property update.
4319 This time tested for compiling!
4321 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4323 * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4325 2006-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
4327 * scm/define-context-properties.scm (all-user-translation-properties):
4328 * Documentation/user/global.itely (Page formatting): Compile fix.
4330 2006-04-09 Mats Bengtsson <mabe@s3.kth.se>
4332 * Documentation/user/advanced-notation.itely (Polymetric
4333 notation): Update the example to use the "+" symbol and add link
4334 to input/test/compound-time.ly.
4336 2006-04-08 Graham Percival <gpermus@gmail.com>
4338 * scm/define-grob-properties.scm: clarify docs for #'direction.
4340 * scm/define-context-properties.scm: update old \property override.
4342 * Documentation/user/ advanced-notation, global, lilypond-book:
4343 more minor doc updates.
4345 2006-04-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4347 * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4349 * scm/backend-library.scm (search-gs): oops.
4351 2006-04-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4353 * scripts/lilypond-book.py (output): use base, not filename for href.
4355 * scm/backend-library.scm: only look for gs.
4357 * scripts/lilypond-book.py (output): fix printfilename.
4359 * lily/parser.yy (music_function_musicless_prefix): fold together
4360 definitions of signature (SCM*) (Music|post_event|chord_body_element)
4362 * lily/slur.cc (print): only set font-size if not set yet.
4364 * lily/slur-configuration.cc (add_score): improved layout of debug
4367 2006-04-05 David Feuer <David.Feuer@gmail.com>
4369 * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4370 (draw_circle): Hopefully fixed regression.
4371 Improved documentation for several procedures.
4373 2006-03-04 Werner Lemberg <wl@gnu.org>
4375 * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4377 2006-04-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4379 * scripts/musicxml2ly.py (bindir): add dynamic
4382 2006-04-04 Graham Percival <gpermus@gmail.com>
4384 * Documentation/user/ basic-notation, advanced-notation, putting,
4385 instrument-notation, invoking, lilypond, THANKS: another ream of small
4386 fixes from the Doc Helpers.
4388 2006-04-03 David Feuer <David.Feuer@gmail.com>
4390 * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4392 * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4394 * Cleaned up interfaces between PostScript and Scheme, and moved
4395 computations from PostScript to Scheme:
4397 * music-drawing-routines.ps
4398 (*SF, stroke_and_fill): new procedures. Replaced stroke and fill
4399 with stroke_and_fill throughout.
4400 (euclidean_length, print_letter, draw_box): Deleted unused
4401 procedures. If someone needs draw_box, implement it using
4402 draw_round_box; don't duplicate code.
4403 (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4404 Refactored/cleaned up interfaces.
4407 * output-ps.scm: reordered arguments to PostScript functions to
4408 match new interfaces
4409 (glyph-string): Rewrote glyph-string.
4410 (grob-cause): Replaced string-append with format.
4411 (repeat-slash): Rewrote to do computation here.
4412 (round-filled-box): Rewrote to do computation here.
4414 2006-04-04 Erlend Aasland <erlenda@gmail.com>
4416 * stepmake/stepmake/generic-targets.make: add cvs-clean target
4418 * stepmake/stepmake/toplevel- targets.make: print help info about
4421 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4423 * input/regression/hairpin-circled.ly: new file
4425 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4427 * lily/hairpin.cc (print): add support for circled tip
4429 * scm/define-grob-properties.scm: add circled-tip parameter
4431 * scm/define-grobs.scm: init circled-tip to false
4433 2006-04-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4435 * scm/music-functions.scm (quote-substitute): set
4438 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4440 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4443 * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4445 * scm/output-ps.scm (glyph-string): revert cid selectfont.
4447 2006-03-31 David Feuer <david.feuer@gmail.com>
4449 * scm/framework-ps.scm:
4451 * scm/output-ps.scm: glyph-string now produces smaller, more
4452 readable, and probably faster PostScript. Several findfont
4453 scalefont setfont instances changed to selectfont
4454 Hacked-up string-appends changed to formats.
4456 * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4458 2006-03-30 Graham Percival <gpermus@gmail.com>
4460 * scm/lily-library.scm: make "no version" warning message more polite.
4462 * lily/music.cc: add double quotes to failed octave check.
4464 * Documentation/user/ advanced-notation, changing-defaults,
4465 instrument-notation, invoking, music-glossary: whole bunch of minor
4468 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4470 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4471 $(buildscriptdir) iso. depth.
4473 * VERSION (PACKAGE_NAME): release 2.9.1
4475 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4477 * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4479 * VERSION (PATCH_LEVEL): bump version number.
4481 * flower/include/guile-compatibility.hh (scm_from_uint32): add
4484 * lily/pango-font.cc (pango_item_string_stencil): use
4487 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4488 $(outdir)/emmentaler-%.svg): remove canary.
4490 * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4491 glyphnames if we have a ttf font.
4493 2006-03-30 Mats Bengtsson <mabe@s3.kth.se>
4495 * Documentation/user/advanced-notation.itely (Font selection):
4496 Corrected reference to the font-family-override.ly example.
4498 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4500 * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4501 stem-tremolo object in the stem (or else the stem might not be
4504 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4506 * lily/ttf.cc (print_trailer): only print existing glyphs.
4508 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4510 * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4511 position the tremolo based on the position of the notehead.
4513 * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4514 notes and update the texidoc line with the new positioning rules.
4516 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4518 * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4520 * scripts/lilypond-book.py (Module): set default for linewidth if
4523 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4525 * VERSION (PACKAGE_NAME): release 2.9.0.
4527 * input/regression/stem-tremolo-position.ly: new file.
4529 * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4531 2006-03-28 Joe Neeman <joeneeman@gmail.com>
4533 * lily/stem-tremolo.cc (print): position
4534 the tremolo depending only on the end of the stem
4535 and not on the notehead
4536 (raw_stencil): center, on the middle staff line, the
4537 flag that is closest to the end of the stem (previously
4539 (calc_width): add this callback to shorten a tremolo when
4540 it is beamed or it is stemup with a flag
4541 (style): add this callback to make a tremolo rectangular when
4542 it is beamed or it is stemup with a flag
4543 (rotated_box): this is like Lookup::beam but makes a rotated
4544 rectangle instead of a parallelogram
4546 * lily/stem.cc (calc_stem_info): make sure the stem
4547 is long enough to fit the tremolo
4548 (calc-length): reduce the length of tremolo stems since the
4549 tremolo code is now capable of better positioning
4551 * scm/define-grobs.scm: make calc_width the default beam-width
4552 callback for stem-tremolo and add the style callback
4554 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4556 * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4559 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4561 * lily/ttf.cc (make_index_to_charcode_map): restore old
4564 2006-03-28 Werner Lemberg <wl@gnu.org>
4566 * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4568 2006-03-28 Graham Percival <gpermus@gmail.com>
4570 * THANKS: update for 2.9, add section for Documentation helpers.
4572 * Documentation/topdocs/NEWS.tely: compile fix.
4574 * Documentation/user/ basic-notation, global, advanced-notation,
4575 examples.itely: minor fixes from mailist.
4577 2006-03-28 Han-Wen Nienhuys <hanwen@lilypond.org>
4579 * mf/feta-bolletjes.mf: match width of solfa notes with normal
4582 * lily/ttf.cc (print_trailer): use it.
4584 * lily/pango-font.cc (get_unicode_name): new function.
4586 * lily/ttf.cc (make_index_to_charcode_map): move function from
4588 (print_trailer): substitute uniXXXX name if applicable.
4590 * lily/pango-font.cc (get_index_to_charcode_map): new function.
4591 (pango_item_string_stencil): use it to generate uniXXXX names.
4593 * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4594 note heads, for uniform widths in shape note output.
4595 (overdone_heads): hmm. remove them again.
4597 * scripts/lilypond-book.py (output): add links to filenames.
4599 * Documentation/topdocs/INSTALL.texi (Top): update versions.
4601 * lily/note-collision.cc (get_clash_groups): only consider when
4602 Note_column::dir <> CENTER.
4604 * scripts/lilypond-book.py (get_option_parser): init output_name
4607 2006-03-24 Graham Percival <gpermus@gmail.com>
4609 * Documentation/topdocs/NEWS.tely: add @end itemize
4611 * Documentation/user/ global, advanced-notation: minor
4614 2006-03-23 Graham Percival <gpermus@gmail.com>
4616 * Documentation/user/ lilypond.tely, music-glossary,
4617 preface: housekeeping; 2005->2006, remove "notes for 2.6"
4619 2006-03-23 Han-Wen Nienhuys <hanwen@lilypond.org>
4621 * mf/GNUmakefile: don't install .enc files.
4623 * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
4625 * VERSION (PATCH_LEVEL): bump to 2.9.0
4627 2006-03-22 Graham Percival <gpermus@gmail.com>
4629 * Documentation/user/advanced-notation.itely: minor fixes
4632 2006-03-22 Han-Wen Nienhuys <hanwen@lilypond.org>
4634 * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
4636 * branch lilypond_2_8
4638 2006-03-22 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4640 * scripts/lilypond-book.py (samefile): new function, for windoze
4643 2006-03-21 Graham Percival <gpermus@gmail.com>
4645 * ly/engraver-init.ly: add info about StaffGroup.
4647 2006-03-21 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4649 * input/regression/stem-direction-context.ly: idem.
4651 * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
4655 * input/regression/page-layout-twopass.ly: comment out \markup so
4658 * lily/instrument-name-engraver.cc (finalize): add to instrument
4659 name global System. This also fixes chopped instrument names, but
4660 doesn't crash when there are slurs/beams.
4662 * lily/slur-configuration.cc (add_score): disallow negative slur
4665 2006-03-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
4667 * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
4669 * lily/instrument-name-engraver.cc (process_music): kludge: add
4670 InstrumentName spanner to axis group of left bound. Fixes chopped
4671 off instrument names in EPS images.
4673 * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
4675 * scripts/abc2ly.py (option_parser): update to 2.7.40
4677 2006-03-20 Graham Percival <gpermus@gmail.com>
4679 * THANKS: move small doc contributors to SUGGESTIONS.
4681 * Documentation/user/ basic-notation, advanced-notation,
4682 global: small changes from mailist.
4684 2006-03-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
4686 * Documentation/user/advanced-notation.itely (Text marks): update
4687 for new rehearsalMarkAlignSymbol convention.
4689 * VERSION (PATCH_LEVEL): bump version.
4691 * input/test/instrument-name-align.ly: new file.
4693 * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
4695 * input/test/instrument-name-align.ly: new file. Document how to
4696 align instrument names.
4698 * lily/mark-engraver.cc: remove properties.
4700 * scm/define-context-properties.scm
4701 (all-user-translation-properties): remove align symbol properties
4702 for barnumber/reh. mark.
4704 * lily/break-align-interface.cc (self_align_callback): new
4705 interface, new function. Look at complete alignment. This handles
4706 tunable break alignments in case break-align-symbols are missing.
4708 * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
4710 * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
4712 * python/convertrules.py (conv): mark/bar number alignment rule.
4714 * lily/break-align-interface.cc (calc_positioning_done): also
4715 store offset from last visible break-alignment to its
4716 neighbor. This makes alignment on non-visible objects more reliable.
4718 * po/lilypond.pot (Module): ran po-replace.
4720 * input/regression/tie-single-manual.ly (Module): new file.
4722 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
4723 look at has_manual_position_.
4724 (from_ties): set has_manual_position_ if tie has staff-position set.
4726 * lily/tuplet-bracket.cc (calc_positions): idem.
4728 * lily/tuplet-number.cc (print): don't print tupletnumber if it
4731 2006-03-19 Nicolas Sceaux <nicolas.sceaux@free.fr>
4733 * scm/define-markup-commands.scm (smallCaps): new markup command
4734 for turning a text to small caps using smaller font size and upper
4737 2006-03-17 Graham Percival <gpermus@gmail.com>
4739 * Documentation/user/ examples, instrument-notation,
4740 advnaced-notation: minor fixes from mailist.
4742 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
4744 * Documentation/user/tutorial.itely (First steps): change example
4747 2006-03-17 Graham Percival <gpermus@gmail.com>
4749 * Documentation/user/ examples, advanced: minor changes from mailist.
4751 * THANKS: add Geoff Horton, for documentation stuff.
4753 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
4755 * python/lilylib.py (system): revert have_select kludge.
4757 * Documentation/user/tutorial.itely (Commenting input files):
4758 update version numbers in doc.
4760 * scm/define-grob-interfaces.scm (multi-measure-interface): add
4761 bound-padding to multi-measure-interface
4763 2006-03-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
4765 * input/test/engraver-example.ily: update version number.
4767 * VERSION (PACKAGE_NAME): release 2.7.39
4769 * lily/note-spacing.cc (get_spacing): heighten threshold where
4770 accidentals/arpeggios influence previous spacing fully.
4772 * lily/rest.cc (y_offset_callback): only use direction if
4773 staff-position wasn't set before.
4775 * lily/bar-number-engraver.cc: add support for
4776 barNumberAlignSymbol.
4777 add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
4779 * lily/pointer-group-interface.cc (set_ordered): new function.
4780 (add_unordered_grob): new function.
4782 * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
4783 to ordered, unless the opposite has been proved. This fixes
4784 random reordering of large object groups across linebreaks,
4787 * lily/main.cc (do_chroot_jail): printf format fix.
4789 * lily/tie-formatting-problem.cc (generate_configuration):
4790 multiply y-shift for dot with direction.
4792 * scm/define-markup-commands.scm (note-by-number): put (magstep
4793 size) in y-attach too.
4795 * Documentation/topdocs/NEWS.tely (Top): show override.
4797 * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
4798 direction for stems.
4800 2006-03-15 Graham Percival <gpermus@gmail.com>
4802 * Documentation/user/ changing-defaults, global: minor
4805 2006-03-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
4807 * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
4809 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
4810 breakable items after uniformly stretched notes.
4812 * lily/tie-formatting-problem.cc (set_chord_outline): initialize
4813 outline with outer edge of note heads. This prevents infinity
4814 problems with tied whole notes.
4816 * scripts/lilypond-book.py (do_file): use os.popen
4818 * python/convertrules.py (conv): add rule for Stem #'beamed-*
4820 2006-03-14 Erik Sandberg <mandolaerik@gmail.com>
4822 * Documentation/user/invoking.itely: Add ragged-right to bug report
4825 2006-03-14 Graham Percival <gpermus@gmail.com>
4827 * Documentation/user/global.itely: small fix from mailist.
4829 2006-03-14 Mats Bengtsson <mabe@s3.kth.se>
4831 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
4832 file descriptor returned by tempfile.mkstemp() when writing
4833 to tmpfile and closing it. Solves problem with unlink(tmpfile)
4836 2006-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
4838 * po/fi.po: newline bugfix.
4840 2006-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
4842 * scm/paper.scm (paper-alist): Rounding fixes.
4844 2006-03-13 Graham Percival <gpermus@gmail.com>
4846 * Documentation/user/ changing-defaults, instrument-notation,
4847 tutorial: small fixes from mailist, mostly from Mats. Thanks!
4849 2006-03-13 Heikki Junes <hjunes@cc.hut.fi>
4853 2006-03-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
4855 * stepmake/bin/add-html-footer.py (mail_address_url): don't add
4858 * python/lilylib.py (print_environment): move ps_page_count to
4861 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
4863 * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
4865 * scm/framework-ps.scm (embed-document): new function. Use to
4868 * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
4870 2006-03-12 Mats Bengtsson <mabe@s3.kth.se>
4872 * Documentation/user/instrument-notation.itely (Setting simple
4873 songs): Added \book{...} around the full example, so the separate
4874 markups are included in the printed example.
4876 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
4878 * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
4881 * python/lilylib.py (system): rewrite system() using
4882 subprocess. Remove >& redirection trickery.
4884 2006-03-11 Graham Percival <gpermus@gmail.com>
4886 * Documentation/user/ changing-defaults, global, scheme-tutorial,
4887 notation-appendices.itely: minor fixes from mailist.
4889 2006-03-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
4891 * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
4892 unsplit man also needs images.
4894 * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
4896 * VERSION (PACKAGE_NAME): 2.7.38 released.
4898 2006-03-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
4900 * scripts/lilypond-book.py (get_latex_textwidth): look for latex
4903 2006-03-08 Johannes Schindelin <Johannes.Schindelin@gmx.de>
4905 * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
4906 respects the Score.skipTypesetting property.
4908 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
4910 * scm/framework-ps.scm (ps-embed-cff): no Setup section in
4911 Prolog. No %%EOF after CFF file.
4913 2006-03-08 Joe Neeman <joeneeman@gmail.com>
4915 * lily/constrained-breaking.cc (get_max_systems): used to return a
4917 (combine_demerits): use pointers to reduce copying data
4918 (calc_subproblem): idem
4919 (get_page_penalty): add page turn penalties
4921 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
4923 * Documentation/user/invoking.itely (Invoking lilypond): better
4924 explanation of -e usage.
4926 * lily/main.cc (main_with_guile): don't append to
4927 init_scheme_code_string
4929 * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
4931 * Documentation/user/invoking.itely: add note about MacOS X scripts.
4933 * scripts/convert-ly.py (do_options): don't print help for
4936 * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
4937 @code and @example. Update from texinfo.tex from CVS.
4939 2006-03-08 Graham Percival <gpermus@gmail.com>
4941 * Documentation/user/scheme-tutorial.itely: clarifies distances
4942 measured in staff-spaces.
4944 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
4946 * lily/slur.cc (outside_slur_callback): only calculate offsets if
4947 consider[k] is true.
4949 * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
4951 * lily/spacing-basic.cc (standard_breakable_column_spacing): also
4952 consider columns that have originals. Unifies spacing for mm
4953 rests around line breaks.
4955 * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
4956 (set_text_rods): idem.
4957 (calculate_spacing_rods): new function: share code between
4958 set_text_rods and set_spacing_rods.
4959 (set_text_rods): take extents of bounds into account.
4961 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
4963 * Documentation/user/basic-notation.itely (Writing music in
4964 parallel): don't use relative.
4966 2006-03-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
4968 * ly/music-functions-init.ly (Module): add shiftDurations
4970 * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
4972 * scm/paper.scm (paper-alist): no decimals for Ax paper sizes.
4974 * ly/engraver-init.ly: init vocalName to nil.
4976 2006-03-05 Erik Sandberg <mandolaerik@gmail.com>
4978 * scm/music-functions.scm (music->make-music): bugfix,
4979 KeyChangeEvents are now handled correctly.
4981 * scripts/lilypond-book.py: Add --debug option.
4983 2006-03-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
4985 * python/lilylib.py: add tempfile.
4987 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
4989 * VERSION (PACKAGE_NAME): release 2.7.37
4991 * python/lilylib.py (ps_page_count): remove make_ps_images().
4992 (ps_page_count): remove mkdir_p
4993 (system): remove cleanup_temp.
4994 (exit): remove lilypond_version_(check)
4995 (error_log): remove pseudo_filter_p
5000 * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5003 * lily/accidental-engraver.cc (make_standard_accidental): only add
5004 support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5006 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5007 $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5008 Make incompatibilities.
5010 * scm/output-ps.scm (grob-cause): replace backslashes by /
5011 (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5013 2006-03-02 Jan Nieuwenhuizen <janneke@gnu.org>
5015 * cygwin/GNUmakefile: Install fixes.
5017 * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5019 * lily/note-head.cc (head::get_balltype): Compile fix.
5021 * flower/file-name.cc (dos_to_posix): Flower string fix.
5023 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5025 * python/lilylib.py: pychecker cleanups.
5027 * scripts/lilypond-book.py
5028 (Lilypond_snippet.output_print_filename): pychecker cleanups
5030 * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5032 * python/lilylib.py (underscore): remove identify() , warranty()
5034 * ps/music-drawing-routines.ps: change Border routine for GSView
5037 * lily/stem.cc (height): use quantize-positions. This triggers
5038 set_stem_lengths, so scripts on beamed stems are handled correctly.
5040 * lily/side-position-interface.cc (aligned_side): check if edges
5041 of script are inside staff. Fixes accent of edge of the staff.
5043 * input/regression/staccato-pos.ly: more examples.
5045 * stepmake/aclocal.m4 (depth): fix bashism.
5047 * lily/lyric-combine-music-iterator.cc: move from
5048 new-lyric-combine-iterator.cc
5049 (process): add pending_grace_lyric_ member to delay lyrics on
5052 * lily/system-start-text.cc (print): suicide if we don't have any
5053 elements. Fixes hara kiri'd instrument names.
5055 * scripts/mup2ly.py (Module): remove.
5057 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5059 * Documentation/user/global.itely (A single music expression):
5060 close @lilypond properly
5062 * lily/volta-bracket.cc (modify_edge_height): change from
5063 after_line_breaking_callback. Suicide last bracket if appropriate.
5065 * python/lilylib.py: strip getopt support
5067 * scripts/etf2ly.py (do_options): use optparse
5069 * scripts/midi2ly.py: optparse, strip lilylib copy.
5071 * scripts/abc2ly.py (voices): use optparse.
5073 * stepmake/stepmake/generic-vars.make: new function absdir.
5075 * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5077 * scripts/lilypond-book.py (find_file): use global_options for
5080 * scm/ps-to-png.scm (ps-page-count): prevent null characters
5083 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5085 * python/lilylib.py (get_global_option): ughness for extracting
5086 global options from lilylib.
5087 (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5089 * scripts/lilypond-book.py (get_option_parser): use optparse for
5090 option handling. Put options in global_options variable.
5092 2006-02-28 Heikki Junes <hjunes@cc.hut.fi>
5094 * Documentation/index.html.in: clarify.
5096 2006-02-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
5098 * scm/layout-page-layout.scm (write-page-breaks): add a
5099 music-system-heights property to the page layout output.
5101 * scm/page.scm (make-page-stencil): take footer into account when
5102 computing the 'space-left page property
5103 (annotate-space-left): take footer into account when annonating
5106 2006-02-28 Graham Percival <gpermus@gmail.com>
5108 * Documentation/user/ advanced-notation, global: more (final)
5109 docs for music expressions, removed special fermatas.
5111 2006-02-27 Graham Percival <gpermus@gmail.com>
5113 * Documentation/user/ basic-notation, global: minor changes
5116 2006-02-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
5118 * scm/framework-ps.scm:
5119 * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5120 layer for inf? and nan? from framework-ps to lily-library.
5122 2006-02-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
5124 * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5125 $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5127 * buildscripts/substitute-encoding.py (Module): remove file.
5129 * mf/GNUmakefile: more PFA strippage.
5131 * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5133 * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5136 * scm/framework-ps.scm: remove font name munging.
5138 * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5140 2006-02-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
5142 * scm/markup.scm (define-markup-command): change
5143 def-markup-command to define-markup-command
5145 * scm/music-functions.scm (define-music-function): change
5146 def-music-function to define-music-function.
5148 * python/convertrules.py (conv): rules for def-music-function
5149 and def-markup-commands
5151 * Documentation/user/programming-interface.itely,
5152 input/no-notation/display-lily-tests.ly,
5153 input/regression/lily-in-scheme.ly,
5154 input/regression/markup-user.ly,
5155 input/regression/music-function.ly, input/regression/tie-chord.ly,
5156 scm/fret-diagrams.scm, ly/music-functions-init.ly,
5157 ly/gregorian-init.ly: use new macro names (define-music-function,
5158 define-markup-command).
5160 2006-02-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
5162 * scripts/lilypond-book.py (main): write Makefile dependencies file.
5163 (output): add comments to lp-book latex output.
5165 * GNUmakefile.in (footifymail): use gmane address for webpage bug
5168 2006-02-23 Graham Percival <gpermus@gmail.com>
5170 * Documentation/user/ tutorial, global: minor changes.
5172 2006-02-23 Nicolas Sceaux <nicolas.sceaux@free.fr>
5174 * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5175 blocks (for make 3.80)
5177 * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5178 \notemode so that user should not have to explicitely type it.
5180 * scm/define-music-display-methods.scm: various
5181 fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5184 * input/no-notation/display-lily-tests.ly: new tests for
5185 \applyOutput and \applyContext
5187 2006-02-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
5189 * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5190 changed it slightly so that the number of systems returned by
5191 solve () will be the same as the last value passed to resize
5192 (). I've also added more documentation, removed casts, fixed style
5193 problems and put in some recovery if constraints aren't satisfied."
5195 2006-02-23 Jan Nieuwenhuizen <janneke@gnu.org>
5197 * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5198 for emacs < 22 compatibility.
5199 (count-rexp): Use it.
5200 (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5201 substring juggling (Milan Zamazal).
5203 2006-02-23 Graham Percival <gpermus@gmail.com>
5205 * Documentation/user/ basic-notation, advanced-notation,
5206 global.itely, invoking.itely, tutorial,itely:
5207 minor fixes from mailist.
5209 * scm/define-markup-commands.scm: improve docs of \filled-box.
5211 2006-02-23 Heikki Junes <hjunes@cc.hut.fi>
5213 * Documentation/index.html.in: changes concern the previous release.
5215 * input/regression/+.ly: cultivate typographical terminology.
5217 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5219 * scm/define-grob-interfaces.scm (parentheses-interface): add
5220 padding to parentheses-interface.
5222 * Documentation/user/GNUmakefile: remove $(CROSS) support from
5223 Documentation/user/GNUmakefile. Use --disable-documentation for that.
5225 * VERSION (PATCH_LEVEL): release 2.7.36
5227 * lily/slur.cc: add avoid-slur (ugh.)
5229 * lily/slur-configuration.cc (fit_factor): oops, skip point if
5230 intersection gets smaller. This fixes slurs over extreme points.
5232 * lily/melody-engraver.cc (stop_translation_timestep): ignore
5233 stems with neutral-direction set.
5235 * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5237 * lily/open-type-font.cc (load_table): format error.
5239 * lily/change-iterator.cc (process): format fix.
5241 * flower/include/international.hh (_f): idem.
5243 * flower/include/std-string.hh: add format printf attribute.
5245 * scm/define-grobs.scm (all-grob-descriptions): height of all
5246 PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5248 * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5251 * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5253 2006-02-22 Erik Sandberg <mandolaerik@gmail.com>
5255 * input/regression/: upgraded syntax for some files.
5257 * THANKS: Add bughunters.
5259 2006-02-22 Graham Percival <gpermus@gmail.com>
5261 * Documentation/user/ invoking.itely, advanced-notation.itely,
5262 global.itely: long-awaited "let's make chapter 10 not suck"
5263 update. Rearrange chapter 10; now called "global issues",
5264 addresses file structure, etc. Some info from other files
5265 moved into global.itely.
5267 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5269 * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5270 catch trill-span-event notes.
5272 * Documentation/user/examples.itely (Ancient notation templates): typo.
5275 * scripts/lilypond-book.py (main): scrap invokes_lilypond().
5277 * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5279 * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5281 * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5283 * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5284 froum Laissez_vibrer_engraver.
5286 * ly/declarations-init.ly (repeatTie): add \repeatTie
5288 * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5290 * scm/define-grob-properties.scm (all-user-grob-properties): add
5291 head-direction property.
5293 * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5294 from_lv_ties. Take head direction argument.
5296 * lily/semi-tie-column.cc: rename from
5297 laissez-vibrer-tie-column.cc. Rename class too.
5299 * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5302 * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5304 * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5306 (find_breaks): idem.
5308 2006-02-21 Graham Percival <gpermus@gmail.com>
5310 * Documentation/user/advanced-notation.itely: fixed make-moment]
5313 * Documentation/user/basic-notation.itely: more clarification to
5316 2006-02-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
5318 * lily/include/constrained-breaking.hh (class
5319 Constrained_breaking): new file.
5321 * lily/constrained-breaking.cc (resize): new file.
5323 * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5325 * Documentation/user/advanced-notation.itely (Clusters): insert
5328 * lily/tie-column.cc (calc_positioning_done): support for
5331 * lily/tie-formatting-problem.cc
5332 (generate_extremal_tie_variations): factor out.
5333 (score_ties_configuration): annotate all tie
5334 (print_ties_configuration): new routine.
5335 (generate_configuration): nudge extremal ties outside of the head
5337 (score_ties_configuration): oops. convert to staff-space before
5338 determining position symmetry.
5340 2006-02-20 Graham Percival <gpermus@gmail.com>
5342 * Documentation/user/*-notation.itely: misc minor editing,
5343 shifting doc sections around.
5345 * Documentation/user/*-notation-itely, global.itely,
5346 changing-defaults.itely: added new stuff from NEWS.
5348 2006-02-20 Heikki Junes <hjunes@cc.hut.fi>
5352 2006-02-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5354 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5355 lilypond --verbose for lp-book.
5357 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5358 $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5360 * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5361 $(buildscript-dir) iso. absolute depth.
5363 * buildscripts/genicon.py (dir): thinko.
5365 * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5367 2006-02-19 Erik Sandberg <mandolaerik@gmail.com>
5369 * scm/output-lib.scm: swap darkcyan/darkyellow
5371 * THANKS: Add bughunters.
5373 2006-02-19 Graham Percival <gpermus@gmail.com>
5375 * Documentation/user/programming-interfaces.itely: fixed example.
5377 * Documentation/user/instrument-notation.itely: fix @{ @}.
5379 * scm/script.scm: add avoid-slur for \open.
5381 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5383 * lily/tie-formatting-problem.cc (score_configuration): use
5384 sliding score for min-length.
5386 * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5387 spaghetti for icons.
5389 * buildscripts/genicon.py (program_name): new file.
5391 * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5393 (generate_configuration): for small ties, also look for collisions
5394 at Y + DIR*h + DELTA_Y.
5395 (get_variations): consider variation for dot positions too.
5397 * lily/side-position-interface.cc (aligned_side): take abs for
5398 quantized rounded position. Fixes tenuto below staff.
5400 * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5401 markers when necessary.
5403 * lily/program-option.cc (internal_set_option): add
5404 strict_infinity_checking option.
5406 * scm/output-lib.scm (cyan): swap yellow and cyan.
5408 2006-02-19 Graham Percival <gpermus@gmail.com>
5410 * darwin.patch: trivial linenumber update.
5412 * Documentation/user/ {various}: `\context foo = named' changed
5413 to `\new foo = "name"' in docs.
5415 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5417 * scm/stencil.scm (annotate-y-interval): use it.
5419 * scm/lily-library.scm (interval-sane?): new function.
5421 * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5424 * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5427 * flower/include/std-vector.hh (iterof): add iterof macro.
5429 * lily/enclosing-bracket.cc (width): new function.
5431 * lily/align-interface.cc (align_elements_to_extents): reinstate
5434 2006-02-18 Heikki Junes <hjunes@cc.hut.fi>
5436 * Documentation/index.html.in: fix spelling: thankyous.
5438 2006-02-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
5440 * lily/lyric-hyphen.cc: typo.
5442 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5444 * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5445 $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5448 * VERSION: release 2.7.35
5450 * lily/beam.cc (get_default_dir): oops. Take abs () for
5452 (get_default_dir): use extreme position criterion only in absence
5453 of forced stem directions.
5455 * VERSION (PATCH_LEVEL): bump VERSION.
5457 * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5458 dependencies. Necessary for -jX builds.
5460 2006-02-17 Jan Nieuwenhuizen <janneke@gnu.org>
5462 * lily/relocate.cc (setup_paths): Yet another const fix.
5464 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5466 * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5468 * lily/relocate.cc (setup_paths): oops.
5470 2006-02-17 Heikki Junes <hjunes@cc.hut.fi>
5472 * Documentation/index.html.in: order links: html before PDF.
5474 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5476 * lily/tie-column-format.cc (Module): remove.
5478 * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5480 * lily/text-spanner.cc (print): idem.
5482 * lily/dynamic-text-spanner.cc (print): only print line if longer
5485 * lily/auto-change-iterator.cc (change_to): formatting.
5487 * lily/beam.cc (get_default_dir): take extreme note head as input
5490 * lily/tie.cc (get_default_dir): only look directions for visible
5493 * lily/side-position-interface.cc (aligned_side): oops. Don't
5494 mutiply with direction. This fixes quantized (staccato, tenuto)
5495 scripts below notes.
5497 * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5498 direction. Fixes c-lyrics-center-align.ly
5500 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5502 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5505 * lily/std-string.cc:
5506 * lily/include/std-vector.hh (split_string): Move and rename from
5507 lily/include/misc.hh, lily/misc.cc. Update callers.
5509 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5511 * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5513 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5515 * flower/test-file.cc: New file.
5517 * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5520 * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5522 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5524 * flower/include/file-storage.hh: remove file.
5526 * lily/include/midi-item.hh (class Midi_track): idem.
5528 * lily/include/source.hh (class Sources): idem.
5530 * lily/include/performance.hh (class Performance): use vector
5533 * flower/include/cons.hh (class Cons): remove file.
5535 * flower/include/flower-proto.hh: remove template cruft.
5537 * lily/include/font-metric.hh: use size_t not vsize for indices.
5539 * flower/include/flower-proto.hh (Module): remove std-vector.hh
5542 * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5544 * lily/include/paper-book.hh (class Paper_book):
5545 make get_system_specs() public.
5547 * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5548 the force=10000 case if we don't have a current-best.
5550 * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5553 * flower/include/flower-proto.hh: remove outdated templates.
5555 * scm/page.scm: use annotate-spacing
5557 2006-02-15 Graham Percival <gpermus@gmail.com>
5559 * scm/translation-functions.scm: circle patch from Erlend, thanks!
5561 * THANKS: moved Erlend Aasland to contributors.
5563 2006-02-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5565 * config.hh.in: remove HAVE_PANGO_16
5567 * lily/tuplet-bracket.cc (calc_positions): multiply with
5568 staff-space for beam case. This fixes tuplets+beams on scaled
5571 * config.hh.in: remove all Kpathsea related defines.
5573 * lily/dot-column.cc (side_position): reach stem via dots->
5574 head->stem. Inspect all stems for dot collisions.
5576 * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5579 * lily/bar-number-engraver.cc (process_music): document function
5582 * lily/score.cc (default_rendering): add pscore, not systems
5585 * lily/paper-book.cc (get_system_specs): separate generation of
5588 * flower/include/std-vector.hh: don't include config.hh
5590 2006-02-15 Jan Nieuwenhuizen <janneke@gnu.org>
5592 * flower/include/std-vector.hh: Better wrapper compatibility with
5595 * flower/include/flower-proto.hh: Remove cheap forward declaration
5598 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5600 2006-02-14 Graham Percival <gpermus@gmail.com>
5602 * Documentation/user/invoking.itely: add warning about command line.
5604 2006-02-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
5606 * lily/include/lily-proto.hh: add Prob, rm Page.
5608 * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5610 * VERSION: release 2.7.34
5612 * lily/relocate.cc (framework_relocation): show canary if
5613 GHOSTSCRIPT_VERSION undefined.
5615 * GNUmakefile.in: remove $(VERSION) symlink.
5617 * lily/relocate.cc (setup_paths): add +
5619 2006-02-13 Heikki Junes <hjunes@cc.hut.fi>
5621 * Documentation/index.html.in: specify sizes for all big HTML pages.
5623 2006-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5625 * config.hh.in: remove @FRAMEWORKDIR@
5627 * lily/system-start-text.cc (get_stencil): new file: separate out
5628 system-start-delimiter text support.
5630 * input/**ly: replace \context with \new where appropriate.
5634 * lily/slur-scoring.cc (get_base_attachments): use
5635 robust_relative_extent. This fixes problems with empty paper-columns.
5637 2006-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5639 * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
5641 * scm/define-music-properties.scm (all-music-properties):
5642 create-new property.
5644 * lily/context-specced-music-iterator.cc (construct_children):
5645 inspect 'create-new property iso. magical $uniqueContextId context
5648 * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
5650 * lily/context-key-manager.cc (Module): new file. Encapsulate
5651 object key generation.
5653 * lily/include/context-key-manager.hh (Module): new file.
5655 2006-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5657 * scm/define-grobs.scm (all-grob-descriptions): center instrument
5660 * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
5662 (reloc_b): excise --enable-framework-dir
5664 * lily/relocate.cc (framework_relocation): use getenv
5665 LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
5667 2006-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
5669 * flower/include/std-string.hh:
5670 * flower/include/std-vector.hh: Finish std:: conversion; move
5671 flower extensions from std:: namespace. Update users.
5673 * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
5674 their expansion to vector<*>. Update users.
5676 2006-02-10 Graham Percival <gpermus@gmail.com>
5678 * Documentation/user/invoking.itely: add example to File structure.
5680 * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
5681 examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
5683 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5685 * ly/paper-defaults.ly: typo.
5687 * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
5688 set_parent() for parentheses. This will make it show up in bbox
5691 * scm/output-lib.scm (parentheses-item::print): rewrite, using
5692 ly:grob-common* functions.
5694 * lily/grob-scheme.cc (LY_DEFINE):
5695 ly:grob-common-refpoint-of-array: new function
5696 ly:grob-common-refpoint: new function
5697 ly:grob-relative-coordinate: new function
5699 * lily/instrument-name-engraver.cc (process_music): use
5700 Text_interface::is_markup(). This fixes \markup on instrument names.
5702 * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
5705 * lily/slur.cc (print): idem.
5707 * lily/tie.cc: add line-thickness for ties.
5709 2006-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
5711 * scm/output-svg.scm: Document diversion from GNU coding standards
5712 as a workaround for a bug in Microsoft Internet Explorer.
5714 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5716 * lily/instrument-name-engraver.cc (process_music): use
5717 is_markup() iso. is_string()
5719 * Documentation/user/changing-defaults.itely (Module): add menu entry.
5721 * lily/percent-repeat-engraver.cc (process_music): only look at
5722 main_part_ for % repeats.
5724 * lily/stem-tremolo.cc (get_beam_translation): new function.
5725 (calc_slope): new function.
5726 (height): don't use real slope.
5728 2006-02-10 Jürgen Reuter <reuter@ipd.uka.de>
5730 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
5731 new connect-to-neighbor, control-points and staff-padding
5732 properties to make ligature brackets showing up again.
5734 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5736 * VERSION: release 2.7.33
5738 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
5741 * Documentation/user/changing-defaults.itely (Difficult tweaks):
5742 remove applyOutput example.
5743 (Objects connected to the input): document \tweak, \parenthesize
5745 * lily/relocate.cc (prefix_relocation): allow "current"
5746 iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
5747 changing VERSION in a lily tree less painful.
5749 * input/regression/parenthesize.ly: new file.
5751 * scm/output-lib.scm (parenthesize-element): new function.
5753 * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
5755 * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
5757 * lily/accidental-engraver.cc (make_standard_accidental): reroute
5758 cause: accidentals are caused by note heads, not note events.
5760 2006-02-08 Graham Percival <gpermus@gmail.com>
5762 * darwin.patch: small patch from Erlend, thanks!
5764 * Documentation/user/basic-notation.itely: add stem-neutral example.
5766 * Documentation/user/putting.itely: clarifications.
5768 2006-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
5770 * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
5771 note, add more guidelines to what should go into NEWS.
5773 * input/sakura-sakura.ly: document how to override font.
5775 * input/regression/font-family-override.ly: doc -dshow-available-fonts
5777 2006-02-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5779 * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
5781 2006-02-08 Jan Nieuwenhuizen <janneke@gnu.org>
5783 * scripts/convert-ly.py (lilypond_version_re_str): Move from
5784 convertrules. Add explicit grouping, needed for python2.2.
5786 2006-02-07 Jan Nieuwenhuizen <janneke@gnu.org>
5788 * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
5790 2006-02-07 Graham Percival <gpermus@gmail.com>
5792 * Documentation/user/global.itely: fix line-width in (text) docs.
5794 * Documentation/user/lilypond-book.itely: same.
5796 2006-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
5798 * VERSION (PACKAGE_NAME): release 2.7.32
5800 * Documentation/topdocs/NEWS.tely (Top): document new variable
5803 * flower/include/array.icc (Message): remove file.
5805 * flower/include/std-vector.hh: make sure vsize and VPOS are
5806 defined for binary_search_bounds().
5808 * flower/std-string.cc (std): add to_string(long unsigned).
5810 * configure.in (gui_b): excise std_string option.
5811 (gui_b): excise std_vector option.
5813 * flower/string.cc (Module): excise flower array & string
5815 * flower/include/std-string.hh: excise flower string.
5817 * {ly,lily,scm}/*: use dashes in \paper and \layout variables
5819 * python/convertrules.py (lilypond_version_re_str): require
5820 only numbers and dots in \version string.
5822 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
5824 * lily/system-start-delimiter.cc (print): allow style = text too.
5826 * lily/system-start-delimiter-engraver.cc
5827 (acknowledge_system_start_text): new function, also add add to
5828 support of system-start-text (instrument names). This fixes
5829 instrument names on piano staves.
5831 * lily/instrument-name-engraver.cc: rewrite. Use
5832 system-start-delimiter approach. This save memory and cpu.
5834 * scm/define-grobs.scm (all-grob-descriptions): remove
5835 instrument-name from break-alignment.
5837 * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
5839 2006-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
5841 * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
5844 * configure.in (std_vector): On by default.
5846 * lily/include/font-metric.hh:
5847 * lily/include/tfm-reader.hh:
5848 * lily/include/spanner.hh: Use unsigned for indices and sizes.
5851 * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
5853 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
5855 * VERSION (PACKAGE_NAME): 2.7.31
5857 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
5858 EPS edge at 0, but take minimum with left-overshoot. This fixes
5859 cut off system start delims.
5861 * lily/instrument-name-engraver.cc (stop_translation_timestep):
5862 hack: add to axis group if not added yet. This fixes hara kiri'd
5865 * lily/hara-kiri-group-spanner.cc
5866 (force_hara_kiri_in_y_parent_callback): fix signatures.
5868 * lily/hairpin.cc (print): check next hairpin to see whether or
5869 not to be continuing.
5871 2006-02-04 Jan Nieuwenhuizen <janneke@gnu.org>
5873 * Remove trailing whitespace from makefiles.
5875 * flower/include/std-vector.hh: Add binary_search_bounds workaround
5878 * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft.
5880 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
5882 * config.hh.in (HAVE_STL_DATA_METHOD): Add.
5884 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
5886 * configure.in: Use it.
5888 2006-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
5890 * scm/music-functions.scm (pitch-of-note): new function.
5892 * ly/music-functions-init.ly: add \octave and \addquote
5894 * lily/parser.yy (music_function_chord_body): softcode \octave.
5895 (lilypond_header): softcode \addquote
5897 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
5899 * flower/include/std-vector.hh[STD_VECTOR]: Do not include
5900 array.hh, parray.hh at all. Getting ready to flip the
5903 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
5905 * lily/source-file.cc (file::get_line): Help binary_search_bounds
5908 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
5910 2006-02-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
5912 * flower/include/array.hh: typo.
5914 2006-02-02 Graham Percival <gpermus@gmail.com>
5916 * Documentation/user/advanced-notation.itely: doc "\#" in text.
5918 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
5920 * flower/include/pqueue.hh: Derive from std::vector.
5922 * flower/include/parray.hh: Conform to std::vector interface.
5925 2006-02-02 Graham Percival <gpermus@gmail.com>
5927 * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
5929 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5931 * flower/file-path.cc (is_file): remove if 0 section.
5933 * buildscripts/pfx2ttf.fontforge (err): robustness fix for
5934 selecting afii61352.
5936 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
5938 * flower/include/std-vector.hh (boundary): Oops, reverse.
5940 * flower/string-convert.cc (convert::unsigned_string): Bugfix:
5941 remove superfluous `d'.
5943 * flower/include/std-vector.hh (boundary, top): Detach from class.
5944 Remove empty vector shell.
5946 * flower/include/array.hh (reverse, swap): Detach from class.
5949 * flower/include/std-vector.hh
5950 * flower/include/array.hh (concat): Globally change to insert ().
5952 * flower/include/std-vector.hh
5953 * flower/include/parray.hh
5954 * flower/include/array.hh (elem, elem_ref): Globally replace by
5957 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5959 * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
5961 * python/convertrules.py (FatalConversionError.sub_cxx_id):
5962 anticipate on identifier substitutions.
5964 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
5966 * flower/include/std-vector.hh (insert): Remove, replace by
5967 std::vector interface. Update callers.
5969 * flower/include/array.icc (insert): Change signature to
5970 match std::vector interface.
5972 * flower/include/array.icc (vector_sort): Bugfix.
5974 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5976 * lily/parser.yy (output_def_head_with_mode_switch): new
5977 production. Result: dashes and underscores may be used in the
5980 * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode.
5982 * python/convertrules.py (conv): oops. One slash too much.
5984 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
5986 * flower/include/std-vector.hh (sort): Remove, replace by
5987 ::vector_sort. Update callers.
5989 * flower/include/std-vector.hh (slice): Remove. Update callers.
5992 * flower/test-std.cc (vector_sort): New test.
5994 2006-02-01 Graham Percival <gpermus@gmail.com>
5996 * Documentation/user/putting.itely: fixes from Erik.
5998 2006-02-01 Jan Nieuwenhuizen <janneke@gnu.org>
6000 * flower/test-std.cc: Add simple unit test for vector migration.
6002 * stepmake/stepmake/test*: Unit test support.
6004 * flower/include/std-vector.hh (del): Remove. Use erase (),
6007 * flower/include/array.hh (begin, end): Add.
6010 2006-02-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6012 * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6013 std::string not String.
6015 * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6018 * lily/prob.cc (Prob): copy type_ too.
6020 * lily/lily-guile.cc (mangle_cxx_identifier): new
6021 function. Class_bla::foo_bar_[px] ->
6022 ly:class-bla::foo-bar[?!]. Changes throughout
6024 2006-01-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6026 * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6028 * lily/beam.cc (calc_direction): take dir from visible stem in
6031 2006-01-31 Jan Nieuwenhuizen <janneke@gnu.org>
6033 * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6034 Fix -1, >=0 boundary checks for unsigned vsize.
6036 * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6037 loop for unsigned vsize.
6039 * configure.in (--enable-std-vector): New option.
6040 (--enable-std-string): On by default.
6042 * flower/include/std-vector.hh: New file. Enable switch to
6043 std::vector, update client code.
6045 2006-01-30 Graham Percival <gpermus@gmail.com>
6047 * scm/document-translation.scm: clarify "this context is also
6048 known as". Thanks, Werner!
6050 * Documentation/user/putting.itely: small fixes from Don Blaheta.
6052 * Documentation/user/invoking.itely: small fix from Don.
6054 2006-01-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6056 * scm/lily.scm (define-scheme-options): rename option
6057 preview-include-book-title to book-title-preview
6058 (define-scheme-options): move force-eps-font-include (from paper
6059 block) to eps-font-include -d option.
6061 * VERSION (PATCH_LEVEL): release 2.7.30
6063 * input/bach-schenker.ly (staffPiano): new file.
6065 * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6067 * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6070 * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6072 * ps/lilyponddefs.ps: remove start-system, stop-system,
6073 start-page fluff. This saves putting { } code on the stack, fixing
6074 stack overflows when including EPS files.
6076 2006-01-29 Graham Percival <gpermus@gmail.com>
6078 * Documentation/user/putting.itely: minor fixes (comments on -devel).
6080 2006-01-29 Nicolas Sceaux <nicolas.sceaux@free.fr>
6082 * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6084 2006-01-28 Graham Percival <gpermus@gmail.com>
6086 * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6088 2006-01-28 Jan Nieuwenhuizen <janneke@gnu.org>
6090 * input/mutopia/claop.py: Update.
6092 2006-01-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6094 * input/regression/completion-heads.ly (texidoc): fix.
6096 * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6098 * lily/tie-formatting-problem.cc
6099 (set_ties_config_standard_directions): use abs iso fabs for ints.
6101 * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6103 * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6104 little less than noteheight, to prevent overlaps in chords.
6106 * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6107 head, and fudge stem-attachment.
6109 * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6111 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6113 2006-01-27 Jan Nieuwenhuizen <janneke@gnu.org>
6115 * lily/main.cc (main): Debugging aid: catch exceptions.
6117 * flower/std-string.cc (to_string): Robustification. Fixes midi
6118 output with std::string.
6120 2006-01-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6122 * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6124 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6126 * Fix -DSTRING_UTILS_INLINED.
6128 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6130 * VERSION (PATCH_LEVEL): release 2.7.29
6132 * lily/relocate.cc (setup_paths): mingw uses std string too.
6134 * lily/*.cc: various fixes for substr(ARG).
6136 * lily/sustain-pedal.cc (print):
6138 * flower/file-name.cc (slashify): use std strings.
6140 * flower/string-convert.cc: remove publib.h
6142 * scm/define-markup-commands.scm (verbatim-file): new markup
6143 command \verbatim-file
6145 * Documentation/topdocs/NEWS.tely: fixup URLs
6147 * input/regression/alignment-vertical-manual-setting.ly (Module):
6150 * lily/align-interface.cc (align_elements_to_extents): overwrite
6151 translations with numbers in alignment-offsets from left bound
6153 * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6154 (page-translate-systems): new function: take into account Y-offset.
6156 * Documentation/topdocs/NEWS.tely (Top): document new features.
6158 * input/regression/page-layout-manual-position.ly (Module): new
6161 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6163 * flower/file-path.cc (path::parse_path): Oops.
6165 * Finish std::string interface. For now, use std:: marker
6166 throughout for easy s/r.
6168 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6170 * Documentation/user/putting.itely (Score is a single musical
6172 (Score is a single musical expression): more typos.
6174 * scm/page.scm (annotate-space-left): thinko.
6175 (annotate-page): more thinkos.
6177 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6179 * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6180 for different \score blocks separately.
6181 (post-process-pages): put write-page-layout into paper block.
6183 * lily/output-def.cc (get_parser): new file.
6185 * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6188 * lily/include/output-def.hh (class Output_def): add parser_ member.
6190 * input/regression/page-layout-twopass.ly (Module): new file.
6192 * scm/lily.scm: remove cpp hack.
6194 * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6196 2006-01-25 Jan Nieuwenhuizen <janneke@gnu.org>
6198 * GNUmakefile.in (c-clean): New target.
6200 * flower/include/std-string.hh: String/std::string compatibility:
6201 Use NPOS for `not found' (iso -1), use ssize for length () and pos
6204 * flower/rational.cc:
6205 * flower/include/rational.hh:
6208 * flower/include/offset.hh:
6210 * flower/interval.cc:
6211 * flower/include/interval.hh:
6213 * flower/string-convert.cc:
6214 * flower/include/string-convert.hh: Use std::string [interface].
6217 2006-01-25 Heikki Junes <hjunes@cc.hut.fi>
6219 * Documentation/index.html.in: clean up.
6221 2006-01-25 Graham Percival <gpermus@gmail.com>
6223 * Documentation/user/putting.itely: another new untested doc section.
6225 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6227 * scm/layout-page-layout.scm (write-page-breaks): write
6228 \spacingTweaks #ALIST. Handle grace timing.
6230 * scm/: more imports.
6232 * scm/page.scm (make-page): add footer/header.
6233 (annotate-space-left): revise: only take page argument.
6234 (layout->page-init): new function.
6236 * scm/layout-page-layout.scm (write-page-breaks): preliminary
6237 version of the system/spacing/linebreak hack writing to the output
6239 * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6242 * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6245 2006-01-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
6247 * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6249 * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6251 * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6252 handling to page.scm
6254 * lily/prob-scheme.cc (LY_DEFINE): new file.
6255 (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6257 * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6260 * lily/music.cc (derived_mark): derive Music from Prob.
6262 * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6264 * lily/prob.cc (Module): Implement Prob (Property Object), object
6265 with shared and r/w property alists.
6267 * lily/include/prob.hh (Module): new file. Declare Prob.
6269 * flower/string.cc: remove is_empty().
6271 * flower/include/string.hh (class String): remove String:: qualifier.
6273 * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6274 substitute appropriate functions.
6276 * flower/include/string.hh (class String): remove to_str0 and
6277 is_empty(). S&R everywhere.
6279 2006-01-23 Graham Percival <gpermus@gmail.com>
6281 * Documentation/user/basic-notation.itely: add hairpin
6282 after-linebreak tweak to commonprop.
6284 * Documentation/user/putting.itely: added two new sections.
6286 2006-01-23 Jan Nieuwenhuizen <janneke@gnu.org>
6288 * flower/international.cc:
6289 * flower/include/international.hh:
6291 * flower/getopt-long.cc:
6292 * flower/include/getopt-long.hh: Use std::string [interface].
6295 * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6297 * stepmake/stepmake/executable-rules.make: Add dependency on
6300 2006-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
6302 * flower/file-path.cc:
6303 * flower/include/file-path.hh: Use std::string [interface].
6306 * flower/direction.cc:
6307 * flower/axis.cc: Unused. Remove.
6309 * configure.in (--enable-std-string): New option.
6311 * flower/std-string.cc:
6312 * flower/include/std-string.hh: New file.
6314 * flower/file-name.cc[STD_STRING]:
6315 * flower/include/file-name.hh[STD_STRING]: Use it. Update callers.
6317 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6319 * scm/output-svg.scm (placebox): no GNU coding standards in SVG output.
6321 * scm/define-markup-commands.scm (with-dimensions):
6322 with-dimensions markup command.
6324 * input/test/font-table.ly: use it.
6326 * lily/open-type-font.cc (glyph_list): new function.
6328 * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6330 * lily/ttf.cc: remove ly:font-glyph-list scheme function
6332 2006-01-22 Nicolas Sceaux <nicolas.sceaux@free.fr>
6334 * ly/music-functions-init.ly (parallelMusic): new music function
6335 for parallel music entry.
6337 * scm/define-music-properties.scm (all-music-properties): new
6338 'void music property
6340 * scm/music-functions.scm (ly:music-message): make public, to be
6341 used in music function definitions
6343 * scm/lily-library.scm (collect-music-for-book): discard music
6344 when the 'void property is set.
6346 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6348 * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6350 * mf/GNUmakefile: idem.
6352 * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6354 * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6356 * Documentation/user/notation-appendices.itely (The Feta font):
6359 * input/test/font-table.ly: new file. Generate font table within lily.
6361 * Documentation/user/notation-appendices.itely (The Feta font):
6362 use new font-table.ly file.
6364 * stepmake/stepmake/install-out-targets.make
6365 (local-install-outfiles): only create directory if
6366 $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6368 2006-01-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6370 * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6372 * VERSION (PACKAGE_NAME): release 2.7.28
6374 * scm/framework-ps.scm (write-preamble): use it to pick exactly
6375 the right font from a Mac dfont.
6376 (write-preamble): don't forget directory, only look at files.
6378 This fixes problems with TTF files in dfonts that don't match
6379 their PostScript names.
6381 * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6382 PS name from TTF font.
6384 * input/regression/tie-manual.ly: document new feature.
6386 * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6388 * VERSION (MY_PATCH_LEVEL): bump to .28
6390 * Documentation/user/basic-notation.itely (Ties): add tie examples
6393 * lily/tie-formatting-problem.cc (score_ties_configuration):
6394 symmetry penalties for outer ties.
6396 2006-01-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
6398 * lily/tie-formatting-problem.cc (generate_configuration)
6399 (set_manual_tie_configuration): skip non-pair manual
6400 tie-configuration, so you can set individual ties as
6402 #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6404 * input/regression/tie-chord.ly: use generateTiePattern to
6407 * lily/tie-formatting-problem.cc (peak_around): new function.
6408 (score_configuration): use sliding criterion for staff line collisions.
6409 (score_configuration): idem for dot collisions.
6410 (generate_configuration): use separate stem_gap for gap to stem.
6412 * lily/include/tie-formatting-problem.hh (struct Tie_details):
6413 separate penalty factors for x and y distance.
6414 (struct Tie_details): separate penalties for tip and center line collisions.
6416 2006-01-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6418 * lily/tie-formatting-problem.cc (generate_configuration): make
6419 large ties avoid stafflines in the horizontal section.
6420 (score_configuration): use softcoded penalties
6421 (score_aptitude): idem.
6423 * lily/tie-helper.cc (from_grob): softcode tie details
6425 * lily/staff-symbol-referencer.cc (on_staff_line): new function
6427 * lily/staff-symbol-referencer.cc (on_line): rename from
6430 2006-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
6432 * ly/music-functions-init.ly: remove duplicate tag.
6434 * lily/include/*.hh: GCC 4.1 fixes.
6436 006-01-16 Erlend Aasland <erlenda@gmail.com>
6438 * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6440 * scm/define-music-types.scm: fix bug in desc. string
6441 for OverrideProperty
6443 2006-01-15 Erik Sandberg <mandolaerik@gmail.com>
6445 * scripts/lilypond-book.py: bugfix
6447 * scm/define-music-types.scm: fix typos.
6449 2006-01-14 Graham Percival <gpermus@gmail.com>
6451 * Documentation/user/ basic-notation.itely, global.itely,
6452 advanced-notation.itely, instrument-notation.itely: small
6453 additions (bugs and commonly tweaked properties).
6455 2006-01-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
6457 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6458 detection of mingw build.
6459 (MINGW_BUILD): opps.
6461 2006-01-12 Jan Nieuwenhuizen <janneke@gnu.org>
6463 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6466 2006-01-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
6468 * scm/music-functions.scm (skip->rest): add skip->rest
6470 2006-01-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
6472 * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6475 * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6476 config dirs. Aids debugging.
6477 (display_config): also display config files.
6479 2006-01-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6481 * VERSION: release 2.7.27
6483 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6484 for determining bar size.
6486 * lily/staff-symbol.cc (print): place lines at distance line-positions
6488 * scm/define-grob-properties.scm (all-user-grob-properties): add
6491 * lily/staff-symbol.cc (height): new function.
6493 * input/regression/staff-line-positions.ly: new file.
6495 2006-01-06 Graham Percival <gpermus@gmail.com>
6497 * input/test/add-staccato.ly: remove reference to old file.
6499 2006-01-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6501 * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6502 lilypond binary too.
6504 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6506 * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6508 2006-01-06 Jan Nieuwenhuizen <janneke@gnu.org>
6510 * scripts/midi2ly.py: Bugfix: Declare datadir.
6512 * make/ly-rules.make:
6513 * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6514 that seems to be gone). Fixes make web.
6516 * The grand 2005-2006 replace.
6518 * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6520 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6522 * make/lilypond-vars.make: set LILYPOND_BINARY variable
6523 (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6524 LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6525 like -dgs-font-load.
6527 * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6528 remove absolute path to lilypond binary.
6530 2006-01-05 Pedro Kroeger <kroeger@pedrokroeger.net>
6532 * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6534 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6536 * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6538 * mf/GNUmakefile: remove broken dvips map symlink.
6540 2006-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
6543 * configure.in: Cosmetic fixes.
6545 2006-01-04 Mats Bengtsson <mabe@s3.kth.se>
6547 * Documentation/user/music-glossary.tely (Pitch names): Added
6548 Spanish pitch names and durations, thanks to Ernesto Gancedo
6550 2006-01-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6552 * scm/lily.scm (define-scheme-options): use quasi-quote for option
6553 init. Fixes verbose printing of .scm files.
6555 * stepmake/aclocal.m4: add spaces before - options.
6557 2006-01-03 Jan Nieuwenhuizen <janneke@gnu.org>
6559 * lily/relocate.cc (setup_paths): Bugfix: do not store result
6560 of path search in local block variable.
6562 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6564 * configure.in (NCSB_DIR): --enable-ncsb-dir
6565 (LINK_GXX_STATICALLY): denko.
6567 * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH.
6569 * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option.
6570 use locate to find c059033l.pfb.
6572 2006-01-02 Jan Nieuwenhuizen <janneke@gnu.org>
6574 * lily/tie-formatting-problem.cc
6575 (problem::generate_base_chord_configuration): Use my_round (was
6578 * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6579 do not invoke mbrtowc.
6581 * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6583 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6585 * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6587 2005-01-02 Heikki Junes <hjunes@cc.hut.fi>
6589 * Documentation/user/invoking.itely (svg): revise.
6591 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6593 * lily/lexer.ll: use sourcefilename iso. renameinput.
6595 2006-01-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6597 * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6598 <PostScriptName>.ttf instead of c059XXXttf.
6600 * lily/program-option.cc (LY_DEFINE): special support for
6601 --verbose, so it works before option init too.
6603 * mf/GNUmakefile (local-install): oops.
6605 * lily/lyric-hyphen.cc (print): oops.
6607 * buildscripts/pfx2ttf.fontforge: new file.
6609 * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6610 ($(outdir)/%.ttf): new rule.
6612 * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6615 * lily/lyric-hyphen.cc (print): multiply hyphen height by
6618 2005-12-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6620 * VERSION: release 2.7.26
6622 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6624 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6626 * lily/font-config.cc (init_fontconfig): verbosity.
6628 * THANKS: add Muziekacademie Lede.
6630 * scripts/musicxml2ly.py (print_voice_definitions): new function
6631 (print_score_setup): new function
6632 (convert): read part definition to output staves properly.
6634 * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
6637 * python/musicexp.py (Output_printer.__init__): use _ in data
6639 (Output_printer.unformatted_output): new function: no formatting,
6641 (Duration.get_length): remove isinstance() checks for
6642 Output_printer everywhere.
6644 * input/regression/lyrics-bar.ly (texidoc): add
6645 Separating_line_group_engraver.
6647 2005-12-29 Jan Nieuwenhuizen <janneke@gnu.org>
6649 * lily/relocate.cc (framework_relocation): New function,
6650 factored from set_relocation ().
6651 (prefix_relocation): Rename from set_relocation ().
6652 (setup_paths): Use it.
6654 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6656 * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
6657 numbers. Patch by Erlend Aasland.
6659 2005-12-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
6661 * lily/font-config.cc (init_fontconfig): print warning if cache
6662 file is not existant.
6664 * lily/main.cc: don't use #ifdef but #if
6666 2005-12-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6668 * lily/grob-property.cc (internal_set_property): don't abort on
6669 calculation-in-progress.
6671 * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
6673 * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
6674 connect-to-neighbor property not connect-to-other
6676 * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
6677 (LY_DEFINE): oops. don't forget protection.
6679 * flower/parse-afm.cc (Module): strip AFM handling completely.
6681 * lily/stencil-expression.cc: idem.
6683 * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
6685 * lily/function-documentation.cc (ly_add_function_documentation):
6686 use static member iso. Protected_scm
6688 * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
6690 * config.make.in (prefix): remove HAVE_KPATHSEA_SO
6692 2005-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
6694 * lily/relocate.cc (set_env_dir): New function.
6695 (set_relocation): Use it to fix setting PANGO_PREFIX.
6697 2005-12-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6699 * input/regression/stem-direction-context.ly: remove rest.
6701 * lily/melody-engraver.cc (process_music): restart for bar lines.
6702 (acknowledge_slur): restart for slurs.
6704 2005-12-27 Heikki Junes <hjunes@cc.hut.fi>
6706 * Documentation/user/invoking.itely: describe how to view SVG
6707 output using Inkscape which replace embedded fonts with OTF fonts.
6709 2005-12-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6711 * lily/relocate.cc (set_relocation): set PANGO_PREFIX
6713 2005-12-23 Jan Nieuwenhuizen <janneke@gnu.org>
6715 * lily/melody-engraver.cc (class Melody_engraver): Remove lying
6718 2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
6720 * VERSION (PACKAGE_NAME): release 2.7.25
6722 * Documentation/topdocs/NEWS.tely (Top): document new feature.
6724 * input/regression/stem-direction-context.ly: new file.
6726 * lily/relocate.cc (set_relocation): add PANGO_PREFIX
6728 * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
6731 * ly/engraver-init.ly: add Melody_engraver
6733 * lily/beam.cc (calc_direction): use default-direction
6734 iso. get_default_direction()
6736 * scm/define-grob-properties.scm (all-user-grob-properties): add
6737 default-direction property.
6739 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
6741 * lily/stem.cc (calc_default_direction): remove
6742 Stem::get_default_direction, use default-direction with callback
6745 * lily/melody-spanner.cc (calc_neutral_stem_direction):
6747 * lily/melody-engraver.cc: new file. Acknowledge stems for
6748 interpolated stem directions.
6750 * lily/melody-spanner.cc: new file. Interpolate stem directions.
6752 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
6754 * lily/slur-configuration.cc (fit_factor): more robust check for
6755 point in curve X-extent.
6757 * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
6758 (outside_slur_callback): check for 'outside avoidance.
6760 * lily/slur-configuration.cc (score_extra_encompass): don't use
6761 bound->column() == avoid->column() for checking extents, as this
6762 doesn't work for accidentals.
6764 * lily/slur-engraver.cc (acknowledge_extra_object): remove
6765 DynamicText hardcoding.
6767 * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
6768 crash if bound stem is NULL
6770 * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
6773 2005-12-22 Graham Percival <gpermus@gmail.com>
6775 * scm/define-markup-commands.scm: typo. @code{\raise}
6778 * darwin.patch: now used again, includes a
6779 required patch from fink.
6781 2005-12-21 Heikki Junes <hjunes@cc.hut.fi>
6783 * po/TODO: mention gtranslator along with kbabel.
6784 * po/fi.po: update translations.
6786 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
6788 * lily/relocate.cc (setup_paths): Bugfix.
6790 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6792 * lily/slur-configuration.cc (score_extra_encompass): don't use
6793 "avoid" choice for avoid-slur.
6795 * stepmake/bin/install.py (dest): don't create existing dir.
6797 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
6799 * stepmake/bin/install.py: Remove file before copying.
6802 * stepmake/aclocal.m4: Do not substitute INSTALL.
6804 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6806 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
6807 depend on link-tree.
6809 * lily/relocate.cc (setup_paths): only check path for non-absolute
6810 dir without directory part.
6812 * flower/file-name.cc (is_absolute): new method.
6813 (is_absolute): check root_ too.
6815 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
6817 * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
6818 relocation code. Oops, don't comment out too much.
6820 * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
6823 * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw
6826 2005-12-20 Jan Nieuwenhuizen <janneke@gnu.org>
6828 * .cvsignore: Add install-sh.
6830 * autogen.sh (srcdir): Typo.
6832 2005-12-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
6834 * autogen.sh (srcdir): urg. Touch install-sh.
6836 * stepmake/bin/install-sh (Module): remove.
6838 * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
6840 * lily/include/relocate.hh: new file.
6842 * lily/relocate.cc: new file. Contain relocation logic.
6844 * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
6845 (main): read LILYPOND_VERBOSE as the first thing.
6847 * stepmake/aclocal.m4: remove INSTALL variable.
6849 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
6850 separate target for making font symlinks.
6851 (documentation-dir): use $(if $(findstring )) for switching off
6854 * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
6855 something if DOCUMENTATION is no.
6857 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6859 * VERSION: release 2.7.24
6861 * lily/script-column-engraver.cc (stop_translation_timestep):
6862 delay adding to script-column.
6864 * lily/tuplet-bracket.cc (print): suicide if no control-points.
6866 * python/convertrules.py (conv): rule for number-visibility
6868 * lily/slur-configuration.cc (score_extra_encompass): different
6869 distance measure for avoid and inside avoidance.
6870 (score_extra_encompass): use 1/(distance+eps) as penalty.
6872 * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
6873 encompass objects for generating slur curves.
6875 * lily/slur.cc: use details iso. slur-details property.
6877 * input/regression/slur-tuplet.ly: new file.
6879 * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.
6881 * flower/include/offset.hh (class Offset): new operator /=
6883 * lily/tuplet-number.cc (print): new file, new interface.
6885 * scm/define-grob-properties.scm (all-user-grob-properties):
6886 remove number-visibility property.
6888 * lily/tuplet-bracket.cc (calc_control_points): new function
6889 (calc_connect_to_neighbors): new function.
6890 (print): remove text handling for tuplet numberdef.
6892 * lily/tuplet-engraver.cc (struct Tuplet_description): create
6895 * lily/lily-guile.cc (robust_scm2booldrul): new function
6897 * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
6899 * lily/tuplet-bracket.cc (calc_position_and_height): use
6900 staff-padding to control whether tuplet brackets are over staves.
6902 * lily/grob.cc (suicide): clear dim_caches_.
6904 * lily/dimension-cache.cc (clear): new function.
6906 * lily/grob.cc (extent): swap order of min-extent and extent
6907 calculations. This fixes hara kiri staves.
6909 2005-12-19 Jan Nieuwenhuizen <janneke@gnu.org>
6911 * lily/main.cc: Nitpick: relocation is not based on path, but on
6912 directory (location).
6914 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6916 * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
6918 * stepmake/stepmake/install-targets.make (local-uninstall): idem.
6920 * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
6922 * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
6924 * stepmake/stepmake/generic-vars.make (Module): idem.
6926 * stepmake/stepmake/executable-targets.make (default): use it.
6928 * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
6930 * make/GNUmakefile: don't install make rules.
6932 * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
6934 (prepend_env_path): more verbosity.
6936 2005-12-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
6938 * GNUmakefile.in: add dir argument for find command.
6940 * lily/parser.yy (bass_figure): set_spot() for bass figures. This
6941 fixes weird line numbers for point & click.
6943 * lily/source-file.cc (get_counts): init line/column/char counts.
6945 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
6947 * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
6949 2005-12-16 Graham Percival <gpermus@gmail.com>
6951 * Documentation/user/basic-notation.itely, advanced-notation.itely:
6952 minor fixes from Fredric. Thanks!
6954 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
6956 * ly/music-functions-init.ly: add \bar and \clef music function
6958 * lily/lily-lexer.cc: idem.
6960 * lily/parser.yy (FIXME): remove BAR and CLEF.
6962 2005-12-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
6964 * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
6966 * lily/parser.yy (Generic_prefix_music_scm): allow strings as
6967 function arguments too
6969 * lily/main.cc (set_relocation): new function.
6971 * scripts/musicxml2ly.py (convert): add \version
6973 * lily/tie.cc: remove get_default_attachments()
6975 * VERSION (PACKAGE_NAME): release 2.7.23
6977 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
6978 ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
6980 * Documentation/topdocs/NEWS.tely (Top): document new feature.
6982 * lily/tie-formatting-problem.cc (score_ties): new function
6983 (get_variations): new function. Try flipping dirs for collisions.
6984 (generate_optimal_chord_configuration): new function. 1-opt search
6985 for better configuration.
6987 * lily/tie-configuration.cc: new file.
6989 * lily/tie.cc: junk Tie::get_configuration()
6991 * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
6992 (score_ties_configuration): new function.
6993 (generate_ties_configuration): new function.
6994 (generate_base_chord_configuration): new function.
6995 (set_ties_config_standard_directions): Move body from tie-column-format.cc
6996 (set_manual_tie_configuration): Move body from tie-column-format.cc
6998 * input/regression/tie-dot.ly: new file.
7000 * lily/tie-formatting-problem.cc (score_configuration): score
7003 * lily/tie-helper.cc (get_transformed_bezier): new function
7005 * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7007 * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7008 -undefined suppress iso. -framework Python
7010 * scm/define-grobs.scm (all-grob-descriptions): set
7011 springs-and-rods (thanks Joe Neeman!)
7013 2005-12-12 Nicolas Sceaux <nicolas.sceaux@free.fr>
7015 * input/no-notation/display-lily-tests.ly (test):
7016 * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7017 changed from \tag #'(a b) to \tag #'a \tag #'b
7019 2005-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7021 * Documentation/topdocs/NEWS.tely: strip out-www.
7023 * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7025 * config.make.in (AR): add AR and RANLIB
7027 * flower/libc-extension.cc: include cassert
7029 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7032 2005-12-11 Graham Percival <gpermus@gmail.com>
7034 * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7036 * stepmake/stepmake/python-modules-vars.make: define
7037 SHARED_FLAGS for OSX. Thanks Johannes Schindelin!
7039 * THANKS: added Johannes Schindelin.
7041 2005-12-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7043 * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7045 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7046 Span_arpeggio_engraver, add Tweak_engraver to Score context.
7048 * lily/parser.yy: reorganize file layout.
7050 * ly/music-functions-init.ly: add tweak music function.
7052 * lily/grob-info.cc (ultimate_music_cause): new function:
7053 recursively lookup causes.
7055 * lily/parser.yy (chord_body_element): allow music functions for
7056 post-events, allow music functions for chord elements.
7058 * lily/font-config-scheme.cc (display_fontset): add cast.
7060 * python/convertrules.py (FatalConversionError.sub_syms): \tag
7061 #'(a b) -> \tag #'a \tag #'b rule.
7063 * python/musicexp.py (Output_printer.dump_version): new function
7065 2005-12-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7067 * lily/parser.yy (FIXME): remove \tag
7068 (FIXME): remove tag_music() function.
7070 * lily/lily-lexer.cc: remove \tag
7072 * ly/music-functions-init.ly: define music-function "tag"
7074 * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7076 2005-12-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7078 * VERSION (PATCH_LEVEL): release 2.7.22
7080 * input/regression/lyric-hyphen-retain.ly: renew.
7082 * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7085 * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7086 iso. minimum-length property for rods.
7088 * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7089 LyricSpace item to keep lyrics spaced apart.
7091 * ly/engraver-init.ly: remove Separating_line_group_engraver
7093 * Documentation/user/music-glossary.tely: do setfilename before
7096 2005-12-07 Heikki Junes <hjunes@cc.hut.fi>
7098 * Documentation/user/lilypond-book.itely: use `,´ after xref:
7099 See xref documentation, for example.
7101 2005-12-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
7103 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7104 pending_skip iso. ly_voice[-1]
7105 (main): add if __main__ for debugging.
7107 * python/musicxml.py (Accidental.__init__): new class.
7109 * scripts/musicxml2ly.py (progress): new function
7110 (musicxml_key_to_lily): don't barf on modeless keys.
7111 (create_skip_music): new function.
7112 (musicxml_spanner_to_lily_event): new function. Handle beams too.
7113 (musicxml_note_to_lily_main_event): new function.
7115 * python/musicexp.py (Music.__init__): add comment field.
7116 (NestedMusic.append): new routine.
7117 (SequentialMusic.print_ly): print comment.
7118 (ArpeggioEvent.ly_expression): new class
7119 (BeamEvent.ly_expression): new class
7120 (NoteEvent.__init__): support for cautionary/forced accs.
7122 * lily/lookup.cc (slur): normal order for array loop.
7124 * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7127 * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7130 2005-12-06 Erik Sandberg <mandolaerik@gmail.com>
7132 * scm/music-functions.scm: Make phrasing slurs follow voice direction
7134 * scripts/lilypond-book.py: Introduce option
7135 --preserve-line-breaks, for usage with srcltx
7137 2005-12-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7139 * scm/output-lib.scm (print-circled-text-callback): draw circle
7140 around text using make-circle-markup.
7142 * Documentation/user/*: strip out-www from file names.
7144 2005-12-05 Heikki Junes <hjunes@cc.hut.fi>
7146 * Documentation/user/lilypond.tely (direntry): remove empty lines;
7147 fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7149 2005-12-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
7151 * Documentation/user/GNUmakefile: idem.
7153 * Documentation/user/macros.itexi: strip out-www
7155 * python/rational.py: python 2.3 compat.
7157 * VERSION (PATCH_LEVEL): release 2.7.21
7159 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7160 option formatting, lilypond style.
7162 * python/musicexp.py: grab from Ikebana: a library for composing
7163 ly music expressions.
7164 (Output_printer): class for advanced .ly printing.
7167 * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7168 convert to pythonesque structure.
7170 * python/rational.py: PD rational number class.
7172 * Documentation/user/converters.itely (Invoking musicxml2ly): new node.
7174 2005-12-04 Erik Sandberg <mandolaerik@gmail.com>
7176 * lily/part-combine-iterator.cc: Minor bugfix
7178 * THANKS: Update bughunters
7180 2005-12-02 Werner Lemberg <wl@gnu.org>
7182 * mf/README: Document process for proper mf2pt1 conversion.
7184 * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7187 * mf/feta-harmonica.mf: Removed. Unused.
7189 2005-12-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7191 * scripts/lilypond-book.py (do_file): fix thinkos.
7193 2005-12-01 Jan Nieuwenhuizen <janneke@gnu.org>
7195 * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7196 ($(outdir)/parser.cc):
7197 ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7199 2005-11-30 Pedro Kröger <kroeger@pedrokroeger.net>
7201 * ly/titling-init.ly (tagline): it should be a space between
7202 "Music engraving by LilyPond" and the version number.
7204 2005-12-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
7206 * VERSION (PACKAGE_NAME): release 2.7.20
7208 2005-11-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7210 * scm/define-markup-commands.scm (pad-to-box): new markup command.
7212 * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7214 (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7216 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7218 * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7220 * kpath-guile/: remove directory
7222 * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7223 file. Encapsulate kpathsea using commandline tools.
7225 * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7228 2005-11-29 Mats Bengtsson <mabe@s3.kth.se>
7230 * Documentation/user/advanced-notation.itely (Setting automatic
7231 beam behavior): Correct a few typos. Thanks to David Bobroff.
7233 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7234 \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7236 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7238 * scripts/*.py: gmane address for bugs.
7240 2005-11-28 Pal Benko <benkop@freestart.hu>
7242 * make/ly-rules.make: add -f switch to mv
7244 * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7246 * lily/bar-line.cc: interpret it
7248 2005-11-28 Jan Nieuwenhuizen <janneke@gnu.org>
7250 * configure.in (--disable-documentation): New switch.
7252 * GNUmakefile.in: Use it.
7254 * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7256 2005-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7258 * scripts/lilypond-book.py (do_file): search chunks for
7261 * GNUmakefile.in: add copy step in between so we can lose the
7262 out-www directories.
7264 2005-11-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7266 * lily/pango-font.cc (pango_item_string_stencil): put
7267 geometry.width into glyph-string too.
7269 2005-11-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
7271 * scm/define-music-display-methods.scm (RevertProperty):
7272 (OverrideProperty): Use grob-property-path property, a list of
7273 symbols, instead of grob-property, which used to be a single
7275 (BassFigureEvent): a figure can be a plain number, not necessarily a
7278 2005-11-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7280 * VERSION: release 2.7.19
7282 * lily/figured-bass-engraver.cc (process_music): check
7283 figuredBassCenterContinuations first.
7285 * scm/translation-functions.scm (format-bass-figure): make double
7288 * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7291 * lily/system-start-delimiter-engraver.cc: move from
7292 Nested_system_start_delimiter_engraver, rename
7293 Nested_system_start_delimiter_engraver ->
7294 System_start_delimiter_engraver.
7296 * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7297 bracket type from hierarchy.
7299 2005-11-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
7301 * lily/rest.cc (y_offset_callback): read staff-position.
7303 * scm/define-grob-properties.scm (all-user-grob-properties): don't
7304 mark after-line-breaking-callback as internal.
7306 * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7308 2005-11-25 Werner Lemberg <wl@gnu.org>
7310 * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7312 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7314 * stepmake/bin/add-html-footer.py (do_file): add google
7316 * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7317 staff if first_start_ is true.
7319 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7321 * scripts/midi2ly.py (split_track): add __repr__ members.
7322 (track_first_item): only return Item if not None. This fixes a
7323 problem when dumping a track that starts with an empty channel.
7325 * python/midi.c: doc module.
7327 2005-11-22 Mats Bengtsson <mabe@s3.kth.se>
7329 * Documentation/user/global.itely (Creating MIDI files): Fix
7330 compilation problem.
7332 2005-11-22 Graham Percival <gpermus@gmail.com>
7334 * Documentation/user/basic-notation.itely: clarify dynamic
7337 * Documentation/user/advanced-notation.itely: add unicode
7338 escape control example, whatever that is. :)
7340 * Documentation/user/global.itely: added "removing dynamics
7343 2005-11-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7345 * VERSION (PATCH_LEVEL): release 2.7.18
7347 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7348 System_start_delimiter_engraver by
7349 Nested_system_start_delimiter_engraver.
7351 * lily/nested-system-start-delimiter-engraver.cc (struct
7352 Bracket_nesting_node): new class.
7353 (struct Bracket_nesting_group): new class
7354 (struct Bracket_nesting_staff): new class.
7355 (process_music): create hierarchy of grobs. This allows separate
7356 tuning of different SSDs.
7358 * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7359 (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7361 2005-11-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7363 * lily/side-position-interface.cc (aligned_side): multiply
7366 * lily/script-engraver.cc (make_script_from_event): allow setting
7369 2005-11-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7371 * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7373 * scm/define-grobs.scm (all-grob-descriptions): new grob
7374 NestedSystemStartDelimiter.
7376 * input/regression/system-start-heavy-bar.ly: new file.
7378 * lily/nested-system-start-delimiter-engraver.cc: new file.
7380 * lily/nested-system-start-delimiter.cc: new file.
7382 * input/regression/system-start-nesting.ly: new file.
7384 * scm/define-grobs.scm (all-grob-descriptions): use X side
7385 positioning for positioning braces for nested contexts.
7387 * lily/system-start-delimiter.cc (print): don't divide extent by
7389 (print): use style iso. glyph.
7390 (staff_bracket): translate glyph inside routine already.
7392 2005-11-18 Michael Welsh Duggan <md5i@cs.cmu.edu>
7394 * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7397 2005-11-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
7399 * scm/define-context-properties.scm
7400 (all-user-translation-properties): rename figuredBassFormatter
7401 from newFiguredBassFormatter.
7403 * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7405 * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7407 * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7409 * lily/beam.cc (calc_beaming): new function.
7410 (calc_shorten): new function.
7412 * THANKS: add Edward Neeman.
7414 * input/regression/accidental-clef-change.ly: new file.
7416 * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7418 * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7420 * lily/clef-engraver.cc (inspect_clef_properties): reset
7421 localKeySignature for clef changes.
7423 2005-11-17 Mats Bengtsson <mabe@s3.kth.se>
7425 * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3
7426 add dummy definition that works in Linux and add information in
7427 INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7429 * Documentation/user/changing-defaults.itely (Modifying context
7430 plug-ins): Add index for \with.
7432 * Documentation/user/music-glossary.tely (dal segno): Updated
7433 example to version >=2.6.
7435 2005-11-16 Mats Bengtsson <mabe@s3.kth.se>
7437 * Documentation/user/instrument-notation.itely (Printing chord
7438 names): Reorder \chordmode and \repeat in one example.
7440 2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7442 * VERSION: release 2.7.17
7444 * Documentation/topdocs/NEWS.tely (Top): add note about
7447 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7448 new function. Search region of 3 positions for best tie.
7449 (score_configuration): new function.
7450 (score_aptitude): new function.
7451 (generate_configuration): new function.
7452 (get_configuration): new function.
7453 (Tie_formatting_problem): new function
7455 * input/regression/page-top-space.ly: a6 for page-top-space demo.
7457 * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7459 * THANKS: add Eduardo Vieira & Ralph Little
7461 * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7464 * lily/include/tie-formatting-problem.hh (class
7465 Tie_formatting_problem): add Tie_details to
7466 Tie_formatting_problem. Update calling conventions.
7468 * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7471 * Documentation/user/lilypond.tely: remove musedata2ly entry.
7473 2005-11-16 Jürgen Reuter <reuter@ipd.uka.de>
7475 * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7476 scm/define-context-properties.scm: Maintenance bugfix: make
7477 ligature brackets work again by removing obsolete ligature
7478 primitive callback push/pop.
7480 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7481 not call Tuplet_bracket::calc_direction. Removed obsolete gap
7484 2005-11-15 Jan Nieuwenhuizen <janneke@gnu.org>
7486 * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7487 used and do not call it a path.
7488 (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7490 2005-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7492 * lily/include/tie-formatting-problem.hh (class
7493 Tie_formatting_problem): new file.
7495 * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7497 * Documentation/misc/ChangeLog-2.3: new file.
7499 * lily/audio-staff.cc (output): degarianize.
7501 2005-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
7503 * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7504 Unset PYTHONOPTIMIZE. Fixes install if set.
7506 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7508 * python/convertrules.py (conv): add warning about drums.
7510 * make/stepmake.make: include toplevel-version.make after config.make.
7512 * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7513 also allow python2.4
7515 * config.make.in (configure-srcdir): remove GXX GCC vars.
7517 * stepmake/aclocal.m4: don't do non-srcdir build with
7518 symlinks. Use inclusion, so the src directory name can be changed.
7520 2005-11-13 Jan Nieuwenhuizen <janneke@gnu.org>
7522 * make/mutopia-vars.make:
7523 * make/ly-vars.make: Use src-wildcard iso wildcard for source
7526 2005-11-13 Werner Lemberg <wl@gnu.org>
7528 * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7529 but the affected path. This ensures that the (overlapping) outlines
7530 have the same direction, which is a necessary prerequisite for
7531 FontForge's algorithm to remove overlaps.
7534 * mf/feta-haak.mf: Formatting.
7535 (draw_bracket): Slightly modify outline to avoid an unnecessary
7537 Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7538 them from the affected paths.
7540 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7542 * mf/README: remove xpm / accordion notes.
7544 * lily/tie-column-format.cc (set_chord_outline): add dots into
7545 skyline extents. This fixes tie formatting if the left head has dots.
7547 * lily/tie.cc (get_configuration): only shift tie by a whole staff
7548 space inside the staff.
7549 (get_configuration): shift another position if necessary in case
7552 2005-11-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7554 * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7555 buildscript-dir iso. $(depth)/buildscripts.
7557 * tex/GNUmakefile (local-uninstall): remove
7558 music-drawing-routines.ps juggling.
7560 * stepmake/stepmake/install-targets.make (local-install-files):
7561 prepend src-dir to install targets.
7563 * lily/system-start-delimiter-engraver.cc
7564 (acknowledge_system_start_delimiter): use
7565 add_offset_callback(). This fixes translation of nested
7568 * lily/grob-closure.cc (add_offset_callback): only encaps in
7569 simple_closure if it's a procedure.
7571 * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7574 * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7575 remove-empty where pertinent.
7577 2005-11-12 Graham Percival <gpermus@gmail.com>
7579 * Documentation/user/instrument-notation.itely: added
7580 Cameron Horsburgh's multiple stanzas docs. Thanks!
7582 2005-11-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
7585 ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7586 make picture in builddir, not srcdir.
7588 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7590 * VERSION: release 2.7.16
7592 * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7595 2005-11-10 Mats Bengtsson <mabe@s3.kth.se>
7597 * Documentation/user/examples.itely (Piano templates): Minor
7598 modification to the Piano centered lyrics example.
7600 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7602 * scripts/lilypond-invoke-editor.scm (run-browser): look at
7605 * Documentation/user/point-and-click.itely: simplify p&c
7606 instruction: don't configure firefox. Put lilypond-invoke-editor
7607 in front of the browser.
7609 * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7610 (run-browser): new function.
7612 * lily/parser.yy (Lily_lexer): recognize Book
7614 * lily/book.cc (clone): new function
7616 * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7618 2005-11-10 Jürgen Reuter <reuter@ipd.uka.de>
7620 * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7621 Maintenance bugfix: reduce number of font related warnings by
7622 updating naming conventions for glyph-name.
7624 2005-11-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7626 * scm/define-grobs.scm (all-grob-descriptions): add
7627 rhythmic-grob-interface to TabNoteHead.
7629 * scm/layout-beam.scm (check-quant-callbacks): remove
7632 2005-11-08 Jürgen Reuter <reuter@ipd.uka.de>
7634 * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
7635 alignment of centered divisiones.
7637 * scm/scripts.scm (articulations): Maintenance bugfix:
7638 follow-into-staff -> quantize-position.
7640 * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
7641 plica head in porrectus deminutus.
7643 2005-11-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7645 * make/lilypond.fedora.spec.in (Group): add %clean section.
7647 * lily/tuplet-bracket.cc (print): change check: remove bracket if
7648 less then 1/5th of total length.
7649 (print): use gap too. Fixes tupletUp-single-bracket.ly
7651 * scm/music-functions.scm (glue-mm-rest-texts): also put other
7652 events into EventChord. This fixes textspanners on mm rests. Fixes
7655 * lily/side-position-interface.cc (get_axis): read side-axis
7656 (set_axis): set side-axis.
7658 * scm/define-grobs.scm (all-grob-descriptions): add side-axis
7659 properties everywhere.
7661 * lily/spacing-spanner.cc (breakable_column_spacing): add
7662 average-spacing-wishes. Take maximum if not set.
7663 (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
7665 * scm/define-grobs.scm (all-grob-descriptions): add
7666 average-spacing-wishes.
7668 * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
7669 offset callbacks. This fixes alignment for Fingering objects.
7671 * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
7672 space for key - timesig combination.
7674 * input/regression/script-stem-tremolo.ly (Module): new file.
7676 * scm/define-grobs.scm (all-grob-descriptions): decrease distance
7679 * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
7680 Fixes: c-tremolo-script.ly.
7682 * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
7684 * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
7686 * scm/define-grobs.scm (all-grob-descriptions): remove
7687 self-X-offset. Fixes alignment of octavate-8.
7689 * scripts/lilypond-book.py (datadir): look in
7690 LILYPONDPREFIX/share/lilypond/current/
7692 * GNUmakefile.in: symlink current to <VERSION>.
7694 2005-11-07 Pedro Kroger <kroeger@pedrokroeger.net>
7696 * lily/main.cc: eps listed as a backend.
7698 2005-11-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7700 * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
7702 2005-11-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
7704 * lily/include/score.hh (class Score): remove texts_ member.
7706 * lily/beam.cc (set_stem_lengths): force direction callback.
7707 (print): read quantized-positions, so we can force
7708 Beam::set_stem_lengths to occur.
7709 (rest_collision_callback): use common X parent.
7711 2005-11-03 Jan Nieuwenhuizen <janneke@gnu.org>
7713 * flower/file-path.cc (find): Bugfix: Return name of file found.
7715 * lily/main.cc (setup_paths): Bugfix for argv0 logic.
7716 (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
7717 (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
7719 2005-11-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
7721 * flower/offset.cc: idem.
7723 * mf/*.mf: update email address.
7725 * lily/font-config-scheme.cc: new file.
7727 * GNUmakefile.in (SUBDIRS): remove debian/ directory.
7729 * lily/*: cs.uu.nl -> xs4all.nl
7731 * VERSION (PATCH_LEVEL): release 2.7.15
7733 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
7736 * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
7738 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7740 * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.
7742 * lily/staff-performer.cc (process_music): add audio
7743 elements. This makes MIDI instrument changes work once again.
7745 * lily/main.cc (LY_DEFINE): add gmane address.
7747 * lily/beam.cc: remove calc_positions()
7749 * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
7750 original_ in private scope.
7751 (class Grob): drop pscore_ pointer, change to output_def pointer.
7752 (class Grob): cleanup class definition.
7754 * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
7756 2005-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
7758 * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
7759 absolute. Better diagnostics.
7761 * GNUmakefile.in: Add bin/ to tree and populate with some links.
7762 This makes lilypond run from the build directory using argv0
7763 relocation (without any --prefix or LILYPONDPREFIX setting).
7765 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7767 * Documentation/topdocs/NEWS.tely (Top): document new backend design.
7769 * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
7770 with simple-closure.
7772 * lily/self-aligment-interface.cc (set_align_self): new function
7773 (set_center_parent): new function.
7775 * lily/side-position-interface.cc (set_axis): new function.
7777 * lily/new-fingering-engraver.cc (position_scripts): use drul for
7780 * scm/define-grob-properties.scm (all-user-grob-properties):
7781 remove [XY]-offset-callbacks add [YX]-offset
7783 2005-11-02 Mats Bengtsson <mabe@s3.kth.se>
7785 * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
7786 entry for time signatures after breathing signs. Bug report by
7789 2005-11-01 Jan Nieuwenhuizen <janneke@gnu.org>
7791 * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
7792 not absolute, make it absolute using PATH.
7794 2005-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
7796 * python/midi.c (initmidi): Fix type for mingw.
7798 2005-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
7800 * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
7802 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
7805 * stepmake/aclocal.m4: Support python cross compiling.
7807 * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
7810 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7812 * scm/output-lib.scm (chain-grob-member-functions): replace
7815 * lily/chained-callback.cc (Module): remove file.
7817 * lily/rest-collision.cc (force_shift_callback_rest): change to
7820 * lily/rest.cc (y_offset_callback): merge function of 3 callbacks.
7822 * lily/grob.cc (y_parent_positioning): remove axis argument from
7823 parent_positioning callbacks.
7824 (Grob): junk init code
7825 (get_offset): use generic property callbacks for
7826 X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
7827 (axis_parent_positioning): new function
7828 (axis_offset_symbol): new function
7829 (chain_offset_callback): new function
7830 (add_offset_callback): new function
7832 * lily/beam.cc (rest_collision_callback): change signature; this
7833 is now a chained callback.
7835 * lily/include/dimension-cache.hh (class Dimension_cache): remove
7836 callback administration.
7838 * lily/simple-closure.cc: new file. Smob type that allows "grob
7841 (ly:make-simple-closure FUNC A B)
7843 is evaluated as (FUNC grob A B). This allows chaining of callbacks
7846 * lily/slur-engraver.cc (acknowledge_extra_object): use chained
7849 * lily/slur.cc (outside_slur_callback): take 2 arguments.
7851 * lily/rest.cc (polyphonic_offset_callback): remove.
7853 * lily/script-engraver.cc (try_music): remove bool* argument.
7855 * scm/script.scm (default-script-alist): set quantize-position
7858 * lily/script-engraver.cc: remove follow_into_staff_ special coding.
7860 * lily/side-position-interface.cc (aligned_side): move staff
7861 position quantization from
7862 Side_position_interface::quantised_position().
7863 (quantised_position): remove
7865 2005-10-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
7867 * input/regression/beam-quant-standard.ly: reindent, set
7868 debug-beam-quanting to #t.
7870 * lily/beam-concave.cc (calc_concaveness): set concaveness to
7871 10000 if this is a "hard" concave beam.
7873 * lily/beam.cc (calc_least_squares_positions): change from
7874 calc_least_squares_dy
7875 (set_stem_lengths): this is now a chained callback.
7877 * lily/context-property.cc (execute_general_pushpop_property):
7878 bugfix override with procedure should have effect.
7880 * scm/define-grob-properties.scm (all-internal-grob-properties):
7881 remove position-callbacks.
7883 * scm/define-grobs.scm (all-grob-descriptions): use
7884 ly:make-callback-chain for positions property.
7886 * scm/layout-beam.scm (check-quant-callbacks): return list of
7889 * scm/lily.scm (type-p-name-alist): add callback-chain
7891 * lily/lily-guile.cc (type_check_assignment): type check failure
7892 is warning not message.
7894 * lily/grob-property.cc (try_callback): walk callback chain if
7897 * lily/chained-callback.cc: new file. new smob type.
7899 * lily/lily-guile.cc (procedure_arity): new function.
7901 2005-10-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7903 * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
7905 2005-10-25 John Mandereau <john.mandereau@free.fr>
7907 * Documentation/user/instrument-notation.itely (Figured bass):
7908 describe new features
7910 2005-10-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
7912 * lily/beam.cc (calc_least_squares_dy): use property callback.
7914 * lily/beam-concave.cc (calc_concaveness): use property callback.
7916 * ly/paper-defaults.ly: move fixed dimensions from paper.scm
7918 2005-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
7922 2005-10-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
7924 * scm/layout-page-layout.scm (page-headfoot): annotate
7927 * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit.
7929 * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
7930 doesn't take y-space.
7932 * scm/paper.scm (paper-alist): fix A7 dimensions.
7934 2005-10-24 Jan Nieuwenhuizen <janneke@gnu.org>
7936 * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
7937 src-wildcard, remove $(wildcard).
7939 * po/GNUmakefile (PO_FILES):
7940 * ps/GNUmakefile (PS_FILES):
7941 * tex/GNUmakefile (TEX_FILES):
7942 * cygwin/GNUmakefile (POSTINSTALLS):
7943 * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
7944 some wildcard calls.
7946 2005-10-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7948 * THANKS: add Thomas Bushnell.
7950 2005-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
7952 * scm/lily.scm: Remove horrendous running-from-gui? kludge.
7953 (lilypond-main): Redirect to gui-main if 'gui is set.
7955 * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
7956 for alternative installations kludging s/share/lib/g
7959 * SConstruct (libdir_package_version): Define.
7961 * python/SConscript:
7962 * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
7965 2005-10-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
7967 * lily/main.cc: clarify --safe.
7969 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7971 * VERSION: release 2.7.14
7973 * Documentation/user/*.itely: remove minimumVerticalExtent.
7975 * scm/define-grobs.scm (all-grob-descriptions): remove
7976 RemoveEmptyVerticalGroup
7978 * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
7980 * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
7983 * python/convertrules.py (conv): add rules.
7985 * lily/grob.cc: remove is_empty()
7987 * lily/grob-property.cc: remove add_to_list_property().
7989 * scripts/convert-ly.py (datadir): add prefix switching hack to
7992 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
7993 space-function tweak.
7995 * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
7997 * scm/define-grob-properties.scm (all-user-grob-properties):
7998 remove callback property.
8000 * lily/include/grob.hh (class Grob): remove property_callbacks_
8001 member. Properties of procedure type are assumed to be callbacks.
8003 * lily/ligature-engraver.cc (override_stencil_callback):
8004 rewrite. Use noteHeadLigaturePrimitive as source.
8006 * scm/define-grob-properties.scm (all-internal-grob-properties):
8007 remove ligature-primitive-callback
8009 * lily/include/dimension-cache.hh (class Dimension_cache): make
8010 class, with Grob as friend.
8012 * lily/grob.cc: remove set_extent_callback(), set_extent() and
8013 has_extent_callback()
8015 * scm/translation-functions.scm (format-new-bass-figure): read
8016 figuredBassPlusDirection
8018 * scm/define-context-properties.scm
8019 (all-user-translation-properties): add figuredBassPlusDirection.
8021 * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8023 * lily/align-interface.cc (set_ordered): new function.
8025 * lily/grob.cc (flush_extent_cache): rewrite.
8027 * lily/dimension-cache.cc (Dimension_cache): cache extent as
8028 Interval pointer directly.
8030 * lily/main.cc (setup_paths): insert extra / .
8031 (setup_paths): junk cff entry.
8033 * lily/font-config.cc (init_fontconfig): only add type1 / otf
8036 * lily/axis-group-engraver.cc (finalize): remove
8037 extraVerticalExtent, minimumVerticalExtent verticalExtent.
8039 * lily/grob.cc (Grob): don't set extent from ctor.
8040 (extent): use property callbacks.
8042 * lily/axis-group-interface.cc: remove set_axes() function.
8044 * lily/grob-property.cc (del_property): new function.
8046 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8048 * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8050 2005-10-20 Jan Nieuwenhuizen <janneke@gnu.org>
8052 * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add.
8054 2005-10-19 Jan Nieuwenhuizen <janneke@gnu.org>
8056 * mf/SConscript: Updates.
8058 * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8060 * stepmake/stepmake/*:
8064 * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8065 from any directory in build-dir. Cleanups.
8067 * make/srcdir.make.in: Remove.
8069 * lily/main.cc (setup_paths): Fix and document build-dir hack.
8071 * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8074 * lily/SConscript: Remove ttftools.
8076 * SConstruct: Resurrect.
8078 2005-10-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
8080 * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8083 * lily/paper-book.cc (add_score_title): put Paper_score title into
8086 * scm/translation-functions.scm (format-new-bass-figure): also
8087 allow plus in combination with _
8089 2005-10-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8091 * VERSION: 2.7.13 released.
8093 * lily/note-collision.cc (check_meshing_chords): don't wipe
8094 stencil, merely set transparent.
8096 * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau.
8097 (Top): document #'callbacks.
8098 (Top): document nested \override.
8100 * input/regression/figured-bass.ly: update for slash and pluses.
8102 * input/regression/figured-bass-continuation-forbid.ly (Module):
8105 * scm/translation-functions.scm (format-new-bass-figure): use
8106 slashed-digit if diminished is set.
8107 (format-new-bass-figure): add + if 'augmented is set.
8109 * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8111 * input/test/piano-staff-distance.ly: remove file.
8113 * Documentation/user/advanced-notation.itely (Formatting cue
8114 notes): use length-fraction for making stems/beams smaller.
8116 * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8119 * lily/new-figured-bass-engraver.cc: new property
8120 centerFiguredBassContinuations
8122 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8125 * lily/context-property.cc (execute_general_pushpop_property):
8128 * input/regression/override-nest.ly: new file.
8130 * python/convertrules.py (FatalConversionError.subber): conversion
8131 rule for #'callbacks
8133 * input/regression/override-nest.ly: new function.
8135 * lily/parser.yy (music_property_def): allow \override #'a #'b =
8138 * lily/context-property.cc (lookup_nested_property): new function.
8139 (evict_from_alist): new function.
8140 (general_pushpop_property): new function.
8141 (execute_general_pushpop_property): rewrite. Support nested
8144 2005-10-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
8146 * lily/beam.cc: use length-fraction too.
8148 * scm/define-grob-properties.scm (all-user-grob-properties):
8149 remove property flag-width-function
8150 (all-user-grob-properties): remove space-function.
8152 * scm/layout-beam.scm: remove flag-width-function.
8154 * lily/beam.cc: remove flag-width-function
8156 * scm/layout-beam.scm: remove beam dir functions.
8158 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8160 * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8161 for easier grace tweaks.
8163 * lily/beam.cc: remove dir-function.
8165 * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8167 * lily/grob.cc: remove spacing-procedure.
8169 * lily/note-head.cc (calc_stem_attachment): new function.
8170 (internal_print): use callback to get glyph-name.
8172 * lily/grob-property.cc (get_interfaces): new function.
8174 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8176 * lily/stem.cc (calc_stem_end_position): new function.
8177 (calc_length): new function.
8178 document details for stem.
8179 remove Stem::get_direction()
8181 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback!
8183 * lily/grob-property.cc (set_callback): new function.
8185 * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8187 * lily/item-scheme.cc: new file.
8189 * lily/bar-line.cc (before_line_breaking): remove function.
8190 remove bar-size-procedure, break-glyph-function
8192 * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8194 * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8196 * lily/system-start-delimiter.cc (print): suicide from
8197 here. Remove after_line_breaking_callback.
8199 * lily/script-interface.cc (calc_direction): use callback for direction.
8201 * lily/side-position-interface.cc (aligned_side): don't use
8202 Side_position_interface::get_direction directly. Use callback.
8204 * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8206 (get_print_stencil): rename from get_stencil: create stencil with
8207 transparency, color and cause.
8209 * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8211 * python/convertrules.py (conv): insert temporary warning rule.
8213 * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8215 * lily/grob-property.cc (try_callback): remove marker if applicable.
8217 * lily/grob.cc: elucidate doc about after/before-line-breaking
8219 * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8221 * lily/stem.cc (height): idem.
8223 * lily/stem-tremolo.cc: idem.
8225 * lily/slur.cc (height): don't use get_uncached_stencil()
8227 * lily/rest.cc (y_offset_callback): use offset callback
8228 iso. after-line-breaking callback.
8230 * lily/grob.cc: change after/before-line-breaking-callback to
8231 after/before-line-breaking dummy properties.
8233 * lily/include/grob.hh: remove Grob_status.
8235 * scm/define-context-properties.scm
8236 (all-user-translation-properties): remove verticalAlignmentChildCallback
8238 * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8239 (calc_direction): use callback
8240 (calc_positions): use callback.
8242 * lily/tie.cc (calc_direction): use callback. Only call parent
8243 positioning for more than one tie.
8245 * lily/tie-column.cc (calc_positioning_done): use callback
8247 * lily/slur-scoring.cc (calc_control_points): use callback
8249 * lily/slur.cc (calc_direction): use callback.
8251 * lily/note-collision.cc (force_shift_callback): remove.
8253 * lily/dot-column.cc (force_shift_callback): remove. Use
8254 other_axis_parent_positioning.
8256 * lily/grob.cc (other_axis_parent_positioning): new function.
8257 (same_axis_parent_positioning): new function
8259 * lily/align-interface.cc (alignment_callback): remove function.
8261 * lily/note-collision.cc (calc_positioning_done): use callback.
8263 * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8264 (calc_direction): idem.
8265 remove print function.
8267 * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8269 * lily/dot-column.cc (calc_positioning_done): use callback.
8271 * lily/break-align-interface.cc (calc_positioning_done): use callback.
8273 * lily/beam.cc (calc_direction): use pseudo-property for beam
8275 (calc_positions): use callback
8277 * lily/align-interface.cc (calc_positioning_done): use
8278 callback. Fold fixed distance and normal alignment in one function.
8280 * lily/stem.cc (calc_stem_end_position): use callback.
8281 (calc_positioning_done): idem.
8282 (calc_direction): idem.
8283 (calc_stem_end_position): idem
8284 (calc_stem_info): idem.
8286 * lily/grob-property.cc (get_property_data): new function:
8287 (try_callback): new function.
8289 * scm/define-grob-properties.scm (all-user-grob-properties): doc
8292 * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8294 2005-10-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
8296 * lily/tie.cc (get_position): robustness fix. Don't crash if a
8300 * lily/include/*.hh (Module): compile fixes.
8302 2005-10-14 Heikki Junes <hjunes@cc.hut.fi>
8304 * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil
8305 as an argument for char-syntax: use (char-syntax (or nil 0))
8306 instead of (char-syntax nil), thanks to Milan Zamazal.
8308 2005-10-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
8310 * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8313 * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8316 2005-10-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8318 * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8319 add class_name() method.
8321 * lily/music-scheme.cc: remove ly:music-name.
8323 2005-10-11 Jan Nieuwenhuizen <janneke@gnu.org>
8325 * cygwin/postinstall-lilypond.sh: Remove cruft.
8327 * cygwin/postremove-lilypond.sh: Remove.
8329 * cygwin/GNUmakefile (default): Remove postremove rules.
8331 2005-10-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8333 * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8336 * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8339 * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8340 consider break index for broken spanner.
8342 * scm/define-markup-commands.scm (wordwrap-string): remove \r
8343 characters from string before splitting.
8345 2005-10-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
8347 * scm/framework-ps.scm (output-preview-framework): use
8348 is-book-title to determine whether to chop off the booktitle.
8350 * lily/paper-book.cc (systems): init from book-title-properties
8351 (add_score_title): init score-title-properties.
8353 * ly/paper-defaults.ly: add {score,book}-title-properties.
8355 * scm/document-backend.scm (lookup-interface): error message if
8356 using unknown interface.
8358 * lily/volta-bracket.cc (after_line_breaking): new function. Set
8361 * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8363 (make_bracket): new function.
8365 * scm/lily.scm (define-scheme-options): add paper-size option.
8367 * ly/declarations-init.ly (laissezVibrer): get paper size from
8370 * scm/translation-functions.scm: use \fontsize for changing the
8373 * scm/define-grobs.scm (all-grob-descriptions): set
8374 between-length-limit to 1.0
8376 * lily/tie-helper.cc: add between_length_limit_ detail property.
8378 * mf/feta-bolletjes.mf: typos.
8380 * lily/note-head.cc (internal_print): don't shadow idx
8381 parameter. This fixes wrong attachment for do shape heads.
8383 2005-10-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
8385 * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8387 * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8389 * scm/layout-slur.scm: rename from slur.scm
8391 * scm/layout-page-layout.scm: rename from page-layout.scm
8393 * scm/layout-beam.scm: rename from beam.scm
8395 * scm/define-grob-interfaces.scm (bass-figure-interface): add
8396 bass-figure-interface
8398 * lily/new-figured-bass-engraver.cc (process_music): add
8399 implicitBassFigures property.
8401 * scm/define-markup-commands.scm (pad-x): new markup.
8403 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8404 minimumVerticalExtent on FiguredBass context.
8406 * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8407 case the continuation crosses a line break.
8409 2005-10-09 Jan Nieuwenhuizen <janneke@gnu.org>
8411 * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8412 unconverted value if cygwin_conv_to_posix_path () fails. Fixes
8413 absolute file name bug.
8415 2005-10-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
8417 * VERSION (PACKAGE_NAME): release 2.7.12
8419 * input/regression/figured-bass-continuation-center.ly: new file.
8421 * input/regression/beam-outside-beamlets.ly: new file.
8423 * lily/beam.cc (set_beaming): don't clip edges.
8424 (connect_beams): don't clip edges.
8426 * lily/beaming-info.cc (clip_edges): new function.
8428 * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8430 * Documentation/user/instrument-notation.itely (Figured bass):
8431 demonstrate extenders, update seealso links.
8433 * scm/titling.scm (marked-up-headfoot): change tagline
8434 handling. tagline = ##f will blank the tagline as well.
8436 2005-10-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8438 * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8440 * lily/new-figured-bass-engraver.cc (struct
8441 New_figured_bass_engraver): add new_music_found_ member.
8443 * lily/lilypond-version.cc (Lilypond_version): deal with
8444 incorrectly formatted version strings.
8446 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8447 New_figured_bass_engraver by default.
8449 * lily/ttf.cc (print_trailer): only define glyph names when
8450 FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8452 2005-10-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8454 * lily/horizontal-bracket.cc (make_bracket): new function.
8456 * scm/define-grobs.scm (all-grob-descriptions): new grobs
8457 NewBassFigure, BassFigureBracket, BassFigureContinuation,
8458 BassFigureLine, BassFigureAlignment
8460 * lily/new-figured-bass-engraver.cc (process_music): new file.
8462 * lily/figured-bass-continuation.cc: new file.
8464 * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8467 2005-10-04 Mats Bengtsson <mabe@s3.kth.se>
8469 * scripts/lilypond-book.py: Bug fix, put the quote around the
8470 actual score for LaTeX documents.
8472 * scm/define-grobs.scm (all-grob-descriptions): Change
8473 collapse-height of the SystemStartBracket grob to 5.0,
8474 so the bracket disappears for single stave score lines (similarly
8475 to SystemStartBraces).
8477 * Documentation/user/advanced-notation.itely (Polymetric
8478 notation): Clarify the use of compressMusic.
8480 * Documentation/user/basic-notation.itely (Grace notes): Clarify
8481 that the grace spacer note in other staves need the same duration
8482 and document the stroke-style property.
8484 2005-10-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8486 * Documentation/user/global.itely (Vertical spacing): document
8487 alignment-extra-space and fixed-alignment-extra-space.
8489 * Documentation/topdocs/NEWS.tely (Top): add entry.
8491 * input/regression/alignment-vertical-spacing.ly: new file.
8493 * python/convertrules.py (conv): add rule.
8495 * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8497 * lily/align-interface.cc (stretch_after_break): new
8498 function. Read fixed-alignment-extra-space property.
8499 (align_elements_to_extents): read alignment-extra-space property.
8501 * lily/lily-guile.cc (robust_scm2dir): new function.
8503 * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8504 (annotate-space-left): new function. Annotate space left on page.
8505 (annotate-y-interval): new function.
8506 (paper-system-annotate-last): new function. Annotate bottom-space.
8508 * mf/feta-beugel.mf (y):
8510 2005-10-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8512 * VERSION (PACKAGE_NAME): release 2.7.11
8514 * scm/lily-library.scm (interval-translate): new function
8515 (interval-center): new function.
8517 * scm/page-layout.scm (paper-system-annotate): new function. Add
8518 arrows for dimensions.
8520 * scm/stencil.scm (dimension-arrows): new function.
8522 * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8524 * input/regression/page-spacing.ly: add annotatespacing
8526 * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8527 (LY_DEFINE): new function ly:paper-system-set-property!
8529 * Documentation/user/global.itely (Paper size): explain how to add
8532 * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8533 correspond to GS's definition.
8535 * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8537 (print): only connect to next bracket if the next one is alive.
8538 (print): set padding to 0.0 if the bound is a breakable
8539 column. This makes tupletFullLength brackets reach up to the staff
8540 line if it doesn't connect to the next line.
8542 2005-09-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
8544 * lily/bar-number-engraver.cc: correct docs.
8546 * scm/output-lib.scm (first-bar-number-invisible): rename from
8547 default-bar-number-visibility
8549 2005-09-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8551 * scm/define-music-properties.scm (all-music-properties): remove
8554 2005-09-28 Heikki Junes <hjunes@cc.hut.fi>
8556 * po/fi.po: refresh.
8558 2005-09-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
8560 * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8562 (disappear): bugfix.
8564 * lily/stem-tremolo.cc (raw_stencil): read slope property.
8566 * lily/include/paper-system.hh (class Paper_system): remove
8567 staff_extents_ member.
8569 * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8571 * lily/include/paper-system.hh (class Paper_system): remove
8572 number_ variable. Remove is_title_. Remove break_before_penalty_
8574 * lily/paper-book.cc (systems): use 'number property iso. number_
8577 * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8578 remove ly:paper-system-number.
8580 * scm/lily-library.scm (paper-system-title?): new function.
8582 * lily/book.cc (process): bugfix: flip ?: cases.
8584 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8587 * ly/music-functions-init.ly: add outputProperty music function.
8589 * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8591 * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8593 (optimal-page-breaks): rename from ly:optimal-page-breaks.
8595 * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8597 * lily/paper-system.cc (internal_get_property): new function.
8599 * Documentation/user/global.itely (Vertical spacing): refer to
8602 * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8605 * input/regression/page-spacing.ly: new file.
8607 * input/regression/page-top-space.ly: new file.
8609 * lily/spacing-spanner.cc: cmath -> math.h
8611 * lily/paper-system.cc (read_left_bound): new function. Read
8612 line-break-system-details from left bound to determine extents.
8614 * Documentation/user/programming-interface.itely (Using LilyPond
8615 syntax inside Scheme): change applyxxx -> applyXxx.
8617 * ly/music-functions-init.ly: add outputProperty music function.
8619 * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8621 * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8623 * python/convertrules.py (conv): rule
8625 * ly/music-functions-init.ly: applyxxx -> applyXxx
8627 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
8630 2005-09-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8632 * flower/include/real.hh: include <math.h> iso. <cmath>
8634 * flower/include/offset.hh: include real.hh
8636 2005-09-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
8638 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8639 fix example, now that 'interfaces is no longer directly available.
8641 * lily/book.cc (process): don't crash if paper == NULL.
8645 2005-09-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8647 * scm/define-music-types.scm (music-descriptions): set length and
8648 start-callback for QuoteMusic
8650 2005-09-15 Mats Bengtsson <mabe@s3.kth.se>
8652 * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
8653 arguments. Fixes compilation error with gcc 3.3.
8655 2005-09-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
8657 * VERSION: release 2.7.10
8659 * stepmake/stepmake/python-module-rules.make
8660 ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.
8662 * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
8665 2005-09-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8667 * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
8668 -Werror. Otherwise GCC barfs over various optimizations.
8670 * scm/define-grob-properties.scm (all-internal-grob-properties):
8671 add note-head property
8673 * Documentation/user/instrument-notation.itely (Laissez vibrer
8676 * input/regression/laissez-vibrer-ties.ly: new file.
8678 * lily/laissez-vibrer-engraver.cc: new file.
8680 * lily/include/tie-column-format.hh: new file.
8682 * lily/tie-column-format.cc: new file.
8684 * lily/tie-column.cc (set_manual_tie_configuration): new function.
8686 * lily/laissez-vibrer-tie.cc: new file.
8688 * lily/include/laissez-vibrer-tie.hh: new file.
8690 * ly/engraver-init.ly: add Laissez_vibrer_engraver
8692 * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
8694 * scm/define-grobs.scm (all-grob-descriptions): add
8695 LaissezVibrerTie, LaissezVibrerTieColumn
8697 * lily/tie-column.cc (set_tie_config_directions): new function
8698 (final_shape_adjustment): new function.
8699 (shift_small_ties): new function.
8701 * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
8703 * lily/include/tie.hh (struct Tie_details): add x_gap_
8704 (struct Tie_configuration): add head_position_
8706 * lily/tie-column.cc (set_chord_outline): new function.
8708 * mf/cmr.enc.in: remove file.
8710 2005-09-11 Graham Percival <gpermus@gmail.com>
8712 * Documentation/user/examples.itely: typo fix. Thanks, Matevž
8714 2005-09-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8716 * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
8717 reduce aliasing effects.
8719 * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
8722 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
8724 * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
8726 * flower/include/real.hh: std::fabs too.
8728 2005-09-08 Jan Nieuwenhuizen <janneke@gnu.org>
8730 * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner).
8732 * lily, flower: Include C++ iso C headers. Import namespace std
8735 * lily/side-position-interface.cc:
8737 * lily/note-head.cc:
8738 * lily/include/includable-lexer.hh:
8739 * flower/include/string-data.icc: Remove using std::*.
8741 * lily, flower: Include C++ iso C headers. Import namespace std
8744 * lily/side-position-interface.cc:
8746 * lily/note-head.cc:
8747 * lily/include/includable-lexer.hh:
8748 * flower/include/string-data.icc: Remove using std::*.
8750 * Documentation/user/instrument-notation.itely (Entering lyrics):
8751 Multiple latin-1->utf-8 conversion fix.
8753 * Documentation/user/*tely: Update Emacs cookie to utf-8.
8755 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
8757 * lily/tie.cc (get_configuration): also avoid dots for non-space
8760 2005-09-07 Jan Nieuwenhuizen <janneke@gnu.org>
8762 * Documentation/user/instrument-notation.itely: Bugfix.
8764 2005-09-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8766 * tex/GNUmakefile: don't install texinfo.tex
8768 * tex/ : cleanup: remove unused files.
8770 * lily/general-scheme.cc: remove my_{isinf,isnan}.
8772 * flower/include/real.hh: using std::{isnan,isinf}
8774 * VERSION (PATCH_LEVEL): release 2.7.9
8776 2005-09-05 Graham Percival <gpermus@gmail.com>
8778 * Documentation/user/ instrument-notation.itely,
8779 advanced-notation.itely: minor tweaks.
8781 * input/test/script-chart.ly: add item padding.
8783 2005-09-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8785 * flower/offset.cc: use math.h iso. <cmath>
8787 * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
8790 * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
8791 (widen-left-stencil-edges): new function. Fix alignment problems
8792 with LaTeX includegraphics.
8794 * lily/text-interface.cc (interpret_markup): use abort().
8796 2005-09-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
8798 * input/regression/tie-chord.ly (testLong): add a chord in 4ths
8800 * lily/tie.cc (get_configuration): update bezier shape as we
8802 (get_configuration): don't move large ties if we're outside of the
8805 2005-09-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
8807 * scm/define-markup-commands.scm (strut): swap X and Y dims.
8809 2005-09-03 Jan Nieuwenhuizen <janneke@gnu.org>
8811 * .cvsignore: Add auto-generated configure files and then some.
8813 2005-09-02 Jan Nieuwenhuizen <janneke@gnu.org>
8815 * scm/define-grobs.scm (DynamicLineSpanner): Add
8816 X-extent-callback. Fixes hairpin-slur collision.
8818 2005-08-31 Graham Percival <gpermus@gmail.com>
8820 * Documentation/user/advanced-notation.itely,
8821 basic-notation.itely: minor changes.
8823 2005-08-31 Mats Bengtsson <mabe@s3.kth.se>
8825 * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
8826 \linebreak between each .eps file if \betweenLilyPondSystem is
8829 * Documentation/user/lilypond-book.itely (Integrating LaTeX and
8830 music): Document the \linebreak
8832 * Documentation/user/lilypond-book.itely,
8833 input/tutorial/lbook-latex-test.tex,
8834 Documentation/user/examples.itely: Remove \usepackage{graphics}
8836 2005-08-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
8838 * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
8840 * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
8843 * scripts/lilypond-book.py (PREAMBLE_LY): define
8844 inside-lilypond-book
8845 (modify_preamble): new function. Insert \RequirePackage{graphics}
8846 when no {graphics found in preamble.
8848 2005-08030 Graham Percival <gpermus@gmail.com>
8850 * Documentation/user/basic-notation.itely, global.itely,
8851 tutorial.itely: misc small changes.
8853 2005-08-30 Jan Nieuwenhuizen <janneke@gnu.org>
8855 * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
8858 2005-08-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
8860 * lily/tie-column.cc (new_directions): put Tie down on center
8863 * lily/script-interface.cc (before_line_breaking): use
8864 Grob::programming_error
8866 * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
8868 * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
8871 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
8873 * VERSION (PACKAGE_NAME): VERSION release 2.7.8
8875 2005-08-29 Werner Lemberg <wl@gnu.org>
8877 * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
8878 the `*.scale.pfa' files to avoid warnings.
8880 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
8882 * lily/tempo-performer.cc (process_music): idem.
8884 * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
8886 2005-08-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
8888 * Documentation/user/advanced-notation.itely (Text markup): not a
8891 * lily/midi-item.cc (to_string): use to_int() iso. int cast.
8893 * lily/staff-performer.cc (initialize): add tempo/name to
8896 2005-08-26 Graham Percival <gpermus@gmail.com>
8898 * Documentation/user/advanced.itely: add text-only example.
8900 * Documentation/user/invoking.itely: add index entries for
8903 * Documentation/user/ tutorial.itely, basic-notation.itely:
8904 small fixes suggested by Steve D. Thanks!
8906 2005-08-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8908 * input/regression/markup-bidi-pango.ly: new file.
8910 * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
8911 standard. Remove #ifdef. Remove memleak.
8912 (text_stencil): use text_dir to decide how to composite items.
8913 (text_stencil): determine uniform text direction for the entire
8916 * scripts/lilypond-book.py (output_name): remove
8917 latex_filter_cmd. Non-portable to non-Unix systems.
8918 (get_latex_textwidth): use File.write and os.unlink() instead.
8920 * THANKS: add Vicente & Trevor.
8922 * lily/grob.cc (discretionary_processing): look up origin for
8923 programming_error too.
8925 * input/regression/tie-broken.ly: new file.
8927 * lily/tie-column.cc (set_chord_outlines): set outline for line
8930 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
8932 * lily/pango-font.cc (text_stencil): don't translate glyphs in
8933 unscaled transform, just translate stencils.
8935 * ly/performer-init.ly: init timing to #t. Fixes bar checks in
8938 * scm/define-markup-commands.scm (wordwrap-string): use
8940 (wordwrap-stencils): idem.
8943 (wordwrap-stencils): translate last line to right for
8944 text-direction = LEFT.
8946 * scm/define-grob-properties.scm (all-user-grob-properties): add
8949 2005-08-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
8951 * lily/lily-parser.cc (Lily_parser): also copy output_basename_
8952 when copying a Lily_parser object.
8954 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
8956 * scm/define-markup-commands.scm (null): add null markup.
8958 2005-08-25 Mats Bengtsson <mabe@s3.kth.se>
8960 * lily/item.cc: Add documentation of center-invisible
8962 2005-08-24 Graham Percival <gpermus@gmail.com>
8964 * Documentation/user/advanced-notation.itely: add info about
8967 * Documentation/user/programming-interface.itely: fix example
8968 involving raised text.
8970 2005-08-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
8972 * lily/beam.cc (print): fix X start/end points of isolated
8975 * scm/output-ps.scm (grob-cause): escape spaces in URLs.
8977 * lily/multi-measure-rest.cc (set_text_rods): new function.
8979 * lily/vertical-align-engraver.cc (process_music): call
8980 Align_interface::set_axis(). This forces #'elements to be ordered,
8981 preventing random vertical reordering of staves.
8983 * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
8984 add avoid-slur property.
8986 * Documentation/user/basic-notation.itely (Measure repeats): add
8987 countPercentRepeats example.
8989 * Documentation/user/advanced-notation.itely (Other text markup
8990 issues): remove remark about normal-font. We have \normal-text
8992 * input/regression/tie-chord.ly: add note about remaining bugs.
8994 * lily/tie.cc (print): try Tie_column::set_directions () if
8995 control-points not yet defined.
8997 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
8999 * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9000 extent. This fixes braces falling out of the EPS bbox.
9002 * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9005 2005-08-23 Graham Percival <gpermus@gmail.com>
9007 * {various} : change #up->#UP and #down->#DOWN.
9009 * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9011 * Documentation/user/advanced-notation.itely: clarify
9012 what objects handles text on a multimeasure rest.
9014 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9016 * VERSION (PATCH_LEVEL): release 2.7.7
9018 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9020 * make/lilypond-vars.make: set -dgs-font-load for "make web"
9022 * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9024 * input/regression/*.ly: formatting clean-up. Default layout
9025 before music expression.
9027 * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9028 romanze28-2 example.
9030 * scm/ps-to-png.scm: remove dir-re function.
9031 (make-ps-images): generate page names, instead of globbing them.
9032 This brings down LilyPond memory usage for make web by a factor
9035 * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9036 don't use glob. With 3000 files, globbing
9037 Documentation/user/out-www/ can take too much time.
9039 * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9041 * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9043 * input/regression/tie-manual.ly: new file
9045 * input/regression/tie-chord.ly: update.
9047 * flower/include/interval.hh (struct Interval_t):
9049 * lily/tie.cc (distance): new function
9050 (height): new function.
9051 (init): new function
9052 (Tie_details): new struct.
9054 * lily/skyline.cc (skyline_height): new function.
9056 * lily/tie-column.cc (set_chord_outlines): new function.
9057 (new_directions): read tie-configuration
9059 * lily/skyline.cc: fix ASCII art.
9061 2005-08-22 Mats Bengtsson <mabe@s3.kth.se>
9063 * python/convertrules.py (string_or_scheme): Fix spelling error
9065 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9067 * lily/tie-column.cc (set_directions): set directions only once.
9068 (add_configuration): new function.
9070 * lily/tie.cc (set_control_points): new function
9072 * lily/tie-column.cc (new_directions): new function.
9074 * ly/music-functions-init.ly: set 'pitch property
9075 iso. trill-pitch. This makes \relative work with \pitchedTrill
9077 * lily/tie.cc (get_configuration): new function. Don't generate
9078 control points, rather, generate configuration.
9079 remove head-pair property.
9081 * lily/include/tie.hh (struct Tie_configuration): new struct.
9083 2005-08-22 Heikki Junes <hjunes@cc.hut.fi>
9085 * Documentation/topdocs/NEWS.tely: clarify.
9087 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9089 * lily/tie.cc: remove minimum-length
9091 * scm/define-grob-properties.scm (all-user-grob-properties):
9092 remove staffline-clearance, y-offset
9094 * input/regression/tie-dots.ly (Module): remove.
9096 * lily/tie.cc (get_control_points): rewrite. Put short ties in
9097 staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9099 * input/regression/tie-single.ly: new file.
9101 2005-08-21 Graham Percival <gpermus@gmail.com>
9103 * ly/bagpipe.ly: fix compile problem.
9105 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9107 * lily/midi-item.cc (name): new method.
9109 * lily/staff-performer.cc (acknowledge_audio_element): use
9110 signature of baseclass.
9112 * lily/engraver-group.cc (do_announces): move recursion call out
9115 * lily/drum-note-performer.cc (class Drum_note_performer): use
9116 process_music everywhere.
9118 * ly/performer-init.ly: add default children everywhere.
9120 * lily/paper-book.cc (output): call paper-book-write-midis
9121 directly: always write MIDI, even if no \layout {} block.
9123 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9125 * VERSION (PACKAGE_NAME): release 2.7.6
9127 * lily/percent-repeat-engraver.cc (try_music): don't print warning
9128 about not being able to handle repeat.
9130 2005-08-19 Jan Nieuwenhuizen <janneke@gnu.org>
9132 * Documentation/user/examples.itely (Piano templates):
9133 * lily/include/performer-group.hh: Remove last traces of
9134 Performer_group_performer. Fixes make web.
9136 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9138 * Documentation/user/examples.itely (Piano templates): change
9139 Engraver_group_engraver -> Engraver_group
9141 * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9142 scm_stand_in_procs is not weak_any.
9144 * lily/volta-bracket.cc (print): don't use strcmp().
9146 * lily/volta-engraver.cc (process_music): use
9147 Text_interface::is_markup() for setting the 'text property of the
9150 * input/mutopia/claop.py (accents): update syntax to 2.6
9152 * scm/define-context-properties.scm
9153 (all-user-translation-properties): add countPercentRepeats.
9155 * Documentation/user/basic-notation.itely (Measure repeats): add
9156 isolated percent example.
9158 2005-08-18 Graham Percival <gpermus@gmail.com>
9160 * input/ {various}: change direction #1, #-1 to
9161 #up/#down or \fooUp, \fooDown.
9163 * Documentation/user/music-glossary.tely: #-1 to #down.
9165 * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9166 to #up, #-1 to #down.
9168 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9170 * lily/include/engraver-group.hh: rename.
9172 * lily/include/performer-group.hh: rename.
9174 2005-08-18 Mats Bengtsson <mabe@s3.kth.se>
9176 * input/test/script-abbreviations.ly: Removed some old LaTeX
9179 2005-08-18 Jan Nieuwenhuizen <janneke@gnu.org>
9181 * python/convertrules.py (conv): inside-slur -> avoid-slur.
9182 Remove functions. Remove if 1: constructs, reindent.
9184 * scripts/convert-ly.py (add_version): Add functions from
9187 * scm/script.scm (default-script-alist):
9188 s/priority/script-priority. Fixes script stacking. Backportme.
9189 (Fermata): Very low priority.
9191 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9193 * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9195 * input/regression/slur-script.ly: remove padding tweaks. Add
9198 * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9199 time sigs and related stuff.
9201 * scm/define-grob-properties.scm (all-user-grob-properties): add