1 2006-11-07 Erlend Aasland <erlenda@gmail.com>
3 * scm/music-function.scm (add-ballon-text): add FIXME comment.
5 * scm/define-grob-properties.scm: remove old balloon stuff,
6 and do some trivial beautification.
8 2006-11-06 Nicolas Sceaux <nicolas.sceaux@free.fr>
10 * scm/music-functions.scm (markup-expression->make-markup): fix
11 the case when a markup found in a markup list is a simple
14 2006-11-05 Han-Wen Nienhuys <hanwen@lilypond.org>
16 * lily/instrument-name-engraver.cc:
17 * input/regression/instrument-name-dynamic.ly:
18 ignore dynamic and pedal line spanners.
20 * Documentation/topdocs/NEWS.tely:
21 * Documentation/user/advanced-notation.itely:
23 * input/regression/balloon.ly:
25 * ly/music-functions-init.ly:
26 * scm/define-event-classes.scm:
27 * scm/define-grobs.scm:
28 * scm/define-music-properties.scm:
29 * scm/define-music-types.scm:
31 * lily/balloon-engraver.cc:
32 rewrite balloon-text support. This is now a separate grob, with itsvictim as the parent. This involves addingBalloon_engraver, AnnotateOutputEvent, annotate-output-event,\balloonText, \balloonGrobText, and modifying Balloon_interface::print.
34 * lily/paper-score.cc:
37 * lily/chord-name-engraver.cc:
40 * lily/paper-score.cc:
41 some useless statistics.
43 * buildscripts/git-update-changelog.py:
44 update todo/done after rejection due to removal analysis.
46 * buildscripts/git-update-changelog.py:
47 check whether removals from a diff actually apply.
49 2006-11-05 Joe Neeman <joeneeman@gmail.com>
51 * lily/include/page-turn-page-breaking.hh: remove unused
54 * lily/page-turn-page-breaking.cc (calc_demerits):
55 * lily/optimal-page-breaking.cc (try_page_spacing): remove
58 2006-11-05 Werner Lemberg <wl@gnu.org>
60 * Documentation/user/changing-defaults.itely,
61 Documentation/user/preface.itely: Use `--', not `---'.
64 * Documentation/user/introduction.itely: Minor improvements.
65 (Automated engraving): Make example using \applyOutput work
68 * input/regression/apply-output.ly: Improve.
70 2006-11-05 Han-Wen Nienhuys <hanwen@lilypond.org>
72 * lily/dynamic-engraver.cc:
75 * input/regression/note-head-harmonic.ly:
77 * input/regression/note-head-harmonic-whole.ly:
78 Center harmonic heads if stem is invisible. Fixes #140
81 end context snippet with '\n'
84 catch all GUILE exceptions
89 * lily/include/lily-lexer.hh:
91 * lily/lily-parser.cc:
92 Lily_parser* arg for copy ctor too.
95 abc2ly new tempo syntax
97 2006-11-04 Heikki Junes <hjunes@gmail.com>
99 * po/fi.po: update Finnish translation.
101 2006-11-03 Graham Percival <gpermus@gmail.com>
103 * Documentation/user/ {various}: rename page->spacing,
104 global->non-music, invoking->running, example->templates.
106 2006-11-03 Nicolas Sceaux <nicolas.sceaux@free.fr>
108 * scm/display-lily.scm: add a parser argument to display methods,
109 instead of using a *parser* special variable.
111 * scm/define-music-display-methods.scm: add a parser argument to
112 display methods. Update the methods for \melisma, \melismaEnd,
113 \breathe, \tempo, \partial.
115 * input/no-notation/display-lily-tests.ly: update the test
116 utilities according to the changes in display-lily.scm
118 2006-11-03 Han-Wen Nienhuys <hanwen@lilypond.org>
120 * *: The Joy of Merging.
122 * buildscripts/git-update-changelog.py:
123 sort commits, and use .git-commits-done file.
127 dist emacs patches too.
129 2006-11-02 Han-Wen Nienhuys <hanwen@lilypond.org>
131 * scm/autochange.scm:
134 * lily/context-def.cc:
135 * lily/include/parse-scm.hh:
136 * lily/include/smobs.hh:
139 * lily/program-option.cc:
141 implement and use ASSERT_LIVE_IS_ALLOWED()
143 * ly/music-functions-init.ly:
144 * scm/autochange.scm:
145 set-part-combine fix for autochange.
147 * lily/include/lily-lexer.hh:
148 * lily/include/lily-parser.hh:
149 * lily/lily-lexer.cc:
150 * lily/lily-parser-scheme.cc:
151 * lily/lily-parser.cc:
152 clear lexer scopes after parsing file. Plugs pseudo memory leak
154 * ly/declarations-init.ly:
155 * ly/music-functions-init.ly:
156 * scm/part-combiner.scm:
157 Remove set-part-combine-listener. This plugs a memory leak.
163 don't delete .scale.pfa; the FF script may not have read themyet. Fixes brace OTF bug
168 * lily/part-combine-iterator.cc:
169 don't allocate part combine events statically. Plugs small leak.
171 * lily/lily-parser-scheme.cc:
172 plug memleak in case of failed files.
174 * lily/include/source.hh:
179 hi-bit ascii is also counted as alpha chars. This allows unicodeidentifiers, and fixes premature stop at accented char. (#134)
181 * lily/include/program-option.hh:
182 * lily/program-option.cc:
183 get_program_option() function
185 * ly/titling-init.ly:
186 change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing.
188 * lily/include/translator.hh:
189 * lily/include/translator.icc:
190 * lily/translator.cc:
193 * lily/figured-bass-engraver.cc:
194 don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128.
196 * stepmake/stepmake/compile-vars.make:
197 don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC
199 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
205 trim warning messages.
210 * input/regression/utf-8.ly:
211 document utf-8 meaning of phrases.
213 * scm/define-markup-commands.scm:
214 make \caps markup default to smallCaps
216 * lily/pango-font.cc:
218 use glyph indexing for glyph name .notdef
220 2006-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
222 * input/regression/utf-8.ly: Fix doc to match order of language
225 2006-11-01 Joe Neeman <joeneeman@gmail.com>
227 * lily/optimal-page-breaking.cc (try_page_spacing): don't average
228 page and line forces.
230 2006-11-01 Han-Wen Nienhuys <hanwen@lilypond.org>
232 * GNUmakefile.in (SUBDIRS): remove cygwin dir too.
234 2006-10-31 Han-Wen Nienhuys <hanwen@lilypond.org>
236 * Documentation/user/GNUmakefile:
237 don't use ImageMagick, use GS directly.
240 otf depends on otf-g?table. Fixes race condition in -j2 build.
241 (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)
247 remove .deb/.rpm downloading.
249 * buildscripts/git-update-changelog.py:
250 bugfixes for git-update-changelog.py
252 * Documentation/user/GNUmakefile:
255 2006-10-30 Han-Wen Nienhuys <hanwen@lilypond.org>
257 * input/regression/tie-semi-single.ly:
258 use position/direction from single tie case too. This fixes
259 overrides and defaults for single laissez-vibrer and repeat ties.
261 * buildscripts/git-update-changelog.py:
262 only prepend header if one patch was successful.
264 2006-10-31 Jan Nieuwenhuizen <janneke@gnu.org>
266 * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
267 stuff. Remove cygwin packaging stuff.
269 2006-10-30 Jan Nieuwenhuizen <janneke@gnu.org>
271 * python/convertrules.py (conv): Part 2 fixes vertical extent.
273 * input/test/vertical-extent.ly: Fix and elaborate on vertical
274 staff extent. (Thanks Mats)
276 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
278 * buildscripts/git-update-changelog.py (main): write .msg and cvs
281 * scm/define-grobs.scm:
282 separation-items have width
288 * Documentation/topdocs/NEWS.tely:
289 * lily/separating-group-spanner.cc:
290 * lily/slur-engraver.cc:
291 * lily/slur-scoring.cc:
292 * scm/define-grobs.scm:
293 * input/regression/slur-clef.ly:
294 add breakableSeparationItem to extra encompass for slurs. This
295 fixes slur/clef slur/key collisions etc. Should fix #49
297 * lily/include/slur-scoring.hh:
298 * lily/slur-scoring.cc:
299 Use X of separation item as slur start. Fixes #120
301 2006-10-29 Han-Wen Nienhuys <hanwen@lilypond.org>
303 * buildscripts/git-update-changelog.py (changelog_body): don't
306 * lily/grob.cc: add avoid-slur
308 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
312 move server/emacsclient to elisp/
314 * buildscripts/git-update-changelog.py (Commit.note_del_file):
317 * elisp/server.el.patch:
320 * elisp/emacsclient.patch:
323 * buildscripts/git-update-changelog.py:
330 * buildscripts/git-update-changelog.py:
331 script to update ChangeLog with Git messages.
333 * lily/beam-engraver.cc:
334 * input/regression/rest-pitched-beam.ly:
335 don't set callback if staff-position set. Fixes #126.
337 * lily/bar-number-engraver.cc:
339 * lily/fingering-engraver.cc:
340 * lily/grob-property.cc:
342 * lily/include/grob.hh:
343 * lily/include/lily-guile-macros.hh:
344 * lily/mark-engraver.cc:
345 * lily/melody-engraver.cc:
346 * lily/script-column.cc:
347 * lily/tie-formatting-problem.cc:
349 internal_get_property_data() using ly_symbol2scm()
351 * stepmake/stepmake/generic-targets.make:
352 create .gitignore in outdir.
357 2006-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
359 * input/test/vertical-extent.ly:
360 * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
362 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
364 * stepmake/bin/add-html-footer.py (compose): remove setgcos
366 2006-10-28 Han-Wen Nienhuys <hanwen@lilypond.org>
368 * GNUmakefile.in (install-help2man): install-help2man target.
370 2006-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
372 * SConstruct (configure): Do not check for /bin/sh.
374 2006-10-27 Han-Wen Nienhuys <hanwen@lilypond.org>
376 * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
379 * Documentation/topdocs/NEWS.tely (Top): add FretBoards example.
381 * input/regression/fret-boards.ly: new file.
383 * po/de.po: new po courtesy translation team.
385 * scripts/lilypond-book.py (get_option_parser): add newline to doc
388 2006-10-27 Mats Bengtsson <mabe@drongo.s3.kth.se>
390 * ly/gregorian-init.ly (neumeDemoLayout): update
391 minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent
393 * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
394 obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
396 2006-10-27 Erlend Aasland <erlenda@gmail.com>
398 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
399 Yet another build fix.
401 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
403 * SConstruct (lilypondprefix): use sorted() for list_sort()
406 2006-10-26 Jan Nieuwenhuizen <janneke@gnu.org>
408 * flower/SConscript: Unit test rules.
410 * flower/test-std.cc: Compile fix.
412 2006-10-26 Han-Wen Nienhuys <hanwen@lilypond.org>
414 * python/midi.c (pymidi_parse_track): warning fixes.
416 * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
417 include dot-column.hh
419 2006-10-26 Graham Percival <gpermus@gmail.com>
421 * Documentation/user/{basic-, global}: minor changes from mailist.
423 2006-10-26 Erlend Aasland <erlenda@gmail.com>
425 * scm/define-grobs.scm: trivial beautification
427 * lily/tie-performer.cc: no need to #include "pqueue.hh"
429 * lily/source-file.cc: put multibyte var inside #if clause
431 * scm/define-grob-interfaces.scm:
432 * scm/define-grob-properties.scm:
433 Build fix (string-fret-finger-combinations)
435 * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
438 * Documentation/user/lilypond-book.itely: Build fix.
440 2006-10-26 Joe Neeman <joeneeman@gmail.com>
442 * lily/system.cc (get_paper_system):
443 * lily/paper-book.cc (systems):
444 move most of the backwards compatibility stuff into
447 * Documentation/topdocs/NEWS.tely: add 2 entries for the
450 * Documentation/user/page.itely: remove time-scaled-music
451 bug for the Page_turn_engraver
453 * lily/paper-book.cc (set_system_penalty): backwards
454 compatibility (breakbefore) for the old page breaker
456 2006-10-25 Graham Percival <gpermus@gmail.com>
458 * Diocumentation/user/instrument-notation.itely: added more
459 info about stanzas; thanks Geoff!
461 * Documentation/user/ {basic, advanced}: small fixes from
464 * THANKS: add some bug reporters.
466 2006-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
468 * scm/define-context-properties.scm (all-user-translation-properties):
469 noteToFretFunction: Add.
471 * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
472 fret-diagram-interface (WAS: fret-board-interface). Fixes build.
474 2006-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
476 * flower/file-name.cc (dos_to_posix): Help std::string.copy with
479 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
480 Remove bashism in delete.
482 2006-10-25 Han-Wen Nienhuys <hanwen@lilypond.org>
484 * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
486 * scm/translation-functions.scm (determine-frets-mf): flatten let*
488 * scm/define-context-properties.scm
489 (all-user-translation-properties): add maximumFretStretch property.
491 * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
493 * lily/source-file.cc (get_counts): use multibyte variable.
495 * scm/translation-functions.scm (determine-frets-mf): new
496 function: compute fret numbers.
498 * scm/output-lib.scm (string-frets->description) new function.
499 (fret-board::calc-stencil): new function
501 * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
503 * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob.
505 * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
507 * lily/tab-note-heads-engraver.cc: cleanups.
509 * lily/fretboard-engraver.cc: new file
511 * ly/engraver-init.ly: add FretBoards context
513 2006-10-24 Joe Neeman <joeneeman@gmail.com>
515 * lily/grob.cc (pure_relative_y_coordinate)
516 (pure_height): use the new call_pure_function stuff
518 * lily/grob-property.cc (call_pure_function): wrapper for the scheme
521 * lily/side-position-interface.cc (pure_y_aligned_side): add an
524 * lily/simple-closure.cc (ly_eval_simple_closure): make
525 simple-closure evaluatable from scheme
526 (evaluate_with_simple_closure): make simple-closures pure-
529 * lily/slur.cc (pure_outside_slur_callback): new function
531 * ly/paper-defaults.ly: change default blank-page-force to 2 (this
532 fits in with previous changes that made the page forces much
535 * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
536 and pure-Y-extent into this new function.
537 (pure-conversions-alist): add outside-slur-callback
539 2006-10-24 Mats Bengtsson <mabe@drongo.s3.kth.se>
541 * Documentation/user/advanced-notation.itely (Instrument names):
542 Remove obsolete bug workaround for instrument names on piano
545 2006-10-24 Han-Wen Nienhuys <hanwen@lilypond.org>
547 * Documentation/user/lilypond-book.itely (Integrating DocBook and
548 music): patch by Bertalan Fodor for docbook.
550 * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
551 of $(LILYPOND). Prevents lilypond run for .txt files.
553 * INSTALL.txt: gitness.
555 * .cvsignore: update to force gitness.
557 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
559 * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
560 detect suicide in nested tuplets.
562 2006-10-23 Werner Lemberg <wl@gnu.org>
564 * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
565 typo in argument to FT_Get_X11_Font_Format.
567 2006-10-23 Han-Wen Nienhuys <hanwen@lilypond.org>
569 * stepmake/stepmake/po-vars.make: more gitness.
571 * flower/polynomial.cc (check_sol): no empty if bodies.
573 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
575 * stepmake/stepmake/po-vars.make: test change for GIT gateway.
577 2006-10-22 Jürgen Reuter <reuter@ipd.uka.de>
579 * Documentation/user/examples.itely (Transcription of mensural
580 music): Added more comments in .ly source. Suggest to remove
581 Forbid_line_break_engraver to allow line breaking at all bars.
583 * Documentation/user/instrument-notation.itely (Ancient
584 articulations): Updated @refbugs regarding episem.
586 * Documentation/user/instrument-notation.itely (Gregorian square
587 neumes ligatures): Added \augmentum dots. Updated @refbugs
588 regarding \augmentum.
590 * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
592 * input/test/ligature-vaticana.ly: Added \augmentum dots. Updated
595 * lily/vaticana-ligature-engraver.cc: Added TODO comment for
598 * ly/gregorian-init.ly: Added \augmentum macro.
600 2006-10-22 Han-Wen Nienhuys <hanwen@lilypond.org>
602 * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
604 * lily/pango-font.cc (pango_item_string_stencil): use
605 FT_Get_X11_Font_Format()
607 2006-10-22 John Mandereau <john.mandereau@free.fr>
609 * po/fr.po: update translation.
611 2006-10-21 Han-Wen Nienhuys <hanwen@lilypond.org>
613 * VERSION (PATCH_LEVEL): bump version
615 * input/regression/horizontal-bracket-break.ly: new file.
617 * scm/define-grobs.scm (all-grob-descriptions): calc
620 * lily/horizontal-bracket.cc (make_bracket): support
621 connect-to-neighbor. Fix #118
623 * VERSION: release 2.9.26-2
625 * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
627 * VERSION (PACKAGE_NAME): release 2.9.26
629 * buildscripts/output-distance.py (test_basic_compare): add
631 (FileLink.multi_img_cell): new function, glob multi-page png
634 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
636 * po/lilypond.pot: update.
638 * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
640 * Documentation/user/global.itely (File structure): remove
643 * lily/parser.yy (FIXME): remove ADDQUOTE
645 * Documentation/user/global.itely (Extracting fragments of
646 notation): new node, about clip systems.
648 * Documentation/user/lilypond-book.itely (Many quotes of a large
649 score): ref to clip systems.
651 * Documentation/user/instrument-notation.itely (Entering lyrics):
652 add note about lyric ties and required font.
654 * lily/open-type-font.cc (glyph_list): format errors.
656 * Documentation/user/programming-interface.itely (Scheme
657 procedures as properties): more doco on simple-closure and scheme
659 (Input variables and Scheme): use lilypond[verbatim], document
662 * Documentation/user/page.itely (Displaying spacing): use \book
663 explicitly, so arrows show .
664 (Line breaking): add note about Forbid_line_break_engraver
666 * Documentation/user/tweaks.itely (Common tweaks): also set length
667 to prevent tie squeezing.
668 (Default files): use @var{}
670 * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
671 (Generating LilyPond files): add FOMUS.
673 2006-10-20 Joe Neeman <joeneeman@gmail.com>
675 * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
676 Y-offset for TextScript and Script
678 * lily/text-engraver.cc (make_item):
679 * lily/script-engraver.cc (make_script_from_event):
680 remove call to Side_position_interface::set_axis since all scripts
681 now have this set by default
684 * lily/prob.cc: use variables
686 2006-10-20 Han-Wen Nienhuys <hanwen@lilypond.org>
688 * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
689 at typography, rather analyse stream event duration.
691 * Documentation/user/page.itely (Page formatting): set a6 paper
692 for system separator example.
694 * lily/arpeggio.cc (Module): idem.
696 * lily/accidental-placement.cc: add script-priority property.
698 * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
700 * lily/ttf.cc (print_trailer): if all else fails: use
701 glyphIndexXXXX as glyph name. Fixes #117.
703 * lily/pango-font.cc (pango_item_string_stencil): only use cmap
704 entry if cmap contains glyph.
705 (get_index_to_charcode_map): remove from Pango_font class, use
706 global filename -> font mapping.
707 (get_glyph_index_name): new function.
708 (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
711 * scripts/lilypond-book.py (main): use -deps-box-padding=-3
713 * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
716 * scm/define-grob-properties.scm (all-user-grob-properties):
717 remove outdated doc. Fixes #116
719 * lily/completion-note-heads-engraver.cc (process_music): always
720 clone input events; otherwise we may overwrite input 'duration
721 property. Fixes #115.
723 * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
726 * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
729 * VERSION (PATCH_LEVEL): bump version.
731 2006-10-19 Han-Wen Nienhuys <hanwen@lilypond.org>
733 * lily/engraver.cc (internal_make_grob): use variables.
735 * flower/string-convert.cc (dec2double): clean-up warnings.
737 * configure.in (CXXFLAGS): add -Werror.
739 * VERSION (PACKAGE_NAME): release 2.9.25
741 2006-10-18 Joe Neeman <joeneeman@gmail.com>
743 * lily/simple-spacer.cc (get_line_forces): test for non-fitting
744 line even if we precede a forced break.
746 * lily/optimal-page-breaking.cc (try_page_spacing): square line
747 forces too. Make page-spacing weight default to 10 because the
748 changes to vertical springs decreased the page force/line force
749 proportions. Also, take the average of line force and page force
750 instead of just the sum.
752 * lily/constrained-breaking.cc (initialize): make the stiffness
753 of the vertical springs depend on the height of the system. This
754 prevents pages with only a few large systems from getting huge
757 * Documentation/user/page.itely (Page formatting): document the
758 change in default page-spacing-weight
760 * lily/include/constrained-breaking.hh: initialise bottom_padding_
762 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
764 * input/typography-demo.ly (melody): remove superfluous slur.
766 * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
767 add piano-pedal-script-interface
769 2006-10-18 Bertalan Fodor <lilypondtool@organum.hu>
771 * scripts/lilypond-book.py: DocBook support.
773 2006-10-18 Han-Wen Nienhuys <hanwen@lilypond.org>
775 * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
777 (stop_translation_timestep): set bound to currentMusicalColumn if
778 not set yet. Fixes #102
780 * lily/piano-pedal-bracket.cc: formatting.
782 * input/test/engraver-one-by-one.ly (MyStaff): reformat.
784 * lily/piano-pedal-align-engraver.cc: new class
785 Piano_pedal_align_engraver. Handle side-positioning Y-alignment
788 2006-10-18 Heikki Junes <hjunes@gmail.com>
790 * po/fi.po: Update Finnish translation (before the next release).
792 2006-10-17 Joe Neeman <joeneeman@gmail.com>
794 * lily/system.cc (get_paper_system): reinstate the backwards-
795 compatible page breaking for the old page breaker.
797 2006-10-17 Erik Sandberg <mandolaerik@gmail.com>
799 * lily/recording-group-engraver.cc: removed
801 * lily/context.cc, lily/translator-group.cc: Don't touch
802 Context::implementation_ if it's null
804 2006-10-17 Han-Wen Nienhuys <hanwen@lilypond.org>
806 * scm/paper.scm: only use left-margin if defined.
808 * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
810 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
812 * lily/new-fingering-engraver.cc: stringFingerOrientations ->
813 strokeFingerOrientations
815 * lily/script-column.cc (row_before_line_breaking): also handle
816 accidentals and arpeggios in horizontal script stacking.
818 * lily/script-row-engraver.cc (acknowledge_accidental_placement):
821 * input/regression/script-stack-horizontal.ly: trim.
823 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
825 * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
828 * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
829 'text if string argument.
831 * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
833 * scm/define-context-properties.scm
834 (all-user-translation-properties): change to strokeFingerOrientations
836 2006-10-16 Erik Sandberg <mandolaerik@gmail.com>
838 * lily/parser.yy: remove debug output
840 2006-10-16 Han-Wen Nienhuys <hanwen@lilypond.org>
842 * ly/paper-defaults.ly: set left/right margin.
844 * scm/paper.scm (set-paper-dimensions): use left-margin and
845 right-margin for computing linewidth.
847 * Documentation/topdocs/NEWS.tely (Top): idem.
849 * input/regression/lyric-tie.ly (texidoc): use vowels for tied
852 * scm/define-markup-commands.scm (tied-lyric): increase negative
853 space: space syllables tighter.
855 * VERSION (PATCH_LEVEL): bump version.
857 * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
860 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
862 * COPYING: further clarification
864 * VERSION: release 2.9.24
866 * input/regression/script-stack-horizontal.ly: add version.
868 * scm/lily-library.scm (list-join): use fold-right. Fixes #112
870 * input/regression/lyric-tie.ly (texidoc): use different words.
872 * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
874 2006-10-15 Erik Sandberg <mandolaerik@gmail.com>
876 * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
877 macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
879 2006-10-15 Han-Wen Nienhuys <hanwen@lilypond.org>
881 * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4;
883 * Doxyfile: remove file.
885 * scm/define-grob-interfaces.scm (string-finger-interface): add
886 string-finger-interface
888 * lily/general-scheme.cc (LY_DEFINE): move
889 ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[]
891 * Documentation/topdocs/NEWS.tely (Top): add note for
892 string-finger feature.
894 * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
897 * scm/output-lib.scm (string-finger::calc-text): read 'digit
900 * input/regression/script-stack-horizontal.ly: new file.
902 * ly/engraver-init.ly: add Script_row_engraver.
904 * lily/script-column.cc (order_grobs): refactor: separate axis
906 (row_before_line_breaking): new function.
908 * lily/script-row-engraver.cc (Script_row_engraver): new file.
910 * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
912 2006-10-14 Jürgen Reuter <reuter@ipd.uka.de>
914 * Documentation/user/instrument-notation.itely: Cleanup: Remove
915 annoying skip notes from mensural ligature example. Update
916 @refbugs for ligatures and mensural ligatures.
918 * lily/coherent-ligature-engraver.cc,
919 lily/include/coherent-ligature-engraver.hh,
920 lily/mensural-ligature-engraver.cc,
921 lily/vaticana-ligature-engraver.cc: Revise code for item
922 reparentizing. There should now be less programming_error
925 * lily/mensural-ligature-engraver.cc: Improve placement of dots.
927 * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
928 Maintenance bugfix: Don't create empty Stencil (), but empty box
929 instead. This fix should eliminate some programming_error
932 * ly/engraver-init.ly (MensuralStaff): Set default accidental
935 * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
936 \layout block _before_ score.
938 2006-10-14 Han-Wen Nienhuys <hanwen@lilypond.org>
940 * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
942 * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
944 2006-10-13 Erlend Aasland <erlenda@gmail.com>
946 * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
948 2006-10-13 Han-Wen Nienhuys <hanwen@lilypond.org>
950 * VERSION (PATCH_LEVEL): bump version.
952 * COPYING: clarify exception note.
954 * lily/main.cc: remove remark about "COPYING".
956 * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
957 system-count starts at 0 for each clip-region. Change name to
958 FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
959 layout block, per score.
961 2006-10-13 Erik Sandberg <mandolaerik@gmail.com>
963 * lily/input-smob.cc: add equal_p for Input
965 * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
968 * lily/parser.yy: MY_MAKE_MUSIC sets music origin
970 * lily/prob.cc: Add equal_p predicate for Prob
972 * lily/translator.cc: small cleanup
974 * scm/document-music.cc: use data from translator listener
975 registration to generate documentation for event classes
977 * lily/*: Eliminate accept arg of ADD_TRANSLATOR
979 * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
981 2006-10-13 Jan Nieuwenhuizen <janneke@gnu.org>
983 * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
985 2006-10-12 Jan Nieuwenhuizen <janneke@gnu.org>
987 * Documentation/topdocs/INSTALL.texi: Thinko.
989 * .cvsignore: Update.
991 * lexer-gcc-3.1.sh: Remove.
993 * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
994 Update anonymous cvs access. Remove comment about gcc 3.0.4.
996 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
998 * VERSION: release 2.9.23
1000 * lily/paper-column-engraver.cc (stop_translation_timestep): also
1001 typecheck barnumber.
1003 * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
1005 * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
1007 * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
1009 * input/regression/clip-systems.ly (Notes): new file.
1011 * scm/lily.scm (define-scheme-options): add clip-systems option.
1013 * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
1015 (dump-stencil-as-EPS): move bbox calculation from previous
1017 (output-framework): use -dclip-systems
1019 * scm/lily-library.scm (filtered-map): new function
1021 * scm/framework-ps.scm (clip-system-EPS): new function.
1022 (clip-system-EPSes): new function.
1024 * lily/paper-column.cc: add rhythmic-location to interface
1026 * scm/define-grob-properties.scm (all-user-grob-properties): add
1027 rhythmic-location property.
1029 * scm/clip-region.scm: new file: rhythmic-location data type and
1030 system-clipped-x-extent function.
1032 * ly/init.ly: use (scm clip-region)
1034 * lily/paper-column-engraver.cc (stop_translation_timestep): set
1035 rhythmic-location for paper column grobs.
1037 * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
1039 2006-10-12 Jürgen Reuter <reuter@ipd.uka.de>
1041 * ly/engraver-init.ly: Remove obsolete comment on
1042 Bar_number_engraver.
1044 * Documentation/user/instrument-notation.itely: Tune Ancient
1045 Articulations figure, such that the episem actually shows.
1047 * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
1048 fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
1050 * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
1053 2006-10-12 Graham Percival <gpermus@gmail.com>
1055 * Documentation/user/ {some}: minor edits that were lost somehow.
1057 2006-10-12 Han-Wen Nienhuys <hanwen@lilypond.org>
1059 * VERSION (PACKAGE_NAME): bump version.
1061 * input/regression/lyric-tie.ly (texidoc): new file.
1063 * Documentation/topdocs/NEWS.tely (Top): add new feature.
1065 * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
1067 * scm/define-markup-commands.scm (tied-lyric): new function: split
1068 string along ~ and reattach with U+203F (tie character) and
1071 * scm/output-lib.scm (lyric-text::calc-text): new function.
1073 * lily/lyric-engraver.cc (process_music): don't set 'text.
1075 * scm/output-lib.scm (string-finger::calc-text): new function
1076 (lyric-text::print): new function.
1078 * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1079 generic for fingering & string number. Use for string-finger.
1081 * scm/define-music-types.scm (music-descriptions): add
1084 * lily/fingering-engraver.cc (listen_string_finger): new function
1086 * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1088 * scm/define-context-properties.scm
1089 (all-user-translation-properties): add stringFingerOrientations
1091 2006-10-11 Jürgen Reuter <reuter@ipd.uka.de>
1093 * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1094 ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1096 * lily/dots.cc: Added style property for dots.
1098 * mf/parmesan-heads.mf: Fix typo in comment.
1100 * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1101 adding longa head to feta font and removing obsolete default
1102 mapping scheme code.
1104 2006-10-10 Han-Wen Nienhuys <hanwen@lilypond.org>
1106 * scm/output-lib.scm (fingering::calc-text): use origin
1107 event-property, not music-property.
1109 * lily/lilypond.rc.in: spell my name correctly.
1111 2006-10-10 Joe Neeman <joeneeman@gmail.com>
1113 * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1114 already have a non-empty extent. Fixes estimation for Hara-kiri
1117 2006-10-09 Jürgen Reuter <reuter@ipd.uka.de>
1119 * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1122 * lily/ligature-engraver.cc: Remove unused #include.
1124 * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1125 Bugfix: remove method check_for_prefix_loss(Item *) from global
1126 namespace to avoid namespace pollution.
1128 2006-10-09 Han-Wen Nienhuys <hanwen@lilypond.org>
1130 * VERSION: release 2.9.22
1132 * ly/generate-documentation.ly: update option name.
1134 * lily/dynamic-text-spanner.cc (print): revert fix.
1136 * scm/define-grob-interfaces.scm
1137 (trill-pitch-accidental-interface):
1138 add trill-pitch-accidental-interface
1140 * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1141 dereference if it's really a duration.
1143 * lily/figured-bass-engraver.cc (process_music): clear spanner if
1144 useBassFigureExtenders is not set.
1145 (listen_bass_figure): record as new event if
1146 useBassFigureExtenders not set. Fixes #103.
1148 * scm/stencil.scm (circle-stencil): don't center stencil argument,
1149 instead: move circle. Fixes #107.
1151 * scm/define-grobs.scm (all-grob-descriptions): set
1152 allow-loose-spacing for PaperColumn and
1153 NonMusicalPaperColumn. Kludge for #110.
1155 * lily/spaceable-grob.cc: add allow-loose-spacing property.
1157 * lily/spacing-determine-loose-columns.cc (is_loose_column):
1158 allow-loose-spacing property.
1160 * scm/define-markup-commands.scm (postscript): gsave & grestore
1161 around embedded PS. Do setlinewidth too. Fixes #109.
1163 2006-10-08 Jürgen Reuter <reuter@ipd.uka.de>
1165 * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1166 code. This patch fixes ligature brackets that were not at all
1169 2006-10-08 Graham Percival <gpermus@gmail.com>
1171 * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1173 * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1175 * scm/define-context-properties.scm: clarified docs (bug 91).
1177 * Documentation/user/basic-notation.itely: document volta brackets
1178 not aligning (bug 63).
1180 * Documentation/user/ global.itely invoking.itely: ignore or
1181 add warnings about texstr.
1183 2006-10-08 John Mandereau <john.mandereau@free.fr>
1185 * po/fr.po: update translation.
1187 * po/: update msgids.
1189 2006-10-08 Jan Nieuwenhuizen <janneke@gnu.org>
1191 * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1193 2006-10-08 Nicolas Sceaux <nicolas.sceaux@free.fr>
1195 * Documentation/user/page.itely (Two-pass vertical spacing): add
1196 documentation for two-pass spacing technique.
1198 2006-10-06 Graham Percival <gpermus@gmail.com>
1200 * Documentation/user/convert-ly.txt: new file; new
1201 storage place for this file (moved from bugs/ CVS).
1203 2006-10-06 Jürgen Reuter <reuter@ipd.uka.de>
1205 * lily/note-head.cc: Fixed programming_error message.
1207 2006-10-06 Han-Wen Nienhuys <hanwen@lilypond.org>
1209 * scm/define-grobs.scm (pure-conversion): move pure-callback
1212 * scm/script.scm (default-script-alist): set avoid-slur for turn,
1213 marcato, stopped, thumb.
1215 2006-10-05 Han-Wen Nienhuys <hanwen@lilypond.org>
1217 * lily/completion-note-heads-engraver.cc (process_music): don't
1218 skimp on memory usage.
1220 * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1223 * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1224 parenthesis item. This fixes premature Y-extent triggering. Fixes
1227 * VERSION (PATCH_LEVEL): bump version.
1229 2006-10-04 Graham Percival <gpermus@gmail.com>
1231 * Documentation/user/advanced-notation.itely: added
1232 info about instrument names for piano or other contexts,
1235 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1237 * mf/feta-bolletjes.mf (solfa_quarter_width): use
1238 solfa_base_notewidth as unit for non-DO-notes too.
1240 * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1242 * VERSION: release 2.9.21
1244 * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1247 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1249 * python/lilylib.py (progress): Minor fix.
1251 2006-10-04 Han-Wen Nienhuys <hanwen@lilypond.org>
1253 * lily/note-name-engraver.cc: doc engraver.
1255 * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1257 * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1259 * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1262 * lily/stem-engraver.cc (make_stem): don't set duration-log
1264 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1265 write snippet-names binary.
1267 * python/lilylib.py (system): use os.system for mingw32
1269 * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1272 * scm/backend-library.scm: update email address.
1274 * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1277 * scm/define-grobs.scm (all-grob-descriptions): use callback to
1280 * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1281 handle dot creation separately.
1283 * lily/tab-note-heads-engraver.cc (process_music): idem.
1285 * lily/drum-note-engraver.cc (process_music): idem.
1287 * lily/note-heads-engraver.cc (process_music): idem.
1289 * lily/rest-engraver.cc: don't set duration-log.
1291 * scm/output-lib.scm (string-number::calc-text): new function.
1292 (note-head::calc-duration-log): new function.
1294 * lily/fingering-engraver.cc (make_script): remove 'text setting.
1296 * scm/output-lib.scm (fingering::calc-text): new function.
1298 2006-10-04 Mats Bengtsson <mabe@drongo.s3.kth.se>
1300 * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1301 and include-eps-font -> include-eps-fonts
1303 2006-10-03 Han-Wen Nienhuys <hanwen@lilypond.org>
1305 * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1307 * lily/timing-translator.cc: list properties.
1308 (start_translation_timestep): update internalBarNumber too.
1310 * scm/define-context-properties.scm
1311 (all-user-translation-properties): add internalBarNumber.
1313 * input/regression/spacing-no-note.ly: new file.
1315 * buildscripts/output-distance.py (link_file): verbosity for OSError.
1317 * lily/book.cc: #include cleanup.
1319 * lily/include/lily-guile-macros.hh: add assert to
1320 scm_or_str2symbol(SCM).
1322 * VERSION (PATCH_LEVEL): bump version.
1324 * lily/spacing-spanner.cc (musical_column_spacing): handle
1325 musical->nonmusical spacing case, where there is no spacing
1326 wish. Fixes issue #61.
1328 * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1329 (pango_item_string_stencil): use logical rect horizontally (to
1330 preserve spaces), ink_rect vertically (for time signatures).
1332 * lily/font-metric.cc (word_stencil): new interface function
1334 * input/regression/utf-8-mixed-text.ly: new file.
1336 * lily/percent-repeat-engraver.cc (listen_percent): remove
1339 * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1340 non-dynamic scripts. Fixes #30.
1342 * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1344 * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1346 * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1347 SCM_UNDEFINED for non-existent data.
1349 * lily/side-position-interface.cc (general_side_position): allow
1350 optional current_offset argument for chaining, so combinations of side-position
1351 and outside slur callback don't add up. Fixes issue #92.
1353 * lily/pango-font.cc (pango_item_string_stencil): use
1354 logical_rect. This prevents spaces after words from disappearing,
1357 * VERSION: release 2.9.20
1359 2006-10-02 Han-Wen Nienhuys <hanwen@lilypond.org>
1361 * scm/define-grob-properties.scm (all-user-grob-properties):
1362 mention stencil as user settable.
1364 2006-10-02 Joe Neeman <joeneeman@gmail.com>
1366 * Documentation/user/page.itely (Page formatting):
1367 document auto-first-page-number
1369 * lily/page-breaking.cc (find_chunks_and_breaks):
1370 * lily/paper-score.cc (calc_breaking): Follow changes to the
1371 Constrained_breaking interface
1373 * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1374 here backwards, as an optimisation
1375 (initialize): new function; move most of the code in resize () here
1376 (combine_demerits): cache ragged_right_
1377 (Constrained_breaking): constructor now takes the Paper_score
1379 2006-10-02 Erik Sandberg <mandolaerik@gmail.com>
1381 * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1382 avoid parser lookahead for 0-ary functions.
1384 * lily/translator.cc: Extract event classes from
1385 IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1387 2006-10-02 Heikki Junes <hjunes@gmail.com>
1389 * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1392 2006-10-01 Nicolas Sceaux <nicolas.sceaux@free.fr>
1394 * scm/layout-page-layout.scm (page-breaking-wrapper): new
1395 function. Call the page breaking function selected in the
1396 `page-breaking' \paper variable, then the post processing function
1397 chosen using the `page-post-process' \paper variable.
1398 (line-height): new function. Return the height of a system.
1399 (line-minimum-position-on-page): new function. Return the position
1400 of a system on page (using the previous line position), only
1401 considering between system padding.
1402 (stretchable-line?): new function. Says whether a line can be
1403 stretched (ie. is not a title nor a single staff system).
1404 (page-maximum-space-left): new function. Computes space left on a
1405 page, when all systems are separated by their padding.
1407 * lily/page-breaking.cc (breaking::make_pages): Move page post
1408 processing function call to page breaking wrapper (common to all
1411 * lily/paper-book.cc (book::pages): call the page breaking
1412 wrapper, instead of the page breaker directly
1414 * ly/paper-defaults.ly: Add \paper variables for page breaking
1415 wrapper and page post processing function. Make
1416 `write-page-layout' value depend on the 'dump-tweaks option. Add a
1417 `system-maximum-stretch-procedure' variable for holding a function
1418 computing the maximum stretch a system allows.
1420 * scm/layout-page-dump.scm (write-page-breaks): computes the
1421 stretch to apply to systems on a page to minimize left
1422 space. Dump this stretch length.
1424 * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1425 the system-stretch property of the tweak data to stretch the
1427 (includePageLayoutFile): Void function which includes the
1428 generated page-layout file if it exists and if the page layout
1429 dumping is not asked.
1430 (scoreTweak): if the score tweak named by the argument exists,
1433 2006-10-01 Joe Neeman <joeneeman@gmail.com>
1435 * lily/page-spacing.cc (compress_lines, uncompress_solution):
1436 handle correctly the case where there are multiple \noPageBreaks
1439 2006-09-30 Laura Conrad <lconrad@laymusic.org>
1441 * abc2ly.py adds segno (S) and Coda (O) to articulations.
1443 * abc2ly.py fix so that entering " -- " will translate to a -- in
1444 the lilypond instead of a " - - "
1446 2006-09-30 Han-Wen Nienhuys <hanwen@lilypond.org>
1448 * lily/align-interface.cc: fix typo
1450 * lily/dynamic-text-spanner.cc (print): Add a special case for
1451 trill spanner right sides.
1453 * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1455 * lily/align-interface.cc (get_extents_aligned_translates): add
1456 support for padding variable.
1458 * lily/break-align-interface.cc (self_align_callback): oops: use
1459 loop variable in guard.
1461 * input/regression/repeat-percent-grace.ly: new file.
1463 * lily/percent-repeat-engraver.cc (start_translation_timestep):
1464 remember first currentCommandColumn of a grace run. Fixes issue 70.
1466 * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1467 move class definition to CC file.
1469 * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1471 * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1472 measure-long repeats.
1474 * flower/include/international.hh: include stdarg.h
1476 2006-09-30 Joe Neeman <joeneeman@gmail.com>
1478 * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1479 put_systems_on_pages to return an empty result, we need to assign
1480 demerits properly in that case.
1481 (put_systems_on_pages): Make the number of pages depend on the
1482 evenness of page_number. Add auto-first-page-number.
1483 (calc_subproblem): ensure that the page-number is even for the
1484 left-hand page. Warn if the first page-turn doesn't fit onto the
1485 first (right-hand) page.
1487 * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1488 (min_page_count): make this publicly accessible
1489 (min_page_count): fix a bug when there are forced page breaks that
1490 was introduced when I made this loop run backwards
1491 (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1492 replace space_systems_on_min_pages with these two. The logic in
1493 space_systems_on_min_pages was getting too convoluted and is better
1494 contained in page-turn-page-breaking.
1496 * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1498 (breakable_column): typo
1500 * lily/source-file.cc (get_line): fix off-by-one error
1501 and clean up some of the logic
1503 2006-09-29 Joe Neeman <joeneeman@gmail.com>
1505 * lily/page-breaking.cc (make_pages): honour the first-page-number
1508 2006-09-27 Han-Wen Nienhuys <hanwen@lilypond.org>
1510 * VERSION (PACKAGE_NAME): bump version.
1512 2006-09-26 Pal Benko <benko.pal@gmail.com>
1514 * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1515 (the latter is the same as petrucci-f which is kept for compatibility)
1517 2006-09-26 Erik Sandberg <mandolaerik@gmail.com>
1519 * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1521 2006-09-26 Han-Wen Nienhuys <hanwen@lilypond.org>
1523 * lily/global-context.cc (run_iterator_on_me): break out of loop
1524 if moment doesn't increase.
1526 * scm/define-grob-properties.scm (all-user-grob-properties): add
1529 * lily/accidental.cc (after_line_breaking): read forced property.
1531 * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1534 * input/regression/accidental-forced-tie.ly: new file.
1536 2006-09-25 Han-Wen Nienhuys <hanwen@lilypond.org>
1538 * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1540 * lily/figured-bass-engraver.cc: only listen to rest events if
1541 ignoreFiguredBassRest is not set.
1543 * scm/define-context-properties.scm
1544 (all-user-translation-properties): add ignoreFiguredBassRest property
1546 2006-09-24 Joe Neeman <joeneeman@gmail.com>
1548 * lily/paper-book.cc (get_system_specs):
1549 (set_system_penalty): fix breakbefore.
1550 We used to set a penalty on the system after the break, now we
1551 set a permission on the system before the break
1553 * lily/grob-property.cc: add scm debugging hooks into
1554 property modification
1556 * lily/context-property.cc:
1558 rename make_foo_from_properties to internal_make_foo and
1559 move it from context-property.cc to a member function of
1562 * lily/include/lily-guile-macros.hh:
1563 overload ly_symbol2scm macro so that there is no more need
1566 * lily/volta-repeat-iterator.cc:
1567 * lily/tweak-engraver.cc:
1568 * lily/tuplet-bracket.cc:
1569 * lily/span-bar-engraver.cc:
1570 * lily/script-engraver.cc:
1571 * lily/prob-scheme.cc:
1572 * lily/pointer-group-interface.cc:
1574 * lily/grob-scheme.cc:
1575 * lily/grob-property.cc:
1577 * lily/context-property.cc:
1578 * lily/break-substitution.cc:
1579 * lily/break-align-engraver.cc:
1580 * lily/axis-group-interface.cc:
1581 * lily/align-interface.cc:
1582 remove calls to internal_FOO
1584 * lily/system-start-delimiter-engraver.cc:
1585 * lily/parenthesis-engraver.cc:
1586 * lily/accidental-engraver.cc:
1587 remove calls to make_foo_from_properties
1589 2006-09-23 Graham Percival <gpermus@gmail.com>
1591 * Documentation/user/programming-iterfaces.itely: fix
1592 def-music-function -> define-music... leftover.
1594 2006-09-23 Joe Neeman <joeneeman@gmail.com>
1596 * lily/page-spacing.cc (min_page_count): by running the loop
1597 backwards, we can calculate ragged_last properly.
1599 2006-09-22 Mats Bengtsson <mabe@drongo.s3.kth.se>
1601 * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1602 printfirst-page-number -> print-first-page-number
1604 * python/convertrules.py: corresponding rule.
1606 * Documentation/user/page.itely (Page formatting): Document the
1607 default values of all page layout parameters.
1609 2006-09-22 Erik Sandberg <mandolaerik@gmail.com>
1611 * lily/lexer.ll: remove limitation on music function arity. New
1612 mode extratoken, which inserts extra EXPECT_* tokens after
1613 MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1615 * lily/parser.yy: Change grammar for music function accordingly.
1617 * lily/include/lily-parser.hh: New method get_state, new member
1618 hidden_state. Works around a problem when parser fetches
1619 MUSIC_FUNCTION token but not the following EXPECT_* token.
1621 * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1624 * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1625 references to Music; use ASSIGN_EVENT_ONCE everywhere
1627 * lily/grob-info.cc: junk *music_cause
1629 * lily/music.cc: copy eventified articulations to stream event
1631 * lily/part-combine-iterator.cc: Cleanup using enums
1633 * lily/translator-group.cc: Junk OldMusicEvent, and associated
1636 * lily/include/engraver.hh: Junk music.hh include
1638 * lily/stream-event.cc: Changed constructors
1640 2006-09-21 Graham Percival <gpermus@gmail.com>
1642 * Documentation/user/tweaks.itely (Fitting music onto fewer
1643 pages): change settings to avoid warning messages.
1645 2006-09-21 Mats Bengtsson <mabe@drongo.s3.kth.se>
1647 * Documentation/user/tweaks.itely (Fitting music onto fewer
1648 pages): Add between-system-space setting.
1650 2006-09-21 Han-Wen Nienhuys <hanwen@lilypond.org>
1652 * lily/accidental-placement.cc (calc_positioning_done): don't
1653 trigger Y-extent calculation too early. Use pure_height instead.
1655 * lily/scale.cc (LY_DEFINE): new file.
1657 2006-09-20 Joe Neeman <joeneeman@gmail.com>
1659 * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1660 that happen at the start of a score: having a zero-length
1661 chunk was messing up min_system_count calculations.
1663 * lily/source-file.cc (get_line): lower_bound, not
1664 binary_search. Fixes problem where point-and-click would
1665 always point to the first line.
1667 2006-09-20 Han-Wen Nienhuys <hanwen@lilypond.org>
1669 * lily/accidental-placement.cc (calc_positioning_done): also put
1670 stems into accidental support.
1672 * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1675 * scm/script.scm (default-script-alist): avoid-slur and
1676 slur-padding for portato script.
1678 * lily/stem-tremolo.cc (translated_stencil): new function.
1679 (height): use new function. Fixes tremolos on whole notes.
1681 * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1684 2006-09-19 Han-Wen Nienhuys <hanwen@lilypond.org>
1686 * scripts/abc2ly.py (try_parse_comment): idem.
1688 * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1689 bar_string iso. string.find()
1693 * lily/slur.cc (get_curve): always use scm_is_pair() looping
1696 2006-09-18 Graham Percival <gpermus@gmail.com>
1698 * Documentation/user/basic-notation.itely: add bug
1699 warning about ties and octavation/clef.
1701 2006-09-18 Han-Wen Nienhuys <hanwen@lilypond.org>
1703 * VERSION (PACKAGE_NAME): release 2.9.18
1705 2006-08-29 Milan Zamazal <pdm@brailcom.org>
1707 * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1708 figure out midi file names right here.
1710 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1712 * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1714 * scm/backend-library.scm: option naming: gs-font-load*s*
1716 * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1719 2006-09-17 Joe Neeman <joeneeman@gmail.com>
1721 * scm/define-music-types.scm (music-descriptions): remove
1722 BreakEvent and fix {Page,Line}{Break,Turn}Event so
1723 Music::to_event doesn't complain.
1725 * lily/accidental-placement.cc (ape_compare):
1726 * lily/semi-tie.cc (compare):
1727 * lily/note-column.cc (shift_compare): replace by XXX_less
1729 * lily/tie-formatting-problem.cc (set_chord_outline):
1730 * lily/tie-column.cc (calc_positioning_done):
1731 * lily/system.cc (post_processing)
1733 * lily/stem.cc (note_head_positions)
1734 (calc_positioning_done):
1735 * lily/spanner.cc (do_break_processing)
1736 (find_broken_piece):
1737 * lily/span-bar.cc (print):
1738 * lily/semi-tie-column.cc (calc_positioning_done):
1739 * lily/rest-collision.cc (calc_positioning_done):
1740 * lily/program-option.cc (get_help_string):
1741 * lily/note-collision.cc (get_clash_groups):
1742 * lily/new-fingering-engraver.cc (position_scripts):
1743 * lily/keyword.cc (Keyword_table):
1744 * lily/hara-kiri-group-spanner.cc (request_suicide):
1745 * lily/grob-pq-engraver.cc (stop_translation_timestep):
1746 * lily/accidental-placement.cc (calc_positioning_done):
1748 * lily/beam.cc (get_beam_segments):
1749 * lily/grob-array.cc (remove_duplicates):
1752 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1753 ragged-last-bottom = ##f (test the new page breaker)
1755 * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1757 * scm/define-context-properties.scm
1758 (all-internal-translation-properties): remove properties that
1759 were used to communicate page-turn stuff to the paper-column
1762 * lily/lily-guile.cc (robust_scm2string): new function
1764 * lily/paper-column-engraver.cc: Clean up page turn stuff
1766 * lily/page-turn-engraver.cc: Re-write the page turn logic here
1767 instead of cluttering up paper-column-engraver.cc
1769 2006-09-17 Nicolas Sceaux <nicolas.sceaux@free.fr>
1771 * scm/layout-page-dump.scm (scm): export utility function names,
1772 to allow user writing cutsom dumping functions.
1774 * scm/layout-page-layout.scm: export utility function names to
1775 enable custom page breaking function writing. Tabify.
1776 (line-next-space): use ?-suffix only for predicates
1777 (page-maximum-space-to-fill): new function. Return the space
1778 between first and bottom system of a page, to give to
1780 (space-systems): use a space-to-fill argument (for instance as
1781 computed by page-maximum-space-to-fill) instead of computing
1782 internaly this space with the page height. That way, the caller
1783 can adjust the space to use.
1784 (make-page-from-systems, walk-paths): compute space to fill before
1785 calling space-systems.
1787 2006-09-17 Han-Wen Nienhuys <hanwen@lilypond.org>
1789 * scm/script.scm (default-script-alist): set paddings for every
1790 type here, increase for portato mark.
1792 * scm/lily.scm (define-scheme-options): typo: add s, so it is
1795 2006-09-16 Han-Wen Nienhuys <hanwen@lilypond.org>
1797 * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1798 use spanner::set-spacing-rods
1800 * lily/note-column.cc: reformat.
1802 * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1803 step positioning for note/rest combinations.
1805 * input/regression/rest-note-collision.ly: new file.
1807 * scm/define-grobs.scm (all-grob-descriptions): add
1810 * flower/include/std-vector.hh: switch off again.
1812 * VERSION (PATCH_LEVEL): bump to 2.9.18
1814 * flower/include/std-string.hh: idem.
1816 * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1818 2006-09-15 Mats Bengtsson <mabe@drongo.s3.kth.se>
1820 * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1823 2006-09-08 Joe Neeman <joeneeman@gmail.com>
1825 * Documentation/user/page.itely: update page breaking documentation
1827 2006-09-07 Han-Wen Nienhuys <hanwen@lilypond.org>
1829 * lily/note-collision.cc (calc_positioning_done): only access
1830 first head if available.
1832 * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1834 * scm/framework-ps.scm (output-preview-framework): use new name.
1836 * lily/program-option.cc (internal_set_option): use new names.
1838 * Documentation/user/SConscript (lilypond_book_flags): update -d
1841 * Documentation/user/lilypond-book.itely (Inserting LilyPond
1842 output into other programs): new variable names.
1844 * scm/lily.scm (define-scheme-options): uniformize var names.
1846 * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1847 tuplets_ is non-empty before popping.
1849 2006-09-07 Joe Neeman <joeneeman@gmail.com>
1851 * lily/spanner.cc (find_broken_piece):
1852 * lily/spacing-spanner.cc (get_columns):
1853 * lily/source-file.cc (get_line):
1854 * lily/simple-spacer.cc (get_column_description):
1855 * lily/keyword.cc (lookup):
1856 use the new binary search.
1858 * flower/include/std-vector.hh: replace binary_search with
1859 a more STL-like version
1861 2006-09-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1863 * lily/tie-performer.cc: remove unused last_event_ property.
1864 (class Tie_performer): add now_tied_heads_ property for
1865 partially-tied heads.
1866 (acknowledge_audio_element): when adding an Audio_note, put the
1867 note in now_tied_heads_ if the audio note is partially tied.
1868 (stop_translation_timestep): always include entries in
1869 now_tied_heads_ in heads_to_tie_.
1871 * lily/drum-note-performer.cc (process_music): look for tie-events
1872 in the articulations; pass to Audio_note constructor.
1874 * lily/note-performer.cc (process_music): look for tie-events in
1875 the articulations; pass to Audio_note constructor.
1877 * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1880 * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1881 include initializer in constructor.
1883 2006-09-02 Joe Neeman <joeneeman@gmail.com>
1885 * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1886 unless they are breakable. This fixes discrepancies between the forces
1887 calculated here and the forces calculated in get_line_configuration.
1889 * lily/grob.cc (pure_relative_y_coordinate): fix some
1890 mis-estimation that was happening with piano staves.
1892 * lily/constrained-breaking.cc (resize): don't choke if we get a
1893 measure that won't fit on a line.
1894 (combine_demerits): don't consider uniformity when ragged
1896 * lily/page-spacing.cc (solve): why the f* were there two of these?
1897 (calc_subproblem): properly handle the case where a system is taller
1900 * lily/system.cc (get_paper_system): ensure that all the permissions
1901 and penalties are passed to the paper systems.
1903 * lily/page-breaking.cc (create_system_list): support system-count.
1905 * scm/define-grobs.scm (pure-print-callbacks): add
1906 ly:script-interface::print
1908 * lily/page-spacing.cc (min_page_count): fix calculation of min
1909 pages if we are ragged and there are non-zero springs.
1911 * scm/layout-page-layout.scm: if the pure-height estimates are under
1912 the real height, allow space-systems to ignore padding if it is
1913 needed in order to fit the systems on one page
1915 * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
1917 (solve): fix performance problem. Make sure we always get at least
1920 * lily/page-breaking.cc (make_pages): include write-page-breaks
1923 * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
1925 * scm/define-grobs.scm: add the new slur-callback
1926 fix pure-relevant to not exclude grobs whose extent is already
1929 * ly/paper-defaults.ly: make ly:optimal-breaking the new default
1932 * lily/slur.cc (pure_height): new callback to estimate the height
1935 2006-09-02 Graham Percival <gpermus@gmail.com>
1937 * Documentation/user/invoking.itely: small update on
1938 MacOS X notes; thanks Trevor!
1940 2006-09-01 Han-Wen Nienhuys <hanwen@lilypond.org>
1942 * VERSION (MY_PATCH_LEVEL): release 2.9.17
1944 * lily/lexer.ll: accept EOF in all states.
1946 * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
1948 * lily/source-file.cc (Source_file): always 0-terminate character
1949 array, to prevent Flex from barfing.
1951 * lily/global-context.cc (get_output): robustness: don't crash if
1952 no Score context found.
1954 * lily/include/book.hh (class Book): idem.
1956 * lily/include/context-def.hh (struct Context_def): idem.
1958 * lily/include/score.hh (class Score): don't derive from Input.
1960 * lily/book.cc (Book): add a copy ctor.
1962 * buildscripts/output-distance.py (FileLink.calc_distance): count
1963 orphans in distance too.
1965 * python/midi.c (midi_parse_track): robustness: don't read past
1968 * ly/performer-init.ly: add Control_track_performer, move
1969 Tempo_performer and Time_signature_performer to Score.
1971 * lily/score-performer.cc (acknowledge_audio_elements): override
1972 from base class: add to audio-columns
1974 * lily/control-track-performer.cc (add_text): new file: generate
1977 * lily/performance.cc: move output_header_track to
1978 Control_track_performer ()
1980 * lily/midi-walker.cc (Midi_walker): get channel in constructor.
1982 * lily/include/midi-item.hh (class Midi_channel_item): insert
1983 class into hierarchy, for items that can have a channel setting. Dehungarify.
1985 * lily/include/performer.hh (class Performer): remove
1986 play_element(); move functionality into announce/acknowledge.
1988 * lily/audio-staff.cc (output): remove channel_ from Midi_track.
1990 * lily/tie-engraver.cc (stop_translation_timestep): only wipe
1991 heads_to_tie_ if there are new heads to tie. Fixes polyphony in ties.
1993 2006-08-28 Han-Wen Nienhuys <hanwen@lilypond.org>
1995 * lily/tie-engraver.cc (stop_translation_timestep): robustness for
1998 * lily/all-font-metrics.cc: remove TFM support.
2000 * lily/include/tfm.hh: remove TFM support, TFM reader.
2002 * lily/include/binary-source-file.hh: remove Binary_source_file.
2004 2006-08-27 Graham Percival <gpermus@gmail.com>
2006 * Documentation/topdocs/NEWS.itely: add @c marker for
2007 stuff I've processed.
2009 * Documentation/user/ various: info from NEWS.
2011 2006-08-27 Joe Neeman <joeneeman@gmail.com>
2013 * lily/paper-column-engraver.cc (finalize): Oops, this change
2014 should have gone in on 2006-08-23
2016 2006-08-26 Mats Bengtsson <mabe@s3.kth.se>
2018 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
2019 quotes to quote arguments. Fixes Windows problem.
2021 * python/lilylib.py (progress): idem
2023 2006-08-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2025 * scripts/musicxml2ly.py: fix for importing
2026 minor key signatures from MusicXML. (Phillip Kirlin)
2028 2006-08-24 Phillip Kirlin <pkirlin@acm.org>
2030 * python/musicxml.py:
2031 (Attributes.get_key_signature): now correctly retrieves mode from
2034 2006-08-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2036 * lily/parser.yy (output_def_body): take ownership of identifier
2039 * Documentation/user/advanced-notation.itely (Metronome marks):
2040 update use of \tempo in \midi.
2042 * VERSION: release 2.9.16
2044 2006-08-24 Erik Sandberg <mandolaerik@gmail.com>
2046 * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
2049 2006-08-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2051 * input/regression/tie-chord-partial.ly: clarify example.
2053 * scm/define-music-properties.scm (all-music-properties): remove
2056 * ly/music-functions-init.ly: remove \untied.
2058 * lily/tie-engraver.cc (struct Head_event_tuple): store both
2059 stream events and music events.
2060 (stop_translation_timestep): search acknowledged heads for
2063 * input/regression/tie-chord-partial.ly: new file.
2065 * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
2066 for \char markup command.
2068 * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2070 * scm/define-music-types.scm (music-descriptions): consistency:
2071 Use solo-{one,two}-event iso. solo-[12]-event.
2073 * lily/part-combine-engraver.cc (process_music):
2074 Use solo-{one,two}-event iso. solo-[12]-event.
2076 * ly/declarations-init.ly (partCombineListener): add Timing as
2079 * flower/std-string.cc (string_copy): use copy ()
2081 * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2083 2006-08-24 Graham Percival <gpermus@gmail.com>
2085 * Documentation/user/changing-defaults.itely, global.itely,
2086 lilypond-book.itely, page.itely: minor changes from mailist.
2088 2006-08-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2090 * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2093 * scm/define-context-properties.scm
2094 (translator-property-description): robustness: detect type errors
2095 in property definitions.
2097 * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2098 after getting it from SCM.
2100 * lily/smobs.cc (protect_smob): switch off fancy smob protection
2103 * lily/include/performer.hh (class Performer): strip get_tempo()
2106 * lily/midi-def.cc: strip file.
2108 * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2110 * lily/include/context-def.hh (struct Context_def): use
2111 VIRTUAL_COPY_CONSTRUCTOR().
2113 * lily/source-file.cc: smobification.
2115 * lily/include/source-file.hh (class Source_file): smobify
2116 Source_file. Trim redundant members.
2118 * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2119 clones after creation. This plugs a huge memory leak.
2121 * python/convertrules.py (FatalConversionError.sub_tempo):
2122 complete rule for \midi{ \tempo }
2124 * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2126 * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2128 2006-08-23 Joe Neeman <joeneeman@gmail.com>
2130 * input/regression/optimal-page-breaking-hstretch.ly: test for
2131 ragged-last-bottom also
2133 * lily/paper-column-engraver.cc (finalize): make the end of a score
2134 breakable by default. This is to balance out a change in behaviour
2135 of the page-turn-breaker which no longer makes the end of a score
2138 * lily/paper-book.cc (pages): set the systems_ once the pages are
2141 * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2142 Page_breaking interface.
2144 * lily/page-breaking.cc (class Page_breaking): make the interface
2145 more consistent and provide abstractions for dealing with
2148 * lily/optimal-page-breaking.cc (solve): use a more straightforward
2149 algorithm. Use the new interface to Page_breaking.
2151 * lily/page-spacing.cc: better support for ragged-bottom and
2154 2006-08-22 Han-Wen Nienhuys <hanwen@lilypond.org>
2156 * python/convertrules.py (conv): warning on \tempo{}
2158 * ly/performer-init.ly: set tempoWholesPerMinute.
2160 * ly/midi-init.ly: remove \midi
2162 * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2165 * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2166 tempoUnitDuration for determining what to print.
2168 * lily/lyric-extender.cc: typo.
2170 * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2172 * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2175 * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2177 * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2178 eps-pad-boxes is set.
2180 * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2182 * THANKS: update sponsors.
2184 * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2186 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2188 * input/regression/tie-chord-untied.ly: new file.
2190 * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2192 * scm/define-music-properties.scm (all-music-properties): add
2195 * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2197 (headertext_nopics): sanitize no-examples text.
2199 * scm/page.scm (make-page-stencil): don't rely on extents of
2200 page-stencil. This fixes spurious space around .EPS files produced
2201 with the EPS backend.
2203 2006-08-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2205 * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2207 * lily/hara-kiri-engraver.cc (process_music): remember
2208 keepAliveInterfaces after processing \set
2210 * lily/lyric-extender.cc (print): support left/right-padding for
2213 * scm/documentation-generate.scm (string-append): revert lilypond/
2216 2006-08-20 Graham Percival <gpermus@gmail.com>
2218 * Documentation/user/lilypond.tely: clarification to
2219 license presentation (not to actual license).
2221 * Documentation/user/basic-notation.itely,
2222 instrument-notation.itely: minor changes.
2224 * input/ {regression, test}/+.ly: clarification to
2225 text (you can click on examples). Thanks, Mats!
2227 * input/manual/bar-lines.ly: adds ||: repeats.
2229 2006-08-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2231 * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES
2233 * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2235 * Documentation/user/lilypond.tely: strip lilypond/ from info
2236 links, rename to category LilyPond
2238 * lily/pango-font.cc (description_string): new function.
2240 * VERSION: release 2.9.15
2242 * lily/spacing-engraver.cc (stop_translation_timestep): use
2243 Dscho's fix for spacing spanner.
2245 * scm/define-music-types.scm (music-descriptions): use
2246 apply-output-event for ApplyOutputEvent
2248 * lily/output-property-engraver.cc (listen_apply_output): rename
2249 from listen_layout_instruction.
2251 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2254 2006-08-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2256 * scm/lily.scm (lilypond-all): option read-file-list: substitute
2257 commandline args with contains, split by \n.
2259 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2260 write snippet-names file, call with -dread-file-list. Fixes
2261 command limitations on 64-bit systems.
2263 * input/regression/stencil-color-rotation.ly: new file.
2265 * lily/include/translator.hh (struct Acknowledge_information):
2266 revert: don't use Protected_scm in global objects, as GUILE can't
2267 handle gc_unprotect from automated destructors on MacOS X.
2269 * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2270 color, not the original stencil. Fixes combinations of
2271 color/transparency/rotation.
2273 * scripts/lilypond-book.py (main): add --formats=eps for
2276 * lily/spacing-engraver.cc (stop_translation_timestep): don't
2277 crash if spacing_ is nonexistent.
2279 2006-08-14 Mats Bengtsson <mabe@s3.kth.se>
2281 * scripts/lilypond-book.py (output): Remove obsolete(!?)
2282 \catcode`\@=12 in the LaTeX output.
2284 2006-08-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2286 * scm/define-music-types.scm (music-descriptions):
2287 use sustain-event iso. sustain-pedal-event.
2289 2006-08-11 Joe Neeman <joeneeman@gmail.com>
2291 * scripts/convert-ly.py: honour the -n command-line switch
2293 2006-08-10 Han-Wen Nienhuys <hanwen@lilypond.org>
2295 * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2296 break specification.
2298 2006-08-10 Joe Neeman <joeneeman@gmail.com>
2300 * Documentation/user: convert-ly the user manual
2302 2006-08-09 Han-Wen Nienhuys <hanwen@lilypond.org>
2304 * stepmake/aclocal.m4: version check patch (thanks MWD)
2306 * ly/music-functions-init.ly: robustness. Don't crash if
2307 currentBarNumber is not a number.
2309 * VERSION (PATCH_LEVEL): bump.
2311 2006-08-08 Han-Wen Nienhuys <hanwen@lilypond.org>
2313 * stepmake/aclocal.m4: better version check; handle fooX.Y
2316 * ly/performer-init.ly: instrument name fixup.
2318 * input/manual/chord-names-jazz.ly (banterProperties):
2319 instrumentName update
2321 * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2323 * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2325 * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2326 function. Use hash tables to check membership.
2328 * lily/general-scheme.cc (LY_DEFINE): new function.
2330 * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2332 * lily/include/translator.hh (struct Acknowledge_information): add
2335 * ly/music-functions-init.ly: change name to BreathingEvent
2337 * input/regression/*.ly: apply it.
2339 * python/convertrules.py (conv): better instrumentName conversion
2342 * scm/define-music-types.scm (music-descriptions): add
2343 line-break-event to LineBreakEvent music
2345 * lily/music.cc (to_event): don't crash if music type not set.
2347 * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2350 * lily/spacing-engraver.cc (stop_translation_timestep): set
2351 spacing for proportional notation too.
2353 * scm/translation-functions.scm (format-bass-figure): inspect
2356 * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2358 2006-08-08 Joe Neeman <joeneeman@gmail.com>
2360 * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2362 * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2364 * scm/layout-page-layout.scm (make-page-from-systems): new function
2365 (optimal-page-breaks): use the new page-breaking calling convention
2367 * scm/define-context-properties.scm (all-user-translation-properties):
2370 * lily/paper-column-engraver.cc (stop_translation_timestep): add
2371 revokePageTurns functionality. If there is a special barline within
2372 the breakable region, break there instead of at the end of the region.
2374 * lily/paper-book.cc (pages): use the new page-breaking calling
2377 2006-08-07 Erik Sandberg <mandolaerik@gmail.com>
2379 * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2381 * scripts/lilypond-book.py: insert \sourcefileline command in
2382 output, so lilypond error messages refer to the spot in the
2383 original .lytex / .itely sourcefile.
2385 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2387 * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2388 space to next column for distance to fixed col.
2390 * VERSION (PACKAGE_NAME): release 2.9.14
2392 * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2395 * lily/accidental-engraver.cc (process_acknowledged): don't create
2396 accidental for trill span event. This fixes spurious accidentals
2399 2006-08-04 Mats Bengtsson <mabe@s3.kth.se>
2401 * scm/define-grob-properties.scm (all-user-grob-properties):
2402 Clarify documentation of side-axis and direction. Thanks to Paul
2403 for the inspiration.
2405 * lily/bar-line.cc: Add documentation for "||:" also in the
2406 interface documentation.
2408 2006-08-04 Han-Wen Nienhuys <hanwen@lilypond.org>
2410 * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2412 * lily/paper-column.cc (set_system): new function.
2414 * lily/spacing-engraver.cc (stop_translation_timestep): store
2415 SpacingSpanner refs in Paper_column.
2417 * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2418 compute loose clique spacing using GraceSpacing/SpacingSpanner.
2420 2006-08-03 Han-Wen Nienhuys <hanwen@lilypond.org>
2422 * lily/beam-engraver.cc (listen_beam): add method for
2423 Grace_beam_engraver too.
2425 2006-08-03 Mats Bengtsson <mabe@s3.kth.se>
2427 * python/convertrules.py: Fix indentation bug that broke
2428 conversion of files older than 1.3.117.
2429 Fix escape error in the description for 2.9.6.
2431 2006-08-02 Erik Sandberg <mandolaerik@gmail.com>
2433 * lily/*-engraver.cc: convert all try_music functions to listen_*
2436 * lily/piano-pedal-engraver.cc: some additional cleanups: use
2437 enums to represent pedal types, and calculate more data statically.
2439 * scm/part-combiner.scm (recording-group-emulate): create a
2440 softcoded substitute for recording-group-engraver.cc.
2442 * lily/music.cc: make a common transpose function for events and
2445 * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2446 ManualMelismaEvent, and obsoletes Melisma_translator.
2448 2006-08-02 Han-Wen Nienhuys <hanwen@lilypond.org>
2450 * input/test/instrument-name-align.ly: update version.
2452 2006-08-02 Mats Bengtsson <mabe@s3.kth.se>
2454 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2455 Doc the --pdf flag to lilypond-book.
2457 2006-07-31 Han-Wen Nienhuys <hanwen@lilypond.org>
2459 * Documentation/topdocs/NEWS.tely (Top): add description.
2461 * input/regression/tuplet-full-length-note.ly: add file.
2463 * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2464 always store axis group.
2466 2006-07-27 Han-Wen Nienhuys <hanwen@lilypond.org>
2468 * input/regression/instrument-switch.ly: new file.
2470 * lily/instrument-switch-engraver.cc (process_music): new file.
2472 * ly/engraver-init.ly: add Instrument_switch_engraver
2474 * ly/music-functions-init.ly: \instrumentSwitch
2476 * scm/define-context-properties.scm
2477 (all-user-translation-properties): add instrumentCueName
2479 * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2481 2006-07-26 Han-Wen Nienhuys <hanwen@lilypond.org>
2483 * ly/music-functions-init.ly: music function \transposition.
2485 * lily/parser.yy (command_element): softcode \transposition.
2487 * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2488 (process_music): oops.
2490 * lily/instrument-name-engraver.cc (start_spanner): new
2491 function. Create spanner when property changes.
2492 (stop_spanner): new function.
2494 * python/convertrules.py (conv): add rule.
2496 * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2497 shortInstrumentName iso. instr.
2499 * scm/output-ps.scm (dashed-line): add phase argument to
2502 * lily/bar-line.cc (dashed_bar_line): new function.
2503 (compound_barline): support \bar "dashed".
2505 * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2506 --output=DIR to DIR/BASE if it is a dir.
2508 * flower/file-name.cc (file_part): new function
2509 (dir_part): new function
2511 * lily/lily-parser-scheme.cc (LY_DEFINE):
2513 * DEDICATION: update
2515 2006-07-25 Han-Wen Nienhuys <hanwen@lilypond.org>
2517 * lily/instrument-name-engraver.cc: formatting.
2519 * python/convertrules.py (conv): bugfix for \epsfile.
2521 2006-07-25 Joe Neeman <joeneeman@gmail.com>
2525 * lily/gourlay-breaking.cc: Oops, these should have been included
2528 2006-07-24 Han-Wen Nienhuys <hanwen@lilypond.org>
2530 * scripts/*.py (program_name): cleanup relocation snippets.
2532 * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2534 2006-07-24 Joe Neeman <joeneeman@gmail.com>
2536 * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2537 page-breakable by default
2539 * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2540 correctly calculated for a single-system page
2542 * scm/lily-library.scm (interval-sane?): also check that the first number is no
2543 bigger than the second number
2545 * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2546 acknowledge that we aren't satisfying constraints)
2548 * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2551 * lily/grob.cc (pure_height): add minimum-Y-extent
2553 * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2556 * lily/constrained-breaking.cc: convert code to use new Matrix class
2557 (get_best_solution): new function
2559 * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2560 is a page with no systems
2562 2006-07-23 Han-Wen Nienhuys <hanwen@lilypond.org>
2564 * VERSION (PACKAGE_NAME): release 2.9.13
2566 * scm/define-grobs.scm (all-grob-descriptions): remove stray
2569 2006-07-21 Han-Wen Nienhuys <hanwen@lilypond.org>
2571 * Documentation/topdocs/NEWS.tely (Top): doc new features.
2573 * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2576 * scm/define-grob-properties.scm (all-user-grob-properties):
2577 remove grace-space-factor.
2579 * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2580 grace-spacing-interface
2581 (spacing-options-interface): add.
2583 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2585 * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2587 * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2588 GraceSpacing object.
2590 * lily/note-spacing.cc: fix prop list formatting
2592 * lily/beaming-pattern.cc (de_grace): new function. Sensible
2593 beaming for grace notes too.
2595 * input/regression/spacing-grace.ly: update.
2597 * lily/grace-spacing-engraver.cc: new file.
2599 * lily/spacing-spanner.cc: add strict-grace-spacing.
2601 2006-07-20 Graham Percival <gpermus@gmail.com>
2603 * lily/parser.yy: compile fix.
2605 2006-07-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2607 * scm/define-grobs.scm (all-grob-descriptions): typo.
2609 * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2610 .eps extension from includegraphics.
2612 * scripts/lilypond-book.py (main): add support for --pdf.
2614 * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2615 callback to compute common shortest duration.
2616 (set_springs): typo.
2618 * scm/define-grob-properties.scm (all-user-grob-properties): add
2619 strict-grace-spacing.
2621 * lily/spacing-determine-loose-columns.cc (is_loose_column):
2622 support float_grace_columns_.
2624 * lily/spacing-options.cc (init_from_grob): new file.
2626 * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2628 * input/regression/spacing-loose-grace.ly: new file.
2630 * Documentation/topdocs/NEWS.tely (Top): document new feature.
2632 * lily/tuplet-engraver.cc (struct Tuplet_description): read
2633 tupletFullLengthNote too. Choose right bound depending on value.
2635 * input/regression/tuplet-full-length-note.ly: new file.
2637 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2639 * lily/*-performer.cc: Converted try_music to listen_*
2641 * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2642 as a stream-event internally. Introduce event_cause (), deprecate
2645 * scm/define-music-types.scm: Removed BusyPlayingEvent
2647 2006-07-19 Mats Bengtsson <mabe@s3.kth.se>
2649 * Documentation/user/advanced-notation.itely (Font selection):
2650 Document how to get a list of available fonts using 'lilypond
2651 -dshow-available-fonts blabla'.
2653 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2655 * GNUmakefile.in: filter lily-XXX.pdf files.
2657 * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2659 * scm/define-grob-properties.scm (all-internal-grob-properties):
2660 remove delta-pitch. Use delta-position everywhere.
2662 * scm/output-lib.scm (fall::print): use new order.
2664 * scm/output-ps.scm (path): reorder arguments.
2666 * scm/output-svg.scm (path): support for path primitive.
2668 * input/regression/bend-after.ly: new file.
2670 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2671 recipe for eps -> pdf conversion.
2673 2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
2675 * lily/parser.yy, lily/lexer.ll: added some simplifications by
2678 2006-07-19 Graham Percival <gpermus@gmail.com>
2680 * input/manual/screech-boink.ly: moved to here.
2682 * input/screech-boink.ly: deleted.
2684 * scm/define-grob-properties.scm: clarify doc string.
2686 2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2688 * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2690 * scm/output-ps.scm (path): define path.
2692 * scm/define-stencil-commands.scm
2693 (ly:register-stencil-expression): add path.
2695 * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2697 * ly/engraver-init.ly: add Fall_engraver
2699 * lily/parser.yy (music_function_event): allow musicfunction
2700 without music arg as music_function_event.
2702 * lily/grob-scheme.cc (LY_DEFINE):
2703 ly:grob-robust-relative-extent. New function.
2705 * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2707 * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2709 * scm/output-lib.scm (fall::print): new function
2711 * lily/fall-engraver.cc (stop_fall): new file.
2713 * ly/music-functions-init.ly: alphabetise.
2715 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2718 2006-07-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2720 * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2722 * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2725 * lily/translator-group.cc (connect_to_context): non const error message.
2727 * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2729 * scm/paper.scm (internal-set-paper-size): define landscape to #f
2732 * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape.
2734 * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2736 * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2739 * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2741 * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2743 * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2745 * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2747 * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2749 * scm/backend-library.scm (postscript->pdf): strip .eps too.
2751 2006-07-14 Nicolas Sceaux <nicolas.sceaux@free.fr>
2753 * scm/layout-page-layout.scm: Define module, tidy code, use more
2754 functions iso. a single big one.
2756 * scm/layout-page-dump.scm: move page dump functions used in two
2757 pass spacing to this file. Define module.
2759 * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2762 * ly/paper-defaults.ly: use module layout-page-layout.
2764 2006-07-14 Erik Sandberg <mandolaerik@gmail.com>
2766 * lily/music.cc: Revised MusicEvent event class. It now contains
2767 event data directly instead of encapsulating it in music. The
2768 previously used class is renamed to OldMusicEvent.
2770 * lily/stream-event.cc: Stream events are now probs.
2772 * lily/translator-group.cc, lily/translator.cc: Translators can
2773 now listen directly to stream events, by using macros
2774 [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2776 * lily/arpeggio-engraver.cc: Converted to use new event system
2778 * THANKS: Corrected spelling mistake.
2780 2006-07-12 Graham Percival <gpermus@gmail.com>
2782 * Documentation/user/SConscript, make/lilypond-vars.make,
2783 input/GNUmakefile: doc build looks in input/manual instead
2786 * input/manual/ GNUmakefile, SConscript: build files for
2789 * input/test/ various: some files moved to input/manual/
2791 * Documentation/user/basic-notation.itely: small updates;
2792 thanks Kieren and Charles!
2794 2006-07-12 Han-Wen Nienhuys <hanwen@lilypond.org>
2796 * VERSION (PACKAGE_NAME): release 2.9.11
2798 * Documentation/topdocs/NEWS.tely (Top): update prop value
2800 * Documentation/user/basic-notation.itely (Tuplets): new property
2803 2006-07-11 Han-Wen Nienhuys <hanwen@lilypond.org>
2805 * python/convertrules.py (conv): tweaks.
2807 * VERSION (PATCH_LEVEL): bump version.
2809 * python/convertrules.py (conv): add rule for
2810 tupletNumberFormatFunction.
2812 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2813 tupletNumberFormatFunction.
2815 * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2816 text through 'text callback.
2818 * lily/time-scaled-music-iterator.cc (construct_children): copy
2819 tweaks generated events.
2821 * scm/define-context-properties.scm
2822 (all-user-translation-properties): remove tupletNumberFormatFunction
2824 * lily/tuplet-engraver.cc (process_music): don't read
2825 tupletNumberFormatFunction
2827 * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2830 2006-07-11 Erik Sandberg <mandolaerik@gmail.com>
2832 * lily/global-context-scheme.cc: Separated ly:run-translator into
2835 * lily/score-engraver.cc, lily/score-performer.cc,
2836 scm/define-context-properties.scm: Make paper/midi output
2837 accessable as a context property.
2839 * lily/score-translator.cc, lily/score-context.cc: Removed.
2841 2006-07-07 Guido Amoruso <guidonte@katamail.com>
2843 * scm/ps-to-png.scm (Module):
2844 * scm/framework-tex.scm (Module):
2845 * scm/framework-ps.scm (Module):
2846 * scm/backend-library.scm (Module):
2847 * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2848 "dDEVICEHEIGHTPOINTS".
2850 2006-07-04 Graham Percival <gpermus@gmail.com>
2852 * Documentation/user/ various: general improvements to
2853 "working with lilypond files" section.
2855 2006-07-03 Erik Sandberg <mandolaerik@gmail.com>
2857 * lily/sequential-iterator.cc: Change the default get_music_list
2858 to read elements-callback music property
2860 * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2861 processing of multimeasure rests. Softcoded
2862 sequential-music-iterator.
2864 * lily/sequential-music-iterator.cc: Removed.
2866 2006-06-28 Graham Percival <gpermus@gmail.com>
2868 * Documentation/user/basic-notation.itely: clarify \repeatTie.
2870 2006-06-27 Erik Sandberg <mandolaerik@gmail.com>
2872 * lily/parser.yy: Wrap non-post-events in EventChords before
2873 assigning them to identifiers.
2875 2006-06-27 Mats Bengtsson <mabe@s3.kth.se>
2877 * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2878 gives correct vertical placement of \bar ":" in all staff
2879 sizes. Thanks Martial!
2881 2006-06-26 Graham Percival <gpermus@gmail.com>
2883 * Documentation/user/invoking.itely : minor update from mailist.
2885 2006-06-26 Erik Sandberg <mandolaerik@gmail.com>
2887 * lily/ various: Introduce stream events of types Prepare,
2888 OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2889 ChangeContext, SetProperty, RevertProperty, Override and Revert.
2891 * lily/global-context*.cc: Time is now -inf before iteration
2894 * lily/include/context.hh: Removed unique_, init_
2896 * Documentation/topdocs/NEWS: Make the feathered beam example
2897 avoid triggering a bug.
2899 2006-06-24 Graham Percival <gpermus@gmail.com>
2901 * Documentation/user/ various: small additions from mailist.
2903 2006-06-22 Mats Bengtsson <mabe@s3.kth.se>
2905 * ly/performer-init.ly: Add some missing links in the context
2906 hierarchy for MIDI output. There are probably some more missing!
2908 2006-06-21 Graham Percival <gpermus@gmail.com>
2910 * Documentation/user/ various: minor spelling fixes;
2911 thanks Dave Luttinen!
2913 * Documentation/user/ various: small clarifications;
2914 thanks Anthony Youngman!
2916 2006-06-20 Han-Wen Nienhuys <hanwen@lilypond.org>
2918 * po/fr.po: add \n appropriately.
2920 * lily/lexer.ll: remove ? from version-seen?
2922 2006-06-19 John Mandereau <john.mandereau@free.fr>
2924 * po/fr.po; update translation, by Jean-Charles Malahieude and
2927 2006-06-19 Han-Wen Nienhuys <hanwen@lilypond.org>
2929 * THANKS: add Markus Schneider.
2931 * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
2932 Staff_symbol_engraver
2934 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
2935 replace staff_engraver
2937 * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
2940 * lily/staff-collecting-engraver.cc
2941 (acknowledge_end_staff_symbol): new function
2943 * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function.
2945 * lily/staff-collecting-engraver.cc
2946 (acknowledge_end_staff_symbol): new function.
2948 * lily/main.cc: switch on relocation by default.
2950 2006-06-18 Han-Wen Nienhuys <hanwen@lilypond.org>
2952 * lily/spacing-spanner.cc (musical_column_spacing): set
2953 compound_fixed_note_space to 0.0. Document why.
2955 * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
2956 range of inverse_hooke_
2957 (Simple_spacer): init completely.
2959 (get_line_configuration): don't use cols.resize(); it introduces
2962 * scm/framework-ps.scm (dump-page): add setstrokeadjust.
2964 * ps/music-drawing-routines.ps: remove selectfont L1 hack.
2966 * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
2967 try. Divide by beatlength.
2969 * input/regression/beaming-ternary-metrum.ly: update doc.
2970 add beatLength hack.
2972 * scm/music-functions.scm (make-time-signature-set): add
2973 standard-beat-grouping.
2975 2006-06-17 Han-Wen Nienhuys <hanwen@lilypond.org>
2977 * input/regression/tie-whole.ly: new file.
2979 * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
2980 cross center of note head in case of invisible stem.
2982 2006-06-16 Graham Percival <gpermus@gmail.com>
2984 * Documentation/user/ various: small fixes from mailist.
2986 2006-06-16 Han-Wen Nienhuys <hanwen@lilypond.org>
2988 * lily/breathing-sign.cc (offset_callback): idem.
2990 * lily/align-interface.cc (align_to_fixed_distance): remove
2993 * lily/beaming-pattern.cc (count_factor_twos): oops. We want
2996 2006-06-15 Han-Wen Nienhuys <hanwen@lilypond.org>
2998 * VERSION (PACKAGE_NAME): release 2.9.9
3000 * ly/lilypond-book-preamble.ly: add \version
3002 2006-06-14 Han-Wen Nienhuys <hanwen@lilypond.org>
3004 * scripts/lilypond-book.py (PREAMBLE_LY): include
3005 lilypond-book-preamble.ly
3007 * lily/stem.cc (get_beaming): return max of 0 and
3008 scm_ilength. Fixes slurring from/to beams.
3010 * ly/lilypond-book-preamble.ly: new file.
3012 * lily/slur.cc: add inspect-index feature.
3014 2006-06-13 Graham Percival <gpermus@gmail.com>
3016 * Documentation/user/tutorial.itely: trivial fix.
3018 2006-06-13 Erik Sandberg <mandolaerik@gmail.com>
3020 * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
3021 all non-event music in the parser via MAKE_SYNTAX.
3023 * lily/parser-scheme.cc: Add ly:parser-error function
3025 * scm/paper.scm: fix typo
3027 2006-06-13 Han-Wen Nienhuys <hanwen@lilypond.org>
3031 * lily/font-config.cc (init_fontconfig): add warning if cache_file
3034 * buildscripts/output-distance.py (test_compare_signatures):
3036 (read_signature_file): use new signature format.
3038 * scm/stencil.scm (write-system-signature): simpler signature
3041 * lily/stem.cc (calc_stem_end_position): calc quantized-positions
3044 * lily/note-spacing.cc (stem_dir_correction): don't inspect
3045 stem_end_position, but estimate instead.
3047 * lily/tuplet-bracket.cc (calc_positions): look at
3048 stem-end-position for tuplet bracket slope. Fixes sloped tuplet
3049 brackets narrower than beams.
3051 * lily/lexer.ll: set version-seen? even if version is
3054 * lily/rest.cc (y_offset_callback): bugfix: decide position
3055 override based on scm_is_number(). Fixes \rest on center staff
3058 * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
3059 patterns for 16th triplets.
3061 2006-06-10 Graham Percival <gpermus@gmail.com>
3063 * Documentation/user/ page.itely, global.itely: editing
3066 * Documentation/user/ various: findex -> funindex.
3068 2006-06-10 Erik Sandberg <mandolaerik@gmail.com>
3070 * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3071 insert extra tuplet events.
3073 2006-06-10 Graham Percival <gpermus@gmail.com>
3075 * Documentation/user/programming-interfaces.itely: add
3078 * python/convertrules.py: add annotatefoo -> annotate-foo
3081 * Documentation/user/global.itely: start editing.
3083 * Documentation/user/page.itely: major editing, new spacing
3086 2006-06-10 Han-Wen Nienhuys <hanwen@lilypond.org>
3088 * scm/define-markup-commands.scm (wordwrap-markups): use
3089 output-def 'line-width if undefined.
3091 * HACKING: trim outdated info.
3093 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3095 * scm/define-grobs.scm (all-grob-descriptions): Add
3096 line-spanner-interface to all grobs that already have
3097 text-spanner-interface or dynamic-text-spanner-interface
3099 * scm/page.scm: Rename annotate{headers,systems,page}->
3102 * input/regression/page-spacing.ly,
3103 input/regression/page-layout-manual-position.ly: idem
3105 2006-06-09 Han-Wen Nienhuys <hanwen@lilypond.org>
3107 * lily/line-spanner.cc: cleanup property list.
3109 * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3110 generator expressions (2.3 compat).
3112 2006-06-09 Mats Bengtsson <mabe@s3.kth.se>
3114 * lily/vertical-align-engraver.cc: Make sure that the
3115 align{Above,Below}Context properties are included in the automatic
3118 2006-06-08 Joe Neeman <joeneeman@gmail.com>
3120 * scm/paper-system.scm (paper-system-annotate): also annotate the
3121 estimated pure-Y-extent
3123 * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3125 * lily/system.cc (break_into_pieces): set the estimated height
3126 of each child system
3128 * lily/stem.cc (pure_height): new pure-Y-extent callback
3130 * lily/staff-symbol-referencer.cc (callback): don't destroy
3131 the staff-position property
3133 * lily/hara-kiri-group-spanner.cc (request_suicide): split
3134 consider_suicide into two functions
3136 * lily/constrained-breaking.cc (resize): use the new pure
3137 callbacks to estimate the height of a system
3139 * lily/axis-group-interface.cc (pure_group_height): new
3140 side-effect-free VerticalAxisGroup height-callback
3142 * lily/align-interface.cc (get_extents_aligned_translates):
3143 split align_elements_to_extents into two functions
3144 (get_pure_child_y_translation): new function
3146 * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3148 * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3150 * lily/paper-score.cc: cache break_indices and columns
3152 * lily/side-position-interface.cc: new pure-Y-extent callbacks
3154 2006-06-08 Han-Wen Nienhuys <hanwen@lilypond.org>
3156 * lily/font-config.cc (init_fontconfig): do the init if
3157 cache_file, but don't look at cache_file.
3159 * input/regression/quote-tie.ly: new file.
3161 * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3162 to Head_event_tuple, so we deal gracefully with ties on
3165 * lily/pango-font.cc (pango_item_string_stencil): type correctness
3168 2006-06-08 Graham Percival <gpermus@gmail.com>
3170 * input/test/ smart-transpose.ly, reverse-music.ly:
3171 \applyMusic to music functions update, thanks Michael!
3173 2006-06-07 Graham Percival <gpermus@gmail.com>
3175 * input/test/ add-staccato.ly, add-text-script.ly,
3176 unfold-all-repeats.ly, music-box.ly: \applyMusic to
3177 music functions update, thanks to Michael Meixner.
3179 * Documentation/user/music-glossary.tely: small fix
3182 * Documentation/user/ various: minor additions from mailist.
3184 * Documentation/user/lilypond.tely, basic-notation.itely:
3185 small test of @funindex. (works here)
3187 * input/test/font-table.ly: reduce size to partially
3188 de-ugly version in manual.
3190 * Documentation/user/page.itely: new file (split former
3191 "global issues" into "page settings" and "non-musical
3194 * Documentation/user/ various: fix @ref{}s to match
3195 new chapter names (above).
3197 2006-06-07 Jan Nieuwenhuizen <janneke@gnu.org>
3199 * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3201 2006-06-06 Graham Percival <gpermus@gmail.com>
3203 * Documentation/user/advanced-notation.itely: add example
3204 for segno/coda on barline.
3206 * tex/texinfo.tex: merge from upstream.
3208 2006-06-06 Jan Nieuwenhuizen <janneke@gnu.org>
3210 * scripts/lilypond-book.py (process_snippets): Argument fix.
3213 * buildscripts/builder.py:
3216 * Documentation/user/SConscript: More SCons fixes.
3218 2006-06-03 Jan Nieuwenhuizen <janneke@gnu.org>
3220 * lily/font-config.cc (init_fontconfig): Only initialize if
3221 global cache_file is found.
3223 2006-06-06 Erik Sandberg <mandolaerik@gmail.com>
3225 * ly/music-functions-init.ly: Updated \overrideProperty to use the
3228 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3230 * VERSION (PACKAGE_NAME): release 2.9.8
3232 * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3233 function. Delay ledger modifying ledgered grobs to
3234 stop_translation_timestep(), to ensure that we're ledgering
3235 according to the new spanner.
3236 (acknowledge_staff_symbol): don't check for non-NULL
3237 staff_sym->get_bound()
3239 * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3242 * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3245 * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3246 directly from srcdir/stepmake/aclocal.m4
3248 * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3251 * lily/simple-spacer.cc (get_column_desc): desc -> description.
3253 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3255 * lily/simple-spacer.cc (get_line_configuration): add
3256 keep-inside-line rods
3257 (struct Column_desc): add constructor
3258 (struct Rod_desc): add constructor
3259 (get_line_forces): check for forced page breaks here too
3261 * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3262 support/elements cycles between InstrumentNames and AxisGroups
3264 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3266 * config.make.in (METAFONT): remove MAKEINFO_VERSION
3268 * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3269 make-txt-files target.
3271 * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3272 make-txt-files target.
3274 * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3276 * stepmake/stepmake/generic-vars.make (distdir): create dist in
3279 2006-06-06 Jürgen Reuter <reuter@ipd.uka.de>
3281 * Documentation/user/instrument-notation.itely,
3282 input/regression/breathing-sign-ancient.ly,
3283 input/test/divisiones.ly: Removed redundant property settings for
3286 * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3287 fix lyrics alignment problems. They are implemented now as scheme
3288 functions that add the appropriate unicode char to the first lyric
3289 event rather than adding a separate lyric event. Minor edit of
3292 2006-06-06 Han-Wen Nienhuys <hanwen@lilypond.org>
3294 * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3295 pollute src dir with built .txt files, but install directly from
3296 Documentation/topdocs/out/
3298 * buildscripts/output-distance.py
3299 (ComparisonData.create_html_result_page): put version/directories
3302 * Documentation/topdocs/NEWS.tely (Top): document spacing section
3305 * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3306 Patch by Karl Hammar
3308 * buildscripts/readlink.py: add file.
3309 Patch by Karl Hammar
3311 2006-06-06 Joe Neeman <joeneeman@gmail.com>
3313 * lily/tuplet-number.cc (print): prevent stencil from being
3316 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3318 * scm/stencil.scm (write-system-signature): explicitly
3319 -well, superfluously- close output port.
3321 * buildscripts/output-distance.py (main): oops. Add extra argument.
3323 2006-06-05 Graham Percival <gpermus@gmail.com>
3325 * Documentation/user/music-glossary.tely: clarified example
3326 from Francisco Vila, thanks!
3328 2006-06-05 Han-Wen Nienhuys <hanwen@lilypond.org>
3330 * input/regression/spacing-section.ly: new file.
3332 * lily/input.cc (programming_error): new function.
3334 * lily/spacing-engraver.cc (try_music): new function. Accept
3335 spacing-section-event
3337 * lily/spacing-spanner.cc (set_springs): take slices of all
3338 columns for spacing.
3340 * lily/include/paper-column.hh (class Paper_column): add
3341 Paper_column::compare.
3343 * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3345 * scm/define-music-types.scm (music-descriptions): add
3348 * lily/music-iterator.cc (report_event): use programming_error for
3349 sending non-event error.
3351 * lily/input.cc (programming_error): new function
3353 * buildscripts/output-distance.py (main): use compare-XXX for
3355 (main): --threshold option, default at 0.30
3357 * output-distance.py (main): add --threshold option.
3359 2006-06-04 Nicolas Sceaux <nicolas.sceaux@free.fr>
3361 * scm/paper-system.scm (paper-system-annotate): fix problem when
3362 annotating an empty system
3364 2006-06-04 Han-Wen Nienhuys <hanwen@lilypond.org>
3366 * GNUmakefile.in: reinstate old web tar/copying.
3368 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3370 * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3371 nothing changes. (Erik S)
3373 * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3376 2006-05-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
3378 * scm/define-markup-commands.scm (whiteout): do not force
3379 foreground color of argument markup to black.
3381 * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3382 the left of the arrow, instead of below the arrow name, so that,
3383 when two little arrows are vertically stacked, their dimensions
3384 and name should not overlap. Add a color key parameter.
3386 * scm/paper-system.scm (paper-system-annotate): Annotate
3387 next-space+next-padding instead of next-space. Annotate space
3388 between next-padding and next-space+padding, respectively, and
3389 following system extent and refpoint-Y-extent. Use colors.
3391 * scm/page.scm (annotate-page): translate annotations slightly to
3394 2006-06-03 Han-Wen Nienhuys <hanwen@lilypond.org>
3396 * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3397 fix for x-staff slurs. Thanks Joe!
3399 * buildscripts/output-distance.py
3400 (SystemLink.output_expression_change_count): keep track of changed
3401 details, and dump in details html page.
3403 * input/regression/figured-bass-staff.ly: add note about setting
3404 properties in Staff context.
3406 * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3407 add slurs and ties to support too.
3409 * buildscripts/output-distance.py (main): set dest_dir
3410 argument. Add --max-count option.
3412 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3414 * ly/gregorian-init.ly: Converted to utf-8. Added memorable
3415 shortcuts for special unicode chars that are useful in chant
3416 notation. Revised exisiting and added new comments.
3418 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3420 * make/mutopia-rules.make: remove duplicate recipe.
3422 2006-06-02 Werner Lemberg <wl@gnu.org>
3424 * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3425 Add support for U+0132 (IJ) and U+0133 (ij).
3427 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3429 * buildscripts/output-distance.py (FileLink): new class. collect
3430 info systems from one .ly file.
3431 (FileLink.link_files_for_html): further tweaks.
3433 2006-06-02 Graham Percival <gpermus@gmail.com>
3435 * tex/texinfo.tex: partial fix for @funindex.
3437 * Documentation/user/macros.tely: uncomment @funindex (doesn't
3440 2006-06-02 Han-Wen Nienhuys <hanwen@lilypond.org>
3442 * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3444 * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3445 @example too. Backportme.
3447 2006-06-02 Graham Percival <gpermus@gmail.com>
3449 * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3450 from Werner Lemberg.
3452 2006-06-02 Paco (Francisco Vila) <fravd@ya.com>
3454 * Documentation/user/music-glossary.tely: additional spanish
3455 updates and a lyrics fix in an example.
3457 2006-06-02 Jürgen Reuter <reuter@ipd.uka.de>
3459 * scm/define-grob-properties.scm: Previous patch contained
3460 spurious line from another patch not yet committed. Fixed.
3462 * scm/define-grob-properties.scm: Add missing doc strings for
3465 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3467 * buildscripts/output-distance.py
3468 (ComparisonData.write_text_result_page): separate the scores, sort
3471 * scm/framework-eps.scm (output-classic-framework): start at 1 for
3474 * buildscripts/output-distance.py (me_path): use argv[0] for
3476 (ComparisonData.img_cell): use colored borders.
3478 * scm/stencil.scm (write-system-signature): escape newlines too.
3479 (write-system-signature): use (1,-1) interval for empty interval
3481 2006-01-01 Graham Percival <gpermus@gmail.com>
3483 * Documentation/user/music-glossary.tely: Spanish updates
3484 from Francisco Vila.
3486 * Documentation/user/lilypond-book.itely: addition from
3489 * Documentation/user/ various: edits, small additions
3492 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3494 * GNUmakefile.in (tree-lib-prefix-current):
3495 (tree-share-prefix-current): Use version number in tree, add
3498 2006-06-01 Han-Wen Nienhuys <hanwen@lilypond.org>
3500 * GNUmakefile.in: write VERSION, again.
3502 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3503 $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3505 * stepmake/aclocal.m4: robuster version detection.
3507 * buildscripts/output-distance.py
3508 (ComparisonData.create_html_result_page): copy only if file
3509 exists, fixup src paths.
3511 * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3513 2006-06-01 Jan Nieuwenhuizen <janneke@gnu.org>
3515 * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3516 Another datarootdir reto.
3518 * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3519 available. This should be moved to postinstall-lilypond-doc.
3521 2006-05-31 Han-Wen Nienhuys <hanwen@lilypond.org>
3523 * GNUmakefile.in: simplify local-WWW-post.
3524 remove -type l from find.
3526 * buildscripts/output-distance.py (ComparisonData.compare_trees):
3527 fixes. Don't follow symlinks.
3528 (ComparisonData.create_html_result_page): remove previous results.
3529 insert ../python in path.
3531 * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3533 2006-05-31 Jan Nieuwenhuizen <janneke@gnu.org>
3535 * config.make.in (datadir): Add datarootdir to silence autoconf.
3537 * stepmake/aclocal.m4: Update for autoconf-2.59d.
3539 2006-05-31 Erlend Aasland <erlenda@gmail.com>
3541 * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3543 * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3544 slash beams too wide.
3546 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3548 * VERSION: release 2.9.7
3550 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3552 * lily/relocate.cc (read_relocation_dir): Do not blindly
3555 2006-05-30 Han-Wen Nienhuys <hanwen@lilypond.org>
3557 * lily/parser.yy: replace THIS by PARSER
3559 * Documentation/index.html.in: add link to test-results.html page.
3561 * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3563 * scm/translation-functions.scm (format-bass-figure): translate
3564 digits over 10 to the left
3566 * scm/define-markup-commands.scm (translate-scaled): new markup.
3568 * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3571 * ly/engraver-init.ly: add Figured_bass_engraver
3573 * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3575 * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3577 * lily/score-engraver.cc (announce_grob): only note START announces.
3579 * lily/include/engraver-group.hh (Translator_group):
3580 acknowledge_hash_table_ is now drul.
3582 * lily/engraver.cc (announce_end_grob): new method.
3584 * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3586 * lily/translator-dispatch-list.cc (create): take start_end argument.
3588 * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3589 acknowledge_static_array_ to drul
3591 * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3593 * scm/define-grob-interfaces.scm
3594 (bass-figure-alignment-interface): add bass-figure-alignment-interface
3596 * scm/define-grobs.scm (all-grob-descriptions): add
3597 BassFigureAlignmentPositioning
3599 * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3600 number stays up to date. Backportme.
3602 2006-05-30 Mats Bengtsson <mabe@s3.kth.se>
3604 * Documentation/user/basic-notation.itely (Bar lines): Document
3607 2006-05-30 Jan Nieuwenhuizen <janneke@gnu.org>
3609 * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3611 * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3612 .../current hack if LILYPONDPREFIX is fine. Fixes `scons doc'
3615 * Resurrect `scons lily' build.
3617 * SConstruct (symlink_tree): Bugfix: link
3618 music-drawing-routines.ps to file iso directory.
3620 * lily/SConscript: Remove kpath-guile from LIBS.
3622 * SConstruct (libdir_package_version): Typo.
3623 (configure): Comment-out fontforge for lack of fontforge.pc .
3624 Also add libdir* to environment.
3626 2006-05-30 Graham Percival <gpermus@gmail.com>
3628 * Documentation/user/ various: minor additions from mailist and
3631 2006-05-30 Paco <fravd@ya.com>
3633 * Documentation/user/music-glossary.tely: numerous corrections and
3634 some new translations.
3636 2006-05-29 Han-Wen Nienhuys <hanwen@lilypond.org>
3640 * buildscripts/output-distance.py
3641 (ComparisonData.create_html_result_page): new routine: summarise
3642 results in HTML page with images.
3643 (ComparisonData.create_text_result_page): create summary text files too.
3645 * GNUmakefile.in (web-ext): package .signature files too. They
3648 * scm/stencil.scm (write-system-signature): typo.
3650 * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3652 * scm/stencil.scm (write-system-signature): better escaping.
3653 only write signature for music systems, not for markup systems.
3655 * scm/framework-ps.scm (output-framework): dump-signatures support
3658 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3660 * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3661 for -dno-point-and-click
3663 * lily/grob.cc (get_print_stencil): don't read
3664 point_and_click_global to determine whether to set grob-cause.
3666 2006-05-28 Han-Wen Nienhuys <hanwen@lilypond.org>
3668 * buildscripts/output-distance.py (main): new function.
3669 (ComparisonData): new class.
3671 * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3672 careful with generating new LedgerLineSpanners.
3674 * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3676 * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3677 context. This fixes double ledger lines in output.
3679 * lily/system.cc (get_paper_system): remove 3 layer limit.
3681 * buildscripts/output-distance.py (SystemLink.distance): new
3682 file. Compare signatures.
3684 * python/safeeval.py (SafeEval.visitUnarySub): new file.
3686 * lily/grob-array.cc (remove_duplicates): rename from
3687 uniq(). Sort before calling uniq() so it actually works.
3689 2006-05-27 Han-Wen Nienhuys <hanwen@lilypond.org>
3691 * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3692 \version from lilypond file snippet.
3693 (Lilypond_file_snippet.ly): oops. typo.
3694 (find_toplevel_snippets): urgh. again.
3696 * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3697 prevent duplicated broken items in output.
3699 * scm/framework-eps.scm (output-classic-framework): only dump if
3700 dump-signatures is set.
3702 * scm/lily.scm (define-scheme-options): add dump-signatures option.
3704 * scm/stencil.scm (write-system-signature): new routine: write
3705 python parseable signature of a separate paper system.
3708 2006-05-26 Han-Wen Nienhuys <hanwen@lilypond.org>
3710 * lily/stanza-number-engraver.cc (process_music): use is_markup()
3714 2006-05-25 Erik Sandberg <mandolaerik@gmail.com>
3716 * translator-group.cc: send music events to engravers in
3717 non-bottom contexts.
3719 * tuplet-engraver.cc: process tuplet brackets in correct order.
3721 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3723 * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3724 arg 2 might point us to a new binary (patch by Karl Hammar)
3726 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3728 * VERSION (PACKAGE_NAME): release 2.9.6
3730 * Documentation/topdocs/NEWS.tely (Top): trim explanation.
3732 * Documentation/user/*.itely: 2nd
3733 attempt: replace funindex -> findex globally.
3735 2006-05-24 Nicolas Sceaux <nicolas.sceaux@free.fr>
3737 * input/no-notation/display-lily-tests.ly: fix \applyOutput
3738 test. Add \break, \pageBreak, \pageTurn, etc, tests.
3740 * scm/define-music-display-methods.scm: display methods for
3741 breaks. Fix \applyOutput.
3743 2006-05-24 Han-Wen Nienhuys <hanwen@lilypond.org>
3745 * Documentation/user/macros.itexi: comment out funindex expansion.
3747 * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3750 * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3751 Karl Hammar. Backportme.
3753 * Documentation/user/advanced-notation.itely (Balloon help): idem.
3755 * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3757 * Documentation/user/programming-interface.itely (Running a
3758 function on all layout objects): idem.
3760 * Documentation/user/introduction.itely (Automated engraving):
3761 update \applyOutput syntax
3763 * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3764 remove debugging hook.
3766 * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3769 * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3771 * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3772 TEXI2DVI_FLAGS to texi2dvi invocation.
3774 2006-05-24 Erik Sandberg <mandolaerik@gmail.com>
3776 * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3777 works. More work is done by iterator now, and engraver has been
3778 very much simplified.
3780 * lily/translator-group.cc: try_music is now invoked through a
3783 * lily/*-iterator.cc: Massive cleanups. Junked
3784 try_music_in_children globally. Renamed try_music to report_event,
3785 and made that method descend to a bottom context automatically.
3787 * lily/event-iterator.cc: New file.
3789 * lily/output-property-iterator.cc,
3790 lily/old-lyric-combine-music-iterator.cc: Removed.
3792 * python/convert-rules.py: Modified the syntax for \applyOutput.
3794 2006-05-23 Graham Percival <gpermus@gmail.com>
3796 * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3799 * Documentation/user/ various: stuff that might have helped
3800 to fix the pdf creation, plus some minor doc additions.
3802 * Documentation/user/changing-defaults.itely: remove @b from
3803 @b{ @internasref{foo}}; this breaks texi2dvi -E.
3805 2006-05-23 Han-Wen Nienhuys <hanwen@lilypond.org>
3807 * lily/beaming-pattern.cc (beamify): deal with negative start
3808 moments for beaming patterns.
3810 2006-05-22 Han-Wen Nienhuys <hanwen@lilypond.org>
3812 * lily/beaming-info.cc (beamify): new function: read beatLength
3813 and beatGrouping from context.
3815 * input/regression/beam-beat-grouping.ly (Module): new file.
3817 * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3819 * lily/beam.cc (get_beam_segments): generate events for
3820 max_connect_ case too.
3821 (get_beam_segments): read Stem::max-beam-connect.
3823 * input/regression/beam-single-stem.ly: new file.
3825 * lily/stem.cc (set_beaming): use #f as signaling value for
3828 * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3830 * lily/beam.cc (set_beaming): read clip-edges property.
3831 (calc_direction): don't suicide for single stem.
3833 * lily/beaming-info.cc (best_splitpoint_index): take bool*
3834 argument, remove 1<<15 hack. Remove clip_edges()
3836 * lily/hairpin.cc (print): only do padding for nonmusical bounds
3838 2006-05-21 Graham Percival <gpermus@gmail.com>
3840 * Documentation/user/basic-notation.itely: reorg.
3842 * Documentation/user/ various: minor fixes.
3844 2006-05-20 Han-Wen Nienhuys <hanwen@lilypond.org>
3846 * lily/stencil-expression.cc (register_stencil_head): opps, append
3847 to cdr of static SCM object.
3849 2006-05-19 Graham Percival <gpermus@gmail.com>
3851 * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3852 update framework for command index. DOC WRITERS: use @funindex
3853 instead of @cindex @code{}.
3855 * Documentation/user/ various: replace @cindex @code{} => @funindex
3857 2006-05-19 Han-Wen Nienhuys <hanwen@lilypond.org>
3859 * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3860 case positions is set manually.
3862 2006-05-18 Erik Sandberg <mandolaerik@gmail.com>
3864 * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3867 2006-05-18 Han-Wen Nienhuys <hanwen@lilypond.org>
3869 * Documentation/user/changing-defaults.itely (Contexts explained):
3870 use absolute dimension for @image.
3872 * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3873 out image for illustration too.
3874 ($(outdir)/%.png): add more png <-> eps rules.
3876 2006-05-17 Graham Percival <gpermus@gmail.com>
3878 * Documentation/user/ various: remove trailing whitespace, cosmetic
3879 change to reduce changes produced by diff.
3881 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3883 * lily/main.cc (do_chroot_jail): correctness tweak.
3885 * python/lilylib.py (system): import subprocess in system () only.
3887 * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3889 * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3890 variable. Backportme.
3892 2006-05-17 Erik Sandberg <mandolaerik@gmail.com>
3894 * lily/parser.yy: Change all syntax rules of type Music to SCM type
3896 2006-05-17 Werner Lemberg <wl@gnu.org>
3898 * lily/lexer.ll (init_signature_has_table): Add
3899 `scm-scm-music-music'.
3901 * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
3902 (Generic_prefix_music_scm): Add rule for it.
3904 * lily/quote-iterator.cc (Quote_iterator::process): Handle
3905 `quoted-transposition' property.
3907 * ly/music-functions-init.ly (transposedCueDuring): New function.
3909 * scm/define-music-properties.scm (all-music-properties): Updated.
3911 * Documenation/topdocs/NEWS.itely: Document it.
3913 2006-05-17 Han-Wen Nienhuys <hanwen@lilypond.org>
3915 * python/lilylib.py (system): move import subprocess to system()
3918 * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
3920 * VERSION (PATCH_LEVEL): release 2.9.5
3922 * Documentation/topdocs/INSTALL.texi (Top): update versions and
3925 * ly/engraver-init.ly: switch on hairpinToBarline by default.
3927 2006-05-16 Graham Percival <gpermus@gmail.com>
3929 * Documentation/user/basic-notation.itely: editing from Dave, thanks!
3931 * Documentation/user/ various: minor fixes.
3933 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3935 * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
3937 2006-05-16 Mats Bengtsson <mabe@s3.kth.se>
3939 * Documentation/user/advanced-notation.itely (Instrument names):
3940 Modified obsolete instruction on how to move instrument names away
3941 from the staves. Hmm, at second thought the bug probably has been
3942 solved, so the full bug description should probably be removed.
3944 2006-05-16 Han-Wen Nienhuys <hanwen@lilypond.org>
3946 * lily/dynamic-engraver.cc (typeset_all): hang ending on
3947 currentCommandColumn.
3949 * lily/hairpin.cc (print): also add padding for non-neighbor
3952 * scm/define-context-properties.scm
3953 (all-user-translation-properties): add hairpinToBarline
3955 * input/regression/hairpin-to-barline.ly: new file.
3957 * lily/context.cc (internal_send_stream_event): thinko fix.
3959 * lily/tie.cc (set_default_control_points): robustness fix.
3961 * python/musicxml.py (Part.interpret): don't complain about
3962 incomplete measures.
3964 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
3965 new music if last_event_chord() returned None.
3967 * python/musicxml.py (Part.interpret): skip back over chord notes.
3969 2006-05-16 Erik Sandberg <mandolaerik@gmail.com>
3971 * lily/percent-repeat-engraver.cc, lily/parser.yy,
3972 lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
3973 lily/slash-repeat-engraver.cc,
3974 lily/include/percent-repeat-iterator.hh: Rework percent repeats:
3975 iterator sends PercentEvents
3977 * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
3978 rework tuplets: send start/stop events to engraver
3980 * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
3981 dispatchers event-source and events-below to Context
3983 2006-05-15 Graham Percival <gpermus@gmail.com>
3985 * Documentation/user/README.txt: update info for doc writers.
3987 * Documentation/user/programming-interface.itely: integrate
3988 Nicolas' fixes for chapter rewrite.
3990 * Documentation/user/ various: minor fixes.
3992 2006-05-15 Han-Wen Nienhuys <hanwen@lilypond.org>
3994 * lily/clef-engraver.cc: cleanup.
3996 * Documentation/user/GNUmakefile: dist context-example.eps too.
3998 * lily/key-engraver.cc (create_key): use
3999 explicitKeySignatureVisibility for cancellation too.
4001 * lily/font-config.cc (init_fontconfig): don't close file if
4004 2006-05-15 Erlend Aasland <erlenda@gmail.com>
4006 * Documentation/topdocs/NEWS.tely: niente and rotation news
4008 2006-05-14 Erlend Aasland <erlenda@gmail.com>
4010 * lily/include/stencil.hh
4011 * lily/stencil.cc (rotate): new function. Makes it possible
4012 to rotate a stencil around a given offset.
4014 * lily/grob.cc (get_print_stencil): add rotation support
4016 * lily/stencil-interpret.cc (interpret_stencil_expression):
4017 add rotation support
4019 * lily/stencil-scheme.cc (ly:stencil-rotate): new function
4021 * scm/define-grob-properties.scm: add 'rotation property
4023 * scm/define-markup-commands.scm: add rotate markup command
4025 * scm/output-ps.scm: add rotation support in PostScript backend
4027 * scm/output-svg.scm: add rotation support in SVG backend
4029 2006-05-13 Graham Percival <gpermus@gmail.com>
4031 * Documentation/user/music-glossary.itely: French correction.
4033 * Documentation/user/programming-interface.itely: major
4034 new docs, some reorg, some info from Nicolas.
4036 * Documentation/user/ various: small fixes.
4038 2006-05-12 Mats Bengtsson <mabe@s3.kth.se>
4040 * Documentation/user/programming-interface.itely (Markup
4041 programmer interface): Remove duplicate text.
4043 2006-05-12 Graham Percival <gpermus@gmail.com>
4045 * Documentation/user/context-example.eps: new file.
4047 * Documentation/user/changing-defaults.itely: set up file to
4050 * Documentation/user/programming-interface.itely: changes
4053 2006-05-12 Han-Wen Nienhuys <hanwen@lilypond.org>
4055 * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
4057 2006-05-11 Graham Percival <gpermus@gmail.com>
4059 * Documentation/user/programming-interface.itely: first round of
4060 editing and merging emails from Nicolas.
4062 * Documentation/user/scheme-tutorial: minor edit.
4064 2006-05-11 Han-Wen Nienhuys <hanwen@lilypond.org>
4066 * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
4068 (Xml_node.message): use it.
4070 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice):
4071 oops. Add duration argument.
4073 2006-05-10 Joe Neeman <joeneeman@gmail.com>
4075 * lily/paper-column-engraver.cc (make_columns):
4076 * scm/define-grobs.scm: Revert my previous change and set the default
4077 in define-grobs.scm instead.
4079 2006-05-09 Graham Percival <gpermus@gmail.com>
4081 * Documentation/user/changing-defaults.itely: general editing,
4082 info about \set and \override.
4084 * Documentation/user/tweaking.itely, advanced-notation.itely:
4085 fixes from Dave Luttinen, thanks!
4087 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4089 * lily/paper-column-engraver.cc (make_columns): By default, a column
4090 needs to be breakable.
4092 2006-05-09 Han-Wen Nienhuys <hanwen@lilypond.org>
4094 * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4096 (musicxml_time_to_lily): idem
4097 (musicxml_key_to_lily): idem
4098 (instrument_drumtype_dict): dict for supported drumtypes.
4099 (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4100 moments and pending mm rests
4101 (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4102 (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4103 (musicxml_voice_to_lily_voice): add mode change.
4104 (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4105 speed and less memory usage (factor 5 to 10).
4106 (convert): write -defs.ly and driver file separately so people
4107 can script their own part extraction.
4109 * python/musicxml.py (minidom_demarshal_node): new function:
4110 separate minidom handling.
4111 (lxml_demarshal_node): new function: support lxml.etree too.
4112 (Xml_node.message): new function: verbose error message, with XML
4113 path to offending node.
4114 (Attributes.get_measure_length): sane interface to MusicXML attributes.
4115 (Part_list.generate_id_instrument_dict): new method: collect
4116 instrument names, to be able to set drum_type.
4117 (Part.interpret): handle underfull measures
4118 (Part.interpret): assign instrument names.
4120 * python/musicexp.py (Output_printer.close): new method
4121 (MusicWrapper.print_ly): new class: support other modes,
4123 (BarCheck.print_ly): new class. Support bar checks, with comments
4124 and fancy barchecks.
4125 (NoteEvent.__init__): also set drum_type for drum notes.
4126 (MultiMeasureRest.lisp_expression): dump mm rests.
4128 * lily/paper-column-engraver.cc (stop_translation_timestep): set
4129 line-break-permission if forbidBreak is not set.
4131 2006-05-09 Joe Neeman <joeneeman@gmail.com>
4133 * scm/define-context-properties.scm:
4134 * scm/define-grob-properties.scm:
4135 * scm/define-grobs.scm:
4136 * scm/define-music-display-methods.scm:
4137 * scm/define-music-properties.scm:
4138 * scm/define-music-types.scm:
4139 * scm/music-functions.scm:
4140 * ly/declarations-init.ly:
4141 * lily/include/constrained-breaking.hh:
4143 * lily/spaceable-grob.cc:
4144 * lily/simple-spacer.cc:
4145 * lily/paper-score.cc:
4146 * lily/paper-column.cc:
4147 * lily/paper-column-engraver.cc:
4149 * lily/gourlay-breaking.cc:
4150 * lily/constrained-breaking.cc:
4151 * python/convertrules.py:
4152 Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4153 "page-break-penalty" and "line-break-permission".
4154 Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4155 Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4157 * lily/bar-engraver.cc:
4158 * lily/beam-engraver.cc:
4159 * lily/forbid-break-engraver.cc:
4160 * lily/ligature-engraver.cc:
4161 * lily/paper-column-engraver.cc:
4162 * lily/percent-repeat-engraver.cc:
4163 * lily/score-engraver.cc:
4164 * lily/score-engraver.hh:
4165 * lily/paper-column-engraver.hh:
4166 Inter-engraver communication regarding line breaks is done through context
4167 properties (Score.forbidBreak) instead of function calls.
4169 2006-05-08 Han-Wen Nienhuys <hanwen@lilypond.org>
4171 * VERSION (PACKAGE_NAME): release 2.9.4
4173 2006-05-08 Graham Percival <gpermus@gmail.com>
4175 * Documentation/user/working.itely: proofreading from Dave
4178 * Doucmentation/user/README.txt: updated with manual style info.
4180 * Documentation/user/ various: trim linewidth to 78 chars.
4182 2006-05-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4184 * scm/define-grob-properties.scm (all-internal-grob-properties):
4185 remove chord-tremolo property.
4187 * lily/beam.cc (get_beam_segments): don't use stem position as
4188 base for broken ends.
4190 2006-05-06 Graham Percival <gpermus@gmail.com>
4192 * Documentation/user/putting.itely: proofreading from Dave
4195 * Documentation/user/ various: more reorg and clarifications.
4197 2006-05-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4199 * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4201 * ly/music-functions-init.ly: new function featherDurations
4203 * lily/beam.cc: read grow-direction for feathered beaming.
4205 * Documentation/topdocs/NEWS.tely (Top): typo.
4207 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4209 * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4212 2006-05-05 Erik Sandberg <mandolaerik@gmail.com>
4213 * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4214 used by music streams.
4216 * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4217 lily/stream-event.cc, lily/stream-event-scheme.cc,
4218 lily/listener.cc, lily/scheme-listener.cc,
4219 lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4220 lily/include/stream-event.hh, lily/include/listener.hh,
4221 lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4222 Created data structures for music streams.
4224 2006-05-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4226 * lily/beam.cc (get_beam_segments): new function. Reorganise the
4227 construction of a beam.
4230 * flower/include/std-vector.hh (default_compare): use only one comparison.
4232 * scm/define-markup-commands.scm (note-by-number): remove debug display.
4233 (note-by-number): further attachment fixes.
4235 * scm/lily-library.scm (ordered-cons): new function.
4236 (interval-index): new function
4238 * lily/note-head-scheme.cc (LY_DEFINE): new file.
4240 * lily/note-head.cc (get_stem_attachment): new function.
4242 * scm/define-markup-commands.scm (note-by-number): read 'style
4245 * input/regression/markup-note.ly: show note-head style option.
4247 * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4250 2006-05-04 Han-Wen Nienhuys <hanwen@lilypond.org>
4252 * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4254 * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4256 * lily/include/constrained-breaking.hh: GCC 4 fix.
4258 2006-05-04 Joe Neeman <joeneeman@gmail.com>
4260 * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4261 Replace it with functions get_line_forces and get_line_configuration.
4262 (class Simple_spacer): Make data private.
4263 Rewrite compression algorithm to be faster and simpler.
4265 * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4266 * lily/gourlay-breaking.cc (solve):
4267 * lily/constrained_breaking.cc (space_line):
4268 Change it to the new simple-spacer code.
4270 * lily/paper-score.cc (get_paper_systems):
4273 Delay breaking the systems until they are requested.
4274 (find_break_indices):
4275 Use vsize for indices.
4277 Move the "Calculating line breaks" message here.
4279 * lily/system.cc (pre_processing):
4280 Move the "Calculating line breaks" message away from here.
4281 (break_into_pieces):
4282 Allow multiple calls to this function in sequence (with touching-but-
4283 not-overlapping breakpoints).
4285 * lily/constrained-breaking.cc:
4286 Replace most of the get_XXXX functions with get_line_details.
4287 Only calculate the force for each line. Calculate configurations only
4288 for the lines we will actually use.
4289 Replace cols_ with lines_.
4291 2006-05-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
4293 * mf/GNUmakefile (depth): remove FC_FIND.
4295 * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4297 * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4299 * scm/framework-ps.scm (write-preamble): new function.
4300 (write-preamble): load mac fonts via fondu, even if gs-font-load
4303 2006-05-03 Werner Lemberg <wl@gnu.org>
4305 * mf/GNUmakefile (FC_FIND): Fix typo.
4307 2006-05-03 Erlend Aasland <erlenda@gmail.com>
4309 * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4311 2006-05-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4313 * stepmake/aclocal.m4: run python-config for crosscompiling
4316 * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4317 -f png for HTML, TEXINFO formats.
4319 * input/tutorial/lbook-html-test.html: new file.
4321 * lily/include/tie-formatting-problem.hh (class
4322 Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4323 [column, direction]. This fixes laissez vibrer ties.
4325 * flower/include/tuple.hh (struct Tuple2): new file.
4327 * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4328 $(FCMATCH), only if $(NCSB_DIR) not set.
4330 * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4332 * config.make.in (DOCUMENTATION): set FCMATCH.
4334 * autogen.sh (srcdir): don't set --with-ncsb-dir.
4336 2006-05-03 Graham Percival <gpermus@gmail.com>
4338 * Documentation/user/ various: final round of reorg.
4340 * Documentation/user/instrument-notation.itely: some more
4341 fixes from Eduardo, thanks!
4343 2006-05-02 Han-Wen Nienhuys <hanwen@lilypond.org>
4345 * VERSION (PACKAGE_NAME): release 2.9.3
4347 * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4349 * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4351 2006-05-01 Mats Bengtsson <mabe@s3.kth.se>
4353 * scm/define-grob-properties.scm (all-user-grob-properties):
4354 Correct typo, thanks to Eduardo.
4356 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4358 * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4360 * buildscripts/lilypond-words.py (F): indent fix.
4362 * input/regression/tie-arpeggio-collision.ly: new file.
4364 * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4365 function: store outlines per column rank.
4367 * lily/include/tie-configuration.hh (class Tie_configuration): add
4368 column_ranks_ to specification and configuration, to distinguish
4369 between ties for different heads in arpegiated chords.
4371 * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4373 * *.py: more 4 space indents.
4375 * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4377 2006-05-01 Joe Neeman <joeneeman@gmail.com>
4379 * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4381 2006-05-01 Han-Wen Nienhuys <hanwen@lilypond.org>
4383 * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4385 * scripts/abc2ly.py (dump_score): indent of 4 for python code.
4387 * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4389 2006-04-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
4391 * python/convertrules.py (conv): indent 4 for python files.
4393 2006-04-29 Mats Bengtsson <mabe@s3.kth.se>
4395 * Documentation/user/changing-defaults.itely (Creating contexts):
4396 Clarify \new semantics.
4398 2006-04-28 Graham Percival <gpermus@gmail.com>
4400 * Documentation/user/ various: major new sections in the
4401 Learning manual, slight reorg elsewhere.
4403 2006-04-27 Han-Wen Nienhuys <hanwen@lilypond.org>
4405 * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE)
4407 * scm/framework-ps.scm (output-framework): remove PageMedia
4409 2006-04-27 Graham Percival <gpermus@gmail.com>
4411 * Documentation/user/ tweaks.itely, working.itely: new
4412 files, being more advanced "learning manual" chapters.
4414 * Documentation/user/ tutorial, putting, lilypond: reorg.
4416 2006-04-26 Graham Percival <gpermus@gmail.com>
4418 * input/regression/lyric-combine-polyphonic.ly: fixed test
4419 (no more "can't find context `one'" error).
4421 2006-04-25 Joe Neeman <joeneeman@gmail.com>
4423 * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4425 * input/regression/stem-tremolo.ly: add 2 more whole note examples
4427 2006-04-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
4429 * lily/relocate.cc (read_relocation_dir): new function.
4431 2006-04-26 Graham Percival <gpermus@gmail.com>
4433 * Documentation/user/instrument-notation.itely: a few more fixes
4434 from Eduardo, thanks!
4436 * Documentation/user/README.txt: new file; contains info on
4437 style that used to be in lilypond.tely.
4439 * Documentation/user/ various: first round of doc reorg.
4441 * Documentation/user/baer-flat-bw.png: remove alpha bit from
4442 graphic; this probably causes problems on some pdf
4443 viewers, notably Adobe Acrobat.
4445 2006-04-24 Graham Percival <gpermus@gmail.com>
4447 * Documentation/user/instrument-notation.itely: many alterations
4448 to Vocal music, from Eduardo Viera.
4450 2006-04-23 Graham Percival <gpermus@gmail.com>
4452 * Documentation/user/instrument-notation.itely: fix \new
4453 instead of \context problem.
4455 2006-04-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
4457 * lily/relocate.cc (expand_environment_variables): new function.
4459 (read_relocation_file): id.
4461 * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code
4463 2006-04-21 Erlend Aasland <erlenda@gmail.com>
4465 * ly/engraver-init.ly: remove old comments from TabVoice
4467 2006-04-20 Graham Percival <gpermus@gmail.com>
4469 * Documentation/user/instrument-notation.itely: added Erlend's
4470 latest doc patch, thanks!
4472 2006-04-19 Erlend Aasland <erlenda@gmail.com>
4474 * lily/include/slur.hh:
4476 * lily/phrasing-slur-engraver.cc:
4477 * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4478 acknowledge_extra_object () from Phrasing_slur_engraver:: and
4479 Slur_engraver:: and putting it in
4480 Slur::auxiliary_acknowledge_extra_object ().
4482 * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4484 * lily/note-collision.cc: fix a comment
4486 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4488 * stepmake/bin/add-html-footer.py: fix footer position in
4489 generated html files: before </body> and </html> tags.
4491 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4493 * scripts/GNUmakefile: revert last "fix", which rather broke make.
4494 Earlier successive `make' commands finally compiled ok.
4496 * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4498 2006-04-18 Erlend Aasland <erlenda@gmail.com>
4500 * lily/include/stem-tremolo.hh:
4501 * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4505 * lily/include/lookup.hh: add rotated_box ()
4507 2006-04-18 Heikki Junes <hjunes@cc.hut.fi>
4509 * scripts/GNUmakefile: bugfix: run help2man only after scripts have
4510 been generated. Fixes "can't get `--help'" bug after make clean.
4512 * THANKS: alphabetize contributors.
4514 2006-04-17 Graham Percival <gpermus@gmail.com>
4516 * Documentation/user/instrument-notation.itely: added Erlend's
4517 tabs and banjo doc patch. Thanks!
4519 2006-04-17 Erlend Aasland <erlenda@gmail.com>
4521 * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4523 * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4525 * scm/output-lib.scm: add some more predefined string tunings.
4527 * Documentation/user/instrument-notation.itely: and doc them.
4529 2006-04-16 Jürgen Reuter <reuter@ipd.uka.de>
4531 * ly/engraver.ly: Remove obsolete comments.
4533 * ly/gregorian-init.ly: Define default layout block.
4535 * input/puer-fragment.ly: Updated and extended.
4537 2006-04-15 Jan Nieuwenhuizen <janneke@gnu.org>
4539 * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4540 pdf conversion behaviour.
4542 * flower/file-name.cc (dir_name)
4543 (get_working_directory): Move from relocate.cc.
4545 * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4547 * lily/relocate.cc: Encapsulate sys/stat.h in
4550 2006-04-14 Graham Percival <gpermus@gmail.com>
4552 * Documentation/user/ various: small updates from Cameron
4553 and Juergen, thanks!
4555 * Documentation/user/ various: small updates of my own.
4557 * THANKS: 2.7 -> 2.8.
4559 2006-04-11 Graham Percival <gpermus@gmail.com>
4561 * scm/define-context-properties.scm: typo.
4563 * Documentation/user/ : many more small updates.
4565 2006-04-13 Jürgen Reuter <reuter@ipd.uka.de>
4567 * scm/define-music-types.scm: disposed "docme".
4569 2006-04-11 Erlend Aasland <erlenda@gmail.com>
4571 * lily/hairpin.cc: make niente circles a bit smaller.
4573 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4575 * mf/GNUmakefile: remove redundant mftrace check. Also remove
4576 get-pfa and get-*-fonts targets.
4578 2006-04-10 Graham Percival <gpermus@gmail.com>
4580 * THANKS, Documentation/user/ basic-notation, advanced-notation,
4581 music-glossary, programming-interface: more minor fixes
4584 * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4586 * scm/define-context-properties.scm: another old \property update.
4587 This time tested for compiling!
4589 2006-04-10 Erlend Aasland <erlenda@gmail.com>
4591 * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4593 2006-04-09 Jan Nieuwenhuizen <janneke@gnu.org>
4595 * scm/define-context-properties.scm (all-user-translation-properties):
4596 * Documentation/user/global.itely (Page formatting): Compile fix.
4598 2006-04-09 Mats Bengtsson <mabe@s3.kth.se>
4600 * Documentation/user/advanced-notation.itely (Polymetric
4601 notation): Update the example to use the "+" symbol and add link
4602 to input/test/compound-time.ly.
4604 2006-04-08 Graham Percival <gpermus@gmail.com>
4606 * scm/define-grob-properties.scm: clarify docs for #'direction.
4608 * scm/define-context-properties.scm: update old \property override.
4610 * Documentation/user/ advanced-notation, global, lilypond-book:
4611 more minor doc updates.
4613 2006-04-07 Han-Wen Nienhuys <hanwen@lilypond.org>
4615 * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4617 * scm/backend-library.scm (search-gs): oops.
4619 2006-04-06 Han-Wen Nienhuys <hanwen@lilypond.org>
4621 * scripts/lilypond-book.py (output): use base, not filename for href.
4623 * scm/backend-library.scm: only look for gs.
4625 * scripts/lilypond-book.py (output): fix printfilename.
4627 * lily/parser.yy (music_function_musicless_prefix): fold together
4628 definitions of signature (SCM*) (Music|post_event|chord_body_element)
4630 * lily/slur.cc (print): only set font-size if not set yet.
4632 * lily/slur-configuration.cc (add_score): improved layout of debug
4635 2006-04-05 David Feuer <David.Feuer@gmail.com>
4637 * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4638 (draw_circle): Hopefully fixed regression.
4639 Improved documentation for several procedures.
4641 2006-03-04 Werner Lemberg <wl@gnu.org>
4643 * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4645 2006-04-05 Han-Wen Nienhuys <hanwen@lilypond.org>
4647 * scripts/musicxml2ly.py (bindir): add dynamic
4650 2006-04-04 Graham Percival <gpermus@gmail.com>
4652 * Documentation/user/ basic-notation, advanced-notation, putting,
4653 instrument-notation, invoking, lilypond, THANKS: another ream of small
4654 fixes from the Doc Helpers.
4656 2006-04-03 David Feuer <David.Feuer@gmail.com>
4658 * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4660 * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4662 * Cleaned up interfaces between PostScript and Scheme, and moved
4663 computations from PostScript to Scheme:
4665 * music-drawing-routines.ps
4666 (*SF, stroke_and_fill): new procedures. Replaced stroke and fill
4667 with stroke_and_fill throughout.
4668 (euclidean_length, print_letter, draw_box): Deleted unused
4669 procedures. If someone needs draw_box, implement it using
4670 draw_round_box; don't duplicate code.
4671 (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4672 Refactored/cleaned up interfaces.
4675 * output-ps.scm: reordered arguments to PostScript functions to
4676 match new interfaces
4677 (glyph-string): Rewrote glyph-string.
4678 (grob-cause): Replaced string-append with format.
4679 (repeat-slash): Rewrote to do computation here.
4680 (round-filled-box): Rewrote to do computation here.
4682 2006-04-04 Erlend Aasland <erlenda@gmail.com>
4684 * stepmake/stepmake/generic-targets.make: add cvs-clean target
4686 * stepmake/stepmake/toplevel- targets.make: print help info about
4689 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4691 * input/regression/hairpin-circled.ly: new file
4693 2006-04-03 Erlend Aasland <erlenda@gmail.com>
4695 * lily/hairpin.cc (print): add support for circled tip
4697 * scm/define-grob-properties.scm: add circled-tip parameter
4699 * scm/define-grobs.scm: init circled-tip to false
4701 2006-04-03 Han-Wen Nienhuys <hanwen@lilypond.org>
4703 * scm/music-functions.scm (quote-substitute): set
4706 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4708 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4711 * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4713 * scm/output-ps.scm (glyph-string): revert cid selectfont.
4715 2006-03-31 David Feuer <david.feuer@gmail.com>
4717 * scm/framework-ps.scm:
4719 * scm/output-ps.scm: glyph-string now produces smaller, more
4720 readable, and probably faster PostScript. Several findfont
4721 scalefont setfont instances changed to selectfont
4722 Hacked-up string-appends changed to formats.
4724 * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4726 2006-03-30 Graham Percival <gpermus@gmail.com>
4728 * scm/lily-library.scm: make "no version" warning message more polite.
4730 * lily/music.cc: add double quotes to failed octave check.
4732 * Documentation/user/ advanced-notation, changing-defaults,
4733 instrument-notation, invoking, music-glossary: whole bunch of minor
4736 2006-03-31 Han-Wen Nienhuys <hanwen@lilypond.org>
4738 * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4739 $(buildscriptdir) iso. depth.
4741 * VERSION (PACKAGE_NAME): release 2.9.1
4743 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4745 * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4747 * VERSION (PATCH_LEVEL): bump version number.
4749 * flower/include/guile-compatibility.hh (scm_from_uint32): add
4752 * lily/pango-font.cc (pango_item_string_stencil): use
4755 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4756 $(outdir)/emmentaler-%.svg): remove canary.
4758 * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4759 glyphnames if we have a ttf font.
4761 2006-03-30 Mats Bengtsson <mabe@s3.kth.se>
4763 * Documentation/user/advanced-notation.itely (Font selection):
4764 Corrected reference to the font-family-override.ly example.
4766 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4768 * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4769 stem-tremolo object in the stem (or else the stem might not be
4772 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4774 * lily/ttf.cc (print_trailer): only print existing glyphs.
4776 2006-03-30 Joe Neeman <joeneeman@gmail.com>
4778 * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4779 position the tremolo based on the position of the notehead.
4781 * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4782 notes and update the texidoc line with the new positioning rules.
4784 2006-03-30 Han-Wen Nienhuys <hanwen@lilypond.org>
4786 * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4788 * scripts/lilypond-book.py (Module): set default for linewidth if
4791 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4793 * VERSION (PACKAGE_NAME): release 2.9.0.
4795 * input/regression/stem-tremolo-position.ly: new file.
4797 * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4799 2006-03-28 Joe Neeman <joeneeman@gmail.com>
4801 * lily/stem-tremolo.cc (print): position
4802 the tremolo depending only on the end of the stem
4803 and not on the notehead
4804 (raw_stencil): center, on the middle staff line, the
4805 flag that is closest to the end of the stem (previously
4807 (calc_width): add this callback to shorten a tremolo when
4808 it is beamed or it is stemup with a flag
4809 (style): add this callback to make a tremolo rectangular when
4810 it is beamed or it is stemup with a flag
4811 (rotated_box): this is like Lookup::beam but makes a rotated
4812 rectangle instead of a parallelogram
4814 * lily/stem.cc (calc_stem_info): make sure the stem
4815 is long enough to fit the tremolo
4816 (calc-length): reduce the length of tremolo stems since the
4817 tremolo code is now capable of better positioning
4819 * scm/define-grobs.scm: make calc_width the default beam-width
4820 callback for stem-tremolo and add the style callback
4822 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4824 * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4827 2006-03-29 Han-Wen Nienhuys <hanwen@lilypond.org>
4829 * lily/ttf.cc (make_index_to_charcode_map): restore old
4832 2006-03-28 Werner Lemberg <wl@gnu.org>
4834 * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4836 2006-03-28 Graham Percival <gpermus@gmail.com>
4838 * THANKS: update for 2.9, add section for Documentation helpers.
4840 * Documentation/topdocs/NEWS.tely: compile fix.
4842 * Documentation/user/ basic-notation, global, advanced-notation,
4843 examples.itely: minor fixes from mailist.
4845 2006-03-28 Han-Wen Nienhuys <hanwen@lilypond.org>
4847 * mf/feta-bolletjes.mf: match width of solfa notes with normal
4850 * lily/ttf.cc (print_trailer): use it.
4852 * lily/pango-font.cc (get_unicode_name): new function.
4854 * lily/ttf.cc (make_index_to_charcode_map): move function from
4856 (print_trailer): substitute uniXXXX name if applicable.
4858 * lily/pango-font.cc (get_index_to_charcode_map): new function.
4859 (pango_item_string_stencil): use it to generate uniXXXX names.
4861 * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4862 note heads, for uniform widths in shape note output.
4863 (overdone_heads): hmm. remove them again.
4865 * scripts/lilypond-book.py (output): add links to filenames.
4867 * Documentation/topdocs/INSTALL.texi (Top): update versions.
4869 * lily/note-collision.cc (get_clash_groups): only consider when
4870 Note_column::dir <> CENTER.
4872 * scripts/lilypond-book.py (get_option_parser): init output_name
4875 2006-03-24 Graham Percival <gpermus@gmail.com>
4877 * Documentation/topdocs/NEWS.tely: add @end itemize
4879 * Documentation/user/ global, advanced-notation: minor
4882 2006-03-23 Graham Percival <gpermus@gmail.com>
4884 * Documentation/user/ lilypond.tely, music-glossary,
4885 preface: housekeeping; 2005->2006, remove "notes for 2.6"
4887 2006-03-23 Han-Wen Nienhuys <hanwen@lilypond.org>
4889 * mf/GNUmakefile: don't install .enc files.
4891 * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
4893 * VERSION (PATCH_LEVEL): bump to 2.9.0
4895 2006-03-22 Graham Percival <gpermus@gmail.com>
4897 * Documentation/user/advanced-notation.itely: minor fixes
4900 2006-03-22 Han-Wen Nienhuys <hanwen@lilypond.org>
4902 * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
4904 * branch lilypond_2_8
4906 2006-03-22 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4908 * scripts/lilypond-book.py (samefile): new function, for windoze
4911 2006-03-21 Graham Percival <gpermus@gmail.com>
4913 * ly/engraver-init.ly: add info about StaffGroup.
4915 2006-03-21 Han-Wen Nienhuys <lilydev@localhost.localdomain>
4917 * input/regression/stem-direction-context.ly: idem.
4919 * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
4923 * input/regression/page-layout-twopass.ly: comment out \markup so
4926 * lily/instrument-name-engraver.cc (finalize): add to instrument
4927 name global System. This also fixes chopped instrument names, but
4928 doesn't crash when there are slurs/beams.
4930 * lily/slur-configuration.cc (add_score): disallow negative slur
4933 2006-03-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
4935 * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
4937 * lily/instrument-name-engraver.cc (process_music): kludge: add
4938 InstrumentName spanner to axis group of left bound. Fixes chopped
4939 off instrument names in EPS images.
4941 * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
4943 * scripts/abc2ly.py (option_parser): update to 2.7.40
4945 2006-03-20 Graham Percival <gpermus@gmail.com>
4947 * THANKS: move small doc contributors to SUGGESTIONS.
4949 * Documentation/user/ basic-notation, advanced-notation,
4950 global: small changes from mailist.
4952 2006-03-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
4954 * Documentation/user/advanced-notation.itely (Text marks): update
4955 for new rehearsalMarkAlignSymbol convention.
4957 * VERSION (PATCH_LEVEL): bump version.
4959 * input/test/instrument-name-align.ly: new file.
4961 * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
4963 * input/test/instrument-name-align.ly: new file. Document how to
4964 align instrument names.
4966 * lily/mark-engraver.cc: remove properties.
4968 * scm/define-context-properties.scm
4969 (all-user-translation-properties): remove align symbol properties
4970 for barnumber/reh. mark.
4972 * lily/break-align-interface.cc (self_align_callback): new
4973 interface, new function. Look at complete alignment. This handles
4974 tunable break alignments in case break-align-symbols are missing.
4976 * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
4978 * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
4980 * python/convertrules.py (conv): mark/bar number alignment rule.
4982 * lily/break-align-interface.cc (calc_positioning_done): also
4983 store offset from last visible break-alignment to its
4984 neighbor. This makes alignment on non-visible objects more reliable.
4986 * po/lilypond.pot (Module): ran po-replace.
4988 * input/regression/tie-single-manual.ly (Module): new file.
4990 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
4991 look at has_manual_position_.
4992 (from_ties): set has_manual_position_ if tie has staff-position set.
4994 * lily/tuplet-bracket.cc (calc_positions): idem.
4996 * lily/tuplet-number.cc (print): don't print tupletnumber if it
4999 2006-03-19 Nicolas Sceaux <nicolas.sceaux@free.fr>
5001 * scm/define-markup-commands.scm (smallCaps): new markup command
5002 for turning a text to small caps using smaller font size and upper
5005 2006-03-17 Graham Percival <gpermus@gmail.com>
5007 * Documentation/user/ examples, instrument-notation,
5008 advnaced-notation: minor fixes from mailist.
5010 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5012 * Documentation/user/tutorial.itely (First steps): change example
5015 2006-03-17 Graham Percival <gpermus@gmail.com>
5017 * Documentation/user/ examples, advanced: minor changes from mailist.
5019 * THANKS: add Geoff Horton, for documentation stuff.
5021 2006-03-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5023 * python/lilylib.py (system): revert have_select kludge.
5025 * Documentation/user/tutorial.itely (Commenting input files):
5026 update version numbers in doc.
5028 * scm/define-grob-interfaces.scm (multi-measure-interface): add
5029 bound-padding to multi-measure-interface
5031 2006-03-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5033 * input/test/engraver-example.ily: update version number.
5035 * VERSION (PACKAGE_NAME): release 2.7.39
5037 * lily/note-spacing.cc (get_spacing): heighten threshold where
5038 accidentals/arpeggios influence previous spacing fully.
5040 * lily/rest.cc (y_offset_callback): only use direction if
5041 staff-position wasn't set before.
5043 * lily/bar-number-engraver.cc: add support for
5044 barNumberAlignSymbol.
5045 add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
5047 * lily/pointer-group-interface.cc (set_ordered): new function.
5048 (add_unordered_grob): new function.
5050 * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
5051 to ordered, unless the opposite has been proved. This fixes
5052 random reordering of large object groups across linebreaks,
5055 * lily/main.cc (do_chroot_jail): printf format fix.
5057 * lily/tie-formatting-problem.cc (generate_configuration):
5058 multiply y-shift for dot with direction.
5060 * scm/define-markup-commands.scm (note-by-number): put (magstep
5061 size) in y-attach too.
5063 * Documentation/topdocs/NEWS.tely (Top): show override.
5065 * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
5066 direction for stems.
5068 2006-03-15 Graham Percival <gpermus@gmail.com>
5070 * Documentation/user/ changing-defaults, global: minor
5073 2006-03-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5075 * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5077 * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5078 breakable items after uniformly stretched notes.
5080 * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5081 outline with outer edge of note heads. This prevents infinity
5082 problems with tied whole notes.
5084 * scripts/lilypond-book.py (do_file): use os.popen
5086 * python/convertrules.py (conv): add rule for Stem #'beamed-*
5088 2006-03-14 Erik Sandberg <mandolaerik@gmail.com>
5090 * Documentation/user/invoking.itely: Add ragged-right to bug report
5093 2006-03-14 Graham Percival <gpermus@gmail.com>
5095 * Documentation/user/global.itely: small fix from mailist.
5097 2006-03-14 Mats Bengtsson <mabe@s3.kth.se>
5099 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5100 file descriptor returned by tempfile.mkstemp() when writing
5101 to tmpfile and closing it. Solves problem with unlink(tmpfile)
5104 2006-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
5106 * po/fi.po: newline bugfix.
5108 2006-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
5110 * scm/paper.scm (paper-alist): Rounding fixes.
5112 2006-03-13 Graham Percival <gpermus@gmail.com>
5114 * Documentation/user/ changing-defaults, instrument-notation,
5115 tutorial: small fixes from mailist, mostly from Mats. Thanks!
5117 2006-03-13 Heikki Junes <hjunes@cc.hut.fi>
5121 2006-03-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5123 * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5126 * python/lilylib.py (print_environment): move ps_page_count to
5129 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5131 * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5133 * scm/framework-ps.scm (embed-document): new function. Use to
5136 * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5138 2006-03-12 Mats Bengtsson <mabe@s3.kth.se>
5140 * Documentation/user/instrument-notation.itely (Setting simple
5141 songs): Added \book{...} around the full example, so the separate
5142 markups are included in the printed example.
5144 2006-03-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5146 * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5149 * python/lilylib.py (system): rewrite system() using
5150 subprocess. Remove >& redirection trickery.
5152 2006-03-11 Graham Percival <gpermus@gmail.com>
5154 * Documentation/user/ changing-defaults, global, scheme-tutorial,
5155 notation-appendices.itely: minor fixes from mailist.
5157 2006-03-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5159 * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5160 unsplit man also needs images.
5162 * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5164 * VERSION (PACKAGE_NAME): 2.7.38 released.
5166 2006-03-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5168 * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5171 2006-03-08 Johannes Schindelin <Johannes.Schindelin@gmx.de>
5173 * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5174 respects the Score.skipTypesetting property.
5176 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5178 * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5179 Prolog. No %%EOF after CFF file.
5181 2006-03-08 Joe Neeman <joeneeman@gmail.com>
5183 * lily/constrained-breaking.cc (get_max_systems): used to return a
5185 (combine_demerits): use pointers to reduce copying data
5186 (calc_subproblem): idem
5187 (get_page_penalty): add page turn penalties
5189 2006-03-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
5191 * Documentation/user/invoking.itely (Invoking lilypond): better
5192 explanation of -e usage.
5194 * lily/main.cc (main_with_guile): don't append to
5195 init_scheme_code_string
5197 * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5199 * Documentation/user/invoking.itely: add note about MacOS X scripts.
5201 * scripts/convert-ly.py (do_options): don't print help for
5204 * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5205 @code and @example. Update from texinfo.tex from CVS.
5207 2006-03-08 Graham Percival <gpermus@gmail.com>
5209 * Documentation/user/scheme-tutorial.itely: clarifies distances
5210 measured in staff-spaces.
5212 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5214 * lily/slur.cc (outside_slur_callback): only calculate offsets if
5215 consider[k] is true.
5217 * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5219 * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5220 consider columns that have originals. Unifies spacing for mm
5221 rests around line breaks.
5223 * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5224 (set_text_rods): idem.
5225 (calculate_spacing_rods): new function: share code between
5226 set_text_rods and set_spacing_rods.
5227 (set_text_rods): take extents of bounds into account.
5229 2006-03-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
5231 * Documentation/user/basic-notation.itely (Writing music in
5232 parallel): don't use relative.
5234 2006-03-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
5236 * ly/music-functions-init.ly (Module): add shiftDurations
5238 * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5240 * scm/paper.scm (paper-alist): no decimals for Ax paper sizes.
5242 * ly/engraver-init.ly: init vocalName to nil.
5244 2006-03-05 Erik Sandberg <mandolaerik@gmail.com>
5246 * scm/music-functions.scm (music->make-music): bugfix,
5247 KeyChangeEvents are now handled correctly.
5249 * scripts/lilypond-book.py: Add --debug option.
5251 2006-03-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
5253 * python/lilylib.py: add tempfile.
5255 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5257 * VERSION (PACKAGE_NAME): release 2.7.37
5259 * python/lilylib.py (ps_page_count): remove make_ps_images().
5260 (ps_page_count): remove mkdir_p
5261 (system): remove cleanup_temp.
5262 (exit): remove lilypond_version_(check)
5263 (error_log): remove pseudo_filter_p
5268 * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5271 * lily/accidental-engraver.cc (make_standard_accidental): only add
5272 support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5274 * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5275 $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5276 Make incompatibilities.
5278 * scm/output-ps.scm (grob-cause): replace backslashes by /
5279 (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5281 2006-03-02 Jan Nieuwenhuizen <janneke@gnu.org>
5283 * cygwin/GNUmakefile: Install fixes.
5285 * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5287 * lily/note-head.cc (head::get_balltype): Compile fix.
5289 * flower/file-name.cc (dos_to_posix): Flower string fix.
5291 2006-03-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
5293 * python/lilylib.py: pychecker cleanups.
5295 * scripts/lilypond-book.py
5296 (Lilypond_snippet.output_print_filename): pychecker cleanups
5298 * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5300 * python/lilylib.py (underscore): remove identify() , warranty()
5302 * ps/music-drawing-routines.ps: change Border routine for GSView
5305 * lily/stem.cc (height): use quantize-positions. This triggers
5306 set_stem_lengths, so scripts on beamed stems are handled correctly.
5308 * lily/side-position-interface.cc (aligned_side): check if edges
5309 of script are inside staff. Fixes accent of edge of the staff.
5311 * input/regression/staccato-pos.ly: more examples.
5313 * stepmake/aclocal.m4 (depth): fix bashism.
5315 * lily/lyric-combine-music-iterator.cc: move from
5316 new-lyric-combine-iterator.cc
5317 (process): add pending_grace_lyric_ member to delay lyrics on
5320 * lily/system-start-text.cc (print): suicide if we don't have any
5321 elements. Fixes hara kiri'd instrument names.
5323 * scripts/mup2ly.py (Module): remove.
5325 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5327 * Documentation/user/global.itely (A single music expression):
5328 close @lilypond properly
5330 * lily/volta-bracket.cc (modify_edge_height): change from
5331 after_line_breaking_callback. Suicide last bracket if appropriate.
5333 * python/lilylib.py: strip getopt support
5335 * scripts/etf2ly.py (do_options): use optparse
5337 * scripts/midi2ly.py: optparse, strip lilylib copy.
5339 * scripts/abc2ly.py (voices): use optparse.
5341 * stepmake/stepmake/generic-vars.make: new function absdir.
5343 * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5345 * scripts/lilypond-book.py (find_file): use global_options for
5348 * scm/ps-to-png.scm (ps-page-count): prevent null characters
5351 2006-03-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
5353 * python/lilylib.py (get_global_option): ughness for extracting
5354 global options from lilylib.
5355 (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5357 * scripts/lilypond-book.py (get_option_parser): use optparse for
5358 option handling. Put options in global_options variable.
5360 2006-02-28 Heikki Junes <hjunes@cc.hut.fi>
5362 * Documentation/index.html.in: clarify.
5364 2006-02-28 Nicolas Sceaux <nicolas.sceaux@free.fr>
5366 * scm/layout-page-layout.scm (write-page-breaks): add a
5367 music-system-heights property to the page layout output.
5369 * scm/page.scm (make-page-stencil): take footer into account when
5370 computing the 'space-left page property
5371 (annotate-space-left): take footer into account when annonating
5374 2006-02-28 Graham Percival <gpermus@gmail.com>
5376 * Documentation/user/ advanced-notation, global: more (final)
5377 docs for music expressions, removed special fermatas.
5379 2006-02-27 Graham Percival <gpermus@gmail.com>
5381 * Documentation/user/ basic-notation, global: minor changes
5384 2006-02-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
5386 * scm/framework-ps.scm:
5387 * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5388 layer for inf? and nan? from framework-ps to lily-library.
5390 2006-02-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
5392 * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5393 $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5395 * buildscripts/substitute-encoding.py (Module): remove file.
5397 * mf/GNUmakefile: more PFA strippage.
5399 * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5401 * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5404 * scm/framework-ps.scm: remove font name munging.
5406 * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5408 2006-02-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
5410 * scm/markup.scm (define-markup-command): change
5411 def-markup-command to define-markup-command
5413 * scm/music-functions.scm (define-music-function): change
5414 def-music-function to define-music-function.
5416 * python/convertrules.py (conv): rules for def-music-function
5417 and def-markup-commands
5419 * Documentation/user/programming-interface.itely,
5420 input/no-notation/display-lily-tests.ly,
5421 input/regression/lily-in-scheme.ly,
5422 input/regression/markup-user.ly,
5423 input/regression/music-function.ly, input/regression/tie-chord.ly,
5424 scm/fret-diagrams.scm, ly/music-functions-init.ly,
5425 ly/gregorian-init.ly: use new macro names (define-music-function,
5426 define-markup-command).
5428 2006-02-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
5430 * scripts/lilypond-book.py (main): write Makefile dependencies file.
5431 (output): add comments to lp-book latex output.
5433 * GNUmakefile.in (footifymail): use gmane address for webpage bug
5436 2006-02-23 Graham Percival <gpermus@gmail.com>
5438 * Documentation/user/ tutorial, global: minor changes.
5440 2006-02-23 Nicolas Sceaux <nicolas.sceaux@free.fr>
5442 * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5443 blocks (for make 3.80)
5445 * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5446 \notemode so that user should not have to explicitely type it.
5448 * scm/define-music-display-methods.scm: various
5449 fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5452 * input/no-notation/display-lily-tests.ly: new tests for
5453 \applyOutput and \applyContext
5455 2006-02-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
5457 * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5458 changed it slightly so that the number of systems returned by
5459 solve () will be the same as the last value passed to resize
5460 (). I've also added more documentation, removed casts, fixed style
5461 problems and put in some recovery if constraints aren't satisfied."
5463 2006-02-23 Jan Nieuwenhuizen <janneke@gnu.org>
5465 * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5466 for emacs < 22 compatibility.
5467 (count-rexp): Use it.
5468 (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5469 substring juggling (Milan Zamazal).
5471 2006-02-23 Graham Percival <gpermus@gmail.com>
5473 * Documentation/user/ basic-notation, advanced-notation,
5474 global.itely, invoking.itely, tutorial,itely:
5475 minor fixes from mailist.
5477 * scm/define-markup-commands.scm: improve docs of \filled-box.
5479 2006-02-23 Heikki Junes <hjunes@cc.hut.fi>
5481 * Documentation/index.html.in: changes concern the previous release.
5483 * input/regression/+.ly: cultivate typographical terminology.
5485 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5487 * scm/define-grob-interfaces.scm (parentheses-interface): add
5488 padding to parentheses-interface.
5490 * Documentation/user/GNUmakefile: remove $(CROSS) support from
5491 Documentation/user/GNUmakefile. Use --disable-documentation for that.
5493 * VERSION (PATCH_LEVEL): release 2.7.36
5495 * lily/slur.cc: add avoid-slur (ugh.)
5497 * lily/slur-configuration.cc (fit_factor): oops, skip point if
5498 intersection gets smaller. This fixes slurs over extreme points.
5500 * lily/melody-engraver.cc (stop_translation_timestep): ignore
5501 stems with neutral-direction set.
5503 * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5505 * lily/open-type-font.cc (load_table): format error.
5507 * lily/change-iterator.cc (process): format fix.
5509 * flower/include/international.hh (_f): idem.
5511 * flower/include/std-string.hh: add format printf attribute.
5513 * scm/define-grobs.scm (all-grob-descriptions): height of all
5514 PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5516 * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5519 * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5521 2006-02-22 Erik Sandberg <mandolaerik@gmail.com>
5523 * input/regression/: upgraded syntax for some files.
5525 * THANKS: Add bughunters.
5527 2006-02-22 Graham Percival <gpermus@gmail.com>
5529 * Documentation/user/ invoking.itely, advanced-notation.itely,
5530 global.itely: long-awaited "let's make chapter 10 not suck"
5531 update. Rearrange chapter 10; now called "global issues",
5532 addresses file structure, etc. Some info from other files
5533 moved into global.itely.
5535 2006-02-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
5537 * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5538 catch trill-span-event notes.
5540 * Documentation/user/examples.itely (Ancient notation templates): typo.
5543 * scripts/lilypond-book.py (main): scrap invokes_lilypond().
5545 * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5547 * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5549 * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5551 * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5552 froum Laissez_vibrer_engraver.
5554 * ly/declarations-init.ly (repeatTie): add \repeatTie
5556 * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5558 * scm/define-grob-properties.scm (all-user-grob-properties): add
5559 head-direction property.
5561 * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5562 from_lv_ties. Take head direction argument.
5564 * lily/semi-tie-column.cc: rename from
5565 laissez-vibrer-tie-column.cc. Rename class too.
5567 * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5570 * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5572 * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5574 (find_breaks): idem.
5576 2006-02-21 Graham Percival <gpermus@gmail.com>
5578 * Documentation/user/advanced-notation.itely: fixed make-moment]
5581 * Documentation/user/basic-notation.itely: more clarification to
5584 2006-02-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
5586 * lily/include/constrained-breaking.hh (class
5587 Constrained_breaking): new file.
5589 * lily/constrained-breaking.cc (resize): new file.
5591 * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5593 * Documentation/user/advanced-notation.itely (Clusters): insert
5596 * lily/tie-column.cc (calc_positioning_done): support for
5599 * lily/tie-formatting-problem.cc
5600 (generate_extremal_tie_variations): factor out.
5601 (score_ties_configuration): annotate all tie
5602 (print_ties_configuration): new routine.
5603 (generate_configuration): nudge extremal ties outside of the head
5605 (score_ties_configuration): oops. convert to staff-space before
5606 determining position symmetry.
5608 2006-02-20 Graham Percival <gpermus@gmail.com>
5610 * Documentation/user/*-notation.itely: misc minor editing,
5611 shifting doc sections around.
5613 * Documentation/user/*-notation-itely, global.itely,
5614 changing-defaults.itely: added new stuff from NEWS.
5616 2006-02-20 Heikki Junes <hjunes@cc.hut.fi>
5620 2006-02-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
5622 * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5623 lilypond --verbose for lp-book.
5625 * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5626 $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5628 * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5629 $(buildscript-dir) iso. absolute depth.
5631 * buildscripts/genicon.py (dir): thinko.
5633 * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5635 2006-02-19 Erik Sandberg <mandolaerik@gmail.com>
5637 * scm/output-lib.scm: swap darkcyan/darkyellow
5639 * THANKS: Add bughunters.
5641 2006-02-19 Graham Percival <gpermus@gmail.com>
5643 * Documentation/user/programming-interfaces.itely: fixed example.
5645 * Documentation/user/instrument-notation.itely: fix @{ @}.
5647 * scm/script.scm: add avoid-slur for \open.
5649 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5651 * lily/tie-formatting-problem.cc (score_configuration): use
5652 sliding score for min-length.
5654 * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5655 spaghetti for icons.
5657 * buildscripts/genicon.py (program_name): new file.
5659 * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5661 (generate_configuration): for small ties, also look for collisions
5662 at Y + DIR*h + DELTA_Y.
5663 (get_variations): consider variation for dot positions too.
5665 * lily/side-position-interface.cc (aligned_side): take abs for
5666 quantized rounded position. Fixes tenuto below staff.
5668 * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5669 markers when necessary.
5671 * lily/program-option.cc (internal_set_option): add
5672 strict_infinity_checking option.
5674 * scm/output-lib.scm (cyan): swap yellow and cyan.
5676 2006-02-19 Graham Percival <gpermus@gmail.com>
5678 * darwin.patch: trivial linenumber update.
5680 * Documentation/user/ {various}: `\context foo = named' changed
5681 to `\new foo = "name"' in docs.
5683 2006-02-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
5685 * scm/stencil.scm (annotate-y-interval): use it.
5687 * scm/lily-library.scm (interval-sane?): new function.
5689 * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5692 * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5695 * flower/include/std-vector.hh (iterof): add iterof macro.
5697 * lily/enclosing-bracket.cc (width): new function.
5699 * lily/align-interface.cc (align_elements_to_extents): reinstate
5702 2006-02-18 Heikki Junes <hjunes@cc.hut.fi>
5704 * Documentation/index.html.in: fix spelling: thankyous.
5706 2006-02-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
5708 * lily/lyric-hyphen.cc: typo.
5710 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5712 * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5713 $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5716 * VERSION: release 2.7.35
5718 * lily/beam.cc (get_default_dir): oops. Take abs () for
5720 (get_default_dir): use extreme position criterion only in absence
5721 of forced stem directions.
5723 * VERSION (PATCH_LEVEL): bump VERSION.
5725 * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5726 dependencies. Necessary for -jX builds.
5728 2006-02-17 Jan Nieuwenhuizen <janneke@gnu.org>
5730 * lily/relocate.cc (setup_paths): Yet another const fix.
5732 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5734 * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5736 * lily/relocate.cc (setup_paths): oops.
5738 2006-02-17 Heikki Junes <hjunes@cc.hut.fi>
5740 * Documentation/index.html.in: order links: html before PDF.
5742 2006-02-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
5744 * lily/tie-column-format.cc (Module): remove.
5746 * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5748 * lily/text-spanner.cc (print): idem.
5750 * lily/dynamic-text-spanner.cc (print): only print line if longer
5753 * lily/auto-change-iterator.cc (change_to): formatting.
5755 * lily/beam.cc (get_default_dir): take extreme note head as input
5758 * lily/tie.cc (get_default_dir): only look directions for visible
5761 * lily/side-position-interface.cc (aligned_side): oops. Don't
5762 mutiply with direction. This fixes quantized (staccato, tenuto)
5763 scripts below notes.
5765 * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5766 direction. Fixes c-lyrics-center-align.ly
5768 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5770 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5773 * lily/std-string.cc:
5774 * lily/include/std-vector.hh (split_string): Move and rename from
5775 lily/include/misc.hh, lily/misc.cc. Update callers.
5777 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5779 * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5781 2006-02-16 Jan Nieuwenhuizen <janneke@gnu.org>
5783 * flower/test-file.cc: New file.
5785 * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5788 * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5790 2006-02-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
5792 * flower/include/file-storage.hh: remove file.
5794 * lily/include/midi-item.hh (class Midi_track): idem.
5796 * lily/include/source.hh (class Sources): idem.
5798 * lily/include/performance.hh (class Performance): use vector
5801 * flower/include/cons.hh (class Cons): remove file.
5803 * flower/include/flower-proto.hh: remove template cruft.
5805 * lily/include/font-metric.hh: use size_t not vsize for indices.
5807 * flower/include/flower-proto.hh (Module): remove std-vector.hh
5810 * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5812 * lily/include/paper-book.hh (class Paper_book):
5813 make get_system_specs() public.
5815 * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5816 the force=10000 case if we don't have a current-best.
5818 * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5821 * flower/include/flower-proto.hh: remove outdated templates.
5823 * scm/page.scm: use annotate-spacing
5825 2006-02-15 Graham Percival <gpermus@gmail.com>
5827 * scm/translation-functions.scm: circle patch from Erlend, thanks!
5829 * THANKS: moved Erlend Aasland to contributors.
5831 2006-02-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
5833 * config.hh.in: remove HAVE_PANGO_16
5835 * lily/tuplet-bracket.cc (calc_positions): multiply with
5836 staff-space for beam case. This fixes tuplets+beams on scaled
5839 * config.hh.in: remove all Kpathsea related defines.
5841 * lily/dot-column.cc (side_position): reach stem via dots->
5842 head->stem. Inspect all stems for dot collisions.
5844 * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5847 * lily/bar-number-engraver.cc (process_music): document function
5850 * lily/score.cc (default_rendering): add pscore, not systems
5853 * lily/paper-book.cc (get_system_specs): separate generation of
5856 * flower/include/std-vector.hh: don't include config.hh
5858 2006-02-15 Jan Nieuwenhuizen <janneke@gnu.org>
5860 * flower/include/std-vector.hh: Better wrapper compatibility with
5863 * flower/include/flower-proto.hh: Remove cheap forward declaration
5866 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5868 2006-02-14 Graham Percival <gpermus@gmail.com>
5870 * Documentation/user/invoking.itely: add warning about command line.
5872 2006-02-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
5874 * lily/include/lily-proto.hh: add Prob, rm Page.
5876 * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5878 * VERSION: release 2.7.34
5880 * lily/relocate.cc (framework_relocation): show canary if
5881 GHOSTSCRIPT_VERSION undefined.
5883 * GNUmakefile.in: remove $(VERSION) symlink.
5885 * lily/relocate.cc (setup_paths): add +
5887 2006-02-13 Heikki Junes <hjunes@cc.hut.fi>
5889 * Documentation/index.html.in: specify sizes for all big HTML pages.
5891 2006-02-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
5893 * config.hh.in: remove @FRAMEWORKDIR@
5895 * lily/system-start-text.cc (get_stencil): new file: separate out
5896 system-start-delimiter text support.
5898 * input/**ly: replace \context with \new where appropriate.
5902 * lily/slur-scoring.cc (get_base_attachments): use
5903 robust_relative_extent. This fixes problems with empty paper-columns.
5905 2006-02-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
5907 * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
5909 * scm/define-music-properties.scm (all-music-properties):
5910 create-new property.
5912 * lily/context-specced-music-iterator.cc (construct_children):
5913 inspect 'create-new property iso. magical $uniqueContextId context
5916 * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
5918 * lily/context-key-manager.cc (Module): new file. Encapsulate
5919 object key generation.
5921 * lily/include/context-key-manager.hh (Module): new file.
5923 2006-02-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
5925 * scm/define-grobs.scm (all-grob-descriptions): center instrument
5928 * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
5930 (reloc_b): excise --enable-framework-dir
5932 * lily/relocate.cc (framework_relocation): use getenv
5933 LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
5935 2006-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
5937 * flower/include/std-string.hh:
5938 * flower/include/std-vector.hh: Finish std:: conversion; move
5939 flower extensions from std:: namespace. Update users.
5941 * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
5942 their expansion to vector<*>. Update users.
5944 2006-02-10 Graham Percival <gpermus@gmail.com>
5946 * Documentation/user/invoking.itely: add example to File structure.
5948 * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
5949 examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
5951 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5953 * ly/paper-defaults.ly: typo.
5955 * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
5956 set_parent() for parentheses. This will make it show up in bbox
5959 * scm/output-lib.scm (parentheses-item::print): rewrite, using
5960 ly:grob-common* functions.
5962 * lily/grob-scheme.cc (LY_DEFINE):
5963 ly:grob-common-refpoint-of-array: new function
5964 ly:grob-common-refpoint: new function
5965 ly:grob-relative-coordinate: new function
5967 * lily/instrument-name-engraver.cc (process_music): use
5968 Text_interface::is_markup(). This fixes \markup on instrument names.
5970 * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
5973 * lily/slur.cc (print): idem.
5975 * lily/tie.cc: add line-thickness for ties.
5977 2006-02-10 Jan Nieuwenhuizen <janneke@gnu.org>
5979 * scm/output-svg.scm: Document diversion from GNU coding standards
5980 as a workaround for a bug in Microsoft Internet Explorer.
5982 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
5984 * lily/instrument-name-engraver.cc (process_music): use
5985 is_markup() iso. is_string()
5987 * Documentation/user/changing-defaults.itely (Module): add menu entry.
5989 * lily/percent-repeat-engraver.cc (process_music): only look at
5990 main_part_ for % repeats.
5992 * lily/stem-tremolo.cc (get_beam_translation): new function.
5993 (calc_slope): new function.
5994 (height): don't use real slope.
5996 2006-02-10 Jürgen Reuter <reuter@ipd.uka.de>
5998 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
5999 new connect-to-neighbor, control-points and staff-padding
6000 properties to make ligature brackets showing up again.
6002 2006-02-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
6004 * VERSION: release 2.7.33
6006 * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
6009 * Documentation/user/changing-defaults.itely (Difficult tweaks):
6010 remove applyOutput example.
6011 (Objects connected to the input): document \tweak, \parenthesize
6013 * lily/relocate.cc (prefix_relocation): allow "current"
6014 iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
6015 changing VERSION in a lily tree less painful.
6017 * input/regression/parenthesize.ly: new file.
6019 * scm/output-lib.scm (parenthesize-element): new function.
6021 * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
6023 * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
6025 * lily/accidental-engraver.cc (make_standard_accidental): reroute
6026 cause: accidentals are caused by note heads, not note events.
6028 2006-02-08 Graham Percival <gpermus@gmail.com>
6030 * darwin.patch: small patch from Erlend, thanks!
6032 * Documentation/user/basic-notation.itely: add stem-neutral example.
6034 * Documentation/user/putting.itely: clarifications.
6036 2006-02-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
6038 * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
6039 note, add more guidelines to what should go into NEWS.
6041 * input/sakura-sakura.ly: document how to override font.
6043 * input/regression/font-family-override.ly: doc -dshow-available-fonts
6045 2006-02-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6047 * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
6049 2006-02-08 Jan Nieuwenhuizen <janneke@gnu.org>
6051 * scripts/convert-ly.py (lilypond_version_re_str): Move from
6052 convertrules. Add explicit grouping, needed for python2.2.
6054 2006-02-07 Jan Nieuwenhuizen <janneke@gnu.org>
6056 * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
6058 2006-02-07 Graham Percival <gpermus@gmail.com>
6060 * Documentation/user/global.itely: fix line-width in (text) docs.
6062 * Documentation/user/lilypond-book.itely: same.
6064 2006-02-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6066 * VERSION (PACKAGE_NAME): release 2.7.32
6068 * Documentation/topdocs/NEWS.tely (Top): document new variable
6071 * flower/include/array.icc (Message): remove file.
6073 * flower/include/std-vector.hh: make sure vsize and VPOS are
6074 defined for binary_search_bounds().
6076 * flower/std-string.cc (std): add to_string(long unsigned).
6078 * configure.in (gui_b): excise std_string option.
6079 (gui_b): excise std_vector option.
6081 * flower/string.cc (Module): excise flower array & string
6083 * flower/include/std-string.hh: excise flower string.
6085 * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6087 * python/convertrules.py (lilypond_version_re_str): require
6088 only numbers and dots in \version string.
6090 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6092 * lily/system-start-delimiter.cc (print): allow style = text too.
6094 * lily/system-start-delimiter-engraver.cc
6095 (acknowledge_system_start_text): new function, also add add to
6096 support of system-start-text (instrument names). This fixes
6097 instrument names on piano staves.
6099 * lily/instrument-name-engraver.cc: rewrite. Use
6100 system-start-delimiter approach. This save memory and cpu.
6102 * scm/define-grobs.scm (all-grob-descriptions): remove
6103 instrument-name from break-alignment.
6105 * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6107 2006-02-05 Jan Nieuwenhuizen <janneke@gnu.org>
6109 * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6112 * configure.in (std_vector): On by default.
6114 * lily/include/font-metric.hh:
6115 * lily/include/tfm-reader.hh:
6116 * lily/include/spanner.hh: Use unsigned for indices and sizes.
6119 * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6121 2006-02-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6123 * VERSION (PACKAGE_NAME): 2.7.31
6125 * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6126 EPS edge at 0, but take minimum with left-overshoot. This fixes
6127 cut off system start delims.
6129 * lily/instrument-name-engraver.cc (stop_translation_timestep):
6130 hack: add to axis group if not added yet. This fixes hara kiri'd
6133 * lily/hara-kiri-group-spanner.cc
6134 (force_hara_kiri_in_y_parent_callback): fix signatures.
6136 * lily/hairpin.cc (print): check next hairpin to see whether or
6137 not to be continuing.
6139 2006-02-04 Jan Nieuwenhuizen <janneke@gnu.org>
6141 * Remove trailing whitespace from makefiles.
6143 * flower/include/std-vector.hh: Add binary_search_bounds workaround
6146 * .cvsignore: Add out*, out-www, config-*. Remove lots of cruft.
6148 * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6150 * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6152 * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6154 * configure.in: Use it.
6156 2006-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6158 * scm/music-functions.scm (pitch-of-note): new function.
6160 * ly/music-functions-init.ly: add \octave and \addquote
6162 * lily/parser.yy (music_function_chord_body): softcode \octave.
6163 (lilypond_header): softcode \addquote
6165 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6167 * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6168 array.hh, parray.hh at all. Getting ready to flip the
6171 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6173 * lily/source-file.cc (file::get_line): Help binary_search_bounds
6176 * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6178 2006-02-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
6180 * flower/include/array.hh: typo.
6182 2006-02-02 Graham Percival <gpermus@gmail.com>
6184 * Documentation/user/advanced-notation.itely: doc "\#" in text.
6186 2006-02-03 Jan Nieuwenhuizen <janneke@gnu.org>
6188 * flower/include/pqueue.hh: Derive from std::vector.
6190 * flower/include/parray.hh: Conform to std::vector interface.
6193 2006-02-02 Graham Percival <gpermus@gmail.com>
6195 * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6197 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6199 * flower/file-path.cc (is_file): remove if 0 section.
6201 * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6202 selecting afii61352.
6204 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6206 * flower/include/std-vector.hh (boundary): Oops, reverse.
6208 * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6209 remove superfluous `d'.
6211 * flower/include/std-vector.hh (boundary, top): Detach from class.
6212 Remove empty vector shell.
6214 * flower/include/array.hh (reverse, swap): Detach from class.
6217 * flower/include/std-vector.hh
6218 * flower/include/array.hh (concat): Globally change to insert ().
6220 * flower/include/std-vector.hh
6221 * flower/include/parray.hh
6222 * flower/include/array.hh (elem, elem_ref): Globally replace by
6225 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6227 * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6229 * python/convertrules.py (FatalConversionError.sub_cxx_id):
6230 anticipate on identifier substitutions.
6232 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6234 * flower/include/std-vector.hh (insert): Remove, replace by
6235 std::vector interface. Update callers.
6237 * flower/include/array.icc (insert): Change signature to
6238 match std::vector interface.
6240 * flower/include/array.icc (vector_sort): Bugfix.
6242 2006-02-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6244 * lily/parser.yy (output_def_head_with_mode_switch): new
6245 production. Result: dashes and underscores may be used in the
6248 * lily/lexer.ll: add DASHED_WORD. Accept in INITIAL mode.
6250 * python/convertrules.py (conv): oops. One slash too much.
6252 2006-02-02 Jan Nieuwenhuizen <janneke@gnu.org>
6254 * flower/include/std-vector.hh (sort): Remove, replace by
6255 ::vector_sort. Update callers.
6257 * flower/include/std-vector.hh (slice): Remove. Update callers.
6260 * flower/test-std.cc (vector_sort): New test.
6262 2006-02-01 Graham Percival <gpermus@gmail.com>
6264 * Documentation/user/putting.itely: fixes from Erik.
6266 2006-02-01 Jan Nieuwenhuizen <janneke@gnu.org>
6268 * flower/test-std.cc: Add simple unit test for vector migration.
6270 * stepmake/stepmake/test*: Unit test support.
6272 * flower/include/std-vector.hh (del): Remove. Use erase (),
6275 * flower/include/array.hh (begin, end): Add.
6278 2006-02-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6280 * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6281 std::string not String.
6283 * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6286 * lily/prob.cc (Prob): copy type_ too.
6288 * lily/lily-guile.cc (mangle_cxx_identifier): new
6289 function. Class_bla::foo_bar_[px] ->
6290 ly:class-bla::foo-bar[?!]. Changes throughout
6292 2006-01-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6294 * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6296 * lily/beam.cc (calc_direction): take dir from visible stem in
6299 2006-01-31 Jan Nieuwenhuizen <janneke@gnu.org>
6301 * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6302 Fix -1, >=0 boundary checks for unsigned vsize.
6304 * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6305 loop for unsigned vsize.
6307 * configure.in (--enable-std-vector): New option.
6308 (--enable-std-string): On by default.
6310 * flower/include/std-vector.hh: New file. Enable switch to
6311 std::vector, update client code.
6313 2006-01-30 Graham Percival <gpermus@gmail.com>
6315 * scm/document-translation.scm: clarify "this context is also
6316 known as". Thanks, Werner!
6318 * Documentation/user/putting.itely: small fixes from Don Blaheta.
6320 * Documentation/user/invoking.itely: small fix from Don.
6322 2006-01-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6324 * scm/lily.scm (define-scheme-options): rename option
6325 preview-include-book-title to book-title-preview
6326 (define-scheme-options): move force-eps-font-include (from paper
6327 block) to eps-font-include -d option.
6329 * VERSION (PATCH_LEVEL): release 2.7.30
6331 * input/bach-schenker.ly (staffPiano): new file.
6333 * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6335 * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6338 * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6340 * ps/lilyponddefs.ps: remove start-system, stop-system,
6341 start-page fluff. This saves putting { } code on the stack, fixing
6342 stack overflows when including EPS files.
6344 2006-01-29 Graham Percival <gpermus@gmail.com>
6346 * Documentation/user/putting.itely: minor fixes (comments on -devel).
6348 2006-01-29 Nicolas Sceaux <nicolas.sceaux@free.fr>
6350 * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6352 2006-01-28 Graham Percival <gpermus@gmail.com>
6354 * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6356 2006-01-28 Jan Nieuwenhuizen <janneke@gnu.org>
6358 * input/mutopia/claop.py: Update.
6360 2006-01-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6362 * input/regression/completion-heads.ly (texidoc): fix.
6364 * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6366 * lily/tie-formatting-problem.cc
6367 (set_ties_config_standard_directions): use abs iso fabs for ints.
6369 * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6371 * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6372 little less than noteheight, to prevent overlaps in chords.
6374 * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6375 head, and fudge stem-attachment.
6377 * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6379 * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6381 2006-01-27 Jan Nieuwenhuizen <janneke@gnu.org>
6383 * lily/main.cc (main): Debugging aid: catch exceptions.
6385 * flower/std-string.cc (to_string): Robustification. Fixes midi
6386 output with std::string.
6388 2006-01-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6390 * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6392 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6394 * Fix -DSTRING_UTILS_INLINED.
6396 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6398 * VERSION (PATCH_LEVEL): release 2.7.29
6400 * lily/relocate.cc (setup_paths): mingw uses std string too.
6402 * lily/*.cc: various fixes for substr(ARG).
6404 * lily/sustain-pedal.cc (print):
6406 * flower/file-name.cc (slashify): use std strings.
6408 * flower/string-convert.cc: remove publib.h
6410 * scm/define-markup-commands.scm (verbatim-file): new markup
6411 command \verbatim-file
6413 * Documentation/topdocs/NEWS.tely: fixup URLs
6415 * input/regression/alignment-vertical-manual-setting.ly (Module):
6418 * lily/align-interface.cc (align_elements_to_extents): overwrite
6419 translations with numbers in alignment-offsets from left bound
6421 * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6422 (page-translate-systems): new function: take into account Y-offset.
6424 * Documentation/topdocs/NEWS.tely (Top): document new features.
6426 * input/regression/page-layout-manual-position.ly (Module): new
6429 2006-01-26 Jan Nieuwenhuizen <janneke@gnu.org>
6431 * flower/file-path.cc (path::parse_path): Oops.
6433 * Finish std::string interface. For now, use std:: marker
6434 throughout for easy s/r.
6436 2006-01-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
6438 * Documentation/user/putting.itely (Score is a single musical
6440 (Score is a single musical expression): more typos.
6442 * scm/page.scm (annotate-space-left): thinko.
6443 (annotate-page): more thinkos.
6445 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6447 * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6448 for different \score blocks separately.
6449 (post-process-pages): put write-page-layout into paper block.
6451 * lily/output-def.cc (get_parser): new file.
6453 * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6456 * lily/include/output-def.hh (class Output_def): add parser_ member.
6458 * input/regression/page-layout-twopass.ly (Module): new file.
6460 * scm/lily.scm: remove cpp hack.
6462 * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6464 2006-01-25 Jan Nieuwenhuizen <janneke@gnu.org>
6466 * GNUmakefile.in (c-clean): New target.
6468 * flower/include/std-string.hh: String/std::string compatibility:
6469 Use NPOS for `not found' (iso -1), use ssize for length () and pos
6472 * flower/rational.cc:
6473 * flower/include/rational.hh:
6476 * flower/include/offset.hh:
6478 * flower/interval.cc:
6479 * flower/include/interval.hh:
6481 * flower/string-convert.cc:
6482 * flower/include/string-convert.hh: Use std::string [interface].
6485 2006-01-25 Heikki Junes <hjunes@cc.hut.fi>
6487 * Documentation/index.html.in: clean up.
6489 2006-01-25 Graham Percival <gpermus@gmail.com>
6491 * Documentation/user/putting.itely: another new untested doc section.
6493 2006-01-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6495 * scm/layout-page-layout.scm (write-page-breaks): write
6496 \spacingTweaks #ALIST. Handle grace timing.
6498 * scm/: more imports.
6500 * scm/page.scm (make-page): add footer/header.
6501 (annotate-space-left): revise: only take page argument.
6502 (layout->page-init): new function.
6504 * scm/layout-page-layout.scm (write-page-breaks): preliminary
6505 version of the system/spacing/linebreak hack writing to the output
6507 * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6510 * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6513 2006-01-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
6515 * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6517 * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6519 * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6520 handling to page.scm
6522 * lily/prob-scheme.cc (LY_DEFINE): new file.
6523 (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6525 * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6528 * lily/music.cc (derived_mark): derive Music from Prob.
6530 * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6532 * lily/prob.cc (Module): Implement Prob (Property Object), object
6533 with shared and r/w property alists.
6535 * lily/include/prob.hh (Module): new file. Declare Prob.
6537 * flower/string.cc: remove is_empty().
6539 * flower/include/string.hh (class String): remove String:: qualifier.
6541 * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6542 substitute appropriate functions.
6544 * flower/include/string.hh (class String): remove to_str0 and
6545 is_empty(). S&R everywhere.
6547 2006-01-23 Graham Percival <gpermus@gmail.com>
6549 * Documentation/user/basic-notation.itely: add hairpin
6550 after-linebreak tweak to commonprop.
6552 * Documentation/user/putting.itely: added two new sections.
6554 2006-01-23 Jan Nieuwenhuizen <janneke@gnu.org>
6556 * flower/international.cc:
6557 * flower/include/international.hh:
6559 * flower/getopt-long.cc:
6560 * flower/include/getopt-long.hh: Use std::string [interface].
6563 * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6565 * stepmake/stepmake/executable-rules.make: Add dependency on
6568 2006-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
6570 * flower/file-path.cc:
6571 * flower/include/file-path.hh: Use std::string [interface].
6574 * flower/direction.cc:
6575 * flower/axis.cc: Unused. Remove.
6577 * configure.in (--enable-std-string): New option.
6579 * flower/std-string.cc:
6580 * flower/include/std-string.hh: New file.
6582 * flower/file-name.cc[STD_STRING]:
6583 * flower/include/file-name.hh[STD_STRING]: Use it. Update callers.
6585 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6587 * scm/output-svg.scm (placebox): no GNU coding standards in SVG output.
6589 * scm/define-markup-commands.scm (with-dimensions):
6590 with-dimensions markup command.
6592 * input/test/font-table.ly: use it.
6594 * lily/open-type-font.cc (glyph_list): new function.
6596 * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6598 * lily/ttf.cc: remove ly:font-glyph-list scheme function
6600 2006-01-22 Nicolas Sceaux <nicolas.sceaux@free.fr>
6602 * ly/music-functions-init.ly (parallelMusic): new music function
6603 for parallel music entry.
6605 * scm/define-music-properties.scm (all-music-properties): new
6606 'void music property
6608 * scm/music-functions.scm (ly:music-message): make public, to be
6609 used in music function definitions
6611 * scm/lily-library.scm (collect-music-for-book): discard music
6612 when the 'void property is set.
6614 2006-01-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
6616 * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6618 * mf/GNUmakefile: idem.
6620 * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6622 * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6624 * Documentation/user/notation-appendices.itely (The Feta font):
6627 * input/test/font-table.ly: new file. Generate font table within lily.
6629 * Documentation/user/notation-appendices.itely (The Feta font):
6630 use new font-table.ly file.
6632 * stepmake/stepmake/install-out-targets.make
6633 (local-install-outfiles): only create directory if
6634 $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6636 2006-01-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
6638 * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6640 * VERSION (PACKAGE_NAME): release 2.7.28
6642 * scm/framework-ps.scm (write-preamble): use it to pick exactly
6643 the right font from a Mac dfont.
6644 (write-preamble): don't forget directory, only look at files.
6646 This fixes problems with TTF files in dfonts that don't match
6647 their PostScript names.
6649 * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6650 PS name from TTF font.
6652 * input/regression/tie-manual.ly: document new feature.
6654 * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6656 * VERSION (MY_PATCH_LEVEL): bump to .28
6658 * Documentation/user/basic-notation.itely (Ties): add tie examples
6661 * lily/tie-formatting-problem.cc (score_ties_configuration):
6662 symmetry penalties for outer ties.
6664 2006-01-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
6666 * lily/tie-formatting-problem.cc (generate_configuration)
6667 (set_manual_tie_configuration): skip non-pair manual
6668 tie-configuration, so you can set individual ties as
6670 #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6672 * input/regression/tie-chord.ly: use generateTiePattern to
6675 * lily/tie-formatting-problem.cc (peak_around): new function.
6676 (score_configuration): use sliding criterion for staff line collisions.
6677 (score_configuration): idem for dot collisions.
6678 (generate_configuration): use separate stem_gap for gap to stem.
6680 * lily/include/tie-formatting-problem.hh (struct Tie_details):
6681 separate penalty factors for x and y distance.
6682 (struct Tie_details): separate penalties for tip and center line collisions.
6684 2006-01-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
6686 * lily/tie-formatting-problem.cc (generate_configuration): make
6687 large ties avoid stafflines in the horizontal section.
6688 (score_configuration): use softcoded penalties
6689 (score_aptitude): idem.
6691 * lily/tie-helper.cc (from_grob): softcode tie details
6693 * lily/staff-symbol-referencer.cc (on_staff_line): new function
6695 * lily/staff-symbol-referencer.cc (on_line): rename from
6698 2006-01-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
6700 * ly/music-functions-init.ly: remove duplicate tag.
6702 * lily/include/*.hh: GCC 4.1 fixes.
6704 006-01-16 Erlend Aasland <erlenda@gmail.com>
6706 * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6708 * scm/define-music-types.scm: fix bug in desc. string
6709 for OverrideProperty
6711 2006-01-15 Erik Sandberg <mandolaerik@gmail.com>
6713 * scripts/lilypond-book.py: bugfix
6715 * scm/define-music-types.scm: fix typos.
6717 2006-01-14 Graham Percival <gpermus@gmail.com>
6719 * Documentation/user/ basic-notation.itely, global.itely,
6720 advanced-notation.itely, instrument-notation.itely: small
6721 additions (bugs and commonly tweaked properties).
6723 2006-01-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
6725 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6726 detection of mingw build.
6727 (MINGW_BUILD): opps.
6729 2006-01-12 Jan Nieuwenhuizen <janneke@gnu.org>
6731 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6734 2006-01-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
6736 * scm/music-functions.scm (skip->rest): add skip->rest
6738 2006-01-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
6740 * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6743 * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6744 config dirs. Aids debugging.
6745 (display_config): also display config files.
6747 2006-01-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
6749 * VERSION: release 2.7.27
6751 * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6752 for determining bar size.
6754 * lily/staff-symbol.cc (print): place lines at distance line-positions
6756 * scm/define-grob-properties.scm (all-user-grob-properties): add
6759 * lily/staff-symbol.cc (height): new function.
6761 * input/regression/staff-line-positions.ly: new file.
6763 2006-01-06 Graham Percival <gpermus@gmail.com>
6765 * input/test/add-staccato.ly: remove reference to old file.
6767 2006-01-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
6769 * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6770 lilypond binary too.
6772 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6774 * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6776 2006-01-06 Jan Nieuwenhuizen <janneke@gnu.org>
6778 * scripts/midi2ly.py: Bugfix: Declare datadir.
6780 * make/ly-rules.make:
6781 * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6782 that seems to be gone). Fixes make web.
6784 * The grand 2005-2006 replace.
6786 * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6788 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6790 * make/lilypond-vars.make: set LILYPOND_BINARY variable
6791 (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6792 LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6793 like -dgs-font-load.
6795 * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6796 remove absolute path to lilypond binary.
6798 2006-01-05 Pedro Kroeger <kroeger@pedrokroeger.net>
6800 * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6802 2006-01-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
6804 * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6806 * mf/GNUmakefile: remove broken dvips map symlink.
6808 2006-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
6811 * configure.in: Cosmetic fixes.
6813 2006-01-04 Mats Bengtsson <mabe@s3.kth.se>
6815 * Documentation/user/music-glossary.tely (Pitch names): Added
6816 Spanish pitch names and durations, thanks to Ernesto Gancedo
6818 2006-01-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
6820 * scm/lily.scm (define-scheme-options): use quasi-quote for option
6821 init. Fixes verbose printing of .scm files.
6823 * stepmake/aclocal.m4: add spaces before - options.
6825 2006-01-03 Jan Nieuwenhuizen <janneke@gnu.org>
6827 * lily/relocate.cc (setup_paths): Bugfix: do not store result
6828 of path search in local block variable.
6830 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6832 * configure.in (NCSB_DIR): --enable-ncsb-dir
6833 (LINK_GXX_STATICALLY): denko.
6835 * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH.
6837 * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option.
6838 use locate to find c059033l.pfb.
6840 2006-01-02 Jan Nieuwenhuizen <janneke@gnu.org>
6842 * lily/tie-formatting-problem.cc
6843 (problem::generate_base_chord_configuration): Use my_round (was
6846 * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6847 do not invoke mbrtowc.
6849 * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6851 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6853 * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6855 2005-01-02 Heikki Junes <hjunes@cc.hut.fi>
6857 * Documentation/user/invoking.itely (svg): revise.
6859 2006-01-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
6861 * lily/lexer.ll: use sourcefilename iso. renameinput.
6863 2006-01-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
6865 * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6866 <PostScriptName>.ttf instead of c059XXXttf.
6868 * lily/program-option.cc (LY_DEFINE): special support for
6869 --verbose, so it works before option init too.
6871 * mf/GNUmakefile (local-install): oops.
6873 * lily/lyric-hyphen.cc (print): oops.
6875 * buildscripts/pfx2ttf.fontforge: new file.
6877 * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6878 ($(outdir)/%.ttf): new rule.
6880 * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6883 * lily/lyric-hyphen.cc (print): multiply hyphen height by
6886 2005-12-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
6888 * VERSION: release 2.7.26
6890 * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6892 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6894 * lily/font-config.cc (init_fontconfig): verbosity.
6896 * THANKS: add Muziekacademie Lede.
6898 * scripts/musicxml2ly.py (print_voice_definitions): new function
6899 (print_score_setup): new function
6900 (convert): read part definition to output staves properly.
6902 * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
6905 * python/musicexp.py (Output_printer.__init__): use _ in data
6907 (Output_printer.unformatted_output): new function: no formatting,
6909 (Duration.get_length): remove isinstance() checks for
6910 Output_printer everywhere.
6912 * input/regression/lyrics-bar.ly (texidoc): add
6913 Separating_line_group_engraver.
6915 2005-12-29 Jan Nieuwenhuizen <janneke@gnu.org>
6917 * lily/relocate.cc (framework_relocation): New function,
6918 factored from set_relocation ().
6919 (prefix_relocation): Rename from set_relocation ().
6920 (setup_paths): Use it.
6922 2005-12-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
6924 * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
6925 numbers. Patch by Erlend Aasland.
6927 2005-12-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
6929 * lily/font-config.cc (init_fontconfig): print warning if cache
6930 file is not existant.
6932 * lily/main.cc: don't use #ifdef but #if
6934 2005-12-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
6936 * lily/grob-property.cc (internal_set_property): don't abort on
6937 calculation-in-progress.
6939 * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
6941 * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
6942 connect-to-neighbor property not connect-to-other
6944 * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
6945 (LY_DEFINE): oops. don't forget protection.
6947 * flower/parse-afm.cc (Module): strip AFM handling completely.
6949 * lily/stencil-expression.cc: idem.
6951 * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
6953 * lily/function-documentation.cc (ly_add_function_documentation):
6954 use static member iso. Protected_scm
6956 * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
6958 * config.make.in (prefix): remove HAVE_KPATHSEA_SO
6960 2005-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
6962 * lily/relocate.cc (set_env_dir): New function.
6963 (set_relocation): Use it to fix setting PANGO_PREFIX.
6965 2005-12-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
6967 * input/regression/stem-direction-context.ly: remove rest.
6969 * lily/melody-engraver.cc (process_music): restart for bar lines.
6970 (acknowledge_slur): restart for slurs.
6972 2005-12-27 Heikki Junes <hjunes@cc.hut.fi>
6974 * Documentation/user/invoking.itely: describe how to view SVG
6975 output using Inkscape which replace embedded fonts with OTF fonts.
6977 2005-12-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
6979 * lily/relocate.cc (set_relocation): set PANGO_PREFIX
6981 2005-12-23 Jan Nieuwenhuizen <janneke@gnu.org>
6983 * lily/melody-engraver.cc (class Melody_engraver): Remove lying
6986 2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
6988 * VERSION (PACKAGE_NAME): release 2.7.25
6990 * Documentation/topdocs/NEWS.tely (Top): document new feature.
6992 * input/regression/stem-direction-context.ly: new file.
6994 * lily/relocate.cc (set_relocation): add PANGO_PREFIX
6996 * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
6999 * ly/engraver-init.ly: add Melody_engraver
7001 * lily/beam.cc (calc_direction): use default-direction
7002 iso. get_default_direction()
7004 * scm/define-grob-properties.scm (all-user-grob-properties): add
7005 default-direction property.
7007 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
7009 * lily/stem.cc (calc_default_direction): remove
7010 Stem::get_default_direction, use default-direction with callback
7013 * lily/melody-spanner.cc (calc_neutral_stem_direction):
7015 * lily/melody-engraver.cc: new file. Acknowledge stems for
7016 interpolated stem directions.
7018 * lily/melody-spanner.cc: new file. Interpolate stem directions.
7020 * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
7022 * lily/slur-configuration.cc (fit_factor): more robust check for
7023 point in curve X-extent.
7025 * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
7026 (outside_slur_callback): check for 'outside avoidance.
7028 * lily/slur-configuration.cc (score_extra_encompass): don't use
7029 bound->column() == avoid->column() for checking extents, as this
7030 doesn't work for accidentals.
7032 * lily/slur-engraver.cc (acknowledge_extra_object): remove
7033 DynamicText hardcoding.
7035 * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
7036 crash if bound stem is NULL
7038 * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
7041 2005-12-22 Graham Percival <gpermus@gmail.com>
7043 * scm/define-markup-commands.scm: typo. @code{\raise}
7046 * darwin.patch: now used again, includes a
7047 required patch from fink.
7049 2005-12-21 Heikki Junes <hjunes@cc.hut.fi>
7051 * po/TODO: mention gtranslator along with kbabel.
7052 * po/fi.po: update translations.
7054 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7056 * lily/relocate.cc (setup_paths): Bugfix.
7058 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7060 * lily/slur-configuration.cc (score_extra_encompass): don't use
7061 "avoid" choice for avoid-slur.
7063 * stepmake/bin/install.py (dest): don't create existing dir.
7065 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7067 * stepmake/bin/install.py: Remove file before copying.
7070 * stepmake/aclocal.m4: Do not substitute INSTALL.
7072 2005-12-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7074 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7075 depend on link-tree.
7077 * lily/relocate.cc (setup_paths): only check path for non-absolute
7078 dir without directory part.
7080 * flower/file-name.cc (is_absolute): new method.
7081 (is_absolute): check root_ too.
7083 2005-12-21 Jan Nieuwenhuizen <janneke@gnu.org>
7085 * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7086 relocation code. Oops, don't comment out too much.
7088 * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7091 * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h. Fixes mingw
7094 2005-12-20 Jan Nieuwenhuizen <janneke@gnu.org>
7096 * .cvsignore: Add install-sh.
7098 * autogen.sh (srcdir): Typo.
7100 2005-12-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
7102 * autogen.sh (srcdir): urg. Touch install-sh.
7104 * stepmake/bin/install-sh (Module): remove.
7106 * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7108 * lily/include/relocate.hh: new file.
7110 * lily/relocate.cc: new file. Contain relocation logic.
7112 * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7113 (main): read LILYPOND_VERBOSE as the first thing.
7115 * stepmake/aclocal.m4: remove INSTALL variable.
7117 * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7118 separate target for making font symlinks.
7119 (documentation-dir): use $(if $(findstring )) for switching off
7122 * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7123 something if DOCUMENTATION is no.
7125 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7127 * VERSION: release 2.7.24
7129 * lily/script-column-engraver.cc (stop_translation_timestep):
7130 delay adding to script-column.
7132 * lily/tuplet-bracket.cc (print): suicide if no control-points.
7134 * python/convertrules.py (conv): rule for number-visibility
7136 * lily/slur-configuration.cc (score_extra_encompass): different
7137 distance measure for avoid and inside avoidance.
7138 (score_extra_encompass): use 1/(distance+eps) as penalty.
7140 * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7141 encompass objects for generating slur curves.
7143 * lily/slur.cc: use details iso. slur-details property.
7145 * input/regression/slur-tuplet.ly: new file.
7147 * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.
7149 * flower/include/offset.hh (class Offset): new operator /=
7151 * lily/tuplet-number.cc (print): new file, new interface.
7153 * scm/define-grob-properties.scm (all-user-grob-properties):
7154 remove number-visibility property.
7156 * lily/tuplet-bracket.cc (calc_control_points): new function
7157 (calc_connect_to_neighbors): new function.
7158 (print): remove text handling for tuplet numberdef.
7160 * lily/tuplet-engraver.cc (struct Tuplet_description): create
7163 * lily/lily-guile.cc (robust_scm2booldrul): new function
7165 * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7167 * lily/tuplet-bracket.cc (calc_position_and_height): use
7168 staff-padding to control whether tuplet brackets are over staves.
7170 * lily/grob.cc (suicide): clear dim_caches_.
7172 * lily/dimension-cache.cc (clear): new function.
7174 * lily/grob.cc (extent): swap order of min-extent and extent
7175 calculations. This fixes hara kiri staves.
7177 2005-12-19 Jan Nieuwenhuizen <janneke@gnu.org>
7179 * lily/main.cc: Nitpick: relocation is not based on path, but on
7180 directory (location).
7182 2005-12-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7184 * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7186 * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7188 * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7190 * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7192 * stepmake/stepmake/generic-vars.make (Module): idem.
7194 * stepmake/stepmake/executable-targets.make (default): use it.
7196 * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7198 * make/GNUmakefile: don't install make rules.
7200 * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7202 (prepend_env_path): more verbosity.
7204 2005-12-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7206 * GNUmakefile.in: add dir argument for find command.
7208 * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7209 fixes weird line numbers for point & click.
7211 * lily/source-file.cc (get_counts): init line/column/char counts.
7213 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7215 * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7217 2005-12-16 Graham Percival <gpermus@gmail.com>
7219 * Documentation/user/basic-notation.itely, advanced-notation.itely:
7220 minor fixes from Fredric. Thanks!
7222 2005-12-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7224 * ly/music-functions-init.ly: add \bar and \clef music function
7226 * lily/lily-lexer.cc: idem.
7228 * lily/parser.yy (FIXME): remove BAR and CLEF.
7230 2005-12-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7232 * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7234 * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7235 function arguments too
7237 * lily/main.cc (set_relocation): new function.
7239 * scripts/musicxml2ly.py (convert): add \version
7241 * lily/tie.cc: remove get_default_attachments()
7243 * VERSION (PACKAGE_NAME): release 2.7.23
7245 * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7246 ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7248 * Documentation/topdocs/NEWS.tely (Top): document new feature.
7250 * lily/tie-formatting-problem.cc (score_ties): new function
7251 (get_variations): new function. Try flipping dirs for collisions.
7252 (generate_optimal_chord_configuration): new function. 1-opt search
7253 for better configuration.
7255 * lily/tie-configuration.cc: new file.
7257 * lily/tie.cc: junk Tie::get_configuration()
7259 * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7260 (score_ties_configuration): new function.
7261 (generate_ties_configuration): new function.
7262 (generate_base_chord_configuration): new function.
7263 (set_ties_config_standard_directions): Move body from tie-column-format.cc
7264 (set_manual_tie_configuration): Move body from tie-column-format.cc
7266 * input/regression/tie-dot.ly: new file.
7268 * lily/tie-formatting-problem.cc (score_configuration): score
7271 * lily/tie-helper.cc (get_transformed_bezier): new function
7273 * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7275 * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7276 -undefined suppress iso. -framework Python
7278 * scm/define-grobs.scm (all-grob-descriptions): set
7279 springs-and-rods (thanks Joe Neeman!)
7281 2005-12-12 Nicolas Sceaux <nicolas.sceaux@free.fr>
7283 * input/no-notation/display-lily-tests.ly (test):
7284 * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7285 changed from \tag #'(a b) to \tag #'a \tag #'b
7287 2005-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7289 * Documentation/topdocs/NEWS.tely: strip out-www.
7291 * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7293 * config.make.in (AR): add AR and RANLIB
7295 * flower/libc-extension.cc: include cassert
7297 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7300 2005-12-11 Graham Percival <gpermus@gmail.com>
7302 * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7304 * stepmake/stepmake/python-modules-vars.make: define
7305 SHARED_FLAGS for OSX. Thanks Johannes Schindelin!
7307 * THANKS: added Johannes Schindelin.
7309 2005-12-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7311 * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7313 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7314 Span_arpeggio_engraver, add Tweak_engraver to Score context.
7316 * lily/parser.yy: reorganize file layout.
7318 * ly/music-functions-init.ly: add tweak music function.
7320 * lily/grob-info.cc (ultimate_music_cause): new function:
7321 recursively lookup causes.
7323 * lily/parser.yy (chord_body_element): allow music functions for
7324 post-events, allow music functions for chord elements.
7326 * lily/font-config-scheme.cc (display_fontset): add cast.
7328 * python/convertrules.py (FatalConversionError.sub_syms): \tag
7329 #'(a b) -> \tag #'a \tag #'b rule.
7331 * python/musicexp.py (Output_printer.dump_version): new function
7333 2005-12-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7335 * lily/parser.yy (FIXME): remove \tag
7336 (FIXME): remove tag_music() function.
7338 * lily/lily-lexer.cc: remove \tag
7340 * ly/music-functions-init.ly: define music-function "tag"
7342 * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7344 2005-12-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7346 * VERSION (PATCH_LEVEL): release 2.7.22
7348 * input/regression/lyric-hyphen-retain.ly: renew.
7350 * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7353 * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7354 iso. minimum-length property for rods.
7356 * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7357 LyricSpace item to keep lyrics spaced apart.
7359 * ly/engraver-init.ly: remove Separating_line_group_engraver
7361 * Documentation/user/music-glossary.tely: do setfilename before
7364 2005-12-07 Heikki Junes <hjunes@cc.hut.fi>
7366 * Documentation/user/lilypond-book.itely: use `,´ after xref:
7367 See xref documentation, for example.
7369 2005-12-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
7371 * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7372 pending_skip iso. ly_voice[-1]
7373 (main): add if __main__ for debugging.
7375 * python/musicxml.py (Accidental.__init__): new class.
7377 * scripts/musicxml2ly.py (progress): new function
7378 (musicxml_key_to_lily): don't barf on modeless keys.
7379 (create_skip_music): new function.
7380 (musicxml_spanner_to_lily_event): new function. Handle beams too.
7381 (musicxml_note_to_lily_main_event): new function.
7383 * python/musicexp.py (Music.__init__): add comment field.
7384 (NestedMusic.append): new routine.
7385 (SequentialMusic.print_ly): print comment.
7386 (ArpeggioEvent.ly_expression): new class
7387 (BeamEvent.ly_expression): new class
7388 (NoteEvent.__init__): support for cautionary/forced accs.
7390 * lily/lookup.cc (slur): normal order for array loop.
7392 * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7395 * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7398 2005-12-06 Erik Sandberg <mandolaerik@gmail.com>
7400 * scm/music-functions.scm: Make phrasing slurs follow voice direction
7402 * scripts/lilypond-book.py: Introduce option
7403 --preserve-line-breaks, for usage with srcltx
7405 2005-12-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7407 * scm/output-lib.scm (print-circled-text-callback): draw circle
7408 around text using make-circle-markup.
7410 * Documentation/user/*: strip out-www from file names.
7412 2005-12-05 Heikki Junes <hjunes@cc.hut.fi>
7414 * Documentation/user/lilypond.tely (direntry): remove empty lines;
7415 fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7417 2005-12-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
7419 * Documentation/user/GNUmakefile: idem.
7421 * Documentation/user/macros.itexi: strip out-www
7423 * python/rational.py: python 2.3 compat.
7425 * VERSION (PATCH_LEVEL): release 2.7.21
7427 * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7428 option formatting, lilypond style.
7430 * python/musicexp.py: grab from Ikebana: a library for composing
7431 ly music expressions.
7432 (Output_printer): class for advanced .ly printing.
7435 * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7436 convert to pythonesque structure.
7438 * python/rational.py: PD rational number class.
7440 * Documentation/user/converters.itely (Invoking musicxml2ly): new node.
7442 2005-12-04 Erik Sandberg <mandolaerik@gmail.com>
7444 * lily/part-combine-iterator.cc: Minor bugfix
7446 * THANKS: Update bughunters
7448 2005-12-02 Werner Lemberg <wl@gnu.org>
7450 * mf/README: Document process for proper mf2pt1 conversion.
7452 * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7455 * mf/feta-harmonica.mf: Removed. Unused.
7457 2005-12-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
7459 * scripts/lilypond-book.py (do_file): fix thinkos.
7461 2005-12-01 Jan Nieuwenhuizen <janneke@gnu.org>
7463 * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7464 ($(outdir)/parser.cc):
7465 ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7467 2005-11-30 Pedro Kröger <kroeger@pedrokroeger.net>
7469 * ly/titling-init.ly (tagline): it should be a space between
7470 "Music engraving by LilyPond" and the version number.
7472 2005-12-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
7474 * VERSION (PACKAGE_NAME): release 2.7.20
7476 2005-11-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
7478 * scm/define-markup-commands.scm (pad-to-box): new markup command.
7480 * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7482 (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7484 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7486 * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7488 * kpath-guile/: remove directory
7490 * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7491 file. Encapsulate kpathsea using commandline tools.
7493 * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7496 2005-11-29 Mats Bengtsson <mabe@s3.kth.se>
7498 * Documentation/user/advanced-notation.itely (Setting automatic
7499 beam behavior): Correct a few typos. Thanks to David Bobroff.
7501 * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7502 \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7504 2005-11-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
7506 * scripts/*.py: gmane address for bugs.
7508 2005-11-28 Pal Benko <benkop@freestart.hu>
7510 * make/ly-rules.make: add -f switch to mv
7512 * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7514 * lily/bar-line.cc: interpret it
7516 2005-11-28 Jan Nieuwenhuizen <janneke@gnu.org>
7518 * configure.in (--disable-documentation): New switch.
7520 * GNUmakefile.in: Use it.
7522 * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7524 2005-11-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
7526 * scripts/lilypond-book.py (do_file): search chunks for
7529 * GNUmakefile.in: add copy step in between so we can lose the
7530 out-www directories.
7532 2005-11-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
7534 * lily/pango-font.cc (pango_item_string_stencil): put
7535 geometry.width into glyph-string too.
7537 2005-11-26 Nicolas Sceaux <nicolas.sceaux@free.fr>
7539 * scm/define-music-display-methods.scm (RevertProperty):
7540 (OverrideProperty): Use grob-property-path property, a list of
7541 symbols, instead of grob-property, which used to be a single
7543 (BassFigureEvent): a figure can be a plain number, not necessarily a
7546 2005-11-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
7548 * VERSION: release 2.7.19
7550 * lily/figured-bass-engraver.cc (process_music): check
7551 figuredBassCenterContinuations first.
7553 * scm/translation-functions.scm (format-bass-figure): make double
7556 * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7559 * lily/system-start-delimiter-engraver.cc: move from
7560 Nested_system_start_delimiter_engraver, rename
7561 Nested_system_start_delimiter_engraver ->
7562 System_start_delimiter_engraver.
7564 * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7565 bracket type from hierarchy.
7567 2005-11-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
7569 * lily/rest.cc (y_offset_callback): read staff-position.
7571 * scm/define-grob-properties.scm (all-user-grob-properties): don't
7572 mark after-line-breaking-callback as internal.
7574 * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7576 2005-11-25 Werner Lemberg <wl@gnu.org>
7578 * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7580 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7582 * stepmake/bin/add-html-footer.py (do_file): add google
7584 * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7585 staff if first_start_ is true.
7587 2005-11-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
7589 * scripts/midi2ly.py (split_track): add __repr__ members.
7590 (track_first_item): only return Item if not None. This fixes a
7591 problem when dumping a track that starts with an empty channel.
7593 * python/midi.c: doc module.
7595 2005-11-22 Mats Bengtsson <mabe@s3.kth.se>
7597 * Documentation/user/global.itely (Creating MIDI files): Fix
7598 compilation problem.
7600 2005-11-22 Graham Percival <gpermus@gmail.com>
7602 * Documentation/user/basic-notation.itely: clarify dynamic
7605 * Documentation/user/advanced-notation.itely: add unicode
7606 escape control example, whatever that is. :)
7608 * Documentation/user/global.itely: added "removing dynamics
7611 2005-11-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
7613 * VERSION (PATCH_LEVEL): release 2.7.18
7615 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7616 System_start_delimiter_engraver by
7617 Nested_system_start_delimiter_engraver.
7619 * lily/nested-system-start-delimiter-engraver.cc (struct
7620 Bracket_nesting_node): new class.
7621 (struct Bracket_nesting_group): new class
7622 (struct Bracket_nesting_staff): new class.
7623 (process_music): create hierarchy of grobs. This allows separate
7624 tuning of different SSDs.
7626 * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7627 (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7629 2005-11-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
7631 * lily/side-position-interface.cc (aligned_side): multiply
7634 * lily/script-engraver.cc (make_script_from_event): allow setting
7637 2005-11-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
7639 * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7641 * scm/define-grobs.scm (all-grob-descriptions): new grob
7642 NestedSystemStartDelimiter.
7644 * input/regression/system-start-heavy-bar.ly: new file.
7646 * lily/nested-system-start-delimiter-engraver.cc: new file.
7648 * lily/nested-system-start-delimiter.cc: new file.
7650 * input/regression/system-start-nesting.ly: new file.
7652 * scm/define-grobs.scm (all-grob-descriptions): use X side
7653 positioning for positioning braces for nested contexts.
7655 * lily/system-start-delimiter.cc (print): don't divide extent by
7657 (print): use style iso. glyph.
7658 (staff_bracket): translate glyph inside routine already.
7660 2005-11-18 Michael Welsh Duggan <md5i@cs.cmu.edu>
7662 * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7665 2005-11-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
7667 * scm/define-context-properties.scm
7668 (all-user-translation-properties): rename figuredBassFormatter
7669 from newFiguredBassFormatter.
7671 * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7673 * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7675 * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7677 * lily/beam.cc (calc_beaming): new function.
7678 (calc_shorten): new function.
7680 * THANKS: add Edward Neeman.
7682 * input/regression/accidental-clef-change.ly: new file.
7684 * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7686 * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7688 * lily/clef-engraver.cc (inspect_clef_properties): reset
7689 localKeySignature for clef changes.
7691 2005-11-17 Mats Bengtsson <mabe@s3.kth.se>
7693 * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3
7694 add dummy definition that works in Linux and add information in
7695 INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7697 * Documentation/user/changing-defaults.itely (Modifying context
7698 plug-ins): Add index for \with.
7700 * Documentation/user/music-glossary.tely (dal segno): Updated
7701 example to version >=2.6.
7703 2005-11-16 Mats Bengtsson <mabe@s3.kth.se>
7705 * Documentation/user/instrument-notation.itely (Printing chord
7706 names): Reorder \chordmode and \repeat in one example.
7708 2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
7710 * VERSION: release 2.7.17
7712 * Documentation/topdocs/NEWS.tely (Top): add note about
7715 * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7716 new function. Search region of 3 positions for best tie.
7717 (score_configuration): new function.
7718 (score_aptitude): new function.
7719 (generate_configuration): new function.
7720 (get_configuration): new function.
7721 (Tie_formatting_problem): new function
7723 * input/regression/page-top-space.ly: a6 for page-top-space demo.
7725 * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7727 * THANKS: add Eduardo Vieira & Ralph Little
7729 * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7732 * lily/include/tie-formatting-problem.hh (class
7733 Tie_formatting_problem): add Tie_details to
7734 Tie_formatting_problem. Update calling conventions.
7736 * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7739 * Documentation/user/lilypond.tely: remove musedata2ly entry.
7741 2005-11-16 Jürgen Reuter <reuter@ipd.uka.de>
7743 * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7744 scm/define-context-properties.scm: Maintenance bugfix: make
7745 ligature brackets work again by removing obsolete ligature
7746 primitive callback push/pop.
7748 * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7749 not call Tuplet_bracket::calc_direction. Removed obsolete gap
7752 2005-11-15 Jan Nieuwenhuizen <janneke@gnu.org>
7754 * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7755 used and do not call it a path.
7756 (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7758 2005-11-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
7760 * lily/include/tie-formatting-problem.hh (class
7761 Tie_formatting_problem): new file.
7763 * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7765 * Documentation/misc/ChangeLog-2.3: new file.
7767 * lily/audio-staff.cc (output): degarianize.
7769 2005-11-14 Jan Nieuwenhuizen <janneke@gnu.org>
7771 * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7772 Unset PYTHONOPTIMIZE. Fixes install if set.
7774 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7776 * python/convertrules.py (conv): add warning about drums.
7778 * make/stepmake.make: include toplevel-version.make after config.make.
7780 * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7781 also allow python2.4
7783 * config.make.in (configure-srcdir): remove GXX GCC vars.
7785 * stepmake/aclocal.m4: don't do non-srcdir build with
7786 symlinks. Use inclusion, so the src directory name can be changed.
7788 2005-11-13 Jan Nieuwenhuizen <janneke@gnu.org>
7790 * make/mutopia-vars.make:
7791 * make/ly-vars.make: Use src-wildcard iso wildcard for source
7794 2005-11-13 Werner Lemberg <wl@gnu.org>
7796 * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7797 but the affected path. This ensures that the (overlapping) outlines
7798 have the same direction, which is a necessary prerequisite for
7799 FontForge's algorithm to remove overlaps.
7802 * mf/feta-haak.mf: Formatting.
7803 (draw_bracket): Slightly modify outline to avoid an unnecessary
7805 Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7806 them from the affected paths.
7808 2005-11-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
7810 * mf/README: remove xpm / accordion notes.
7812 * lily/tie-column-format.cc (set_chord_outline): add dots into
7813 skyline extents. This fixes tie formatting if the left head has dots.
7815 * lily/tie.cc (get_configuration): only shift tie by a whole staff
7816 space inside the staff.
7817 (get_configuration): shift another position if necessary in case
7820 2005-11-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
7822 * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7823 buildscript-dir iso. $(depth)/buildscripts.
7825 * tex/GNUmakefile (local-uninstall): remove
7826 music-drawing-routines.ps juggling.
7828 * stepmake/stepmake/install-targets.make (local-install-files):
7829 prepend src-dir to install targets.
7831 * lily/system-start-delimiter-engraver.cc
7832 (acknowledge_system_start_delimiter): use
7833 add_offset_callback(). This fixes translation of nested
7836 * lily/grob-closure.cc (add_offset_callback): only encaps in
7837 simple_closure if it's a procedure.
7839 * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7842 * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7843 remove-empty where pertinent.
7845 2005-11-12 Graham Percival <gpermus@gmail.com>
7847 * Documentation/user/instrument-notation.itely: added
7848 Cameron Horsburgh's multiple stanzas docs. Thanks!
7850 2005-11-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
7853 ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7854 make picture in builddir, not srcdir.
7856 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7858 * VERSION: release 2.7.16
7860 * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7863 2005-11-10 Mats Bengtsson <mabe@s3.kth.se>
7865 * Documentation/user/examples.itely (Piano templates): Minor
7866 modification to the Piano centered lyrics example.
7868 2005-11-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
7870 * scripts/lilypond-invoke-editor.scm (run-browser): look at
7873 * Documentation/user/point-and-click.itely: simplify p&c
7874 instruction: don't configure firefox. Put lilypond-invoke-editor
7875 in front of the browser.
7877 * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7878 (run-browser): new function.
7880 * lily/parser.yy (Lily_lexer): recognize Book
7882 * lily/book.cc (clone): new function
7884 * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7886 2005-11-10 Jürgen Reuter <reuter@ipd.uka.de>
7888 * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7889 Maintenance bugfix: reduce number of font related warnings by
7890 updating naming conventions for glyph-name.
7892 2005-11-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
7894 * scm/define-grobs.scm (all-grob-descriptions): add
7895 rhythmic-grob-interface to TabNoteHead.
7897 * scm/layout-beam.scm (check-quant-callbacks): remove
7900 2005-11-08 Jürgen Reuter <reuter@ipd.uka.de>
7902 * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
7903 alignment of centered divisiones.
7905 * scm/scripts.scm (articulations): Maintenance bugfix:
7906 follow-into-staff -> quantize-position.
7908 * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
7909 plica head in porrectus deminutus.
7911 2005-11-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
7913 * make/lilypond.fedora.spec.in (Group): add %clean section.
7915 * lily/tuplet-bracket.cc (print): change check: remove bracket if
7916 less then 1/5th of total length.
7917 (print): use gap too. Fixes tupletUp-single-bracket.ly
7919 * scm/music-functions.scm (glue-mm-rest-texts): also put other
7920 events into EventChord. This fixes textspanners on mm rests. Fixes
7923 * lily/side-position-interface.cc (get_axis): read side-axis
7924 (set_axis): set side-axis.
7926 * scm/define-grobs.scm (all-grob-descriptions): add side-axis
7927 properties everywhere.
7929 * lily/spacing-spanner.cc (breakable_column_spacing): add
7930 average-spacing-wishes. Take maximum if not set.
7931 (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
7933 * scm/define-grobs.scm (all-grob-descriptions): add
7934 average-spacing-wishes.
7936 * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
7937 offset callbacks. This fixes alignment for Fingering objects.
7939 * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
7940 space for key - timesig combination.
7942 * input/regression/script-stem-tremolo.ly (Module): new file.
7944 * scm/define-grobs.scm (all-grob-descriptions): decrease distance
7947 * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
7948 Fixes: c-tremolo-script.ly.
7950 * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
7952 * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
7954 * scm/define-grobs.scm (all-grob-descriptions): remove
7955 self-X-offset. Fixes alignment of octavate-8.
7957 * scripts/lilypond-book.py (datadir): look in
7958 LILYPONDPREFIX/share/lilypond/current/
7960 * GNUmakefile.in: symlink current to <VERSION>.
7962 2005-11-07 Pedro Kroger <kroeger@pedrokroeger.net>
7964 * lily/main.cc: eps listed as a backend.
7966 2005-11-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
7968 * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
7970 2005-11-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
7972 * lily/include/score.hh (class Score): remove texts_ member.
7974 * lily/beam.cc (set_stem_lengths): force direction callback.
7975 (print): read quantized-positions, so we can force
7976 Beam::set_stem_lengths to occur.
7977 (rest_collision_callback): use common X parent.
7979 2005-11-03 Jan Nieuwenhuizen <janneke@gnu.org>
7981 * flower/file-path.cc (find): Bugfix: Return name of file found.
7983 * lily/main.cc (setup_paths): Bugfix for argv0 logic.
7984 (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
7985 (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
7987 2005-11-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
7989 * flower/offset.cc: idem.
7991 * mf/*.mf: update email address.
7993 * lily/font-config-scheme.cc: new file.
7995 * GNUmakefile.in (SUBDIRS): remove debian/ directory.
7997 * lily/*: cs.uu.nl -> xs4all.nl
7999 * VERSION (PATCH_LEVEL): release 2.7.15
8001 * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
8004 * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
8006 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8008 * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.
8010 * lily/staff-performer.cc (process_music): add audio
8011 elements. This makes MIDI instrument changes work once again.
8013 * lily/main.cc (LY_DEFINE): add gmane address.
8015 * lily/beam.cc: remove calc_positions()
8017 * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
8018 original_ in private scope.
8019 (class Grob): drop pscore_ pointer, change to output_def pointer.
8020 (class Grob): cleanup class definition.
8022 * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
8024 2005-11-02 Jan Nieuwenhuizen <janneke@gnu.org>
8026 * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
8027 absolute. Better diagnostics.
8029 * GNUmakefile.in: Add bin/ to tree and populate with some links.
8030 This makes lilypond run from the build directory using argv0
8031 relocation (without any --prefix or LILYPONDPREFIX setting).
8033 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8035 * Documentation/topdocs/NEWS.tely (Top): document new backend design.
8037 * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
8038 with simple-closure.
8040 * lily/self-aligment-interface.cc (set_align_self): new function
8041 (set_center_parent): new function.
8043 * lily/side-position-interface.cc (set_axis): new function.
8045 * lily/new-fingering-engraver.cc (position_scripts): use drul for
8048 * scm/define-grob-properties.scm (all-user-grob-properties):
8049 remove [XY]-offset-callbacks add [YX]-offset
8051 2005-11-02 Mats Bengtsson <mabe@s3.kth.se>
8053 * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
8054 entry for time signatures after breathing signs. Bug report by
8057 2005-11-01 Jan Nieuwenhuizen <janneke@gnu.org>
8059 * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
8060 not absolute, make it absolute using PATH.
8062 2005-10-28 Jan Nieuwenhuizen <janneke@gnu.org>
8064 * python/midi.c (initmidi): Fix type for mingw.
8066 2005-10-27 Jan Nieuwenhuizen <janneke@gnu.org>
8068 * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8070 * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8073 * stepmake/aclocal.m4: Support python cross compiling.
8075 * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8078 2005-11-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8080 * scm/output-lib.scm (chain-grob-member-functions): replace
8083 * lily/chained-callback.cc (Module): remove file.
8085 * lily/rest-collision.cc (force_shift_callback_rest): change to
8088 * lily/rest.cc (y_offset_callback): merge function of 3 callbacks.
8090 * lily/grob.cc (y_parent_positioning): remove axis argument from
8091 parent_positioning callbacks.
8092 (Grob): junk init code
8093 (get_offset): use generic property callbacks for
8094 X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8095 (axis_parent_positioning): new function
8096 (axis_offset_symbol): new function
8097 (chain_offset_callback): new function
8098 (add_offset_callback): new function
8100 * lily/beam.cc (rest_collision_callback): change signature; this
8101 is now a chained callback.
8103 * lily/include/dimension-cache.hh (class Dimension_cache): remove
8104 callback administration.
8106 * lily/simple-closure.cc: new file. Smob type that allows "grob
8109 (ly:make-simple-closure FUNC A B)
8111 is evaluated as (FUNC grob A B). This allows chaining of callbacks
8114 * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8117 * lily/slur.cc (outside_slur_callback): take 2 arguments.
8119 * lily/rest.cc (polyphonic_offset_callback): remove.
8121 * lily/script-engraver.cc (try_music): remove bool* argument.
8123 * scm/script.scm (default-script-alist): set quantize-position
8126 * lily/script-engraver.cc: remove follow_into_staff_ special coding.
8128 * lily/side-position-interface.cc (aligned_side): move staff
8129 position quantization from
8130 Side_position_interface::quantised_position().
8131 (quantised_position): remove
8133 2005-10-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
8135 * input/regression/beam-quant-standard.ly: reindent, set
8136 debug-beam-quanting to #t.
8138 * lily/beam-concave.cc (calc_concaveness): set concaveness to
8139 10000 if this is a "hard" concave beam.
8141 * lily/beam.cc (calc_least_squares_positions): change from
8142 calc_least_squares_dy
8143 (set_stem_lengths): this is now a chained callback.
8145 * lily/context-property.cc (execute_general_pushpop_property):
8146 bugfix override with procedure should have effect.
8148 * scm/define-grob-properties.scm (all-internal-grob-properties):
8149 remove position-callbacks.
8151 * scm/define-grobs.scm (all-grob-descriptions): use
8152 ly:make-callback-chain for positions property.
8154 * scm/layout-beam.scm (check-quant-callbacks): return list of
8157 * scm/lily.scm (type-p-name-alist): add callback-chain
8159 * lily/lily-guile.cc (type_check_assignment): type check failure
8160 is warning not message.
8162 * lily/grob-property.cc (try_callback): walk callback chain if
8165 * lily/chained-callback.cc: new file. new smob type.
8167 * lily/lily-guile.cc (procedure_arity): new function.
8169 2005-10-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8171 * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8173 2005-10-25 John Mandereau <john.mandereau@free.fr>
8175 * Documentation/user/instrument-notation.itely (Figured bass):
8176 describe new features
8178 2005-10-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8180 * lily/beam.cc (calc_least_squares_dy): use property callback.
8182 * lily/beam-concave.cc (calc_concaveness): use property callback.
8184 * ly/paper-defaults.ly: move fixed dimensions from paper.scm
8186 2005-10-25 Jan Nieuwenhuizen <janneke@gnu.org>
8190 2005-10-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
8192 * scm/layout-page-layout.scm (page-headfoot): annotate
8195 * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit.
8197 * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8198 doesn't take y-space.
8200 * scm/paper.scm (paper-alist): fix A7 dimensions.
8202 2005-10-24 Jan Nieuwenhuizen <janneke@gnu.org>
8204 * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8205 src-wildcard, remove $(wildcard).
8207 * po/GNUmakefile (PO_FILES):
8208 * ps/GNUmakefile (PS_FILES):
8209 * tex/GNUmakefile (TEX_FILES):
8210 * cygwin/GNUmakefile (POSTINSTALLS):
8211 * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8212 some wildcard calls.
8214 2005-10-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
8216 * THANKS: add Thomas Bushnell.
8218 2005-10-23 Jan Nieuwenhuizen <janneke@gnu.org>
8220 * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8221 (lilypond-main): Redirect to gui-main if 'gui is set.
8223 * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8224 for alternative installations kludging s/share/lib/g
8227 * SConstruct (libdir_package_version): Define.
8229 * python/SConscript:
8230 * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8233 2005-10-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
8235 * lily/main.cc: clarify --safe.
8237 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8239 * VERSION: release 2.7.14
8241 * Documentation/user/*.itely: remove minimumVerticalExtent.
8243 * scm/define-grobs.scm (all-grob-descriptions): remove
8244 RemoveEmptyVerticalGroup
8246 * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8248 * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8251 * python/convertrules.py (conv): add rules.
8253 * lily/grob.cc: remove is_empty()
8255 * lily/grob-property.cc: remove add_to_list_property().
8257 * scripts/convert-ly.py (datadir): add prefix switching hack to
8260 * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8261 space-function tweak.
8263 * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8265 * scm/define-grob-properties.scm (all-user-grob-properties):
8266 remove callback property.
8268 * lily/include/grob.hh (class Grob): remove property_callbacks_
8269 member. Properties of procedure type are assumed to be callbacks.
8271 * lily/ligature-engraver.cc (override_stencil_callback):
8272 rewrite. Use noteHeadLigaturePrimitive as source.
8274 * scm/define-grob-properties.scm (all-internal-grob-properties):
8275 remove ligature-primitive-callback
8277 * lily/include/dimension-cache.hh (class Dimension_cache): make
8278 class, with Grob as friend.
8280 * lily/grob.cc: remove set_extent_callback(), set_extent() and
8281 has_extent_callback()
8283 * scm/translation-functions.scm (format-new-bass-figure): read
8284 figuredBassPlusDirection
8286 * scm/define-context-properties.scm
8287 (all-user-translation-properties): add figuredBassPlusDirection.
8289 * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8291 * lily/align-interface.cc (set_ordered): new function.
8293 * lily/grob.cc (flush_extent_cache): rewrite.
8295 * lily/dimension-cache.cc (Dimension_cache): cache extent as
8296 Interval pointer directly.
8298 * lily/main.cc (setup_paths): insert extra / .
8299 (setup_paths): junk cff entry.
8301 * lily/font-config.cc (init_fontconfig): only add type1 / otf
8304 * lily/axis-group-engraver.cc (finalize): remove
8305 extraVerticalExtent, minimumVerticalExtent verticalExtent.
8307 * lily/grob.cc (Grob): don't set extent from ctor.
8308 (extent): use property callbacks.
8310 * lily/axis-group-interface.cc: remove set_axes() function.
8312 * lily/grob-property.cc (del_property): new function.
8314 2005-10-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
8316 * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8318 2005-10-20 Jan Nieuwenhuizen <janneke@gnu.org>
8320 * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops. Add.
8322 2005-10-19 Jan Nieuwenhuizen <janneke@gnu.org>
8324 * mf/SConscript: Updates.
8326 * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8328 * stepmake/stepmake/*:
8332 * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8333 from any directory in build-dir. Cleanups.
8335 * make/srcdir.make.in: Remove.
8337 * lily/main.cc (setup_paths): Fix and document build-dir hack.
8339 * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8342 * lily/SConscript: Remove ttftools.
8344 * SConstruct: Resurrect.
8346 2005-10-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
8348 * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8351 * lily/paper-book.cc (add_score_title): put Paper_score title into
8354 * scm/translation-functions.scm (format-new-bass-figure): also
8355 allow plus in combination with _
8357 2005-10-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8359 * VERSION: 2.7.13 released.
8361 * lily/note-collision.cc (check_meshing_chords): don't wipe
8362 stencil, merely set transparent.
8364 * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau.
8365 (Top): document #'callbacks.
8366 (Top): document nested \override.
8368 * input/regression/figured-bass.ly: update for slash and pluses.
8370 * input/regression/figured-bass-continuation-forbid.ly (Module):
8373 * scm/translation-functions.scm (format-new-bass-figure): use
8374 slashed-digit if diminished is set.
8375 (format-new-bass-figure): add + if 'augmented is set.
8377 * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8379 * input/test/piano-staff-distance.ly: remove file.
8381 * Documentation/user/advanced-notation.itely (Formatting cue
8382 notes): use length-fraction for making stems/beams smaller.
8384 * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8387 * lily/new-figured-bass-engraver.cc: new property
8388 centerFiguredBassContinuations
8390 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8393 * lily/context-property.cc (execute_general_pushpop_property):
8396 * input/regression/override-nest.ly: new file.
8398 * python/convertrules.py (FatalConversionError.subber): conversion
8399 rule for #'callbacks
8401 * input/regression/override-nest.ly: new function.
8403 * lily/parser.yy (music_property_def): allow \override #'a #'b =
8406 * lily/context-property.cc (lookup_nested_property): new function.
8407 (evict_from_alist): new function.
8408 (general_pushpop_property): new function.
8409 (execute_general_pushpop_property): rewrite. Support nested
8412 2005-10-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
8414 * lily/beam.cc: use length-fraction too.
8416 * scm/define-grob-properties.scm (all-user-grob-properties):
8417 remove property flag-width-function
8418 (all-user-grob-properties): remove space-function.
8420 * scm/layout-beam.scm: remove flag-width-function.
8422 * lily/beam.cc: remove flag-width-function
8424 * scm/layout-beam.scm: remove beam dir functions.
8426 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8428 * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8429 for easier grace tweaks.
8431 * lily/beam.cc: remove dir-function.
8433 * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8435 * lily/grob.cc: remove spacing-procedure.
8437 * lily/note-head.cc (calc_stem_attachment): new function.
8438 (internal_print): use callback to get glyph-name.
8440 * lily/grob-property.cc (get_interfaces): new function.
8442 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8444 * lily/stem.cc (calc_stem_end_position): new function.
8445 (calc_length): new function.
8446 document details for stem.
8447 remove Stem::get_direction()
8449 * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback!
8451 * lily/grob-property.cc (set_callback): new function.
8453 * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8455 * lily/item-scheme.cc: new file.
8457 * lily/bar-line.cc (before_line_breaking): remove function.
8458 remove bar-size-procedure, break-glyph-function
8460 * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8462 * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8464 * lily/system-start-delimiter.cc (print): suicide from
8465 here. Remove after_line_breaking_callback.
8467 * lily/script-interface.cc (calc_direction): use callback for direction.
8469 * lily/side-position-interface.cc (aligned_side): don't use
8470 Side_position_interface::get_direction directly. Use callback.
8472 * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8474 (get_print_stencil): rename from get_stencil: create stencil with
8475 transparency, color and cause.
8477 * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8479 * python/convertrules.py (conv): insert temporary warning rule.
8481 * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8483 * lily/grob-property.cc (try_callback): remove marker if applicable.
8485 * lily/grob.cc: elucidate doc about after/before-line-breaking
8487 * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8489 * lily/stem.cc (height): idem.
8491 * lily/stem-tremolo.cc: idem.
8493 * lily/slur.cc (height): don't use get_uncached_stencil()
8495 * lily/rest.cc (y_offset_callback): use offset callback
8496 iso. after-line-breaking callback.
8498 * lily/grob.cc: change after/before-line-breaking-callback to
8499 after/before-line-breaking dummy properties.
8501 * lily/include/grob.hh: remove Grob_status.
8503 * scm/define-context-properties.scm
8504 (all-user-translation-properties): remove verticalAlignmentChildCallback
8506 * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8507 (calc_direction): use callback
8508 (calc_positions): use callback.
8510 * lily/tie.cc (calc_direction): use callback. Only call parent
8511 positioning for more than one tie.
8513 * lily/tie-column.cc (calc_positioning_done): use callback
8515 * lily/slur-scoring.cc (calc_control_points): use callback
8517 * lily/slur.cc (calc_direction): use callback.
8519 * lily/note-collision.cc (force_shift_callback): remove.
8521 * lily/dot-column.cc (force_shift_callback): remove. Use
8522 other_axis_parent_positioning.
8524 * lily/grob.cc (other_axis_parent_positioning): new function.
8525 (same_axis_parent_positioning): new function
8527 * lily/align-interface.cc (alignment_callback): remove function.
8529 * lily/note-collision.cc (calc_positioning_done): use callback.
8531 * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8532 (calc_direction): idem.
8533 remove print function.
8535 * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8537 * lily/dot-column.cc (calc_positioning_done): use callback.
8539 * lily/break-align-interface.cc (calc_positioning_done): use callback.
8541 * lily/beam.cc (calc_direction): use pseudo-property for beam
8543 (calc_positions): use callback
8545 * lily/align-interface.cc (calc_positioning_done): use
8546 callback. Fold fixed distance and normal alignment in one function.
8548 * lily/stem.cc (calc_stem_end_position): use callback.
8549 (calc_positioning_done): idem.
8550 (calc_direction): idem.
8551 (calc_stem_end_position): idem
8552 (calc_stem_info): idem.
8554 * lily/grob-property.cc (get_property_data): new function:
8555 (try_callback): new function.
8557 * scm/define-grob-properties.scm (all-user-grob-properties): doc
8560 * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8562 2005-10-15 Han-Wen Nienhuys <hanwen@xs4all.nl>
8564 * lily/tie.cc (get_position): robustness fix. Don't crash if a
8568 * lily/include/*.hh (Module): compile fixes.
8570 2005-10-14 Heikki Junes <hjunes@cc.hut.fi>
8572 * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil
8573 as an argument for char-syntax: use (char-syntax (or nil 0))
8574 instead of (char-syntax nil), thanks to Milan Zamazal.
8576 2005-10-14 Han-Wen Nienhuys <hanwen@xs4all.nl>
8578 * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8581 * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8584 2005-10-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8586 * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8587 add class_name() method.
8589 * lily/music-scheme.cc: remove ly:music-name.
8591 2005-10-11 Jan Nieuwenhuizen <janneke@gnu.org>
8593 * cygwin/postinstall-lilypond.sh: Remove cruft.
8595 * cygwin/postremove-lilypond.sh: Remove.
8597 * cygwin/GNUmakefile (default): Remove postremove rules.
8599 2005-10-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8601 * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8604 * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8607 * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8608 consider break index for broken spanner.
8610 * scm/define-markup-commands.scm (wordwrap-string): remove \r
8611 characters from string before splitting.
8613 2005-10-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
8615 * scm/framework-ps.scm (output-preview-framework): use
8616 is-book-title to determine whether to chop off the booktitle.
8618 * lily/paper-book.cc (systems): init from book-title-properties
8619 (add_score_title): init score-title-properties.
8621 * ly/paper-defaults.ly: add {score,book}-title-properties.
8623 * scm/document-backend.scm (lookup-interface): error message if
8624 using unknown interface.
8626 * lily/volta-bracket.cc (after_line_breaking): new function. Set
8629 * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8631 (make_bracket): new function.
8633 * scm/lily.scm (define-scheme-options): add paper-size option.
8635 * ly/declarations-init.ly (laissezVibrer): get paper size from
8638 * scm/translation-functions.scm: use \fontsize for changing the
8641 * scm/define-grobs.scm (all-grob-descriptions): set
8642 between-length-limit to 1.0
8644 * lily/tie-helper.cc: add between_length_limit_ detail property.
8646 * mf/feta-bolletjes.mf: typos.
8648 * lily/note-head.cc (internal_print): don't shadow idx
8649 parameter. This fixes wrong attachment for do shape heads.
8651 2005-10-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
8653 * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8655 * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8657 * scm/layout-slur.scm: rename from slur.scm
8659 * scm/layout-page-layout.scm: rename from page-layout.scm
8661 * scm/layout-beam.scm: rename from beam.scm
8663 * scm/define-grob-interfaces.scm (bass-figure-interface): add
8664 bass-figure-interface
8666 * lily/new-figured-bass-engraver.cc (process_music): add
8667 implicitBassFigures property.
8669 * scm/define-markup-commands.scm (pad-x): new markup.
8671 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8672 minimumVerticalExtent on FiguredBass context.
8674 * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8675 case the continuation crosses a line break.
8677 2005-10-09 Jan Nieuwenhuizen <janneke@gnu.org>
8679 * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8680 unconverted value if cygwin_conv_to_posix_path () fails. Fixes
8681 absolute file name bug.
8683 2005-10-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
8685 * VERSION (PACKAGE_NAME): release 2.7.12
8687 * input/regression/figured-bass-continuation-center.ly: new file.
8689 * input/regression/beam-outside-beamlets.ly: new file.
8691 * lily/beam.cc (set_beaming): don't clip edges.
8692 (connect_beams): don't clip edges.
8694 * lily/beaming-info.cc (clip_edges): new function.
8696 * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8698 * Documentation/user/instrument-notation.itely (Figured bass):
8699 demonstrate extenders, update seealso links.
8701 * scm/titling.scm (marked-up-headfoot): change tagline
8702 handling. tagline = ##f will blank the tagline as well.
8704 2005-10-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
8706 * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8708 * lily/new-figured-bass-engraver.cc (struct
8709 New_figured_bass_engraver): add new_music_found_ member.
8711 * lily/lilypond-version.cc (Lilypond_version): deal with
8712 incorrectly formatted version strings.
8714 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8715 New_figured_bass_engraver by default.
8717 * lily/ttf.cc (print_trailer): only define glyph names when
8718 FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8720 2005-10-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
8722 * lily/horizontal-bracket.cc (make_bracket): new function.
8724 * scm/define-grobs.scm (all-grob-descriptions): new grobs
8725 NewBassFigure, BassFigureBracket, BassFigureContinuation,
8726 BassFigureLine, BassFigureAlignment
8728 * lily/new-figured-bass-engraver.cc (process_music): new file.
8730 * lily/figured-bass-continuation.cc: new file.
8732 * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8735 2005-10-04 Mats Bengtsson <mabe@s3.kth.se>
8737 * scripts/lilypond-book.py: Bug fix, put the quote around the
8738 actual score for LaTeX documents.
8740 * scm/define-grobs.scm (all-grob-descriptions): Change
8741 collapse-height of the SystemStartBracket grob to 5.0,
8742 so the bracket disappears for single stave score lines (similarly
8743 to SystemStartBraces).
8745 * Documentation/user/advanced-notation.itely (Polymetric
8746 notation): Clarify the use of compressMusic.
8748 * Documentation/user/basic-notation.itely (Grace notes): Clarify
8749 that the grace spacer note in other staves need the same duration
8750 and document the stroke-style property.
8752 2005-10-03 Han-Wen Nienhuys <hanwen@xs4all.nl>
8754 * Documentation/user/global.itely (Vertical spacing): document
8755 alignment-extra-space and fixed-alignment-extra-space.
8757 * Documentation/topdocs/NEWS.tely (Top): add entry.
8759 * input/regression/alignment-vertical-spacing.ly: new file.
8761 * python/convertrules.py (conv): add rule.
8763 * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8765 * lily/align-interface.cc (stretch_after_break): new
8766 function. Read fixed-alignment-extra-space property.
8767 (align_elements_to_extents): read alignment-extra-space property.
8769 * lily/lily-guile.cc (robust_scm2dir): new function.
8771 * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8772 (annotate-space-left): new function. Annotate space left on page.
8773 (annotate-y-interval): new function.
8774 (paper-system-annotate-last): new function. Annotate bottom-space.
8776 * mf/feta-beugel.mf (y):
8778 2005-10-02 Han-Wen Nienhuys <hanwen@xs4all.nl>
8780 * VERSION (PACKAGE_NAME): release 2.7.11
8782 * scm/lily-library.scm (interval-translate): new function
8783 (interval-center): new function.
8785 * scm/page-layout.scm (paper-system-annotate): new function. Add
8786 arrows for dimensions.
8788 * scm/stencil.scm (dimension-arrows): new function.
8790 * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8792 * input/regression/page-spacing.ly: add annotatespacing
8794 * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8795 (LY_DEFINE): new function ly:paper-system-set-property!
8797 * Documentation/user/global.itely (Paper size): explain how to add
8800 * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8801 correspond to GS's definition.
8803 * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8805 (print): only connect to next bracket if the next one is alive.
8806 (print): set padding to 0.0 if the bound is a breakable
8807 column. This makes tupletFullLength brackets reach up to the staff
8808 line if it doesn't connect to the next line.
8810 2005-09-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
8812 * lily/bar-number-engraver.cc: correct docs.
8814 * scm/output-lib.scm (first-bar-number-invisible): rename from
8815 default-bar-number-visibility
8817 2005-09-28 Han-Wen Nienhuys <hanwen@xs4all.nl>
8819 * scm/define-music-properties.scm (all-music-properties): remove
8822 2005-09-28 Heikki Junes <hjunes@cc.hut.fi>
8824 * po/fi.po: refresh.
8826 2005-09-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
8828 * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8830 (disappear): bugfix.
8832 * lily/stem-tremolo.cc (raw_stencil): read slope property.
8834 * lily/include/paper-system.hh (class Paper_system): remove
8835 staff_extents_ member.
8837 * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8839 * lily/include/paper-system.hh (class Paper_system): remove
8840 number_ variable. Remove is_title_. Remove break_before_penalty_
8842 * lily/paper-book.cc (systems): use 'number property iso. number_
8845 * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8846 remove ly:paper-system-number.
8848 * scm/lily-library.scm (paper-system-title?): new function.
8850 * lily/book.cc (process): bugfix: flip ?: cases.
8852 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8855 * ly/music-functions-init.ly: add outputProperty music function.
8857 * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8859 * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8861 (optimal-page-breaks): rename from ly:optimal-page-breaks.
8863 * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8865 * lily/paper-system.cc (internal_get_property): new function.
8867 * Documentation/user/global.itely (Vertical spacing): refer to
8870 * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8873 * input/regression/page-spacing.ly: new file.
8875 * input/regression/page-top-space.ly: new file.
8877 * lily/spacing-spanner.cc: cmath -> math.h
8879 * lily/paper-system.cc (read_left_bound): new function. Read
8880 line-break-system-details from left bound to determine extents.
8882 * Documentation/user/programming-interface.itely (Using LilyPond
8883 syntax inside Scheme): change applyxxx -> applyXxx.
8885 * ly/music-functions-init.ly: add outputProperty music function.
8887 * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8889 * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8891 * python/convertrules.py (conv): rule
8893 * ly/music-functions-init.ly: applyxxx -> applyXxx
8895 * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
8898 2005-09-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
8900 * flower/include/real.hh: include <math.h> iso. <cmath>
8902 * flower/include/offset.hh: include real.hh
8904 2005-09-20 Han-Wen Nienhuys <hanwen@xs4all.nl>
8906 * Documentation/user/changing-defaults.itely (Difficult tweaks):
8907 fix example, now that 'interfaces is no longer directly available.
8909 * lily/book.cc (process): don't crash if paper == NULL.
8913 2005-09-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
8915 * scm/define-music-types.scm (music-descriptions): set length and
8916 start-callback for QuoteMusic
8918 2005-09-15 Mats Bengtsson <mabe@s3.kth.se>
8920 * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
8921 arguments. Fixes compilation error with gcc 3.3.
8923 2005-09-13 Han-Wen Nienhuys <hanwen@xs4all.nl>
8925 * VERSION: release 2.7.10
8927 * stepmake/stepmake/python-module-rules.make
8928 ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.
8930 * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
8933 2005-09-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
8935 * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
8936 -Werror. Otherwise GCC barfs over various optimizations.
8938 * scm/define-grob-properties.scm (all-internal-grob-properties):
8939 add note-head property
8941 * Documentation/user/instrument-notation.itely (Laissez vibrer
8944 * input/regression/laissez-vibrer-ties.ly: new file.
8946 * lily/laissez-vibrer-engraver.cc: new file.
8948 * lily/include/tie-column-format.hh: new file.
8950 * lily/tie-column-format.cc: new file.
8952 * lily/tie-column.cc (set_manual_tie_configuration): new function.
8954 * lily/laissez-vibrer-tie.cc: new file.
8956 * lily/include/laissez-vibrer-tie.hh: new file.
8958 * ly/engraver-init.ly: add Laissez_vibrer_engraver
8960 * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
8962 * scm/define-grobs.scm (all-grob-descriptions): add
8963 LaissezVibrerTie, LaissezVibrerTieColumn
8965 * lily/tie-column.cc (set_tie_config_directions): new function
8966 (final_shape_adjustment): new function.
8967 (shift_small_ties): new function.
8969 * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
8971 * lily/include/tie.hh (struct Tie_details): add x_gap_
8972 (struct Tie_configuration): add head_position_
8974 * lily/tie-column.cc (set_chord_outline): new function.
8976 * mf/cmr.enc.in: remove file.
8978 2005-09-11 Graham Percival <gpermus@gmail.com>
8980 * Documentation/user/examples.itely: typo fix. Thanks, Matevž
8982 2005-09-11 Han-Wen Nienhuys <hanwen@xs4all.nl>
8984 * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
8985 reduce aliasing effects.
8987 * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
8990 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
8992 * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
8994 * flower/include/real.hh: std::fabs too.
8996 2005-09-08 Jan Nieuwenhuizen <janneke@gnu.org>
8998 * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner).
9000 * lily, flower: Include C++ iso C headers. Import namespace std
9003 * lily/side-position-interface.cc:
9005 * lily/note-head.cc:
9006 * lily/include/includable-lexer.hh:
9007 * flower/include/string-data.icc: Remove using std::*.
9009 * lily, flower: Include C++ iso C headers. Import namespace std
9012 * lily/side-position-interface.cc:
9014 * lily/note-head.cc:
9015 * lily/include/includable-lexer.hh:
9016 * flower/include/string-data.icc: Remove using std::*.
9018 * Documentation/user/instrument-notation.itely (Entering lyrics):
9019 Multiple latin-1->utf-8 conversion fix.
9021 * Documentation/user/*tely: Update Emacs cookie to utf-8.
9023 2005-09-08 Han-Wen Nienhuys <hanwen@xs4all.nl>
9025 * lily/tie.cc (get_configuration): also avoid dots for non-space
9028 2005-09-07 Jan Nieuwenhuizen <janneke@gnu.org>
9030 * Documentation/user/instrument-notation.itely: Bugfix.
9032 2005-09-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
9034 * tex/GNUmakefile: don't install texinfo.tex
9036 * tex/ : cleanup: remove unused files.
9038 * lily/general-scheme.cc: remove my_{isinf,isnan}.
9040 * flower/include/real.hh: using std::{isnan,isinf}
9042 * VERSION (PATCH_LEVEL): release 2.7.9
9044 2005-09-05 Graham Percival <gpermus@gmail.com>
9046 * Documentation/user/ instrument-notation.itely,
9047 advanced-notation.itely: minor tweaks.
9049 * input/test/script-chart.ly: add item padding.
9051 2005-09-05 Han-Wen Nienhuys <hanwen@xs4all.nl>
9053 * flower/offset.cc: use math.h iso. <cmath>
9055 * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
9058 * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
9059 (widen-left-stencil-edges): new function. Fix alignment problems
9060 with LaTeX includegraphics.
9062 * lily/text-interface.cc (interpret_markup): use abort().
9064 2005-09-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
9066 * input/regression/tie-chord.ly (testLong): add a chord in 4ths
9068 * lily/tie.cc (get_configuration): update bezier shape as we
9070 (get_configuration): don't move large ties if we're outside of the
9073 2005-09-01 Han-Wen Nienhuys <hanwen@xs4all.nl>
9075 * scm/define-markup-commands.scm (strut): swap X and Y dims.
9077 2005-09-03 Jan Nieuwenhuizen <janneke@gnu.org>
9079 * .cvsignore: Add auto-generated configure files and then some.
9081 2005-09-02 Jan Nieuwenhuizen <janneke@gnu.org>
9083 * scm/define-grobs.scm (DynamicLineSpanner): Add
9084 X-extent-callback. Fixes hairpin-slur collision.
9086 2005-08-31 Graham Percival <gpermus@gmail.com>
9088 * Documentation/user/advanced-notation.itely,
9089 basic-notation.itely: minor changes.
9091 2005-08-31 Mats Bengtsson <mabe@s3.kth.se>
9093 * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9094 \linebreak between each .eps file if \betweenLilyPondSystem is
9097 * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9098 music): Document the \linebreak
9100 * Documentation/user/lilypond-book.itely,
9101 input/tutorial/lbook-latex-test.tex,
9102 Documentation/user/examples.itely: Remove \usepackage{graphics}
9104 2005-08-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
9106 * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9108 * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9111 * scripts/lilypond-book.py (PREAMBLE_LY): define
9112 inside-lilypond-book
9113 (modify_preamble): new function. Insert \RequirePackage{graphics}
9114 when no {graphics found in preamble.
9116 2005-08030 Graham Percival <gpermus@gmail.com>
9118 * Documentation/user/basic-notation.itely, global.itely,
9119 tutorial.itely: misc small changes.
9121 2005-08-30 Jan Nieuwenhuizen <janneke@gnu.org>
9123 * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9126 2005-08-30 Han-Wen Nienhuys <hanwen@xs4all.nl>
9128 * lily/tie-column.cc (new_directions): put Tie down on center
9131 * lily/script-interface.cc (before_line_breaking): use
9132 Grob::programming_error
9134 * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9136 * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9139 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9141 * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9143 2005-08-29 Werner Lemberg <wl@gnu.org>
9145 * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9146 the `*.scale.pfa' files to avoid warnings.
9148 2005-08-29 Han-Wen Nienhuys <hanwen@xs4all.nl>
9150 * lily/tempo-performer.cc (process_music): idem.
9152 * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9154 2005-08-27 Han-Wen Nienhuys <hanwen@xs4all.nl>
9156 * Documentation/user/advanced-notation.itely (Text markup): not a
9159 * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9161 * lily/staff-performer.cc (initialize): add tempo/name to
9164 2005-08-26 Graham Percival <gpermus@gmail.com>
9166 * Documentation/user/advanced.itely: add text-only example.
9168 * Documentation/user/invoking.itely: add index entries for
9171 * Documentation/user/ tutorial.itely, basic-notation.itely:
9172 small fixes suggested by Steve D. Thanks!
9174 2005-08-26 Han-Wen Nienhuys <hanwen@xs4all.nl>
9176 * input/regression/markup-bidi-pango.ly: new file.
9178 * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9179 standard. Remove #ifdef. Remove memleak.
9180 (text_stencil): use text_dir to decide how to composite items.
9181 (text_stencil): determine uniform text direction for the entire
9184 * scripts/lilypond-book.py (output_name): remove
9185 latex_filter_cmd. Non-portable to non-Unix systems.
9186 (get_latex_textwidth): use File.write and os.unlink() instead.
9188 * THANKS: add Vicente & Trevor.
9190 * lily/grob.cc (discretionary_processing): look up origin for
9191 programming_error too.
9193 * input/regression/tie-broken.ly: new file.
9195 * lily/tie-column.cc (set_chord_outlines): set outline for line
9198 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9200 * lily/pango-font.cc (text_stencil): don't translate glyphs in
9201 unscaled transform, just translate stencils.
9203 * ly/performer-init.ly: init timing to #t. Fixes bar checks in
9206 * scm/define-markup-commands.scm (wordwrap-string): use
9208 (wordwrap-stencils): idem.
9211 (wordwrap-stencils): translate last line to right for
9212 text-direction = LEFT.
9214 * scm/define-grob-properties.scm (all-user-grob-properties): add
9217 2005-08-25 Nicolas Sceaux <nicolas.sceaux@free.fr>
9219 * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9220 when copying a Lily_parser object.
9222 2005-08-25 Han-Wen Nienhuys <hanwen@xs4all.nl>
9224 * scm/define-markup-commands.scm (null): add null markup.
9226 2005-08-25 Mats Bengtsson <mabe@s3.kth.se>
9228 * lily/item.cc: Add documentation of center-invisible
9230 2005-08-24 Graham Percival <gpermus@gmail.com>
9232 * Documentation/user/advanced-notation.itely: add info about
9235 * Documentation/user/programming-interface.itely: fix example
9236 involving raised text.
9238 2005-08-24 Han-Wen Nienhuys <hanwen@xs4all.nl>
9240 * lily/beam.cc (print): fix X start/end points of isolated
9243 * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9245 * lily/multi-measure-rest.cc (set_text_rods): new function.
9247 * lily/vertical-align-engraver.cc (process_music): call
9248 Align_interface::set_axis(). This forces #'elements to be ordered,
9249 preventing random vertical reordering of staves.
9251 * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9252 add avoid-slur property.
9254 * Documentation/user/basic-notation.itely (Measure repeats): add
9255 countPercentRepeats example.
9257 * Documentation/user/advanced-notation.itely (Other text markup
9258 issues): remove remark about normal-font. We have \normal-text
9260 * input/regression/tie-chord.ly: add note about remaining bugs.
9262 * lily/tie.cc (print): try Tie_column::set_directions () if
9263 control-points not yet defined.
9265 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9267 * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9268 extent. This fixes braces falling out of the EPS bbox.
9270 * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9273 2005-08-23 Graham Percival <gpermus@gmail.com>
9275 * {various} : change #up->#UP and #down->#DOWN.
9277 * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9279 * Documentation/user/advanced-notation.itely: clarify
9280 what objects handles text on a multimeasure rest.
9282 2005-08-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
9284 * VERSION (PATCH_LEVEL): release 2.7.7
9286 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9288 * make/lilypond-vars.make: set -dgs-font-load for "make web"
9290 * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9292 * input/regression/*.ly: formatting clean-up. Default layout
9293 before music expression.
9295 * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9296 romanze28-2 example.
9298 * scm/ps-to-png.scm: remove dir-re function.
9299 (make-ps-images): generate page names, instead of globbing them.
9300 This brings down LilyPond memory usage for make web by a factor
9303 * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9304 don't use glob. With 3000 files, globbing
9305 Documentation/user/out-www/ can take too much time.
9307 * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9309 * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9311 * input/regression/tie-manual.ly: new file
9313 * input/regression/tie-chord.ly: update.
9315 * flower/include/interval.hh (struct Interval_t):
9317 * lily/tie.cc (distance): new function
9318 (height): new function.
9319 (init): new function
9320 (Tie_details): new struct.
9322 * lily/skyline.cc (skyline_height): new function.
9324 * lily/tie-column.cc (set_chord_outlines): new function.
9325 (new_directions): read tie-configuration
9327 * lily/skyline.cc: fix ASCII art.
9329 2005-08-22 Mats Bengtsson <mabe@s3.kth.se>
9331 * python/convertrules.py (string_or_scheme): Fix spelling error
9333 2005-08-22 Han-Wen Nienhuys <hanwen@xs4all.nl>
9335 * lily/tie-column.cc (set_directions): set directions only once.
9336 (add_configuration): new function.
9338 * lily/tie.cc (set_control_points): new function
9340 * lily/tie-column.cc (new_directions): new function.
9342 * ly/music-functions-init.ly: set 'pitch property
9343 iso. trill-pitch. This makes \relative work with \pitchedTrill
9345 * lily/tie.cc (get_configuration): new function. Don't generate
9346 control points, rather, generate configuration.
9347 remove head-pair property.
9349 * lily/include/tie.hh (struct Tie_configuration): new struct.
9351 2005-08-22 Heikki Junes <hjunes@cc.hut.fi>
9353 * Documentation/topdocs/NEWS.tely: clarify.
9355 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9357 * lily/tie.cc: remove minimum-length
9359 * scm/define-grob-properties.scm (all-user-grob-properties):
9360 remove staffline-clearance, y-offset
9362 * input/regression/tie-dots.ly (Module): remove.
9364 * lily/tie.cc (get_control_points): rewrite. Put short ties in
9365 staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9367 * input/regression/tie-single.ly: new file.
9369 2005-08-21 Graham Percival <gpermus@gmail.com>
9371 * ly/bagpipe.ly: fix compile problem.
9373 2005-08-21 Han-Wen Nienhuys <hanwen@xs4all.nl>
9375 * lily/midi-item.cc (name): new method.
9377 * lily/staff-performer.cc (acknowledge_audio_element): use
9378 signature of baseclass.
9380 * lily/engraver-group.cc (do_announces): move recursion call out
9383 * lily/drum-note-performer.cc (class Drum_note_performer): use
9384 process_music everywhere.
9386 * ly/performer-init.ly: add default children everywhere.
9388 * lily/paper-book.cc (output): call paper-book-write-midis
9389 directly: always write MIDI, even if no \layout {} block.
9391 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9393 * VERSION (PACKAGE_NAME): release 2.7.6
9395 * lily/percent-repeat-engraver.cc (try_music): don't print warning
9396 about not being able to handle repeat.
9398 2005-08-19 Jan Nieuwenhuizen <janneke@gnu.org>
9400 * Documentation/user/examples.itely (Piano templates):
9401 * lily/include/performer-group.hh: Remove last traces of
9402 Performer_group_performer. Fixes make web.
9404 2005-08-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
9406 * Documentation/user/examples.itely (Piano templates): change
9407 Engraver_group_engraver -> Engraver_group
9409 * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9410 scm_stand_in_procs is not weak_any.
9412 * lily/volta-bracket.cc (print): don't use strcmp().
9414 * lily/volta-engraver.cc (process_music): use
9415 Text_interface::is_markup() for setting the 'text property of the
9418 * input/mutopia/claop.py (accents): update syntax to 2.6
9420 * scm/define-context-properties.scm
9421 (all-user-translation-properties): add countPercentRepeats.
9423 * Documentation/user/basic-notation.itely (Measure repeats): add
9424 isolated percent example.
9426 2005-08-18 Graham Percival <gpermus@gmail.com>
9428 * input/ {various}: change direction #1, #-1 to
9429 #up/#down or \fooUp, \fooDown.
9431 * Documentation/user/music-glossary.tely: #-1 to #down.
9433 * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9434 to #up, #-1 to #down.
9436 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9438 * lily/include/engraver-group.hh: rename.
9440 * lily/include/performer-group.hh: rename.
9442 2005-08-18 Mats Bengtsson <mabe@s3.kth.se>
9444 * input/test/script-abbreviations.ly: Removed some old LaTeX
9447 2005-08-18 Jan Nieuwenhuizen <janneke@gnu.org>
9449 * python/convertrules.py (conv): inside-slur -> avoid-slur.
9450 Remove functions. Remove if 1: constructs, reindent.
9452 * scripts/convert-ly.py (add_version): Add functions from
9455 * scm/script.scm (default-script-alist):
9456 s/priority/script-priority. Fixes script stacking. Backportme.
9457 (Fermata): Very low priority.
9459 2005-08-18 Han-Wen Nienhuys <hanwen@xs4all.nl>
9461 * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9463 * input/regression/slur-script.ly: remove padding tweaks. Add
9466 * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9467 time sigs and related stuff.
9469 * scm/define-grob-properties.scm (all-user-grob-properties): add