1 2006-11-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3 * lily/dynamic-engraver.cc:
6 * input/regression/note-head-harmonic.ly:
8 * input/regression/note-head-harmonic-whole.ly:
9 Center harmonic heads if stem is invisible. Fixes #140
12 end context snippet with '\n'
15 catch all GUILE exceptions
20 * lily/include/lily-lexer.hh:
22 * lily/lily-parser.cc:
23 Lily_parser* arg for copy ctor too.
26 abc2ly new tempo syntax
28 2006-11-04 Heikki Junes <hjunes@gmail.com>
30 * po/fi.po: update Finnish translation.
32 2006-11-03 Graham Percival <gpermus@gmail.com>
34 * Documentation/user/ {various}: rename page->spacing,
35 global->non-music, invoking->running, example->templates.
37 2006-11-03 Nicolas Sceaux <nicolas.sceaux@free.fr>
39 * scm/display-lily.scm: add a parser argument to display methods,
40 instead of using a *parser* special variable.
42 * scm/define-music-display-methods.scm: add a parser argument to
43 display methods. Update the methods for \melisma, \melismaEnd,
44 \breathe, \tempo, \partial.
46 * input/no-notation/display-lily-tests.ly: update the test
47 utilities according to the changes in display-lily.scm
49 2006-11-03 Han-Wen Nienhuys <hanwen@lilypond.org>
51 * *: The Joy of Merging.
53 * buildscripts/git-update-changelog.py:
54 sort commits, and use .git-commits-done file.
58 dist emacs patches too.
60 2006-11-02 Han-Wen Nienhuys <hanwen@lilypond.org>
65 * lily/context-def.cc:
66 * lily/include/parse-scm.hh:
67 * lily/include/smobs.hh:
70 * lily/program-option.cc:
72 implement and use ASSERT_LIVE_IS_ALLOWED()
74 * ly/music-functions-init.ly:
76 set-part-combine fix for autochange.
78 * lily/include/lily-lexer.hh:
79 * lily/include/lily-parser.hh:
81 * lily/lily-parser-scheme.cc:
82 * lily/lily-parser.cc:
83 clear lexer scopes after parsing file. Plugs pseudo memory leak
85 * ly/declarations-init.ly:
86 * ly/music-functions-init.ly:
87 * scm/part-combiner.scm:
88 Remove set-part-combine-listener. This plugs a memory leak.
94 don't delete .scale.pfa; the FF script may not have read themyet. Fixes brace OTF bug
99 * lily/part-combine-iterator.cc:
100 don't allocate part combine events statically. Plugs small leak.
102 * lily/lily-parser-scheme.cc:
103 plug memleak in case of failed files.
105 * lily/include/source.hh:
110 hi-bit ascii is also counted as alpha chars. This allows unicodeidentifiers, and fixes premature stop at accented char. (#134)
112 * lily/include/program-option.hh:
113 * lily/program-option.cc:
114 get_program_option() function
116 * ly/titling-init.ly:
117 change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing.
119 * lily/include/translator.hh:
120 * lily/include/translator.icc:
121 * lily/translator.cc:
124 * lily/figured-bass-engraver.cc:
125 don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128.
127 * stepmake/stepmake/compile-vars.make:
128 don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC
130 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
136 trim warning messages.
141 * input/regression/utf-8.ly:
142 document utf-8 meaning of phrases.
144 * scm/define-markup-commands.scm:
145 make \caps markup default to smallCaps
147 * lily/pango-font.cc:
149 use glyph indexing for glyph name .notdef
151 2006-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
153 * input/regression/utf-8.ly: Fix doc to match order of language
156 2006-11-01 Joe Neeman <joeneeman@gmail.com>
158 * lily/optimal-page-breaking.cc (try_page_spacing): don't average
159 page and line forces.
161 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
163 * GNUmakefile.in (SUBDIRS): remove cygwin dir too.
165 2006-10-31 Han-Wen Nienhuys <hanwen@lilypond.org>
167 * Documentation/user/GNUmakefile:
168 don't use ImageMagick, use GS directly.
171 otf depends on otf-g?table. Fixes race condition in -j2 build.
172 (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)
178 remove .deb/.rpm downloading.
180 * buildscripts/git-update-changelog.py:
181 bugfixes for git-update-changelog.py
183 * Documentation/user/GNUmakefile:
186 2006-10-30 Han-Wen Nienhuys <hanwen@lilypond.org>
188 * input/regression/tie-semi-single.ly:
189 use position/direction from single tie case too. This fixes
190 overrides and defaults for single laissez-vibrer and repeat ties.
192 * buildscripts/git-update-changelog.py:
193 only prepend header if one patch was successful.
195 2006-10-31 Jan Nieuwenhuizen <janneke@gnu.org>
197 * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
198 stuff. Remove cygwin packaging stuff.
200 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
202 * python/convertrules.py (conv): Part 2 fixes vertical extent.
204 * input/test/vertical-extent.ly: Fix and elaborate on vertical
205 staff extent. (Thanks Mats)
207 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
209 * buildscripts/git-update-changelog.py (main): write .msg and cvs
212 * scm/define-grobs.scm:
213 separation-items have width
219 * Documentation/topdocs/NEWS.tely:
220 * lily/separating-group-spanner.cc:
221 * lily/slur-engraver.cc:
222 * lily/slur-scoring.cc:
223 * scm/define-grobs.scm:
224 * input/regression/slur-clef.ly:
225 add breakableSeparationItem to extra encompass for slurs. This
226 fixes slur/clef slur/key collisions etc. Should fix #49
228 * lily/include/slur-scoring.hh:
229 * lily/slur-scoring.cc:
230 Use X of separation item as slur start. Fixes #120
232 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
234 * buildscripts/git-update-changelog.py (changelog_body): don't
237 * lily/grob.cc: add avoid-slur
239 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
243 move server/emacsclient to elisp/
245 * buildscripts/git-update-changelog.py (Commit.note_del_file):
248 * elisp/server.el.patch:
251 * elisp/emacsclient.patch:
254 * buildscripts/git-update-changelog.py:
261 * buildscripts/git-update-changelog.py:
262 script to update ChangeLog with Git messages.
264 * lily/beam-engraver.cc:
265 * input/regression/rest-pitched-beam.ly:
266 don't set callback if staff-position set. Fixes #126.
268 * lily/bar-number-engraver.cc:
270 * lily/fingering-engraver.cc:
271 * lily/grob-property.cc:
273 * lily/include/grob.hh:
274 * lily/include/lily-guile-macros.hh:
275 * lily/mark-engraver.cc:
276 * lily/melody-engraver.cc:
277 * lily/script-column.cc:
278 * lily/tie-formatting-problem.cc:
280 internal_get_property_data() using ly_symbol2scm()
282 * stepmake/stepmake/generic-targets.make:
283 create .gitignore in outdir.
288 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
290 * input/test/vertical-extent.ly:
291 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
293 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
295 * stepmake/bin/add-html-footer.py (compose): remove setgcos
297 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
299 * GNUmakefile.in (install-help2man): install-help2man target.
301 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
303 * SConstruct (configure): Do not check for /bin/sh.
305 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
307 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
310 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
312 * input/regression/fret-boards.ly: new file.
314 * po/de.po: new po courtesy translation team.
316 * scripts/lilypond-book.py (get_option_parser): add newline to doc
319 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
321 * ly/gregorian-init.ly (neumeDemoLayout): update
322 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
324 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
325 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
327 2006-10-27 Erlend Aasland <erlenda@gmail.com>
329 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
330 Yet another build fix.
332 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
334 * SConstruct (lilypondprefix): use sorted() for list_sort()
337 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
339 * flower/SConscript: Unit test rules.
341 * flower/test-std.cc: Compile fix.
343 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
345 * python/midi.c (pymidi_parse_track): warning fixes.
347 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
348 include dot-column.hh
350 2006-10-26 Graham Percival <gpermus@gmail.com>
352 * Documentation/user/{basic-, global}: minor changes from mailist.
354 2006-10-26 Erlend Aasland <erlenda@gmail.com>
356 * scm/define-grobs.scm: trivial beautification
358 * lily/tie-performer.cc: no need to #include "pqueue.hh"
360 * lily/source-file.cc: put multibyte var inside #if clause
362 * scm/define-grob-interfaces.scm:
363 * scm/define-grob-properties.scm:
364 Build fix (string-fret-finger-combinations)
366 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
369 * Documentation/user/lilypond-book.itely: Build fix.
371 2006-10-26 Joe Neeman <joeneeman@gmail.com>
373 * lily/system.cc (get_paper_system):
374 * lily/paper-book.cc (systems):
375 move most of the backwards compatibility stuff into
378 * Documentation/topdocs/NEWS.tely: add 2 entries for the
381 * Documentation/user/page.itely: remove time-scaled-music
382 bug for the Page_turn_engraver
384 * lily/paper-book.cc (set_system_penalty): backwards
385 compatibility (breakbefore) for the old page breaker
387 2006-10-25 Graham Percival <gpermus@gmail.com>
389 * Diocumentation/user/instrument-notation.itely: added more
390 info about stanzas; thanks Geoff!
392 * Documentation/user/ {basic, advanced}: small fixes from
395 * THANKS: add some bug reporters.
397 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
399 * scm/define-context-properties.scm (all-user-translation-properties):
400 noteToFretFunction: Add.
402 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
403 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
405 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
407 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
410 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
411 Remove bashism in delete.
413 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
415 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
417 * scm/translation-functions.scm (determine-frets-mf): flatten let*
419 * scm/define-context-properties.scm
420 (all-user-translation-properties): add maximumFretStretch property.
422 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
424 * lily/source-file.cc (get_counts): use multibyte variable.
426 * scm/translation-functions.scm (determine-frets-mf): new
427 function: compute fret numbers.
429 * scm/output-lib.scm (string-frets->description) new function.
430 (fret-board::calc-stencil): new function
432 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
434 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
436 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
438 * lily/tab-note-heads-engraver.cc: cleanups.
440 * lily/fretboard-engraver.cc: new file
442 * ly/engraver-init.ly: add FretBoards context
444 2006-10-24 Joe Neeman <joeneeman@gmail.com>
446 * lily/grob.cc (pure_relative_y_coordinate)
447 (pure_height): use the new call_pure_function stuff
449 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
452 * lily/side-position-interface.cc (pure_y_aligned_side): add an
455 * lily/simple-closure.cc (ly_eval_simple_closure): make
456 simple-closure evaluatable from scheme
457 (evaluate_with_simple_closure): make simple-closures pure-
460 * lily/slur.cc (pure_outside_slur_callback): new function
462 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
463 fits in with previous changes that made the page forces much
466 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
467 and pure-Y-extent into this new function.
468 (pure-conversions-alist): add outside-slur-callback
470 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
472 * Documentation/user/advanced-notation.itely (Instrument names):
473 Remove obsolete bug workaround for instrument names on piano
476 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
478 * Documentation/user/lilypond-book.itely (Integrating DocBook and
479 music): patch by Bertalan Fodor for docbook.
481 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
482 of $(LILYPOND). Prevents lilypond run for .txt files.
484 * INSTALL.txt: gitness.
486 * .cvsignore: update to force gitness.
488 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
490 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
491 detect suicide in nested tuplets.
493 2006-10-23 Werner Lemberg <wl@gnu.org>
495 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
496 typo in argument to FT_Get_X11_Font_Format.
498 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
500 * stepmake/stepmake/po-vars.make: more gitness.
502 * flower/polynomial.cc (check_sol): no empty if bodies.
504 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
506 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
508 2006-10-22 Jürgen Reuter <reuter@ipd.uka.de>
510 * Documentation/user/examples.itely (Transcription of mensural
511 music): Added more comments in .ly source. Suggest to remove
512 Forbid_line_break_engraver to allow line breaking at all bars.
514 * Documentation/user/instrument-notation.itely (Ancient
515 articulations): Updated @refbugs regarding episem.
517 * Documentation/user/instrument-notation.itely (Gregorian square
518 neumes ligatures): Added \augmentum dots. Updated @refbugs
519 regarding \augmentum.
521 * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
523 * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated
526 * lily/vaticana-ligature-engraver.cc: Added TODO comment for
529 * ly/gregorian-init.ly: Added \augmentum macro.
531 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
533 * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
535 * lily/pango-font.cc (pango_item_string_stencil): use
536 FT_Get_X11_Font_Format()
538 2006-10-22 John Mandereau <john.mandereau@free.fr>
540 * po/fr.po: update translation.
542 2006-10-21 Han-Wen Nienhuys <hanwen@lilypond.org>
544 * VERSION (PATCH_LEVEL): bump version
546 * input/regression/horizontal-bracket-break.ly: new file.
548 * scm/define-grobs.scm (all-grob-descriptions): calc
551 * lily/horizontal-bracket.cc (make_bracket): support
552 connect-to-neighbor. Fix #118
554 * VERSION: release 2.9.26-2
556 * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
558 * VERSION (PACKAGE_NAME): release 2.9.26
560 * buildscripts/output-distance.py (test_basic_compare): add
562 (FileLink.multi_img_cell): new function, glob multi-page png
565 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
567 * po/lilypond.pot: update.
569 * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
571 * Documentation/user/global.itely (File structure): remove
574 * lily/parser.yy (FIXME): remove ADDQUOTE
576 * Documentation/user/global.itely (Extracting fragments of
577 notation): new node, about clip systems.
579 * Documentation/user/lilypond-book.itely (Many quotes of a large
580 score): ref to clip systems.
582 * Documentation/user/instrument-notation.itely (Entering lyrics):
583 add note about lyric ties and required font.
585 * lily/open-type-font.cc (glyph_list): format errors.
587 * Documentation/user/programming-interface.itely (Scheme
588 procedures as properties): more doco on simple-closure and scheme
590 (Input variables and Scheme): use lilypond[verbatim], document
593 * Documentation/user/page.itely (Displaying spacing): use \book
594 explicitly, so arrows show .
595 (Line breaking): add note about Forbid_line_break_engraver
597 * Documentation/user/tweaks.itely (Common tweaks): also set length
598 to prevent tie squeezing.
599 (Default files): use @var{}
601 * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
602 (Generating LilyPond files): add FOMUS.
604 2006-10-20 Joe Neeman <joeneeman@gmail.com>
606 * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
607 Y-offset for TextScript and Script
609 * lily/text-engraver.cc (make_item):
610 * lily/script-engraver.cc (make_script_from_event):
611 remove call to Side_position_interface::set_axis since all scripts
612 now have this set by default
615 * lily/prob.cc: use variables
617 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
619 * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
620 at typography, rather analyse stream event duration.
622 * Documentation/user/page.itely (Page formatting): set a6 paper
623 for system separator example.
625 * lily/arpeggio.cc (Module): idem.
627 * lily/accidental-placement.cc: add script-priority property.
629 * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
631 * lily/ttf.cc (print_trailer): if all else fails: use
632 glyphIndexXXXX as glyph name. Fixes #117.
634 * lily/pango-font.cc (pango_item_string_stencil): only use cmap
635 entry if cmap contains glyph.
636 (get_index_to_charcode_map): remove from Pango_font class, use
637 global filename -> font mapping.
638 (get_glyph_index_name): new function.
639 (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
642 * scripts/lilypond-book.py (main): use -deps-box-padding=-3
644 * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
647 * scm/define-grob-properties.scm (all-user-grob-properties):
648 remove outdated doc. Fixes #116
650 * lily/completion-note-heads-engraver.cc (process_music): always
651 clone input events; otherwise we may overwrite input 'duration
652 property. Fixes #115.
654 * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
657 * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
660 * VERSION (PATCH_LEVEL): bump version.
662 2006-10-19 Han-Wen Nienhuys <hanwen@lilypond.org>
664 * lily/engraver.cc (internal_make_grob): use variables.
666 * flower/string-convert.cc (dec2double): clean-up warnings.
668 * configure.in (CXXFLAGS): add -Werror.
670 * VERSION (PACKAGE_NAME): release 2.9.25
672 2006-10-18 Joe Neeman <joeneeman@gmail.com>
674 * lily/simple-spacer.cc (get_line_forces): test for non-fitting
675 line even if we precede a forced break.
677 * lily/optimal-page-breaking.cc (try_page_spacing): square line
678 forces too. Make page-spacing weight default to 10 because the
679 changes to vertical springs decreased the page force/line force
680 proportions. Also, take the average of line force and page force
681 instead of just the sum.
683 * lily/constrained-breaking.cc (initialize): make the stiffness
684 of the vertical springs depend on the height of the system. This
685 prevents pages with only a few large systems from getting huge
688 * Documentation/user/page.itely (Page formatting): document the
689 change in default page-spacing-weight
691 * lily/include/constrained-breaking.hh: initialise bottom_padding_
693 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
695 * input/typography-demo.ly (melody): remove superfluous slur.
697 * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
698 add piano-pedal-script-interface
700 2006-10-18 Bertalan Fodor <lilypondtool@organum.hu>
702 * scripts/lilypond-book.py: DocBook support.
704 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
706 * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
708 (stop_translation_timestep): set bound to currentMusicalColumn if
709 not set yet. Fixes #102
711 * lily/piano-pedal-bracket.cc: formatting.
713 * input/test/engraver-one-by-one.ly (MyStaff): reformat.
715 * lily/piano-pedal-align-engraver.cc: new class
716 Piano_pedal_align_engraver. Handle side-positioning Y-alignment
719 2006-10-18 Heikki Junes <hjunes@gmail.com>
721 * po/fi.po: Update Finnish translation (before the next release).
723 2006-10-17 Joe Neeman <joeneeman@gmail.com>
725 * lily/system.cc (get_paper_system): reinstate the backwards-
726 compatible page breaking for the old page breaker.
728 2006-10-17 Erik Sandberg <mandolaerik@gmail.com>
730 * lily/recording-group-engraver.cc: removed
732 * lily/context.cc, lily/translator-group.cc: Don't touch
733 Context::implementation_ if it's null
735 2006-10-17 Han-Wen Nienhuys <hanwen@lilypond.org>
737 * scm/paper.scm: only use left-margin if defined.
739 * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
741 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
743 * lily/new-fingering-engraver.cc: stringFingerOrientations ->
744 strokeFingerOrientations
746 * lily/script-column.cc (row_before_line_breaking): also handle
747 accidentals and arpeggios in horizontal script stacking.
749 * lily/script-row-engraver.cc (acknowledge_accidental_placement):
752 * input/regression/script-stack-horizontal.ly: trim.
754 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
756 * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
759 * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
760 'text if string argument.
762 * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
764 * scm/define-context-properties.scm
765 (all-user-translation-properties): change to strokeFingerOrientations
767 2006-10-16 Erik Sandberg <mandolaerik@gmail.com>
769 * lily/parser.yy: remove debug output
771 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
773 * ly/paper-defaults.ly: set left/right margin.
775 * scm/paper.scm (set-paper-dimensions): use left-margin and
776 right-margin for computing linewidth.
778 * Documentation/topdocs/NEWS.tely (Top): idem.
780 * input/regression/lyric-tie.ly (texidoc): use vowels for tied
783 * scm/define-markup-commands.scm (tied-lyric): increase negative
784 space: space syllables tighter.
786 * VERSION (PATCH_LEVEL): bump version.
788 * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
791 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
793 * COPYING: further clarification
795 * VERSION: release 2.9.24
797 * input/regression/script-stack-horizontal.ly: add version.
799 * scm/lily-library.scm (list-join): use fold-right. Fixes #112
801 * input/regression/lyric-tie.ly (texidoc): use different words.
803 * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
805 2006-10-15 Erik Sandberg <mandolaerik@gmail.com>
807 * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
808 macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
810 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
812 * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4;
814 * Doxyfile: remove file.
816 * scm/define-grob-interfaces.scm (string-finger-interface): add
817 string-finger-interface
819 * lily/general-scheme.cc (LY_DEFINE): move
820 ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[]
822 * Documentation/topdocs/NEWS.tely (Top): add note for
823 string-finger feature.
825 * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
828 * scm/output-lib.scm (string-finger::calc-text): read 'digit
831 * input/regression/script-stack-horizontal.ly: new file.
833 * ly/engraver-init.ly: add Script_row_engraver.
835 * lily/script-column.cc (order_grobs): refactor: separate axis
837 (row_before_line_breaking): new function.
839 * lily/script-row-engraver.cc (Script_row_engraver): new file.
841 * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
843 2006-10-14 Jürgen Reuter <reuter@ipd.uka.de>
845 * Documentation/user/instrument-notation.itely: Cleanup: Remove
846 annoying skip notes from mensural ligature example. Update
847 @refbugs for ligatures and mensural ligatures.
849 * lily/coherent-ligature-engraver.cc,
850 lily/include/coherent-ligature-engraver.hh,
851 lily/mensural-ligature-engraver.cc,
852 lily/vaticana-ligature-engraver.cc: Revise code for item
853 reparentizing. There should now be less programming_error
856 * lily/mensural-ligature-engraver.cc: Improve placement of dots.
858 * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
859 Maintenance bugfix: Don't create empty Stencil (), but empty box
860 instead. This fix should eliminate some programming_error
863 * ly/engraver-init.ly (MensuralStaff): Set default accidental
866 * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
867 \layout block _before_ score.
869 2006-10-14 Han-Wen Nienhuys <hanwen@lilypond.org>
871 * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
873 * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
875 2006-10-13 Erlend Aasland <erlenda@gmail.com>
877 * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
879 2006-10-13 Han-Wen Nienhuys <hanwen@lilypond.org>
881 * VERSION (PATCH_LEVEL): bump version.
883 * COPYING: clarify exception note.
885 * lily/main.cc: remove remark about "COPYING".
887 * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
888 system-count starts at 0 for each clip-region. Change name to
889 FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
890 layout block, per score.
892 2006-10-13 Erik Sandberg <mandolaerik@gmail.com>
894 * lily/input-smob.cc: add equal_p for Input
896 * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
899 * lily/parser.yy: MY_MAKE_MUSIC sets music origin
901 * lily/prob.cc: Add equal_p predicate for Prob
903 * lily/translator.cc: small cleanup
905 * scm/document-music.cc: use data from translator listener
906 registration to generate documentation for event classes
908 * lily/*: Eliminate accept arg of ADD_TRANSLATOR
910 * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
912 2006-10-13 Jan Nieuwenhuizen <janneke@gnu.org>
914 * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
916 2006-10-12 Jan Nieuwenhuizen <janneke@gnu.org>
918 * Documentation/topdocs/INSTALL.texi: Thinko.
920 * .cvsignore: Update.
922 * lexer-gcc-3.1.sh: Remove.
924 * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
925 Update anonymous cvs access. Remove comment about gcc 3.0.4.
927 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
929 * VERSION: release 2.9.23
931 * lily/paper-column-engraver.cc (stop_translation_timestep): also
934 * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
936 * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
938 * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
940 * input/regression/clip-systems.ly (Notes): new file.
942 * scm/lily.scm (define-scheme-options): add clip-systems option.
944 * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
946 (dump-stencil-as-EPS): move bbox calculation from previous
948 (output-framework): use -dclip-systems
950 * scm/lily-library.scm (filtered-map): new function
952 * scm/framework-ps.scm (clip-system-EPS): new function.
953 (clip-system-EPSes): new function.
955 * lily/paper-column.cc: add rhythmic-location to interface
957 * scm/define-grob-properties.scm (all-user-grob-properties): add
958 rhythmic-location property.
960 * scm/clip-region.scm: new file: rhythmic-location data type and
961 system-clipped-x-extent function.
963 * ly/init.ly: use (scm clip-region)
965 * lily/paper-column-engraver.cc (stop_translation_timestep): set
966 rhythmic-location for paper column grobs.
968 * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
970 2006-10-12 Jürgen Reuter <reuter@ipd.uka.de>
972 * ly/engraver-init.ly: Remove obsolete comment on
975 * Documentation/user/instrument-notation.itely: Tune Ancient
976 Articulations figure, such that the episem actually shows.
978 * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
979 fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
981 * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
984 2006-10-12 Graham Percival <gpermus@gmail.com>
986 * Documentation/user/ {some}: minor edits that were lost somehow.
988 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
990 * VERSION (PACKAGE_NAME): bump version.
992 * input/regression/lyric-tie.ly (texidoc): new file.
994 * Documentation/topdocs/NEWS.tely (Top): add new feature.
996 * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
998 * scm/define-markup-commands.scm (tied-lyric): new function: split
999 string along ~ and reattach with U+203F (tie character) and
1002 * scm/output-lib.scm (lyric-text::calc-text): new function.
1004 * lily/lyric-engraver.cc (process_music): don't set 'text.
1006 * scm/output-lib.scm (string-finger::calc-text): new function
1007 (lyric-text::print): new function.
1009 * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1010 generic for fingering & string number. Use for string-finger.
1012 * scm/define-music-types.scm (music-descriptions): add
1015 * lily/fingering-engraver.cc (listen_string_finger): new function
1017 * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1019 * scm/define-context-properties.scm
1020 (all-user-translation-properties): add stringFingerOrientations
1022 2006-10-11 Jürgen Reuter <reuter@ipd.uka.de>
1024 * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1025 ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1027 * lily/dots.cc: Added style property for dots.
1029 * mf/parmesan-heads.mf: Fix typo in comment.
1031 * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1032 adding longa head to feta font and removing obsolete default
1033 mapping scheme code.
1035 2006-10-10 Han-Wen Nienhuys <hanwen@lilypond.org>
1037 * scm/output-lib.scm (fingering::calc-text): use origin
1038 event-property, not music-property.
1040 * lily/lilypond.rc.in: spell my name correctly.
1042 2006-10-10 Joe Neeman <joeneeman@gmail.com>
1044 * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1045 already have a non-empty extent. Fixes estimation for Hara-kiri
1048 2006-10-09 Jürgen Reuter <reuter@ipd.uka.de>
1050 * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1053 * lily/ligature-engraver.cc: Remove unused #include.
1055 * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1056 Bugfix: remove method check_for_prefix_loss(Item *) from global
1057 namespace to avoid namespace pollution.
1059 2006-10-09 Han-Wen Nienhuys <hanwen@lilypond.org>
1061 * VERSION: release 2.9.22
1063 * ly/generate-documentation.ly: update option name.
1065 * lily/dynamic-text-spanner.cc (print): revert fix.
1067 * scm/define-grob-interfaces.scm
1068 (trill-pitch-accidental-interface):
1069 add trill-pitch-accidental-interface
1071 * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1072 dereference if it's really a duration.
1074 * lily/figured-bass-engraver.cc (process_music): clear spanner if
1075 useBassFigureExtenders is not set.
1076 (listen_bass_figure): record as new event if
1077 useBassFigureExtenders not set. Fixes #103.
1079 * scm/stencil.scm (circle-stencil): don't center stencil argument,
1080 instead: move circle. Fixes #107.
1082 * scm/define-grobs.scm (all-grob-descriptions): set
1083 allow-loose-spacing for PaperColumn and
1084 NonMusicalPaperColumn. Kludge for #110.
1086 * lily/spaceable-grob.cc: add allow-loose-spacing property.
1088 * lily/spacing-determine-loose-columns.cc (is_loose_column):
1089 allow-loose-spacing property.
1091 * scm/define-markup-commands.scm (postscript): gsave & grestore
1092 around embedded PS. Do setlinewidth too. Fixes #109.
1094 2006-10-08 Jürgen Reuter <reuter@ipd.uka.de>
1096 * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1097 code. This patch fixes ligature brackets that were not at all
1100 2006-10-08 Graham Percival <gpermus@gmail.com>
1102 * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1104 * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1106 * scm/define-context-properties.scm: clarified docs (bug 91).
1108 * Documentation/user/basic-notation.itely: document volta brackets
1109 not aligning (bug 63).
1111 * Documentation/user/ global.itely invoking.itely: ignore or
1112 add warnings about texstr.
1114 2006-10-08 John Mandereau <john.mandereau@free.fr>
1116 * po/fr.po: update translation.
1118 * po/: update msgids.
1120 2006-10-08 Jan Nieuwenhuizen <janneke@gnu.org>
1122 * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1124 2006-10-08 Nicolas Sceaux <nicolas.sceaux@free.fr>
1126 * Documentation/user/page.itely (Two-pass vertical spacing): add
1127 documentation for two-pass spacing technique.
1129 2006-10-06 Graham Percival <gpermus@gmail.com>
1131 * Documentation/user/convert-ly.txt: new file; new
1132 storage place for this file (moved from bugs/ CVS).
1134 2006-10-06 Jürgen Reuter <reuter@ipd.uka.de>
1136 * lily/note-head.cc: Fixed programming_error message.
1138 2006-10-06 Han-Wen Nienhuys <hanwen@lilypond.org>
1140 * scm/define-grobs.scm (pure-conversion): move pure-callback
1143 * scm/script.scm (default-script-alist): set avoid-slur for turn,
1144 marcato, stopped, thumb.
1146 2006-10-05 Han-Wen Nienhuys <hanwen@lilypond.org>
1148 * lily/completion-note-heads-engraver.cc (process_music): don't
1149 skimp on memory usage.
1151 * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1154 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1155 parenthesis item. This fixes premature Y-extent triggering. Fixes
1158 * VERSION (PATCH_LEVEL): bump version.
1160 2006-10-04 Graham Percival <gpermus@gmail.com>
1162 * Documentation/user/advanced-notation.itely: added
1163 info about instrument names for piano or other contexts,
1166 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1168 * mf/feta-bolletjes.mf (solfa_quarter_width): use
1169 solfa_base_notewidth as unit for non-DO-notes too.
1171 * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1173 * VERSION: release 2.9.21
1175 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1178 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1180 * python/lilylib.py (progress): Minor fix.
1182 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1184 * lily/note-name-engraver.cc: doc engraver.
1186 * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1188 * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1190 * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1193 * lily/stem-engraver.cc (make_stem): don't set duration-log
1195 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1196 write snippet-names binary.
1198 * python/lilylib.py (system): use os.system for mingw32
1200 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1203 * scm/backend-library.scm: update email address.
1205 * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1208 * scm/define-grobs.scm (all-grob-descriptions): use callback to
1211 * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1212 handle dot creation separately.
1214 * lily/tab-note-heads-engraver.cc (process_music): idem.
1216 * lily/drum-note-engraver.cc (process_music): idem.
1218 * lily/note-heads-engraver.cc (process_music): idem.
1220 * lily/rest-engraver.cc: don't set duration-log.
1222 * scm/output-lib.scm (string-number::calc-text): new function.
1223 (note-head::calc-duration-log): new function.
1225 * lily/fingering-engraver.cc (make_script): remove 'text setting.
1227 * scm/output-lib.scm (fingering::calc-text): new function.
1229 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1231 * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1232 and include-eps-font -> include-eps-fonts
1234 2006-10-03 Han-Wen Nienhuys <hanwen@lilypond.org>
1236 * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1238 * lily/timing-translator.cc: list properties.
1239 (start_translation_timestep): update internalBarNumber too.
1241 * scm/define-context-properties.scm
1242 (all-user-translation-properties): add internalBarNumber.
1244 * input/regression/spacing-no-note.ly: new file.
1246 * buildscripts/output-distance.py (link_file): verbosity for OSError.
1248 * lily/book.cc: #include cleanup.
1250 * lily/include/lily-guile-macros.hh: add assert to
1251 scm_or_str2symbol(SCM).
1253 * VERSION (PATCH_LEVEL): bump version.
1255 * lily/spacing-spanner.cc (musical_column_spacing): handle
1256 musical->nonmusical spacing case, where there is no spacing
1257 wish. Fixes issue #61.
1259 * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1260 (pango_item_string_stencil): use logical rect horizontally (to
1261 preserve spaces), ink_rect vertically (for time signatures).
1263 * lily/font-metric.cc (word_stencil): new interface function
1265 * input/regression/utf-8-mixed-text.ly: new file.
1267 * lily/percent-repeat-engraver.cc (listen_percent): remove
1270 * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1271 non-dynamic scripts. Fixes #30.
1273 * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1275 * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1277 * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1278 SCM_UNDEFINED for non-existent data.
1280 * lily/side-position-interface.cc (general_side_position): allow
1281 optional current_offset argument for chaining, so combinations of side-position
1282 and outside slur callback don't add up. Fixes issue #92.
1284 * lily/pango-font.cc (pango_item_string_stencil): use
1285 logical_rect. This prevents spaces after words from disappearing,
1288 * VERSION: release 2.9.20
1290 2006-10-02 Han-Wen Nienhuys <hanwen@lilypond.org>
1292 * scm/define-grob-properties.scm (all-user-grob-properties):
1293 mention stencil as user settable.
1295 2006-10-02 Joe Neeman <joeneeman@gmail.com>
1297 * Documentation/user/page.itely (Page formatting):
1298 document auto-first-page-number
1300 * lily/page-breaking.cc (find_chunks_and_breaks):
1301 * lily/paper-score.cc (calc_breaking): Follow changes to the
1302 Constrained_breaking interface
1304 * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1305 here backwards, as an optimisation
1306 (initialize): new function; move most of the code in resize () here
1307 (combine_demerits): cache ragged_right_
1308 (Constrained_breaking): constructor now takes the Paper_score
1310 2006-10-02 Erik Sandberg <mandolaerik@gmail.com>
1312 * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1313 avoid parser lookahead for 0-ary functions.
1315 * lily/translator.cc: Extract event classes from
1316 IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1318 2006-10-02 Heikki Junes <hjunes@gmail.com>
1320 * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1323 2006-10-01 Nicolas Sceaux <nicolas.sceaux@free.fr>
1325 * scm/layout-page-layout.scm (page-breaking-wrapper): new
1326 function. Call the page breaking function selected in the
1327 `page-breaking' \paper variable, then the post processing function
1328 chosen using the `page-post-process' \paper variable.
1329 (line-height): new function. Return the height of a system.
1330 (line-minimum-position-on-page): new function. Return the position
1331 of a system on page (using the previous line position), only
1332 considering between system padding.
1333 (stretchable-line?): new function. Says whether a line can be
1334 stretched (ie. is not a title nor a single staff system).
1335 (page-maximum-space-left): new function. Computes space left on a
1336 page, when all systems are separated by their padding.
1338 * lily/page-breaking.cc (breaking::make_pages): Move page post
1339 processing function call to page breaking wrapper (common to all
1342 * lily/paper-book.cc (book::pages): call the page breaking
1343 wrapper, instead of the page breaker directly
1345 * ly/paper-defaults.ly: Add \paper variables for page breaking
1346 wrapper and page post processing function. Make
1347 `write-page-layout' value depend on the 'dump-tweaks option. Add a
1348 `system-maximum-stretch-procedure' variable for holding a function
1349 computing the maximum stretch a system allows.
1351 * scm/layout-page-dump.scm (write-page-breaks): computes the
1352 stretch to apply to systems on a page to minimize left
1353 space. Dump this stretch length.
1355 * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1356 the system-stretch property of the tweak data to stretch the
1358 (includePageLayoutFile): Void function which includes the
1359 generated page-layout file if it exists and if the page layout
1360 dumping is not asked.
1361 (scoreTweak): if the score tweak named by the argument exists,
1364 2006-10-01 Joe Neeman <joeneeman@gmail.com>
1366 * lily/page-spacing.cc (compress_lines, uncompress_solution):
1367 handle correctly the case where there are multiple \noPageBreaks
1370 2006-09-30 Laura Conrad <lconrad@laymusic.org>
1372 * abc2ly.py adds segno (S) and Coda (O) to articulations.
1374 * abc2ly.py fix so that entering " -- " will translate to a -- in
1375 the lilypond instead of a " - - "
1377 2006-09-30 Han-Wen Nienhuys <hanwen@lilypond.org>
1379 * lily/align-interface.cc: fix typo
1381 * lily/dynamic-text-spanner.cc (print): Add a special case for
1382 trill spanner right sides.
1384 * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1386 * lily/align-interface.cc (get_extents_aligned_translates): add
1387 support for padding variable.
1389 * lily/break-align-interface.cc (self_align_callback): oops: use
1390 loop variable in guard.
1392 * input/regression/repeat-percent-grace.ly: new file.
1394 * lily/percent-repeat-engraver.cc (start_translation_timestep):
1395 remember first currentCommandColumn of a grace run. Fixes issue 70.
1397 * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1398 move class definition to CC file.
1400 * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1402 * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1403 measure-long repeats.
1405 * flower/include/international.hh: include stdarg.h
1407 2006-09-30 Joe Neeman <joeneeman@gmail.com>
1409 * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1410 put_systems_on_pages to return an empty result, we need to assign
1411 demerits properly in that case.
1412 (put_systems_on_pages): Make the number of pages depend on the
1413 evenness of page_number. Add auto-first-page-number.
1414 (calc_subproblem): ensure that the page-number is even for the
1415 left-hand page. Warn if the first page-turn doesn't fit onto the
1416 first (right-hand) page.
1418 * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1419 (min_page_count): make this publicly accessible
1420 (min_page_count): fix a bug when there are forced page breaks that
1421 was introduced when I made this loop run backwards
1422 (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1423 replace space_systems_on_min_pages with these two. The logic in
1424 space_systems_on_min_pages was getting too convoluted and is better
1425 contained in page-turn-page-breaking.
1427 * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1429 (breakable_column): typo
1431 * lily/source-file.cc (get_line): fix off-by-one error
1432 and clean up some of the logic
1434 2006-09-29 Joe Neeman <joeneeman@gmail.com>
1436 * lily/page-breaking.cc (make_pages): honour the first-page-number
1439 2006-09-27 Han-Wen Nienhuys <hanwen@lilypond.org>
1441 * VERSION (PACKAGE_NAME): bump version.
1443 2006-09-26 Pal Benko <benko.pal@gmail.com>
1445 * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1446 (the latter is the same as petrucci-f which is kept for compatibility)
1448 2006-09-26 Erik Sandberg <mandolaerik@gmail.com>
1450 * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1452 2006-09-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1454 * lily/global-context.cc (run_iterator_on_me): break out of loop
1455 if moment doesn't increase.
1457 * scm/define-grob-properties.scm (all-user-grob-properties): add
1460 * lily/accidental.cc (after_line_breaking): read forced property.
1462 * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1465 * input/regression/accidental-forced-tie.ly: new file.
1467 2006-09-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1469 * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1471 * lily/figured-bass-engraver.cc: only listen to rest events if
1472 ignoreFiguredBassRest is not set.
1474 * scm/define-context-properties.scm
1475 (all-user-translation-properties): add ignoreFiguredBassRest property
1477 2006-09-24 Joe Neeman <joeneeman@gmail.com>
1479 * lily/paper-book.cc (get_system_specs):
1480 (set_system_penalty): fix breakbefore.
1481 We used to set a penalty on the system after the break, now we
1482 set a permission on the system before the break
1484 * lily/grob-property.cc: add scm debugging hooks into
1485 property modification
1487 * lily/context-property.cc:
1489 rename make_foo_from_properties to internal_make_foo and
1490 move it from context-property.cc to a member function of
1493 * lily/include/lily-guile-macros.hh:
1494 overload ly_symbol2scm macro so that there is no more need
1497 * lily/volta-repeat-iterator.cc:
1498 * lily/tweak-engraver.cc:
1499 * lily/tuplet-bracket.cc:
1500 * lily/span-bar-engraver.cc:
1501 * lily/script-engraver.cc:
1502 * lily/prob-scheme.cc:
1503 * lily/pointer-group-interface.cc:
1505 * lily/grob-scheme.cc:
1506 * lily/grob-property.cc:
1508 * lily/context-property.cc:
1509 * lily/break-substitution.cc:
1510 * lily/break-align-engraver.cc:
1511 * lily/axis-group-interface.cc:
1512 * lily/align-interface.cc:
1513 remove calls to internal_FOO
1515 * lily/system-start-delimiter-engraver.cc:
1516 * lily/parenthesis-engraver.cc:
1517 * lily/accidental-engraver.cc:
1518 remove calls to make_foo_from_properties
1520 2006-09-23 Graham Percival <gpermus@gmail.com>
1522 * Documentation/user/programming-iterfaces.itely: fix
1523 def-music-function -> define-music... leftover.
1525 2006-09-23 Joe Neeman <joeneeman@gmail.com>
1527 * lily/page-spacing.cc (min_page_count): by running the loop
1528 backwards, we can calculate ragged_last properly.
1530 2006-09-22 Mats Bengtsson <mabe@drongo.s3.kth.se>
1532 * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1533 printfirst-page-number -> print-first-page-number
1535 * python/convertrules.py: corresponding rule.
1537 * Documentation/user/page.itely (Page formatting): Document the
1538 default values of all page layout parameters.
1540 2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
1542 * lily/lexer.ll: remove limitation on music function arity. New
1543 mode extratoken, which inserts extra EXPECT_* tokens after
1544 MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1546 * lily/parser.yy: Change grammar for music function accordingly.
1548 * lily/include/lily-parser.hh: New method get_state, new member
1549 hidden_state. Works around a problem when parser fetches
1550 MUSIC_FUNCTION token but not the following EXPECT_* token.
1552 * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1555 * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1556 references to Music; use ASSIGN_EVENT_ONCE everywhere
1558 * lily/grob-info.cc: junk *music_cause
1560 * lily/music.cc: copy eventified articulations to stream event
1562 * lily/part-combine-iterator.cc: Cleanup using enums
1564 * lily/translator-group.cc: Junk OldMusicEvent, and associated
1567 * lily/include/engraver.hh: Junk music.hh include
1569 * lily/stream-event.cc: Changed constructors
1571 2006-09-21 Graham Percival <gpermus@gmail.com>
1573 * Documentation/user/tweaks.itely (Fitting music onto fewer
1574 pages): change settings to avoid warning messages.
1576 2006-09-21 Mats Bengtsson <mabe@drongo.s3.kth.se>
1578 * Documentation/user/tweaks.itely (Fitting music onto fewer
1579 pages): Add between-system-space setting.
1581 2006-09-21 Han-Wen Nienhuys <hanwen@lilypond.org>
1583 * lily/accidental-placement.cc (calc_positioning_done): don't
1584 trigger Y-extent calculation too early. Use pure_height instead.
1586 * lily/scale.cc (LY_DEFINE): new file.
1588 2006-09-20 Joe Neeman <joeneeman@gmail.com>
1590 * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1591 that happen at the start of a score: having a zero-length
1592 chunk was messing up min_system_count calculations.
1594 * lily/source-file.cc (get_line): lower_bound, not
1595 binary_search. Fixes problem where point-and-click would
1596 always point to the first line.
1598 2006-09-20 Han-Wen Nienhuys <hanwen@lilypond.org>
1600 * lily/accidental-placement.cc (calc_positioning_done): also put
1601 stems into accidental support.
1603 * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1606 * scm/script.scm (default-script-alist): avoid-slur and
1607 slur-padding for portato script.
1609 * lily/stem-tremolo.cc (translated_stencil): new function.
1610 (height): use new function. Fixes tremolos on whole notes.
1612 * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1615 2006-09-19 Han-Wen Nienhuys <hanwen@lilypond.org>
1617 * scripts/abc2ly.py (try_parse_comment): idem.
1619 * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1620 bar_string iso. string.find()
1624 * lily/slur.cc (get_curve): always use scm_is_pair() looping
1627 2006-09-18 Graham Percival <gpermus@gmail.com>
1629 * Documentation/user/basic-notation.itely: add bug
1630 warning about ties and octavation/clef.
1632 2006-09-18 Han-Wen Nienhuys <hanwen@lilypond.org>
1634 * VERSION (PACKAGE_NAME): release 2.9.18
1636 2006-08-29 Milan Zamazal <pdm@brailcom.org>
1638 * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1639 figure out midi file names right here.
1641 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1643 * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1645 * scm/backend-library.scm: option naming: gs-font-load*s*
1647 * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1650 2006-09-17 Joe Neeman <joeneeman@gmail.com>
1652 * scm/define-music-types.scm (music-descriptions): remove
1653 BreakEvent and fix {Page,Line}{Break,Turn}Event so
1654 Music::to_event doesn't complain.
1656 * lily/accidental-placement.cc (ape_compare):
1657 * lily/semi-tie.cc (compare):
1658 * lily/note-column.cc (shift_compare): replace by XXX_less
1660 * lily/tie-formatting-problem.cc (set_chord_outline):
1661 * lily/tie-column.cc (calc_positioning_done):
1662 * lily/system.cc (post_processing)
1664 * lily/stem.cc (note_head_positions)
1665 (calc_positioning_done):
1666 * lily/spanner.cc (do_break_processing)
1667 (find_broken_piece):
1668 * lily/span-bar.cc (print):
1669 * lily/semi-tie-column.cc (calc_positioning_done):
1670 * lily/rest-collision.cc (calc_positioning_done):
1671 * lily/program-option.cc (get_help_string):
1672 * lily/note-collision.cc (get_clash_groups):
1673 * lily/new-fingering-engraver.cc (position_scripts):
1674 * lily/keyword.cc (Keyword_table):
1675 * lily/hara-kiri-group-spanner.cc (request_suicide):
1676 * lily/grob-pq-engraver.cc (stop_translation_timestep):
1677 * lily/accidental-placement.cc (calc_positioning_done):
1679 * lily/beam.cc (get_beam_segments):
1680 * lily/grob-array.cc (remove_duplicates):
1683 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1684 ragged-last-bottom = ##f (test the new page breaker)
1686 * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1688 * scm/define-context-properties.scm
1689 (all-internal-translation-properties): remove properties that
1690 were used to communicate page-turn stuff to the paper-column
1693 * lily/lily-guile.cc (robust_scm2string): new function
1695 * lily/paper-column-engraver.cc: Clean up page turn stuff
1697 * lily/page-turn-engraver.cc: Re-write the page turn logic here
1698 instead of cluttering up paper-column-engraver.cc
1700 2006-09-17 Nicolas Sceaux <nicolas.sceaux@free.fr>
1702 * scm/layout-page-dump.scm (scm): export utility function names,
1703 to allow user writing cutsom dumping functions.
1705 * scm/layout-page-layout.scm: export utility function names to
1706 enable custom page breaking function writing. Tabify.
1707 (line-next-space): use ?-suffix only for predicates
1708 (page-maximum-space-to-fill): new function. Return the space
1709 between first and bottom system of a page, to give to
1711 (space-systems): use a space-to-fill argument (for instance as
1712 computed by page-maximum-space-to-fill) instead of computing
1713 internaly this space with the page height. That way, the caller
1714 can adjust the space to use.
1715 (make-page-from-systems, walk-paths): compute space to fill before
1716 calling space-systems.
1718 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1720 * scm/script.scm (default-script-alist): set paddings for every
1721 type here, increase for portato mark.
1723 * scm/lily.scm (define-scheme-options): typo: add s, so it is
1726 2006-09-16 Han-Wen Nienhuys <hanwen@lilypond.org>
1728 * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1729 use spanner::set-spacing-rods
1731 * lily/note-column.cc: reformat.
1733 * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1734 step positioning for note/rest combinations.
1736 * input/regression/rest-note-collision.ly: new file.
1738 * scm/define-grobs.scm (all-grob-descriptions): add
1741 * flower/include/std-vector.hh: switch off again.
1743 * VERSION (PATCH_LEVEL): bump to 2.9.18
1745 * flower/include/std-string.hh: idem.
1747 * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1749 2006-09-15 Mats Bengtsson <mabe@drongo.s3.kth.se>
1751 * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1754 2006-09-08 Joe Neeman <joeneeman@gmail.com>
1756 * Documentation/user/page.itely: update page breaking documentation
1758 2006-09-07 Han-Wen Nienhuys <hanwen@lilypond.org>
1760 * lily/note-collision.cc (calc_positioning_done): only access
1761 first head if available.
1763 * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1765 * scm/framework-ps.scm (output-preview-framework): use new name.
1767 * lily/program-option.cc (internal_set_option): use new names.
1769 * Documentation/user/SConscript (lilypond_book_flags): update -d
1772 * Documentation/user/lilypond-book.itely (Inserting LilyPond
1773 output into other programs): new variable names.
1775 * scm/lily.scm (define-scheme-options): uniformize var names.
1777 * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1778 tuplets_ is non-empty before popping.
1780 2006-09-07 Joe Neeman <joeneeman@gmail.com>
1782 * lily/spanner.cc (find_broken_piece):
1783 * lily/spacing-spanner.cc (get_columns):
1784 * lily/source-file.cc (get_line):
1785 * lily/simple-spacer.cc (get_column_description):
1786 * lily/keyword.cc (lookup):
1787 use the new binary search.
1789 * flower/include/std-vector.hh: replace binary_search with
1790 a more STL-like version
1792 2006-09-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1794 * lily/tie-performer.cc: remove unused last_event_ property.
1795 (class Tie_performer): add now_tied_heads_ property for
1796 partially-tied heads.
1797 (acknowledge_audio_element): when adding an Audio_note, put the
1798 note in now_tied_heads_ if the audio note is partially tied.
1799 (stop_translation_timestep): always include entries in
1800 now_tied_heads_ in heads_to_tie_.
1802 * lily/drum-note-performer.cc (process_music): look for tie-events
1803 in the articulations; pass to Audio_note constructor.
1805 * lily/note-performer.cc (process_music): look for tie-events in
1806 the articulations; pass to Audio_note constructor.
1808 * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1811 * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1812 include initializer in constructor.
1814 2006-09-02 Joe Neeman <joeneeman@gmail.com>
1816 * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1817 unless they are breakable. This fixes discrepancies between the forces
1818 calculated here and the forces calculated in get_line_configuration.
1820 * lily/grob.cc (pure_relative_y_coordinate): fix some
1821 mis-estimation that was happening with piano staves.
1823 * lily/constrained-breaking.cc (resize): don't choke if we get a
1824 measure that won't fit on a line.
1825 (combine_demerits): don't consider uniformity when ragged
1827 * lily/page-spacing.cc (solve): why the f* were there two of these?
1828 (calc_subproblem): properly handle the case where a system is taller
1831 * lily/system.cc (get_paper_system): ensure that all the permissions
1832 and penalties are passed to the paper systems.
1834 * lily/page-breaking.cc (create_system_list): support system-count.
1836 * scm/define-grobs.scm (pure-print-callbacks): add
1837 ly:script-interface::print
1839 * lily/page-spacing.cc (min_page_count): fix calculation of min
1840 pages if we are ragged and there are non-zero springs.
1842 * scm/layout-page-layout.scm: if the pure-height estimates are under
1843 the real height, allow space-systems to ignore padding if it is
1844 needed in order to fit the systems on one page
1846 * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
1848 (solve): fix performance problem. Make sure we always get at least
1851 * lily/page-breaking.cc (make_pages): include write-page-breaks
1854 * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
1856 * scm/define-grobs.scm: add the new slur-callback
1857 fix pure-relevant to not exclude grobs whose extent is already
1860 * ly/paper-defaults.ly: make ly:optimal-breaking the new default
1863 * lily/slur.cc (pure_height): new callback to estimate the height
1866 2006-09-02 Graham Percival <gpermus@gmail.com>
1868 * Documentation/user/invoking.itely: small update on
1869 MacOS X notes; thanks Trevor!
1871 2006-09-01 Han-Wen Nienhuys <hanwen@lilypond.org>
1873 * VERSION (MY_PATCH_LEVEL): release 2.9.17
1875 * lily/lexer.ll: accept EOF in all states.
1877 * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
1879 * lily/source-file.cc (Source_file): always 0-terminate character
1880 array, to prevent Flex from barfing.
1882 * lily/global-context.cc (get_output): robustness: don't crash if
1883 no Score context found.
1885 * lily/include/book.hh (class Book): idem.
1887 * lily/include/context-def.hh (struct Context_def): idem.
1889 * lily/include/score.hh (class Score): don't derive from Input.
1891 * lily/book.cc (Book): add a copy ctor.
1893 * buildscripts/output-distance.py (FileLink.calc_distance): count
1894 orphans in distance too.
1896 * python/midi.c (midi_parse_track): robustness: don't read past
1899 * ly/performer-init.ly: add Control_track_performer, move
1900 Tempo_performer and Time_signature_performer to Score.
1902 * lily/score-performer.cc (acknowledge_audio_elements): override
1903 from base class: add to audio-columns
1905 * lily/control-track-performer.cc (add_text): new file: generate
1908 * lily/performance.cc: move output_header_track to
1909 Control_track_performer ()
1911 * lily/midi-walker.cc (Midi_walker): get channel in constructor.
1913 * lily/include/midi-item.hh (class Midi_channel_item): insert
1914 class into hierarchy, for items that can have a channel setting. Dehungarify.
1916 * lily/include/performer.hh (class Performer): remove
1917 play_element(); move functionality into announce/acknowledge.
1919 * lily/audio-staff.cc (output): remove channel_ from Midi_track.
1921 * lily/tie-engraver.cc (stop_translation_timestep): only wipe
1922 heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties.
1924 2006-08-28 Han-Wen Nienhuys <hanwen@lilypond.org>
1926 * lily/tie-engraver.cc (stop_translation_timestep): robustness for
1929 * lily/all-font-metrics.cc: remove TFM support.
1931 * lily/include/tfm.hh: remove TFM support, TFM reader.
1933 * lily/include/binary-source-file.hh: remove Binary_source_file.
1935 2006-08-27 Graham Percival <gpermus@gmail.com>
1937 * Documentation/topdocs/NEWS.itely: add @c marker for
1938 stuff I've processed.
1940 * Documentation/user/ various: info from NEWS.
1942 2006-08-27 Joe Neeman <joeneeman@gmail.com>
1944 * lily/paper-column-engraver.cc (finalize): Oops, this change
1945 should have gone in on 2006-08-23
1947 2006-08-26 Mats Bengtsson <mabe@s3.kth.se>
1949 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
1950 quotes to quote arguments. Fixes Windows problem.
1952 * python/lilylib.py (progress): idem
1954 2006-08-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1956 * scripts/musicxml2ly.py: fix for importing
1957 minor key signatures from MusicXML. (Phillip Kirlin)
1959 2006-08-24 Phillip Kirlin <pkirlin@acm.org>
1961 * python/musicxml.py:
1962 (Attributes.get_key_signature): now correctly retrieves mode from
1965 2006-08-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1967 * lily/parser.yy (output_def_body): take ownership of identifier
1970 * Documentation/user/advanced-notation.itely (Metronome marks):
1971 update use of \tempo in \midi.
1973 * VERSION: release 2.9.16
1975 2006-08-24 Erik Sandberg <mandolaerik@gmail.com>
1977 * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
1980 2006-08-24 Han-Wen Nienhuys <hanwen@lilypond.org>
1982 * input/regression/tie-chord-partial.ly: clarify example.
1984 * scm/define-music-properties.scm (all-music-properties): remove
1987 * ly/music-functions-init.ly: remove \untied.
1989 * lily/tie-engraver.cc (struct Head_event_tuple): store both
1990 stream events and music events.
1991 (stop_translation_timestep): search acknowledged heads for
1994 * input/regression/tie-chord-partial.ly: new file.
1996 * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
1997 for \char markup command.
1999 * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2001 * scm/define-music-types.scm (music-descriptions): consistency:
2002 Use solo-{one,two}-event iso. solo-[12]-event.
2004 * lily/part-combine-engraver.cc (process_music):
2005 Use solo-{one,two}-event iso. solo-[12]-event.
2007 * ly/declarations-init.ly (partCombineListener): add Timing as
2010 * flower/std-string.cc (string_copy): use copy ()
2012 * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2014 2006-08-24 Graham Percival <gpermus@gmail.com>
2016 * Documentation/user/changing-defaults.itely, global.itely,
2017 lilypond-book.itely, page.itely: minor changes from mailist.
2019 2006-08-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2021 * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2024 * scm/define-context-properties.scm
2025 (translator-property-description): robustness: detect type errors
2026 in property definitions.
2028 * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2029 after getting it from SCM.
2031 * lily/smobs.cc (protect_smob): switch off fancy smob protection
2034 * lily/include/performer.hh (class Performer): strip get_tempo()
2037 * lily/midi-def.cc: strip file.
2039 * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2041 * lily/include/context-def.hh (struct Context_def): use
2042 VIRTUAL_COPY_CONSTRUCTOR().
2044 * lily/source-file.cc: smobification.
2046 * lily/include/source-file.hh (class Source_file): smobify
2047 Source_file. Trim redundant members.
2049 * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2050 clones after creation. This plugs a huge memory leak.
2052 * python/convertrules.py (FatalConversionError.sub_tempo):
2053 complete rule for \midi{ \tempo }
2055 * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2057 * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2059 2006-08-23 Joe Neeman <joeneeman@gmail.com>
2061 * input/regression/optimal-page-breaking-hstretch.ly: test for
2062 ragged-last-bottom also
2064 * lily/paper-column-engraver.cc (finalize): make the end of a score
2065 breakable by default. This is to balance out a change in behaviour
2066 of the page-turn-breaker which no longer makes the end of a score
2069 * lily/paper-book.cc (pages): set the systems_ once the pages are
2072 * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2073 Page_breaking interface.
2075 * lily/page-breaking.cc (class Page_breaking): make the interface
2076 more consistent and provide abstractions for dealing with
2079 * lily/optimal-page-breaking.cc (solve): use a more straightforward
2080 algorithm. Use the new interface to Page_breaking.
2082 * lily/page-spacing.cc: better support for ragged-bottom and
2085 2006-08-22 Han-Wen Nienhuys <hanwen@lilypond.org>
2087 * python/convertrules.py (conv): warning on \tempo{}
2089 * ly/performer-init.ly: set tempoWholesPerMinute.
2091 * ly/midi-init.ly: remove \midi
2093 * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2096 * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2097 tempoUnitDuration for determining what to print.
2099 * lily/lyric-extender.cc: typo.
2101 * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2103 * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2106 * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2108 * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2109 eps-pad-boxes is set.
2111 * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2113 * THANKS: update sponsors.
2115 * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2117 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2119 * input/regression/tie-chord-untied.ly: new file.
2121 * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2123 * scm/define-music-properties.scm (all-music-properties): add
2126 * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2128 (headertext_nopics): sanitize no-examples text.
2130 * scm/page.scm (make-page-stencil): don't rely on extents of
2131 page-stencil. This fixes spurious space around .EPS files produced
2132 with the EPS backend.
2134 2006-08-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2136 * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2138 * lily/hara-kiri-engraver.cc (process_music): remember
2139 keepAliveInterfaces after processing \set
2141 * lily/lyric-extender.cc (print): support left/right-padding for
2144 * scm/documentation-generate.scm (string-append): revert lilypond/
2147 2006-08-20 Graham Percival <gpermus@gmail.com>
2149 * Documentation/user/lilypond.tely: clarification to
2150 license presentation (not to actual license).
2152 * Documentation/user/basic-notation.itely,
2153 instrument-notation.itely: minor changes.
2155 * input/ {regression, test}/+.ly: clarification to
2156 text (you can click on examples). Thanks, Mats!
2158 * input/manual/bar-lines.ly: adds ||: repeats.
2160 2006-08-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2162 * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES
2164 * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2166 * Documentation/user/lilypond.tely: strip lilypond/ from info
2167 links, rename to category LilyPond
2169 * lily/pango-font.cc (description_string): new function.
2171 * VERSION: release 2.9.15
2173 * lily/spacing-engraver.cc (stop_translation_timestep): use
2174 Dscho's fix for spacing spanner.
2176 * scm/define-music-types.scm (music-descriptions): use
2177 apply-output-event for ApplyOutputEvent
2179 * lily/output-property-engraver.cc (listen_apply_output): rename
2180 from listen_layout_instruction.
2182 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2185 2006-08-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2187 * scm/lily.scm (lilypond-all): option read-file-list: substitute
2188 commandline args with contains, split by \n.
2190 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2191 write snippet-names file, call with -dread-file-list. Fixes
2192 command limitations on 64-bit systems.
2194 * input/regression/stencil-color-rotation.ly: new file.
2196 * lily/include/translator.hh (struct Acknowledge_information):
2197 revert: don't use Protected_scm in global objects, as GUILE can't
2198 handle gc_unprotect from automated destructors on MacOS X.
2200 * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2201 color, not the original stencil. Fixes combinations of
2202 color/transparency/rotation.
2204 * scripts/lilypond-book.py (main): add --formats=eps for
2207 * lily/spacing-engraver.cc (stop_translation_timestep): don't
2208 crash if spacing_ is nonexistent.
2210 2006-08-14 Mats Bengtsson <mabe@s3.kth.se>
2212 * scripts/lilypond-book.py (output): Remove obsolete(!?)
2213 \catcode`\@=12 in the LaTeX output.
2215 2006-08-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2217 * scm/define-music-types.scm (music-descriptions):
2218 use sustain-event iso. sustain-pedal-event.
2220 2006-08-11 Joe Neeman <joeneeman@gmail.com>
2222 * scripts/convert-ly.py: honour the -n command-line switch
2224 2006-08-10 Han-Wen Nienhuys <hanwen@lilypond.org>
2226 * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2227 break specification.
2229 2006-08-10 Joe Neeman <joeneeman@gmail.com>
2231 * Documentation/user: convert-ly the user manual
2233 2006-08-09 Han-Wen Nienhuys <hanwen@lilypond.org>
2235 * stepmake/aclocal.m4: version check patch (thanks MWD)
2237 * ly/music-functions-init.ly: robustness. Don't crash if
2238 currentBarNumber is not a number.
2240 * VERSION (PATCH_LEVEL): bump.
2242 2006-08-08 Han-Wen Nienhuys <hanwen@lilypond.org>
2244 * stepmake/aclocal.m4: better version check; handle fooX.Y
2247 * ly/performer-init.ly: instrument name fixup.
2249 * input/manual/chord-names-jazz.ly (banterProperties):
2250 instrumentName update
2252 * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2254 * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2256 * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2257 function. Use hash tables to check membership.
2259 * lily/general-scheme.cc (LY_DEFINE): new function.
2261 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2263 * lily/include/translator.hh (struct Acknowledge_information): add
2266 * ly/music-functions-init.ly: change name to BreathingEvent
2268 * input/regression/*.ly: apply it.
2270 * python/convertrules.py (conv): better instrumentName conversion
2273 * scm/define-music-types.scm (music-descriptions): add
2274 line-break-event to LineBreakEvent music
2276 * lily/music.cc (to_event): don't crash if music type not set.
2278 * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2281 * lily/spacing-engraver.cc (stop_translation_timestep): set
2282 spacing for proportional notation too.
2284 * scm/translation-functions.scm (format-bass-figure): inspect
2287 * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2289 2006-08-08 Joe Neeman <joeneeman@gmail.com>
2291 * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2293 * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2295 * scm/layout-page-layout.scm (make-page-from-systems): new function
2296 (optimal-page-breaks): use the new page-breaking calling convention
2298 * scm/define-context-properties.scm (all-user-translation-properties):
2301 * lily/paper-column-engraver.cc (stop_translation_timestep): add
2302 revokePageTurns functionality. If there is a special barline within
2303 the breakable region, break there instead of at the end of the region.
2305 * lily/paper-book.cc (pages): use the new page-breaking calling
2308 2006-08-07 Erik Sandberg <mandolaerik@gmail.com>
2310 * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2312 * scripts/lilypond-book.py: insert \sourcefileline command in
2313 output, so lilypond error messages refer to the spot in the
2314 original .lytex / .itely sourcefile.
2316 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2318 * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2319 space to next column for distance to fixed col.
2321 * VERSION (PACKAGE_NAME): release 2.9.14
2323 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2326 * lily/accidental-engraver.cc (process_acknowledged): don't create
2327 accidental for trill span event. This fixes spurious accidentals
2330 2006-08-04 Mats Bengtsson <mabe@s3.kth.se>
2332 * scm/define-grob-properties.scm (all-user-grob-properties):
2333 Clarify documentation of side-axis and direction. Thanks to Paul
2334 for the inspiration.
2336 * lily/bar-line.cc: Add documentation for "||:" also in the
2337 interface documentation.
2339 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2341 * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2343 * lily/paper-column.cc (set_system): new function.
2345 * lily/spacing-engraver.cc (stop_translation_timestep): store
2346 SpacingSpanner refs in Paper_column.
2348 * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2349 compute loose clique spacing using GraceSpacing/SpacingSpanner.
2351 2006-08-03 Han-Wen Nienhuys <hanwen@lilypond.org>
2353 * lily/beam-engraver.cc (listen_beam): add method for
2354 Grace_beam_engraver too.
2356 2006-08-03 Mats Bengtsson <mabe@s3.kth.se>
2358 * python/convertrules.py: Fix indentation bug that broke
2359 conversion of files older than 1.3.117.
2360 Fix escape error in the description for 2.9.6.
2362 2006-08-02 Erik Sandberg <mandolaerik@gmail.com>
2364 * lily/*-engraver.cc: convert all try_music functions to listen_*
2367 * lily/piano-pedal-engraver.cc: some additional cleanups: use
2368 enums to represent pedal types, and calculate more data statically.
2370 * scm/part-combiner.scm (recording-group-emulate): create a
2371 softcoded substitute for recording-group-engraver.cc.
2373 * lily/music.cc: make a common transpose function for events and
2376 * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2377 ManualMelismaEvent, and obsoletes Melisma_translator.
2379 2006-08-02 Han-Wen Nienhuys <hanwen@lilypond.org>
2381 * input/test/instrument-name-align.ly: update version.
2383 2006-08-02 Mats Bengtsson <mabe@s3.kth.se>
2385 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2386 Doc the --pdf flag to lilypond-book.
2388 2006-07-31 Han-Wen Nienhuys <hanwen@lilypond.org>
2390 * Documentation/topdocs/NEWS.tely (Top): add description.
2392 * input/regression/tuplet-full-length-note.ly: add file.
2394 * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2395 always store axis group.
2397 2006-07-27 Han-Wen Nienhuys <hanwen@lilypond.org>
2399 * input/regression/instrument-switch.ly: new file.
2401 * lily/instrument-switch-engraver.cc (process_music): new file.
2403 * ly/engraver-init.ly: add Instrument_switch_engraver
2405 * ly/music-functions-init.ly: \instrumentSwitch
2407 * scm/define-context-properties.scm
2408 (all-user-translation-properties): add instrumentCueName
2410 * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2412 2006-07-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2414 * ly/music-functions-init.ly: music function \transposition.
2416 * lily/parser.yy (command_element): softcode \transposition.
2418 * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2419 (process_music): oops.
2421 * lily/instrument-name-engraver.cc (start_spanner): new
2422 function. Create spanner when property changes.
2423 (stop_spanner): new function.
2425 * python/convertrules.py (conv): add rule.
2427 * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2428 shortInstrumentName iso. instr.
2430 * scm/output-ps.scm (dashed-line): add phase argument to
2433 * lily/bar-line.cc (dashed_bar_line): new function.
2434 (compound_barline): support \bar "dashed".
2436 * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2437 --output=DIR to DIR/BASE if it is a dir.
2439 * flower/file-name.cc (file_part): new function
2440 (dir_part): new function
2442 * lily/lily-parser-scheme.cc (LY_DEFINE):
2444 * DEDICATION: update
2446 2006-07-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2448 * lily/instrument-name-engraver.cc: formatting.
2450 * python/convertrules.py (conv): bugfix for \epsfile.
2452 2006-07-25 Joe Neeman <joeneeman@gmail.com>
2456 * lily/gourlay-breaking.cc: Oops, these should have been included
2459 2006-07-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2461 * scripts/*.py (program_name): cleanup relocation snippets.
2463 * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2465 2006-07-24 Joe Neeman <joeneeman@gmail.com>
2467 * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2468 page-breakable by default
2470 * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2471 correctly calculated for a single-system page
2473 * scm/lily-library.scm (interval-sane?): also check that the first number is no
2474 bigger than the second number
2476 * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2477 acknowledge that we aren't satisfying constraints)
2479 * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2482 * lily/grob.cc (pure_height): add minimum-Y-extent
2484 * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2487 * lily/constrained-breaking.cc: convert code to use new Matrix class
2488 (get_best_solution): new function
2490 * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2491 is a page with no systems
2493 2006-07-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2495 * VERSION (PACKAGE_NAME): release 2.9.13
2497 * scm/define-grobs.scm (all-grob-descriptions): remove stray
2500 2006-07-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2502 * Documentation/topdocs/NEWS.tely (Top): doc new features.
2504 * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2507 * scm/define-grob-properties.scm (all-user-grob-properties):
2508 remove grace-space-factor.
2510 * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2511 grace-spacing-interface
2512 (spacing-options-interface): add.
2514 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2516 * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2518 * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2519 GraceSpacing object.
2521 * lily/note-spacing.cc: fix prop list formatting
2523 * lily/beaming-pattern.cc (de_grace): new function. Sensible
2524 beaming for grace notes too.
2526 * input/regression/spacing-grace.ly: update.
2528 * lily/grace-spacing-engraver.cc: new file.
2530 * lily/spacing-spanner.cc: add strict-grace-spacing.
2532 2006-07-20 Graham Percival <gpermus@gmail.com>
2534 * lily/parser.yy: compile fix.
2536 2006-07-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2538 * scm/define-grobs.scm (all-grob-descriptions): typo.
2540 * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2541 .eps extension from includegraphics.
2543 * scripts/lilypond-book.py (main): add support for --pdf.
2545 * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2546 callback to compute common shortest duration.
2547 (set_springs): typo.
2549 * scm/define-grob-properties.scm (all-user-grob-properties): add
2550 strict-grace-spacing.
2552 * lily/spacing-determine-loose-columns.cc (is_loose_column):
2553 support float_grace_columns_.
2555 * lily/spacing-options.cc (init_from_grob): new file.
2557 * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2559 * input/regression/spacing-loose-grace.ly: new file.
2561 * Documentation/topdocs/NEWS.tely (Top): document new feature.
2563 * lily/tuplet-engraver.cc (struct Tuplet_description): read
2564 tupletFullLengthNote too. Choose right bound depending on value.
2566 * input/regression/tuplet-full-length-note.ly: new file.
2568 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2570 * lily/*-performer.cc: Converted try_music to listen_*
2572 * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2573 as a stream-event internally. Introduce event_cause (), deprecate
2576 * scm/define-music-types.scm: Removed BusyPlayingEvent
2578 2006-07-19 Mats Bengtsson <mabe@s3.kth.se>
2580 * Documentation/user/advanced-notation.itely (Font selection):
2581 Document how to get a list of available fonts using 'lilypond
2582 -dshow-available-fonts blabla'.
2584 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2586 * GNUmakefile.in: filter lily-XXX.pdf files.
2588 * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2590 * scm/define-grob-properties.scm (all-internal-grob-properties):
2591 remove delta-pitch. Use delta-position everywhere.
2593 * scm/output-lib.scm (fall::print): use new order.
2595 * scm/output-ps.scm (path): reorder arguments.
2597 * scm/output-svg.scm (path): support for path primitive.
2599 * input/regression/bend-after.ly: new file.
2601 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2602 recipe for eps -> pdf conversion.
2604 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2606 * lily/parser.yy, lily/lexer.ll: added some simplifications by
2609 2006-07-19 Graham Percival <gpermus@gmail.com>
2611 * input/manual/screech-boink.ly: moved to here.
2613 * input/screech-boink.ly: deleted.
2615 * scm/define-grob-properties.scm: clarify doc string.
2617 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2619 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2621 * scm/output-ps.scm (path): define path.
2623 * scm/define-stencil-commands.scm
2624 (ly:register-stencil-expression): add path.
2626 * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2628 * ly/engraver-init.ly: add Fall_engraver
2630 * lily/parser.yy (music_function_event): allow musicfunction
2631 without music arg as music_function_event.
2633 * lily/grob-scheme.cc (LY_DEFINE):
2634 ly:grob-robust-relative-extent. New function.
2636 * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2638 * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2640 * scm/output-lib.scm (fall::print): new function
2642 * lily/fall-engraver.cc (stop_fall): new file.
2644 * ly/music-functions-init.ly: alphabetise.
2646 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2649 2006-07-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2651 * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2653 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2656 * lily/translator-group.cc (connect_to_context): non const error message.
2658 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2660 * scm/paper.scm (internal-set-paper-size): define landscape to #f
2663 * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape.
2665 * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2667 * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2670 * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2672 * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2674 * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2676 * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2678 * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2680 * scm/backend-library.scm (postscript->pdf): strip .eps too.
2682 2006-07-14 Nicolas Sceaux <nicolas.sceaux@free.fr>
2684 * scm/layout-page-layout.scm: Define module, tidy code, use more
2685 functions iso. a single big one.
2687 * scm/layout-page-dump.scm: move page dump functions used in two
2688 pass spacing to this file. Define module.
2690 * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2693 * ly/paper-defaults.ly: use module layout-page-layout.
2695 2006-07-14 Erik Sandberg <mandolaerik@gmail.com>
2697 * lily/music.cc: Revised MusicEvent event class. It now contains
2698 event data directly instead of encapsulating it in music. The
2699 previously used class is renamed to OldMusicEvent.
2701 * lily/stream-event.cc: Stream events are now probs.
2703 * lily/translator-group.cc, lily/translator.cc: Translators can
2704 now listen directly to stream events, by using macros
2705 [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2707 * lily/arpeggio-engraver.cc: Converted to use new event system
2709 * THANKS: Corrected spelling mistake.
2711 2006-07-12 Graham Percival <gpermus@gmail.com>
2713 * Documentation/user/SConscript, make/lilypond-vars.make,
2714 input/GNUmakefile: doc build looks in input/manual instead
2717 * input/manual/ GNUmakefile, SConscript: build files for
2720 * input/test/ various: some files moved to input/manual/
2722 * Documentation/user/basic-notation.itely: small updates;
2723 thanks Kieren and Charles!
2725 2006-07-12 Han-Wen Nienhuys <hanwen@lilypond.org>
2727 * VERSION (PACKAGE_NAME): release 2.9.11
2729 * Documentation/topdocs/NEWS.tely (Top): update prop value
2731 * Documentation/user/basic-notation.itely (Tuplets): new property
2734 2006-07-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2736 * python/convertrules.py (conv): tweaks.
2738 * VERSION (PATCH_LEVEL): bump version.
2740 * python/convertrules.py (conv): add rule for
2741 tupletNumberFormatFunction.
2743 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2744 tupletNumberFormatFunction.
2746 * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2747 text through 'text callback.
2749 * lily/time-scaled-music-iterator.cc (construct_children): copy
2750 tweaks generated events.
2752 * scm/define-context-properties.scm
2753 (all-user-translation-properties): remove tupletNumberFormatFunction
2755 * lily/tuplet-engraver.cc (process_music): don't read
2756 tupletNumberFormatFunction
2758 * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2761 2006-07-11 Erik Sandberg <mandolaerik@gmail.com>
2763 * lily/global-context-scheme.cc: Separated ly:run-translator into
2766 * lily/score-engraver.cc, lily/score-performer.cc,
2767 scm/define-context-properties.scm: Make paper/midi output
2768 accessable as a context property.
2770 * lily/score-translator.cc, lily/score-context.cc: Removed.
2772 2006-07-07 Guido Amoruso <guidonte@katamail.com>
2774 * scm/ps-to-png.scm (Module):
2775 * scm/framework-tex.scm (Module):
2776 * scm/framework-ps.scm (Module):
2777 * scm/backend-library.scm (Module):
2778 * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2779 "dDEVICEHEIGHTPOINTS".
2781 2006-07-04 Graham Percival <gpermus@gmail.com>
2783 * Documentation/user/ various: general improvements to
2784 "working with lilypond files" section.
2786 2006-07-03 Erik Sandberg <mandolaerik@gmail.com>
2788 * lily/sequential-iterator.cc: Change the default get_music_list
2789 to read elements-callback music property
2791 * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2792 processing of multimeasure rests. Softcoded
2793 sequential-music-iterator.
2795 * lily/sequential-music-iterator.cc: Removed.
2797 2006-06-28 Graham Percival <gpermus@gmail.com>
2799 * Documentation/user/basic-notation.itely: clarify \repeatTie.
2801 2006-06-27 Erik Sandberg <mandolaerik@gmail.com>
2803 * lily/parser.yy: Wrap non-post-events in EventChords before
2804 assigning them to identifiers.
2806 2006-06-27 Mats Bengtsson <mabe@s3.kth.se>
2808 * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2809 gives correct vertical placement of \bar ":" in all staff
2810 sizes. Thanks Martial!
2812 2006-06-26 Graham Percival <gpermus@gmail.com>
2814 * Documentation/user/invoking.itely : minor update from mailist.
2816 2006-06-26 Erik Sandberg <mandolaerik@gmail.com>
2818 * lily/ various: Introduce stream events of types Prepare,
2819 OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2820 ChangeContext, SetProperty, RevertProperty, Override and Revert.
2822 * lily/global-context*.cc: Time is now -inf before iteration
2825 * lily/include/context.hh: Removed unique_, init_
2827 * Documentation/topdocs/NEWS: Make the feathered beam example
2828 avoid triggering a bug.
2830 2006-06-24 Graham Percival <gpermus@gmail.com>
2832 * Documentation/user/ various: small additions from mailist.
2834 2006-06-22 Mats Bengtsson <mabe@s3.kth.se>
2836 * ly/performer-init.ly: Add some missing links in the context
2837 hierarchy for MIDI output. There are probably some more missing!
2839 2006-06-21 Graham Percival <gpermus@gmail.com>
2841 * Documentation/user/ various: minor spelling fixes;
2842 thanks Dave Luttinen!
2844 * Documentation/user/ various: small clarifications;
2845 thanks Anthony Youngman!
2847 2006-06-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2849 * po/fr.po: add \n appropriately.
2851 * lily/lexer.ll: remove ? from version-seen?
2853 2006-06-19 John Mandereau <john.mandereau@free.fr>
2855 * po/fr.po; update translation, by Jean-Charles Malahieude and
2858 2006-06-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2860 * THANKS: add Markus Schneider.
2862 * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
2863 Staff_symbol_engraver
2865 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
2866 replace staff_engraver
2868 * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
2871 * lily/staff-collecting-engraver.cc
2872 (acknowledge_end_staff_symbol): new function
2874 * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function.
2876 * lily/staff-collecting-engraver.cc
2877 (acknowledge_end_staff_symbol): new function.
2879 * lily/main.cc: switch on relocation by default.
2881 2006-06-18 Han-Wen Nienhuys <hanwen@lilypond.org>
2883 * lily/spacing-spanner.cc (musical_column_spacing): set
2884 compound_fixed_note_space to 0.0. Document why.
2886 * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
2887 range of inverse_hooke_
2888 (Simple_spacer): init completely.
2890 (get_line_configuration): don't use cols.resize(); it introduces
2893 * scm/framework-ps.scm (dump-page): add setstrokeadjust.
2895 * ps/music-drawing-routines.ps: remove selectfont L1 hack.
2897 * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
2898 try. Divide by beatlength.
2900 * input/regression/beaming-ternary-metrum.ly: update doc.
2901 add beatLength hack.
2903 * scm/music-functions.scm (make-time-signature-set): add
2904 standard-beat-grouping.
2906 2006-06-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2908 * input/regression/tie-whole.ly: new file.
2910 * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
2911 cross center of note head in case of invisible stem.
2913 2006-06-16 Graham Percival <gpermus@gmail.com>
2915 * Documentation/user/ various: small fixes from mailist.
2917 2006-06-16 Han-Wen Nienhuys <hanwen@lilypond.org>
2919 * lily/breathing-sign.cc (offset_callback): idem.
2921 * lily/align-interface.cc (align_to_fixed_distance): remove
2924 * lily/beaming-pattern.cc (count_factor_twos): oops. We want
2927 2006-06-15 Han-Wen Nienhuys <hanwen@lilypond.org>
2929 * VERSION (PACKAGE_NAME): release 2.9.9
2931 * ly/lilypond-book-preamble.ly: add \version
2933 2006-06-14 Han-Wen Nienhuys <hanwen@lilypond.org>
2935 * scripts/lilypond-book.py (PREAMBLE_LY): include
2936 lilypond-book-preamble.ly
2938 * lily/stem.cc (get_beaming): return max of 0 and
2939 scm_ilength. Fixes slurring from/to beams.
2941 * ly/lilypond-book-preamble.ly: new file.
2943 * lily/slur.cc: add inspect-index feature.
2945 2006-06-13 Graham Percival <gpermus@gmail.com>
2947 * Documentation/user/tutorial.itely: trivial fix.
2949 2006-06-13 Erik Sandberg <mandolaerik@gmail.com>
2951 * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
2952 all non-event music in the parser via MAKE_SYNTAX.
2954 * lily/parser-scheme.cc: Add ly:parser-error function
2956 * scm/paper.scm: fix typo
2958 2006-06-13 Han-Wen Nienhuys <hanwen@lilypond.org>
2962 * lily/font-config.cc (init_fontconfig): add warning if cache_file
2965 * buildscripts/output-distance.py (test_compare_signatures):
2967 (read_signature_file): use new signature format.
2969 * scm/stencil.scm (write-system-signature): simpler signature
2972 * lily/stem.cc (calc_stem_end_position): calc quantized-positions
2975 * lily/note-spacing.cc (stem_dir_correction): don't inspect
2976 stem_end_position, but estimate instead.
2978 * lily/tuplet-bracket.cc (calc_positions): look at
2979 stem-end-position for tuplet bracket slope. Fixes sloped tuplet
2980 brackets narrower than beams.
2982 * lily/lexer.ll: set version-seen? even if version is
2985 * lily/rest.cc (y_offset_callback): bugfix: decide position
2986 override based on scm_is_number(). Fixes \rest on center staff
2989 * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
2990 patterns for 16th triplets.
2992 2006-06-10 Graham Percival <gpermus@gmail.com>
2994 * Documentation/user/ page.itely, global.itely: editing
2997 * Documentation/user/ various: findex -> funindex.
2999 2006-06-10 Erik Sandberg <mandolaerik@gmail.com>
3001 * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3002 insert extra tuplet events.
3004 2006-06-10 Graham Percival <gpermus@gmail.com>
3006 * Documentation/user/programming-interfaces.itely: add
3009 * python/convertrules.py: add annotatefoo -> annotate-foo
3012 * Documentation/user/global.itely: start editing.
3014 * Documentation/user/page.itely: major editing, new spacing
3017 2006-06-10 Han-Wen Nienhuys <hanwen@lilypond.org>
3019 * scm/define-markup-commands.scm (wordwrap-markups): use
3020 output-def 'line-width if undefined.
3022 * HACKING: trim outdated info.
3024 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3026 * scm/define-grobs.scm (all-grob-descriptions): Add
3027 line-spanner-interface to all grobs that already have
3028 text-spanner-interface or dynamic-text-spanner-interface
3030 * scm/page.scm: Rename annotate{headers,systems,page}->
3033 * input/regression/page-spacing.ly,
3034 input/regression/page-layout-manual-position.ly: idem
3036 2006-06-09 Han-Wen Nienhuys <hanwen@lilypond.org>
3038 * lily/line-spanner.cc: cleanup property list.
3040 * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3041 generator expressions (2.3 compat).
3043 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3045 * lily/vertical-align-engraver.cc: Make sure that the
3046 align{Above,Below}Context properties are included in the automatic
3049 2006-06-08 Joe Neeman <joeneeman@gmail.com>
3051 * scm/paper-system.scm (paper-system-annotate): also annotate the
3052 estimated pure-Y-extent
3054 * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3056 * lily/system.cc (break_into_pieces): set the estimated height
3057 of each child system
3059 * lily/stem.cc (pure_height): new pure-Y-extent callback
3061 * lily/staff-symbol-referencer.cc (callback): don't destroy
3062 the staff-position property
3064 * lily/hara-kiri-group-spanner.cc (request_suicide): split
3065 consider_suicide into two functions
3067 * lily/constrained-breaking.cc (resize): use the new pure
3068 callbacks to estimate the height of a system
3070 * lily/axis-group-interface.cc (pure_group_height): new
3071 side-effect-free VerticalAxisGroup height-callback
3073 * lily/align-interface.cc (get_extents_aligned_translates):
3074 split align_elements_to_extents into two functions
3075 (get_pure_child_y_translation): new function
3077 * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3079 * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3081 * lily/paper-score.cc: cache break_indices and columns
3083 * lily/side-position-interface.cc: new pure-Y-extent callbacks
3085 2006-06-08 Han-Wen Nienhuys <hanwen@lilypond.org>
3087 * lily/font-config.cc (init_fontconfig): do the init if
3088 cache_file, but don't look at cache_file.
3090 * input/regression/quote-tie.ly: new file.
3092 * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3093 to Head_event_tuple, so we deal gracefully with ties on
3096 * lily/pango-font.cc (pango_item_string_stencil): type correctness
3099 2006-06-08 Graham Percival <gpermus@gmail.com>
3101 * input/test/ smart-transpose.ly, reverse-music.ly:
3102 \applyMusic to music functions update, thanks Michael!
3104 2006-06-07 Graham Percival <gpermus@gmail.com>
3106 * input/test/ add-staccato.ly, add-text-script.ly,
3107 unfold-all-repeats.ly, music-box.ly: \applyMusic to
3108 music functions update, thanks to Michael Meixner.
3110 * Documentation/user/music-glossary.tely: small fix
3113 * Documentation/user/ various: minor additions from mailist.
3115 * Documentation/user/lilypond.tely, basic-notation.itely:
3116 small test of @funindex. (works here)
3118 * input/test/font-table.ly: reduce size to partially
3119 de-ugly version in manual.
3121 * Documentation/user/page.itely: new file (split former
3122 "global issues" into "page settings" and "non-musical
3125 * Documentation/user/ various: fix @ref{}s to match
3126 new chapter names (above).
3128 2006-06-07 Jan Nieuwenhuizen <janneke@gnu.org>
3130 * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3132 2006-06-06 Graham Percival <gpermus@gmail.com>
3134 * Documentation/user/advanced-notation.itely: add example
3135 for segno/coda on barline.
3137 * tex/texinfo.tex: merge from upstream.
3139 2006-06-06 Jan Nieuwenhuizen <janneke@gnu.org>
3141 * scripts/lilypond-book.py (process_snippets): Argument fix.
3144 * buildscripts/builder.py:
3147 * Documentation/user/SConscript: More SCons fixes.
3149 2006-06-03 Jan Nieuwenhuizen <janneke@gnu.org>
3151 * lily/font-config.cc (init_fontconfig): Only initialize if
3152 global cache_file is found.
3154 2006-06-06 Erik Sandberg <mandolaerik@gmail.com>
3156 * ly/music-functions-init.ly: Updated \overrideProperty to use the
3159 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3161 * VERSION (PACKAGE_NAME): release 2.9.8
3163 * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3164 function. Delay ledger modifying ledgered grobs to
3165 stop_translation_timestep(), to ensure that we're ledgering
3166 according to the new spanner.
3167 (acknowledge_staff_symbol): don't check for non-NULL
3168 staff_sym->get_bound()
3170 * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3173 * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3176 * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3177 directly from srcdir/stepmake/aclocal.m4
3179 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3182 * lily/simple-spacer.cc (get_column_desc): desc -> description.
3184 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3186 * lily/simple-spacer.cc (get_line_configuration): add
3187 keep-inside-line rods
3188 (struct Column_desc): add constructor
3189 (struct Rod_desc): add constructor
3190 (get_line_forces): check for forced page breaks here too
3192 * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3193 support/elements cycles between InstrumentNames and AxisGroups
3195 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3197 * config.make.in (METAFONT): remove MAKEINFO_VERSION
3199 * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3200 make-txt-files target.
3202 * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3203 make-txt-files target.
3205 * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3207 * stepmake/stepmake/generic-vars.make (distdir): create dist in
3210 2006-06-06 Jürgen Reuter <reuter@ipd.uka.de>
3212 * Documentation/user/instrument-notation.itely,
3213 input/regression/breathing-sign-ancient.ly,
3214 input/test/divisiones.ly: Removed redundant property settings for
3217 * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3218 fix lyrics alignment problems. They are implemented now as scheme
3219 functions that add the appropriate unicode char to the first lyric
3220 event rather than adding a separate lyric event. Minor edit of
3223 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3225 * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3226 pollute src dir with built .txt files, but install directly from
3227 Documentation/topdocs/out/
3229 * buildscripts/output-distance.py
3230 (ComparisonData.create_html_result_page): put version/directories
3233 * Documentation/topdocs/NEWS.tely (Top): document spacing section
3236 * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3237 Patch by Karl Hammar
3239 * buildscripts/readlink.py: add file.
3240 Patch by Karl Hammar
3242 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3244 * lily/tuplet-number.cc (print): prevent stencil from being
3247 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3249 * scm/stencil.scm (write-system-signature): explicitly
3250 -well, superfluously- close output port.
3252 * buildscripts/output-distance.py (main): oops. Add extra argument.
3254 2006-06-05 Graham Percival <gpermus@gmail.com>
3256 * Documentation/user/music-glossary.tely: clarified example
3257 from Francisco Vila, thanks!
3259 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3261 * input/regression/spacing-section.ly: new file.
3263 * lily/input.cc (programming_error): new function.
3265 * lily/spacing-engraver.cc (try_music): new function. Accept
3266 spacing-section-event
3268 * lily/spacing-spanner.cc (set_springs): take slices of all
3269 columns for spacing.
3271 * lily/include/paper-column.hh (class Paper_column): add
3272 Paper_column::compare.
3274 * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3276 * scm/define-music-types.scm (music-descriptions): add
3279 * lily/music-iterator.cc (report_event): use programming_error for
3280 sending non-event error.
3282 * lily/input.cc (programming_error): new function
3284 * buildscripts/output-distance.py (main): use compare-XXX for
3286 (main): --threshold option, default at 0.30
3288 * output-distance.py (main): add --threshold option.
3290 2006-06-04 Nicolas Sceaux <nicolas.sceaux@free.fr>
3292 * scm/paper-system.scm (paper-system-annotate): fix problem when
3293 annotating an empty system
3295 2006-06-04 Han-Wen Nienhuys <hanwen@lilypond.org>
3297 * GNUmakefile.in: reinstate old web tar/copying.
3299 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3301 * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3302 nothing changes. (Erik S)
3304 * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3307 2006-05-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
3309 * scm/define-markup-commands.scm (whiteout): do not force
3310 foreground color of argument markup to black.
3312 * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3313 the left of the arrow, instead of below the arrow name, so that,
3314 when two little arrows are vertically stacked, their dimensions
3315 and name should not overlap. Add a color key parameter.
3317 * scm/paper-system.scm (paper-system-annotate): Annotate
3318 next-space+next-padding instead of next-space. Annotate space
3319 between next-padding and next-space+padding, respectively, and
3320 following system extent and refpoint-Y-extent. Use colors.
3322 * scm/page.scm (annotate-page): translate annotations slightly to
3325 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3327 * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3328 fix for x-staff slurs. Thanks Joe!
3330 * buildscripts/output-distance.py
3331 (SystemLink.output_expression_change_count): keep track of changed
3332 details, and dump in details html page.
3334 * input/regression/figured-bass-staff.ly: add note about setting
3335 properties in Staff context.
3337 * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3338 add slurs and ties to support too.
3340 * buildscripts/output-distance.py (main): set dest_dir
3341 argument. Add --max-count option.
3343 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3345 * ly/gregorian-init.ly: Converted to utf-8. Added memorable
3346 shortcuts for special unicode chars that are useful in chant
3347 notation. Revised exisiting and added new comments.
3349 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3351 * make/mutopia-rules.make: remove duplicate recipe.
3353 2006-06-02 Werner Lemberg <wl@gnu.org>
3355 * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3356 Add support for U+0132 (IJ) and U+0133 (ij).
3358 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3360 * buildscripts/output-distance.py (FileLink): new class. collect
3361 info systems from one .ly file.
3362 (FileLink.link_files_for_html): further tweaks.
3364 2006-06-02 Graham Percival <gpermus@gmail.com>
3366 * tex/texinfo.tex: partial fix for @funindex.
3368 * Documentation/user/macros.tely: uncomment @funindex (doesn't
3371 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3373 * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3375 * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3376 @example too. Backportme.
3378 2006-06-02 Graham Percival <gpermus@gmail.com>
3380 * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3381 from Werner Lemberg.
3383 2006-06-02 Paco (Francisco Vila) <fravd@ya.com>
3385 * Documentation/user/music-glossary.tely: additional spanish
3386 updates and a lyrics fix in an example.
3388 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3390 * scm/define-grob-properties.scm: Previous patch contained
3391 spurious line from another patch not yet committed. Fixed.
3393 * scm/define-grob-properties.scm: Add missing doc strings for
3396 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3398 * buildscripts/output-distance.py
3399 (ComparisonData.write_text_result_page): separate the scores, sort
3402 * scm/framework-eps.scm (output-classic-framework): start at 1 for
3405 * buildscripts/output-distance.py (me_path): use argv[0] for
3407 (ComparisonData.img_cell): use colored borders.
3409 * scm/stencil.scm (write-system-signature): escape newlines too.
3410 (write-system-signature): use (1,-1) interval for empty interval
3412 2006-01-01 Graham Percival <gpermus@gmail.com>
3414 * Documentation/user/music-glossary.tely: Spanish updates
3415 from Francisco Vila.
3417 * Documentation/user/lilypond-book.itely: addition from
3420 * Documentation/user/ various: edits, small additions
3423 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3425 * GNUmakefile.in (tree-lib-prefix-current):
3426 (tree-share-prefix-current): Use version number in tree, add
3429 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3431 * GNUmakefile.in: write VERSION, again.
3433 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3434 $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3436 * stepmake/aclocal.m4: robuster version detection.
3438 * buildscripts/output-distance.py
3439 (ComparisonData.create_html_result_page): copy only if file
3440 exists, fixup src paths.
3442 * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3444 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3446 * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3447 Another datarootdir reto.
3449 * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3450 available. This should be moved to postinstall-lilypond-doc.
3452 2006-05-31 Han-Wen Nienhuys <hanwen@lilypond.org>
3454 * GNUmakefile.in: simplify local-WWW-post.
3455 remove -type l from find.
3457 * buildscripts/output-distance.py (ComparisonData.compare_trees):
3458 fixes. Don't follow symlinks.
3459 (ComparisonData.create_html_result_page): remove previous results.
3460 insert ../python in path.
3462 * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3464 2006-05-31 Jan Nieuwenhuizen <janneke@gnu.org>
3466 * config.make.in (datadir): Add datarootdir to silence autoconf.
3468 * stepmake/aclocal.m4: Update for autoconf-2.59d.
3470 2006-05-31 Erlend Aasland <erlenda@gmail.com>
3472 * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3474 * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3475 slash beams too wide.
3477 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3479 * VERSION: release 2.9.7
3481 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3483 * lily/relocate.cc (read_relocation_dir): Do not blindly
3486 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3488 * lily/parser.yy: replace THIS by PARSER
3490 * Documentation/index.html.in: add link to test-results.html page.
3492 * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3494 * scm/translation-functions.scm (format-bass-figure): translate
3495 digits over 10 to the left
3497 * scm/define-markup-commands.scm (translate-scaled): new markup.
3499 * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3502 * ly/engraver-init.ly: add Figured_bass_engraver
3504 * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3506 * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3508 * lily/score-engraver.cc (announce_grob): only note START announces.
3510 * lily/include/engraver-group.hh (Translator_group):
3511 acknowledge_hash_table_ is now drul.
3513 * lily/engraver.cc (announce_end_grob): new method.
3515 * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3517 * lily/translator-dispatch-list.cc (create): take start_end argument.
3519 * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3520 acknowledge_static_array_ to drul
3522 * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3524 * scm/define-grob-interfaces.scm
3525 (bass-figure-alignment-interface): add bass-figure-alignment-interface
3527 * scm/define-grobs.scm (all-grob-descriptions): add
3528 BassFigureAlignmentPositioning
3530 * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3531 number stays up to date. Backportme.
3533 2006-05-30 Mats Bengtsson <mabe@s3.kth.se>
3535 * Documentation/user/basic-notation.itely (Bar lines): Document
3538 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3540 * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3542 * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3543 .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc'
3546 * Resurrect `scons lily' build.
3548 * SConstruct (symlink_tree): Bugfix: link
3549 music-drawing-routines.ps to file iso directory.
3551 * lily/SConscript: Remove kpath-guile from LIBS.
3553 * SConstruct (libdir_package_version): Typo.
3554 (configure): Comment-out fontforge for lack of fontforge.pc .
3555 Also add libdir* to environment.
3557 2006-05-30 Graham Percival <gpermus@gmail.com>
3559 * Documentation/user/ various: minor additions from mailist and
3562 2006-05-30 Paco <fravd@ya.com>
3564 * Documentation/user/music-glossary.tely: numerous corrections and
3565 some new translations.
3567 2006-05-29 Han-Wen Nienhuys <hanwen@lilypond.org>
3571 * buildscripts/output-distance.py
3572 (ComparisonData.create_html_result_page): new routine: summarise
3573 results in HTML page with images.
3574 (ComparisonData.create_text_result_page): create summary text files too.
3576 * GNUmakefile.in (web-ext): package .signature files too. They
3579 * scm/stencil.scm (write-system-signature): typo.
3581 * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3583 * scm/stencil.scm (write-system-signature): better escaping.
3584 only write signature for music systems, not for markup systems.
3586 * scm/framework-ps.scm (output-framework): dump-signatures support
3589 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3591 * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3592 for -dno-point-and-click
3594 * lily/grob.cc (get_print_stencil): don't read
3595 point_and_click_global to determine whether to set grob-cause.
3597 2006-05-28 Han-Wen Nienhuys <hanwen@lilypond.org>
3599 * buildscripts/output-distance.py (main): new function.
3600 (ComparisonData): new class.
3602 * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3603 careful with generating new LedgerLineSpanners.
3605 * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3607 * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3608 context. This fixes double ledger lines in output.
3610 * lily/system.cc (get_paper_system): remove 3 layer limit.
3612 * buildscripts/output-distance.py (SystemLink.distance): new
3613 file. Compare signatures.
3615 * python/safeeval.py (SafeEval.visitUnarySub): new file.
3617 * lily/grob-array.cc (remove_duplicates): rename from
3618 uniq(). Sort before calling uniq() so it actually works.
3620 2006-05-27 Han-Wen Nienhuys <hanwen@lilypond.org>
3622 * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3623 \version from lilypond file snippet.
3624 (Lilypond_file_snippet.ly): oops. typo.
3625 (find_toplevel_snippets): urgh. again.
3627 * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3628 prevent duplicated broken items in output.
3630 * scm/framework-eps.scm (output-classic-framework): only dump if
3631 dump-signatures is set.
3633 * scm/lily.scm (define-scheme-options): add dump-signatures option.
3635 * scm/stencil.scm (write-system-signature): new routine: write
3636 python parseable signature of a separate paper system.
3639 2006-05-26 Han-Wen Nienhuys <hanwen@lilypond.org>
3641 * lily/stanza-number-engraver.cc (process_music): use is_markup()
3645 2006-05-25 Erik Sandberg <mandolaerik@gmail.com>
3647 * translator-group.cc: send music events to engravers in
3648 non-bottom contexts.
3650 * tuplet-engraver.cc: process tuplet brackets in correct order.
3652 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3654 * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3655 arg 2 might point us to a new binary (patch by Karl Hammar)
3657 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3659 * VERSION (PACKAGE_NAME): release 2.9.6
3661 * Documentation/topdocs/NEWS.tely (Top): trim explanation.
3663 * Documentation/user/*.itely: 2nd
3664 attempt: replace funindex -> findex globally.
3666 2006-05-24 Nicolas Sceaux <nicolas.sceaux@free.fr>
3668 * input/no-notation/display-lily-tests.ly: fix \applyOutput
3669 test. Add \break, \pageBreak, \pageTurn, etc, tests.
3671 * scm/define-music-display-methods.scm: display methods for
3672 breaks. Fix \applyOutput.
3674 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3676 * Documentation/user/macros.itexi: comment out funindex expansion.
3678 * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3681 * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3682 Karl Hammar. Backportme.
3684 * Documentation/user/advanced-notation.itely (Balloon help): idem.
3686 * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3688 * Documentation/user/programming-interface.itely (Running a
3689 function on all layout objects): idem.
3691 * Documentation/user/introduction.itely (Automated engraving):
3692 update \applyOutput syntax
3694 * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3695 remove debugging hook.
3697 * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3700 * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3702 * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3703 TEXI2DVI_FLAGS to texi2dvi invocation.
3705 2006-05-24 Erik Sandberg <mandolaerik@gmail.com>
3707 * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3708 works. More work is done by iterator now, and engraver has been
3709 very much simplified.
3711 * lily/translator-group.cc: try_music is now invoked through a
3714 * lily/*-iterator.cc: Massive cleanups. Junked
3715 try_music_in_children globally. Renamed try_music to report_event,
3716 and made that method descend to a bottom context automatically.
3718 * lily/event-iterator.cc: New file.
3720 * lily/output-property-iterator.cc,
3721 lily/old-lyric-combine-music-iterator.cc: Removed.
3723 * python/convert-rules.py: Modified the syntax for \applyOutput.
3725 2006-05-23 Graham Percival <gpermus@gmail.com>
3727 * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3730 * Documentation/user/ various: stuff that might have helped
3731 to fix the pdf creation, plus some minor doc additions.
3733 * Documentation/user/changing-defaults.itely: remove @b from
3734 @b{ @internasref{foo}}; this breaks texi2dvi -E.
3736 2006-05-23 Han-Wen Nienhuys <hanwen@lilypond.org>
3738 * lily/beaming-pattern.cc (beamify): deal with negative start
3739 moments for beaming patterns.
3741 2006-05-22 Han-Wen Nienhuys <hanwen@lilypond.org>
3743 * lily/beaming-info.cc (beamify): new function: read beatLength
3744 and beatGrouping from context.
3746 * input/regression/beam-beat-grouping.ly (Module): new file.
3748 * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3750 * lily/beam.cc (get_beam_segments): generate events for
3751 max_connect_ case too.
3752 (get_beam_segments): read Stem::max-beam-connect.
3754 * input/regression/beam-single-stem.ly: new file.
3756 * lily/stem.cc (set_beaming): use #f as signaling value for
3759 * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3761 * lily/beam.cc (set_beaming): read clip-edges property.
3762 (calc_direction): don't suicide for single stem.
3764 * lily/beaming-info.cc (best_splitpoint_index): take bool*
3765 argument, remove 1<<15 hack. Remove clip_edges()
3767 * lily/hairpin.cc (print): only do padding for nonmusical bounds
3769 2006-05-21 Graham Percival <gpermus@gmail.com>
3771 * Documentation/user/basic-notation.itely: reorg.
3773 * Documentation/user/ various: minor fixes.
3775 2006-05-20 Han-Wen Nienhuys <hanwen@lilypond.org>
3777 * lily/stencil-expression.cc (register_stencil_head): opps, append
3778 to cdr of static SCM object.
3780 2006-05-19 Graham Percival <gpermus@gmail.com>
3782 * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3783 update framework for command index. DOC WRITERS: use @funindex
3784 instead of @cindex @code{}.
3786 * Documentation/user/ various: replace @cindex @code{} => @funindex
3788 2006-05-19 Han-Wen Nienhuys <hanwen@lilypond.org>
3790 * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3791 case positions is set manually.
3793 2006-05-18 Erik Sandberg <mandolaerik@gmail.com>
3795 * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3798 2006-05-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3800 * Documentation/user/changing-defaults.itely (Contexts explained):
3801 use absolute dimension for @image.
3803 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3804 out image for illustration too.
3805 ($(outdir)/%.png): add more png <-> eps rules.
3807 2006-05-17 Graham Percival <gpermus@gmail.com>
3809 * Documentation/user/ various: remove trailing whitespace, cosmetic
3810 change to reduce changes produced by diff.
3812 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3814 * lily/main.cc (do_chroot_jail): correctness tweak.
3816 * python/lilylib.py (system): import subprocess in system () only.
3818 * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3820 * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3821 variable. Backportme.
3823 2006-05-17 Erik Sandberg <mandolaerik@gmail.com>
3825 * lily/parser.yy: Change all syntax rules of type Music to SCM type
3827 2006-05-17 Werner Lemberg <wl@gnu.org>
3829 * lily/lexer.ll (init_signature_has_table): Add
3830 `scm-scm-music-music'.
3832 * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
3833 (Generic_prefix_music_scm): Add rule for it.
3835 * lily/quote-iterator.cc (Quote_iterator::process): Handle
3836 `quoted-transposition' property.
3838 * ly/music-functions-init.ly (transposedCueDuring): New function.
3840 * scm/define-music-properties.scm (all-music-properties): Updated.
3842 * Documenation/topdocs/NEWS.itely: Document it.
3844 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3846 * python/lilylib.py (system): move import subprocess to system()
3849 * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
3851 * VERSION (PATCH_LEVEL): release 2.9.5
3853 * Documentation/topdocs/INSTALL.texi (Top): update versions and
3856 * ly/engraver-init.ly: switch on hairpinToBarline by default.
3858 2006-05-16 Graham Percival <gpermus@gmail.com>
3860 * Documentation/user/basic-notation.itely: editing from Dave, thanks!
3862 * Documentation/user/ various: minor fixes.
3864 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3866 * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
3868 2006-05-16 Mats Bengtsson <mabe@s3.kth.se>
3870 * Documentation/user/advanced-notation.itely (Instrument names):
3871 Modified obsolete instruction on how to move instrument names away
3872 from the staves. Hmm, at second thought the bug probably has been
3873 solved, so the full bug description should probably be removed.
3875 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3877 * lily/dynamic-engraver.cc (typeset_all): hang ending on
3878 currentCommandColumn.
3880 * lily/hairpin.cc (print): also add padding for non-neighbor
3883 * scm/define-context-properties.scm
3884 (all-user-translation-properties): add hairpinToBarline
3886 * input/regression/hairpin-to-barline.ly: new file.
3888 * lily/context.cc (internal_send_stream_event): thinko fix.
3890 * lily/tie.cc (set_default_control_points): robustness fix.
3892 * python/musicxml.py (Part.interpret): don't complain about
3893 incomplete measures.
3895 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
3896 new music if last_event_chord() returned None.
3898 * python/musicxml.py (Part.interpret): skip back over chord notes.
3900 2006-05-16 Erik Sandberg <mandolaerik@gmail.com>
3902 * lily/percent-repeat-engraver.cc, lily/parser.yy,
3903 lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
3904 lily/slash-repeat-engraver.cc,
3905 lily/include/percent-repeat-iterator.hh: Rework percent repeats:
3906 iterator sends PercentEvents
3908 * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
3909 rework tuplets: send start/stop events to engraver
3911 * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
3912 dispatchers event-source and events-below to Context
3914 2006-05-15 Graham Percival <gpermus@gmail.com>
3916 * Documentation/user/README.txt: update info for doc writers.
3918 * Documentation/user/programming-interface.itely: integrate
3919 Nicolas' fixes for chapter rewrite.
3921 * Documentation/user/ various: minor fixes.
3923 2006-05-15 Han-Wen Nienhuys <hanwen@lilypond.org>
3925 * lily/clef-engraver.cc: cleanup.
3927 * Documentation/user/GNUmakefile: dist context-example.eps too.
3929 * lily/key-engraver.cc (create_key): use
3930 explicitKeySignatureVisibility for cancellation too.
3932 * lily/font-config.cc (init_fontconfig): don't close file if
3935 2006-05-15 Erlend Aasland <erlenda@gmail.com>
3937 * Documentation/topdocs/NEWS.tely: niente and rotation news
3939 2006-05-14 Erlend Aasland <erlenda@gmail.com>
3941 * lily/include/stencil.hh
3942 * lily/stencil.cc (rotate): new function. Makes it possible
3943 to rotate a stencil around a given offset.
3945 * lily/grob.cc (get_print_stencil): add rotation support
3947 * lily/stencil-interpret.cc (interpret_stencil_expression):
3948 add rotation support
3950 * lily/stencil-scheme.cc (ly:stencil-rotate): new function
3952 * scm/define-grob-properties.scm: add 'rotation property
3954 * scm/define-markup-commands.scm: add rotate markup command
3956 * scm/output-ps.scm: add rotation support in PostScript backend
3958 * scm/output-svg.scm: add rotation support in SVG backend
3960 2006-05-13 Graham Percival <gpermus@gmail.com>
3962 * Documentation/user/music-glossary.itely: French correction.
3964 * Documentation/user/programming-interface.itely: major
3965 new docs, some reorg, some info from Nicolas.
3967 * Documentation/user/ various: small fixes.
3969 2006-05-12 Mats Bengtsson <mabe@s3.kth.se>
3971 * Documentation/user/programming-interface.itely (Markup
3972 programmer interface): Remove duplicate text.
3974 2006-05-12 Graham Percival <gpermus@gmail.com>
3976 * Documentation/user/context-example.eps: new file.
3978 * Documentation/user/changing-defaults.itely: set up file to
3981 * Documentation/user/programming-interface.itely: changes
3984 2006-05-12 Han-Wen Nienhuys <hanwen@lilypond.org>
3986 * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
3988 2006-05-11 Graham Percival <gpermus@gmail.com>
3990 * Documentation/user/programming-interface.itely: first round of
3991 editing and merging emails from Nicolas.
3993 * Documentation/user/scheme-tutorial: minor edit.
3995 2006-05-11 Han-Wen Nienhuys <hanwen@lilypond.org>
3997 * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
3999 (Xml_node.message): use it.
4001 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice):
4002 oops. Add duration argument.
4004 2006-05-10 Joe Neeman <joeneeman@gmail.com>
4006 * lily/paper-column-engraver.cc (make_columns):
4007 * scm/define-grobs.scm: Revert my previous change and set the default
4008 in define-grobs.scm instead.
4010 2006-05-09 Graham Percival <gpermus@gmail.com>
4012 * Documentation/user/changing-defaults.itely: general editing,
4013 info about \set and \override.
4015 * Documentation/user/tweaking.itely, advanced-notation.itely:
4016 fixes from Dave Luttinen, thanks!
4018 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4020 * lily/paper-column-engraver.cc (make_columns): By default, a column
4021 needs to be breakable.
4023 2006-05-09 Han-Wen Nienhuys <hanwen@lilypond.org>
4025 * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4027 (musicxml_time_to_lily): idem
4028 (musicxml_key_to_lily): idem
4029 (instrument_drumtype_dict): dict for supported drumtypes.
4030 (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4031 moments and pending mm rests
4032 (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4033 (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4034 (musicxml_voice_to_lily_voice): add mode change.
4035 (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4036 speed and less memory usage (factor 5 to 10).
4037 (convert): write -defs.ly and driver file separately so people
4038 can script their own part extraction.
4040 * python/musicxml.py (minidom_demarshal_node): new function:
4041 separate minidom handling.
4042 (lxml_demarshal_node): new function: support lxml.etree too.
4043 (Xml_node.message): new function: verbose error message, with XML
4044 path to offending node.
4045 (Attributes.get_measure_length): sane interface to MusicXML attributes.
4046 (Part_list.generate_id_instrument_dict): new method: collect
4047 instrument names, to be able to set drum_type.
4048 (Part.interpret): handle underfull measures
4049 (Part.interpret): assign instrument names.
4051 * python/musicexp.py (Output_printer.close): new method
4052 (MusicWrapper.print_ly): new class: support other modes,
4054 (BarCheck.print_ly): new class. Support bar checks, with comments
4055 and fancy barchecks.
4056 (NoteEvent.__init__): also set drum_type for drum notes.
4057 (MultiMeasureRest.lisp_expression): dump mm rests.
4059 * lily/paper-column-engraver.cc (stop_translation_timestep): set
4060 line-break-permission if forbidBreak is not set.
4062 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4064 * scm/define-context-properties.scm:
4065 * scm/define-grob-properties.scm:
4066 * scm/define-grobs.scm:
4067 * scm/define-music-display-methods.scm:
4068 * scm/define-music-properties.scm:
4069 * scm/define-music-types.scm:
4070 * scm/music-functions.scm:
4071 * ly/declarations-init.ly:
4072 * lily/include/constrained-breaking.hh:
4074 * lily/spaceable-grob.cc:
4075 * lily/simple-spacer.cc:
4076 * lily/paper-score.cc:
4077 * lily/paper-column.cc:
4078 * lily/paper-column-engraver.cc:
4080 * lily/gourlay-breaking.cc:
4081 * lily/constrained-breaking.cc:
4082 * python/convertrules.py:
4083 Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4084 "page-break-penalty" and "line-break-permission".
4085 Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4086 Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4088 * lily/bar-engraver.cc:
4089 * lily/beam-engraver.cc:
4090 * lily/forbid-break-engraver.cc:
4091 * lily/ligature-engraver.cc:
4092 * lily/paper-column-engraver.cc:
4093 * lily/percent-repeat-engraver.cc:
4094 * lily/score-engraver.cc:
4095 * lily/score-engraver.hh:
4096 * lily/paper-column-engraver.hh:
4097 Inter-engraver communication regarding line breaks is done through context
4098 properties (Score.forbidBreak) instead of function calls.
4100 2006-05-08 Han-Wen Nienhuys <hanwen@lilypond.org>
4102 * VERSION (PACKAGE_NAME): release 2.9.4
4104 2006-05-08 Graham Percival <gpermus@gmail.com>
4106 * Documentation/user/working.itely: proofreading from Dave
4109 * Doucmentation/user/README.txt: updated with manual style info.
4111 * Documentation/user/ various: trim linewidth to 78 chars.
4113 2006-05-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4115 * scm/define-grob-properties.scm (all-internal-grob-properties):
4116 remove chord-tremolo property.
4118 * lily/beam.cc (get_beam_segments): don't use stem position as
4119 base for broken ends.
4121 2006-05-06 Graham Percival <gpermus@gmail.com>
4123 * Documentation/user/putting.itely: proofreading from Dave
4126 * Documentation/user/ various: more reorg and clarifications.
4128 2006-05-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4130 * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4132 * ly/music-functions-init.ly: new function featherDurations
4134 * lily/beam.cc: read grow-direction for feathered beaming.
4136 * Documentation/topdocs/NEWS.tely (Top): typo.
4138 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4140 * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4143 2006-05-05 Erik Sandberg <mandolaerik@gmail.com>
4144 * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4145 used by music streams.
4147 * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4148 lily/stream-event.cc, lily/stream-event-scheme.cc,
4149 lily/listener.cc, lily/scheme-listener.cc,
4150 lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4151 lily/include/stream-event.hh, lily/include/listener.hh,
4152 lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4153 Created data structures for music streams.
4155 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4157 * lily/beam.cc (get_beam_segments): new function. Reorganise the
4158 construction of a beam.
4161 * flower/include/std-vector.hh (default_compare): use only one comparison.
4163 * scm/define-markup-commands.scm (note-by-number): remove debug display.
4164 (note-by-number): further attachment fixes.
4166 * scm/lily-library.scm (ordered-cons): new function.
4167 (interval-index): new function
4169 * lily/note-head-scheme.cc (LY_DEFINE): new file.
4171 * lily/note-head.cc (get_stem_attachment): new function.
4173 * scm/define-markup-commands.scm (note-by-number): read 'style
4176 * input/regression/markup-note.ly: show note-head style option.
4178 * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4181 2006-05-04 Han-Wen Nienhuys <hanwen@lilypond.org>
4183 * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4185 * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4187 * lily/include/constrained-breaking.hh: GCC 4 fix.
4189 2006-05-04 Joe Neeman <joeneeman@gmail.com>
4191 * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4192 Replace it with functions get_line_forces and get_line_configuration.
4193 (class Simple_spacer): Make data private.
4194 Rewrite compression algorithm to be faster and simpler.
4196 * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4197 * lily/gourlay-breaking.cc (solve):
4198 * lily/constrained_breaking.cc (space_line):
4199 Change it to the new simple-spacer code.
4201 * lily/paper-score.cc (get_paper_systems):
4204 Delay breaking the systems until they are requested.
4205 (find_break_indices):
4206 Use vsize for indices.
4208 Move the "Calculating line breaks" message here.
4210 * lily/system.cc (pre_processing):
4211 Move the "Calculating line breaks" message away from here.
4212 (break_into_pieces):
4213 Allow multiple calls to this function in sequence (with touching-but-
4214 not-overlapping breakpoints).
4216 * lily/constrained-breaking.cc:
4217 Replace most of the get_XXXX functions with get_line_details.
4218 Only calculate the force for each line. Calculate configurations only
4219 for the lines we will actually use.
4220 Replace cols_ with lines_.
4222 2006-05-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
4224 * mf/GNUmakefile (depth): remove FC_FIND.
4226 * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4228 * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4230 * scm/framework-ps.scm (write-preamble): new function.
4231 (write-preamble): load mac fonts via fondu, even if gs-font-load
4234 2006-05-03 Werner Lemberg <wl@gnu.org>
4236 * mf/GNUmakefile (FC_FIND): Fix typo.
4238 2006-05-03 Erlend Aasland <erlenda@gmail.com>
4240 * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4242 2006-05-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4244 * stepmake/aclocal.m4: run python-config for crosscompiling
4247 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4248 -f png for HTML, TEXINFO formats.
4250 * input/tutorial/lbook-html-test.html: new file.
4252 * lily/include/tie-formatting-problem.hh (class
4253 Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4254 [column, direction]. This fixes laissez vibrer ties.
4256 * flower/include/tuple.hh (struct Tuple2): new file.
4258 * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4259 $(FCMATCH), only if $(NCSB_DIR) not set.
4261 * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4263 * config.make.in (DOCUMENTATION): set FCMATCH.
4265 * autogen.sh (srcdir): don't set --with-ncsb-dir.
4267 2006-05-03 Graham Percival <gpermus@gmail.com>
4269 * Documentation/user/ various: final round of reorg.
4271 * Documentation/user/instrument-notation.itely: some more
4272 fixes from Eduardo, thanks!
4274 2006-05-02 Han-Wen Nienhuys <hanwen@lilypond.org>
4276 * VERSION (PACKAGE_NAME): release 2.9.3
4278 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4280 * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4282 2006-05-01 Mats Bengtsson <mabe@s3.kth.se>
4284 * scm/define-grob-properties.scm (all-user-grob-properties):
4285 Correct typo, thanks to Eduardo.
4287 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4289 * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4291 * buildscripts/lilypond-words.py (F): indent fix.
4293 * input/regression/tie-arpeggio-collision.ly: new file.
4295 * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4296 function: store outlines per column rank.
4298 * lily/include/tie-configuration.hh (class Tie_configuration): add
4299 column_ranks_ to specification and configuration, to distinguish
4300 between ties for different heads in arpegiated chords.
4302 * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4304 * *.py: more 4 space indents.
4306 * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4308 2006-05-01 Joe Neeman <joeneeman@gmail.com>
4310 * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4312 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4314 * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4316 * scripts/abc2ly.py (dump_score): indent of 4 for python code.
4318 * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4320 2006-04-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
4322 * python/convertrules.py (conv): indent 4 for python files.
4324 2006-04-29 Mats Bengtsson <mabe@s3.kth.se>
4326 * Documentation/user/changing-defaults.itely (Creating contexts):
4327 Clarify \new semantics.
4329 2006-04-28 Graham Percival <gpermus@gmail.com>
4331 * Documentation/user/ various: major new sections in the
4332 Learning manual, slight reorg elsewhere.
4334 2006-04-27 Han-Wen Nienhuys <hanwen@lilypond.org>
4336 * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE)
4338 * scm/framework-ps.scm (output-framework): remove PageMedia
4340 2006-04-27 Graham Percival <gpermus@gmail.com>
4342 * Documentation/user/ tweaks.itely, working.itely: new
4343 files, being more advanced "learning manual" chapters.
4345 * Documentation/user/ tutorial, putting, lilypond: reorg.
4347 2006-04-26 Graham Percival <gpermus@gmail.com>
4349 * input/regression/lyric-combine-polyphonic.ly: fixed test
4350 (no more "can't find context `one'" error).
4352 2006-04-25 Joe Neeman <joeneeman@gmail.com>
4354 * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4356 * input/regression/stem-tremolo.ly: add 2 more whole note examples
4358 2006-04-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
4360 * lily/relocate.cc (read_relocation_dir): new function.
4362 2006-04-26 Graham Percival <gpermus@gmail.com>
4364 * Documentation/user/instrument-notation.itely: a few more fixes
4365 from Eduardo, thanks!
4367 * Documentation/user/README.txt: new file; contains info on
4368 style that used to be in lilypond.tely.
4370 * Documentation/user/ various: first round of doc reorg.
4372 * Documentation/user/baer-flat-bw.png: remove alpha bit from
4373 graphic; this probably causes problems on some pdf
4374 viewers, notably Adobe Acrobat.
4376 2006-04-24 Graham Percival <gpermus@gmail.com>
4378 * Documentation/user/instrument-notation.itely: many alterations
4379 to Vocal music, from Eduardo Viera.
4381 2006-04-23 Graham Percival <gpermus@gmail.com>
4383 * Documentation/user/instrument-notation.itely: fix \new
4384 instead of \context problem.
4386 2006-04-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
4388 * lily/relocate.cc (expand_environment_variables): new function.
4390 (read_relocation_file): id.
4392 * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code
4394 2006-04-21 Erlend Aasland <erlenda@gmail.com>
4396 * ly/engraver-init.ly: remove old comments from TabVoice
4398 2006-04-20 Graham Percival <gpermus@gmail.com>
4400 * Documentation/user/instrument-notation.itely: added Erlend's
4401 latest doc patch, thanks!
4403 2006-04-19 Erlend Aasland <erlenda@gmail.com>
4405 * lily/include/slur.hh:
4407 * lily/phrasing-slur-engraver.cc:
4408 * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4409 acknowledge_extra_object () from Phrasing_slur_engraver:: and
4410 Slur_engraver:: and putting it in
4411 Slur::auxiliary_acknowledge_extra_object ().
4413 * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4415 * lily/note-collision.cc: fix a comment
4417 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4419 * stepmake/bin/add-html-footer.py: fix footer position in
4420 generated html files: before </body> and </html> tags.
4422 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4424 * scripts/GNUmakefile: revert last "fix", which rather broke make.
4425 Earlier successive `make' commands finally compiled ok.
4427 * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4429 2006-04-18 Erlend Aasland <erlenda@gmail.com>
4431 * lily/include/stem-tremolo.hh:
4432 * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4436 * lily/include/lookup.hh: add rotated_box ()
4438 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4440 * scripts/GNUmakefile: bugfix: run help2man only after scripts have
4441 been generated. Fixes "can't get `--help'" bug after make clean.
4443 * THANKS: alphabetize contributors.
4445 2006-04-17 Graham Percival <gpermus@gmail.com>
4447 * Documentation/user/instrument-notation.itely: added Erlend's
4448 tabs and banjo doc patch. Thanks!
4450 2006-04-17 Erlend Aasland <erlenda@gmail.com>
4452 * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4454 * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4456 * scm/output-lib.scm: add some more predefined string tunings.
4458 * Documentation/user/instrument-notation.itely: and doc them.
4460 2006-04-16 Jürgen Reuter <reuter@ipd.uka.de>
4462 * ly/engraver.ly: Remove obsolete comments.
4464 * ly/gregorian-init.ly: Define default layout block.
4466 * input/puer-fragment.ly: Updated and extended.
4468 2006-04-15 Jan Nieuwenhuizen <janneke@gnu.org>
4470 * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4471 pdf conversion behaviour.
4473 * flower/file-name.cc (dir_name)
4474 (get_working_directory): Move from relocate.cc.
4476 * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4478 * lily/relocate.cc: Encapsulate sys/stat.h in
4481 2006-04-14 Graham Percival <gpermus@gmail.com>
4483 * Documentation/user/ various: small updates from Cameron
4484 and Juergen, thanks!
4486 * Documentation/user/ various: small updates of my own.
4488 * THANKS: 2.7 -> 2.8.
4490 2006-04-11 Graham Percival <gpermus@gmail.com>
4492 * scm/define-context-properties.scm: typo.
4494 * Documentation/user/ : many more small updates.
4496 2006-04-13 Jürgen Reuter <reuter@ipd.uka.de>
4498 * scm/define-music-types.scm: disposed "docme".
4500 2006-04-11 Erlend Aasland <erlenda@gmail.com>
4502 * lily/hairpin.cc: make niente circles a bit smaller.
4504 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4506 * mf/GNUmakefile: remove redundant mftrace check. Also remove
4507 get-pfa and get-*-fonts targets.
4509 2006-04-10 Graham Percival <gpermus@gmail.com>
4511 * THANKS, Documentation/user/ basic-notation, advanced-notation,
4512 music-glossary, programming-interface: more minor fixes
4515 * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4517 * scm/define-context-properties.scm: another old \property update.
4518 This time tested for compiling!
4520 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4522 * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4524 2006-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
4526 * scm/define-context-properties.scm (all-user-translation-properties):
4527 * Documentation/user/global.itely (Page formatting): Compile fix.
4529 2006-04-09 Mats Bengtsson <mabe@s3.kth.se>
4531 * Documentation/user/advanced-notation.itely (Polymetric
4532 notation): Update the example to use the "+" symbol and add link
4533 to input/test/compound-time.ly.
4535 2006-04-08 Graham Percival <gpermus@gmail.com>
4537 * scm/define-grob-properties.scm: clarify docs for #'direction.
4539 * scm/define-context-properties.scm: update old \property override.
4541 * Documentation/user/ advanced-notation, global, lilypond-book:
4542 more minor doc updates.
4544 2006-04-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4546 * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4548 * scm/backend-library.scm (search-gs): oops.
4550 2006-04-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4552 * scripts/lilypond-book.py (output): use base, not filename for href.
4554 * scm/backend-library.scm: only look for gs.
4556 * scripts/lilypond-book.py (output): fix printfilename.
4558 * lily/parser.yy (music_function_musicless_prefix): fold together
4559 definitions of signature (SCM*) (Music|post_event|chord_body_element)
4561 * lily/slur.cc (print): only set font-size if not set yet.
4563 * lily/slur-configuration.cc (add_score): improved layout of debug
4566 2006-04-05 David Feuer <David.Feuer@gmail.com>
4568 * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4569 (draw_circle): Hopefully fixed regression.
4570 Improved documentation for several procedures.
4572 2006-03-04 Werner Lemberg <wl@gnu.org>
4574 * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4576 2006-04-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4578 * scripts/musicxml2ly.py (bindir): add dynamic
4581 2006-04-04 Graham Percival <gpermus@gmail.com>
4583 * Documentation/user/ basic-notation, advanced-notation, putting,
4584 instrument-notation, invoking, lilypond, THANKS: another ream of small
4585 fixes from the Doc Helpers.
4587 2006-04-03 David Feuer <David.Feuer@gmail.com>
4589 * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4591 * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4593 * Cleaned up interfaces between PostScript and Scheme, and moved
4594 computations from PostScript to Scheme:
4596 * music-drawing-routines.ps
4597 (*SF, stroke_and_fill): new procedures. Replaced stroke and fill
4598 with stroke_and_fill throughout.
4599 (euclidean_length, print_letter, draw_box): Deleted unused
4600 procedures. If someone needs draw_box, implement it using
4601 draw_round_box; don't duplicate code.
4602 (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4603 Refactored/cleaned up interfaces.
4606 * output-ps.scm: reordered arguments to PostScript functions to
4607 match new interfaces
4608 (glyph-string): Rewrote glyph-string.
4609 (grob-cause): Replaced string-append with format.
4610 (repeat-slash): Rewrote to do computation here.
4611 (round-filled-box): Rewrote to do computation here.
4613 2006-04-04 Erlend Aasland <erlenda@gmail.com>
4615 * stepmake/stepmake/generic-targets.make: add cvs-clean target
4617 * stepmake/stepmake/toplevel- targets.make: print help info about
4620 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4622 * input/regression/hairpin-circled.ly: new file
4624 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4626 * lily/hairpin.cc (print): add support for circled tip
4628 * scm/define-grob-properties.scm: add circled-tip parameter
4630 * scm/define-grobs.scm: init circled-tip to false
4632 2006-04-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4634 * scm/music-functions.scm (quote-substitute): set
4637 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4639 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4642 * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4644 * scm/output-ps.scm (glyph-string): revert cid selectfont.
4646 2006-03-31 David Feuer <david.feuer@gmail.com>
4648 * scm/framework-ps.scm:
4650 * scm/output-ps.scm: glyph-string now produces smaller, more
4651 readable, and probably faster PostScript. Several findfont
4652 scalefont setfont instances changed to selectfont
4653 Hacked-up string-appends changed to formats.
4655 * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4657 2006-03-30 Graham Percival <gpermus@gmail.com>
4659 * scm/lily-library.scm: make "no version" warning message more polite.
4661 * lily/music.cc: add double quotes to failed octave check.
4663 * Documentation/user/ advanced-notation, changing-defaults,
4664 instrument-notation, invoking, music-glossary: whole bunch of minor
4667 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4669 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4670 $(buildscriptdir) iso. depth.
4672 * VERSION (PACKAGE_NAME): release 2.9.1
4674 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4676 * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4678 * VERSION (PATCH_LEVEL): bump version number.
4680 * flower/include/guile-compatibility.hh (scm_from_uint32): add
4683 * lily/pango-font.cc (pango_item_string_stencil): use
4686 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4687 $(outdir)/emmentaler-%.svg): remove canary.
4689 * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4690 glyphnames if we have a ttf font.
4692 2006-03-30 Mats Bengtsson <mabe@s3.kth.se>
4694 * Documentation/user/advanced-notation.itely (Font selection):
4695 Corrected reference to the font-family-override.ly example.
4697 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4699 * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4700 stem-tremolo object in the stem (or else the stem might not be
4703 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4705 * lily/ttf.cc (print_trailer): only print existing glyphs.
4707 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4709 * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4710 position the tremolo based on the position of the notehead.
4712 * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4713 notes and update the texidoc line with the new positioning rules.
4715 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4717 * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4719 * scripts/lilypond-book.py (Module): set default for linewidth if
4722 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4724 * VERSION (PACKAGE_NAME): release 2.9.0.
4726 * input/regression/stem-tremolo-position.ly: new file.
4728 * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4730 2006-03-28 Joe Neeman <joeneeman@gmail.com>
4732 * lily/stem-tremolo.cc (print): position
4733 the tremolo depending only on the end of the stem
4734 and not on the notehead
4735 (raw_stencil): center, on the middle staff line, the
4736 flag that is closest to the end of the stem (previously
4738 (calc_width): add this callback to shorten a tremolo when
4739 it is beamed or it is stemup with a flag
4740 (style): add this callback to make a tremolo rectangular when
4741 it is beamed or it is stemup with a flag
4742 (rotated_box): this is like Lookup::beam but makes a rotated
4743 rectangle instead of a parallelogram
4745 * lily/stem.cc (calc_stem_info): make sure the stem
4746 is long enough to fit the tremolo
4747 (calc-length): reduce the length of tremolo stems since the
4748 tremolo code is now capable of better positioning
4750 * scm/define-grobs.scm: make calc_width the default beam-width
4751 callback for stem-tremolo and add the style callback
4753 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4755 * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4758 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4760 * lily/ttf.cc (make_index_to_charcode_map): restore old
4763 2006-03-28 Werner Lemberg <wl@gnu.org>
4765 * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4767 2006-03-28 Graham Percival <gpermus@gmail.com>
4769 * THANKS: update for 2.9, add section for Documentation helpers.
4771 * Documentation/topdocs/NEWS.tely: compile fix.
4773 * Documentation/user/ basic-notation, global, advanced-notation,
4774 examples.itely: minor fixes from mailist.
4776 2006-03-28 Han-Wen Nienhuys <hanwen@lilypond.org>
4778 * mf/feta-bolletjes.mf: match width of solfa notes with normal
4781 * lily/ttf.cc (print_trailer): use it.
4783 * lily/pango-font.cc (get_unicode_name): new function.
4785 * lily/ttf.cc (make_index_to_charcode_map): move function from
4787 (print_trailer): substitute uniXXXX name if applicable.
4789 * lily/pango-font.cc (get_index_to_charcode_map): new function.
4790 (pango_item_string_stencil): use it to generate uniXXXX names.
4792 * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4793 note heads, for uniform widths in shape note output.
4794 (overdone_heads): hmm. remove them again.
4796 * scripts/lilypond-book.py (output): add links to filenames.
4798 * Documentation/topdocs/INSTALL.texi (Top): update versions.
4800 * lily/note-collision.cc (get_clash_groups): only consider when
4801 Note_column::dir <> CENTER.
4803 * scripts/lilypond-book.py (get_option_parser): init output_name
4806 2006-03-24 Graham Percival <gpermus@gmail.com>
4808 * Documentation/topdocs/NEWS.tely: add @end itemize
4810 * Documentation/user/ global, advanced-notation: minor
4813 2006-03-23 Graham Percival <gpermus@gmail.com>
4815 * Documentation/user/ lilypond.tely, music-glossary,
4816 preface: housekeeping; 2005->2006, remove "notes for 2.6"
4818 2006-03-23 Han-Wen Nienhuys <hanwen@lilypond.org>
4820 * mf/GNUmakefile: don't install .enc files.
4822 * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
4824 * VERSION (PATCH_LEVEL): bump to 2.9.0
4826 2006-03-22 Graham Percival <gpermus@gmail.com>
4828 * Documentation/user/advanced-notation.itely: minor fixes
4831 2006-03-22 Han-Wen Nienhuys <hanwen@lilypond.org>
4833 * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
4835 * branch lilypond_2_8
4837 2006-03-22 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4839 * scripts/lilypond-book.py (samefile): new function, for windoze
4842 2006-03-21 Graham Percival <gpermus@gmail.com>
4844 * ly/engraver-init.ly: add info about StaffGroup.
4846 2006-03-21 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4848 * input/regression/stem-direction-context.ly: idem.
4850 * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
4854 * input/regression/page-layout-twopass.ly: comment out \markup so
4857 * lily/instrument-name-engraver.cc (finalize): add to instrument
4858 name global System. This also fixes chopped instrument names, but
4859 doesn't crash when there are slurs/beams.
4861 * lily/slur-configuration.cc (add_score): disallow negative slur
4864 2006-03-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
4866 * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
4868 * lily/instrument-name-engraver.cc (process_music): kludge: add
4869 InstrumentName spanner to axis group of left bound. Fixes chopped
4870 off instrument names in EPS images.
4872 * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
4874 * scripts/abc2ly.py (option_parser): update to 2.7.40
4876 2006-03-20 Graham Percival <gpermus@gmail.com>
4878 * THANKS: move small doc contributors to SUGGESTIONS.
4880 * Documentation/user/ basic-notation, advanced-notation,
4881 global: small changes from mailist.
4883 2006-03-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
4885 * Documentation/user/advanced-notation.itely (Text marks): update
4886 for new rehearsalMarkAlignSymbol convention.
4888 * VERSION (PATCH_LEVEL): bump version.
4890 * input/test/instrument-name-align.ly: new file.
4892 * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
4894 * input/test/instrument-name-align.ly: new file. Document how to
4895 align instrument names.
4897 * lily/mark-engraver.cc: remove properties.
4899 * scm/define-context-properties.scm
4900 (all-user-translation-properties): remove align symbol properties
4901 for barnumber/reh. mark.
4903 * lily/break-align-interface.cc (self_align_callback): new
4904 interface, new function. Look at complete alignment. This handles
4905 tunable break alignments in case break-align-symbols are missing.
4907 * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
4909 * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
4911 * python/convertrules.py (conv): mark/bar number alignment rule.
4913 * lily/break-align-interface.cc (calc_positioning_done): also
4914 store offset from last visible break-alignment to its
4915 neighbor. This makes alignment on non-visible objects more reliable.
4917 * po/lilypond.pot (Module): ran po-replace.
4919 * input/regression/tie-single-manual.ly (Module): new file.
4921 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
4922 look at has_manual_position_.
4923 (from_ties): set has_manual_position_ if tie has staff-position set.
4925 * lily/tuplet-bracket.cc (calc_positions): idem.
4927 * lily/tuplet-number.cc (print): don't print tupletnumber if it
4930 2006-03-19 Nicolas Sceaux <nicolas.sceaux@free.fr>
4932 * scm/define-markup-commands.scm (smallCaps): new markup command
4933 for turning a text to small caps using smaller font size and upper
4936 2006-03-17 Graham Percival <gpermus@gmail.com>
4938 * Documentation/user/ examples, instrument-notation,
4939 advnaced-notation: minor fixes from mailist.
4941 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
4943 * Documentation/user/tutorial.itely (First steps): change example
4946 2006-03-17 Graham Percival <gpermus@gmail.com>
4948 * Documentation/user/ examples, advanced: minor changes from mailist.
4950 * THANKS: add Geoff Horton, for documentation stuff.
4952 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
4954 * python/lilylib.py (system): revert have_select kludge.
4956 * Documentation/user/tutorial.itely (Commenting input files):
4957 update version numbers in doc.
4959 * scm/define-grob-interfaces.scm (multi-measure-interface): add
4960 bound-padding to multi-measure-interface
4962 2006-03-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
4964 * input/test/engraver-example.ily: update version number.
4966 * VERSION (PACKAGE_NAME): release 2.7.39
4968 * lily/note-spacing.cc (get_spacing): heighten threshold where
4969 accidentals/arpeggios influence previous spacing fully.
4971 * lily/rest.cc (y_offset_callback): only use direction if
4972 staff-position wasn't set before.
4974 * lily/bar-number-engraver.cc: add support for
4975 barNumberAlignSymbol.
4976 add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
4978 * lily/pointer-group-interface.cc (set_ordered): new function.
4979 (add_unordered_grob): new function.
4981 * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
4982 to ordered, unless the opposite has been proved. This fixes
4983 random reordering of large object groups across linebreaks,
4986 * lily/main.cc (do_chroot_jail): printf format fix.
4988 * lily/tie-formatting-problem.cc (generate_configuration):
4989 multiply y-shift for dot with direction.
4991 * scm/define-markup-commands.scm (note-by-number): put (magstep
4992 size) in y-attach too.
4994 * Documentation/topdocs/NEWS.tely (Top): show override.
4996 * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
4997 direction for stems.
4999 2006-03-15 Graham Percival <gpermus@gmail.com>
5001 * Documentation/user/ changing-defaults, global: minor
5004 2006-03-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5006 * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5008 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5009 breakable items after uniformly stretched notes.
5011 * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5012 outline with outer edge of note heads. This prevents infinity
5013 problems with tied whole notes.
5015 * scripts/lilypond-book.py (do_file): use os.popen
5017 * python/convertrules.py (conv): add rule for Stem #'beamed-*
5019 2006-03-14 Erik Sandberg <mandolaerik@gmail.com>
5021 * Documentation/user/invoking.itely: Add ragged-right to bug report
5024 2006-03-14 Graham Percival <gpermus@gmail.com>
5026 * Documentation/user/global.itely: small fix from mailist.
5028 2006-03-14 Mats Bengtsson <mabe@s3.kth.se>
5030 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5031 file descriptor returned by tempfile.mkstemp() when writing
5032 to tmpfile and closing it. Solves problem with unlink(tmpfile)
5035 2006-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
5037 * po/fi.po: newline bugfix.
5039 2006-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
5041 * scm/paper.scm (paper-alist): Rounding fixes.
5043 2006-03-13 Graham Percival <gpermus@gmail.com>
5045 * Documentation/user/ changing-defaults, instrument-notation,
5046 tutorial: small fixes from mailist, mostly from Mats. Thanks!
5048 2006-03-13 Heikki Junes <hjunes@cc.hut.fi>
5052 2006-03-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5054 * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5057 * python/lilylib.py (print_environment): move ps_page_count to
5060 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5062 * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5064 * scm/framework-ps.scm (embed-document): new function. Use to
5067 * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5069 2006-03-12 Mats Bengtsson <mabe@s3.kth.se>
5071 * Documentation/user/instrument-notation.itely (Setting simple
5072 songs): Added \book{...} around the full example, so the separate
5073 markups are included in the printed example.
5075 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5077 * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5080 * python/lilylib.py (system): rewrite system() using
5081 subprocess. Remove >& redirection trickery.
5083 2006-03-11 Graham Percival <gpermus@gmail.com>
5085 * Documentation/user/ changing-defaults, global, scheme-tutorial,
5086 notation-appendices.itely: minor fixes from mailist.
5088 2006-03-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5090 * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5091 unsplit man also needs images.
5093 * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5095 * VERSION (PACKAGE_NAME): 2.7.38 released.
5097 2006-03-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5099 * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5102 2006-03-08 Johannes Schindelin <Johannes.Schindelin@gmx.de>
5104 * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5105 respects the Score.skipTypesetting property.
5107 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5109 * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5110 Prolog. No %%EOF after CFF file.
5112 2006-03-08 Joe Neeman <joeneeman@gmail.com>
5114 * lily/constrained-breaking.cc (get_max_systems): used to return a
5116 (combine_demerits): use pointers to reduce copying data
5117 (calc_subproblem): idem
5118 (get_page_penalty): add page turn penalties
5120 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5122 * Documentation/user/invoking.itely (Invoking lilypond): better
5123 explanation of -e usage.
5125 * lily/main.cc (main_with_guile): don't append to
5126 init_scheme_code_string
5128 * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5130 * Documentation/user/invoking.itely: add note about MacOS X scripts.
5132 * scripts/convert-ly.py (do_options): don't print help for
5135 * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5136 @code and @example. Update from texinfo.tex from CVS.
5138 2006-03-08 Graham Percival <gpermus@gmail.com>
5140 * Documentation/user/scheme-tutorial.itely: clarifies distances
5141 measured in staff-spaces.
5143 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5145 * lily/slur.cc (outside_slur_callback): only calculate offsets if
5146 consider[k] is true.
5148 * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5150 * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5151 consider columns that have originals. Unifies spacing for mm
5152 rests around line breaks.
5154 * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5155 (set_text_rods): idem.
5156 (calculate_spacing_rods): new function: share code between
5157 set_text_rods and set_spacing_rods.
5158 (set_text_rods): take extents of bounds into account.
5160 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5162 * Documentation/user/basic-notation.itely (Writing music in
5163 parallel): don't use relative.
5165 2006-03-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
5167 * ly/music-functions-init.ly (Module): add shiftDurations
5169 * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5171 * scm/paper.scm (paper-alist): no decimals for Ax paper sizes.
5173 * ly/engraver-init.ly: init vocalName to nil.
5175 2006-03-05 Erik Sandberg <mandolaerik@gmail.com>
5177 * scm/music-functions.scm (music->make-music): bugfix,
5178 KeyChangeEvents are now handled correctly.
5180 * scripts/lilypond-book.py: Add --debug option.
5182 2006-03-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
5184 * python/lilylib.py: add tempfile.
5186 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5188 * VERSION (PACKAGE_NAME): release 2.7.37
5190 * python/lilylib.py (ps_page_count): remove make_ps_images().
5191 (ps_page_count): remove mkdir_p
5192 (system): remove cleanup_temp.
5193 (exit): remove lilypond_version_(check)
5194 (error_log): remove pseudo_filter_p
5199 * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5202 * lily/accidental-engraver.cc (make_standard_accidental): only add
5203 support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5205 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5206 $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5207 Make incompatibilities.
5209 * scm/output-ps.scm (grob-cause): replace backslashes by /
5210 (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5212 2006-03-02 Jan Nieuwenhuizen <janneke@gnu.org>
5214 * cygwin/GNUmakefile: Install fixes.
5216 * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5218 * lily/note-head.cc (head::get_balltype): Compile fix.
5220 * flower/file-name.cc (dos_to_posix): Flower string fix.
5222 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5224 * python/lilylib.py: pychecker cleanups.
5226 * scripts/lilypond-book.py
5227 (Lilypond_snippet.output_print_filename): pychecker cleanups
5229 * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5231 * python/lilylib.py (underscore): remove identify() , warranty()
5233 * ps/music-drawing-routines.ps: change Border routine for GSView
5236 * lily/stem.cc (height): use quantize-positions. This triggers
5237 set_stem_lengths, so scripts on beamed stems are handled correctly.
5239 * lily/side-position-interface.cc (aligned_side): check if edges
5240 of script are inside staff. Fixes accent of edge of the staff.
5242 * input/regression/staccato-pos.ly: more examples.
5244 * stepmake/aclocal.m4 (depth): fix bashism.
5246 * lily/lyric-combine-music-iterator.cc: move from
5247 new-lyric-combine-iterator.cc
5248 (process): add pending_grace_lyric_ member to delay lyrics on
5251 * lily/system-start-text.cc (print): suicide if we don't have any
5252 elements. Fixes hara kiri'd instrument names.
5254 * scripts/mup2ly.py (Module): remove.
5256 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5258 * Documentation/user/global.itely (A single music expression):
5259 close @lilypond properly
5261 * lily/volta-bracket.cc (modify_edge_height): change from
5262 after_line_breaking_callback. Suicide last bracket if appropriate.
5264 * python/lilylib.py: strip getopt support
5266 * scripts/etf2ly.py (do_options): use optparse
5268 * scripts/midi2ly.py: optparse, strip lilylib copy.
5270 * scripts/abc2ly.py (voices): use optparse.
5272 * stepmake/stepmake/generic-vars.make: new function absdir.
5274 * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5276 * scripts/lilypond-book.py (find_file): use global_options for
5279 * scm/ps-to-png.scm (ps-page-count): prevent null characters
5282 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5284 * python/lilylib.py (get_global_option): ughness for extracting
5285 global options from lilylib.
5286 (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5288 * scripts/lilypond-book.py (get_option_parser): use optparse for
5289 option handling. Put options in global_options variable.
5291 2006-02-28 Heikki Junes <hjunes@cc.hut.fi>
5293 * Documentation/index.html.in: clarify.
5295 2006-02-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
5297 * scm/layout-page-layout.scm (write-page-breaks): add a
5298 music-system-heights property to the page layout output.
5300 * scm/page.scm (make-page-stencil): take footer into account when
5301 computing the 'space-left page property
5302 (annotate-space-left): take footer into account when annonating
5305 2006-02-28 Graham Percival <gpermus@gmail.com>
5307 * Documentation/user/ advanced-notation, global: more (final)
5308 docs for music expressions, removed special fermatas.
5310 2006-02-27 Graham Percival <gpermus@gmail.com>
5312 * Documentation/user/ basic-notation, global: minor changes
5315 2006-02-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
5317 * scm/framework-ps.scm:
5318 * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5319 layer for inf? and nan? from framework-ps to lily-library.
5321 2006-02-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
5323 * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5324 $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5326 * buildscripts/substitute-encoding.py (Module): remove file.
5328 * mf/GNUmakefile: more PFA strippage.
5330 * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5332 * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5335 * scm/framework-ps.scm: remove font name munging.
5337 * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5339 2006-02-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
5341 * scm/markup.scm (define-markup-command): change
5342 def-markup-command to define-markup-command
5344 * scm/music-functions.scm (define-music-function): change
5345 def-music-function to define-music-function.
5347 * python/convertrules.py (conv): rules for def-music-function
5348 and def-markup-commands
5350 * Documentation/user/programming-interface.itely,
5351 input/no-notation/display-lily-tests.ly,
5352 input/regression/lily-in-scheme.ly,
5353 input/regression/markup-user.ly,
5354 input/regression/music-function.ly, input/regression/tie-chord.ly,
5355 scm/fret-diagrams.scm, ly/music-functions-init.ly,
5356 ly/gregorian-init.ly: use new macro names (define-music-function,
5357 define-markup-command).
5359 2006-02-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
5361 * scripts/lilypond-book.py (main): write Makefile dependencies file.
5362 (output): add comments to lp-book latex output.
5364 * GNUmakefile.in (footifymail): use gmane address for webpage bug
5367 2006-02-23 Graham Percival <gpermus@gmail.com>
5369 * Documentation/user/ tutorial, global: minor changes.
5371 2006-02-23 Nicolas Sceaux <nicolas.sceaux@free.fr>
5373 * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5374 blocks (for make 3.80)
5376 * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5377 \notemode so that user should not have to explicitely type it.
5379 * scm/define-music-display-methods.scm: various
5380 fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5383 * input/no-notation/display-lily-tests.ly: new tests for
5384 \applyOutput and \applyContext
5386 2006-02-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
5388 * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5389 changed it slightly so that the number of systems returned by
5390 solve () will be the same as the last value passed to resize
5391 (). I've also added more documentation, removed casts, fixed style
5392 problems and put in some recovery if constraints aren't satisfied."
5394 2006-02-23 Jan Nieuwenhuizen <janneke@gnu.org>
5396 * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5397 for emacs < 22 compatibility.
5398 (count-rexp): Use it.
5399 (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5400 substring juggling (Milan Zamazal).
5402 2006-02-23 Graham Percival <gpermus@gmail.com>
5404 * Documentation/user/ basic-notation, advanced-notation,
5405 global.itely, invoking.itely, tutorial,itely:
5406 minor fixes from mailist.
5408 * scm/define-markup-commands.scm: improve docs of \filled-box.
5410 2006-02-23 Heikki Junes <hjunes@cc.hut.fi>
5412 * Documentation/index.html.in: changes concern the previous release.
5414 * input/regression/+.ly: cultivate typographical terminology.
5416 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5418 * scm/define-grob-interfaces.scm (parentheses-interface): add
5419 padding to parentheses-interface.
5421 * Documentation/user/GNUmakefile: remove $(CROSS) support from
5422 Documentation/user/GNUmakefile. Use --disable-documentation for that.
5424 * VERSION (PATCH_LEVEL): release 2.7.36
5426 * lily/slur.cc: add avoid-slur (ugh.)
5428 * lily/slur-configuration.cc (fit_factor): oops, skip point if
5429 intersection gets smaller. This fixes slurs over extreme points.
5431 * lily/melody-engraver.cc (stop_translation_timestep): ignore
5432 stems with neutral-direction set.
5434 * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5436 * lily/open-type-font.cc (load_table): format error.
5438 * lily/change-iterator.cc (process): format fix.
5440 * flower/include/international.hh (_f): idem.
5442 * flower/include/std-string.hh: add format printf attribute.
5444 * scm/define-grobs.scm (all-grob-descriptions): height of all
5445 PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5447 * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5450 * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5452 2006-02-22 Erik Sandberg <mandolaerik@gmail.com>
5454 * input/regression/: upgraded syntax for some files.
5456 * THANKS: Add bughunters.
5458 2006-02-22 Graham Percival <gpermus@gmail.com>
5460 * Documentation/user/ invoking.itely, advanced-notation.itely,
5461 global.itely: long-awaited "let's make chapter 10 not suck"
5462 update. Rearrange chapter 10; now called "global issues",
5463 addresses file structure, etc. Some info from other files
5464 moved into global.itely.
5466 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5468 * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5469 catch trill-span-event notes.
5471 * Documentation/user/examples.itely (Ancient notation templates): typo.
5474 * scripts/lilypond-book.py (main): scrap invokes_lilypond().
5476 * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5478 * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5480 * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5482 * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5483 froum Laissez_vibrer_engraver.
5485 * ly/declarations-init.ly (repeatTie): add \repeatTie
5487 * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5489 * scm/define-grob-properties.scm (all-user-grob-properties): add
5490 head-direction property.
5492 * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5493 from_lv_ties. Take head direction argument.
5495 * lily/semi-tie-column.cc: rename from
5496 laissez-vibrer-tie-column.cc. Rename class too.
5498 * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5501 * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5503 * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5505 (find_breaks): idem.
5507 2006-02-21 Graham Percival <gpermus@gmail.com>
5509 * Documentation/user/advanced-notation.itely: fixed make-moment]
5512 * Documentation/user/basic-notation.itely: more clarification to
5515 2006-02-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
5517 * lily/include/constrained-breaking.hh (class
5518 Constrained_breaking): new file.
5520 * lily/constrained-breaking.cc (resize): new file.
5522 * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5524 * Documentation/user/advanced-notation.itely (Clusters): insert
5527 * lily/tie-column.cc (calc_positioning_done): support for
5530 * lily/tie-formatting-problem.cc
5531 (generate_extremal_tie_variations): factor out.
5532 (score_ties_configuration): annotate all tie
5533 (print_ties_configuration): new routine.
5534 (generate_configuration): nudge extremal ties outside of the head
5536 (score_ties_configuration): oops. convert to staff-space before
5537 determining position symmetry.
5539 2006-02-20 Graham Percival <gpermus@gmail.com>
5541 * Documentation/user/*-notation.itely: misc minor editing,
5542 shifting doc sections around.
5544 * Documentation/user/*-notation-itely, global.itely,
5545 changing-defaults.itely: added new stuff from NEWS.
5547 2006-02-20 Heikki Junes <hjunes@cc.hut.fi>
5551 2006-02-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5553 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5554 lilypond --verbose for lp-book.
5556 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5557 $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5559 * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5560 $(buildscript-dir) iso. absolute depth.
5562 * buildscripts/genicon.py (dir): thinko.
5564 * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5566 2006-02-19 Erik Sandberg <mandolaerik@gmail.com>
5568 * scm/output-lib.scm: swap darkcyan/darkyellow
5570 * THANKS: Add bughunters.
5572 2006-02-19 Graham Percival <gpermus@gmail.com>
5574 * Documentation/user/programming-interfaces.itely: fixed example.
5576 * Documentation/user/instrument-notation.itely: fix @{ @}.
5578 * scm/script.scm: add avoid-slur for \open.
5580 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5582 * lily/tie-formatting-problem.cc (score_configuration): use
5583 sliding score for min-length.
5585 * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5586 spaghetti for icons.
5588 * buildscripts/genicon.py (program_name): new file.
5590 * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5592 (generate_configuration): for small ties, also look for collisions
5593 at Y + DIR*h + DELTA_Y.
5594 (get_variations): consider variation for dot positions too.
5596 * lily/side-position-interface.cc (aligned_side): take abs for
5597 quantized rounded position. Fixes tenuto below staff.
5599 * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5600 markers when necessary.
5602 * lily/program-option.cc (internal_set_option): add
5603 strict_infinity_checking option.
5605 * scm/output-lib.scm (cyan): swap yellow and cyan.
5607 2006-02-19 Graham Percival <gpermus@gmail.com>
5609 * darwin.patch: trivial linenumber update.
5611 * Documentation/user/ {various}: `\context foo = named' changed
5612 to `\new foo = "name"' in docs.
5614 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5616 * scm/stencil.scm (annotate-y-interval): use it.
5618 * scm/lily-library.scm (interval-sane?): new function.
5620 * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5623 * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5626 * flower/include/std-vector.hh (iterof): add iterof macro.
5628 * lily/enclosing-bracket.cc (width): new function.
5630 * lily/align-interface.cc (align_elements_to_extents): reinstate
5633 2006-02-18 Heikki Junes <hjunes@cc.hut.fi>
5635 * Documentation/index.html.in: fix spelling: thankyous.
5637 2006-02-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
5639 * lily/lyric-hyphen.cc: typo.
5641 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5643 * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5644 $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5647 * VERSION: release 2.7.35
5649 * lily/beam.cc (get_default_dir): oops. Take abs () for
5651 (get_default_dir): use extreme position criterion only in absence
5652 of forced stem directions.
5654 * VERSION (PATCH_LEVEL): bump VERSION.
5656 * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5657 dependencies. Necessary for -jX builds.
5659 2006-02-17 Jan Nieuwenhuizen <janneke@gnu.org>
5661 * lily/relocate.cc (setup_paths): Yet another const fix.
5663 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5665 * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5667 * lily/relocate.cc (setup_paths): oops.
5669 2006-02-17 Heikki Junes <hjunes@cc.hut.fi>
5671 * Documentation/index.html.in: order links: html before PDF.
5673 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5675 * lily/tie-column-format.cc (Module): remove.
5677 * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5679 * lily/text-spanner.cc (print): idem.
5681 * lily/dynamic-text-spanner.cc (print): only print line if longer
5684 * lily/auto-change-iterator.cc (change_to): formatting.
5686 * lily/beam.cc (get_default_dir): take extreme note head as input
5689 * lily/tie.cc (get_default_dir): only look directions for visible
5692 * lily/side-position-interface.cc (aligned_side): oops. Don't
5693 mutiply with direction. This fixes quantized (staccato, tenuto)
5694 scripts below notes.
5696 * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5697 direction. Fixes c-lyrics-center-align.ly
5699 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5701 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5704 * lily/std-string.cc:
5705 * lily/include/std-vector.hh (split_string): Move and rename from
5706 lily/include/misc.hh, lily/misc.cc. Update callers.
5708 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5710 * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5712 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5714 * flower/test-file.cc: New file.
5716 * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5719 * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5721 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5723 * flower/include/file-storage.hh: remove file.
5725 * lily/include/midi-item.hh (class Midi_track): idem.
5727 * lily/include/source.hh (class Sources): idem.
5729 * lily/include/performance.hh (class Performance): use vector
5732 * flower/include/cons.hh (class Cons): remove file.
5734 * flower/include/flower-proto.hh: remove template cruft.
5736 * lily/include/font-metric.hh: use size_t not vsize for indices.
5738 * flower/include/flower-proto.hh (Module): remove std-vector.hh
5741 * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5743 * lily/include/paper-book.hh (class Paper_book):
5744 make get_system_specs() public.
5746 * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5747 the force=10000 case if we don't have a current-best.
5749 * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5752 * flower/include/flower-proto.hh: remove outdated templates.
5754 * scm/page.scm: use annotate-spacing
5756 2006-02-15 Graham Percival <gpermus@gmail.com>
5758 * scm/translation-functions.scm: circle patch from Erlend, thanks!
5760 * THANKS: moved Erlend Aasland to contributors.
5762 2006-02-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5764 * config.hh.in: remove HAVE_PANGO_16
5766 * lily/tuplet-bracket.cc (calc_positions): multiply with
5767 staff-space for beam case. This fixes tuplets+beams on scaled
5770 * config.hh.in: remove all Kpathsea related defines.
5772 * lily/dot-column.cc (side_position): reach stem via dots->
5773 head->stem. Inspect all stems for dot collisions.
5775 * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5778 * lily/bar-number-engraver.cc (process_music): document function
5781 * lily/score.cc (default_rendering): add pscore, not systems
5784 * lily/paper-book.cc (get_system_specs): separate generation of
5787 * flower/include/std-vector.hh: don't include config.hh
5789 2006-02-15 Jan Nieuwenhuizen <janneke@gnu.org>
5791 * flower/include/std-vector.hh: Better wrapper compatibility with
5794 * flower/include/flower-proto.hh: Remove cheap forward declaration
5797 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5799 2006-02-14 Graham Percival <gpermus@gmail.com>
5801 * Documentation/user/invoking.itely: add warning about command line.
5803 2006-02-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
5805 * lily/include/lily-proto.hh: add Prob, rm Page.
5807 * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5809 * VERSION: release 2.7.34
5811 * lily/relocate.cc (framework_relocation): show canary if
5812 GHOSTSCRIPT_VERSION undefined.
5814 * GNUmakefile.in: remove $(VERSION) symlink.
5816 * lily/relocate.cc (setup_paths): add +
5818 2006-02-13 Heikki Junes <hjunes@cc.hut.fi>
5820 * Documentation/index.html.in: specify sizes for all big HTML pages.
5822 2006-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5824 * config.hh.in: remove @FRAMEWORKDIR@
5826 * lily/system-start-text.cc (get_stencil): new file: separate out
5827 system-start-delimiter text support.
5829 * input/**ly: replace \context with \new where appropriate.
5833 * lily/slur-scoring.cc (get_base_attachments): use
5834 robust_relative_extent. This fixes problems with empty paper-columns.
5836 2006-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5838 * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
5840 * scm/define-music-properties.scm (all-music-properties):
5841 create-new property.
5843 * lily/context-specced-music-iterator.cc (construct_children):
5844 inspect 'create-new property iso. magical $uniqueContextId context
5847 * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
5849 * lily/context-key-manager.cc (Module): new file. Encapsulate
5850 object key generation.
5852 * lily/include/context-key-manager.hh (Module): new file.
5854 2006-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5856 * scm/define-grobs.scm (all-grob-descriptions): center instrument
5859 * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
5861 (reloc_b): excise --enable-framework-dir
5863 * lily/relocate.cc (framework_relocation): use getenv
5864 LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
5866 2006-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
5868 * flower/include/std-string.hh:
5869 * flower/include/std-vector.hh: Finish std:: conversion; move
5870 flower extensions from std:: namespace. Update users.
5872 * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
5873 their expansion to vector<*>. Update users.
5875 2006-02-10 Graham Percival <gpermus@gmail.com>
5877 * Documentation/user/invoking.itely: add example to File structure.
5879 * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
5880 examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
5882 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5884 * ly/paper-defaults.ly: typo.
5886 * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
5887 set_parent() for parentheses. This will make it show up in bbox
5890 * scm/output-lib.scm (parentheses-item::print): rewrite, using
5891 ly:grob-common* functions.
5893 * lily/grob-scheme.cc (LY_DEFINE):
5894 ly:grob-common-refpoint-of-array: new function
5895 ly:grob-common-refpoint: new function
5896 ly:grob-relative-coordinate: new function
5898 * lily/instrument-name-engraver.cc (process_music): use
5899 Text_interface::is_markup(). This fixes \markup on instrument names.
5901 * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
5904 * lily/slur.cc (print): idem.
5906 * lily/tie.cc: add line-thickness for ties.
5908 2006-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
5910 * scm/output-svg.scm: Document diversion from GNU coding standards
5911 as a workaround for a bug in Microsoft Internet Explorer.
5913 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5915 * lily/instrument-name-engraver.cc (process_music): use
5916 is_markup() iso. is_string()
5918 * Documentation/user/changing-defaults.itely (Module): add menu entry.
5920 * lily/percent-repeat-engraver.cc (process_music): only look at
5921 main_part_ for % repeats.
5923 * lily/stem-tremolo.cc (get_beam_translation): new function.
5924 (calc_slope): new function.
5925 (height): don't use real slope.
5927 2006-02-10 Jürgen Reuter <reuter@ipd.uka.de>
5929 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
5930 new connect-to-neighbor, control-points and staff-padding
5931 properties to make ligature brackets showing up again.
5933 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5935 * VERSION: release 2.7.33
5937 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
5940 * Documentation/user/changing-defaults.itely (Difficult tweaks):
5941 remove applyOutput example.
5942 (Objects connected to the input): document \tweak, \parenthesize
5944 * lily/relocate.cc (prefix_relocation): allow "current"
5945 iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
5946 changing VERSION in a lily tree less painful.
5948 * input/regression/parenthesize.ly: new file.
5950 * scm/output-lib.scm (parenthesize-element): new function.
5952 * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
5954 * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
5956 * lily/accidental-engraver.cc (make_standard_accidental): reroute
5957 cause: accidentals are caused by note heads, not note events.
5959 2006-02-08 Graham Percival <gpermus@gmail.com>
5961 * darwin.patch: small patch from Erlend, thanks!
5963 * Documentation/user/basic-notation.itely: add stem-neutral example.
5965 * Documentation/user/putting.itely: clarifications.
5967 2006-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
5969 * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
5970 note, add more guidelines to what should go into NEWS.
5972 * input/sakura-sakura.ly: document how to override font.
5974 * input/regression/font-family-override.ly: doc -dshow-available-fonts
5976 2006-02-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5978 * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
5980 2006-02-08 Jan Nieuwenhuizen <janneke@gnu.org>
5982 * scripts/convert-ly.py (lilypond_version_re_str): Move from
5983 convertrules. Add explicit grouping, needed for python2.2.
5985 2006-02-07 Jan Nieuwenhuizen <janneke@gnu.org>
5987 * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
5989 2006-02-07 Graham Percival <gpermus@gmail.com>
5991 * Documentation/user/global.itely: fix line-width in (text) docs.
5993 * Documentation/user/lilypond-book.itely: same.
5995 2006-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
5997 * VERSION (PACKAGE_NAME): release 2.7.32
5999 * Documentation/topdocs/NEWS.tely (Top): document new variable
6002 * flower/include/array.icc (Message): remove file.
6004 * flower/include/std-vector.hh: make sure vsize and VPOS are
6005 defined for binary_search_bounds().
6007 * flower/std-string.cc (std): add to_string(long unsigned).
6009 * configure.in (gui_b): excise std_string option.
6010 (gui_b): excise std_vector option.
6012 * flower/string.cc (Module): excise flower array & string
6014 * flower/include/std-string.hh: excise flower string.
6016 * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6018 * python/convertrules.py (lilypond_version_re_str): require
6019 only numbers and dots in \version string.
6021 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6023 * lily/system-start-delimiter.cc (print): allow style = text too.
6025 * lily/system-start-delimiter-engraver.cc
6026 (acknowledge_system_start_text): new function, also add add to
6027 support of system-start-text (instrument names). This fixes
6028 instrument names on piano staves.
6030 * lily/instrument-name-engraver.cc: rewrite. Use
6031 system-start-delimiter approach. This save memory and cpu.
6033 * scm/define-grobs.scm (all-grob-descriptions): remove
6034 instrument-name from break-alignment.
6036 * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6038 2006-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
6040 * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6043 * configure.in (std_vector): On by default.
6045 * lily/include/font-metric.hh:
6046 * lily/include/tfm-reader.hh:
6047 * lily/include/spanner.hh: Use unsigned for indices and sizes.
6050 * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6052 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6054 * VERSION (PACKAGE_NAME): 2.7.31
6056 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6057 EPS edge at 0, but take minimum with left-overshoot. This fixes
6058 cut off system start delims.
6060 * lily/instrument-name-engraver.cc (stop_translation_timestep):
6061 hack: add to axis group if not added yet. This fixes hara kiri'd
6064 * lily/hara-kiri-group-spanner.cc
6065 (force_hara_kiri_in_y_parent_callback): fix signatures.
6067 * lily/hairpin.cc (print): check next hairpin to see whether or
6068 not to be continuing.
6070 2006-02-04 Jan Nieuwenhuizen <janneke@gnu.org>
6072 * Remove trailing whitespace from makefiles.
6074 * flower/include/std-vector.hh: Add binary_search_bounds workaround
6077 * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft.
6079 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6081 * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6083 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6085 * configure.in: Use it.
6087 2006-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6089 * scm/music-functions.scm (pitch-of-note): new function.
6091 * ly/music-functions-init.ly: add \octave and \addquote
6093 * lily/parser.yy (music_function_chord_body): softcode \octave.
6094 (lilypond_header): softcode \addquote
6096 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6098 * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6099 array.hh, parray.hh at all. Getting ready to flip the
6102 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6104 * lily/source-file.cc (file::get_line): Help binary_search_bounds
6107 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6109 2006-02-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
6111 * flower/include/array.hh: typo.
6113 2006-02-02 Graham Percival <gpermus@gmail.com>
6115 * Documentation/user/advanced-notation.itely: doc "\#" in text.
6117 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6119 * flower/include/pqueue.hh: Derive from std::vector.
6121 * flower/include/parray.hh: Conform to std::vector interface.
6124 2006-02-02 Graham Percival <gpermus@gmail.com>
6126 * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6128 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6130 * flower/file-path.cc (is_file): remove if 0 section.
6132 * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6133 selecting afii61352.
6135 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6137 * flower/include/std-vector.hh (boundary): Oops, reverse.
6139 * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6140 remove superfluous `d'.
6142 * flower/include/std-vector.hh (boundary, top): Detach from class.
6143 Remove empty vector shell.
6145 * flower/include/array.hh (reverse, swap): Detach from class.
6148 * flower/include/std-vector.hh
6149 * flower/include/array.hh (concat): Globally change to insert ().
6151 * flower/include/std-vector.hh
6152 * flower/include/parray.hh
6153 * flower/include/array.hh (elem, elem_ref): Globally replace by
6156 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6158 * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6160 * python/convertrules.py (FatalConversionError.sub_cxx_id):
6161 anticipate on identifier substitutions.
6163 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6165 * flower/include/std-vector.hh (insert): Remove, replace by
6166 std::vector interface. Update callers.
6168 * flower/include/array.icc (insert): Change signature to
6169 match std::vector interface.
6171 * flower/include/array.icc (vector_sort): Bugfix.
6173 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6175 * lily/parser.yy (output_def_head_with_mode_switch): new
6176 production. Result: dashes and underscores may be used in the
6179 * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode.
6181 * python/convertrules.py (conv): oops. One slash too much.
6183 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6185 * flower/include/std-vector.hh (sort): Remove, replace by
6186 ::vector_sort. Update callers.
6188 * flower/include/std-vector.hh (slice): Remove. Update callers.
6191 * flower/test-std.cc (vector_sort): New test.
6193 2006-02-01 Graham Percival <gpermus@gmail.com>
6195 * Documentation/user/putting.itely: fixes from Erik.
6197 2006-02-01 Jan Nieuwenhuizen <janneke@gnu.org>
6199 * flower/test-std.cc: Add simple unit test for vector migration.
6201 * stepmake/stepmake/test*: Unit test support.
6203 * flower/include/std-vector.hh (del): Remove. Use erase (),
6206 * flower/include/array.hh (begin, end): Add.
6209 2006-02-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6211 * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6212 std::string not String.
6214 * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6217 * lily/prob.cc (Prob): copy type_ too.
6219 * lily/lily-guile.cc (mangle_cxx_identifier): new
6220 function. Class_bla::foo_bar_[px] ->
6221 ly:class-bla::foo-bar[?!]. Changes throughout
6223 2006-01-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6225 * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6227 * lily/beam.cc (calc_direction): take dir from visible stem in
6230 2006-01-31 Jan Nieuwenhuizen <janneke@gnu.org>
6232 * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6233 Fix -1, >=0 boundary checks for unsigned vsize.
6235 * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6236 loop for unsigned vsize.
6238 * configure.in (--enable-std-vector): New option.
6239 (--enable-std-string): On by default.
6241 * flower/include/std-vector.hh: New file. Enable switch to
6242 std::vector, update client code.
6244 2006-01-30 Graham Percival <gpermus@gmail.com>
6246 * scm/document-translation.scm: clarify "this context is also
6247 known as". Thanks, Werner!
6249 * Documentation/user/putting.itely: small fixes from Don Blaheta.
6251 * Documentation/user/invoking.itely: small fix from Don.
6253 2006-01-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6255 * scm/lily.scm (define-scheme-options): rename option
6256 preview-include-book-title to book-title-preview
6257 (define-scheme-options): move force-eps-font-include (from paper
6258 block) to eps-font-include -d option.
6260 * VERSION (PATCH_LEVEL): release 2.7.30
6262 * input/bach-schenker.ly (staffPiano): new file.
6264 * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6266 * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6269 * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6271 * ps/lilyponddefs.ps: remove start-system, stop-system,
6272 start-page fluff. This saves putting { } code on the stack, fixing
6273 stack overflows when including EPS files.
6275 2006-01-29 Graham Percival <gpermus@gmail.com>
6277 * Documentation/user/putting.itely: minor fixes (comments on -devel).
6279 2006-01-29 Nicolas Sceaux <nicolas.sceaux@free.fr>
6281 * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6283 2006-01-28 Graham Percival <gpermus@gmail.com>
6285 * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6287 2006-01-28 Jan Nieuwenhuizen <janneke@gnu.org>
6289 * input/mutopia/claop.py: Update.
6291 2006-01-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6293 * input/regression/completion-heads.ly (texidoc): fix.
6295 * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6297 * lily/tie-formatting-problem.cc
6298 (set_ties_config_standard_directions): use abs iso fabs for ints.
6300 * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6302 * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6303 little less than noteheight, to prevent overlaps in chords.
6305 * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6306 head, and fudge stem-attachment.
6308 * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6310 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6312 2006-01-27 Jan Nieuwenhuizen <janneke@gnu.org>
6314 * lily/main.cc (main): Debugging aid: catch exceptions.
6316 * flower/std-string.cc (to_string): Robustification. Fixes midi
6317 output with std::string.
6319 2006-01-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6321 * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6323 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6325 * Fix -DSTRING_UTILS_INLINED.
6327 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6329 * VERSION (PATCH_LEVEL): release 2.7.29
6331 * lily/relocate.cc (setup_paths): mingw uses std string too.
6333 * lily/*.cc: various fixes for substr(ARG).
6335 * lily/sustain-pedal.cc (print):
6337 * flower/file-name.cc (slashify): use std strings.
6339 * flower/string-convert.cc: remove publib.h
6341 * scm/define-markup-commands.scm (verbatim-file): new markup
6342 command \verbatim-file
6344 * Documentation/topdocs/NEWS.tely: fixup URLs
6346 * input/regression/alignment-vertical-manual-setting.ly (Module):
6349 * lily/align-interface.cc (align_elements_to_extents): overwrite
6350 translations with numbers in alignment-offsets from left bound
6352 * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6353 (page-translate-systems): new function: take into account Y-offset.
6355 * Documentation/topdocs/NEWS.tely (Top): document new features.
6357 * input/regression/page-layout-manual-position.ly (Module): new
6360 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6362 * flower/file-path.cc (path::parse_path): Oops.
6364 * Finish std::string interface. For now, use std:: marker
6365 throughout for easy s/r.
6367 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6369 * Documentation/user/putting.itely (Score is a single musical
6371 (Score is a single musical expression): more typos.
6373 * scm/page.scm (annotate-space-left): thinko.
6374 (annotate-page): more thinkos.
6376 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6378 * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6379 for different \score blocks separately.
6380 (post-process-pages): put write-page-layout into paper block.
6382 * lily/output-def.cc (get_parser): new file.
6384 * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6387 * lily/include/output-def.hh (class Output_def): add parser_ member.
6389 * input/regression/page-layout-twopass.ly (Module): new file.
6391 * scm/lily.scm: remove cpp hack.
6393 * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6395 2006-01-25 Jan Nieuwenhuizen <janneke@gnu.org>
6397 * GNUmakefile.in (c-clean): New target.
6399 * flower/include/std-string.hh: String/std::string compatibility:
6400 Use NPOS for `not found' (iso -1), use ssize for length () and pos
6403 * flower/rational.cc:
6404 * flower/include/rational.hh:
6407 * flower/include/offset.hh:
6409 * flower/interval.cc:
6410 * flower/include/interval.hh:
6412 * flower/string-convert.cc:
6413 * flower/include/string-convert.hh: Use std::string [interface].
6416 2006-01-25 Heikki Junes <hjunes@cc.hut.fi>
6418 * Documentation/index.html.in: clean up.
6420 2006-01-25 Graham Percival <gpermus@gmail.com>
6422 * Documentation/user/putting.itely: another new untested doc section.
6424 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6426 * scm/layout-page-layout.scm (write-page-breaks): write
6427 \spacingTweaks #ALIST. Handle grace timing.
6429 * scm/: more imports.
6431 * scm/page.scm (make-page): add footer/header.
6432 (annotate-space-left): revise: only take page argument.
6433 (layout->page-init): new function.
6435 * scm/layout-page-layout.scm (write-page-breaks): preliminary
6436 version of the system/spacing/linebreak hack writing to the output
6438 * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6441 * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6444 2006-01-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
6446 * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6448 * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6450 * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6451 handling to page.scm
6453 * lily/prob-scheme.cc (LY_DEFINE): new file.
6454 (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6456 * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6459 * lily/music.cc (derived_mark): derive Music from Prob.
6461 * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6463 * lily/prob.cc (Module): Implement Prob (Property Object), object
6464 with shared and r/w property alists.
6466 * lily/include/prob.hh (Module): new file. Declare Prob.
6468 * flower/string.cc: remove is_empty().
6470 * flower/include/string.hh (class String): remove String:: qualifier.
6472 * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6473 substitute appropriate functions.
6475 * flower/include/string.hh (class String): remove to_str0 and
6476 is_empty(). S&R everywhere.
6478 2006-01-23 Graham Percival <gpermus@gmail.com>
6480 * Documentation/user/basic-notation.itely: add hairpin
6481 after-linebreak tweak to commonprop.
6483 * Documentation/user/putting.itely: added two new sections.
6485 2006-01-23 Jan Nieuwenhuizen <janneke@gnu.org>
6487 * flower/international.cc:
6488 * flower/include/international.hh:
6490 * flower/getopt-long.cc:
6491 * flower/include/getopt-long.hh: Use std::string [interface].
6494 * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6496 * stepmake/stepmake/executable-rules.make: Add dependency on
6499 2006-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
6501 * flower/file-path.cc:
6502 * flower/include/file-path.hh: Use std::string [interface].
6505 * flower/direction.cc:
6506 * flower/axis.cc: Unused. Remove.
6508 * configure.in (--enable-std-string): New option.
6510 * flower/std-string.cc:
6511 * flower/include/std-string.hh: New file.
6513 * flower/file-name.cc[STD_STRING]:
6514 * flower/include/file-name.hh[STD_STRING]: Use it. Update callers.
6516 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6518 * scm/output-svg.scm (placebox): no GNU coding standards in SVG output.
6520 * scm/define-markup-commands.scm (with-dimensions):
6521 with-dimensions markup command.
6523 * input/test/font-table.ly: use it.
6525 * lily/open-type-font.cc (glyph_list): new function.
6527 * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6529 * lily/ttf.cc: remove ly:font-glyph-list scheme function
6531 2006-01-22 Nicolas Sceaux <nicolas.sceaux@free.fr>
6533 * ly/music-functions-init.ly (parallelMusic): new music function
6534 for parallel music entry.
6536 * scm/define-music-properties.scm (all-music-properties): new
6537 'void music property
6539 * scm/music-functions.scm (ly:music-message): make public, to be
6540 used in music function definitions
6542 * scm/lily-library.scm (collect-music-for-book): discard music
6543 when the 'void property is set.
6545 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6547 * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6549 * mf/GNUmakefile: idem.
6551 * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6553 * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6555 * Documentation/user/notation-appendices.itely (The Feta font):
6558 * input/test/font-table.ly: new file. Generate font table within lily.
6560 * Documentation/user/notation-appendices.itely (The Feta font):
6561 use new font-table.ly file.
6563 * stepmake/stepmake/install-out-targets.make
6564 (local-install-outfiles): only create directory if
6565 $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6567 2006-01-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6569 * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6571 * VERSION (PACKAGE_NAME): release 2.7.28
6573 * scm/framework-ps.scm (write-preamble): use it to pick exactly
6574 the right font from a Mac dfont.
6575 (write-preamble): don't forget directory, only look at files.
6577 This fixes problems with TTF files in dfonts that don't match
6578 their PostScript names.
6580 * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6581 PS name from TTF font.
6583 * input/regression/tie-manual.ly: document new feature.
6585 * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6587 * VERSION (MY_PATCH_LEVEL): bump to .28
6589 * Documentation/user/basic-notation.itely (Ties): add tie examples
6592 * lily/tie-formatting-problem.cc (score_ties_configuration):
6593 symmetry penalties for outer ties.
6595 2006-01-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
6597 * lily/tie-formatting-problem.cc (generate_configuration)
6598 (set_manual_tie_configuration): skip non-pair manual
6599 tie-configuration, so you can set individual ties as
6601 #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6603 * input/regression/tie-chord.ly: use generateTiePattern to
6606 * lily/tie-formatting-problem.cc (peak_around): new function.
6607 (score_configuration): use sliding criterion for staff line collisions.
6608 (score_configuration): idem for dot collisions.
6609 (generate_configuration): use separate stem_gap for gap to stem.
6611 * lily/include/tie-formatting-problem.hh (struct Tie_details):
6612 separate penalty factors for x and y distance.
6613 (struct Tie_details): separate penalties for tip and center line collisions.
6615 2006-01-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6617 * lily/tie-formatting-problem.cc (generate_configuration): make
6618 large ties avoid stafflines in the horizontal section.
6619 (score_configuration): use softcoded penalties
6620 (score_aptitude): idem.
6622 * lily/tie-helper.cc (from_grob): softcode tie details
6624 * lily/staff-symbol-referencer.cc (on_staff_line): new function
6626 * lily/staff-symbol-referencer.cc (on_line): rename from
6629 2006-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
6631 * ly/music-functions-init.ly: remove duplicate tag.
6633 * lily/include/*.hh: GCC 4.1 fixes.
6635 006-01-16 Erlend Aasland <erlenda@gmail.com>
6637 * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6639 * scm/define-music-types.scm: fix bug in desc. string
6640 for OverrideProperty
6642 2006-01-15 Erik Sandberg <mandolaerik@gmail.com>
6644 * scripts/lilypond-book.py: bugfix
6646 * scm/define-music-types.scm: fix typos.
6648 2006-01-14 Graham Percival <gpermus@gmail.com>
6650 * Documentation/user/ basic-notation.itely, global.itely,
6651 advanced-notation.itely, instrument-notation.itely: small
6652 additions (bugs and commonly tweaked properties).
6654 2006-01-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
6656 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6657 detection of mingw build.
6658 (MINGW_BUILD): opps.
6660 2006-01-12 Jan Nieuwenhuizen <janneke@gnu.org>
6662 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6665 2006-01-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
6667 * scm/music-functions.scm (skip->rest): add skip->rest
6669 2006-01-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
6671 * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6674 * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6675 config dirs. Aids debugging.
6676 (display_config): also display config files.
6678 2006-01-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6680 * VERSION: release 2.7.27
6682 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6683 for determining bar size.
6685 * lily/staff-symbol.cc (print): place lines at distance line-positions
6687 * scm/define-grob-properties.scm (all-user-grob-properties): add
6690 * lily/staff-symbol.cc (height): new function.
6692 * input/regression/staff-line-positions.ly: new file.
6694 2006-01-06 Graham Percival <gpermus@gmail.com>
6696 * input/test/add-staccato.ly: remove reference to old file.
6698 2006-01-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6700 * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6701 lilypond binary too.
6703 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6705 * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6707 2006-01-06 Jan Nieuwenhuizen <janneke@gnu.org>
6709 * scripts/midi2ly.py: Bugfix: Declare datadir.
6711 * make/ly-rules.make:
6712 * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6713 that seems to be gone). Fixes make web.
6715 * The grand 2005-2006 replace.
6717 * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6719 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6721 * make/lilypond-vars.make: set LILYPOND_BINARY variable
6722 (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6723 LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6724 like -dgs-font-load.
6726 * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6727 remove absolute path to lilypond binary.
6729 2006-01-05 Pedro Kroeger <kroeger@pedrokroeger.net>
6731 * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6733 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6735 * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6737 * mf/GNUmakefile: remove broken dvips map symlink.
6739 2006-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
6742 * configure.in: Cosmetic fixes.
6744 2006-01-04 Mats Bengtsson <mabe@s3.kth.se>
6746 * Documentation/user/music-glossary.tely (Pitch names): Added
6747 Spanish pitch names and durations, thanks to Ernesto Gancedo
6749 2006-01-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6751 * scm/lily.scm (define-scheme-options): use quasi-quote for option
6752 init. Fixes verbose printing of .scm files.
6754 * stepmake/aclocal.m4: add spaces before - options.
6756 2006-01-03 Jan Nieuwenhuizen <janneke@gnu.org>
6758 * lily/relocate.cc (setup_paths): Bugfix: do not store result
6759 of path search in local block variable.
6761 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6763 * configure.in (NCSB_DIR): --enable-ncsb-dir
6764 (LINK_GXX_STATICALLY): denko.
6766 * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH.
6768 * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option.
6769 use locate to find c059033l.pfb.
6771 2006-01-02 Jan Nieuwenhuizen <janneke@gnu.org>
6773 * lily/tie-formatting-problem.cc
6774 (problem::generate_base_chord_configuration): Use my_round (was
6777 * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6778 do not invoke mbrtowc.
6780 * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6782 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6784 * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6786 2005-01-02 Heikki Junes <hjunes@cc.hut.fi>
6788 * Documentation/user/invoking.itely (svg): revise.
6790 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6792 * lily/lexer.ll: use sourcefilename iso. renameinput.
6794 2006-01-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6796 * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6797 <PostScriptName>.ttf instead of c059XXXttf.
6799 * lily/program-option.cc (LY_DEFINE): special support for
6800 --verbose, so it works before option init too.
6802 * mf/GNUmakefile (local-install): oops.
6804 * lily/lyric-hyphen.cc (print): oops.
6806 * buildscripts/pfx2ttf.fontforge: new file.
6808 * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6809 ($(outdir)/%.ttf): new rule.
6811 * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6814 * lily/lyric-hyphen.cc (print): multiply hyphen height by
6817 2005-12-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6819 * VERSION: release 2.7.26
6821 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6823 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6825 * lily/font-config.cc (init_fontconfig): verbosity.
6827 * THANKS: add Muziekacademie Lede.
6829 * scripts/musicxml2ly.py (print_voice_definitions): new function
6830 (print_score_setup): new function
6831 (convert): read part definition to output staves properly.
6833 * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
6836 * python/musicexp.py (Output_printer.__init__): use _ in data
6838 (Output_printer.unformatted_output): new function: no formatting,
6840 (Duration.get_length): remove isinstance() checks for
6841 Output_printer everywhere.
6843 * input/regression/lyrics-bar.ly (texidoc): add
6844 Separating_line_group_engraver.
6846 2005-12-29 Jan Nieuwenhuizen <janneke@gnu.org>
6848 * lily/relocate.cc (framework_relocation): New function,
6849 factored from set_relocation ().
6850 (prefix_relocation): Rename from set_relocation ().
6851 (setup_paths): Use it.
6853 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6855 * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
6856 numbers. Patch by Erlend Aasland.
6858 2005-12-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
6860 * lily/font-config.cc (init_fontconfig): print warning if cache
6861 file is not existant.
6863 * lily/main.cc: don't use #ifdef but #if
6865 2005-12-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6867 * lily/grob-property.cc (internal_set_property): don't abort on
6868 calculation-in-progress.
6870 * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
6872 * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
6873 connect-to-neighbor property not connect-to-other
6875 * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
6876 (LY_DEFINE): oops. don't forget protection.
6878 * flower/parse-afm.cc (Module): strip AFM handling completely.
6880 * lily/stencil-expression.cc: idem.
6882 * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
6884 * lily/function-documentation.cc (ly_add_function_documentation):
6885 use static member iso. Protected_scm
6887 * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
6889 * config.make.in (prefix): remove HAVE_KPATHSEA_SO
6891 2005-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
6893 * lily/relocate.cc (set_env_dir): New function.
6894 (set_relocation): Use it to fix setting PANGO_PREFIX.
6896 2005-12-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6898 * input/regression/stem-direction-context.ly: remove rest.
6900 * lily/melody-engraver.cc (process_music): restart for bar lines.
6901 (acknowledge_slur): restart for slurs.
6903 2005-12-27 Heikki Junes <hjunes@cc.hut.fi>
6905 * Documentation/user/invoking.itely: describe how to view SVG
6906 output using Inkscape which replace embedded fonts with OTF fonts.
6908 2005-12-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6910 * lily/relocate.cc (set_relocation): set PANGO_PREFIX
6912 2005-12-23 Jan Nieuwenhuizen <janneke@gnu.org>
6914 * lily/melody-engraver.cc (class Melody_engraver): Remove lying
6917 2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
6919 * VERSION (PACKAGE_NAME): release 2.7.25
6921 * Documentation/topdocs/NEWS.tely (Top): document new feature.
6923 * input/regression/stem-direction-context.ly: new file.
6925 * lily/relocate.cc (set_relocation): add PANGO_PREFIX
6927 * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
6930 * ly/engraver-init.ly: add Melody_engraver
6932 * lily/beam.cc (calc_direction): use default-direction
6933 iso. get_default_direction()
6935 * scm/define-grob-properties.scm (all-user-grob-properties): add
6936 default-direction property.
6938 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
6940 * lily/stem.cc (calc_default_direction): remove
6941 Stem::get_default_direction, use default-direction with callback
6944 * lily/melody-spanner.cc (calc_neutral_stem_direction):
6946 * lily/melody-engraver.cc: new file. Acknowledge stems for
6947 interpolated stem directions.
6949 * lily/melody-spanner.cc: new file. Interpolate stem directions.
6951 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
6953 * lily/slur-configuration.cc (fit_factor): more robust check for
6954 point in curve X-extent.
6956 * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
6957 (outside_slur_callback): check for 'outside avoidance.
6959 * lily/slur-configuration.cc (score_extra_encompass): don't use
6960 bound->column() == avoid->column() for checking extents, as this
6961 doesn't work for accidentals.
6963 * lily/slur-engraver.cc (acknowledge_extra_object): remove
6964 DynamicText hardcoding.
6966 * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
6967 crash if bound stem is NULL
6969 * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
6972 2005-12-22 Graham Percival <gpermus@gmail.com>
6974 * scm/define-markup-commands.scm: typo. @code{\raise}
6977 * darwin.patch: now used again, includes a
6978 required patch from fink.
6980 2005-12-21 Heikki Junes <hjunes@cc.hut.fi>
6982 * po/TODO: mention gtranslator along with kbabel.
6983 * po/fi.po: update translations.
6985 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
6987 * lily/relocate.cc (setup_paths): Bugfix.
6989 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6991 * lily/slur-configuration.cc (score_extra_encompass): don't use
6992 "avoid" choice for avoid-slur.
6994 * stepmake/bin/install.py (dest): don't create existing dir.
6996 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
6998 * stepmake/bin/install.py: Remove file before copying.
7001 * stepmake/aclocal.m4: Do not substitute INSTALL.
7003 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7005 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7006 depend on link-tree.
7008 * lily/relocate.cc (setup_paths): only check path for non-absolute
7009 dir without directory part.
7011 * flower/file-name.cc (is_absolute): new method.
7012 (is_absolute): check root_ too.
7014 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7016 * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7017 relocation code. Oops, don't comment out too much.
7019 * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7022 * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw
7025 2005-12-20 Jan Nieuwenhuizen <janneke@gnu.org>
7027 * .cvsignore: Add install-sh.
7029 * autogen.sh (srcdir): Typo.
7031 2005-12-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
7033 * autogen.sh (srcdir): urg. Touch install-sh.
7035 * stepmake/bin/install-sh (Module): remove.
7037 * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7039 * lily/include/relocate.hh: new file.
7041 * lily/relocate.cc: new file. Contain relocation logic.
7043 * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7044 (main): read LILYPOND_VERBOSE as the first thing.
7046 * stepmake/aclocal.m4: remove INSTALL variable.
7048 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7049 separate target for making font symlinks.
7050 (documentation-dir): use $(if $(findstring )) for switching off
7053 * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7054 something if DOCUMENTATION is no.
7056 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7058 * VERSION: release 2.7.24
7060 * lily/script-column-engraver.cc (stop_translation_timestep):
7061 delay adding to script-column.
7063 * lily/tuplet-bracket.cc (print): suicide if no control-points.
7065 * python/convertrules.py (conv): rule for number-visibility
7067 * lily/slur-configuration.cc (score_extra_encompass): different
7068 distance measure for avoid and inside avoidance.
7069 (score_extra_encompass): use 1/(distance+eps) as penalty.
7071 * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7072 encompass objects for generating slur curves.
7074 * lily/slur.cc: use details iso. slur-details property.
7076 * input/regression/slur-tuplet.ly: new file.
7078 * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.
7080 * flower/include/offset.hh (class Offset): new operator /=
7082 * lily/tuplet-number.cc (print): new file, new interface.
7084 * scm/define-grob-properties.scm (all-user-grob-properties):
7085 remove number-visibility property.
7087 * lily/tuplet-bracket.cc (calc_control_points): new function
7088 (calc_connect_to_neighbors): new function.
7089 (print): remove text handling for tuplet numberdef.
7091 * lily/tuplet-engraver.cc (struct Tuplet_description): create
7094 * lily/lily-guile.cc (robust_scm2booldrul): new function
7096 * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7098 * lily/tuplet-bracket.cc (calc_position_and_height): use
7099 staff-padding to control whether tuplet brackets are over staves.
7101 * lily/grob.cc (suicide): clear dim_caches_.
7103 * lily/dimension-cache.cc (clear): new function.
7105 * lily/grob.cc (extent): swap order of min-extent and extent
7106 calculations. This fixes hara kiri staves.
7108 2005-12-19 Jan Nieuwenhuizen <janneke@gnu.org>
7110 * lily/main.cc: Nitpick: relocation is not based on path, but on
7111 directory (location).
7113 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7115 * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7117 * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7119 * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7121 * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7123 * stepmake/stepmake/generic-vars.make (Module): idem.
7125 * stepmake/stepmake/executable-targets.make (default): use it.
7127 * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7129 * make/GNUmakefile: don't install make rules.
7131 * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7133 (prepend_env_path): more verbosity.
7135 2005-12-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7137 * GNUmakefile.in: add dir argument for find command.
7139 * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7140 fixes weird line numbers for point & click.
7142 * lily/source-file.cc (get_counts): init line/column/char counts.
7144 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7146 * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7148 2005-12-16 Graham Percival <gpermus@gmail.com>
7150 * Documentation/user/basic-notation.itely, advanced-notation.itely:
7151 minor fixes from Fredric. Thanks!
7153 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7155 * ly/music-functions-init.ly: add \bar and \clef music function
7157 * lily/lily-lexer.cc: idem.
7159 * lily/parser.yy (FIXME): remove BAR and CLEF.
7161 2005-12-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7163 * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7165 * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7166 function arguments too
7168 * lily/main.cc (set_relocation): new function.
7170 * scripts/musicxml2ly.py (convert): add \version
7172 * lily/tie.cc: remove get_default_attachments()
7174 * VERSION (PACKAGE_NAME): release 2.7.23
7176 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7177 ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7179 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7181 * lily/tie-formatting-problem.cc (score_ties): new function
7182 (get_variations): new function. Try flipping dirs for collisions.
7183 (generate_optimal_chord_configuration): new function. 1-opt search
7184 for better configuration.
7186 * lily/tie-configuration.cc: new file.
7188 * lily/tie.cc: junk Tie::get_configuration()
7190 * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7191 (score_ties_configuration): new function.
7192 (generate_ties_configuration): new function.
7193 (generate_base_chord_configuration): new function.
7194 (set_ties_config_standard_directions): Move body from tie-column-format.cc
7195 (set_manual_tie_configuration): Move body from tie-column-format.cc
7197 * input/regression/tie-dot.ly: new file.
7199 * lily/tie-formatting-problem.cc (score_configuration): score
7202 * lily/tie-helper.cc (get_transformed_bezier): new function
7204 * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7206 * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7207 -undefined suppress iso. -framework Python
7209 * scm/define-grobs.scm (all-grob-descriptions): set
7210 springs-and-rods (thanks Joe Neeman!)
7212 2005-12-12 Nicolas Sceaux <nicolas.sceaux@free.fr>
7214 * input/no-notation/display-lily-tests.ly (test):
7215 * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7216 changed from \tag #'(a b) to \tag #'a \tag #'b
7218 2005-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7220 * Documentation/topdocs/NEWS.tely: strip out-www.
7222 * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7224 * config.make.in (AR): add AR and RANLIB
7226 * flower/libc-extension.cc: include cassert
7228 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7231 2005-12-11 Graham Percival <gpermus@gmail.com>
7233 * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7235 * stepmake/stepmake/python-modules-vars.make: define
7236 SHARED_FLAGS for OSX. Thanks Johannes Schindelin!
7238 * THANKS: added Johannes Schindelin.
7240 2005-12-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7242 * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7244 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7245 Span_arpeggio_engraver, add Tweak_engraver to Score context.
7247 * lily/parser.yy: reorganize file layout.
7249 * ly/music-functions-init.ly: add tweak music function.
7251 * lily/grob-info.cc (ultimate_music_cause): new function:
7252 recursively lookup causes.
7254 * lily/parser.yy (chord_body_element): allow music functions for
7255 post-events, allow music functions for chord elements.
7257 * lily/font-config-scheme.cc (display_fontset): add cast.
7259 * python/convertrules.py (FatalConversionError.sub_syms): \tag
7260 #'(a b) -> \tag #'a \tag #'b rule.
7262 * python/musicexp.py (Output_printer.dump_version): new function
7264 2005-12-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7266 * lily/parser.yy (FIXME): remove \tag
7267 (FIXME): remove tag_music() function.
7269 * lily/lily-lexer.cc: remove \tag
7271 * ly/music-functions-init.ly: define music-function "tag"
7273 * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7275 2005-12-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7277 * VERSION (PATCH_LEVEL): release 2.7.22
7279 * input/regression/lyric-hyphen-retain.ly: renew.
7281 * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7284 * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7285 iso. minimum-length property for rods.
7287 * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7288 LyricSpace item to keep lyrics spaced apart.
7290 * ly/engraver-init.ly: remove Separating_line_group_engraver
7292 * Documentation/user/music-glossary.tely: do setfilename before
7295 2005-12-07 Heikki Junes <hjunes@cc.hut.fi>
7297 * Documentation/user/lilypond-book.itely: use `,´ after xref:
7298 See xref documentation, for example.
7300 2005-12-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
7302 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7303 pending_skip iso. ly_voice[-1]
7304 (main): add if __main__ for debugging.
7306 * python/musicxml.py (Accidental.__init__): new class.
7308 * scripts/musicxml2ly.py (progress): new function
7309 (musicxml_key_to_lily): don't barf on modeless keys.
7310 (create_skip_music): new function.
7311 (musicxml_spanner_to_lily_event): new function. Handle beams too.
7312 (musicxml_note_to_lily_main_event): new function.
7314 * python/musicexp.py (Music.__init__): add comment field.
7315 (NestedMusic.append): new routine.
7316 (SequentialMusic.print_ly): print comment.
7317 (ArpeggioEvent.ly_expression): new class
7318 (BeamEvent.ly_expression): new class
7319 (NoteEvent.__init__): support for cautionary/forced accs.
7321 * lily/lookup.cc (slur): normal order for array loop.
7323 * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7326 * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7329 2005-12-06 Erik Sandberg <mandolaerik@gmail.com>
7331 * scm/music-functions.scm: Make phrasing slurs follow voice direction
7333 * scripts/lilypond-book.py: Introduce option
7334 --preserve-line-breaks, for usage with srcltx
7336 2005-12-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7338 * scm/output-lib.scm (print-circled-text-callback): draw circle
7339 around text using make-circle-markup.
7341 * Documentation/user/*: strip out-www from file names.
7343 2005-12-05 Heikki Junes <hjunes@cc.hut.fi>
7345 * Documentation/user/lilypond.tely (direntry): remove empty lines;
7346 fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7348 2005-12-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
7350 * Documentation/user/GNUmakefile: idem.
7352 * Documentation/user/macros.itexi: strip out-www
7354 * python/rational.py: python 2.3 compat.
7356 * VERSION (PATCH_LEVEL): release 2.7.21
7358 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7359 option formatting, lilypond style.
7361 * python/musicexp.py: grab from Ikebana: a library for composing
7362 ly music expressions.
7363 (Output_printer): class for advanced .ly printing.
7366 * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7367 convert to pythonesque structure.
7369 * python/rational.py: PD rational number class.
7371 * Documentation/user/converters.itely (Invoking musicxml2ly): new node.
7373 2005-12-04 Erik Sandberg <mandolaerik@gmail.com>
7375 * lily/part-combine-iterator.cc: Minor bugfix
7377 * THANKS: Update bughunters
7379 2005-12-02 Werner Lemberg <wl@gnu.org>
7381 * mf/README: Document process for proper mf2pt1 conversion.
7383 * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7386 * mf/feta-harmonica.mf: Removed. Unused.
7388 2005-12-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7390 * scripts/lilypond-book.py (do_file): fix thinkos.
7392 2005-12-01 Jan Nieuwenhuizen <janneke@gnu.org>
7394 * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7395 ($(outdir)/parser.cc):
7396 ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7398 2005-11-30 Pedro Kröger <kroeger@pedrokroeger.net>
7400 * ly/titling-init.ly (tagline): it should be a space between
7401 "Music engraving by LilyPond" and the version number.
7403 2005-12-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
7405 * VERSION (PACKAGE_NAME): release 2.7.20
7407 2005-11-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7409 * scm/define-markup-commands.scm (pad-to-box): new markup command.
7411 * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7413 (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7415 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7417 * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7419 * kpath-guile/: remove directory
7421 * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7422 file. Encapsulate kpathsea using commandline tools.
7424 * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7427 2005-11-29 Mats Bengtsson <mabe@s3.kth.se>
7429 * Documentation/user/advanced-notation.itely (Setting automatic
7430 beam behavior): Correct a few typos. Thanks to David Bobroff.
7432 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7433 \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7435 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7437 * scripts/*.py: gmane address for bugs.
7439 2005-11-28 Pal Benko <benkop@freestart.hu>
7441 * make/ly-rules.make: add -f switch to mv
7443 * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7445 * lily/bar-line.cc: interpret it
7447 2005-11-28 Jan Nieuwenhuizen <janneke@gnu.org>
7449 * configure.in (--disable-documentation): New switch.
7451 * GNUmakefile.in: Use it.
7453 * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7455 2005-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7457 * scripts/lilypond-book.py (do_file): search chunks for
7460 * GNUmakefile.in: add copy step in between so we can lose the
7461 out-www directories.
7463 2005-11-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7465 * lily/pango-font.cc (pango_item_string_stencil): put
7466 geometry.width into glyph-string too.
7468 2005-11-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
7470 * scm/define-music-display-methods.scm (RevertProperty):
7471 (OverrideProperty): Use grob-property-path property, a list of
7472 symbols, instead of grob-property, which used to be a single
7474 (BassFigureEvent): a figure can be a plain number, not necessarily a
7477 2005-11-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7479 * VERSION: release 2.7.19
7481 * lily/figured-bass-engraver.cc (process_music): check
7482 figuredBassCenterContinuations first.
7484 * scm/translation-functions.scm (format-bass-figure): make double
7487 * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7490 * lily/system-start-delimiter-engraver.cc: move from
7491 Nested_system_start_delimiter_engraver, rename
7492 Nested_system_start_delimiter_engraver ->
7493 System_start_delimiter_engraver.
7495 * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7496 bracket type from hierarchy.
7498 2005-11-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
7500 * lily/rest.cc (y_offset_callback): read staff-position.
7502 * scm/define-grob-properties.scm (all-user-grob-properties): don't
7503 mark after-line-breaking-callback as internal.
7505 * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7507 2005-11-25 Werner Lemberg <wl@gnu.org>
7509 * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7511 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7513 * stepmake/bin/add-html-footer.py (do_file): add google
7515 * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7516 staff if first_start_ is true.
7518 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7520 * scripts/midi2ly.py (split_track): add __repr__ members.
7521 (track_first_item): only return Item if not None. This fixes a
7522 problem when dumping a track that starts with an empty channel.
7524 * python/midi.c: doc module.
7526 2005-11-22 Mats Bengtsson <mabe@s3.kth.se>
7528 * Documentation/user/global.itely (Creating MIDI files): Fix
7529 compilation problem.
7531 2005-11-22 Graham Percival <gpermus@gmail.com>
7533 * Documentation/user/basic-notation.itely: clarify dynamic
7536 * Documentation/user/advanced-notation.itely: add unicode
7537 escape control example, whatever that is. :)
7539 * Documentation/user/global.itely: added "removing dynamics
7542 2005-11-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7544 * VERSION (PATCH_LEVEL): release 2.7.18
7546 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7547 System_start_delimiter_engraver by
7548 Nested_system_start_delimiter_engraver.
7550 * lily/nested-system-start-delimiter-engraver.cc (struct
7551 Bracket_nesting_node): new class.
7552 (struct Bracket_nesting_group): new class
7553 (struct Bracket_nesting_staff): new class.
7554 (process_music): create hierarchy of grobs. This allows separate
7555 tuning of different SSDs.
7557 * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7558 (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7560 2005-11-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7562 * lily/side-position-interface.cc (aligned_side): multiply
7565 * lily/script-engraver.cc (make_script_from_event): allow setting
7568 2005-11-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7570 * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7572 * scm/define-grobs.scm (all-grob-descriptions): new grob
7573 NestedSystemStartDelimiter.
7575 * input/regression/system-start-heavy-bar.ly: new file.
7577 * lily/nested-system-start-delimiter-engraver.cc: new file.
7579 * lily/nested-system-start-delimiter.cc: new file.
7581 * input/regression/system-start-nesting.ly: new file.
7583 * scm/define-grobs.scm (all-grob-descriptions): use X side
7584 positioning for positioning braces for nested contexts.
7586 * lily/system-start-delimiter.cc (print): don't divide extent by
7588 (print): use style iso. glyph.
7589 (staff_bracket): translate glyph inside routine already.
7591 2005-11-18 Michael Welsh Duggan <md5i@cs.cmu.edu>
7593 * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7596 2005-11-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
7598 * scm/define-context-properties.scm
7599 (all-user-translation-properties): rename figuredBassFormatter
7600 from newFiguredBassFormatter.
7602 * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7604 * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7606 * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7608 * lily/beam.cc (calc_beaming): new function.
7609 (calc_shorten): new function.
7611 * THANKS: add Edward Neeman.
7613 * input/regression/accidental-clef-change.ly: new file.
7615 * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7617 * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7619 * lily/clef-engraver.cc (inspect_clef_properties): reset
7620 localKeySignature for clef changes.
7622 2005-11-17 Mats Bengtsson <mabe@s3.kth.se>
7624 * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3
7625 add dummy definition that works in Linux and add information in
7626 INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7628 * Documentation/user/changing-defaults.itely (Modifying context
7629 plug-ins): Add index for \with.
7631 * Documentation/user/music-glossary.tely (dal segno): Updated
7632 example to version >=2.6.
7634 2005-11-16 Mats Bengtsson <mabe@s3.kth.se>
7636 * Documentation/user/instrument-notation.itely (Printing chord
7637 names): Reorder \chordmode and \repeat in one example.
7639 2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7641 * VERSION: release 2.7.17
7643 * Documentation/topdocs/NEWS.tely (Top): add note about
7646 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7647 new function. Search region of 3 positions for best tie.
7648 (score_configuration): new function.
7649 (score_aptitude): new function.
7650 (generate_configuration): new function.
7651 (get_configuration): new function.
7652 (Tie_formatting_problem): new function
7654 * input/regression/page-top-space.ly: a6 for page-top-space demo.
7656 * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7658 * THANKS: add Eduardo Vieira & Ralph Little
7660 * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7663 * lily/include/tie-formatting-problem.hh (class
7664 Tie_formatting_problem): add Tie_details to
7665 Tie_formatting_problem. Update calling conventions.
7667 * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7670 * Documentation/user/lilypond.tely: remove musedata2ly entry.
7672 2005-11-16 Jürgen Reuter <reuter@ipd.uka.de>
7674 * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7675 scm/define-context-properties.scm: Maintenance bugfix: make
7676 ligature brackets work again by removing obsolete ligature
7677 primitive callback push/pop.
7679 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7680 not call Tuplet_bracket::calc_direction. Removed obsolete gap
7683 2005-11-15 Jan Nieuwenhuizen <janneke@gnu.org>
7685 * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7686 used and do not call it a path.
7687 (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7689 2005-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7691 * lily/include/tie-formatting-problem.hh (class
7692 Tie_formatting_problem): new file.
7694 * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7696 * Documentation/misc/ChangeLog-2.3: new file.
7698 * lily/audio-staff.cc (output): degarianize.
7700 2005-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
7702 * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7703 Unset PYTHONOPTIMIZE. Fixes install if set.
7705 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7707 * python/convertrules.py (conv): add warning about drums.
7709 * make/stepmake.make: include toplevel-version.make after config.make.
7711 * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7712 also allow python2.4
7714 * config.make.in (configure-srcdir): remove GXX GCC vars.
7716 * stepmake/aclocal.m4: don't do non-srcdir build with
7717 symlinks. Use inclusion, so the src directory name can be changed.
7719 2005-11-13 Jan Nieuwenhuizen <janneke@gnu.org>
7721 * make/mutopia-vars.make:
7722 * make/ly-vars.make: Use src-wildcard iso wildcard for source
7725 2005-11-13 Werner Lemberg <wl@gnu.org>
7727 * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7728 but the affected path. This ensures that the (overlapping) outlines
7729 have the same direction, which is a necessary prerequisite for
7730 FontForge's algorithm to remove overlaps.
7733 * mf/feta-haak.mf: Formatting.
7734 (draw_bracket): Slightly modify outline to avoid an unnecessary
7736 Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7737 them from the affected paths.
7739 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7741 * mf/README: remove xpm / accordion notes.
7743 * lily/tie-column-format.cc (set_chord_outline): add dots into
7744 skyline extents. This fixes tie formatting if the left head has dots.
7746 * lily/tie.cc (get_configuration): only shift tie by a whole staff
7747 space inside the staff.
7748 (get_configuration): shift another position if necessary in case
7751 2005-11-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7753 * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7754 buildscript-dir iso. $(depth)/buildscripts.
7756 * tex/GNUmakefile (local-uninstall): remove
7757 music-drawing-routines.ps juggling.
7759 * stepmake/stepmake/install-targets.make (local-install-files):
7760 prepend src-dir to install targets.
7762 * lily/system-start-delimiter-engraver.cc
7763 (acknowledge_system_start_delimiter): use
7764 add_offset_callback(). This fixes translation of nested
7767 * lily/grob-closure.cc (add_offset_callback): only encaps in
7768 simple_closure if it's a procedure.
7770 * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7773 * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7774 remove-empty where pertinent.
7776 2005-11-12 Graham Percival <gpermus@gmail.com>
7778 * Documentation/user/instrument-notation.itely: added
7779 Cameron Horsburgh's multiple stanzas docs. Thanks!
7781 2005-11-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
7784 ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7785 make picture in builddir, not srcdir.
7787 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7789 * VERSION: release 2.7.16
7791 * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7794 2005-11-10 Mats Bengtsson <mabe@s3.kth.se>
7796 * Documentation/user/examples.itely (Piano templates): Minor
7797 modification to the Piano centered lyrics example.
7799 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7801 * scripts/lilypond-invoke-editor.scm (run-browser): look at
7804 * Documentation/user/point-and-click.itely: simplify p&c
7805 instruction: don't configure firefox. Put lilypond-invoke-editor
7806 in front of the browser.
7808 * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7809 (run-browser): new function.
7811 * lily/parser.yy (Lily_lexer): recognize Book
7813 * lily/book.cc (clone): new function
7815 * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7817 2005-11-10 Jürgen Reuter <reuter@ipd.uka.de>
7819 * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7820 Maintenance bugfix: reduce number of font related warnings by
7821 updating naming conventions for glyph-name.
7823 2005-11-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7825 * scm/define-grobs.scm (all-grob-descriptions): add
7826 rhythmic-grob-interface to TabNoteHead.
7828 * scm/layout-beam.scm (check-quant-callbacks): remove
7831 2005-11-08 Jürgen Reuter <reuter@ipd.uka.de>
7833 * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
7834 alignment of centered divisiones.
7836 * scm/scripts.scm (articulations): Maintenance bugfix:
7837 follow-into-staff -> quantize-position.
7839 * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
7840 plica head in porrectus deminutus.
7842 2005-11-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7844 * make/lilypond.fedora.spec.in (Group): add %clean section.
7846 * lily/tuplet-bracket.cc (print): change check: remove bracket if
7847 less then 1/5th of total length.
7848 (print): use gap too. Fixes tupletUp-single-bracket.ly
7850 * scm/music-functions.scm (glue-mm-rest-texts): also put other
7851 events into EventChord. This fixes textspanners on mm rests. Fixes
7854 * lily/side-position-interface.cc (get_axis): read side-axis
7855 (set_axis): set side-axis.
7857 * scm/define-grobs.scm (all-grob-descriptions): add side-axis
7858 properties everywhere.
7860 * lily/spacing-spanner.cc (breakable_column_spacing): add
7861 average-spacing-wishes. Take maximum if not set.
7862 (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
7864 * scm/define-grobs.scm (all-grob-descriptions): add
7865 average-spacing-wishes.
7867 * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
7868 offset callbacks. This fixes alignment for Fingering objects.
7870 * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
7871 space for key - timesig combination.
7873 * input/regression/script-stem-tremolo.ly (Module): new file.
7875 * scm/define-grobs.scm (all-grob-descriptions): decrease distance
7878 * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
7879 Fixes: c-tremolo-script.ly.
7881 * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
7883 * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
7885 * scm/define-grobs.scm (all-grob-descriptions): remove
7886 self-X-offset. Fixes alignment of octavate-8.
7888 * scripts/lilypond-book.py (datadir): look in
7889 LILYPONDPREFIX/share/lilypond/current/
7891 * GNUmakefile.in: symlink current to <VERSION>.
7893 2005-11-07 Pedro Kroger <kroeger@pedrokroeger.net>
7895 * lily/main.cc: eps listed as a backend.
7897 2005-11-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7899 * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
7901 2005-11-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
7903 * lily/include/score.hh (class Score): remove texts_ member.
7905 * lily/beam.cc (set_stem_lengths): force direction callback.
7906 (print): read quantized-positions, so we can force
7907 Beam::set_stem_lengths to occur.
7908 (rest_collision_callback): use common X parent.
7910 2005-11-03 Jan Nieuwenhuizen <janneke@gnu.org>
7912 * flower/file-path.cc (find): Bugfix: Return name of file found.
7914 * lily/main.cc (setup_paths): Bugfix for argv0 logic.
7915 (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
7916 (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
7918 2005-11-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
7920 * flower/offset.cc: idem.
7922 * mf/*.mf: update email address.
7924 * lily/font-config-scheme.cc: new file.
7926 * GNUmakefile.in (SUBDIRS): remove debian/ directory.
7928 * lily/*: cs.uu.nl -> xs4all.nl
7930 * VERSION (PATCH_LEVEL): release 2.7.15
7932 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
7935 * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
7937 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7939 * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.
7941 * lily/staff-performer.cc (process_music): add audio
7942 elements. This makes MIDI instrument changes work once again.
7944 * lily/main.cc (LY_DEFINE): add gmane address.
7946 * lily/beam.cc: remove calc_positions()
7948 * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
7949 original_ in private scope.
7950 (class Grob): drop pscore_ pointer, change to output_def pointer.
7951 (class Grob): cleanup class definition.
7953 * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
7955 2005-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
7957 * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
7958 absolute. Better diagnostics.
7960 * GNUmakefile.in: Add bin/ to tree and populate with some links.
7961 This makes lilypond run from the build directory using argv0
7962 relocation (without any --prefix or LILYPONDPREFIX setting).
7964 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7966 * Documentation/topdocs/NEWS.tely (Top): document new backend design.
7968 * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
7969 with simple-closure.
7971 * lily/self-aligment-interface.cc (set_align_self): new function
7972 (set_center_parent): new function.
7974 * lily/side-position-interface.cc (set_axis): new function.
7976 * lily/new-fingering-engraver.cc (position_scripts): use drul for
7979 * scm/define-grob-properties.scm (all-user-grob-properties):
7980 remove [XY]-offset-callbacks add [YX]-offset
7982 2005-11-02 Mats Bengtsson <mabe@s3.kth.se>
7984 * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
7985 entry for time signatures after breathing signs. Bug report by
7988 2005-11-01 Jan Nieuwenhuizen <janneke@gnu.org>
7990 * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
7991 not absolute, make it absolute using PATH.
7993 2005-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
7995 * python/midi.c (initmidi): Fix type for mingw.
7997 2005-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
7999 * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8001 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8004 * stepmake/aclocal.m4: Support python cross compiling.
8006 * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8009 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8011 * scm/output-lib.scm (chain-grob-member-functions): replace
8014 * lily/chained-callback.cc (Module): remove file.
8016 * lily/rest-collision.cc (force_shift_callback_rest): change to
8019 * lily/rest.cc (y_offset_callback): merge function of 3 callbacks.
8021 * lily/grob.cc (y_parent_positioning): remove axis argument from
8022 parent_positioning callbacks.
8023 (Grob): junk init code
8024 (get_offset): use generic property callbacks for
8025 X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8026 (axis_parent_positioning): new function
8027 (axis_offset_symbol): new function
8028 (chain_offset_callback): new function
8029 (add_offset_callback): new function
8031 * lily/beam.cc (rest_collision_callback): change signature; this
8032 is now a chained callback.
8034 * lily/include/dimension-cache.hh (class Dimension_cache): remove
8035 callback administration.
8037 * lily/simple-closure.cc: new file. Smob type that allows "grob
8040 (ly:make-simple-closure FUNC A B)
8042 is evaluated as (FUNC grob A B). This allows chaining of callbacks
8045 * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8048 * lily/slur.cc (outside_slur_callback): take 2 arguments.
8050 * lily/rest.cc (polyphonic_offset_callback): remove.
8052 * lily/script-engraver.cc (try_music): remove bool* argument.
8054 * scm/script.scm (default-script-alist): set quantize-position
8057 * lily/script-engraver.cc: remove follow_into_staff_ special coding.
8059 * lily/side-position-interface.cc (aligned_side): move staff
8060 position quantization from
8061 Side_position_interface::quantised_position().
8062 (quantised_position): remove
8064 2005-10-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
8066 * input/regression/beam-quant-standard.ly: reindent, set
8067 debug-beam-quanting to #t.
8069 * lily/beam-concave.cc (calc_concaveness): set concaveness to
8070 10000 if this is a "hard" concave beam.
8072 * lily/beam.cc (calc_least_squares_positions): change from
8073 calc_least_squares_dy
8074 (set_stem_lengths): this is now a chained callback.
8076 * lily/context-property.cc (execute_general_pushpop_property):
8077 bugfix override with procedure should have effect.
8079 * scm/define-grob-properties.scm (all-internal-grob-properties):
8080 remove position-callbacks.
8082 * scm/define-grobs.scm (all-grob-descriptions): use
8083 ly:make-callback-chain for positions property.
8085 * scm/layout-beam.scm (check-quant-callbacks): return list of
8088 * scm/lily.scm (type-p-name-alist): add callback-chain
8090 * lily/lily-guile.cc (type_check_assignment): type check failure
8091 is warning not message.
8093 * lily/grob-property.cc (try_callback): walk callback chain if
8096 * lily/chained-callback.cc: new file. new smob type.
8098 * lily/lily-guile.cc (procedure_arity): new function.
8100 2005-10-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8102 * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8104 2005-10-25 John Mandereau <john.mandereau@free.fr>
8106 * Documentation/user/instrument-notation.itely (Figured bass):
8107 describe new features
8109 2005-10-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8111 * lily/beam.cc (calc_least_squares_dy): use property callback.
8113 * lily/beam-concave.cc (calc_concaveness): use property callback.
8115 * ly/paper-defaults.ly: move fixed dimensions from paper.scm
8117 2005-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
8121 2005-10-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
8123 * scm/layout-page-layout.scm (page-headfoot): annotate
8126 * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit.
8128 * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8129 doesn't take y-space.
8131 * scm/paper.scm (paper-alist): fix A7 dimensions.
8133 2005-10-24 Jan Nieuwenhuizen <janneke@gnu.org>
8135 * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8136 src-wildcard, remove $(wildcard).
8138 * po/GNUmakefile (PO_FILES):
8139 * ps/GNUmakefile (PS_FILES):
8140 * tex/GNUmakefile (TEX_FILES):
8141 * cygwin/GNUmakefile (POSTINSTALLS):
8142 * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8143 some wildcard calls.
8145 2005-10-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
8147 * THANKS: add Thomas Bushnell.
8149 2005-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
8151 * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8152 (lilypond-main): Redirect to gui-main if 'gui is set.
8154 * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8155 for alternative installations kludging s/share/lib/g
8158 * SConstruct (libdir_package_version): Define.
8160 * python/SConscript:
8161 * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8164 2005-10-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
8166 * lily/main.cc: clarify --safe.
8168 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8170 * VERSION: release 2.7.14
8172 * Documentation/user/*.itely: remove minimumVerticalExtent.
8174 * scm/define-grobs.scm (all-grob-descriptions): remove
8175 RemoveEmptyVerticalGroup
8177 * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8179 * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8182 * python/convertrules.py (conv): add rules.
8184 * lily/grob.cc: remove is_empty()
8186 * lily/grob-property.cc: remove add_to_list_property().
8188 * scripts/convert-ly.py (datadir): add prefix switching hack to
8191 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8192 space-function tweak.
8194 * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8196 * scm/define-grob-properties.scm (all-user-grob-properties):
8197 remove callback property.
8199 * lily/include/grob.hh (class Grob): remove property_callbacks_
8200 member. Properties of procedure type are assumed to be callbacks.
8202 * lily/ligature-engraver.cc (override_stencil_callback):
8203 rewrite. Use noteHeadLigaturePrimitive as source.
8205 * scm/define-grob-properties.scm (all-internal-grob-properties):
8206 remove ligature-primitive-callback
8208 * lily/include/dimension-cache.hh (class Dimension_cache): make
8209 class, with Grob as friend.
8211 * lily/grob.cc: remove set_extent_callback(), set_extent() and
8212 has_extent_callback()
8214 * scm/translation-functions.scm (format-new-bass-figure): read
8215 figuredBassPlusDirection
8217 * scm/define-context-properties.scm
8218 (all-user-translation-properties): add figuredBassPlusDirection.
8220 * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8222 * lily/align-interface.cc (set_ordered): new function.
8224 * lily/grob.cc (flush_extent_cache): rewrite.
8226 * lily/dimension-cache.cc (Dimension_cache): cache extent as
8227 Interval pointer directly.
8229 * lily/main.cc (setup_paths): insert extra / .
8230 (setup_paths): junk cff entry.
8232 * lily/font-config.cc (init_fontconfig): only add type1 / otf
8235 * lily/axis-group-engraver.cc (finalize): remove
8236 extraVerticalExtent, minimumVerticalExtent verticalExtent.
8238 * lily/grob.cc (Grob): don't set extent from ctor.
8239 (extent): use property callbacks.
8241 * lily/axis-group-interface.cc: remove set_axes() function.
8243 * lily/grob-property.cc (del_property): new function.
8245 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8247 * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8249 2005-10-20 Jan Nieuwenhuizen <janneke@gnu.org>
8251 * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add.
8253 2005-10-19 Jan Nieuwenhuizen <janneke@gnu.org>
8255 * mf/SConscript: Updates.
8257 * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8259 * stepmake/stepmake/*:
8263 * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8264 from any directory in build-dir. Cleanups.
8266 * make/srcdir.make.in: Remove.
8268 * lily/main.cc (setup_paths): Fix and document build-dir hack.
8270 * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8273 * lily/SConscript: Remove ttftools.
8275 * SConstruct: Resurrect.
8277 2005-10-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
8279 * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8282 * lily/paper-book.cc (add_score_title): put Paper_score title into
8285 * scm/translation-functions.scm (format-new-bass-figure): also
8286 allow plus in combination with _
8288 2005-10-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8290 * VERSION: 2.7.13 released.
8292 * lily/note-collision.cc (check_meshing_chords): don't wipe
8293 stencil, merely set transparent.
8295 * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau.
8296 (Top): document #'callbacks.
8297 (Top): document nested \override.
8299 * input/regression/figured-bass.ly: update for slash and pluses.
8301 * input/regression/figured-bass-continuation-forbid.ly (Module):
8304 * scm/translation-functions.scm (format-new-bass-figure): use
8305 slashed-digit if diminished is set.
8306 (format-new-bass-figure): add + if 'augmented is set.
8308 * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8310 * input/test/piano-staff-distance.ly: remove file.
8312 * Documentation/user/advanced-notation.itely (Formatting cue
8313 notes): use length-fraction for making stems/beams smaller.
8315 * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8318 * lily/new-figured-bass-engraver.cc: new property
8319 centerFiguredBassContinuations
8321 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8324 * lily/context-property.cc (execute_general_pushpop_property):
8327 * input/regression/override-nest.ly: new file.
8329 * python/convertrules.py (FatalConversionError.subber): conversion
8330 rule for #'callbacks
8332 * input/regression/override-nest.ly: new function.
8334 * lily/parser.yy (music_property_def): allow \override #'a #'b =
8337 * lily/context-property.cc (lookup_nested_property): new function.
8338 (evict_from_alist): new function.
8339 (general_pushpop_property): new function.
8340 (execute_general_pushpop_property): rewrite. Support nested
8343 2005-10-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
8345 * lily/beam.cc: use length-fraction too.
8347 * scm/define-grob-properties.scm (all-user-grob-properties):
8348 remove property flag-width-function
8349 (all-user-grob-properties): remove space-function.
8351 * scm/layout-beam.scm: remove flag-width-function.
8353 * lily/beam.cc: remove flag-width-function
8355 * scm/layout-beam.scm: remove beam dir functions.
8357 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8359 * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8360 for easier grace tweaks.
8362 * lily/beam.cc: remove dir-function.
8364 * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8366 * lily/grob.cc: remove spacing-procedure.
8368 * lily/note-head.cc (calc_stem_attachment): new function.
8369 (internal_print): use callback to get glyph-name.
8371 * lily/grob-property.cc (get_interfaces): new function.
8373 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8375 * lily/stem.cc (calc_stem_end_position): new function.
8376 (calc_length): new function.
8377 document details for stem.
8378 remove Stem::get_direction()
8380 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback!
8382 * lily/grob-property.cc (set_callback): new function.
8384 * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8386 * lily/item-scheme.cc: new file.
8388 * lily/bar-line.cc (before_line_breaking): remove function.
8389 remove bar-size-procedure, break-glyph-function
8391 * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8393 * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8395 * lily/system-start-delimiter.cc (print): suicide from
8396 here. Remove after_line_breaking_callback.
8398 * lily/script-interface.cc (calc_direction): use callback for direction.
8400 * lily/side-position-interface.cc (aligned_side): don't use
8401 Side_position_interface::get_direction directly. Use callback.
8403 * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8405 (get_print_stencil): rename from get_stencil: create stencil with
8406 transparency, color and cause.
8408 * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8410 * python/convertrules.py (conv): insert temporary warning rule.
8412 * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8414 * lily/grob-property.cc (try_callback): remove marker if applicable.
8416 * lily/grob.cc: elucidate doc about after/before-line-breaking
8418 * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8420 * lily/stem.cc (height): idem.
8422 * lily/stem-tremolo.cc: idem.
8424 * lily/slur.cc (height): don't use get_uncached_stencil()
8426 * lily/rest.cc (y_offset_callback): use offset callback
8427 iso. after-line-breaking callback.
8429 * lily/grob.cc: change after/before-line-breaking-callback to
8430 after/before-line-breaking dummy properties.
8432 * lily/include/grob.hh: remove Grob_status.
8434 * scm/define-context-properties.scm
8435 (all-user-translation-properties): remove verticalAlignmentChildCallback
8437 * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8438 (calc_direction): use callback
8439 (calc_positions): use callback.
8441 * lily/tie.cc (calc_direction): use callback. Only call parent
8442 positioning for more than one tie.
8444 * lily/tie-column.cc (calc_positioning_done): use callback
8446 * lily/slur-scoring.cc (calc_control_points): use callback
8448 * lily/slur.cc (calc_direction): use callback.
8450 * lily/note-collision.cc (force_shift_callback): remove.
8452 * lily/dot-column.cc (force_shift_callback): remove. Use
8453 other_axis_parent_positioning.
8455 * lily/grob.cc (other_axis_parent_positioning): new function.
8456 (same_axis_parent_positioning): new function
8458 * lily/align-interface.cc (alignment_callback): remove function.
8460 * lily/note-collision.cc (calc_positioning_done): use callback.
8462 * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8463 (calc_direction): idem.
8464 remove print function.
8466 * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8468 * lily/dot-column.cc (calc_positioning_done): use callback.
8470 * lily/break-align-interface.cc (calc_positioning_done): use callback.
8472 * lily/beam.cc (calc_direction): use pseudo-property for beam
8474 (calc_positions): use callback
8476 * lily/align-interface.cc (calc_positioning_done): use
8477 callback. Fold fixed distance and normal alignment in one function.
8479 * lily/stem.cc (calc_stem_end_position): use callback.
8480 (calc_positioning_done): idem.
8481 (calc_direction): idem.
8482 (calc_stem_end_position): idem
8483 (calc_stem_info): idem.
8485 * lily/grob-property.cc (get_property_data): new function:
8486 (try_callback): new function.
8488 * scm/define-grob-properties.scm (all-user-grob-properties): doc
8491 * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8493 2005-10-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
8495 * lily/tie.cc (get_position): robustness fix. Don't crash if a
8499 * lily/include/*.hh (Module): compile fixes.
8501 2005-10-14 Heikki Junes <hjunes@cc.hut.fi>
8503 * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil
8504 as an argument for char-syntax: use (char-syntax (or nil 0))
8505 instead of (char-syntax nil), thanks to Milan Zamazal.
8507 2005-10-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
8509 * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8512 * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8515 2005-10-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8517 * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8518 add class_name() method.
8520 * lily/music-scheme.cc: remove ly:music-name.
8522 2005-10-11 Jan Nieuwenhuizen <janneke@gnu.org>
8524 * cygwin/postinstall-lilypond.sh: Remove cruft.
8526 * cygwin/postremove-lilypond.sh: Remove.
8528 * cygwin/GNUmakefile (default): Remove postremove rules.
8530 2005-10-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8532 * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8535 * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8538 * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8539 consider break index for broken spanner.
8541 * scm/define-markup-commands.scm (wordwrap-string): remove \r
8542 characters from string before splitting.
8544 2005-10-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
8546 * scm/framework-ps.scm (output-preview-framework): use
8547 is-book-title to determine whether to chop off the booktitle.
8549 * lily/paper-book.cc (systems): init from book-title-properties
8550 (add_score_title): init score-title-properties.
8552 * ly/paper-defaults.ly: add {score,book}-title-properties.
8554 * scm/document-backend.scm (lookup-interface): error message if
8555 using unknown interface.
8557 * lily/volta-bracket.cc (after_line_breaking): new function. Set
8560 * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8562 (make_bracket): new function.
8564 * scm/lily.scm (define-scheme-options): add paper-size option.
8566 * ly/declarations-init.ly (laissezVibrer): get paper size from
8569 * scm/translation-functions.scm: use \fontsize for changing the
8572 * scm/define-grobs.scm (all-grob-descriptions): set
8573 between-length-limit to 1.0
8575 * lily/tie-helper.cc: add between_length_limit_ detail property.
8577 * mf/feta-bolletjes.mf: typos.
8579 * lily/note-head.cc (internal_print): don't shadow idx
8580 parameter. This fixes wrong attachment for do shape heads.
8582 2005-10-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
8584 * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8586 * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8588 * scm/layout-slur.scm: rename from slur.scm
8590 * scm/layout-page-layout.scm: rename from page-layout.scm
8592 * scm/layout-beam.scm: rename from beam.scm
8594 * scm/define-grob-interfaces.scm (bass-figure-interface): add
8595 bass-figure-interface
8597 * lily/new-figured-bass-engraver.cc (process_music): add
8598 implicitBassFigures property.
8600 * scm/define-markup-commands.scm (pad-x): new markup.
8602 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8603 minimumVerticalExtent on FiguredBass context.
8605 * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8606 case the continuation crosses a line break.
8608 2005-10-09 Jan Nieuwenhuizen <janneke@gnu.org>
8610 * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8611 unconverted value if cygwin_conv_to_posix_path () fails. Fixes
8612 absolute file name bug.
8614 2005-10-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
8616 * VERSION (PACKAGE_NAME): release 2.7.12
8618 * input/regression/figured-bass-continuation-center.ly: new file.
8620 * input/regression/beam-outside-beamlets.ly: new file.
8622 * lily/beam.cc (set_beaming): don't clip edges.
8623 (connect_beams): don't clip edges.
8625 * lily/beaming-info.cc (clip_edges): new function.
8627 * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8629 * Documentation/user/instrument-notation.itely (Figured bass):
8630 demonstrate extenders, update seealso links.
8632 * scm/titling.scm (marked-up-headfoot): change tagline
8633 handling. tagline = ##f will blank the tagline as well.
8635 2005-10-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8637 * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8639 * lily/new-figured-bass-engraver.cc (struct
8640 New_figured_bass_engraver): add new_music_found_ member.
8642 * lily/lilypond-version.cc (Lilypond_version): deal with
8643 incorrectly formatted version strings.
8645 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8646 New_figured_bass_engraver by default.
8648 * lily/ttf.cc (print_trailer): only define glyph names when
8649 FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8651 2005-10-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8653 * lily/horizontal-bracket.cc (make_bracket): new function.
8655 * scm/define-grobs.scm (all-grob-descriptions): new grobs
8656 NewBassFigure, BassFigureBracket, BassFigureContinuation,
8657 BassFigureLine, BassFigureAlignment
8659 * lily/new-figured-bass-engraver.cc (process_music): new file.
8661 * lily/figured-bass-continuation.cc: new file.
8663 * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8666 2005-10-04 Mats Bengtsson <mabe@s3.kth.se>
8668 * scripts/lilypond-book.py: Bug fix, put the quote around the
8669 actual score for LaTeX documents.
8671 * scm/define-grobs.scm (all-grob-descriptions): Change
8672 collapse-height of the SystemStartBracket grob to 5.0,
8673 so the bracket disappears for single stave score lines (similarly
8674 to SystemStartBraces).
8676 * Documentation/user/advanced-notation.itely (Polymetric
8677 notation): Clarify the use of compressMusic.
8679 * Documentation/user/basic-notation.itely (Grace notes): Clarify
8680 that the grace spacer note in other staves need the same duration
8681 and document the stroke-style property.
8683 2005-10-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8685 * Documentation/user/global.itely (Vertical spacing): document
8686 alignment-extra-space and fixed-alignment-extra-space.
8688 * Documentation/topdocs/NEWS.tely (Top): add entry.
8690 * input/regression/alignment-vertical-spacing.ly: new file.
8692 * python/convertrules.py (conv): add rule.
8694 * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8696 * lily/align-interface.cc (stretch_after_break): new
8697 function. Read fixed-alignment-extra-space property.
8698 (align_elements_to_extents): read alignment-extra-space property.
8700 * lily/lily-guile.cc (robust_scm2dir): new function.
8702 * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8703 (annotate-space-left): new function. Annotate space left on page.
8704 (annotate-y-interval): new function.
8705 (paper-system-annotate-last): new function. Annotate bottom-space.
8707 * mf/feta-beugel.mf (y):
8709 2005-10-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8711 * VERSION (PACKAGE_NAME): release 2.7.11
8713 * scm/lily-library.scm (interval-translate): new function
8714 (interval-center): new function.
8716 * scm/page-layout.scm (paper-system-annotate): new function. Add
8717 arrows for dimensions.
8719 * scm/stencil.scm (dimension-arrows): new function.
8721 * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8723 * input/regression/page-spacing.ly: add annotatespacing
8725 * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8726 (LY_DEFINE): new function ly:paper-system-set-property!
8728 * Documentation/user/global.itely (Paper size): explain how to add
8731 * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8732 correspond to GS's definition.
8734 * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8736 (print): only connect to next bracket if the next one is alive.
8737 (print): set padding to 0.0 if the bound is a breakable
8738 column. This makes tupletFullLength brackets reach up to the staff
8739 line if it doesn't connect to the next line.
8741 2005-09-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
8743 * lily/bar-number-engraver.cc: correct docs.
8745 * scm/output-lib.scm (first-bar-number-invisible): rename from
8746 default-bar-number-visibility
8748 2005-09-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8750 * scm/define-music-properties.scm (all-music-properties): remove
8753 2005-09-28 Heikki Junes <hjunes@cc.hut.fi>
8755 * po/fi.po: refresh.
8757 2005-09-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
8759 * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8761 (disappear): bugfix.
8763 * lily/stem-tremolo.cc (raw_stencil): read slope property.
8765 * lily/include/paper-system.hh (class Paper_system): remove
8766 staff_extents_ member.
8768 * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8770 * lily/include/paper-system.hh (class Paper_system): remove
8771 number_ variable. Remove is_title_. Remove break_before_penalty_
8773 * lily/paper-book.cc (systems): use 'number property iso. number_
8776 * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8777 remove ly:paper-system-number.
8779 * scm/lily-library.scm (paper-system-title?): new function.
8781 * lily/book.cc (process): bugfix: flip ?: cases.
8783 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8786 * ly/music-functions-init.ly: add outputProperty music function.
8788 * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8790 * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8792 (optimal-page-breaks): rename from ly:optimal-page-breaks.
8794 * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8796 * lily/paper-system.cc (internal_get_property): new function.
8798 * Documentation/user/global.itely (Vertical spacing): refer to
8801 * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8804 * input/regression/page-spacing.ly: new file.
8806 * input/regression/page-top-space.ly: new file.
8808 * lily/spacing-spanner.cc: cmath -> math.h
8810 * lily/paper-system.cc (read_left_bound): new function. Read
8811 line-break-system-details from left bound to determine extents.
8813 * Documentation/user/programming-interface.itely (Using LilyPond
8814 syntax inside Scheme): change applyxxx -> applyXxx.
8816 * ly/music-functions-init.ly: add outputProperty music function.
8818 * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8820 * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8822 * python/convertrules.py (conv): rule
8824 * ly/music-functions-init.ly: applyxxx -> applyXxx
8826 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
8829 2005-09-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8831 * flower/include/real.hh: include <math.h> iso. <cmath>
8833 * flower/include/offset.hh: include real.hh
8835 2005-09-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
8837 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8838 fix example, now that 'interfaces is no longer directly available.
8840 * lily/book.cc (process): don't crash if paper == NULL.
8844 2005-09-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8846 * scm/define-music-types.scm (music-descriptions): set length and
8847 start-callback for QuoteMusic
8849 2005-09-15 Mats Bengtsson <mabe@s3.kth.se>
8851 * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
8852 arguments. Fixes compilation error with gcc 3.3.
8854 2005-09-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
8856 * VERSION: release 2.7.10
8858 * stepmake/stepmake/python-module-rules.make
8859 ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.
8861 * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
8864 2005-09-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8866 * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
8867 -Werror. Otherwise GCC barfs over various optimizations.
8869 * scm/define-grob-properties.scm (all-internal-grob-properties):
8870 add note-head property
8872 * Documentation/user/instrument-notation.itely (Laissez vibrer
8875 * input/regression/laissez-vibrer-ties.ly: new file.
8877 * lily/laissez-vibrer-engraver.cc: new file.
8879 * lily/include/tie-column-format.hh: new file.
8881 * lily/tie-column-format.cc: new file.
8883 * lily/tie-column.cc (set_manual_tie_configuration): new function.
8885 * lily/laissez-vibrer-tie.cc: new file.
8887 * lily/include/laissez-vibrer-tie.hh: new file.
8889 * ly/engraver-init.ly: add Laissez_vibrer_engraver
8891 * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
8893 * scm/define-grobs.scm (all-grob-descriptions): add
8894 LaissezVibrerTie, LaissezVibrerTieColumn
8896 * lily/tie-column.cc (set_tie_config_directions): new function
8897 (final_shape_adjustment): new function.
8898 (shift_small_ties): new function.
8900 * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
8902 * lily/include/tie.hh (struct Tie_details): add x_gap_
8903 (struct Tie_configuration): add head_position_
8905 * lily/tie-column.cc (set_chord_outline): new function.
8907 * mf/cmr.enc.in: remove file.
8909 2005-09-11 Graham Percival <gpermus@gmail.com>
8911 * Documentation/user/examples.itely: typo fix. Thanks, Matevž
8913 2005-09-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8915 * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
8916 reduce aliasing effects.
8918 * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
8921 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
8923 * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
8925 * flower/include/real.hh: std::fabs too.
8927 2005-09-08 Jan Nieuwenhuizen <janneke@gnu.org>
8929 * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner).
8931 * lily, flower: Include C++ iso C headers. Import namespace std
8934 * lily/side-position-interface.cc:
8936 * lily/note-head.cc:
8937 * lily/include/includable-lexer.hh:
8938 * flower/include/string-data.icc: Remove using std::*.
8940 * lily, flower: Include C++ iso C headers. Import namespace std
8943 * lily/side-position-interface.cc:
8945 * lily/note-head.cc:
8946 * lily/include/includable-lexer.hh:
8947 * flower/include/string-data.icc: Remove using std::*.
8949 * Documentation/user/instrument-notation.itely (Entering lyrics):
8950 Multiple latin-1->utf-8 conversion fix.
8952 * Documentation/user/*tely: Update Emacs cookie to utf-8.
8954 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
8956 * lily/tie.cc (get_configuration): also avoid dots for non-space
8959 2005-09-07 Jan Nieuwenhuizen <janneke@gnu.org>
8961 * Documentation/user/instrument-notation.itely: Bugfix.
8963 2005-09-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8965 * tex/GNUmakefile: don't install texinfo.tex
8967 * tex/ : cleanup: remove unused files.
8969 * lily/general-scheme.cc: remove my_{isinf,isnan}.
8971 * flower/include/real.hh: using std::{isnan,isinf}
8973 * VERSION (PATCH_LEVEL): release 2.7.9
8975 2005-09-05 Graham Percival <gpermus@gmail.com>
8977 * Documentation/user/ instrument-notation.itely,
8978 advanced-notation.itely: minor tweaks.
8980 * input/test/script-chart.ly: add item padding.
8982 2005-09-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8984 * flower/offset.cc: use math.h iso. <cmath>
8986 * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
8989 * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
8990 (widen-left-stencil-edges): new function. Fix alignment problems
8991 with LaTeX includegraphics.
8993 * lily/text-interface.cc (interpret_markup): use abort().
8995 2005-09-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
8997 * input/regression/tie-chord.ly (testLong): add a chord in 4ths
8999 * lily/tie.cc (get_configuration): update bezier shape as we
9001 (get_configuration): don't move large ties if we're outside of the
9004 2005-09-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
9006 * scm/define-markup-commands.scm (strut): swap X and Y dims.
9008 2005-09-03 Jan Nieuwenhuizen <janneke@gnu.org>
9010 * .cvsignore: Add auto-generated configure files and then some.
9012 2005-09-02 Jan Nieuwenhuizen <janneke@gnu.org>
9014 * scm/define-grobs.scm (DynamicLineSpanner): Add
9015 X-extent-callback. Fixes hairpin-slur collision.
9017 2005-08-31 Graham Percival <gpermus@gmail.com>
9019 * Documentation/user/advanced-notation.itely,
9020 basic-notation.itely: minor changes.
9022 2005-08-31 Mats Bengtsson <mabe@s3.kth.se>
9024 * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9025 \linebreak between each .eps file if \betweenLilyPondSystem is
9028 * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9029 music): Document the \linebreak
9031 * Documentation/user/lilypond-book.itely,
9032 input/tutorial/lbook-latex-test.tex,
9033 Documentation/user/examples.itely: Remove \usepackage{graphics}
9035 2005-08-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
9037 * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9039 * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9042 * scripts/lilypond-book.py (PREAMBLE_LY): define
9043 inside-lilypond-book
9044 (modify_preamble): new function. Insert \RequirePackage{graphics}
9045 when no {graphics found in preamble.
9047 2005-08030 Graham Percival <gpermus@gmail.com>
9049 * Documentation/user/basic-notation.itely, global.itely,
9050 tutorial.itely: misc small changes.
9052 2005-08-30 Jan Nieuwenhuizen <janneke@gnu.org>
9054 * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9057 2005-08-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
9059 * lily/tie-column.cc (new_directions): put Tie down on center
9062 * lily/script-interface.cc (before_line_breaking): use
9063 Grob::programming_error
9065 * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9067 * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9070 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9072 * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9074 2005-08-29 Werner Lemberg <wl@gnu.org>
9076 * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9077 the `*.scale.pfa' files to avoid warnings.
9079 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9081 * lily/tempo-performer.cc (process_music): idem.
9083 * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9085 2005-08-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
9087 * Documentation/user/advanced-notation.itely (Text markup): not a
9090 * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9092 * lily/staff-performer.cc (initialize): add tempo/name to
9095 2005-08-26 Graham Percival <gpermus@gmail.com>
9097 * Documentation/user/advanced.itely: add text-only example.
9099 * Documentation/user/invoking.itely: add index entries for
9102 * Documentation/user/ tutorial.itely, basic-notation.itely:
9103 small fixes suggested by Steve D. Thanks!
9105 2005-08-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
9107 * input/regression/markup-bidi-pango.ly: new file.
9109 * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9110 standard. Remove #ifdef. Remove memleak.
9111 (text_stencil): use text_dir to decide how to composite items.
9112 (text_stencil): determine uniform text direction for the entire
9115 * scripts/lilypond-book.py (output_name): remove
9116 latex_filter_cmd. Non-portable to non-Unix systems.
9117 (get_latex_textwidth): use File.write and os.unlink() instead.
9119 * THANKS: add Vicente & Trevor.
9121 * lily/grob.cc (discretionary_processing): look up origin for
9122 programming_error too.
9124 * input/regression/tie-broken.ly: new file.
9126 * lily/tie-column.cc (set_chord_outlines): set outline for line
9129 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9131 * lily/pango-font.cc (text_stencil): don't translate glyphs in
9132 unscaled transform, just translate stencils.
9134 * ly/performer-init.ly: init timing to #t. Fixes bar checks in
9137 * scm/define-markup-commands.scm (wordwrap-string): use
9139 (wordwrap-stencils): idem.
9142 (wordwrap-stencils): translate last line to right for
9143 text-direction = LEFT.
9145 * scm/define-grob-properties.scm (all-user-grob-properties): add
9148 2005-08-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
9150 * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9151 when copying a Lily_parser object.
9153 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9155 * scm/define-markup-commands.scm (null): add null markup.
9157 2005-08-25 Mats Bengtsson <mabe@s3.kth.se>
9159 * lily/item.cc: Add documentation of center-invisible
9161 2005-08-24 Graham Percival <gpermus@gmail.com>
9163 * Documentation/user/advanced-notation.itely: add info about
9166 * Documentation/user/programming-interface.itely: fix example
9167 involving raised text.
9169 2005-08-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
9171 * lily/beam.cc (print): fix X start/end points of isolated
9174 * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9176 * lily/multi-measure-rest.cc (set_text_rods): new function.
9178 * lily/vertical-align-engraver.cc (process_music): call
9179 Align_interface::set_axis(). This forces #'elements to be ordered,
9180 preventing random vertical reordering of staves.
9182 * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9183 add avoid-slur property.
9185 * Documentation/user/basic-notation.itely (Measure repeats): add
9186 countPercentRepeats example.
9188 * Documentation/user/advanced-notation.itely (Other text markup
9189 issues): remove remark about normal-font. We have \normal-text
9191 * input/regression/tie-chord.ly: add note about remaining bugs.
9193 * lily/tie.cc (print): try Tie_column::set_directions () if
9194 control-points not yet defined.
9196 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9198 * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9199 extent. This fixes braces falling out of the EPS bbox.
9201 * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9204 2005-08-23 Graham Percival <gpermus@gmail.com>
9206 * {various} : change #up->#UP and #down->#DOWN.
9208 * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9210 * Documentation/user/advanced-notation.itely: clarify
9211 what objects handles text on a multimeasure rest.
9213 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9215 * VERSION (PATCH_LEVEL): release 2.7.7
9217 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9219 * make/lilypond-vars.make: set -dgs-font-load for "make web"
9221 * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9223 * input/regression/*.ly: formatting clean-up. Default layout
9224 before music expression.
9226 * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9227 romanze28-2 example.
9229 * scm/ps-to-png.scm: remove dir-re function.
9230 (make-ps-images): generate page names, instead of globbing them.
9231 This brings down LilyPond memory usage for make web by a factor
9234 * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9235 don't use glob. With 3000 files, globbing
9236 Documentation/user/out-www/ can take too much time.
9238 * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9240 * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9242 * input/regression/tie-manual.ly: new file
9244 * input/regression/tie-chord.ly: update.
9246 * flower/include/interval.hh (struct Interval_t):
9248 * lily/tie.cc (distance): new function
9249 (height): new function.
9250 (init): new function
9251 (Tie_details): new struct.
9253 * lily/skyline.cc (skyline_height): new function.
9255 * lily/tie-column.cc (set_chord_outlines): new function.
9256 (new_directions): read tie-configuration
9258 * lily/skyline.cc: fix ASCII art.
9260 2005-08-22 Mats Bengtsson <mabe@s3.kth.se>
9262 * python/convertrules.py (string_or_scheme): Fix spelling error
9264 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9266 * lily/tie-column.cc (set_directions): set directions only once.
9267 (add_configuration): new function.
9269 * lily/tie.cc (set_control_points): new function
9271 * lily/tie-column.cc (new_directions): new function.
9273 * ly/music-functions-init.ly: set 'pitch property
9274 iso. trill-pitch. This makes \relative work with \pitchedTrill
9276 * lily/tie.cc (get_configuration): new function. Don't generate
9277 control points, rather, generate configuration.
9278 remove head-pair property.
9280 * lily/include/tie.hh (struct Tie_configuration): new struct.
9282 2005-08-22 Heikki Junes <hjunes@cc.hut.fi>
9284 * Documentation/topdocs/NEWS.tely: clarify.
9286 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9288 * lily/tie.cc: remove minimum-length
9290 * scm/define-grob-properties.scm (all-user-grob-properties):
9291 remove staffline-clearance, y-offset
9293 * input/regression/tie-dots.ly (Module): remove.
9295 * lily/tie.cc (get_control_points): rewrite. Put short ties in
9296 staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9298 * input/regression/tie-single.ly: new file.
9300 2005-08-21 Graham Percival <gpermus@gmail.com>
9302 * ly/bagpipe.ly: fix compile problem.
9304 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9306 * lily/midi-item.cc (name): new method.
9308 * lily/staff-performer.cc (acknowledge_audio_element): use
9309 signature of baseclass.
9311 * lily/engraver-group.cc (do_announces): move recursion call out
9314 * lily/drum-note-performer.cc (class Drum_note_performer): use
9315 process_music everywhere.
9317 * ly/performer-init.ly: add default children everywhere.
9319 * lily/paper-book.cc (output): call paper-book-write-midis
9320 directly: always write MIDI, even if no \layout {} block.
9322 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9324 * VERSION (PACKAGE_NAME): release 2.7.6
9326 * lily/percent-repeat-engraver.cc (try_music): don't print warning
9327 about not being able to handle repeat.
9329 2005-08-19 Jan Nieuwenhuizen <janneke@gnu.org>
9331 * Documentation/user/examples.itely (Piano templates):
9332 * lily/include/performer-group.hh: Remove last traces of
9333 Performer_group_performer. Fixes make web.
9335 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9337 * Documentation/user/examples.itely (Piano templates): change
9338 Engraver_group_engraver -> Engraver_group
9340 * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9341 scm_stand_in_procs is not weak_any.
9343 * lily/volta-bracket.cc (print): don't use strcmp().
9345 * lily/volta-engraver.cc (process_music): use
9346 Text_interface::is_markup() for setting the 'text property of the
9349 * input/mutopia/claop.py (accents): update syntax to 2.6
9351 * scm/define-context-properties.scm
9352 (all-user-translation-properties): add countPercentRepeats.
9354 * Documentation/user/basic-notation.itely (Measure repeats): add
9355 isolated percent example.
9357 2005-08-18 Graham Percival <gpermus@gmail.com>
9359 * input/ {various}: change direction #1, #-1 to
9360 #up/#down or \fooUp, \fooDown.
9362 * Documentation/user/music-glossary.tely: #-1 to #down.
9364 * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9365 to #up, #-1 to #down.
9367 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9369 * lily/include/engraver-group.hh: rename.
9371 * lily/include/performer-group.hh: rename.
9373 2005-08-18 Mats Bengtsson <mabe@s3.kth.se>
9375 * input/test/script-abbreviations.ly: Removed some old LaTeX
9378 2005-08-18 Jan Nieuwenhuizen <janneke@gnu.org>
9380 * python/convertrules.py (conv): inside-slur -> avoid-slur.
9381 Remove functions. Remove if 1: constructs, reindent.
9383 * scripts/convert-ly.py (add_version): Add functions from
9386 * scm/script.scm (default-script-alist):
9387 s/priority/script-priority. Fixes script stacking. Backportme.
9388 (Fermata): Very low priority.
9390 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9392 * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9394 * input/regression/slur-script.ly: remove padding tweaks. Add
9397 * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9398 time sigs and related stuff.
9400 * scm/define-grob-properties.scm (all-user-grob-properties): add