Merge branch 'cvs-head' of ssh+git://hanwen@repo.or.cz/srv/git/lilypond into master...
[lilypond.git] / ChangeLog
blob41df0df108a3e8a2e09fdc1065fb7f0e8e1845ab
1 2006-11-05  Joe Neeman  <joeneeman@gmail.com>
3         * lily/include/page-turn-page-breaking.hh: remove unused
4         fields in Break_node
6         * lily/page-turn-page-breaking.cc (calc_demerits): 
7         * lily/optimal-page-breaking.cc (try_page_spacing): remove
8         uniformity penalties.
10 2006-11-05  Werner Lemberg  <wl@gnu.org>
12         * Documentation/user/changing-defaults.itely,
13         Documentation/user/preface.itely: Use `--', not `---'.
14         Minor improvements.
16         * Documentation/user/introduction.itely: Minor improvements.
17         (Automated engraving): Make example using \applyOutput work
18         actually.
20         * input/regression/apply-output.ly: Improve.
22 2006-11-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
24         * lily/dynamic-engraver.cc: 
25         formatting cleanup
27         * input/regression/note-head-harmonic.ly: 
28         * lily/stem.cc: 
29         * input/regression/note-head-harmonic-whole.ly: 
30         Center harmonic heads if stem is invisible. Fixes #140
32         * lily/input.cc: 
33         end context snippet with '\n'
35         * lily/parse-scm.cc: 
36         catch all GUILE exceptions
38         * VERSION: 
39         bump version
41         * lily/include/lily-lexer.hh: 
42         * lily/lily-lexer.cc: 
43         * lily/lily-parser.cc: 
44         Lily_parser* arg for copy ctor too.
46         * scripts/abc2ly.py: 
47         abc2ly new tempo syntax
49 2006-11-04  Heikki Junes  <hjunes@gmail.com>
51         * po/fi.po: update Finnish translation.
53 2006-11-03  Graham Percival  <gpermus@gmail.com>
55         * Documentation/user/ {various}: rename page->spacing,
56         global->non-music, invoking->running, example->templates.
58 2006-11-03  Nicolas Sceaux  <nicolas.sceaux@free.fr>
60         * scm/display-lily.scm: add a parser argument to display methods,
61         instead of using a *parser* special variable.
63         * scm/define-music-display-methods.scm: add a parser argument to
64         display methods. Update the methods for \melisma, \melismaEnd,
65         \breathe, \tempo, \partial.
67         * input/no-notation/display-lily-tests.ly: update the test
68         utilities according to the changes in display-lily.scm
70 2006-11-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
72         * *: The Joy of Merging.
74         * buildscripts/git-update-changelog.py: 
75         sort commits, and use .git-commits-done file.
77         * GNUmakefile.in: 
78         * elisp/GNUmakefile: 
79         dist emacs patches too.
81 2006-11-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
83         * scm/autochange.scm: 
84         autochange thinko.
86         * lily/context-def.cc: 
87         * lily/include/parse-scm.hh: 
88         * lily/include/smobs.hh: 
89         * lily/parse-scm.cc: 
90         * lily/prob.cc: 
91         * lily/program-option.cc: 
92         * scm/lily.scm: 
93         implement and use ASSERT_LIVE_IS_ALLOWED()
95         * ly/music-functions-init.ly: 
96         * scm/autochange.scm: 
97         set-part-combine fix for autochange.
99         * lily/include/lily-lexer.hh: 
100         * lily/include/lily-parser.hh: 
101         * lily/lily-lexer.cc: 
102         * lily/lily-parser-scheme.cc: 
103         * lily/lily-parser.cc: 
104         clear lexer scopes after parsing file. Plugs pseudo memory leak
106         * ly/declarations-init.ly: 
107         * ly/music-functions-init.ly: 
108         * scm/part-combiner.scm: 
109         Remove set-part-combine-listener. This plugs a memory leak.
111         * .gitignore: 
112         more ignores.
114         * mf/GNUmakefile: 
115         don't delete .scale.pfa; the FF script may not have read themyet. Fixes brace OTF bug
117         * .gitignore: 
118         ignore gcstat files.
120         * lily/part-combine-iterator.cc: 
121         don't allocate part combine events statically. Plugs small leak.
123         * lily/lily-parser-scheme.cc: 
124         plug memleak in case of failed files.
126         * lily/include/source.hh: 
127         * lily/source.cc: 
128         clean up Sources
130         * lily/lexer.ll: 
131         hi-bit ascii is also counted as alpha chars. This allows unicodeidentifiers, and fixes premature stop at accented char. (#134)
133         * lily/include/program-option.hh: 
134         * lily/program-option.cc: 
135         get_program_option() function
137         * ly/titling-init.ly: 
138         change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing.
140         * lily/include/translator.hh: 
141         * lily/include/translator.icc: 
142         * lily/translator.cc: 
143         minor cleanups
145         * lily/figured-bass-engraver.cc: 
146         don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128.
148         * stepmake/stepmake/compile-vars.make: 
149         don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC
151 2006-11-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
153         * python/midi.c: 
154         init running_status
156         * python/midi.c: 
157         trim warning messages.
159         * configure.in: 
160         strip -Werror.
162         * input/regression/utf-8.ly: 
163         document utf-8 meaning of phrases.
165         * scm/define-markup-commands.scm: 
166         make \caps markup default to smallCaps
168         * lily/pango-font.cc: 
169         * lily/ttf.cc: 
170         use glyph indexing for glyph name .notdef
172 2006-11-02  Jan Nieuwenhuizen  <janneke@gnu.org>
174         * input/regression/utf-8.ly: Fix doc to match order of language
175         fonts.
177 2006-11-01  Joe Neeman  <joeneeman@gmail.com>
179         * lily/optimal-page-breaking.cc (try_page_spacing): don't average
180         page and line forces.
182 2006-11-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
184         * GNUmakefile.in (SUBDIRS): remove cygwin dir too.
186 2006-10-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
188         * Documentation/user/GNUmakefile: 
189         don't use ImageMagick, use GS directly.
191         * mf/GNUmakefile: 
192         otf depends on otf-g?table. Fixes race condition in -j2 build.
193         (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)
195         * mf/GNUmakefile: 
196         rm fontdir target.
198         * mf/GNUmakefile: 
199         remove .deb/.rpm downloading.
201         * buildscripts/git-update-changelog.py: 
202         bugfixes for git-update-changelog.py
204         * Documentation/user/GNUmakefile: 
205         remove .eps rules
207 2006-10-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
209         * input/regression/tie-semi-single.ly:
210         use position/direction from single tie case too. This fixes
211         overrides and defaults for single laissez-vibrer and repeat ties.
213         * buildscripts/git-update-changelog.py: 
214         only prepend header if one patch was successful.
216 2006-10-31  Jan Nieuwenhuizen  <janneke@gnu.org>
218         * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
219         stuff.  Remove cygwin packaging stuff.
221 2006-10-30  Jan Nieuwenhuizen  <janneke@gnu.org>
223         * python/convertrules.py (conv): Part 2 fixes vertical extent.
225         * input/test/vertical-extent.ly: Fix and elaborate on vertical
226         staff extent.  (Thanks Mats)
228 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
230         * buildscripts/git-update-changelog.py (main): write .msg and cvs
231         command.
233         * scm/define-grobs.scm: 
234         separation-items have width
235         
236         * VERSION: 
237         bump version
238         
239         * .gitignore: 
240         * Documentation/topdocs/NEWS.tely: 
241         * lily/separating-group-spanner.cc: 
242         * lily/slur-engraver.cc: 
243         * lily/slur-scoring.cc: 
244         * scm/define-grobs.scm: 
245         * input/regression/slur-clef.ly:
246         add breakableSeparationItem to extra encompass for slurs. This
247         fixes slur/clef slur/key collisions etc. Should fix #49
248         
249         * lily/include/slur-scoring.hh: 
250         * lily/slur-scoring.cc: 
251         Use X of separation item as slur start. Fixes #120
253 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
255         * buildscripts/git-update-changelog.py (changelog_body): don't
256         write committishes.
258         * lily/grob.cc: add avoid-slur
260 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
262         * emacsclient.patch: 
263         * server.el.patch: 
264         move server/emacsclient to elisp/
266         * buildscripts/git-update-changelog.py (Commit.note_del_file):
267         apply patches too
269         * elisp/server.el.patch: 
270         move emacs patches.
272         * elisp/emacsclient.patch: 
273         emacsclient too.
275         * buildscripts/git-update-changelog.py: 
276         ignore ChangeLog
278         * .gitignore: 
279         update
281         * ChangeLog: 
282         * buildscripts/git-update-changelog.py: 
283         script to update ChangeLog with Git messages.
285         * lily/beam-engraver.cc: 
286         * input/regression/rest-pitched-beam.ly: 
287         don't set callback if staff-position set. Fixes #126.
289         * lily/bar-number-engraver.cc: 
290         * lily/beam.cc: 
291         * lily/fingering-engraver.cc: 
292         * lily/grob-property.cc: 
293         * lily/grob.cc: 
294         * lily/include/grob.hh: 
295         * lily/include/lily-guile-macros.hh: 
296         * lily/mark-engraver.cc: 
297         * lily/melody-engraver.cc: 
298         * lily/script-column.cc: 
299         * lily/tie-formatting-problem.cc: 
300         * lily/tie.cc: 
301         internal_get_property_data() using ly_symbol2scm()
303         * stepmake/stepmake/generic-targets.make: 
304         create .gitignore in outdir.
306         * .gitignore: 
307         new file.
309 2006-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
311         * input/test/vertical-extent.ly: 
312         * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
314 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
316         * stepmake/bin/add-html-footer.py (compose): remove setgcos
318 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
320         * GNUmakefile.in (install-help2man): install-help2man target. 
322 2006-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
324         * SConstruct (configure): Do not check for /bin/sh.
326 2006-10-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
328         * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
329         files.
331         * Documentation/topdocs/NEWS.tely (Top): add FretBoards example. 
333         * input/regression/fret-boards.ly: new file.
335         * po/de.po: new po courtesy translation team.
337         * scripts/lilypond-book.py (get_option_parser): add newline to doc
338         string.
340 2006-10-27  Mats Bengtsson  <mabe@drongo.s3.kth.se>
342         * ly/gregorian-init.ly (neumeDemoLayout): update
343         minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent 
345         * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
346         obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
348 2006-10-27  Erlend Aasland  <erlenda@gmail.com>
350         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
351         Yet another build fix.
353 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
355         * SConstruct (lilypondprefix): use sorted() for list_sort()
356         indent 4
358 2006-10-26  Jan Nieuwenhuizen  <janneke@gnu.org>
360         * flower/SConscript: Unit test rules.
362         * flower/test-std.cc: Compile fix.
364 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
366         * python/midi.c (pymidi_parse_track): warning fixes.
368         * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
369         include dot-column.hh
371 2006-10-26  Graham Percival  <gpermus@gmail.com>
373         * Documentation/user/{basic-, global}: minor changes from mailist.
375 2006-10-26  Erlend Aasland  <erlenda@gmail.com>
377         * scm/define-grobs.scm: trivial beautification
379         * lily/tie-performer.cc: no need to #include "pqueue.hh"
381         * lily/source-file.cc: put multibyte var inside #if clause
383         * scm/define-grob-interfaces.scm:
384         * scm/define-grob-properties.scm:
385         Build fix (string-fret-finger-combinations)
387         * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
388         lexer-gcc-3.1.sh
390         * Documentation/user/lilypond-book.itely: Build fix.
392 2006-10-26  Joe Neeman  <joeneeman@gmail.com>
394         * lily/system.cc (get_paper_system): 
395         * lily/paper-book.cc (systems): 
396         move most of the backwards compatibility stuff into
397         Paper_book::systems
399         * Documentation/topdocs/NEWS.tely: add 2 entries for the
400         page breaking stuff
402         * Documentation/user/page.itely: remove time-scaled-music
403         bug for the Page_turn_engraver
405         * lily/paper-book.cc (set_system_penalty): backwards
406         compatibility (breakbefore) for the old page breaker
408 2006-10-25  Graham Percival  <gpermus@gmail.com>
410         * Diocumentation/user/instrument-notation.itely: added more
411         info about stanzas; thanks Geoff!
413         * Documentation/user/ {basic, advanced}: small fixes from
414         mailist.
416         * THANKS: add some bug reporters.
418 2006-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
420         * scm/define-context-properties.scm (all-user-translation-properties):
421         noteToFretFunction: Add.
423         * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
424         fret-diagram-interface (WAS: fret-board-interface).  Fixes build.
426 2006-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
428         * flower/file-name.cc (dos_to_posix): Help std::string.copy with
429         trailing zero.
431         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
432         Remove bashism in delete.
434 2006-10-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
436         * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
438         * scm/translation-functions.scm (determine-frets-mf): flatten let*
440         * scm/define-context-properties.scm
441         (all-user-translation-properties): add maximumFretStretch property.
443         * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
445         * lily/source-file.cc (get_counts): use multibyte variable.
447         * scm/translation-functions.scm (determine-frets-mf): new
448         function: compute fret numbers. 
450         * scm/output-lib.scm (string-frets->description) new function.
451         (fret-board::calc-stencil): new function
453         * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
455         * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob. 
457         * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
459         * lily/tab-note-heads-engraver.cc: cleanups.
461         * lily/fretboard-engraver.cc: new file
463         * ly/engraver-init.ly: add FretBoards context
465 2006-10-24  Joe Neeman  <joeneeman@gmail.com>
467         * lily/grob.cc (pure_relative_y_coordinate)
468         (pure_height): use the new call_pure_function stuff
470         * lily/grob-property.cc (call_pure_function): wrapper for the scheme
471         call-pure-function
473         * lily/side-position-interface.cc (pure_y_aligned_side): add an
474         optarg
476         * lily/simple-closure.cc (ly_eval_simple_closure): make
477         simple-closure evaluatable from scheme
478         (evaluate_with_simple_closure): make simple-closures pure-
479         evaluatable
481         * lily/slur.cc (pure_outside_slur_callback): new function
483         * ly/paper-defaults.ly: change default blank-page-force to 2 (this
484         fits in with previous changes that made the page forces much
485         smaller)
487         * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
488         and pure-Y-extent into this new function.
489         (pure-conversions-alist): add outside-slur-callback
491 2006-10-24  Mats Bengtsson  <mabe@drongo.s3.kth.se>
493         * Documentation/user/advanced-notation.itely (Instrument names):
494         Remove obsolete bug workaround for instrument names on piano
495         staff. 
497 2006-10-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
499         * Documentation/user/lilypond-book.itely (Integrating DocBook and
500         music): patch by Bertalan Fodor for docbook.
502         * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
503         of $(LILYPOND). Prevents lilypond run for .txt files.
505         * INSTALL.txt: gitness.
507         * .cvsignore: update to force gitness. 
509 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
511         * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
512         detect suicide in nested tuplets.
514 2006-10-23  Werner Lemberg  <wl@gnu.org>
516         * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
517         typo in argument to FT_Get_X11_Font_Format.
519 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
521         * stepmake/stepmake/po-vars.make: more gitness.
523         * flower/polynomial.cc (check_sol): no empty if bodies. 
525 2006-10-30  Jan Nieuwenhuizen  <janneke@gnu.org>
527         * stepmake/stepmake/po-vars.make: Resolve.
529 2006-10-29  Jan Nieuwenhuizen  <janneke@gnu.org>
531         * stepmake/stepmake/po-vars.make: test change for GIT gateway.
533 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
535         * buildscripts/git-update-changelog.py (main): write .msg and cvs
536         command.
538         * scm/define-grobs.scm: 
539         separation-items have width
540         
541         * VERSION: 
542         bump version
543         
544         * .gitignore: 
545         * Documentation/topdocs/NEWS.tely: 
546         * lily/separating-group-spanner.cc: 
547         * lily/slur-engraver.cc: 
548         * lily/slur-scoring.cc: 
549         * scm/define-grobs.scm: 
550         * input/regression/slur-clef.ly:
551         add breakableSeparationItem to extra encompass for slurs. This
552         fixes slur/clef slur/key collisions etc. Should fix #49
553         
554         * lily/include/slur-scoring.hh: 
555         * lily/slur-scoring.cc: 
556         Use X of separation item as slur start. Fixes #120
558 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
560         * buildscripts/git-update-changelog.py (changelog_body): don't
561         write committishes.
563         * lily/grob.cc: add avoid-slur
565 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
567         * emacsclient.patch: 
568         * server.el.patch: 
569         move server/emacsclient to elisp/
571         * buildscripts/git-update-changelog.py (Commit.note_del_file):
572         apply patches too
574         * elisp/server.el.patch: 
575         move emacs patches.
577         * elisp/emacsclient.patch: 
578         emacsclient too.
580         * buildscripts/git-update-changelog.py: 
581         ignore ChangeLog
583         * .gitignore: 
584         update
586         * ChangeLog: 
587         * buildscripts/git-update-changelog.py: 
588         script to update ChangeLog with Git messages.
590         * lily/beam-engraver.cc: 
591         * input/regression/rest-pitched-beam.ly: 
592         don't set callback if staff-position set. Fixes #126.
594         * lily/bar-number-engraver.cc: 
595         * lily/beam.cc: 
596         * lily/fingering-engraver.cc: 
597         * lily/grob-property.cc: 
598         * lily/grob.cc: 
599         * lily/include/grob.hh: 
600         * lily/include/lily-guile-macros.hh: 
601         * lily/mark-engraver.cc: 
602         * lily/melody-engraver.cc: 
603         * lily/script-column.cc: 
604         * lily/tie-formatting-problem.cc: 
605         * lily/tie.cc: 
606         internal_get_property_data() using ly_symbol2scm()
608         * stepmake/stepmake/generic-targets.make: 
609         create .gitignore in outdir.
611         * .gitignore: 
612         new file.
614 2006-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
616         * input/test/vertical-extent.ly: 
617         * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
619 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
621         * stepmake/bin/add-html-footer.py (compose): remove setgcos
623 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
625         * GNUmakefile.in (install-help2man): install-help2man target. 
627 2006-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
629         * SConstruct (configure): Do not check for /bin/sh.
631 2006-10-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
633         * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
634         files.
636         * Documentation/topdocs/NEWS.tely (Top): add FretBoards example. 
638         * input/regression/fret-boards.ly: new file.
640         * po/de.po: new po courtesy translation team.
642         * scripts/lilypond-book.py (get_option_parser): add newline to doc
643         string.
645 2006-10-27  Mats Bengtsson  <mabe@drongo.s3.kth.se>
647         * ly/gregorian-init.ly (neumeDemoLayout): update
648         minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent 
650         * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
651         obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
653 2006-10-27  Erlend Aasland  <erlenda@gmail.com>
655         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
656         Yet another build fix.
658 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
660         * SConstruct (lilypondprefix): use sorted() for list_sort()
661         indent 4
663 2006-10-26  Jan Nieuwenhuizen  <janneke@gnu.org>
665         * flower/SConscript: Unit test rules.
667         * flower/test-std.cc: Compile fix.
669 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
671         * python/midi.c (pymidi_parse_track): warning fixes.
673         * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
674         include dot-column.hh
676 2006-10-26  Graham Percival  <gpermus@gmail.com>
678         * Documentation/user/{basic-, global}: minor changes from mailist.
680 2006-10-26  Erlend Aasland  <erlenda@gmail.com>
682         * scm/define-grobs.scm: trivial beautification
684         * lily/tie-performer.cc: no need to #include "pqueue.hh"
686         * lily/source-file.cc: put multibyte var inside #if clause
688         * scm/define-grob-interfaces.scm:
689         * scm/define-grob-properties.scm:
690         Build fix (string-fret-finger-combinations)
692         * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
693         lexer-gcc-3.1.sh
695         * Documentation/user/lilypond-book.itely: Build fix.
697 2006-10-26  Joe Neeman  <joeneeman@gmail.com>
699         * lily/system.cc (get_paper_system): 
700         * lily/paper-book.cc (systems): 
701         move most of the backwards compatibility stuff into
702         Paper_book::systems
704         * Documentation/topdocs/NEWS.tely: add 2 entries for the
705         page breaking stuff
707         * Documentation/user/page.itely: remove time-scaled-music
708         bug for the Page_turn_engraver
710         * lily/paper-book.cc (set_system_penalty): backwards
711         compatibility (breakbefore) for the old page breaker
713 2006-10-25  Graham Percival  <gpermus@gmail.com>
715         * Diocumentation/user/instrument-notation.itely: added more
716         info about stanzas; thanks Geoff!
718         * Documentation/user/ {basic, advanced}: small fixes from
719         mailist.
721         * THANKS: add some bug reporters.
723 2006-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
725         * scm/define-context-properties.scm (all-user-translation-properties):
726         noteToFretFunction: Add.
728         * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
729         fret-diagram-interface (WAS: fret-board-interface).  Fixes build.
731 2006-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
733         * flower/file-name.cc (dos_to_posix): Help std::string.copy with
734         trailing zero.
736         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
737         Remove bashism in delete.
739 2006-10-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
741         * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
743         * scm/translation-functions.scm (determine-frets-mf): flatten let*
745         * scm/define-context-properties.scm
746         (all-user-translation-properties): add maximumFretStretch property.
748         * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
750         * lily/source-file.cc (get_counts): use multibyte variable.
752         * scm/translation-functions.scm (determine-frets-mf): new
753         function: compute fret numbers. 
755         * scm/output-lib.scm (string-frets->description) new function.
756         (fret-board::calc-stencil): new function
758         * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
760         * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob. 
762         * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
764         * lily/tab-note-heads-engraver.cc: cleanups.
766         * lily/fretboard-engraver.cc: new file
768         * ly/engraver-init.ly: add FretBoards context
770 2006-10-24  Joe Neeman  <joeneeman@gmail.com>
772         * lily/grob.cc (pure_relative_y_coordinate)
773         (pure_height): use the new call_pure_function stuff
775         * lily/grob-property.cc (call_pure_function): wrapper for the scheme
776         call-pure-function
778         * lily/side-position-interface.cc (pure_y_aligned_side): add an
779         optarg
781         * lily/simple-closure.cc (ly_eval_simple_closure): make
782         simple-closure evaluatable from scheme
783         (evaluate_with_simple_closure): make simple-closures pure-
784         evaluatable
786         * lily/slur.cc (pure_outside_slur_callback): new function
788         * ly/paper-defaults.ly: change default blank-page-force to 2 (this
789         fits in with previous changes that made the page forces much
790         smaller)
792         * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
793         and pure-Y-extent into this new function.
794         (pure-conversions-alist): add outside-slur-callback
796 2006-10-24  Mats Bengtsson  <mabe@drongo.s3.kth.se>
798         * Documentation/user/advanced-notation.itely (Instrument names):
799         Remove obsolete bug workaround for instrument names on piano
800         staff. 
802 2006-10-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
804         * Documentation/user/lilypond-book.itely (Integrating DocBook and
805         music): patch by Bertalan Fodor for docbook.
807         * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
808         of $(LILYPOND). Prevents lilypond run for .txt files.
810         * INSTALL.txt: gitness.
812         * .cvsignore: update to force gitness. 
814 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
816         * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
817         detect suicide in nested tuplets.
819 2006-10-23  Werner Lemberg  <wl@gnu.org>
821         * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
822         typo in argument to FT_Get_X11_Font_Format.
824 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
826         * stepmake/stepmake/po-vars.make: more gitness.
828         * flower/polynomial.cc (check_sol): no empty if bodies. 
830 2006-10-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
832         * stepmake/stepmake/po-vars.make: test change for GIT gateway.
834 2006-10-22  Jürgen Reuter  <reuter@ipd.uka.de>
836         * Documentation/user/examples.itely (Transcription of mensural
837         music): Added more comments in .ly source.  Suggest to remove
838         Forbid_line_break_engraver to allow line breaking at all bars.
840         * Documentation/user/instrument-notation.itely (Ancient
841         articulations): Updated @refbugs regarding episem.
843         * Documentation/user/instrument-notation.itely (Gregorian square
844         neumes ligatures): Added \augmentum dots.  Updated @refbugs
845         regarding \augmentum.
847         * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
849         * input/test/ligature-vaticana.ly: Added \augmentum dots.  Updated
850         comment.
852         * lily/vaticana-ligature-engraver.cc: Added TODO comment for
853         \augmentum dots.
855         * ly/gregorian-init.ly: Added \augmentum macro.
857 2006-10-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
859         * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
861         * lily/pango-font.cc (pango_item_string_stencil): use
862         FT_Get_X11_Font_Format()
864 2006-10-22  John Mandereau  <john.mandereau@free.fr>
866         * po/fr.po: update translation.
868 2006-10-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
870         * VERSION (PATCH_LEVEL): bump version
872         * input/regression/horizontal-bracket-break.ly: new file.
874         * scm/define-grobs.scm (all-grob-descriptions): calc
875         connect-to-neighbor. 
877         * lily/horizontal-bracket.cc (make_bracket): support
878         connect-to-neighbor.  Fix #118
880         * VERSION: release 2.9.26-2
882         * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
884         * VERSION (PACKAGE_NAME): release 2.9.26
886         * buildscripts/output-distance.py (test_basic_compare): add
887         multipage test.
888         (FileLink.multi_img_cell): new function, glob multi-page png
889         images.
891 2006-10-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
893         * po/lilypond.pot: update.
895         * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
897         * Documentation/user/global.itely (File structure): remove
898         \addqoute remark.
900         * lily/parser.yy (FIXME): remove ADDQUOTE
902         * Documentation/user/global.itely (Extracting fragments of
903         notation): new node, about clip systems.
905         * Documentation/user/lilypond-book.itely (Many quotes of a large
906         score): ref to clip systems.
908         * Documentation/user/instrument-notation.itely (Entering lyrics):
909         add note about lyric ties and required font.
911         * lily/open-type-font.cc (glyph_list): format errors.
913         * Documentation/user/programming-interface.itely (Scheme
914         procedures as properties): more doco on simple-closure and scheme
915         callbacks.
916         (Input variables and Scheme): use lilypond[verbatim], document
917         dummy statement.
919         * Documentation/user/page.itely (Displaying spacing): use \book
920         explicitly, so arrows show .
921         (Line breaking): add note about Forbid_line_break_engraver
923         * Documentation/user/tweaks.itely (Common tweaks): also set length
924         to prevent tie squeezing. 
925         (Default files): use @var{}
927         * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
928         (Generating LilyPond files): add FOMUS.
930 2006-10-20  Joe Neeman  <joeneeman@gmail.com>
932         * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
933         Y-offset for TextScript and Script
935         * lily/text-engraver.cc (make_item): 
936         * lily/script-engraver.cc (make_script_from_event):
937         remove call to Side_position_interface::set_axis since all scripts
938         now have this set by default
940         * lily/context.cc: 
941         * lily/prob.cc: use variables
943 2006-10-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
945         * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
946         at typography, rather analyse stream event duration. 
948         * Documentation/user/page.itely (Page formatting): set a6 paper
949         for system separator example.
950         
951         * lily/arpeggio.cc (Module): idem.
953         * lily/accidental-placement.cc: add script-priority property.
955         * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
957         * lily/ttf.cc (print_trailer): if all else fails: use
958         glyphIndexXXXX as glyph name. Fixes #117.
960         * lily/pango-font.cc (pango_item_string_stencil): only use cmap
961         entry if cmap contains glyph.
962         (get_index_to_charcode_map): remove from Pango_font class, use
963         global filename -> font mapping.
964         (get_glyph_index_name): new function.
965         (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
966         only for TTF. 
968         * scripts/lilypond-book.py (main): use -deps-box-padding=-3
970         * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
971         a number.
973         * scm/define-grob-properties.scm (all-user-grob-properties):
974         remove outdated doc. Fixes #116
976         * lily/completion-note-heads-engraver.cc (process_music): always
977         clone input events; otherwise we may overwrite input 'duration
978         property. Fixes #115.
980         * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
981         scm_t_int32 != int
983         * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
984         anchor. Fixes #114
986         * VERSION (PATCH_LEVEL): bump version.
988 2006-10-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
990         * lily/engraver.cc (internal_make_grob): use variables.
992         * flower/string-convert.cc (dec2double): clean-up warnings. 
994         * configure.in (CXXFLAGS): add -Werror.
996         * VERSION (PACKAGE_NAME): release 2.9.25
998 2006-10-18  Joe Neeman  <joeneeman@gmail.com>
1000         * lily/simple-spacer.cc (get_line_forces): test for non-fitting
1001         line even if we precede a forced break.
1003         * lily/optimal-page-breaking.cc (try_page_spacing): square line
1004         forces too. Make page-spacing weight default to 10 because the
1005         changes to vertical springs decreased the page force/line force
1006         proportions. Also, take the average of line force and page force
1007         instead of just the sum.
1009         * lily/constrained-breaking.cc (initialize): make the stiffness
1010         of the vertical springs depend on the height of the system. This
1011         prevents pages with only a few large systems from getting huge
1012         forces
1014         * Documentation/user/page.itely (Page formatting): document the
1015         change in default page-spacing-weight
1017         * lily/include/constrained-breaking.hh: initialise bottom_padding_
1019 2006-10-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
1021         * input/typography-demo.ly (melody): remove superfluous slur.
1023         * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
1024         add piano-pedal-script-interface
1026 2006-10-18  Bertalan Fodor  <lilypondtool@organum.hu>
1028         * scripts/lilypond-book.py: DocBook support.
1030 2006-10-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
1032         * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
1033         Y-alignment code.
1034         (stop_translation_timestep): set bound to currentMusicalColumn if
1035         not set yet. Fixes #102
1037         * lily/piano-pedal-bracket.cc: formatting.
1039         * input/test/engraver-one-by-one.ly (MyStaff): reformat.
1041         * lily/piano-pedal-align-engraver.cc: new class
1042         Piano_pedal_align_engraver. Handle side-positioning Y-alignment
1043         for piano pedals.  
1045 2006-10-18  Heikki Junes  <hjunes@gmail.com>
1047         * po/fi.po: Update Finnish translation (before the next release).
1049 2006-10-17  Joe Neeman  <joeneeman@gmail.com>
1051         * lily/system.cc (get_paper_system): reinstate the backwards-
1052         compatible page breaking for the old page breaker.
1054 2006-10-17  Erik Sandberg  <mandolaerik@gmail.com>
1055         
1056         * lily/recording-group-engraver.cc: removed
1058         * lily/context.cc, lily/translator-group.cc: Don't touch
1059         Context::implementation_ if it's null
1061 2006-10-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
1063         * scm/paper.scm: only use left-margin if defined.
1065         * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
1067         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
1069         * lily/new-fingering-engraver.cc: stringFingerOrientations ->
1070         strokeFingerOrientations
1072         * lily/script-column.cc (row_before_line_breaking): also handle
1073         accidentals and arpeggios in horizontal script stacking.
1075         * lily/script-row-engraver.cc (acknowledge_accidental_placement):
1076         new function.
1078         * input/regression/script-stack-horizontal.ly: trim.
1080 2006-10-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
1082         * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
1083         'text property too.
1085         * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
1086         'text if string argument.
1088         * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
1090         * scm/define-context-properties.scm
1091         (all-user-translation-properties): change to strokeFingerOrientations
1093 2006-10-16  Erik Sandberg  <mandolaerik@gmail.com>
1095         * lily/parser.yy: remove debug output
1097 2006-10-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
1099         * ly/paper-defaults.ly: set left/right margin.
1101         * scm/paper.scm (set-paper-dimensions): use left-margin and
1102         right-margin for computing linewidth.
1104         * Documentation/topdocs/NEWS.tely (Top): idem.
1106         * input/regression/lyric-tie.ly (texidoc): use vowels for tied
1107         lyrics example.
1109         * scm/define-markup-commands.scm (tied-lyric): increase negative
1110         space: space syllables tighter.
1112         * VERSION (PATCH_LEVEL): bump version.
1114         * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
1115         Ax paper sizes. 
1117 2006-10-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
1119         * COPYING: further clarification
1121         * VERSION: release 2.9.24
1123         * input/regression/script-stack-horizontal.ly: add version.
1125         * scm/lily-library.scm (list-join): use fold-right. Fixes #112
1127         * input/regression/lyric-tie.ly (texidoc): use different words.
1129         * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
1131 2006-10-15  Erik Sandberg  <mandolaerik@gmail.com>
1133         * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
1134         macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
1135         
1136 2006-10-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
1138         * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4; 
1140         * Doxyfile: remove file.
1142         * scm/define-grob-interfaces.scm (string-finger-interface): add
1143         string-finger-interface
1145         * lily/general-scheme.cc (LY_DEFINE): move
1146         ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[] 
1148         * Documentation/topdocs/NEWS.tely (Top): add note for
1149         string-finger feature.
1151         * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
1152         property.
1154         * scm/output-lib.scm (string-finger::calc-text): read 'digit
1155         instead of 'text
1157         * input/regression/script-stack-horizontal.ly: new file.
1159         * ly/engraver-init.ly: add Script_row_engraver.
1161         * lily/script-column.cc (order_grobs): refactor: separate axis
1162         independent code.
1163         (row_before_line_breaking): new function.
1165         * lily/script-row-engraver.cc (Script_row_engraver): new file.
1167         * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
1169 2006-10-14  Jürgen Reuter  <reuter@ipd.uka.de>
1171         * Documentation/user/instrument-notation.itely: Cleanup: Remove
1172         annoying skip notes from mensural ligature example.  Update
1173         @refbugs for ligatures and mensural ligatures.
1175         * lily/coherent-ligature-engraver.cc,
1176         lily/include/coherent-ligature-engraver.hh,
1177         lily/mensural-ligature-engraver.cc,
1178         lily/vaticana-ligature-engraver.cc: Revise code for item
1179         reparentizing.  There should now be less programming_error
1180         messages.
1182         * lily/mensural-ligature-engraver.cc: Improve placement of dots.
1184         * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
1185         Maintenance bugfix: Don't create empty Stencil (), but empty box
1186         instead.  This fix should eliminate some programming_error
1187         messages.
1189         * ly/engraver-init.ly (MensuralStaff): Set default accidental
1190         style.
1192         * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
1193         \layout block _before_ score.
1195 2006-10-14  Han-Wen Nienhuys  <hanwen@lilypond.org>
1197         * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
1199         * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
1201 2006-10-13  Erlend Aasland  <erlenda@gmail.com>
1203         * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
1205 2006-10-13  Han-Wen Nienhuys  <hanwen@lilypond.org>
1207         * VERSION (PATCH_LEVEL): bump version.
1209         * COPYING: clarify exception note.
1211         * lily/main.cc: remove remark about "COPYING".
1213         * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
1214         system-count starts at 0 for each clip-region. Change name to
1215         FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
1216         layout block, per score.
1218 2006-10-13  Erik Sandberg  <mandolaerik@gmail.com>
1220         * lily/input-smob.cc: add equal_p for Input
1222         * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
1223         function
1225         * lily/parser.yy: MY_MAKE_MUSIC sets music origin
1227         * lily/prob.cc: Add equal_p predicate for Prob
1229         * lily/translator.cc: small cleanup
1231         * scm/document-music.cc: use data from translator listener
1232         registration to generate documentation for event classes
1234         * lily/*: Eliminate accept arg of ADD_TRANSLATOR
1235         
1236         * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
1237         
1238 2006-10-13  Jan Nieuwenhuizen  <janneke@gnu.org>
1240         * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
1242 2006-10-12  Jan Nieuwenhuizen  <janneke@gnu.org>
1244         * Documentation/topdocs/INSTALL.texi: Thinko.
1246         * .cvsignore: Update.
1248         * lexer-gcc-3.1.sh: Remove.
1250         * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
1251         Update anonymous cvs access.  Remove comment about gcc 3.0.4.
1253 2006-10-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
1255         * VERSION: release 2.9.23
1257         * lily/paper-column-engraver.cc (stop_translation_timestep): also
1258         typecheck barnumber.
1260         * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
1262         * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
1264         * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
1266         * input/regression/clip-systems.ly (Notes): new file. 
1268         * scm/lily.scm (define-scheme-options): add clip-systems option.
1270         * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
1271         function
1272         (dump-stencil-as-EPS): move bbox calculation from previous
1273         dump-stencil-as-EPS
1274         (output-framework): use -dclip-systems 
1276         * scm/lily-library.scm (filtered-map): new function
1278         * scm/framework-ps.scm (clip-system-EPS): new function.
1279         (clip-system-EPSes): new function.
1281         * lily/paper-column.cc: add rhythmic-location to interface
1283         * scm/define-grob-properties.scm (all-user-grob-properties): add
1284         rhythmic-location property.
1286         * scm/clip-region.scm: new file: rhythmic-location data type and
1287         system-clipped-x-extent function.
1289         * ly/init.ly: use (scm clip-region)
1291         * lily/paper-column-engraver.cc (stop_translation_timestep): set
1292         rhythmic-location for paper column grobs.
1294         * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
1296 2006-10-12  Jürgen Reuter  <reuter@ipd.uka.de>
1298         * ly/engraver-init.ly: Remove obsolete comment on
1299         Bar_number_engraver.
1301         * Documentation/user/instrument-notation.itely: Tune Ancient
1302         Articulations figure, such that the episem actually shows.
1304         * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
1305         fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
1307         * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
1308         cleanup.
1310 2006-10-12  Graham Percival  <gpermus@gmail.com>
1312         * Documentation/user/ {some}: minor edits that were lost somehow.
1314 2006-10-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
1316         * VERSION (PACKAGE_NAME): bump version.
1318         * input/regression/lyric-tie.ly (texidoc): new file.
1320         * Documentation/topdocs/NEWS.tely (Top): add new feature.
1322         * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
1324         * scm/define-markup-commands.scm (tied-lyric): new function: split
1325         string along ~ and reattach with U+203F (tie character) and
1326         negative space.
1328         * scm/output-lib.scm (lyric-text::calc-text): new function.
1330         * lily/lyric-engraver.cc (process_music): don't set 'text.
1332         * scm/output-lib.scm (string-finger::calc-text): new function
1333         (lyric-text::print): new function.
1335         * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1336         generic for fingering & string number. Use for string-finger. 
1338         * scm/define-music-types.scm (music-descriptions): add
1339         StringFingerEvent
1341         * lily/fingering-engraver.cc (listen_string_finger): new function
1343         * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1345         * scm/define-context-properties.scm
1346         (all-user-translation-properties): add stringFingerOrientations
1348 2006-10-11  Jürgen Reuter  <reuter@ipd.uka.de>
1350         * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1351         ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1353         * lily/dots.cc: Added style property for dots.
1355         * mf/parmesan-heads.mf: Fix typo in comment.
1357         * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1358         adding longa head to feta font and removing obsolete default
1359         mapping scheme code.
1361 2006-10-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
1363         * scm/output-lib.scm (fingering::calc-text): use origin
1364         event-property, not music-property.
1366         * lily/lilypond.rc.in: spell my name correctly.
1368 2006-10-10  Joe Neeman  <joeneeman@gmail.com>
1370         * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1371         already have a non-empty extent. Fixes estimation for Hara-kiri
1372         staves.
1374 2006-10-09  Jürgen Reuter  <reuter@ipd.uka.de>
1376         * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1377         \episemFinis.
1379         * lily/ligature-engraver.cc: Remove unused #include.
1381         * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1382         Bugfix: remove method check_for_prefix_loss(Item *) from global
1383         namespace to avoid namespace pollution.
1385 2006-10-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
1387         * VERSION: release 2.9.22
1389         * ly/generate-documentation.ly: update option name.
1391         * lily/dynamic-text-spanner.cc (print): revert fix.
1393         * scm/define-grob-interfaces.scm
1394         (trill-pitch-accidental-interface):
1395         add trill-pitch-accidental-interface
1397         * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1398         dereference if it's really a duration.
1400         * lily/figured-bass-engraver.cc (process_music): clear spanner if
1401         useBassFigureExtenders is not set.
1402         (listen_bass_figure): record as new event if
1403         useBassFigureExtenders not set. Fixes #103.
1405         * scm/stencil.scm (circle-stencil): don't center stencil argument,
1406         instead: move circle. Fixes #107.
1408         * scm/define-grobs.scm (all-grob-descriptions): set
1409         allow-loose-spacing for PaperColumn and
1410         NonMusicalPaperColumn. Kludge for #110.
1412         * lily/spaceable-grob.cc: add allow-loose-spacing property.
1414         * lily/spacing-determine-loose-columns.cc (is_loose_column):
1415         allow-loose-spacing property.
1417         * scm/define-markup-commands.scm (postscript): gsave & grestore
1418         around embedded PS. Do setlinewidth too. Fixes  #109.
1420 2006-10-08  Jürgen Reuter  <reuter@ipd.uka.de>
1422         * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1423         code.  This patch fixes ligature brackets that were not at all
1424         engraved any more.
1426 2006-10-08  Graham Percival  <gpermus@gmail.com>
1428         * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1430         * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1432         * scm/define-context-properties.scm: clarified docs (bug 91).
1434         * Documentation/user/basic-notation.itely: document volta brackets
1435         not aligning (bug 63).
1437         * Documentation/user/ global.itely invoking.itely: ignore or
1438         add warnings about texstr.
1440 2006-10-08  John Mandereau  <john.mandereau@free.fr>
1442         * po/fr.po: update translation.
1444         * po/: update msgids.
1446 2006-10-08  Jan Nieuwenhuizen  <janneke@gnu.org>
1448         * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1450 2006-10-08  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1452         * Documentation/user/page.itely (Two-pass vertical spacing): add
1453         documentation for two-pass spacing technique.
1455 2006-10-06  Graham Percival  <gpermus@gmail.com>
1457         * Documentation/user/convert-ly.txt: new file; new
1458         storage place for this file (moved from bugs/ CVS).
1460 2006-10-06  Jürgen Reuter  <reuter@ipd.uka.de>
1462         * lily/note-head.cc: Fixed programming_error message.
1464 2006-10-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
1466         * scm/define-grobs.scm (pure-conversion): move pure-callback
1467         further into body.
1469         * scm/script.scm (default-script-alist): set avoid-slur for turn,
1470         marcato, stopped, thumb.
1472 2006-10-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
1474         * lily/completion-note-heads-engraver.cc (process_music): don't
1475         skimp on memory usage.
1477         * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1478         stems too. Fixes #5
1480         * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1481         parenthesis item. This fixes premature Y-extent triggering. Fixes
1482         issue #95. 
1484         * VERSION (PATCH_LEVEL): bump version.
1486 2006-10-04  Graham Percival  <gpermus@gmail.com>
1488         * Documentation/user/advanced-notation.itely: added
1489         info about instrument names for piano or other contexts,
1490         thanks Marcus!
1492 2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
1494         * mf/feta-bolletjes.mf (solfa_quarter_width): use
1495         solfa_base_notewidth as unit for non-DO-notes too.
1497         * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1499         * VERSION: release 2.9.21
1501         * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1502         override.
1504 2006-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1506         * python/lilylib.py (progress): Minor fix.
1508 2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
1510         * lily/note-name-engraver.cc: doc engraver.
1512         * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1514         * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1516         * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1517         by callback.
1519         * lily/stem-engraver.cc (make_stem): don't set duration-log
1521         * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1522         write snippet-names binary.
1524         * python/lilylib.py (system): use os.system for mingw32
1526         * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1527         to $PATH.
1529         * scm/backend-library.scm: update email address.
1531         * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1532         example.
1534         * scm/define-grobs.scm (all-grob-descriptions): use callback to
1535         calc dot count.
1537         * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1538         handle dot creation separately.
1540         * lily/tab-note-heads-engraver.cc (process_music): idem.
1542         * lily/drum-note-engraver.cc (process_music): idem.
1544         * lily/note-heads-engraver.cc (process_music): idem.
1546         * lily/rest-engraver.cc: don't set duration-log.
1548         * scm/output-lib.scm (string-number::calc-text): new function.
1549         (note-head::calc-duration-log): new function.
1551         * lily/fingering-engraver.cc (make_script): remove 'text setting.
1553         * scm/output-lib.scm (fingering::calc-text): new function.
1555 2006-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1557         * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1558          and include-eps-font -> include-eps-fonts
1560 2006-10-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
1562         * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1564         * lily/timing-translator.cc: list properties.
1565         (start_translation_timestep): update internalBarNumber too.
1567         * scm/define-context-properties.scm
1568         (all-user-translation-properties): add internalBarNumber.
1570         * input/regression/spacing-no-note.ly: new file.
1572         * buildscripts/output-distance.py (link_file): verbosity for OSError.
1574         * lily/book.cc: #include cleanup.
1576         * lily/include/lily-guile-macros.hh: add assert to
1577         scm_or_str2symbol(SCM).
1579         * VERSION (PATCH_LEVEL): bump version.
1581         * lily/spacing-spanner.cc (musical_column_spacing): handle
1582         musical->nonmusical spacing case, where there is no spacing
1583         wish. Fixes issue #61.
1585         * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1586         (pango_item_string_stencil): use logical rect horizontally (to
1587         preserve spaces), ink_rect vertically (for time signatures).
1589         * lily/font-metric.cc (word_stencil): new interface function
1591         * input/regression/utf-8-mixed-text.ly: new file.
1593         * lily/percent-repeat-engraver.cc (listen_percent): remove
1594         spurious warning.
1596         * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1597         non-dynamic scripts. Fixes #30.
1599         * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1601         * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1603         * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1604         SCM_UNDEFINED for non-existent data.
1606         * lily/side-position-interface.cc (general_side_position): allow
1607         optional current_offset argument for chaining, so combinations of side-position
1608         and outside slur callback don't add up.  Fixes issue #92.
1610         * lily/pango-font.cc (pango_item_string_stencil): use
1611         logical_rect. This prevents spaces after words from disappearing,
1612         issue #72.
1613         
1614         * VERSION: release 2.9.20
1616 2006-10-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
1618         * scm/define-grob-properties.scm (all-user-grob-properties):
1619         mention stencil as user settable.
1621 2006-10-02  Joe Neeman  <joeneeman@gmail.com>
1623         * Documentation/user/page.itely (Page formatting): 
1624         document auto-first-page-number
1626         * lily/page-breaking.cc (find_chunks_and_breaks): 
1627         * lily/paper-score.cc (calc_breaking): Follow changes to the
1628         Constrained_breaking interface
1630         * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1631         here backwards, as an optimisation
1632         (initialize): new function; move most of the code in resize () here
1633         (combine_demerits): cache ragged_right_
1634         (Constrained_breaking): constructor now takes the Paper_score
1636 2006-10-02  Erik Sandberg  <mandolaerik@gmail.com>
1637         
1638         * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1639         avoid parser lookahead for 0-ary functions.
1641         * lily/translator.cc: Extract event classes from
1642         IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1644 2006-10-02  Heikki Junes  <hjunes@gmail.com>
1646         * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1647         KBabel fix tool.
1649 2006-10-01  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1651         * scm/layout-page-layout.scm (page-breaking-wrapper): new
1652         function. Call the page breaking function selected in the
1653         `page-breaking' \paper variable, then the post processing function
1654         chosen using the `page-post-process' \paper variable.
1655         (line-height): new function. Return the height of a system.
1656         (line-minimum-position-on-page): new function. Return the position
1657         of a system on page (using the previous line position), only
1658         considering between system padding.
1659         (stretchable-line?): new function. Says whether a line can be
1660         stretched (ie. is not a title nor a single staff system).
1661         (page-maximum-space-left): new function. Computes space left on a
1662         page, when all systems are separated by their padding.
1664         * lily/page-breaking.cc (breaking::make_pages): Move page post
1665         processing function call to page breaking wrapper (common to all
1666         page breakers).
1668         * lily/paper-book.cc (book::pages): call the page breaking
1669         wrapper, instead of the page breaker directly
1671         * ly/paper-defaults.ly: Add \paper variables for page breaking
1672         wrapper and page post processing function. Make
1673         `write-page-layout' value depend on the 'dump-tweaks option. Add a
1674         `system-maximum-stretch-procedure' variable for holding a function
1675         computing the maximum stretch a system allows.
1677         * scm/layout-page-dump.scm (write-page-breaks): computes the
1678         stretch to apply to systems on a page to minimize left
1679         space. Dump this stretch length.
1681         * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1682         the system-stretch property of the tweak data to stretch the
1683         system.
1684         (includePageLayoutFile): Void function which includes the
1685         generated page-layout file if it exists and if the page layout
1686         dumping is not asked.
1687         (scoreTweak): if the score tweak named by the argument exists,
1688         return it.
1690 2006-10-01  Joe Neeman  <joeneeman@gmail.com>
1692         * lily/page-spacing.cc (compress_lines, uncompress_solution):
1693         handle correctly the case where there are multiple \noPageBreaks
1694         in a row.
1696 2006-09-30  Laura Conrad <lconrad@laymusic.org>
1698         * abc2ly.py adds segno (S) and Coda (O) to articulations.
1699         
1700         * abc2ly.py fix so that entering " -- " will translate to a -- in
1701         the lilypond instead of a " - - "
1702         
1703 2006-09-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
1705         * lily/align-interface.cc: fix typo
1707         * lily/dynamic-text-spanner.cc (print): Add a special case for
1708         trill spanner right sides. 
1710         * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1712         * lily/align-interface.cc (get_extents_aligned_translates): add
1713         support for padding variable.
1715         * lily/break-align-interface.cc (self_align_callback): oops: use
1716         loop variable in guard.
1718         * input/regression/repeat-percent-grace.ly: new file.
1720         * lily/percent-repeat-engraver.cc (start_translation_timestep):
1721         remember first currentCommandColumn of a grace run. Fixes issue 70.
1723         * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1724         move class definition to CC file.
1726         * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1728         * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1729         measure-long  repeats.
1731         * flower/include/international.hh: include stdarg.h
1733 2006-09-30  Joe Neeman  <joeneeman@gmail.com>
1735         * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1736         put_systems_on_pages to return an empty result, we need to assign
1737         demerits properly in that case.
1738         (put_systems_on_pages): Make the number of pages depend on the
1739         evenness of page_number. Add auto-first-page-number.
1740         (calc_subproblem): ensure that the page-number is even for the
1741         left-hand page. Warn if the first page-turn doesn't fit onto the
1742         first (right-hand) page.
1744         * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1745         (min_page_count): make this publicly accessible
1746         (min_page_count): fix a bug when there are forced page breaks that
1747         was introduced when I made this loop run backwards
1748         (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1749         replace space_systems_on_min_pages with these two. The logic in
1750         space_systems_on_min_pages was getting too convoluted and is better
1751         contained in page-turn-page-breaking.
1753         * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1754         conditional
1755         (breakable_column): typo
1757         * lily/source-file.cc (get_line): fix off-by-one error
1758         and clean up some of the logic
1760 2006-09-29  Joe Neeman  <joeneeman@gmail.com>
1762         * lily/page-breaking.cc (make_pages): honour the first-page-number
1763         property
1765 2006-09-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
1767         * VERSION (PACKAGE_NAME): bump version.
1769 2006-09-26  Pal Benko  <benko.pal@gmail.com>
1771         * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1772         (the latter is the same as petrucci-f which is kept for compatibility)
1774 2006-09-26  Erik Sandberg  <mandolaerik@gmail.com>
1775         
1776         * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1778 2006-09-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
1780         * lily/global-context.cc (run_iterator_on_me): break out of loop
1781         if moment doesn't increase.
1783         * scm/define-grob-properties.scm (all-user-grob-properties): add
1784         forced property.
1786         * lily/accidental.cc (after_line_breaking): read forced property.
1788         * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1789         property.
1791         * input/regression/accidental-forced-tie.ly:  new file.
1793 2006-09-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
1795         * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1797         * lily/figured-bass-engraver.cc: only listen to rest events if
1798         ignoreFiguredBassRest is not set.
1800         * scm/define-context-properties.scm
1801         (all-user-translation-properties): add ignoreFiguredBassRest property
1803 2006-09-24  Joe Neeman  <joeneeman@gmail.com>
1805         * lily/paper-book.cc (get_system_specs):
1806         (set_system_penalty): fix breakbefore.
1807         We used to set a penalty on the system after the break, now we
1808         set a permission on the system before the break
1810         * lily/grob-property.cc: add scm debugging hooks into
1811         property modification
1813         * lily/context-property.cc:
1814         * lily/engraver.cc:
1815         rename make_foo_from_properties to internal_make_foo and
1816         move it from context-property.cc to a member function of
1817         Engraver.
1818         
1819         * lily/include/lily-guile-macros.hh:
1820         overload ly_symbol2scm macro so that there is no more need
1821         to use internal_foo
1823         * lily/volta-repeat-iterator.cc:
1824         * lily/tweak-engraver.cc:
1825         * lily/tuplet-bracket.cc:
1826         * lily/span-bar-engraver.cc:
1827         * lily/script-engraver.cc:
1828         * lily/prob-scheme.cc:
1829         * lily/pointer-group-interface.cc:
1830         * lily/parser.yy:
1831         * lily/grob-scheme.cc:
1832         * lily/grob-property.cc:
1833         * lily/context.cc:
1834         * lily/context-property.cc:
1835         * lily/break-substitution.cc:
1836         * lily/break-align-engraver.cc:
1837         * lily/axis-group-interface.cc:
1838         * lily/align-interface.cc:
1839         remove calls to internal_FOO
1841         * lily/system-start-delimiter-engraver.cc:
1842         * lily/parenthesis-engraver.cc:
1843         * lily/accidental-engraver.cc:
1844         remove calls to make_foo_from_properties
1846 2006-09-23  Graham Percival  <gpermus@gmail.com>
1848         * Documentation/user/programming-iterfaces.itely: fix
1849         def-music-function -> define-music... leftover.
1851 2006-09-23  Joe Neeman  <joeneeman@gmail.com>
1853         * lily/page-spacing.cc (min_page_count): by running the loop
1854         backwards, we can calculate ragged_last properly.
1856 2006-09-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1858         * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1859         printfirst-page-number -> print-first-page-number
1861         * python/convertrules.py: corresponding rule.
1863         * Documentation/user/page.itely (Page formatting): Document the
1864         default values of all page layout parameters. 
1866 2006-09-22  Erik Sandberg  <mandolaerik@gmail.com>
1868         * lily/lexer.ll: remove limitation on music function arity. New
1869         mode extratoken, which inserts extra EXPECT_* tokens after
1870         MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1872         * lily/parser.yy: Change grammar for music function accordingly.
1874         * lily/include/lily-parser.hh: New method get_state, new member
1875         hidden_state. Works around a problem when parser fetches
1876         MUSIC_FUNCTION token but not the following EXPECT_* token.
1878         * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1879         remove try_music
1881         * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1882         references to Music; use ASSIGN_EVENT_ONCE everywhere
1884         * lily/grob-info.cc: junk *music_cause
1886         * lily/music.cc: copy eventified articulations to stream event
1888         * lily/part-combine-iterator.cc: Cleanup using enums
1890         * lily/translator-group.cc: Junk OldMusicEvent, and associated
1891         methods
1893         * lily/include/engraver.hh: Junk music.hh include
1895         * lily/stream-event.cc: Changed constructors
1897 2006-09-21  Graham Percival  <gpermus@gmail.com>
1899         * Documentation/user/tweaks.itely (Fitting music onto fewer
1900         pages): change settings to avoid warning messages.
1902 2006-09-21  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1904         * Documentation/user/tweaks.itely (Fitting music onto fewer
1905         pages): Add between-system-space setting. 
1907 2006-09-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
1909         * lily/accidental-placement.cc (calc_positioning_done): don't
1910         trigger Y-extent calculation too early. Use pure_height instead.
1912         * lily/scale.cc (LY_DEFINE): new file. 
1914 2006-09-20  Joe Neeman  <joeneeman@gmail.com>
1916         * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1917         that happen at the start of a score: having a zero-length
1918         chunk was messing up min_system_count calculations.
1920         * lily/source-file.cc (get_line): lower_bound, not
1921         binary_search. Fixes problem where point-and-click would
1922         always point to the first line.
1924 2006-09-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
1926         * lily/accidental-placement.cc (calc_positioning_done): also put
1927         stems into accidental support. 
1929         * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1930         event_ detected.
1932         * scm/script.scm (default-script-alist): avoid-slur and
1933         slur-padding for portato script.
1935         * lily/stem-tremolo.cc (translated_stencil): new function. 
1936         (height): use new function. Fixes tremolos on whole notes.
1938         * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1939         slur found.
1941 2006-09-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
1943         * scripts/abc2ly.py (try_parse_comment): idem.
1945         * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1946         bar_string iso. string.find()
1948         * lily/*.cc: idem.
1950         * lily/slur.cc (get_curve): always use scm_is_pair() looping
1951         scheme lists.  
1953 2006-09-18  Graham Percival  <gpermus@gmail.com>
1955         * Documentation/user/basic-notation.itely: add bug
1956         warning about ties and octavation/clef.
1958 2006-09-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
1960         * VERSION (PACKAGE_NAME): release 2.9.18
1962 2006-08-29  Milan Zamazal  <pdm@brailcom.org>
1964         * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1965         figure out midi file names right here.
1966         
1967 2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
1969         * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1971         * scm/backend-library.scm: option naming:  gs-font-load*s*
1973         * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1974         include-eps-fonts
1976 2006-09-17  Joe Neeman  <joeneeman@gmail.com>
1978         * scm/define-music-types.scm (music-descriptions): remove
1979         BreakEvent and fix {Page,Line}{Break,Turn}Event so
1980         Music::to_event doesn't complain.
1982         * lily/accidental-placement.cc (ape_compare):
1983         * lily/semi-tie.cc (compare): 
1984         * lily/note-column.cc (shift_compare): replace by XXX_less
1986         * lily/tie-formatting-problem.cc (set_chord_outline): 
1987         * lily/tie-column.cc (calc_positioning_done): 
1988         * lily/system.cc (post_processing)
1989         (get_paper_system): 
1990         * lily/stem.cc (note_head_positions)
1991         (calc_positioning_done): 
1992         * lily/spanner.cc (do_break_processing)
1993         (find_broken_piece): 
1994         * lily/span-bar.cc (print): 
1995         * lily/semi-tie-column.cc (calc_positioning_done): 
1996         * lily/rest-collision.cc (calc_positioning_done): 
1997         * lily/program-option.cc (get_help_string): 
1998         * lily/note-collision.cc (get_clash_groups):
1999         * lily/new-fingering-engraver.cc (position_scripts):
2000         * lily/keyword.cc (Keyword_table):
2001         * lily/hara-kiri-group-spanner.cc (request_suicide):
2002         * lily/grob-pq-engraver.cc (stop_translation_timestep):
2003         * lily/accidental-placement.cc (calc_positioning_done):
2004         (stagger_apes):
2005         * lily/beam.cc (get_beam_segments):
2006         * lily/grob-array.cc (remove_duplicates):
2007         use new vector_sort
2008         
2009         * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
2010         ragged-last-bottom = ##f (test the new page breaker)
2012         * flower/include/std-vector.hh (vector_sort): use STL sort stuff
2014         * scm/define-context-properties.scm
2015         (all-internal-translation-properties): remove properties that
2016         were used to communicate page-turn stuff to the paper-column
2017         engraver.
2019         * lily/lily-guile.cc (robust_scm2string): new function
2021         * lily/paper-column-engraver.cc: Clean up page turn stuff
2023         * lily/page-turn-engraver.cc: Re-write the page turn logic here
2024         instead of cluttering up paper-column-engraver.cc
2026 2006-09-17  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2028         * scm/layout-page-dump.scm (scm): export utility function names,
2029         to allow user writing cutsom dumping functions.
2031         * scm/layout-page-layout.scm: export utility function names to
2032         enable custom page breaking function writing. Tabify.
2033         (line-next-space): use ?-suffix only for predicates
2034         (page-maximum-space-to-fill): new function. Return the space
2035         between first and bottom system of a page, to give to
2036         space-systems.
2037         (space-systems): use a space-to-fill argument (for instance as
2038         computed by page-maximum-space-to-fill) instead of computing
2039         internaly this space with the page height. That way, the caller
2040         can adjust the space to use.
2041         (make-page-from-systems, walk-paths): compute space to fill before
2042         calling space-systems.
2044 2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
2046         * scm/script.scm (default-script-alist): set paddings for every
2047         type here, increase for portato mark.
2049         * scm/lily.scm (define-scheme-options): typo: add s, so it is 
2050         -dinclude-eps-fonts
2052 2006-09-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
2054         * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
2055         use spanner::set-spacing-rods
2057         * lily/note-column.cc: reformat.
2059         * lily/rest-collision.cc (calc_positioning_done): fix whole/half
2060         step positioning for note/rest combinations.
2062         * input/regression/rest-note-collision.ly: new file.
2064         * scm/define-grobs.scm (all-grob-descriptions): add
2065         springs-and-rods
2067         * flower/include/std-vector.hh: switch off again.
2069         * VERSION (PATCH_LEVEL): bump to 2.9.18
2071         * flower/include/std-string.hh: idem.
2073         * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
2075 2006-09-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2077         * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
2078         PianoStaff. 
2080 2006-09-08  Joe Neeman  <joeneeman@gmail.com>
2082         * Documentation/user/page.itely: update page breaking documentation
2084 2006-09-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
2086         * lily/note-collision.cc (calc_positioning_done): only access
2087         first head if available.
2089         * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
2091         * scm/framework-ps.scm (output-preview-framework): use new name.
2093         * lily/program-option.cc (internal_set_option): use new names.
2095         * Documentation/user/SConscript (lilypond_book_flags): update -d
2096         variable names.
2098         * Documentation/user/lilypond-book.itely (Inserting LilyPond
2099         output into other programs): new variable names.
2101         * scm/lily.scm (define-scheme-options): uniformize var names.
2103         * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
2104         tuplets_ is non-empty before popping.
2106 2006-09-07  Joe Neeman  <joeneeman@gmail.com>
2108         * lily/spanner.cc (find_broken_piece): 
2109         * lily/spacing-spanner.cc (get_columns): 
2110         * lily/source-file.cc (get_line): 
2111         * lily/simple-spacer.cc (get_column_description): 
2112         * lily/keyword.cc (lookup): 
2113         use the new binary search.
2115         * flower/include/std-vector.hh: replace binary_search with
2116         a more STL-like version
2118 2006-09-04  Michael Welsh Duggan  <md5i@cs.cmu.edu>
2120         * lily/tie-performer.cc: remove unused last_event_ property.
2121         (class Tie_performer): add now_tied_heads_ property for
2122         partially-tied heads.
2123         (acknowledge_audio_element): when adding an Audio_note, put the
2124         note in now_tied_heads_ if the audio note is partially tied.
2125         (stop_translation_timestep): always include entries in
2126         now_tied_heads_ in heads_to_tie_.
2128         * lily/drum-note-performer.cc (process_music): look for tie-events
2129         in the articulations; pass to Audio_note constructor.
2131         * lily/note-performer.cc (process_music): look for tie-events in
2132         the articulations; pass to Audio_note constructor.
2134         * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
2135         constructor.
2137         * lily/include/audio-item.hh (class Audio_note): add tie_event_.
2138         include initializer in constructor.
2140 2006-09-02  Joe Neeman  <joeneeman@gmail.com>
2142         * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
2143         unless they are breakable. This fixes discrepancies between the forces
2144         calculated here and the forces calculated in get_line_configuration.
2146         * lily/grob.cc (pure_relative_y_coordinate): fix some
2147         mis-estimation that was happening with piano staves.
2149         * lily/constrained-breaking.cc (resize): don't choke if we get a
2150         measure that won't fit on a line.
2151         (combine_demerits): don't consider uniformity when ragged
2153         * lily/page-spacing.cc (solve): why the f* were there two of these?
2154         (calc_subproblem): properly handle the case where a system is taller
2155         than the page.
2157         * lily/system.cc (get_paper_system): ensure that all the permissions
2158         and penalties are passed to the paper systems.
2160         * lily/page-breaking.cc (create_system_list): support system-count.
2162         * scm/define-grobs.scm (pure-print-callbacks): add
2163         ly:script-interface::print
2165         * lily/page-spacing.cc (min_page_count): fix calculation of min
2166         pages if we are ragged and there are non-zero springs.
2168         * scm/layout-page-layout.scm: if the pure-height estimates are under
2169         the real height, allow space-systems to ignore padding if it is
2170         needed in order to fit the systems on one page
2172         * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
2173         ragged properties
2174         (solve): fix performance problem. Make sure we always get at least
2175         one solution
2177         * lily/page-breaking.cc (make_pages): include write-page-breaks
2178         and page-stencil
2180         * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
2182         * scm/define-grobs.scm: add the new slur-callback
2183         fix pure-relevant to not exclude grobs whose extent is already
2184         calculated
2186         * ly/paper-defaults.ly: make ly:optimal-breaking the new default
2187         page breaker
2189         * lily/slur.cc (pure_height): new callback to estimate the height
2190         of a slur
2192 2006-09-02  Graham Percival  <gpermus@gmail.com>
2194         * Documentation/user/invoking.itely: small update on
2195         MacOS X notes; thanks Trevor!
2197 2006-09-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
2199         * VERSION (MY_PATCH_LEVEL): release 2.9.17
2201         * lily/lexer.ll: accept EOF in all states.
2203         * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
2205         * lily/source-file.cc (Source_file): always 0-terminate character
2206         array, to prevent Flex from barfing.
2208         * lily/global-context.cc (get_output): robustness: don't crash if
2209         no Score context found.
2211         * lily/include/book.hh (class Book): idem.
2213         * lily/include/context-def.hh (struct Context_def): idem.
2215         * lily/include/score.hh (class Score): don't derive from Input.
2217         * lily/book.cc (Book): add a copy ctor. 
2219         * buildscripts/output-distance.py (FileLink.calc_distance): count
2220         orphans in distance too.
2222         * python/midi.c (midi_parse_track): robustness: don't read past
2223         end of string.
2225         * ly/performer-init.ly: add Control_track_performer, move
2226         Tempo_performer and Time_signature_performer to Score.        
2228         * lily/score-performer.cc (acknowledge_audio_elements): override
2229         from base class: add to audio-columns
2231         * lily/control-track-performer.cc (add_text): new file: generate
2232         the control track.
2234         * lily/performance.cc: move output_header_track to
2235         Control_track_performer ()
2237         * lily/midi-walker.cc (Midi_walker): get channel in constructor.
2239         * lily/include/midi-item.hh (class Midi_channel_item): insert
2240         class into hierarchy, for items that can have a channel setting. Dehungarify.
2242         * lily/include/performer.hh (class Performer): remove
2243         play_element();  move functionality into announce/acknowledge.
2245         * lily/audio-staff.cc (output): remove channel_ from Midi_track.
2247         * lily/tie-engraver.cc (stop_translation_timestep): only wipe
2248         heads_to_tie_ if there are new heads to tie.  Fixes polyphony in ties.
2250 2006-08-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
2252         * lily/tie-engraver.cc (stop_translation_timestep): robustness for
2253         ambituses.
2255         * lily/all-font-metrics.cc: remove TFM support.
2257         * lily/include/tfm.hh: remove TFM support, TFM reader.
2259         * lily/include/binary-source-file.hh: remove Binary_source_file.
2261 2006-08-27  Graham Percival  <gpermus@gmail.com>
2263         * Documentation/topdocs/NEWS.itely: add @c marker for
2264         stuff I've processed.
2266         * Documentation/user/ various: info from NEWS.
2268 2006-08-27  Joe Neeman  <joeneeman@gmail.com>
2270         * lily/paper-column-engraver.cc (finalize): Oops, this change
2271         should have gone in on 2006-08-23
2273 2006-08-26  Mats Bengtsson  <mabe@s3.kth.se>
2275         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
2276         quotes to quote arguments. Fixes Windows problem.
2278         * python/lilylib.py (progress): idem
2280 2006-08-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
2282         * scripts/musicxml2ly.py: fix for importing
2283         minor key signatures from MusicXML.  (Phillip Kirlin)
2285 2006-08-24  Phillip Kirlin  <pkirlin@acm.org>
2287         * python/musicxml.py: 
2288         (Attributes.get_key_signature): now correctly retrieves mode from 
2289         MusicXML. 
2291 2006-08-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
2293         * lily/parser.yy (output_def_body): take ownership of identifier
2294         back to C++.
2296         * Documentation/user/advanced-notation.itely (Metronome marks):
2297         update use of \tempo in \midi.
2299         * VERSION: release 2.9.16
2300         
2301 2006-08-24  Erik Sandberg  <mandolaerik@gmail.com>
2303         * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
2304         web partially)
2306 2006-08-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
2308         * input/regression/tie-chord-partial.ly: clarify example.
2310         * scm/define-music-properties.scm (all-music-properties): remove
2311         untied.
2313         * ly/music-functions-init.ly: remove \untied.
2315         * lily/tie-engraver.cc (struct Head_event_tuple): store both
2316         stream events and music events.
2317         (stop_translation_timestep): search acknowledged heads for
2318         tie-event.
2320         * input/regression/tie-chord-partial.ly: new file.
2322         * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
2323         for \char markup command.
2325         * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2327         * scm/define-music-types.scm (music-descriptions): consistency:
2328         Use solo-{one,two}-event iso. solo-[12]-event.
2330         * lily/part-combine-engraver.cc (process_music):
2331         Use solo-{one,two}-event iso. solo-[12]-event.
2333         * ly/declarations-init.ly (partCombineListener): add Timing as
2334         alias
2336         * flower/std-string.cc (string_copy): use copy ()
2338         * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2340 2006-08-24  Graham Percival  <gpermus@gmail.com>
2342         * Documentation/user/changing-defaults.itely, global.itely,
2343         lilypond-book.itely, page.itely: minor changes from mailist.
2345 2006-08-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
2347         * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2348         snippet-map
2350         * scm/define-context-properties.scm
2351         (translator-property-description): robustness: detect type errors
2352         in property definitions.
2354         * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2355         after getting it from SCM. 
2357         * lily/smobs.cc (protect_smob): switch off fancy smob protection
2358         for now. 
2360         * lily/include/performer.hh (class Performer): strip get_tempo()
2361         method.
2363         * lily/midi-def.cc: strip file.
2365         * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2367         * lily/include/context-def.hh (struct Context_def): use
2368         VIRTUAL_COPY_CONSTRUCTOR().
2370         * lily/source-file.cc: smobification.
2372         * lily/include/source-file.hh (class Source_file): smobify
2373         Source_file. Trim redundant members.
2375         * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2376         clones after creation. This plugs a huge memory leak.
2378         * python/convertrules.py (FatalConversionError.sub_tempo):
2379         complete rule for \midi{ \tempo }
2381         * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2383         * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2385 2006-08-23  Joe Neeman  <joeneeman@gmail.com>
2387         * input/regression/optimal-page-breaking-hstretch.ly: test for
2388         ragged-last-bottom also
2390         * lily/paper-column-engraver.cc (finalize): make the end of a score
2391         breakable by default. This is to balance out a change in behaviour
2392         of the page-turn-breaker which no longer makes the end of a score
2393         breakable.
2395         * lily/paper-book.cc (pages): set the systems_ once the pages are
2396         broken
2398         * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2399         Page_breaking interface.
2401         * lily/page-breaking.cc (class Page_breaking): make the interface
2402         more consistent and provide abstractions for dealing with
2403         Line_divisions.
2405         * lily/optimal-page-breaking.cc (solve): use a more straightforward
2406         algorithm. Use the new interface to Page_breaking.
2408         * lily/page-spacing.cc: better support for ragged-bottom and
2409         ragged-last-bottom
2411 2006-08-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
2413         * python/convertrules.py (conv): warning on \tempo{}
2415         * ly/performer-init.ly: set tempoWholesPerMinute.
2417         * ly/midi-init.ly: remove \midi
2419         * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2420         MIDI tempo.
2422         * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2423         tempoUnitDuration for determining what to print.
2425         * lily/lyric-extender.cc: typo.
2427         * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2429         * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2430         function.
2432         * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2434         * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2435         eps-pad-boxes is set.
2437         * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2439         * THANKS: update sponsors.
2441         * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2443         * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2445         * input/regression/tie-chord-untied.ly: new file.
2447         * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2449         * scm/define-music-properties.scm (all-music-properties): add
2450         'untied property.
2452         * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2453         than .ly.txt.
2454         (headertext_nopics): sanitize no-examples text.
2456         * scm/page.scm (make-page-stencil): don't rely on extents of
2457         page-stencil. This fixes spurious space around .EPS files produced
2458         with the EPS backend.
2460 2006-08-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
2462         * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2464         * lily/hara-kiri-engraver.cc (process_music): remember
2465         keepAliveInterfaces after processing \set
2467         * lily/lyric-extender.cc (print): support left/right-padding for
2468         extenders.
2470         * scm/documentation-generate.scm (string-append): revert lilypond/
2471         path, doc why.
2473 2006-08-20  Graham Percival  <gpermus@gmail.com>
2475         * Documentation/user/lilypond.tely: clarification to
2476         license presentation (not to actual license).
2478         * Documentation/user/basic-notation.itely,
2479         instrument-notation.itely: minor changes.
2481         * input/ {regression, test}/+.ly: clarification to
2482         text (you can click on examples).  Thanks, Mats!
2484         * input/manual/bar-lines.ly: adds ||: repeats.
2486 2006-08-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
2488         * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES 
2490         * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2492         * Documentation/user/lilypond.tely: strip lilypond/ from info
2493         links, rename to category LilyPond
2495         * lily/pango-font.cc (description_string): new function.
2497         * VERSION: release 2.9.15
2499         * lily/spacing-engraver.cc (stop_translation_timestep): use
2500         Dscho's fix for spacing spanner. 
2502         * scm/define-music-types.scm (music-descriptions): use
2503         apply-output-event for ApplyOutputEvent
2505         * lily/output-property-engraver.cc (listen_apply_output): rename
2506         from listen_layout_instruction.
2508         * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2509         function protect()
2511 2006-08-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2513         * scm/lily.scm (lilypond-all): option read-file-list: substitute
2514         commandline args with contains, split by \n.
2516         * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2517         write snippet-names file, call with -dread-file-list. Fixes
2518         command limitations on 64-bit systems.
2520         * input/regression/stencil-color-rotation.ly: new file.
2522         * lily/include/translator.hh (struct Acknowledge_information):
2523         revert: don't use Protected_scm in global objects, as GUILE can't
2524         handle gc_unprotect from automated destructors on MacOS X.
2526         * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2527         color, not the original stencil. Fixes combinations of
2528         color/transparency/rotation. 
2530         * scripts/lilypond-book.py (main): add --formats=eps for
2531         texinfo/latex.
2533         * lily/spacing-engraver.cc (stop_translation_timestep): don't
2534         crash if spacing_ is nonexistent.
2536 2006-08-14  Mats Bengtsson  <mabe@s3.kth.se>
2538         * scripts/lilypond-book.py (output): Remove obsolete(!?)
2539         \catcode`\@=12 in the LaTeX output.
2541 2006-08-11  Han-Wen Nienhuys  <hanwen@lilypond.org>
2543         * scm/define-music-types.scm (music-descriptions):
2544         use sustain-event iso. sustain-pedal-event.
2546 2006-08-11  Joe Neeman  <joeneeman@gmail.com>
2548         * scripts/convert-ly.py: honour the -n command-line switch
2550 2006-08-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
2552         * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2553         break specification.
2555 2006-08-10  Joe Neeman  <joeneeman@gmail.com>
2557         * Documentation/user: convert-ly the user manual
2559 2006-08-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
2561         * stepmake/aclocal.m4: version check patch (thanks MWD)
2563         * ly/music-functions-init.ly: robustness. Don't crash if
2564         currentBarNumber is not a number.
2566         * VERSION (PATCH_LEVEL): bump.
2568 2006-08-08  Han-Wen Nienhuys  <hanwen@lilypond.org>
2570         * stepmake/aclocal.m4: better version check; handle fooX.Y
2571         binaries too.
2573         * ly/performer-init.ly: instrument name fixup.
2575         * input/manual/chord-names-jazz.ly (banterProperties):
2576         instrumentName update
2578         * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2580         * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2582         * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2583         function. Use hash tables to check membership.
2585         * lily/general-scheme.cc (LY_DEFINE): new function.
2587         * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2589         * lily/include/translator.hh (struct Acknowledge_information): add
2590         Protected_scm
2592         * ly/music-functions-init.ly: change name to BreathingEvent
2594         * input/regression/*.ly: apply it.
2596         * python/convertrules.py (conv): better instrumentName conversion
2597         rule.
2599         * scm/define-music-types.scm (music-descriptions): add
2600         line-break-event to LineBreakEvent music
2602         * lily/music.cc (to_event): don't crash if music type not set.
2604         * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2605         spacing not set.
2607         * lily/spacing-engraver.cc (stop_translation_timestep): set
2608         spacing for proportional notation too.
2610         * scm/translation-functions.scm (format-bass-figure): inspect
2611         stream-event.
2613         * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2615 2006-08-08  Joe Neeman  <joeneeman@gmail.com>
2617         * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2619         * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2621         * scm/layout-page-layout.scm (make-page-from-systems): new function
2622         (optimal-page-breaks): use the new page-breaking calling convention
2624         * scm/define-context-properties.scm (all-user-translation-properties):
2625         add revokePageTurns
2627         * lily/paper-column-engraver.cc (stop_translation_timestep): add
2628         revokePageTurns  functionality. If there is a special barline within
2629         the breakable region, break there instead of at the end of the region.
2631         * lily/paper-book.cc (pages): use the new page-breaking calling
2632         convention
2634 2006-08-07  Erik Sandberg  <mandolaerik@gmail.com>
2636         * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2638         * scripts/lilypond-book.py: insert \sourcefileline command in
2639         output, so lilypond error messages refer to the spot in the
2640         original .lytex / .itely sourcefile.
2642 2006-08-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
2644         * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2645         space to next column for distance to fixed col.
2647         * VERSION (PACKAGE_NAME): release 2.9.14
2649         * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2650         if no accidental.
2652         * lily/accidental-engraver.cc (process_acknowledged): don't create
2653         accidental for trill span event. This fixes spurious accidentals
2654         on trills.
2656 2006-08-04  Mats Bengtsson  <mabe@s3.kth.se>
2658         * scm/define-grob-properties.scm (all-user-grob-properties):
2659         Clarify documentation of side-axis and direction. Thanks to Paul
2660         for the inspiration.
2662         * lily/bar-line.cc: Add documentation for "||:" also in the
2663         interface documentation.
2665 2006-08-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
2667         * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2669         * lily/paper-column.cc (set_system): new function.
2671         * lily/spacing-engraver.cc (stop_translation_timestep): store
2672         SpacingSpanner refs in Paper_column.
2674         * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2675         compute loose clique spacing using GraceSpacing/SpacingSpanner.
2677 2006-08-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
2679         * lily/beam-engraver.cc (listen_beam): add method for
2680         Grace_beam_engraver too.
2682 2006-08-03  Mats Bengtsson  <mabe@s3.kth.se>
2684         * python/convertrules.py: Fix indentation bug that broke
2685         conversion of files older than 1.3.117.
2686         Fix escape error in the description for 2.9.6.
2688 2006-08-02  Erik Sandberg  <mandolaerik@gmail.com>
2690         * lily/*-engraver.cc: convert all try_music functions to listen_*
2691         functions.
2693         * lily/piano-pedal-engraver.cc: some additional cleanups: use
2694         enums to represent pedal types, and calculate more data statically.
2696         * scm/part-combiner.scm (recording-group-emulate): create a
2697         softcoded substitute for recording-group-engraver.cc.
2699         * lily/music.cc: make a common transpose function for events and
2700         music
2702         * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2703         ManualMelismaEvent, and obsoletes Melisma_translator.
2705 2006-08-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
2707         * input/test/instrument-name-align.ly: update version.
2709 2006-08-02  Mats Bengtsson  <mabe@s3.kth.se>
2711         * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2712         Doc the --pdf flag to lilypond-book.
2714 2006-07-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
2716         * Documentation/topdocs/NEWS.tely (Top): add description.
2718         * input/regression/tuplet-full-length-note.ly: add file.
2720         * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2721         always store axis group.
2723 2006-07-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
2725         * input/regression/instrument-switch.ly: new file.
2727         * lily/instrument-switch-engraver.cc (process_music): new file.
2729         * ly/engraver-init.ly: add Instrument_switch_engraver
2731         * ly/music-functions-init.ly: \instrumentSwitch
2733         * scm/define-context-properties.scm
2734         (all-user-translation-properties): add instrumentCueName
2736         * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2738 2006-07-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
2740         * ly/music-functions-init.ly: music function \transposition.
2742         * lily/parser.yy (command_element): softcode \transposition.
2744         * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2745         (process_music): oops.
2747         * lily/instrument-name-engraver.cc (start_spanner): new
2748         function. Create spanner when property changes.
2749         (stop_spanner): new function.
2751         * python/convertrules.py (conv): add rule.
2753         * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2754         shortInstrumentName iso. instr.
2756         * scm/output-ps.scm (dashed-line): add phase argument to
2757         dashed-line.
2759         * lily/bar-line.cc (dashed_bar_line): new function.
2760         (compound_barline): support \bar "dashed". 
2762         * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2763         --output=DIR to DIR/BASE if it is a dir. 
2765         * flower/file-name.cc (file_part): new function
2766         (dir_part): new function
2768         * lily/lily-parser-scheme.cc (LY_DEFINE): 
2770         * DEDICATION: update
2772 2006-07-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
2774         * lily/instrument-name-engraver.cc: formatting.
2776         * python/convertrules.py (conv): bugfix for \epsfile.
2778 2006-07-25  Joe Neeman  <joeneeman@gmail.com>
2780         * lily/grob.cc:
2781         
2782         * lily/gourlay-breaking.cc: Oops, these should have been included
2783         in my last commit
2785 2006-07-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
2787         * scripts/*.py (program_name): cleanup relocation snippets.
2789         * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2791 2006-07-24  Joe Neeman  <joeneeman@gmail.com>
2793         * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2794         page-breakable by default
2796         * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2797         correctly calculated for a single-system page
2799         * scm/lily-library.scm (interval-sane?): also check that the first number is no
2800         bigger than the second number
2802         * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2803         acknowledge that we aren't satisfying constraints)
2805         * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2806         non-Items
2808         * lily/grob.cc (pure_height): add minimum-Y-extent
2810         * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2811         ragged
2813         * lily/constrained-breaking.cc: convert code to use new Matrix class
2814         (get_best_solution): new function
2816         * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2817         is a page with no systems
2819 2006-07-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
2821         * VERSION (PACKAGE_NAME): release 2.9.13
2823         * scm/define-grobs.scm (all-grob-descriptions): remove stray
2824         assignment.
2826 2006-07-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
2828         * Documentation/topdocs/NEWS.tely (Top): doc new features.
2830         * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2831         function.
2833         * scm/define-grob-properties.scm (all-user-grob-properties):
2834         remove grace-space-factor.
2836         * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2837         grace-spacing-interface
2838         (spacing-options-interface): add.
2840         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2842         * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2844         * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2845         GraceSpacing object.
2847         * lily/note-spacing.cc: fix prop list formatting
2849         * lily/beaming-pattern.cc (de_grace): new function. Sensible
2850         beaming for grace notes too.
2852         * input/regression/spacing-grace.ly: update.
2854         * lily/grace-spacing-engraver.cc: new file.
2856         * lily/spacing-spanner.cc: add strict-grace-spacing.
2858 2006-07-20  Graham Percival  <gpermus@gmail.com>
2860         * lily/parser.yy: compile fix.
2862 2006-07-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
2864         * scm/define-grobs.scm (all-grob-descriptions): typo.
2866         * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2867         .eps extension from includegraphics.
2869         * scripts/lilypond-book.py (main): add support for --pdf. 
2871         * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2872         callback to compute common shortest duration.
2873         (set_springs): typo.
2875         * scm/define-grob-properties.scm (all-user-grob-properties): add
2876         strict-grace-spacing.
2878         * lily/spacing-determine-loose-columns.cc (is_loose_column):
2879         support float_grace_columns_.
2881         * lily/spacing-options.cc (init_from_grob): new file.
2883         * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2885         * input/regression/spacing-loose-grace.ly: new file.
2887         * Documentation/topdocs/NEWS.tely (Top): document new feature.
2889         * lily/tuplet-engraver.cc (struct Tuplet_description): read
2890         tupletFullLengthNote too. Choose right bound depending on value.
2892         * input/regression/tuplet-full-length-note.ly: new file.
2894 2006-07-19  Erik Sandberg  <mandolaerik@gmail.com>
2896         * lily/*-performer.cc: Converted try_music to listen_*
2898         * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2899         as a stream-event internally. Introduce event_cause (), deprecate
2900         music_cause ().
2902         * scm/define-music-types.scm: Removed BusyPlayingEvent
2903         
2904 2006-07-19  Mats Bengtsson  <mabe@s3.kth.se>
2906         * Documentation/user/advanced-notation.itely (Font selection):
2907         Document how to get a list of available fonts using 'lilypond
2908         -dshow-available-fonts blabla'.
2910 2006-07-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2912         * GNUmakefile.in: filter lily-XXX.pdf files.
2914         * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2916         * scm/define-grob-properties.scm (all-internal-grob-properties):
2917         remove delta-pitch. Use delta-position everywhere.
2919         * scm/output-lib.scm (fall::print): use new order.
2921         * scm/output-ps.scm (path): reorder arguments.
2923         * scm/output-svg.scm (path): support for path primitive.
2925         * input/regression/bend-after.ly: new file.
2927         * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2928         recipe for eps -> pdf conversion.
2930 2006-07-19  Erik Sandberg  <mandolaerik@gmail.com>
2932         * lily/parser.yy, lily/lexer.ll: added some simplifications by
2933         Angelo Contardi.
2935 2006-07-19  Graham Percival  <gpermus@gmail.com>
2937         * input/manual/screech-boink.ly: moved to here.
2939         * input/screech-boink.ly: deleted.
2941         * scm/define-grob-properties.scm: clarify doc string.
2943 2006-07-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2945         * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2947         * scm/output-ps.scm (path): define path.
2949         * scm/define-stencil-commands.scm
2950         (ly:register-stencil-expression): add path.
2952         * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2954         * ly/engraver-init.ly: add Fall_engraver
2956         * lily/parser.yy (music_function_event): allow musicfunction
2957         without music arg as music_function_event.
2959         * lily/grob-scheme.cc (LY_DEFINE):
2960         ly:grob-robust-relative-extent. New function.
2962         * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2964         * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2966         * scm/output-lib.scm (fall::print): new function
2968         * lily/fall-engraver.cc (stop_fall): new file.
2970         * ly/music-functions-init.ly: alphabetise.
2972         * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2973         base.
2975 2006-07-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
2977         * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2979         * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2980         doc pdftex usage.
2982         * lily/translator-group.cc (connect_to_context): non const error message.
2984         * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2986         * scm/paper.scm (internal-set-paper-size): define landscape to #f
2987         if unset.
2989         * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape. 
2991         * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2993         * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2994         systems.pdftex too.
2996         * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2998         * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
3000         * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
3002         * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
3004         * lily/main.cc (parse_argv): don't overwrite previous --formats string.
3006         * scm/backend-library.scm (postscript->pdf): strip .eps too. 
3008 2006-07-14  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3010         * scm/layout-page-layout.scm: Define module, tidy code, use more
3011         functions iso. a single big one.
3013         * scm/layout-page-dump.scm: move page dump functions used in two
3014         pass spacing to this file. Define module.
3016         * scm/lily.scm (ly:load): don't load layout-page-layout.scm
3017          (separate module)
3019         * ly/paper-defaults.ly: use module layout-page-layout.
3021 2006-07-14  Erik Sandberg  <mandolaerik@gmail.com>
3023         * lily/music.cc: Revised MusicEvent event class. It now contains
3024         event data directly instead of encapsulating it in music. The
3025         previously used class is renamed to OldMusicEvent.
3027         * lily/stream-event.cc: Stream events are now probs.
3028         
3029         * lily/translator-group.cc, lily/translator.cc: Translators can
3030         now listen directly to stream events, by using macros
3031         [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
3033         * lily/arpeggio-engraver.cc: Converted to use new event system
3035         * THANKS: Corrected spelling mistake.
3037 2006-07-12  Graham Percival  <gpermus@gmail.com>
3039         * Documentation/user/SConscript, make/lilypond-vars.make,
3040         input/GNUmakefile: doc build looks in input/manual instead
3041         of input/test/
3043         * input/manual/ GNUmakefile, SConscript: build files for
3044         input/manual/
3046         * input/test/ various: some files moved to input/manual/ 
3048         * Documentation/user/basic-notation.itely: small updates;
3049         thanks Kieren and Charles!
3051 2006-07-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
3053         * VERSION (PACKAGE_NAME): release 2.9.11
3055         * Documentation/topdocs/NEWS.tely (Top): update prop value 
3057         * Documentation/user/basic-notation.itely (Tuplets): new property
3058         value.
3060 2006-07-11  Han-Wen Nienhuys  <hanwen@lilypond.org>
3062         * python/convertrules.py (conv): tweaks. 
3064         * VERSION (PATCH_LEVEL): bump version.
3066         * python/convertrules.py (conv): add rule for
3067         tupletNumberFormatFunction.
3069         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
3070         tupletNumberFormatFunction.
3072         * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
3073         text through 'text callback.
3075         * lily/time-scaled-music-iterator.cc (construct_children): copy
3076         tweaks generated events.
3078         * scm/define-context-properties.scm
3079         (all-user-translation-properties): remove tupletNumberFormatFunction
3081         * lily/tuplet-engraver.cc (process_music): don't read
3082         tupletNumberFormatFunction
3084         * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
3085         function.
3087 2006-07-11  Erik Sandberg  <mandolaerik@gmail.com>
3089         * lily/global-context-scheme.cc: Separated ly:run-translator into
3090         smaller pieces.
3092         * lily/score-engraver.cc, lily/score-performer.cc,
3093         scm/define-context-properties.scm: Make paper/midi output
3094         accessable as a context property.
3096         * lily/score-translator.cc, lily/score-context.cc: Removed.
3098 2006-07-07  Guido Amoruso  <guidonte@katamail.com>
3100         * scm/ps-to-png.scm (Module): 
3101         * scm/framework-tex.scm (Module): 
3102         * scm/framework-ps.scm (Module): 
3103         * scm/backend-library.scm (Module): 
3104         * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
3105         "dDEVICEHEIGHTPOINTS".
3107 2006-07-04  Graham Percival  <gpermus@gmail.com>
3109         * Documentation/user/ various: general improvements to
3110         "working with lilypond files" section.
3112 2006-07-03  Erik Sandberg  <mandolaerik@gmail.com>
3114         * lily/sequential-iterator.cc: Change the default get_music_list
3115         to read elements-callback music property
3117         * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
3118         processing of multimeasure rests. Softcoded
3119         sequential-music-iterator.
3121         * lily/sequential-music-iterator.cc: Removed.
3123 2006-06-28  Graham Percival  <gpermus@gmail.com>
3125         * Documentation/user/basic-notation.itely: clarify \repeatTie.
3127 2006-06-27  Erik Sandberg  <mandolaerik@gmail.com>
3129         * lily/parser.yy: Wrap non-post-events in EventChords before
3130         assigning them to identifiers.
3132 2006-06-27  Mats Bengtsson  <mabe@s3.kth.se>
3134         * lily/bar-line.cc (compound_barline): Fix parenthesis error,
3135         gives correct vertical placement of \bar ":" in all staff
3136         sizes. Thanks Martial!
3138 2006-06-26  Graham Percival  <gpermus@gmail.com>
3140         * Documentation/user/invoking.itely : minor update from mailist.
3142 2006-06-26  Erik Sandberg  <mandolaerik@gmail.com>
3144         * lily/ various: Introduce stream events of types Prepare,
3145         OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
3146         ChangeContext, SetProperty, RevertProperty, Override and Revert.
3148         * lily/global-context*.cc: Time is now -inf before iteration
3149         starts.
3151         * lily/include/context.hh: Removed unique_, init_
3153         * Documentation/topdocs/NEWS: Make the feathered beam example
3154         avoid triggering a bug.
3156 2006-06-24  Graham Percival  <gpermus@gmail.com>
3158         * Documentation/user/ various: small additions from mailist.
3160 2006-06-22  Mats Bengtsson  <mabe@s3.kth.se>
3162         * ly/performer-init.ly: Add some missing links in the context
3163         hierarchy for MIDI output. There are probably some more missing!
3165 2006-06-21  Graham Percival  <gpermus@gmail.com>
3167         * Documentation/user/ various: minor spelling fixes;
3168         thanks Dave Luttinen!
3170         * Documentation/user/ various: small clarifications;
3171         thanks Anthony Youngman!
3173 2006-06-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
3175         * po/fr.po: add \n appropriately.
3177         * lily/lexer.ll: remove ? from version-seen?  
3179 2006-06-19  John Mandereau  <john.mandereau@free.fr>
3181         * po/fr.po; update translation, by Jean-Charles Malahieude and
3182         John Mandereau.
3184 2006-06-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
3186         * THANKS: add Markus Schneider.
3188         * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
3189         Staff_symbol_engraver
3191         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
3192         replace staff_engraver
3194         * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
3195         spanner.
3197         * lily/staff-collecting-engraver.cc
3198         (acknowledge_end_staff_symbol): new function
3200         * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function. 
3202         * lily/staff-collecting-engraver.cc
3203         (acknowledge_end_staff_symbol): new function.
3205         * lily/main.cc: switch on relocation by default.
3207 2006-06-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
3209         * lily/spacing-spanner.cc (musical_column_spacing): set
3210         compound_fixed_note_space to 0.0. Document why.
3212         * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
3213         range of inverse_hooke_
3214         (Simple_spacer): init completely.
3215         (fits): const
3216         (get_line_configuration): don't use cols.resize(); it introduces
3217         initialized data.
3219         * scm/framework-ps.scm (dump-page): add setstrokeadjust. 
3221         * ps/music-drawing-routines.ps: remove selectfont L1 hack.
3223         * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
3224         try. Divide by beatlength.
3226         * input/regression/beaming-ternary-metrum.ly: update doc.
3227         add beatLength hack.
3229         * scm/music-functions.scm (make-time-signature-set): add
3230         standard-beat-grouping. 
3232 2006-06-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
3234         * input/regression/tie-whole.ly: new file.
3236         * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
3237         cross center of note head in case of invisible stem. 
3239 2006-06-16  Graham Percival  <gpermus@gmail.com>
3241         * Documentation/user/ various: small fixes from mailist.
3243 2006-06-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
3245         * lily/breathing-sign.cc (offset_callback): idem.
3247         * lily/align-interface.cc (align_to_fixed_distance): remove
3248         hungarian suffix.
3250         * lily/beaming-pattern.cc (count_factor_twos): oops. We want
3251         x%2==0.
3253 2006-06-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
3255         * VERSION (PACKAGE_NAME): release 2.9.9
3257         * ly/lilypond-book-preamble.ly: add \version
3259 2006-06-14  Han-Wen Nienhuys  <hanwen@lilypond.org>
3261         * scripts/lilypond-book.py (PREAMBLE_LY): include
3262         lilypond-book-preamble.ly
3264         * lily/stem.cc (get_beaming): return max of 0 and
3265         scm_ilength. Fixes slurring from/to beams.
3267         * ly/lilypond-book-preamble.ly: new file.
3269         * lily/slur.cc: add inspect-index feature.
3271 2006-06-13  Graham Percival  <gpermus@gmail.com>
3273         * Documentation/user/tutorial.itely: trivial fix.
3275 2006-06-13  Erik Sandberg  <mandolaerik@gmail.com>
3277         * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
3278         all non-event music in the parser via MAKE_SYNTAX.
3280         * lily/parser-scheme.cc: Add ly:parser-error function
3282         * scm/paper.scm: fix typo
3284 2006-06-13  Han-Wen Nienhuys  <hanwen@lilypond.org>
3286         * THANKS: add RT.
3288         * lily/font-config.cc (init_fontconfig): add warning if cache_file
3289         is null.
3291         * buildscripts/output-distance.py (test_compare_signatures):
3292         timing routines.
3293         (read_signature_file): use new signature format.
3295         * scm/stencil.scm (write-system-signature): simpler signature
3296         format.
3298         * lily/stem.cc (calc_stem_end_position): calc quantized-positions
3299         for beamed case. 
3301         * lily/note-spacing.cc (stem_dir_correction): don't inspect
3302         stem_end_position, but estimate instead. 
3304         * lily/tuplet-bracket.cc (calc_positions): look at
3305         stem-end-position for tuplet bracket slope. Fixes sloped tuplet
3306         brackets narrower than beams. 
3308         * lily/lexer.ll: set version-seen? even if version is
3309         INVALID. 
3311         * lily/rest.cc (y_offset_callback): bugfix: decide position
3312         override based on scm_is_number(). Fixes \rest on center staff
3313         line. 
3315         * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
3316         patterns for 16th triplets.
3318 2006-06-10  Graham Percival  <gpermus@gmail.com>
3320         * Documentation/user/ page.itely, global.itely: editing
3321         and reorg.
3323         * Documentation/user/ various: findex -> funindex.
3325 2006-06-10  Erik Sandberg  <mandolaerik@gmail.com>
3327         * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3328         insert extra tuplet events.
3330 2006-06-10  Graham Percival  <gpermus@gmail.com>
3332         * Documentation/user/programming-interfaces.itely: add
3333         info from NEWS.
3335         * python/convertrules.py: add annotatefoo -> annotate-foo
3336         rules.
3338         * Documentation/user/global.itely: start editing.
3340         * Documentation/user/page.itely: major editing, new spacing
3341         docs.
3343 2006-06-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
3345         * scm/define-markup-commands.scm (wordwrap-markups): use
3346         output-def 'line-width if undefined.
3348         * HACKING: trim outdated info.
3350 2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>
3352         * scm/define-grobs.scm (all-grob-descriptions): Add
3353         line-spanner-interface to all grobs that already have
3354         text-spanner-interface or dynamic-text-spanner-interface
3356         * scm/page.scm: Rename annotate{headers,systems,page}->
3357         annotate-*
3359         * input/regression/page-spacing.ly,
3360         input/regression/page-layout-manual-position.ly: idem
3362 2006-06-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
3364         * lily/line-spanner.cc: cleanup property list.
3366         * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3367         generator expressions (2.3 compat). 
3369 2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>
3371         * lily/vertical-align-engraver.cc: Make sure that the
3372         align{Above,Below}Context properties are included in the automatic
3373         documentation.
3375 2006-06-08  Joe Neeman  <joeneeman@gmail.com>
3377         * scm/paper-system.scm (paper-system-annotate): also annotate the
3378         estimated pure-Y-extent
3380         * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3382         * lily/system.cc (break_into_pieces): set the estimated height
3383         of each child system
3385         * lily/stem.cc (pure_height): new pure-Y-extent callback
3387         * lily/staff-symbol-referencer.cc (callback): don't destroy
3388         the staff-position property
3390         * lily/hara-kiri-group-spanner.cc (request_suicide): split
3391         consider_suicide into two functions
3393         * lily/constrained-breaking.cc (resize): use the new pure
3394         callbacks to estimate the height of a system
3396         * lily/axis-group-interface.cc (pure_group_height): new
3397         side-effect-free VerticalAxisGroup height-callback
3399         * lily/align-interface.cc (get_extents_aligned_translates):
3400         split align_elements_to_extents into two functions
3401         (get_pure_child_y_translation): new function
3403         * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3405         * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3407         * lily/paper-score.cc: cache break_indices and columns
3409         * lily/side-position-interface.cc: new pure-Y-extent callbacks
3410         
3411 2006-06-08  Han-Wen Nienhuys  <hanwen@lilypond.org>
3413         * lily/font-config.cc (init_fontconfig): do the init if
3414         cache_file, but don't look at cache_file.
3416         * input/regression/quote-tie.ly: new file.
3418         * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3419         to Head_event_tuple, so we deal gracefully with ties on
3420         cue-endings.
3422         * lily/pango-font.cc (pango_item_string_stencil): type correctness
3423         for FcChar8*
3425 2006-06-08  Graham Percival  <gpermus@gmail.com>
3427         * input/test/ smart-transpose.ly, reverse-music.ly:
3428         \applyMusic to music functions update, thanks Michael!
3430 2006-06-07  Graham Percival  <gpermus@gmail.com>
3432         * input/test/ add-staccato.ly, add-text-script.ly,
3433         unfold-all-repeats.ly, music-box.ly: \applyMusic to
3434         music functions update, thanks to Michael Meixner.
3436         * Documentation/user/music-glossary.tely: small fix
3437         from Francisco.
3439         * Documentation/user/ various: minor additions from mailist.
3441         * Documentation/user/lilypond.tely, basic-notation.itely:
3442         small test of @funindex.  (works here)
3444         * input/test/font-table.ly: reduce size to partially
3445         de-ugly version in manual.
3447         * Documentation/user/page.itely: new file (split former
3448         "global issues" into "page settings" and "non-musical
3449         output".
3451         * Documentation/user/ various: fix @ref{}s to match
3452         new chapter names (above).
3454 2006-06-07  Jan Nieuwenhuizen  <janneke@gnu.org>
3456         * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3458 2006-06-06  Graham Percival  <gpermus@gmail.com>
3460         * Documentation/user/advanced-notation.itely: add example
3461         for segno/coda on barline.
3463         * tex/texinfo.tex: merge from upstream.
3465 2006-06-06  Jan Nieuwenhuizen  <janneke@gnu.org>
3467         * scripts/lilypond-book.py (process_snippets): Argument fix.
3469         * SConstruct:
3470         * buildscripts/builder.py:
3471         * lily/SConscript: 
3472         * mf/SConscript: 
3473         * Documentation/user/SConscript:  More SCons fixes.
3475 2006-06-03  Jan Nieuwenhuizen  <janneke@gnu.org>
3477         * lily/font-config.cc (init_fontconfig): Only initialize if
3478         global cache_file is found.
3480 2006-06-06  Erik Sandberg  <mandolaerik@gmail.com>
3482         * ly/music-functions-init.ly: Updated \overrideProperty to use the
3483         new \applyOutput.
3485 2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
3487         * VERSION (PACKAGE_NAME): release 2.9.8
3489         * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3490         function. Delay ledger modifying ledgered grobs to
3491         stop_translation_timestep(), to ensure that we're ledgering
3492         according to the new spanner.
3493         (acknowledge_staff_symbol): don't check for non-NULL
3494         staff_sym->get_bound()
3496         * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3497         creation.
3499         * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3500         pictures too.
3502         * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3503         directly from srcdir/stepmake/aclocal.m4
3504         
3505         * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3506         disting MISC files.
3508         * lily/simple-spacer.cc (get_column_desc): desc -> description.
3510 2006-06-06  Joe Neeman  <joeneeman@gmail.com>
3512         * lily/simple-spacer.cc (get_line_configuration): add
3513         keep-inside-line rods
3514         (struct Column_desc): add constructor
3515         (struct Rod_desc): add constructor
3516         (get_line_forces): check for forced page breaks here too
3518         * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3519         support/elements cycles between InstrumentNames and AxisGroups
3521 2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
3523         * config.make.in (METAFONT): remove MAKEINFO_VERSION
3525         * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3526         make-txt-files target.
3528         * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3529         make-txt-files target.
3531         * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3533         * stepmake/stepmake/generic-vars.make (distdir): create dist in
3534         top-build-dir.
3536 2006-06-06  Jürgen Reuter  <reuter@ipd.uka.de>
3538         * Documentation/user/instrument-notation.itely,
3539         input/regression/breathing-sign-ancient.ly,
3540         input/test/divisiones.ly: Removed redundant property settings for
3541         vaticana contexts.
3543         * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3544         fix lyrics alignment problems.  They are implemented now as scheme
3545         functions that add the appropriate unicode char to the first lyric
3546         event rather than adding a separate lyric event.  Minor edit of
3547         comments.
3549 2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
3551         * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3552         pollute src dir with built .txt files, but install directly from
3553         Documentation/topdocs/out/
3555         * buildscripts/output-distance.py
3556         (ComparisonData.create_html_result_page): put version/directories
3557         in table header.
3559         * Documentation/topdocs/NEWS.tely (Top): document spacing section
3560         feature.
3562         * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3563         Patch by Karl Hammar
3564         
3565         * buildscripts/readlink.py: add  file.
3566         Patch by Karl Hammar
3568 2006-06-06  Joe Neeman  <joeneeman@gmail.com>
3570         * lily/tuplet-number.cc (print): prevent stencil from being
3571         garbage collected.
3573 2006-06-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
3575         * scm/stencil.scm (write-system-signature): explicitly 
3576         -well, superfluously- close output port.
3578         * buildscripts/output-distance.py (main): oops. Add extra argument.
3580 2006-06-05  Graham Percival  <gpermus@gmail.com>
3582         * Documentation/user/music-glossary.tely: clarified example
3583         from Francisco Vila, thanks!
3585 2006-06-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
3587         * input/regression/spacing-section.ly: new file.
3589         * lily/input.cc (programming_error): new function.
3591         * lily/spacing-engraver.cc (try_music): new function. Accept
3592         spacing-section-event
3594         * lily/spacing-spanner.cc (set_springs): take slices of all
3595         columns for spacing.
3597         * lily/include/paper-column.hh (class Paper_column): add
3598         Paper_column::compare.
3600         * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3602         * scm/define-music-types.scm (music-descriptions): add
3603         SpacingSectionEvent
3605         * lily/music-iterator.cc (report_event): use programming_error for
3606         sending non-event error.
3608         * lily/input.cc (programming_error): new function
3610         * buildscripts/output-distance.py (main): use compare-XXX for
3611         compare files.
3612         (main): --threshold option, default at 0.30
3614         * output-distance.py (main): add --threshold option.
3616 2006-06-04  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3618         * scm/paper-system.scm (paper-system-annotate): fix problem when
3619         annotating an empty system
3621 2006-06-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
3623         * GNUmakefile.in: reinstate old web tar/copying.
3625 2006-06-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
3627         * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3628         nothing changes. (Erik S) 
3630         * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3631         count. (Erik S)
3633 2006-05-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3635         * scm/define-markup-commands.scm (whiteout): do not force
3636         foreground color of argument markup to black.
3638         * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3639         the left of the arrow, instead of below the arrow name, so that,
3640         when two little arrows are vertically stacked, their dimensions
3641         and name should not overlap. Add a color key parameter.
3643         * scm/paper-system.scm (paper-system-annotate): Annotate
3644         next-space+next-padding instead of next-space. Annotate space
3645         between next-padding and next-space+padding, respectively, and
3646         following system extent and refpoint-Y-extent. Use colors.
3648         * scm/page.scm (annotate-page): translate annotations slightly to
3649         the right.
3651 2006-06-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
3653         * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3654         fix for x-staff slurs. Thanks Joe!
3656         * buildscripts/output-distance.py
3657         (SystemLink.output_expression_change_count): keep track of changed
3658         details, and dump in details html page.
3660         * input/regression/figured-bass-staff.ly: add note about setting
3661         properties in Staff context.
3663         * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3664         add slurs and ties to support too.
3666         * buildscripts/output-distance.py (main): set dest_dir
3667         argument. Add --max-count option.
3669 2006-06-02  Jürgen Reuter  <reuter@ipd.uka.de>
3671         * ly/gregorian-init.ly: Converted to utf-8.  Added memorable
3672         shortcuts for special unicode chars that are useful in chant
3673         notation.  Revised exisiting and added new comments.
3675 2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
3677         * make/mutopia-rules.make: remove duplicate recipe.
3679 2006-06-02  Werner Lemberg  <wl@gnu.org>
3681         * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3682         Add support for U+0132 (IJ) and U+0133 (ij).
3684 2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
3686         * buildscripts/output-distance.py (FileLink): new class. collect
3687         info systems from one .ly file. 
3688         (FileLink.link_files_for_html): further tweaks.
3690 2006-06-02  Graham Percival  <gpermus@gmail.com>
3692         * tex/texinfo.tex: partial fix for @funindex.
3694         * Documentation/user/macros.tely: uncomment @funindex (doesn't
3695         break anything).
3697 2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
3699         * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3701         * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3702         @example too. Backportme.
3704 2006-06-02  Graham Percival  <gpermus@gmail.com>
3706         * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3707         from Werner Lemberg.
3709 2006-06-02  Paco (Francisco Vila)  <fravd@ya.com>
3711         * Documentation/user/music-glossary.tely: additional spanish
3712         updates and a lyrics fix in an example.
3714 2006-06-02  Jürgen Reuter  <reuter@ipd.uka.de>
3716         * scm/define-grob-properties.scm: Previous patch contained
3717         spurious line from another patch not yet committed.  Fixed.
3719         * scm/define-grob-properties.scm: Add missing doc strings for
3720         ancient notation.
3722 2006-06-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
3724         * buildscripts/output-distance.py
3725         (ComparisonData.write_text_result_page): separate the scores, sort
3726         by geo_score.
3728         * scm/framework-eps.scm (output-classic-framework): start at 1 for
3729         system signatures.
3731         * buildscripts/output-distance.py (me_path): use argv[0] for
3732         sys.path extension
3733         (ComparisonData.img_cell): use colored borders.
3735         * scm/stencil.scm (write-system-signature): escape newlines too.
3736         (write-system-signature): use (1,-1) interval for empty interval
3738 2006-01-01  Graham Percival  <gpermus@gmail.com>
3740         * Documentation/user/music-glossary.tely: Spanish updates
3741         from Francisco Vila.
3743         * Documentation/user/lilypond-book.itely: addition from
3744         Vaclav Smilauer.
3746         * Documentation/user/ various: edits, small additions
3747         from mailist, etc.
3749 2006-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>
3751         * GNUmakefile.in (tree-lib-prefix-current):
3752         (tree-share-prefix-current): Use version number in tree, add
3753         `current' symlinks.
3755 2006-06-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
3757         * GNUmakefile.in: write VERSION, again.
3759         * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3760         $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3762         * stepmake/aclocal.m4: robuster version detection.
3764         * buildscripts/output-distance.py
3765         (ComparisonData.create_html_result_page): copy only if file
3766         exists, fixup src paths.
3768         * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3770 2006-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>
3772         * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3773         Another datarootdir reto.
3775         * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3776         available.  This should be moved to postinstall-lilypond-doc.
3778 2006-05-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
3780         * GNUmakefile.in: simplify local-WWW-post. 
3781         remove -type l from find.
3783         * buildscripts/output-distance.py (ComparisonData.compare_trees):
3784         fixes. Don't follow symlinks.
3785         (ComparisonData.create_html_result_page): remove previous results.
3786         insert ../python in path.
3788         * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3790 2006-05-31  Jan Nieuwenhuizen  <janneke@gnu.org>
3792         * config.make.in (datadir): Add datarootdir to silence autoconf.
3794         * stepmake/aclocal.m4: Update for autoconf-2.59d.
3796 2006-05-31  Erlend Aasland  <erlenda@gmail.com>
3798         * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3800         * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3801         slash beams too wide.
3803 2006-05-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
3805         * VERSION: release 2.9.7
3806         
3807 2006-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
3809         * lily/relocate.cc (read_relocation_dir): Do not blindly
3810         dereference DIR.
3812 2006-05-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
3814         * lily/parser.yy: replace THIS by PARSER
3816         * Documentation/index.html.in: add link to test-results.html page.
3818         * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3820         * scm/translation-functions.scm (format-bass-figure): translate
3821         digits over 10 to the left
3823         * scm/define-markup-commands.scm (translate-scaled): new markup.
3825         * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3826         7 glyph. 
3828         * ly/engraver-init.ly: add Figured_bass_engraver
3830         * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3832         * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3834         * lily/score-engraver.cc (announce_grob): only note START announces.
3836         * lily/include/engraver-group.hh (Translator_group):
3837         acknowledge_hash_table_ is now drul.
3839         * lily/engraver.cc (announce_end_grob): new method.
3841         * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3843         * lily/translator-dispatch-list.cc (create): take start_end argument.
3845         * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3846         acknowledge_static_array_ to drul
3848         * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3850         * scm/define-grob-interfaces.scm
3851         (bass-figure-alignment-interface): add bass-figure-alignment-interface
3853         * scm/define-grobs.scm (all-grob-descriptions): add
3854         BassFigureAlignmentPositioning
3856         * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3857         number stays up to date. Backportme.
3859 2006-05-30  Mats Bengtsson  <mabe@s3.kth.se>
3861         * Documentation/user/basic-notation.itely (Bar lines): Document
3862         the "||:" bar type. 
3864 2006-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
3866         * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3868         * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3869         .../current hack if LILYPONDPREFIX is fine.  Fixes `scons doc'
3870         build.
3872         * Resurrect `scons lily' build.
3874         * SConstruct (symlink_tree): Bugfix: link
3875         music-drawing-routines.ps to file iso directory.
3877         * lily/SConscript: Remove kpath-guile from LIBS.
3879         * SConstruct (libdir_package_version): Typo.
3880         (configure): Comment-out fontforge for lack of fontforge.pc .
3881         Also add libdir* to environment.
3883 2006-05-30  Graham Percival  <gpermus@gmail.com>
3885         * Documentation/user/ various: minor additions from mailist and
3886         editing.
3888 2006-05-30  Paco <fravd@ya.com>
3890         * Documentation/user/music-glossary.tely: numerous corrections and
3891         some new translations.
3893 2006-05-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
3895         * BackportmeStart.
3896         
3897         * buildscripts/output-distance.py
3898         (ComparisonData.create_html_result_page): new routine: summarise
3899         results in HTML page with images. 
3900         (ComparisonData.create_text_result_page): create summary text files too.
3902         * GNUmakefile.in (web-ext): package .signature files too. They
3903         compress well. 
3905         * scm/stencil.scm (write-system-signature): typo.
3907         * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3909         * scm/stencil.scm (write-system-signature): better escaping.
3910         only write signature for music systems, not for markup systems.
3912         * scm/framework-ps.scm (output-framework): dump-signatures support
3913         for plain output.
3915         * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3917         * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3918         for -dno-point-and-click
3920         * lily/grob.cc (get_print_stencil): don't read
3921         point_and_click_global to determine whether to set grob-cause.
3923 2006-05-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
3925         * buildscripts/output-distance.py (main): new function.
3926         (ComparisonData): new class.
3928         * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3929         careful with generating new LedgerLineSpanners.
3931         * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3933         * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3934         context. This fixes double ledger lines in output. 
3936         * lily/system.cc (get_paper_system): remove 3 layer limit.
3938         * buildscripts/output-distance.py (SystemLink.distance): new
3939         file. Compare signatures.
3941         * python/safeeval.py (SafeEval.visitUnarySub): new file.
3943         * lily/grob-array.cc (remove_duplicates): rename from
3944         uniq(). Sort before calling uniq() so it actually works.
3946 2006-05-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
3948         * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3949         \version from lilypond file snippet.
3950         (Lilypond_file_snippet.ly): oops. typo.
3951         (find_toplevel_snippets): urgh. again.
3953         * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3954         prevent duplicated broken items in output.
3956         * scm/framework-eps.scm (output-classic-framework): only dump if
3957         dump-signatures is set.
3959         * scm/lily.scm (define-scheme-options): add dump-signatures option.
3961         * scm/stencil.scm (write-system-signature): new routine: write
3962         python parseable signature of a separate paper system.
3963         BackportmeEnd.
3964         
3965 2006-05-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
3967         * lily/stanza-number-engraver.cc (process_music): use is_markup()
3968         iso is_string().
3969         include header.
3971 2006-05-25  Erik Sandberg  <mandolaerik@gmail.com>
3973         * translator-group.cc: send music events to engravers in
3974         non-bottom contexts.
3976         * tuplet-engraver.cc: process tuplet brackets in correct order.
3978 2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
3980         * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3981         arg 2 might point us to a new binary (patch by Karl Hammar)
3982         
3983 2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
3985         * VERSION (PACKAGE_NAME): release 2.9.6
3987         * Documentation/topdocs/NEWS.tely (Top): trim explanation. 
3989         * Documentation/user/*.itely: 2nd
3990         attempt: replace funindex -> findex globally.
3992 2006-05-24  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3994         * input/no-notation/display-lily-tests.ly: fix \applyOutput
3995         test. Add \break, \pageBreak, \pageTurn, etc, tests.
3997         * scm/define-music-display-methods.scm: display methods for
3998         breaks. Fix \applyOutput.
4000 2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
4002         * Documentation/user/macros.itexi: comment out funindex expansion. 
4004         * Documentation/user/music-glossary.tely: junk \oldaddlyrics
4005         everywhere.
4007         * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
4008         Karl Hammar. Backportme.
4010         * Documentation/user/advanced-notation.itely (Balloon help): idem.
4012         * Documentation/user/changing-defaults.itely (Creating contexts): idem.
4014         * Documentation/user/programming-interface.itely (Running a
4015         function on all layout objects): idem.
4017         * Documentation/user/introduction.itely (Automated engraving):
4018         update \applyOutput syntax
4020         * lily/lyric-combine-music-iterator.cc (start_new_syllable):
4021         remove debugging hook.
4023         * configure.in (LINK_GXX_STATICALLY): use "" to allow $
4024         expansion. 
4026         * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
4028         * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
4029         TEXI2DVI_FLAGS to texi2dvi invocation. 
4031 2006-05-24  Erik Sandberg  <mandolaerik@gmail.com>
4033         * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
4034         works. More work is done by iterator now, and engraver has been
4035         very much simplified.
4037         * lily/translator-group.cc: try_music is now invoked through a
4038         listener
4040         * lily/*-iterator.cc: Massive cleanups. Junked
4041         try_music_in_children globally. Renamed try_music to report_event,
4042         and made that method descend to a bottom context automatically.
4044         * lily/event-iterator.cc: New file.
4046         * lily/output-property-iterator.cc,
4047         lily/old-lyric-combine-music-iterator.cc: Removed.
4049         * python/convert-rules.py: Modified the syntax for \applyOutput.
4051 2006-05-23  Graham Percival  <gpermus@gmail.com>
4053         * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
4054         creation.
4056         * Documentation/user/ various: stuff that might have helped
4057         to fix the pdf creation, plus some minor doc additions.
4059         * Documentation/user/changing-defaults.itely: remove @b from
4060         @b{ @internasref{foo}}; this breaks texi2dvi -E.
4062 2006-05-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
4064         * lily/beaming-pattern.cc (beamify): deal with negative start
4065         moments for beaming patterns.
4067 2006-05-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
4069         * lily/beaming-info.cc (beamify): new function: read beatLength
4070         and beatGrouping from context. 
4072         * input/regression/beam-beat-grouping.ly (Module): new file.
4074         * input/regression/beam-unconnected-beamlets.ly (Module): new file.
4076         * lily/beam.cc (get_beam_segments): generate events for
4077         max_connect_ case too.
4078         (get_beam_segments): read Stem::max-beam-connect.
4080         * input/regression/beam-single-stem.ly: new file.
4082         * lily/stem.cc (set_beaming): use #f as signaling value for
4083         beamcount 0.
4085         * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
4087         * lily/beam.cc (set_beaming): read clip-edges property.
4088         (calc_direction): don't suicide for single stem.
4090         * lily/beaming-info.cc (best_splitpoint_index): take bool*
4091         argument, remove 1<<15 hack. Remove clip_edges() 
4093         * lily/hairpin.cc (print): only do padding for nonmusical bounds
4095 2006-05-21  Graham Percival  <gpermus@gmail.com>
4097         * Documentation/user/basic-notation.itely: reorg.
4099         * Documentation/user/ various: minor fixes.
4101 2006-05-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
4103         * lily/stencil-expression.cc (register_stencil_head): opps, append
4104         to cdr of static SCM object.
4106 2006-05-19  Graham Percival  <gpermus@gmail.com>
4108         * Documentation/user/README.txt, lilypond.tely, macros.itexi:
4109         update framework for command index.  DOC WRITERS: use @funindex
4110         instead of @cindex @code{}.
4112         * Documentation/user/ various: replace @cindex @code{} => @funindex
4114 2006-05-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
4116         * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
4117         case positions is set manually. 
4119 2006-05-18  Erik Sandberg  <mandolaerik@gmail.com>
4120         
4121         * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
4122         rules to Scheme.
4124 2006-05-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
4126         * Documentation/user/changing-defaults.itely (Contexts explained):
4127         use absolute dimension for @image.
4129         * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
4130         out image for illustration too.
4131         ($(outdir)/%.png): add more png <-> eps rules. 
4133 2006-05-17  Graham Percival  <gpermus@gmail.com>
4135         * Documentation/user/ various: remove trailing whitespace, cosmetic
4136         change to reduce changes produced by diff.
4138 2006-05-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
4140         * lily/main.cc (do_chroot_jail): correctness tweak.
4142         * python/lilylib.py (system): import subprocess in system () only.
4144         * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
4146         * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
4147         variable. Backportme.
4149 2006-05-17  Erik Sandberg  <mandolaerik@gmail.com>
4150         
4151         * lily/parser.yy: Change all syntax rules of type Music to SCM type
4153 2006-05-17  Werner Lemberg  <wl@gnu.org>
4155         * lily/lexer.ll (init_signature_has_table): Add
4156         `scm-scm-music-music'.
4158         * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
4159         (Generic_prefix_music_scm): Add rule for it.
4161         * lily/quote-iterator.cc (Quote_iterator::process): Handle
4162         `quoted-transposition' property.
4164         * ly/music-functions-init.ly (transposedCueDuring): New function.
4166         * scm/define-music-properties.scm (all-music-properties): Updated.
4168         * Documenation/topdocs/NEWS.itely: Document it.
4170 2006-05-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
4172         * python/lilylib.py (system): move import subprocess to system()
4173         definition. 
4175         * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
4177         * VERSION (PATCH_LEVEL): release 2.9.5
4178         
4179         * Documentation/topdocs/INSTALL.texi (Top): update versions and
4180         build instructions. 
4182         * ly/engraver-init.ly: switch on hairpinToBarline by default.
4184 2006-05-16  Graham Percival  <gpermus@gmail.com>
4186         * Documentation/user/basic-notation.itely: editing from Dave, thanks!
4188         * Documentation/user/ various: minor fixes.
4190 2006-05-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
4192         * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
4194 2006-05-16  Mats Bengtsson  <mabe@s3.kth.se>
4196         * Documentation/user/advanced-notation.itely (Instrument names):
4197         Modified obsolete instruction on how to move instrument names away
4198         from the staves. Hmm, at second thought the bug probably has been
4199         solved, so the full bug description should probably be removed.
4201 2006-05-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
4203         * lily/dynamic-engraver.cc (typeset_all): hang ending on
4204         currentCommandColumn. 
4206         * lily/hairpin.cc (print): also add padding for non-neighbor
4207         hairpin bounds.
4209         * scm/define-context-properties.scm
4210         (all-user-translation-properties): add hairpinToBarline
4212         * input/regression/hairpin-to-barline.ly: new file.
4214         * lily/context.cc (internal_send_stream_event): thinko fix.
4216         * lily/tie.cc (set_default_control_points): robustness fix.
4218         * python/musicxml.py (Part.interpret): don't complain about
4219         incomplete measures.
4221         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
4222         new music if last_event_chord() returned None.
4224         * python/musicxml.py (Part.interpret): skip back over chord notes.
4226 2006-05-16  Erik Sandberg  <mandolaerik@gmail.com>
4227         
4228         * lily/percent-repeat-engraver.cc, lily/parser.yy,
4229         lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
4230         lily/slash-repeat-engraver.cc,
4231         lily/include/percent-repeat-iterator.hh: Rework percent repeats:
4232         iterator sends PercentEvents
4234         * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
4235         rework tuplets: send start/stop events to engraver
4237         * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
4238         dispatchers event-source and events-below to Context
4239         
4240 2006-05-15  Graham Percival  <gpermus@gmail.com>
4242         * Documentation/user/README.txt: update info for doc writers.
4244         * Documentation/user/programming-interface.itely: integrate
4245         Nicolas' fixes for chapter rewrite.
4247         * Documentation/user/ various: minor fixes.
4249 2006-05-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
4251         * lily/clef-engraver.cc: cleanup.
4253         * Documentation/user/GNUmakefile: dist context-example.eps too.
4255         * lily/key-engraver.cc (create_key): use
4256         explicitKeySignatureVisibility for cancellation too. 
4258         * lily/font-config.cc (init_fontconfig): don't close file if
4259         f==NULL. 
4261 2006-05-15  Erlend Aasland  <erlenda@gmail.com>
4263         * Documentation/topdocs/NEWS.tely: niente and rotation news
4265 2006-05-14  Erlend Aasland  <erlenda@gmail.com>
4267         * lily/include/stencil.hh
4268         * lily/stencil.cc (rotate): new function. Makes it possible
4269         to rotate a stencil around a given offset.
4271         * lily/grob.cc (get_print_stencil): add rotation support
4273         * lily/stencil-interpret.cc (interpret_stencil_expression):
4274         add rotation support
4276         * lily/stencil-scheme.cc (ly:stencil-rotate): new function
4278         * scm/define-grob-properties.scm: add 'rotation property
4280         * scm/define-markup-commands.scm: add rotate markup command
4281         
4282         * scm/output-ps.scm: add rotation support in PostScript backend
4284         * scm/output-svg.scm: add rotation support in SVG backend
4286 2006-05-13  Graham Percival  <gpermus@gmail.com>
4288         * Documentation/user/music-glossary.itely: French correction.
4290         * Documentation/user/programming-interface.itely: major
4291         new docs, some reorg, some info from Nicolas.
4293         * Documentation/user/ various: small fixes.
4295 2006-05-12  Mats Bengtsson  <mabe@s3.kth.se>
4297         * Documentation/user/programming-interface.itely (Markup
4298         programmer interface): Remove duplicate text.
4300 2006-05-12  Graham Percival  <gpermus@gmail.com>
4302         * Documentation/user/context-example.eps: new file.
4304         * Documentation/user/changing-defaults.itely: set up file to
4305         use eps image.
4307         * Documentation/user/programming-interface.itely: changes
4308         from mailist.
4310 2006-05-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
4312         * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
4314 2006-05-11  Graham Percival  <gpermus@gmail.com>
4316         * Documentation/user/programming-interface.itely: first round of
4317         editing and merging emails from Nicolas.
4319         * Documentation/user/scheme-tutorial: minor edit.
4321 2006-05-11  Han-Wen Nienhuys  <hanwen@lilypond.org>
4323         * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
4324         XML attributes.
4325         (Xml_node.message): use it.
4327         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): 
4328         oops. Add duration argument.
4330 2006-05-10  Joe Neeman  <joeneeman@gmail.com>
4332         * lily/paper-column-engraver.cc (make_columns):
4333         * scm/define-grobs.scm: Revert my previous change and set the default
4334         in define-grobs.scm instead.
4336 2006-05-09  Graham Percival  <gpermus@gmail.com>
4337         
4338         * Documentation/user/changing-defaults.itely: general editing,
4339         info about \set and \override.
4341         * Documentation/user/tweaking.itely, advanced-notation.itely:
4342         fixes from Dave Luttinen, thanks!
4344 2006-05-09  Joe Neeman  <joeneeman@gmail.com>
4346         * lily/paper-column-engraver.cc (make_columns): By default, a column
4347         needs to be breakable.
4349 2006-05-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
4351         * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4352         Attributes methods
4353         (musicxml_time_to_lily): idem
4354         (musicxml_key_to_lily): idem
4355         (instrument_drumtype_dict): dict for supported drumtypes.
4356         (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4357         moments and pending mm rests
4358         (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4359         (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4360         (musicxml_voice_to_lily_voice): add mode change.
4361         (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4362         speed and less memory usage (factor 5 to 10).
4363         (convert): write -defs.ly  and driver file separately so people
4364         can script their own part extraction.
4366         * python/musicxml.py (minidom_demarshal_node): new function:
4367         separate minidom handling.
4368         (lxml_demarshal_node): new function: support lxml.etree too.
4369         (Xml_node.message): new function: verbose error message, with XML
4370         path to offending node.
4371         (Attributes.get_measure_length): sane interface to MusicXML attributes.
4372         (Part_list.generate_id_instrument_dict): new method: collect
4373         instrument names, to be able to set drum_type.
4374         (Part.interpret): handle underfull measures
4375         (Part.interpret): assign instrument names.
4377         * python/musicexp.py (Output_printer.close): new method
4378         (MusicWrapper.print_ly): new class: support other modes,
4379         eg. \drummode
4380         (BarCheck.print_ly): new class. Support bar checks, with comments
4381         and fancy barchecks. 
4382         (NoteEvent.__init__): also set drum_type for drum notes.
4383         (MultiMeasureRest.lisp_expression): dump mm rests.
4385         * lily/paper-column-engraver.cc (stop_translation_timestep): set
4386         line-break-permission if forbidBreak is not set.
4388 2006-05-09  Joe Neeman  <joeneeman@gmail.com>
4390         * scm/define-context-properties.scm:
4391         * scm/define-grob-properties.scm:
4392         * scm/define-grobs.scm:
4393         * scm/define-music-display-methods.scm:
4394         * scm/define-music-properties.scm:
4395         * scm/define-music-types.scm:
4396         * scm/music-functions.scm:
4397         * ly/declarations-init.ly:
4398         * lily/include/constrained-breaking.hh:
4399         * lily/system.cc:
4400         * lily/spaceable-grob.cc:
4401         * lily/simple-spacer.cc:
4402         * lily/paper-score.cc:
4403         * lily/paper-column.cc:
4404         * lily/paper-column-engraver.cc:
4405         * lily/item.cc:
4406         * lily/gourlay-breaking.cc:
4407         * lily/constrained-breaking.cc:
4408         * python/convertrules.py:
4409         Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4410         "page-break-penalty" and "line-break-permission".
4411         Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4412         Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4414         * lily/bar-engraver.cc:
4415         * lily/beam-engraver.cc:
4416         * lily/forbid-break-engraver.cc:
4417         * lily/ligature-engraver.cc:
4418         * lily/paper-column-engraver.cc:
4419         * lily/percent-repeat-engraver.cc:
4420         * lily/score-engraver.cc:
4421         * lily/score-engraver.hh:
4422         * lily/paper-column-engraver.hh:
4423         Inter-engraver communication regarding line breaks is done through context
4424         properties (Score.forbidBreak) instead of function calls.
4426 2006-05-08  Han-Wen Nienhuys  <hanwen@lilypond.org>
4428         * VERSION (PACKAGE_NAME): release 2.9.4
4430 2006-05-08  Graham Percival  <gpermus@gmail.com>
4432         * Documentation/user/working.itely: proofreading from Dave
4433         Luttinen, thanks.
4435         * Doucmentation/user/README.txt: updated with manual style info.
4437         * Documentation/user/ various: trim linewidth to 78 chars.
4439 2006-05-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
4441         * scm/define-grob-properties.scm (all-internal-grob-properties):
4442         remove chord-tremolo property.
4444         * lily/beam.cc (get_beam_segments): don't use stem position as
4445         base for broken ends.
4447 2006-05-06  Graham Percival  <gpermus@gmail.com>
4449         * Documentation/user/putting.itely: proofreading from Dave
4450         Luttinen, thanks!
4452         * Documentation/user/ various: more reorg and clarifications.
4454 2006-05-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
4456         * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4458         * ly/music-functions-init.ly: new function featherDurations
4460         * lily/beam.cc: read grow-direction for feathered beaming.
4462         * Documentation/topdocs/NEWS.tely (Top): typo.
4464 2006-05-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
4466         * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4467         tremolo beams.
4469 2006-05-05  Erik Sandberg  <mandolaerik@gmail.com>
4470         * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4471         used by music streams.
4473         * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4474         lily/stream-event.cc, lily/stream-event-scheme.cc,
4475         lily/listener.cc, lily/scheme-listener.cc,
4476         lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4477         lily/include/stream-event.hh, lily/include/listener.hh,
4478         lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4479         Created data structures for music streams.
4480         
4481 2006-05-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
4483         * lily/beam.cc (get_beam_segments): new function. Reorganise the
4484         construction of a beam. 
4485         (print): rewrite. 
4487         * flower/include/std-vector.hh (default_compare): use only one comparison.
4489         * scm/define-markup-commands.scm (note-by-number): remove debug display.
4490         (note-by-number): further attachment fixes.
4492         * scm/lily-library.scm (ordered-cons): new function.
4493         (interval-index): new function
4495         * lily/note-head-scheme.cc (LY_DEFINE): new file.
4497         * lily/note-head.cc (get_stem_attachment): new function.
4499         * scm/define-markup-commands.scm (note-by-number): read 'style
4500         property. 
4502         * input/regression/markup-note.ly: show note-head style option.
4504         * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4505         triangle head.
4507 2006-05-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
4509         * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4511         * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4513         * lily/include/constrained-breaking.hh: GCC 4 fix.
4515 2006-05-04  Joe Neeman  <joeneeman@gmail.com>
4517         * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4518         Replace it with functions get_line_forces and get_line_configuration.
4519         (class Simple_spacer): Make data private.
4520         Rewrite compression algorithm to be faster and simpler.
4522         * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4523         * lily/gourlay-breaking.cc (solve):
4524         * lily/constrained_breaking.cc (space_line):
4525         Change it to the new simple-spacer code.
4527         * lily/paper-score.cc (get_paper_systems):
4528         (Paper_score):
4529         (process):
4530         Delay breaking the systems until they are requested.
4531         (find_break_indices):
4532         Use vsize for indices.
4533         (calc_breaking):
4534         Move the "Calculating line breaks" message here.
4536         * lily/system.cc (pre_processing):
4537         Move the "Calculating line breaks" message away from here.
4538         (break_into_pieces):
4539         Allow multiple calls to this function in sequence (with touching-but-
4540         not-overlapping breakpoints).
4542         * lily/constrained-breaking.cc:
4543         Replace most of the get_XXXX functions with get_line_details.
4544         Only calculate the force for each line. Calculate configurations only
4545         for the lines we will actually use.
4546         Replace cols_ with lines_.
4548 2006-05-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4550         * mf/GNUmakefile (depth): remove FC_FIND.
4552         * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4554         * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4556         * scm/framework-ps.scm (write-preamble): new function.
4557         (write-preamble): load mac fonts via fondu, even if gs-font-load
4558         is set.
4560 2006-05-03  Werner Lemberg  <wl@gnu.org>
4562         * mf/GNUmakefile (FC_FIND): Fix typo.
4564 2006-05-03  Erlend Aasland  <erlenda@gmail.com>
4566         * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4568 2006-05-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
4570         * stepmake/aclocal.m4: run python-config for crosscompiling
4571         flags. 
4573         * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4574         -f png for HTML, TEXINFO formats. 
4576         * input/tutorial/lbook-html-test.html: new file.
4578         * lily/include/tie-formatting-problem.hh (class
4579         Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4580         [column, direction]. This fixes laissez vibrer ties.
4582         * flower/include/tuple.hh (struct Tuple2): new file.
4584         * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4585         $(FCMATCH), only if $(NCSB_DIR) not set. 
4587         * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4589         * config.make.in (DOCUMENTATION): set FCMATCH.  
4591         * autogen.sh (srcdir): don't set --with-ncsb-dir. 
4593 2006-05-03  Graham Percival  <gpermus@gmail.com>
4595         * Documentation/user/ various: final round of reorg.
4597         * Documentation/user/instrument-notation.itely: some more
4598         fixes from Eduardo, thanks!
4600 2006-05-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
4602         * VERSION (PACKAGE_NAME): release 2.9.3
4604         * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4606         * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4608 2006-05-01  Mats Bengtsson  <mabe@s3.kth.se>
4610         * scm/define-grob-properties.scm (all-user-grob-properties):
4611         Correct typo, thanks to Eduardo.
4613 2006-05-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
4615         * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4617         * buildscripts/lilypond-words.py (F): indent fix.
4619         * input/regression/tie-arpeggio-collision.ly: new file.
4621         * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4622         function: store outlines per column rank.
4624         * lily/include/tie-configuration.hh (class Tie_configuration): add
4625         column_ranks_ to specification and configuration, to distinguish
4626         between ties for different heads in arpegiated chords.
4628         * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4630         * *.py: more 4 space indents.
4632         * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4634 2006-05-01  Joe Neeman  <joeneeman@gmail.com>
4636         * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4638 2006-05-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
4640         * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4642         * scripts/abc2ly.py (dump_score): indent of 4 for python code. 
4644         * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4646 2006-04-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4648         * python/convertrules.py (conv): indent 4 for python files.
4650 2006-04-29  Mats Bengtsson  <mabe@s3.kth.se>
4652         * Documentation/user/changing-defaults.itely (Creating contexts):
4653         Clarify \new semantics.
4655 2006-04-28  Graham Percival  <gpermus@gmail.com>
4657         * Documentation/user/ various: major new sections in the
4658         Learning manual, slight reorg elsewhere.
4660 2006-04-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
4662         * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE) 
4664         * scm/framework-ps.scm (output-framework): remove PageMedia
4666 2006-04-27  Graham Percival  <gpermus@gmail.com>
4668         * Documentation/user/ tweaks.itely, working.itely: new
4669         files, being more advanced "learning manual" chapters.
4671         * Documentation/user/ tutorial, putting, lilypond: reorg.
4673 2006-04-26  Graham Percival  <gpermus@gmail.com>
4675         * input/regression/lyric-combine-polyphonic.ly: fixed test
4676         (no more "can't find context `one'" error).
4678 2006-04-25  Joe Neeman <joeneeman@gmail.com>
4680         * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4682         * input/regression/stem-tremolo.ly: add 2 more whole note examples
4683         
4684 2006-04-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4686         * lily/relocate.cc (read_relocation_dir): new function.
4688 2006-04-26  Graham Percival  <gpermus@gmail.com>
4690         * Documentation/user/instrument-notation.itely: a few more fixes
4691         from Eduardo, thanks!
4693         * Documentation/user/README.txt: new file; contains info on
4694         style that used to be in lilypond.tely.
4696         * Documentation/user/ various: first round of doc reorg.
4698         * Documentation/user/baer-flat-bw.png: remove alpha bit from
4699         graphic; this probably causes problems on some pdf
4700         viewers, notably Adobe Acrobat.
4702 2006-04-24  Graham Percival  <gpermus@gmail.com>
4704         * Documentation/user/instrument-notation.itely: many alterations
4705         to Vocal music, from Eduardo Viera.
4707 2006-04-23  Graham Percival  <gpermus@gmail.com>
4709         * Documentation/user/instrument-notation.itely: fix \new
4710         instead of \context problem.
4712 2006-04-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4714         * lily/relocate.cc (expand_environment_variables): new function.
4715         (read_line): id.
4716         (read_relocation_file): id.
4718         * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code 
4720 2006-04-21  Erlend Aasland  <erlenda@gmail.com>
4722         * ly/engraver-init.ly: remove old comments from TabVoice
4724 2006-04-20  Graham Percival  <gpermus@gmail.com>
4726         * Documentation/user/instrument-notation.itely: added Erlend's
4727         latest doc patch, thanks!
4729 2006-04-19  Erlend Aasland <erlenda@gmail.com>
4731         * lily/include/slur.hh:
4732         * lily/slur.cc:
4733         * lily/phrasing-slur-engraver.cc:
4734         * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4735         acknowledge_extra_object () from Phrasing_slur_engraver:: and
4736         Slur_engraver:: and putting it in
4737         Slur::auxiliary_acknowledge_extra_object ().
4739         * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4741         * lily/note-collision.cc: fix a comment
4743 2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>
4745         * stepmake/bin/add-html-footer.py: fix footer position in
4746         generated html files: before </body> and </html> tags.
4748 2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>
4750         * scripts/GNUmakefile: revert last "fix", which rather broke make.
4751         Earlier successive `make' commands finally compiled ok.
4753         * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4755 2006-04-18  Erlend Aasland <erlenda@gmail.com>
4757         * lily/include/stem-tremolo.hh:
4758         * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4759         callers.
4761         * lily/lookup.cc:
4762         * lily/include/lookup.hh: add rotated_box ()
4764 2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>
4766         * scripts/GNUmakefile: bugfix: run help2man only after scripts have 
4767         been generated. Fixes "can't get `--help'" bug after make clean.
4769         * THANKS: alphabetize contributors.
4771 2006-04-17  Graham Percival  <gpermus@gmail.com>
4773         * Documentation/user/instrument-notation.itely: added Erlend's
4774         tabs and banjo doc patch.  Thanks!
4776 2006-04-17  Erlend Aasland  <erlenda@gmail.com>
4778         * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4780         * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4782         * scm/output-lib.scm: add some more predefined string tunings.
4784         * Documentation/user/instrument-notation.itely: and doc them.
4786 2006-04-16  Jürgen Reuter  <reuter@ipd.uka.de>
4788         * ly/engraver.ly: Remove obsolete comments.
4790         * ly/gregorian-init.ly: Define default layout block.
4792         * input/puer-fragment.ly: Updated and extended.
4794 2006-04-15  Jan Nieuwenhuizen  <janneke@gnu.org>
4796         * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4797         pdf conversion behaviour.
4799         * flower/file-name.cc (dir_name)
4800         (get_working_directory): Move from relocate.cc.
4802         * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4803         
4804         * lily/relocate.cc: Encapsulate sys/stat.h in
4805         HAVE_STAT_H.
4807 2006-04-14  Graham Percival  <gpermus@gmail.com>
4809         * Documentation/user/ various: small updates from Cameron
4810         and Juergen, thanks!
4812         * Documentation/user/ various: small updates of my own.
4814         * THANKS: 2.7 -> 2.8.
4816 2006-04-11  Graham Percival  <gpermus@gmail.com>
4818         * scm/define-context-properties.scm: typo.
4820         * Documentation/user/ : many more small updates.
4822 2006-04-13  Jürgen Reuter  <reuter@ipd.uka.de>
4824         * scm/define-music-types.scm: disposed "docme".
4826 2006-04-11  Erlend Aasland  <erlenda@gmail.com>
4828         * lily/hairpin.cc: make niente circles a bit smaller.
4830 2006-04-10  Erlend Aasland  <erlenda@gmail.com>
4832         * mf/GNUmakefile: remove redundant mftrace check. Also remove
4833         get-pfa and get-*-fonts targets.
4835 2006-04-10  Graham Percival  <gpermus@gmail.com>
4837         * THANKS, Documentation/user/ basic-notation, advanced-notation,
4838         music-glossary, programming-interface: more minor fixes
4839         from mailist.
4841         * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4843         * scm/define-context-properties.scm: another old \property update.
4844         This time tested for compiling!
4846 2006-04-10  Erlend Aasland  <erlenda@gmail.com>
4848         * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4850 2006-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>
4852         * scm/define-context-properties.scm (all-user-translation-properties): 
4853         * Documentation/user/global.itely (Page formatting): Compile fix.
4855 2006-04-09  Mats Bengtsson  <mabe@s3.kth.se>
4857         * Documentation/user/advanced-notation.itely (Polymetric
4858         notation): Update the example to use the "+" symbol and add link
4859         to input/test/compound-time.ly.
4861 2006-04-08  Graham Percival  <gpermus@gmail.com>
4863         * scm/define-grob-properties.scm: clarify docs for #'direction.
4865         * scm/define-context-properties.scm: update old \property override.
4867         * Documentation/user/ advanced-notation, global, lilypond-book:
4868         more minor doc updates.
4870 2006-04-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
4872         * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4874         * scm/backend-library.scm (search-gs): oops.
4876 2006-04-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
4878         * scripts/lilypond-book.py (output): use base, not filename for href.
4880         * scm/backend-library.scm: only look for gs.
4882         * scripts/lilypond-book.py (output): fix printfilename.
4884         * lily/parser.yy (music_function_musicless_prefix): fold together
4885         definitions of signature (SCM*) (Music|post_event|chord_body_element)
4887         * lily/slur.cc (print): only set font-size if not set yet.
4889         * lily/slur-configuration.cc (add_score): improved layout of debug
4890         scoring output.
4892 2006-04-05  David Feuer  <David.Feuer@gmail.com>
4894         * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4895         (draw_circle): Hopefully fixed regression.
4896         Improved documentation for several procedures.
4897         
4898 2006-03-04  Werner Lemberg  <wl@gnu.org>
4900         * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4902 2006-04-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
4904         * scripts/musicxml2ly.py (bindir): add dynamic
4905         relocation. 
4907 2006-04-04  Graham Percival  <gpermus@gmail.com>
4909         * Documentation/user/ basic-notation, advanced-notation, putting,
4910         instrument-notation, invoking, lilypond, THANKS: another ream of small
4911         fixes from the Doc Helpers.
4913 2006-04-03  David Feuer  <David.Feuer@gmail.com>
4915         * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4917         * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4919         * Cleaned up interfaces between PostScript and Scheme, and moved
4920         computations from PostScript to Scheme:
4922         * music-drawing-routines.ps
4923         (*SF, stroke_and_fill): new procedures.  Replaced stroke and fill
4924         with stroke_and_fill throughout.
4925         (euclidean_length, print_letter, draw_box): Deleted unused
4926         procedures.  If someone needs draw_box, implement it using
4927         draw_round_box; don't duplicate code.
4928         (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4929         Refactored/cleaned up interfaces.
4930         (mark_URI): Moved.
4932         * output-ps.scm: reordered arguments to PostScript functions to
4933         match new interfaces
4934         (glyph-string): Rewrote glyph-string.
4935         (grob-cause): Replaced string-append with format.
4936         (repeat-slash): Rewrote to do computation here.
4937         (round-filled-box): Rewrote to do computation here.
4939 2006-04-04  Erlend Aasland  <erlenda@gmail.com>
4941         * stepmake/stepmake/generic-targets.make: add cvs-clean target
4943         * stepmake/stepmake/toplevel- targets.make: print help info about
4944         cvs-clean
4946 2006-04-03  Erlend Aasland  <erlenda@gmail.com>
4948         * input/regression/hairpin-circled.ly: new file
4950 2006-04-03  Erlend Aasland  <erlenda@gmail.com>
4952         * lily/hairpin.cc (print): add support for circled tip
4954         * scm/define-grob-properties.scm: add circled-tip parameter
4956         * scm/define-grobs.scm: init circled-tip to false
4957         
4958 2006-04-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
4960         * scm/music-functions.scm (quote-substitute): set
4961         iterators-ctor. 
4963 2006-03-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
4965         * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4966         BSTINPUTS. 
4968         * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4970         * scm/output-ps.scm (glyph-string): revert cid selectfont.
4972 2006-03-31  David Feuer  <david.feuer@gmail.com>
4973         
4974         * scm/framework-ps.scm:
4975         
4976         * scm/output-ps.scm: glyph-string now produces smaller, more
4977         readable, and probably faster PostScript.  Several findfont
4978         scalefont setfont instances changed to selectfont
4979         Hacked-up string-appends changed to formats.
4981         * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4982         
4983 2006-03-30  Graham Percival  <gpermus@gmail.com>
4985         * scm/lily-library.scm: make "no version" warning message more polite.
4987         * lily/music.cc: add double quotes to failed octave check.
4989         * Documentation/user/ advanced-notation, changing-defaults,
4990         instrument-notation, invoking, music-glossary: whole bunch of minor
4991         fixes from mailist.
4993 2006-03-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
4995         * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4996         $(buildscriptdir) iso. depth.
4998         * VERSION (PACKAGE_NAME): release 2.9.1
5000 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
5002         * lily/pango-font.cc (pango_item_string_stencil): more robustness.
5004         * VERSION (PATCH_LEVEL): bump version number.
5006         * flower/include/guile-compatibility.hh (scm_from_uint32): add
5007         scm_from_uint32 ()
5009         * lily/pango-font.cc (pango_item_string_stencil): use
5010         scm_from_uint32 ()
5012         * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5013         $(outdir)/emmentaler-%.svg): remove canary.
5015         * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
5016         glyphnames if we have a ttf font.
5018 2006-03-30  Mats Bengtsson  <mabe@s3.kth.se>
5020         * Documentation/user/advanced-notation.itely (Font selection):
5021         Corrected reference to the font-family-override.ly example.
5023 2006-03-30  Joe Neeman  <joeneeman@gmail.com>
5024         
5025         * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
5026         stem-tremolo object in the stem (or else the stem might not be
5027         long enough).
5029 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
5031         * lily/ttf.cc (print_trailer): only print existing glyphs.
5033 2006-03-30  Joe Neeman  <joeneeman@gmail.com>
5035         * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
5036         position the tremolo based on the position of the notehead.
5038         * input/regression/stem-tremolo.ly: add example of unbeamed eighth
5039         notes and update the texidoc line with the new positioning rules.
5040         
5041 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
5043         * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
5045         * scripts/lilypond-book.py (Module): set default for linewidth if
5046         preamble not found.
5048 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
5050         * VERSION (PACKAGE_NAME): release 2.9.0.
5052         * input/regression/stem-tremolo-position.ly: new file.
5054         * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
5056 2006-03-28  Joe Neeman  <joeneeman@gmail.com>
5058         * lily/stem-tremolo.cc (print): position
5059         the tremolo depending only on the end of the stem
5060         and not on the notehead
5061         (raw_stencil): center, on the middle staff line, the
5062         flag that is closest to the end of the stem (previously
5063         the bottom flag)
5064         (calc_width): add this callback to shorten a tremolo when
5065         it is beamed or it is stemup with a flag
5066         (style): add this callback to make a tremolo rectangular when
5067         it is beamed or it is stemup with a flag
5068         (rotated_box): this is like Lookup::beam but makes a rotated
5069         rectangle instead of a parallelogram
5071         * lily/stem.cc (calc_stem_info): make sure the stem
5072         is long enough to fit the tremolo
5073         (calc-length): reduce the length of tremolo stems since the
5074         tremolo code is now capable of better positioning
5076         * scm/define-grobs.scm: make calc_width the default beam-width
5077         callback for stem-tremolo and add the style callback
5078                 
5079 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
5081         * lily/tuplet-bracket.cc (calc_control_points): handle suicide
5082         case. 
5084 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
5086         * lily/ttf.cc (make_index_to_charcode_map): restore old
5087         cmap. 
5089 2006-03-28  Werner Lemberg  <wl@gnu.org>
5091         * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
5093 2006-03-28  Graham Percival  <gpermus@gmail.com>
5095         * THANKS: update for 2.9, add section for Documentation helpers.
5097         * Documentation/topdocs/NEWS.tely: compile fix.
5099         * Documentation/user/ basic-notation, global, advanced-notation,
5100         examples.itely: minor fixes from mailist.
5102 2006-03-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
5104         * mf/feta-bolletjes.mf: match width of solfa notes with normal
5105         note heads. 
5107         * lily/ttf.cc (print_trailer): use it.
5109         * lily/pango-font.cc (get_unicode_name): new function.
5111         * lily/ttf.cc (make_index_to_charcode_map): move function from
5112         open-type-font.cc
5113         (print_trailer): substitute uniXXXX name if applicable. 
5115         * lily/pango-font.cc (get_index_to_charcode_map): new function.
5116         (pango_item_string_stencil): use it to generate uniXXXX names.
5118         * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
5119         note heads, for uniform widths in shape note output.
5120         (overdone_heads): hmm. remove them again.
5122         * scripts/lilypond-book.py (output): add links to filenames.
5124         * Documentation/topdocs/INSTALL.texi (Top): update versions.
5126         * lily/note-collision.cc (get_clash_groups): only consider when
5127         Note_column::dir <> CENTER. 
5129         * scripts/lilypond-book.py (get_option_parser): init output_name
5130         to ''. 
5132 2006-03-24  Graham Percival  <gpermus@gmail.com>
5134         * Documentation/topdocs/NEWS.tely: add @end itemize
5136         * Documentation/user/ global, advanced-notation: minor
5137         stuff from mailist.
5139 2006-03-23  Graham Percival  <gpermus@gmail.com>
5141         * Documentation/user/ lilypond.tely, music-glossary,
5142         preface: housekeeping; 2005->2006, remove "notes for 2.6"
5144 2006-03-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
5146         * mf/GNUmakefile: don't install .enc files.
5148         * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
5150         * VERSION (PATCH_LEVEL): bump to 2.9.0
5152 2006-03-22  Graham Percival  <gpermus@gmail.com>
5154         * Documentation/user/advanced-notation.itely: minor fixes
5155         from mailist.
5157 2006-03-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
5159         * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
5161         * branch lilypond_2_8
5163 2006-03-22  Han-Wen Nienhuys  <lilydev@localhost.localdomain>
5165         * scripts/lilypond-book.py (samefile): new function, for windoze
5166         compatibility.
5168 2006-03-21  Graham Percival  <gpermus@gmail.com>
5170         * ly/engraver-init.ly: add info about StaffGroup.
5172 2006-03-21  Han-Wen Nienhuys  <lilydev@localhost.localdomain>
5174         * input/regression/stem-direction-context.ly: idem.
5176         * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
5178         * THANKS: add Mats.
5180         * input/regression/page-layout-twopass.ly: comment out \markup so
5181         tweak-file is left.
5183         * lily/instrument-name-engraver.cc (finalize): add to instrument
5184         name global System. This also fixes chopped instrument names, but
5185         doesn't crash when there are slurs/beams.
5187         * lily/slur-configuration.cc (add_score): disallow negative slur
5188         scores.
5189         
5190 2006-03-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5192         * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
5194         * lily/instrument-name-engraver.cc (process_music): kludge: add
5195         InstrumentName spanner to axis group of left bound. Fixes chopped
5196         off instrument names in EPS images.
5198         * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
5200         * scripts/abc2ly.py (option_parser): update to 2.7.40
5202 2006-03-20  Graham Percival  <gpermus@gmail.com>
5204         * THANKS: move small doc contributors to SUGGESTIONS.
5206         * Documentation/user/ basic-notation, advanced-notation,
5207         global: small changes from mailist.
5209 2006-03-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5211         * Documentation/user/advanced-notation.itely (Text marks): update
5212         for new rehearsalMarkAlignSymbol convention.
5214         * VERSION (PATCH_LEVEL): bump version.
5216         * input/test/instrument-name-align.ly: new file.
5218         * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
5220         * input/test/instrument-name-align.ly: new file. Document how to
5221         align instrument names.
5223         * lily/mark-engraver.cc: remove properties.
5225         * scm/define-context-properties.scm
5226         (all-user-translation-properties): remove align symbol properties
5227         for barnumber/reh. mark.
5229         * lily/break-align-interface.cc (self_align_callback): new
5230         interface, new function. Look at complete alignment. This handles
5231         tunable break alignments in case break-align-symbols are missing.
5233         * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
5235         * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
5237         * python/convertrules.py (conv): mark/bar number alignment rule.
5239         * lily/break-align-interface.cc (calc_positioning_done): also
5240         store offset from last visible break-alignment to its
5241         neighbor. This makes alignment on non-visible objects more reliable.
5243         * po/lilypond.pot (Module): ran po-replace.
5245         * input/regression/tie-single-manual.ly (Module): new file.
5247         * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
5248         look at has_manual_position_.
5249         (from_ties): set has_manual_position_ if tie has staff-position set.
5251         * lily/tuplet-bracket.cc (calc_positions): idem.
5253         * lily/tuplet-number.cc (print): don't print tupletnumber if it
5254         doesn't span time.
5256 2006-03-19  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5258         * scm/define-markup-commands.scm (smallCaps): new markup command
5259         for turning a text to small caps using smaller font size and upper
5260         casing.
5262 2006-03-17  Graham Percival  <gpermus@gmail.com>
5264         * Documentation/user/ examples, instrument-notation,
5265         advnaced-notation: minor fixes from mailist.
5267 2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5269         * Documentation/user/tutorial.itely (First steps): change example
5270         to verbatim.  
5272 2006-03-17  Graham Percival  <gpermus@gmail.com>
5274         * Documentation/user/ examples, advanced: minor changes from mailist.
5276         * THANKS: add Geoff Horton, for documentation stuff.
5278 2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5280         * python/lilylib.py (system): revert have_select kludge.
5282         * Documentation/user/tutorial.itely (Commenting input files):
5283         update version numbers in doc. 
5285         * scm/define-grob-interfaces.scm (multi-measure-interface): add
5286         bound-padding to multi-measure-interface
5288 2006-03-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5290         * input/test/engraver-example.ily: update version number.
5292         * VERSION (PACKAGE_NAME): release 2.7.39
5294         * lily/note-spacing.cc (get_spacing): heighten threshold where
5295         accidentals/arpeggios influence previous spacing fully.
5297         * lily/rest.cc (y_offset_callback): only use direction if
5298         staff-position wasn't set before.
5300         * lily/bar-number-engraver.cc: add support for
5301         barNumberAlignSymbol. 
5302         add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
5304         * lily/pointer-group-interface.cc (set_ordered): new function. 
5305         (add_unordered_grob): new function.
5307         * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
5308         to ordered, unless the opposite has been proved.  This fixes
5309         random reordering of large object groups across linebreaks,
5310         eg. beams.
5312         * lily/main.cc (do_chroot_jail): printf format fix.
5314         * lily/tie-formatting-problem.cc (generate_configuration):
5315         multiply y-shift for dot with direction.
5317         * scm/define-markup-commands.scm (note-by-number): put (magstep
5318         size) in y-attach too.
5320         * Documentation/topdocs/NEWS.tely (Top): show override.
5322         * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
5323         direction for stems.
5324         
5325 2006-03-15  Graham Percival  <gpermus@gmail.com>
5327         * Documentation/user/ changing-defaults, global: minor
5328         fixes from mailist.
5330 2006-03-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5332         * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5334         * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5335         breakable items after uniformly stretched notes.
5337         * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5338         outline with outer edge of note heads. This prevents infinity
5339         problems with tied whole notes.
5341         * scripts/lilypond-book.py (do_file): use os.popen
5343         * python/convertrules.py (conv): add rule for Stem #'beamed-*
5345 2006-03-14 Erik Sandberg  <mandolaerik@gmail.com>
5347         * Documentation/user/invoking.itely: Add ragged-right to bug report
5348         guidelines.
5350 2006-03-14  Graham Percival  <gpermus@gmail.com>
5352         * Documentation/user/global.itely: small fix from mailist.
5354 2006-03-14  Mats Bengtsson  <mabe@s3.kth.se>
5356         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5357         file descriptor returned by tempfile.mkstemp() when writing
5358         to tmpfile and closing it. Solves problem with unlink(tmpfile)
5359         on mingw.
5361 2006-03-14  Jan Nieuwenhuizen  <janneke@gnu.org>
5363         * po/fi.po: newline bugfix.
5365 2006-03-12  Jan Nieuwenhuizen  <janneke@gnu.org>
5367         * scm/paper.scm (paper-alist): Rounding fixes.
5369 2006-03-13  Graham Percival  <gpermus@gmail.com>
5371         * Documentation/user/ changing-defaults, instrument-notation,
5372         tutorial: small fixes from mailist, mostly from Mats.  Thanks!
5374 2006-03-13 Heikki Junes  <hjunes@cc.hut.fi>
5376         * po/fi.po: update.
5378 2006-03-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5380         * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5381         mailto: to http:// 
5383         * python/lilylib.py (print_environment): move ps_page_count to
5384         lilypond-book.py
5386 2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5388         * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5390         * scm/framework-ps.scm (embed-document): new function. Use to
5391         embed PFA files.
5393         * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5395 2006-03-12  Mats Bengtsson  <mabe@s3.kth.se>
5397         * Documentation/user/instrument-notation.itely (Setting simple
5398         songs): Added \book{...} around the full example, so the separate
5399         markups are included in the printed example. 
5401 2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5403         * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5404         tmphandle.
5406         * python/lilylib.py (system): rewrite system() using
5407         subprocess. Remove >& redirection trickery.
5409 2006-03-11  Graham Percival  <gpermus@gmail.com>
5411         * Documentation/user/ changing-defaults, global, scheme-tutorial,
5412         notation-appendices.itely: minor fixes from mailist.
5414 2006-03-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5416         * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5417         unsplit man also needs images.
5419         * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5421         * VERSION (PACKAGE_NAME): 2.7.38 released.
5423 2006-03-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5425         * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5426         log in output dir.
5428 2006-03-08  Johannes Schindelin  <Johannes.Schindelin@gmx.de>
5430         * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5431         respects the Score.skipTypesetting property.
5432         
5433 2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5435         * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5436         Prolog. No %%EOF after CFF file.
5438 2006-03-08  Joe Neeman  <joeneeman@gmail.com>
5439         
5440         * lily/constrained-breaking.cc (get_max_systems): used to return a
5441         much too big value
5442         (combine_demerits): use pointers to reduce copying data
5443         (calc_subproblem): idem
5444         (get_page_penalty): add page turn penalties
5445         
5446 2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5448         * Documentation/user/invoking.itely (Invoking lilypond): better
5449         explanation of -e usage.
5451         * lily/main.cc (main_with_guile): don't append to
5452         init_scheme_code_string
5454         * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5456         * Documentation/user/invoking.itely: add note about MacOS X scripts.
5458         * scripts/convert-ly.py (do_options): don't print help for
5459         --show-rules rule.
5461         * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5462         @code and @example. Update from texinfo.tex from CVS.
5464 2006-03-08  Graham Percival  <gpermus@gmail.com>
5466         * Documentation/user/scheme-tutorial.itely: clarifies distances
5467         measured in staff-spaces.
5469 2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5471         * lily/slur.cc (outside_slur_callback): only calculate offsets if
5472         consider[k] is true.
5474         * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5476         * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5477         consider columns that have originals.  Unifies spacing for mm
5478         rests around line breaks.
5480         * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5481         (set_text_rods): idem.
5482         (calculate_spacing_rods): new function: share code between
5483         set_text_rods and set_spacing_rods.
5484         (set_text_rods): take extents of bounds into account.  
5486 2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5488         * Documentation/user/basic-notation.itely (Writing music in
5489         parallel): don't use relative.
5491 2006-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5493         * ly/music-functions-init.ly (Module): add shiftDurations
5495         * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5497         * scm/paper.scm (paper-alist): no decimals for Ax paper sizes. 
5499         * ly/engraver-init.ly: init vocalName to nil.
5501 2006-03-05 Erik Sandberg  <mandolaerik@gmail.com>
5503         * scm/music-functions.scm (music->make-music): bugfix,
5504         KeyChangeEvents are now handled correctly.
5506         * scripts/lilypond-book.py: Add --debug option.
5508 2006-03-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5510         * python/lilylib.py: add tempfile.
5512 2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5514         * VERSION (PACKAGE_NAME): release 2.7.37
5516         * python/lilylib.py (ps_page_count): remove make_ps_images().
5517         (ps_page_count): remove mkdir_p
5518         (system): remove cleanup_temp.
5519         (exit): remove lilypond_version_(check)
5520         (error_log): remove pseudo_filter_p
5521         remove read_pipe
5522         remove cp_to_dir
5523         remove identify
5525         * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5526         use __main__
5528         * lily/accidental-engraver.cc (make_standard_accidental): only add
5529         support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5531         * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5532         $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5533         Make incompatibilities.
5535         * scm/output-ps.scm (grob-cause): replace backslashes by /
5536         (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5538 2006-03-02  Jan Nieuwenhuizen  <janneke@gnu.org>
5540         * cygwin/GNUmakefile: Install fixes.
5542         * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5544         * lily/note-head.cc (head::get_balltype): Compile fix.
5546         * flower/file-name.cc (dos_to_posix): Flower string fix.
5548 2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5550         * python/lilylib.py: pychecker cleanups.
5552         * scripts/lilypond-book.py
5553         (Lilypond_snippet.output_print_filename): pychecker cleanups
5555         * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5557         * python/lilylib.py (underscore): remove identify() , warranty()
5559         * ps/music-drawing-routines.ps: change Border routine for GSView
5560         compatibility.
5562         * lily/stem.cc (height): use quantize-positions.  This triggers
5563         set_stem_lengths, so scripts on beamed stems are handled correctly.
5565         * lily/side-position-interface.cc (aligned_side): check if edges
5566         of script are inside staff. Fixes accent of edge of the staff.
5568         * input/regression/staccato-pos.ly: more examples.
5570         * stepmake/aclocal.m4 (depth): fix bashism.
5572         * lily/lyric-combine-music-iterator.cc: move from
5573         new-lyric-combine-iterator.cc
5574         (process): add pending_grace_lyric_ member to delay lyrics on
5575         grace notes.
5577         * lily/system-start-text.cc (print): suicide if we don't have any
5578         elements. Fixes hara kiri'd instrument names.
5580         * scripts/mup2ly.py (Module): remove.
5582 2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5584         * Documentation/user/global.itely (A single music expression):
5585         close @lilypond properly
5587         * lily/volta-bracket.cc (modify_edge_height): change from
5588         after_line_breaking_callback. Suicide last bracket if appropriate.
5590         * python/lilylib.py: strip getopt support
5592         * scripts/etf2ly.py (do_options): use optparse
5594         * scripts/midi2ly.py: optparse, strip lilylib copy. 
5596         * scripts/abc2ly.py (voices): use optparse.
5598         * stepmake/stepmake/generic-vars.make: new function absdir.
5600         * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5602         * scripts/lilypond-book.py (find_file): use global_options for
5603         include path
5605         * scm/ps-to-png.scm (ps-page-count): prevent null characters
5606         entering C code.
5608 2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5610         * python/lilylib.py (get_global_option): ughness for extracting
5611         global options from lilylib.
5612         (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5614         * scripts/lilypond-book.py (get_option_parser): use optparse for
5615         option handling.  Put options in global_options variable.
5617 2006-02-28  Heikki Junes  <hjunes@cc.hut.fi>
5619         * Documentation/index.html.in: clarify.
5621 2006-02-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5623         * scm/layout-page-layout.scm (write-page-breaks): add a
5624         music-system-heights property to the page layout output.
5626         * scm/page.scm (make-page-stencil): take footer into account when
5627         computing the 'space-left page property
5628         (annotate-space-left): take footer into account when annonating
5629         space left.
5631 2006-02-28  Graham Percival  <gpermus@gmail.com>
5633         * Documentation/user/ advanced-notation, global: more (final)
5634         docs for music expressions, removed special fermatas.
5636 2006-02-27  Graham Percival  <gpermus@gmail.com>
5638         * Documentation/user/ basic-notation, global: minor changes
5639         from mailist.
5641 2006-02-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5643         * scm/framework-ps.scm:         
5644         * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5645         layer for inf? and nan? from framework-ps to lily-library.
5647 2006-02-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5649         * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5650         $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5652         * buildscripts/substitute-encoding.py (Module): remove file.
5654         * mf/GNUmakefile: more PFA strippage.
5656         * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5658         * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5659         generation
5661         * scm/framework-ps.scm: remove font name munging.
5663         * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5665 2006-02-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5667         * scm/markup.scm (define-markup-command): change
5668         def-markup-command to define-markup-command
5670         * scm/music-functions.scm (define-music-function): change
5671         def-music-function to define-music-function.
5673         * python/convertrules.py (conv): rules for def-music-function
5674         and def-markup-commands
5676         * Documentation/user/programming-interface.itely,
5677         input/no-notation/display-lily-tests.ly,
5678         input/regression/lily-in-scheme.ly,
5679         input/regression/markup-user.ly,
5680         input/regression/music-function.ly, input/regression/tie-chord.ly,
5681         scm/fret-diagrams.scm, ly/music-functions-init.ly,
5682         ly/gregorian-init.ly: use new macro names (define-music-function,
5683         define-markup-command).
5685 2006-02-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5687         * scripts/lilypond-book.py (main): write Makefile dependencies file. 
5688         (output): add comments to lp-book latex output.
5690         * GNUmakefile.in (footifymail): use gmane address for webpage bug
5691         address.
5693 2006-02-23  Graham Percival  <gpermus@gmail.com>
5695         * Documentation/user/ tutorial, global: minor changes.
5697 2006-02-23  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5699         * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5700         blocks (for make 3.80)
5702         * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5703         \notemode so that user should not have to explicitely type it.
5705         * scm/define-music-display-methods.scm: various
5706         fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5707         constructs)
5709         * input/no-notation/display-lily-tests.ly: new tests for
5710         \applyOutput and \applyContext
5712 2006-02-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5714         * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5715         changed it slightly so that the number of systems returned by
5716         solve () will be the same as the last value passed to resize
5717         (). I've also added more documentation, removed casts, fixed style
5718         problems and put in some recovery if constraints aren't satisfied."
5720 2006-02-23  Jan Nieuwenhuizen  <janneke@gnu.org>
5722         * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5723         for emacs < 22 compatibility.
5724         (count-rexp): Use it.
5725         (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5726         substring juggling (Milan Zamazal).
5728 2006-02-23  Graham Percival  <gpermus@gmail.com>
5730         * Documentation/user/ basic-notation, advanced-notation,
5731         global.itely, invoking.itely, tutorial,itely:
5732         minor fixes from mailist.
5734         * scm/define-markup-commands.scm: improve docs of \filled-box.
5736 2006-02-23  Heikki Junes  <hjunes@cc.hut.fi>
5738         * Documentation/index.html.in: changes concern the previous release.
5740         * input/regression/+.ly: cultivate typographical terminology.
5742 2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5744         * scm/define-grob-interfaces.scm (parentheses-interface): add
5745         padding to parentheses-interface.
5747         * Documentation/user/GNUmakefile: remove $(CROSS) support from
5748         Documentation/user/GNUmakefile. Use --disable-documentation for that.
5750         * VERSION (PATCH_LEVEL): release 2.7.36
5752         * lily/slur.cc: add avoid-slur (ugh.)
5753         
5754         * lily/slur-configuration.cc (fit_factor): oops, skip point if
5755         intersection gets smaller. This fixes slurs over extreme points.
5757         * lily/melody-engraver.cc (stop_translation_timestep): ignore
5758         stems with neutral-direction set.
5760         * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5762         * lily/open-type-font.cc (load_table): format error.
5764         * lily/change-iterator.cc (process): format fix.
5766         * flower/include/international.hh (_f): idem.
5768         * flower/include/std-string.hh: add format printf attribute.
5770         * scm/define-grobs.scm (all-grob-descriptions): height of all
5771         PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5773         * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5774         ambitus lines.
5776         * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5778 2006-02-22 Erik Sandberg  <mandolaerik@gmail.com>
5780         * input/regression/: upgraded syntax for some files.
5782         * THANKS: Add bughunters.
5784 2006-02-22  Graham Percival  <gpermus@gmail.com>
5786         * Documentation/user/ invoking.itely, advanced-notation.itely,
5787         global.itely: long-awaited "let's make chapter 10 not suck"
5788         update.  Rearrange chapter 10; now called "global issues",
5789         addresses file structure, etc.  Some info from other files
5790         moved into global.itely.
5792 2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5794         * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5795         catch trill-span-event notes.
5797         * Documentation/user/examples.itely (Ancient notation templates): typo.
5798         (Jazz combo): typo.
5800         * scripts/lilypond-book.py (main): scrap invokes_lilypond(). 
5802         * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5804         * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5806         * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5808         * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5809         froum Laissez_vibrer_engraver.
5811         * ly/declarations-init.ly (repeatTie): add \repeatTie
5813         * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5815         * scm/define-grob-properties.scm (all-user-grob-properties): add
5816         head-direction property.
5818         * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5819         from_lv_ties. Take head direction argument.
5821         * lily/semi-tie-column.cc: rename from
5822         laissez-vibrer-tie-column.cc. Rename class too.
5824         * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5825         class too.
5827         * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5829         * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5830         0 case.
5831         (find_breaks): idem.
5833 2006-02-21  Graham Percival  <gpermus@gmail.com>
5835         * Documentation/user/advanced-notation.itely: fixed make-moment]
5836         example.
5838         * Documentation/user/basic-notation.itely: more clarification to
5839         transpose.
5841 2006-02-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5843         * lily/include/constrained-breaking.hh (class
5844         Constrained_breaking): new file.
5846         * lily/constrained-breaking.cc (resize): new file.
5848         * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5850         * Documentation/user/advanced-notation.itely (Clusters): insert
5851         end ignore too.
5853         * lily/tie-column.cc (calc_positioning_done): support for
5854         tie-score debugging
5856         * lily/tie-formatting-problem.cc
5857         (generate_extremal_tie_variations): factor out.
5858         (score_ties_configuration): annotate all tie 
5859         (print_ties_configuration): new routine.
5860         (generate_configuration): nudge extremal ties outside of the head
5861         Y extents.
5862         (score_ties_configuration): oops. convert to staff-space before
5863         determining position symmetry.
5865 2006-02-20  Graham Percival  <gpermus@gmail.com>
5867         * Documentation/user/*-notation.itely: misc minor editing,
5868         shifting doc sections around.
5870         * Documentation/user/*-notation-itely, global.itely,
5871         changing-defaults.itely: added new stuff from NEWS.
5873 2006-02-20  Heikki Junes  <hjunes@cc.hut.fi>
5875         * po/fi.po: update.
5877 2006-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5879         * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5880         lilypond --verbose for lp-book.
5882         * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5883         $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5885         * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5886         $(buildscript-dir) iso. absolute depth.
5888         * buildscripts/genicon.py (dir): thinko.
5890         * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5892 2006-02-19 Erik Sandberg  <mandolaerik@gmail.com>
5894         * scm/output-lib.scm: swap darkcyan/darkyellow
5896         * THANKS: Add bughunters.
5898 2006-02-19  Graham Percival  <gpermus@gmail.com>
5900         * Documentation/user/programming-interfaces.itely: fixed example.
5902         * Documentation/user/instrument-notation.itely: fix @{ @}.
5904         * scm/script.scm: add avoid-slur for \open.
5906 2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5908         * lily/tie-formatting-problem.cc (score_configuration): use
5909         sliding score for min-length. 
5911         * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5912         spaghetti for icons.
5914         * buildscripts/genicon.py (program_name): new file.
5916         * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5917         in outline too.  
5918         (generate_configuration): for small ties, also look for collisions
5919         at Y + DIR*h + DELTA_Y.
5920         (get_variations): consider variation for dot positions too.
5922         * lily/side-position-interface.cc (aligned_side): take abs for
5923         quantized rounded position. Fixes tenuto below staff.
5925         * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5926         markers when necessary.
5928         * lily/program-option.cc (internal_set_option): add
5929         strict_infinity_checking option.
5931         * scm/output-lib.scm (cyan): swap yellow and cyan.
5933 2006-02-19  Graham Percival  <gpermus@gmail.com>
5935         * darwin.patch: trivial linenumber update.
5937         * Documentation/user/ {various}: `\context foo = named' changed
5938         to `\new foo = "name"' in docs.
5940 2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5942         * scm/stencil.scm (annotate-y-interval): use it.
5944         * scm/lily-library.scm (interval-sane?): new function.
5946         * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5947         tfm_checksum stuff.
5949         * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5950         common refpoint.
5952         * flower/include/std-vector.hh (iterof): add iterof macro.
5954         * lily/enclosing-bracket.cc (width): new function.
5956         * lily/align-interface.cc (align_elements_to_extents): reinstate
5957         warning.
5959 2006-02-18  Heikki Junes  <hjunes@cc.hut.fi>
5961         * Documentation/index.html.in: fix spelling: thankyous.
5963 2006-02-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5965         * lily/lyric-hyphen.cc: typo.
5967 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5969         * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5970         $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5971         builds don't work. 
5973         * VERSION: release 2.7.35
5975         * lily/beam.cc (get_default_dir): oops. Take abs () for
5976         extremes[DOWN].
5977         (get_default_dir): use extreme position criterion only in absence
5978         of forced stem directions.
5980         * VERSION (PATCH_LEVEL): bump VERSION.
5982         * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5983         dependencies. Necessary for -jX builds.  
5985 2006-02-17  Jan Nieuwenhuizen  <janneke@gnu.org>
5987         * lily/relocate.cc (setup_paths): Yet another const fix.
5989 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5991         * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5993         * lily/relocate.cc (setup_paths): oops.
5995 2006-02-17  Heikki Junes  <hjunes@cc.hut.fi>
5997         * Documentation/index.html.in: order links: html before PDF.
5999 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6001         * lily/tie-column-format.cc (Module): remove.
6003         * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
6005         * lily/text-spanner.cc (print): idem.
6007         * lily/dynamic-text-spanner.cc (print): only print line if longer
6008         than dash-period.
6010         * lily/auto-change-iterator.cc (change_to): formatting.
6012         * lily/beam.cc (get_default_dir): take extreme note head as input
6013         for stem direction.
6015         * lily/tie.cc (get_default_dir): only look directions for visible
6016         stems. 
6018         * lily/side-position-interface.cc (aligned_side): oops. Don't
6019         mutiply with direction. This fixes quantized (staccato, tenuto)
6020         scripts below notes.
6022         * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
6023         direction. Fixes c-lyrics-center-align.ly
6025 2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>
6027         * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
6028         constructor.
6030         * lily/std-string.cc:
6031         * lily/include/std-vector.hh (split_string): Move and rename from
6032         lily/include/misc.hh, lily/misc.cc.  Update callers.
6034 2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6036         * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
6038 2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>
6040         * flower/test-file.cc: New file.
6042         * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
6043         libraries.
6045         * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
6047 2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6049         * flower/include/file-storage.hh: remove file.
6051         * lily/include/midi-item.hh (class Midi_track): idem.
6053         * lily/include/source.hh (class Sources): idem.
6055         * lily/include/performance.hh (class Performance): use vector
6056         iso. Cons<>
6058         * flower/include/cons.hh (class Cons): remove file.
6060         * flower/include/flower-proto.hh: remove template cruft.
6062         * lily/include/font-metric.hh: use size_t not vsize for indices.
6064         * flower/include/flower-proto.hh (Module): remove std-vector.hh
6065         from proto.
6067         * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
6069         * lily/include/paper-book.hh (class Paper_book):
6070         make get_system_specs() public.
6072         * scm/layout-page-layout.scm (optimal-page-breaks): only consider
6073         the force=10000 case if we don't have a current-best. 
6075         * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
6076         vsize 
6078         * flower/include/flower-proto.hh: remove outdated templates.
6080         * scm/page.scm: use annotate-spacing
6082 2006-02-15  Graham Percival  <gpermus@gmail.com>
6084         * scm/translation-functions.scm: circle patch from Erlend, thanks!
6086         * THANKS: moved Erlend Aasland to contributors.
6088 2006-02-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6090         * config.hh.in: remove HAVE_PANGO_16
6092         * lily/tuplet-bracket.cc (calc_positions): multiply with
6093         staff-space for beam case. This fixes tuplets+beams on scaled
6094         staves.
6096         * config.hh.in: remove all Kpathsea related defines.
6098         * lily/dot-column.cc (side_position): reach stem via dots->
6099         head->stem. Inspect all stems for dot collisions. 
6101         * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
6102         stem handling.
6104         * lily/bar-number-engraver.cc (process_music): document function
6105         of whichBar.
6107         * lily/score.cc (default_rendering): add pscore, not systems
6108         themselves.
6110         * lily/paper-book.cc (get_system_specs): separate generation of
6111         titles and systems.
6113         * flower/include/std-vector.hh: don't include config.hh
6115 2006-02-15  Jan Nieuwenhuizen  <janneke@gnu.org>
6117         * flower/include/std-vector.hh: Better wrapper compatibility with
6118         std::vector.
6120         * flower/include/flower-proto.hh: Remove cheap forward declaration
6121         attempts.
6123         * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
6125 2006-02-14  Graham Percival  <gpermus@gmail.com>
6127         * Documentation/user/invoking.itely: add warning about command line.
6129 2006-02-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6131         * lily/include/lily-proto.hh: add Prob, rm Page.
6133         * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
6135         * VERSION: release 2.7.34
6137         * lily/relocate.cc (framework_relocation): show canary if
6138         GHOSTSCRIPT_VERSION undefined.
6140         * GNUmakefile.in: remove $(VERSION) symlink.
6142         * lily/relocate.cc (setup_paths): add + 
6144 2006-02-13  Heikki Junes  <hjunes@cc.hut.fi>
6146         * Documentation/index.html.in: specify sizes for all big HTML pages.
6148 2006-02-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6150         * config.hh.in: remove @FRAMEWORKDIR@
6152         * lily/system-start-text.cc (get_stencil): new file: separate out
6153         system-start-delimiter text support.
6155         * input/**ly: replace \context with \new where appropriate.
6156         
6157         * THANKS: add Don.
6159         * lily/slur-scoring.cc (get_base_attachments): use
6160         robust_relative_extent. This fixes problems with empty paper-columns. 
6162 2006-02-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6164         * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
6166         * scm/define-music-properties.scm (all-music-properties):
6167         create-new property.
6169         * lily/context-specced-music-iterator.cc (construct_children):
6170         inspect 'create-new property iso. magical $uniqueContextId context
6171         id.
6173         * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
6175         * lily/context-key-manager.cc (Module): new file. Encapsulate
6176         object key generation.
6178         * lily/include/context-key-manager.hh (Module): new file.
6180 2006-02-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6182         * scm/define-grobs.scm (all-grob-descriptions): center instrument
6183         names vertically
6185         * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
6186         options.
6187         (reloc_b): excise --enable-framework-dir
6189         * lily/relocate.cc (framework_relocation): use getenv
6190         LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
6192 2006-02-11  Jan Nieuwenhuizen  <janneke@gnu.org>
6194         * flower/include/std-string.hh: 
6195         * flower/include/std-vector.hh: Finish std:: conversion; move
6196         flower extensions from std:: namespace.  Update users.
6198         * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
6199         their expansion to vector<*>.  Update users.
6201 2006-02-10  Graham Percival  <gpermus@gmail.com>
6203         * Documentation/user/invoking.itely: add example to File structure.
6205         * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
6206         examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
6208 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6210         * ly/paper-defaults.ly: typo.
6212         * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
6213         set_parent() for parentheses. This will make it show up in bbox
6214         calculations.
6216         * scm/output-lib.scm (parentheses-item::print): rewrite, using
6217         ly:grob-common* functions.
6219         * lily/grob-scheme.cc (LY_DEFINE):
6220         ly:grob-common-refpoint-of-array: new function 
6221         ly:grob-common-refpoint: new function 
6222         ly:grob-relative-coordinate: new function 
6224         * lily/instrument-name-engraver.cc (process_music): use
6225         Text_interface::is_markup(). This fixes \markup on instrument names.  
6227         * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
6228         for ties and slurs.
6230         * lily/slur.cc (print): idem.
6232         * lily/tie.cc: add line-thickness for ties. 
6234 2006-02-10  Jan Nieuwenhuizen  <janneke@gnu.org>
6236         * scm/output-svg.scm: Document diversion from GNU coding standards
6237         as a workaround for a bug in Microsoft Internet Explorer.
6239 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6241         * lily/instrument-name-engraver.cc (process_music): use
6242         is_markup() iso. is_string()
6244         * Documentation/user/changing-defaults.itely (Module): add menu entry.
6246         * lily/percent-repeat-engraver.cc (process_music): only look at
6247         main_part_ for % repeats.
6249         * lily/stem-tremolo.cc (get_beam_translation): new function.
6250         (calc_slope): new function.
6251         (height): don't use real slope.
6253 2006-02-10  Jürgen Reuter  <reuter@ipd.uka.de>
6255         * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
6256         new connect-to-neighbor, control-points and staff-padding
6257         properties to make ligature brackets showing up again.
6259 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6261         * VERSION: release 2.7.33
6263         * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
6264         too many.
6266         * Documentation/user/changing-defaults.itely (Difficult tweaks):
6267         remove applyOutput example.
6268         (Objects connected to the input): document \tweak, \parenthesize
6270         * lily/relocate.cc (prefix_relocation): allow "current"
6271         iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
6272         changing VERSION in a lily tree less painful.
6274         * input/regression/parenthesize.ly: new file. 
6276         * scm/output-lib.scm (parenthesize-element): new function.
6278         * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
6280         * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
6282         * lily/accidental-engraver.cc (make_standard_accidental): reroute
6283         cause: accidentals are caused by note heads, not note events. 
6285 2006-02-08  Graham Percival  <gpermus@gmail.com>
6287         * darwin.patch: small patch from Erlend, thanks!
6289         * Documentation/user/basic-notation.itely: add stem-neutral example.
6291         * Documentation/user/putting.itely: clarifications.
6293 2006-02-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6295         * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
6296         note, add more guidelines to what should go into NEWS.
6298         * input/sakura-sakura.ly: document how to override font.
6300         * input/regression/font-family-override.ly:  doc -dshow-available-fonts
6302 2006-02-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6304         * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
6306 2006-02-08  Jan Nieuwenhuizen  <janneke@gnu.org>
6308         * scripts/convert-ly.py (lilypond_version_re_str): Move from
6309         convertrules.  Add explicit grouping, needed for python2.2.
6311 2006-02-07  Jan Nieuwenhuizen  <janneke@gnu.org>
6313         * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
6315 2006-02-07  Graham Percival  <gpermus@gmail.com>
6317         * Documentation/user/global.itely: fix line-width in (text) docs.
6319         * Documentation/user/lilypond-book.itely: same.
6321 2006-02-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6323         * VERSION (PACKAGE_NAME): release 2.7.32
6325         * Documentation/topdocs/NEWS.tely (Top): document new variable
6326         naming.
6328         * flower/include/array.icc (Message): remove file.
6330         * flower/include/std-vector.hh: make sure vsize and VPOS are
6331         defined for binary_search_bounds().
6333         * flower/std-string.cc (std): add to_string(long unsigned).
6335         * configure.in (gui_b): excise std_string option.
6336         (gui_b): excise std_vector option.
6338         * flower/string.cc (Module): excise flower array & string
6340         * flower/include/std-string.hh: excise flower string.
6342         * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6344         * python/convertrules.py (lilypond_version_re_str): require
6345         only numbers and dots in \version string.
6347 2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6349         * lily/system-start-delimiter.cc (print): allow style = text too.
6351         * lily/system-start-delimiter-engraver.cc
6352         (acknowledge_system_start_text): new function, also add add to
6353         support of system-start-text (instrument names). This fixes
6354         instrument names on piano staves.
6356         * lily/instrument-name-engraver.cc: rewrite. Use
6357         system-start-delimiter approach. This save memory and cpu.
6359         * scm/define-grobs.scm (all-grob-descriptions): remove
6360         instrument-name from break-alignment.
6362         * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6364 2006-02-05  Jan Nieuwenhuizen  <janneke@gnu.org>
6366         * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6367         jobserver going.
6369         * configure.in (std_vector): On by default.
6371         * lily/include/font-metric.hh:
6372         * lily/include/tfm-reader.hh: 
6373         * lily/include/spanner.hh: Use unsigned for indices and sizes.
6374         Update users.
6376         * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6378 2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6380         * VERSION (PACKAGE_NAME): 2.7.31
6382         * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6383         EPS edge at 0, but take minimum with left-overshoot. This fixes
6384         cut off system start delims. 
6386         * lily/instrument-name-engraver.cc (stop_translation_timestep):
6387         hack: add to axis group if not added yet. This fixes hara kiri'd
6388         piano staves.
6390         * lily/hara-kiri-group-spanner.cc
6391         (force_hara_kiri_in_y_parent_callback): fix signatures.
6393         * lily/hairpin.cc (print): check next hairpin to see whether or
6394         not to be continuing.
6396 2006-02-04  Jan Nieuwenhuizen  <janneke@gnu.org>
6398         * Remove trailing whitespace from makefiles.
6399         
6400         * flower/include/std-vector.hh: Add binary_search_bounds workaround
6401         for earlier gcc.
6403         * .cvsignore: Add out*, out-www, config-*.  Remove lots of cruft.
6405         * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6407         * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6409         * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6411         * configure.in: Use it.
6413 2006-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6415         * scm/music-functions.scm (pitch-of-note): new function.
6417         * ly/music-functions-init.ly: add \octave and \addquote
6419         * lily/parser.yy (music_function_chord_body): softcode \octave.
6420         (lilypond_header): softcode \addquote
6422 2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6424         * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6425         array.hh, parray.hh at all.  Getting ready to flip the
6426         configure default.
6428         * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6430         * lily/source-file.cc (file::get_line): Help binary_search_bounds
6431         a bit.
6433         * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6435 2006-02-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6437         * flower/include/array.hh: typo. 
6439 2006-02-02  Graham Percival  <gpermus@gmail.com>
6441         * Documentation/user/advanced-notation.itely: doc "\#" in text.
6443 2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6445         * flower/include/pqueue.hh: Derive from std::vector.
6447         * flower/include/parray.hh: Conform to std::vector interface.
6448         Update users.
6450 2006-02-02  Graham Percival  <gpermus@gmail.com>
6452         * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6454 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6456         * flower/file-path.cc (is_file): remove if 0 section.
6458         * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6459         selecting afii61352.
6461 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6463         * flower/include/std-vector.hh (boundary): Oops, reverse.
6465         * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6466         remove superfluous `d'.
6468         * flower/include/std-vector.hh (boundary, top): Detach from class.
6469         Remove empty vector shell.
6471         * flower/include/array.hh (reverse, swap): Detach from class.
6472         Update users.
6473         
6474         * flower/include/std-vector.hh
6475         * flower/include/array.hh (concat): Globally change to insert ().
6477         * flower/include/std-vector.hh
6478         * flower/include/parray.hh
6479         * flower/include/array.hh (elem, elem_ref): Globally replace by
6480         at ().
6482 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6484         * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6486         * python/convertrules.py (FatalConversionError.sub_cxx_id):
6487         anticipate on identifier substitutions.
6489 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6491         * flower/include/std-vector.hh (insert): Remove, replace by
6492         std::vector interface.  Update callers.
6494         * flower/include/array.icc (insert): Change signature to
6495         match std::vector interface.
6496         
6497         * flower/include/array.icc (vector_sort): Bugfix.
6499 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6501         * lily/parser.yy (output_def_head_with_mode_switch): new
6502         production. Result: dashes and underscores may be used in the
6503         \paper block.
6505         * lily/lexer.ll: add DASHED_WORD.  Accept in INITIAL mode.
6507         * python/convertrules.py (conv): oops. One slash too much.
6509 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6511         * flower/include/std-vector.hh (sort): Remove, replace by
6512         ::vector_sort.  Update callers.
6514         * flower/include/std-vector.hh (slice): Remove.  Update callers.
6515         (sort): Bugfix.
6517         * flower/test-std.cc (vector_sort): New test.
6519 2006-02-01  Graham Percival  <gpermus@gmail.com>
6521         * Documentation/user/putting.itely: fixes from Erik.
6523 2006-02-01  Jan Nieuwenhuizen  <janneke@gnu.org>
6525         * flower/test-std.cc: Add simple unit test for vector migration.
6527         * stepmake/stepmake/test*: Unit test support.
6529         * flower/include/std-vector.hh (del): Remove.  Use erase (),
6530         update callers.
6532         * flower/include/array.hh (begin, end): Add.
6533         (del, get): Remove.
6535 2006-02-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6537         * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6538         std::string not String. 
6540         * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6541         iso UINT_MAX.
6543         * lily/prob.cc (Prob): copy type_ too.
6545         * lily/lily-guile.cc (mangle_cxx_identifier): new
6546         function. Class_bla::foo_bar_[px] ->
6547         ly:class-bla::foo-bar[?!]. Changes throughout
6549 2006-01-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6551         * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6553         * lily/beam.cc (calc_direction): take dir from visible stem in
6554         degenerate case.
6556 2006-01-31  Jan Nieuwenhuizen  <janneke@gnu.org>
6558         * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6559         Fix -1, >=0 boundary checks for unsigned vsize.
6561         * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6562         loop for unsigned vsize.
6564         * configure.in (--enable-std-vector): New option.
6565         (--enable-std-string): On by default.
6567         * flower/include/std-vector.hh: New file.  Enable switch to
6568         std::vector, update client code.
6570 2006-01-30  Graham Percival  <gpermus@gmail.com>
6572         * scm/document-translation.scm: clarify "this context is also
6573         known as".  Thanks, Werner!
6575         * Documentation/user/putting.itely: small fixes from Don Blaheta.
6577         * Documentation/user/invoking.itely: small fix from Don.
6579 2006-01-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6581         * scm/lily.scm (define-scheme-options): rename option
6582         preview-include-book-title to book-title-preview
6583         (define-scheme-options): move force-eps-font-include (from paper
6584         block) to eps-font-include -d option.
6586         * VERSION (PATCH_LEVEL): release 2.7.30
6588         * input/bach-schenker.ly (staffPiano): new file.
6590         * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6592         * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6593         credits to Nicolas.
6595         * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6597         * ps/lilyponddefs.ps: remove start-system, stop-system,
6598         start-page fluff. This saves putting { } code on the stack, fixing
6599         stack overflows when including EPS files.
6601 2006-01-29  Graham Percival  <gpermus@gmail.com>
6603         * Documentation/user/putting.itely: minor fixes (comments on -devel).
6605 2006-01-29  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6607         * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6609 2006-01-28  Graham Percival  <gpermus@gmail.com>
6611         * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6613 2006-01-28  Jan Nieuwenhuizen  <janneke@gnu.org>
6615         * input/mutopia/claop.py: Update.
6617 2006-01-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6619         * input/regression/completion-heads.ly (texidoc): fix.
6621         * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6623         * lily/tie-formatting-problem.cc
6624         (set_ties_config_standard_directions): use abs iso fabs for ints.
6626         * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6628         * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6629         little less than noteheight, to prevent overlaps in chords.
6631         * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6632         head, and fudge stem-attachment.
6634         * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6636         * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6638 2006-01-27  Jan Nieuwenhuizen  <janneke@gnu.org>
6640         * lily/main.cc (main): Debugging aid: catch exceptions.
6642         * flower/std-string.cc (to_string): Robustification.  Fixes midi
6643         output with std::string.
6645 2006-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6647         * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6649 2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>
6651         * Fix -DSTRING_UTILS_INLINED.
6653 2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6655         * VERSION (PATCH_LEVEL): release 2.7.29
6657         * lily/relocate.cc (setup_paths): mingw uses std string too.
6659         * lily/*.cc: various fixes for substr(ARG).
6661         * lily/sustain-pedal.cc (print): 
6663         * flower/file-name.cc (slashify): use std strings.
6665         * flower/string-convert.cc: remove publib.h
6667         * scm/define-markup-commands.scm (verbatim-file): new markup
6668         command \verbatim-file
6670         * Documentation/topdocs/NEWS.tely: fixup URLs
6672         * input/regression/alignment-vertical-manual-setting.ly (Module):
6673         new file.
6675         * lily/align-interface.cc (align_elements_to_extents): overwrite
6676         translations with numbers in alignment-offsets from left bound
6678         * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6679         (page-translate-systems): new function: take into account Y-offset.
6681         * Documentation/topdocs/NEWS.tely (Top): document new features.
6683         * input/regression/page-layout-manual-position.ly (Module): new
6684         file.
6686 2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>
6688         * flower/file-path.cc (path::parse_path): Oops.
6690         * Finish std::string interface.  For now, use std:: marker
6691         throughout for easy s/r.
6693 2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6695         * Documentation/user/putting.itely (Score is a single musical
6696         expression): typo.
6697         (Score is a single musical expression): more typos.
6699         * scm/page.scm (annotate-space-left): thinko.
6700         (annotate-page): more thinkos.
6702 2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6704         * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6705         for different \score blocks separately.
6706         (post-process-pages): put write-page-layout into paper block.
6708         * lily/output-def.cc (get_parser): new file.
6710         * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6711         file.
6713         * lily/include/output-def.hh (class Output_def): add parser_ member.
6715         * input/regression/page-layout-twopass.ly (Module): new file.
6717         * scm/lily.scm: remove cpp hack.
6719         * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6721 2006-01-25  Jan Nieuwenhuizen  <janneke@gnu.org>
6723         * GNUmakefile.in (c-clean): New target.
6725         * flower/include/std-string.hh: String/std::string compatibility:
6726         Use NPOS for `not found' (iso -1), use ssize for length () and pos
6727         type.
6729         * flower/rational.cc: 
6730         * flower/include/rational.hh: 
6732         * flower/offset.cc: 
6733         * flower/include/offset.hh: 
6735         * flower/interval.cc: 
6736         * flower/include/interval.hh: 
6738         * flower/string-convert.cc: 
6739         * flower/include/string-convert.hh: Use std::string [interface].
6740         Update callers.
6742 2006-01-25  Heikki Junes  <hjunes@cc.hut.fi>
6744         * Documentation/index.html.in: clean up.
6746 2006-01-25  Graham Percival  <gpermus@gmail.com>
6748         * Documentation/user/putting.itely: another new untested doc section.
6750 2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6752         * scm/layout-page-layout.scm (write-page-breaks): write
6753         \spacingTweaks #ALIST. Handle grace timing.
6755         * scm/: more imports.
6757         * scm/page.scm (make-page): add footer/header.
6758         (annotate-space-left): revise: only take page argument.
6759         (layout->page-init): new function.
6761         * scm/layout-page-layout.scm (write-page-breaks): preliminary
6762         version of the system/spacing/linebreak hack writing to the output
6764         * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6765         ly:make-prob.
6767         * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6768         ly:spanner-bound
6770 2006-01-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6772         * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6774         * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6776         * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6777         handling to page.scm
6779         * lily/prob-scheme.cc (LY_DEFINE): new file.
6780         (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6782         * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6783         prob functions.
6785         * lily/music.cc (derived_mark): derive Music from Prob.
6787         * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6789         * lily/prob.cc (Module): Implement Prob (Property Object), object
6790         with shared and r/w property alists.  
6792         * lily/include/prob.hh (Module): new file. Declare Prob.
6794         * flower/string.cc: remove is_empty().
6796         * flower/include/string.hh (class String): remove String:: qualifier.
6798         * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6799         substitute appropriate functions.
6801         * flower/include/string.hh (class String): remove to_str0 and
6802         is_empty(). S&R everywhere.
6804 2006-01-23  Graham Percival  <gpermus@gmail.com>
6806         * Documentation/user/basic-notation.itely: add hairpin
6807         after-linebreak tweak to commonprop.
6809         * Documentation/user/putting.itely: added two new sections.
6811 2006-01-23  Jan Nieuwenhuizen  <janneke@gnu.org>
6813         * flower/international.cc: 
6814         * flower/include/international.hh: 
6816         * flower/getopt-long.cc: 
6817         * flower/include/getopt-long.hh: Use std::string [interface].
6818         Update callers.
6820         * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6822         * stepmake/stepmake/executable-rules.make: Add dependency on
6823         module libraries.
6825 2006-01-22  Jan Nieuwenhuizen  <janneke@gnu.org>
6827         * flower/file-path.cc: 
6828         * flower/include/file-path.hh: Use std::string [interface].
6829         Update callers.
6831         * flower/direction.cc: 
6832         * flower/axis.cc: Unused.  Remove.
6834         * configure.in (--enable-std-string): New option.
6836         * flower/std-string.cc: 
6837         * flower/include/std-string.hh: New file.
6839         * flower/file-name.cc[STD_STRING]:
6840         * flower/include/file-name.hh[STD_STRING]: Use it.  Update callers.
6842 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6844         * scm/output-svg.scm (placebox): no GNU coding standards in SVG output. 
6846         * scm/define-markup-commands.scm (with-dimensions):
6847         with-dimensions markup command.
6849         * input/test/font-table.ly: use it.
6851         * lily/open-type-font.cc (glyph_list): new function.
6853         * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6855         * lily/ttf.cc: remove ly:font-glyph-list scheme function
6857 2006-01-22  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6859         * ly/music-functions-init.ly (parallelMusic): new music function
6860         for parallel music entry.
6862         * scm/define-music-properties.scm (all-music-properties): new
6863         'void music property
6865         * scm/music-functions.scm (ly:music-message): make public, to be
6866         used in music function definitions
6868         * scm/lily-library.scm (collect-music-for-book): discard music
6869         when the 'void property is set.
6871 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6873         * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6875         * mf/GNUmakefile: idem.
6877         * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6879         * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6881         * Documentation/user/notation-appendices.itely (The Feta font):
6882         use it.
6884         * input/test/font-table.ly: new file. Generate font table within lily.
6886         * Documentation/user/notation-appendices.itely (The Feta font):
6887         use new font-table.ly file. 
6889         * stepmake/stepmake/install-out-targets.make
6890         (local-install-outfiles): only create directory if
6891         $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6893 2006-01-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6895         * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6897         * VERSION (PACKAGE_NAME): release 2.7.28
6899         * scm/framework-ps.scm (write-preamble): use it to pick exactly
6900         the right font from a Mac dfont.
6901         (write-preamble): don't forget directory, only look at files.
6903         This fixes problems with TTF files in dfonts that don't match
6904         their PostScript names.
6905          
6906         * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6907         PS name from TTF font.
6909         * input/regression/tie-manual.ly: document new feature.
6911         * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6913         * VERSION (MY_PATCH_LEVEL): bump to .28
6915         * Documentation/user/basic-notation.itely (Ties): add tie examples
6916         refs.
6918         * lily/tie-formatting-problem.cc (score_ties_configuration):
6919         symmetry penalties for outer ties.
6921 2006-01-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6923         * lily/tie-formatting-problem.cc (generate_configuration) 
6924         (set_manual_tie_configuration): skip non-pair manual
6925         tie-configuration, so you can set individual ties as
6927           #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6929         * input/regression/tie-chord.ly: use generateTiePattern to
6930         simplify file.
6932         * lily/tie-formatting-problem.cc (peak_around): new function.
6933         (score_configuration): use sliding criterion for staff line collisions. 
6934         (score_configuration): idem for dot collisions.
6935         (generate_configuration): use separate stem_gap for gap to stem.
6937         * lily/include/tie-formatting-problem.hh (struct Tie_details):
6938         separate penalty factors for x and y distance.
6939         (struct Tie_details): separate penalties for tip and center line collisions.
6941 2006-01-19 Han-Wen Nienhuys  <hanwen@xs4all.nl>
6943         * lily/tie-formatting-problem.cc (generate_configuration): make
6944         large ties avoid stafflines in the horizontal section.
6945         (score_configuration): use softcoded penalties
6946         (score_aptitude): idem.
6948         * lily/tie-helper.cc (from_grob): softcode tie details
6950         * lily/staff-symbol-referencer.cc (on_staff_line): new function
6952         * lily/staff-symbol-referencer.cc (on_line): rename from
6953         on_staffline 
6955 2006-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6957         * ly/music-functions-init.ly: remove duplicate tag.
6959         * lily/include/*.hh: GCC 4.1 fixes.
6961 006-01-16  Erlend Aasland  <erlenda@gmail.com>
6963         * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6965         * scm/define-music-types.scm: fix bug in desc. string
6966         for OverrideProperty
6968 2006-01-15 Erik Sandberg  <mandolaerik@gmail.com>
6970         * scripts/lilypond-book.py: bugfix
6972         * scm/define-music-types.scm: fix typos.
6974 2006-01-14  Graham Percival  <gpermus@gmail.com>
6976         * Documentation/user/ basic-notation.itely, global.itely,
6977         advanced-notation.itely, instrument-notation.itely: small
6978         additions (bugs and commonly tweaked properties).
6980 2006-01-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6982         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6983         detection of mingw build.
6984         (MINGW_BUILD): opps.
6986 2006-01-12  Jan Nieuwenhuizen  <janneke@gnu.org>
6988         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6989         i686-mingw32.
6991 2006-01-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6993         * scm/music-functions.scm (skip->rest): add skip->rest
6995 2006-01-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6997         * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6998         explicitly.
7000         * lily/font-config-scheme.cc (LY_DEFINE): also display font and
7001         config dirs. Aids debugging. 
7002         (display_config): also display config files.
7004 2006-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7006         * VERSION: release 2.7.27
7008         * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
7009         for determining bar size.
7011         * lily/staff-symbol.cc (print): place lines at distance line-positions
7013         * scm/define-grob-properties.scm (all-user-grob-properties): add
7014         line-positions.
7016         * lily/staff-symbol.cc (height): new function.
7018         * input/regression/staff-line-positions.ly:  new file.
7020 2006-01-06  Graham Percival  <gpermus@gmail.com>
7022         * input/test/add-staccato.ly: remove reference to old file.
7024 2006-01-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7026         * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
7027         lilypond binary too.
7029 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7031         * make/mutopia-rules.make (Module): use LILYPOND_BINARY
7033 2006-01-06  Jan Nieuwenhuizen  <janneke@gnu.org>
7035         * scripts/midi2ly.py: Bugfix: Declare datadir.
7037         * make/ly-rules.make:
7038         * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
7039         that seems to be gone). Fixes make web.
7041         * The grand 2005-2006 replace.
7043         * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
7045 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7047         * make/lilypond-vars.make: set LILYPOND_BINARY variable
7048         (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
7049         LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
7050         like -dgs-font-load.
7052         * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
7053         remove absolute path to lilypond binary.
7054         
7055 2006-01-05 Pedro Kroeger    <kroeger@pedrokroeger.net>
7057         * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
7059 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7061         * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
7063         * mf/GNUmakefile: remove broken dvips map symlink.
7065 2006-01-04  Jan Nieuwenhuizen  <janneke@gnu.org>
7067         * lily/main.cc: 
7068         * configure.in: Cosmetic fixes.
7070 2006-01-04  Mats Bengtsson  <mabe@s3.kth.se>
7072         * Documentation/user/music-glossary.tely (Pitch names): Added
7073         Spanish pitch names and durations, thanks to Ernesto Gancedo
7075 2006-01-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7077         * scm/lily.scm (define-scheme-options): use quasi-quote for option
7078         init. Fixes verbose printing of .scm files.
7080         * stepmake/aclocal.m4: add spaces before - options.
7081         
7082 2006-01-03  Jan Nieuwenhuizen  <janneke@gnu.org>
7084         * lily/relocate.cc (setup_paths): Bugfix: do not store result
7085         of path search in local block variable.
7087 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7089         * configure.in (NCSB_DIR): --enable-ncsb-dir
7090         (LINK_GXX_STATICALLY): denko.
7092         * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH. 
7094         * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option. 
7095         use locate to find c059033l.pfb. 
7096         
7097 2006-01-02  Jan Nieuwenhuizen  <janneke@gnu.org>
7099         * lily/tie-formatting-problem.cc
7100         (problem::generate_base_chord_configuration): Use my_round (was
7101         round).
7103         * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
7104         do not invoke mbrtowc.
7106         * lily/relocate.cc (setup_paths): Add more debugging verbosity.
7108 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7110         * scm/lily.scm (lilypond-all): oops. remove debugging hack.
7112 2005-01-02  Heikki Junes  <hjunes@cc.hut.fi>
7114         * Documentation/user/invoking.itely (svg): revise.
7116 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7118         * lily/lexer.ll: use sourcefilename iso. renameinput.
7120 2006-01-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7122         * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
7123         <PostScriptName>.ttf instead of c059XXXttf.
7125         * lily/program-option.cc (LY_DEFINE): special support for
7126         --verbose, so it works before option init too.
7128         * mf/GNUmakefile (local-install): oops.
7130         * lily/lyric-hyphen.cc (print): oops.
7132         * buildscripts/pfx2ttf.fontforge: new file.
7133         
7134         * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
7135         ($(outdir)/%.ttf): new rule. 
7137         * scm/define-grobs.scm (all-grob-descriptions): add font-interface
7138         to LyricHyphen.
7140         * lily/lyric-hyphen.cc (print): multiply hyphen height by
7141         font-size
7143 2005-12-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7145         * VERSION: release 2.7.26
7146         
7147         * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
7149 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7151         * lily/font-config.cc (init_fontconfig): verbosity.
7153         * THANKS: add Muziekacademie Lede. 
7155         * scripts/musicxml2ly.py (print_voice_definitions): new function 
7156         (print_score_setup): new function
7157         (convert): read part definition to output staves properly.
7159         * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
7160         Music_xml notes.
7162         * python/musicexp.py (Output_printer.__init__): use _ in data
7163         members.
7164         (Output_printer.unformatted_output): new function: no formatting,
7165         but count braces.
7166         (Duration.get_length): remove isinstance() checks for
7167         Output_printer everywhere.
7169         * input/regression/lyrics-bar.ly (texidoc): add
7170         Separating_line_group_engraver.
7172 2005-12-29  Jan Nieuwenhuizen  <janneke@gnu.org>
7174         * lily/relocate.cc (framework_relocation): New function,
7175         factored from set_relocation ().
7176         (prefix_relocation): Rename from set_relocation ().
7177         (setup_paths): Use it.
7179 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7181         * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
7182         numbers. Patch by Erlend Aasland.
7184 2005-12-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7186         * lily/font-config.cc (init_fontconfig): print warning if cache
7187         file is not existant.
7189         * lily/main.cc: don't use #ifdef but #if
7191 2005-12-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7193         * lily/grob-property.cc (internal_set_property): don't abort on
7194         calculation-in-progress.
7196         * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
7198         * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
7199         connect-to-neighbor property not connect-to-other
7201         * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
7202         (LY_DEFINE): oops. don't forget protection.
7204         * flower/parse-afm.cc (Module): strip AFM handling completely.
7206         * lily/stencil-expression.cc: idem.
7208         * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
7210         * lily/function-documentation.cc (ly_add_function_documentation):
7211         use static member iso. Protected_scm
7213         * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
7215         * config.make.in (prefix): remove HAVE_KPATHSEA_SO
7217 2005-12-27  Jan Nieuwenhuizen  <janneke@gnu.org>
7219         * lily/relocate.cc (set_env_dir): New function.
7220         (set_relocation): Use it to fix setting PANGO_PREFIX.
7222 2005-12-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7224         * input/regression/stem-direction-context.ly: remove rest.
7226         * lily/melody-engraver.cc (process_music): restart for bar lines.
7227         (acknowledge_slur): restart for slurs.
7229 2005-12-27  Heikki Junes  <hjunes@cc.hut.fi>
7231         * Documentation/user/invoking.itely: describe how to view SVG 
7232         output using Inkscape which replace embedded fonts with OTF fonts.
7234 2005-12-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7236         * lily/relocate.cc (set_relocation): set PANGO_PREFIX
7238 2005-12-23  Jan Nieuwenhuizen  <janneke@gnu.org>
7240         * lily/melody-engraver.cc (class Melody_engraver): Remove lying
7241         comment.
7243 2005-12-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7245         * VERSION (PACKAGE_NAME): release 2.7.25
7247         * Documentation/topdocs/NEWS.tely (Top): document new feature.
7249         * input/regression/stem-direction-context.ly: new file.
7251         * lily/relocate.cc (set_relocation): add PANGO_PREFIX
7253         * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
7254         on rest.
7256         * ly/engraver-init.ly: add Melody_engraver
7258         * lily/beam.cc (calc_direction): use default-direction
7259         iso. get_default_direction()
7261         * scm/define-grob-properties.scm (all-user-grob-properties): add
7262         default-direction property.
7264         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
7266         * lily/stem.cc (calc_default_direction): remove
7267         Stem::get_default_direction, use default-direction with callback
7268         instead.
7270         * lily/melody-spanner.cc (calc_neutral_stem_direction): 
7272         * lily/melody-engraver.cc: new file. Acknowledge stems for
7273         interpolated stem directions. 
7275         * lily/melody-spanner.cc: new file. Interpolate stem directions.
7277         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
7279         * lily/slur-configuration.cc (fit_factor): more robust check for
7280         point in curve X-extent.
7282         * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
7283         (outside_slur_callback): check for 'outside avoidance.
7285         * lily/slur-configuration.cc (score_extra_encompass): don't use
7286         bound->column() == avoid->column() for checking extents, as this
7287         doesn't work for accidentals. 
7289         * lily/slur-engraver.cc (acknowledge_extra_object): remove
7290         DynamicText hardcoding.
7292         * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
7293         crash if bound stem is NULL
7295         * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
7296         pedals.
7298 2005-12-22  Graham Percival  <gpermus@gmail.com>
7300         * scm/define-markup-commands.scm: typo.  @code{\raise}
7301         => @code{\\raise}.
7303         * darwin.patch: now used again, includes a
7304         required patch from fink.
7306 2005-12-21  Heikki Junes  <hjunes@cc.hut.fi>
7308         * po/TODO: mention gtranslator along with kbabel.
7309         * po/fi.po: update translations.
7311 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7313         * lily/relocate.cc (setup_paths): Bugfix.
7315 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7317         * lily/slur-configuration.cc (score_extra_encompass): don't use
7318         "avoid" choice for avoid-slur.
7320         * stepmake/bin/install.py (dest): don't create existing dir.
7322 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7324         * stepmake/bin/install.py: Remove file before copying.
7326         * config.make.in: 
7327         * stepmake/aclocal.m4: Do not substitute INSTALL.
7329 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7331         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7332         depend on link-tree.
7334         * lily/relocate.cc (setup_paths): only check path for non-absolute
7335         dir without directory part.
7337         * flower/file-name.cc (is_absolute):  new method.
7338         (is_absolute): check root_ too.
7340 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7342         * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7343         relocation code.  Oops, don't comment out too much.
7345         * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7346         iso itself.
7348         * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h.  Fixes mingw
7349         compile.
7351 2005-12-20  Jan Nieuwenhuizen  <janneke@gnu.org>
7353         * .cvsignore: Add install-sh.
7355         * autogen.sh (srcdir): Typo.
7357 2005-12-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7359         * autogen.sh (srcdir): urg. Touch install-sh.
7361         * stepmake/bin/install-sh (Module): remove.
7363         * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7365         * lily/include/relocate.hh: new file.
7367         * lily/relocate.cc: new file. Contain relocation logic.
7369         * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7370         (main): read LILYPOND_VERBOSE as the first thing.
7372         * stepmake/aclocal.m4: remove INSTALL variable.
7374         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7375         separate target for making font symlinks.
7376         (documentation-dir): use $(if $(findstring )) for switching off
7377         Documentation.
7379         * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7380         something if DOCUMENTATION is no.
7382 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7384         * VERSION: release 2.7.24
7386         * lily/script-column-engraver.cc (stop_translation_timestep):
7387         delay adding to script-column.
7389         * lily/tuplet-bracket.cc (print): suicide if no control-points. 
7391         * python/convertrules.py (conv): rule for number-visibility
7393         * lily/slur-configuration.cc (score_extra_encompass): different
7394         distance measure for avoid and inside avoidance.
7395         (score_extra_encompass): use 1/(distance+eps) as penalty.
7397         * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7398         encompass objects for generating slur curves.
7400         * lily/slur.cc: use details iso. slur-details property.
7402         * input/regression/slur-tuplet.ly: new file.
7404         * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.  
7406         * flower/include/offset.hh (class Offset): new operator /=
7408         * lily/tuplet-number.cc (print): new file, new interface.
7410         * scm/define-grob-properties.scm (all-user-grob-properties):
7411         remove number-visibility property.
7413         * lily/tuplet-bracket.cc (calc_control_points): new function
7414         (calc_connect_to_neighbors): new function.
7415         (print): remove text handling for tuplet numberdef.
7417         * lily/tuplet-engraver.cc (struct Tuplet_description): create
7418         TupletNumbers too. 
7420         * lily/lily-guile.cc (robust_scm2booldrul): new function
7422         * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7424         * lily/tuplet-bracket.cc (calc_position_and_height): use
7425         staff-padding to control whether tuplet brackets are over staves.
7427         * lily/grob.cc (suicide): clear dim_caches_.
7429         * lily/dimension-cache.cc (clear): new function.
7431         * lily/grob.cc (extent): swap order of min-extent and extent
7432         calculations. This fixes hara kiri staves. 
7434 2005-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>
7436         * lily/main.cc: Nitpick: relocation is not based on path, but on
7437         directory (location).
7439 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7441         * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7443         * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7445         * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7447         * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7449         * stepmake/stepmake/generic-vars.make (Module): idem.
7451         * stepmake/stepmake/executable-targets.make (default): use it.
7453         * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7455         * make/GNUmakefile: don't install make rules.
7457         * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7458         slashes.
7459         (prepend_env_path): more verbosity.
7461 2005-12-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7463         * GNUmakefile.in: add dir argument for find command.
7465         * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7466         fixes weird line numbers for point & click.
7468         * lily/source-file.cc (get_counts): init line/column/char counts.
7470 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7472         * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7474 2005-12-16  Graham Percival  <gpermus@gmail.com>
7476         * Documentation/user/basic-notation.itely, advanced-notation.itely:
7477         minor fixes from Fredric.  Thanks!
7479 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7481         * ly/music-functions-init.ly: add \bar and \clef music function 
7483         * lily/lily-lexer.cc: idem.
7485         * lily/parser.yy (FIXME): remove BAR and CLEF.
7487 2005-12-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7489         * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7491         * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7492         function arguments too
7494         * lily/main.cc (set_relocation): new function.
7496         * scripts/musicxml2ly.py (convert): add \version
7498         * lily/tie.cc: remove get_default_attachments()
7500         * VERSION (PACKAGE_NAME): release 2.7.23
7501         
7502         * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7503         ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7505         * Documentation/topdocs/NEWS.tely (Top): document new feature.
7507         * lily/tie-formatting-problem.cc (score_ties): new function
7508         (get_variations): new function. Try flipping dirs for collisions.
7509         (generate_optimal_chord_configuration): new function. 1-opt search
7510         for better configuration.
7512         * lily/tie-configuration.cc: new file.
7514         * lily/tie.cc: junk Tie::get_configuration()
7516         * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7517         (score_ties_configuration): new function.
7518         (generate_ties_configuration): new function.
7519         (generate_base_chord_configuration): new function.
7520         (set_ties_config_standard_directions): Move body from tie-column-format.cc 
7521         (set_manual_tie_configuration): Move body from tie-column-format.cc 
7523         * input/regression/tie-dot.ly: new file.
7525         * lily/tie-formatting-problem.cc (score_configuration): score
7526         tie/dot collisions.
7528         * lily/tie-helper.cc (get_transformed_bezier): new function
7530         * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7532         * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7533         -undefined suppress iso. -framework Python 
7535         * scm/define-grobs.scm (all-grob-descriptions): set
7536         springs-and-rods (thanks Joe Neeman!)
7538 2005-12-12  Nicolas Sceaux  <nicolas.sceaux@free.fr>
7540         * input/no-notation/display-lily-tests.ly (test): 
7541         * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7542         changed from \tag #'(a b) to \tag #'a \tag #'b
7544 2005-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7546         * Documentation/topdocs/NEWS.tely: strip out-www.
7548         * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7550         * config.make.in (AR): add AR and RANLIB
7552         * flower/libc-extension.cc: include cassert
7554         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7555         darwin check.
7557 2005-12-11  Graham Percival  <gpermus@gmail.com>
7559         * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7561         * stepmake/stepmake/python-modules-vars.make: define
7562         SHARED_FLAGS for OSX.  Thanks Johannes Schindelin!
7564         * THANKS: added Johannes Schindelin.
7566 2005-12-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7568         * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7570         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7571         Span_arpeggio_engraver, add Tweak_engraver to Score context. 
7573         * lily/parser.yy: reorganize file layout.
7575         * ly/music-functions-init.ly: add tweak music function.
7577         * lily/grob-info.cc (ultimate_music_cause): new function:
7578         recursively lookup causes. 
7580         * lily/parser.yy (chord_body_element): allow music functions for
7581         post-events, allow music functions for chord elements. 
7583         * lily/font-config-scheme.cc (display_fontset): add cast.
7585         * python/convertrules.py (FatalConversionError.sub_syms): \tag
7586         #'(a b) -> \tag #'a \tag #'b rule.
7588         * python/musicexp.py (Output_printer.dump_version): new function
7590 2005-12-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7592         * lily/parser.yy (FIXME): remove \tag
7593         (FIXME): remove tag_music() function.
7595         * lily/lily-lexer.cc: remove \tag
7597         * ly/music-functions-init.ly: define music-function "tag"
7599         * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7601 2005-12-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7603         * VERSION (PATCH_LEVEL): release 2.7.22
7605         * input/regression/lyric-hyphen-retain.ly: renew.
7607         * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7608         grob
7610         * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7611         iso. minimum-length property for rods.
7613         * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7614         LyricSpace item to keep lyrics spaced apart.
7616         * ly/engraver-init.ly: remove Separating_line_group_engraver
7618         * Documentation/user/music-glossary.tely: do setfilename before
7619         music-glossary.
7621 2005-12-07  Heikki Junes  <hjunes@cc.hut.fi>
7623         * Documentation/user/lilypond-book.itely: use `,´ after xref:
7624         See xref documentation, for example.
7626 2005-12-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7628         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7629         pending_skip iso. ly_voice[-1]
7630         (main): add if __main__ for debugging.
7632         * python/musicxml.py (Accidental.__init__): new class.
7634         * scripts/musicxml2ly.py (progress): new function
7635         (musicxml_key_to_lily): don't barf on modeless keys.
7636         (create_skip_music): new function.
7637         (musicxml_spanner_to_lily_event): new function. Handle beams too.
7638         (musicxml_note_to_lily_main_event): new function.
7640         * python/musicexp.py (Music.__init__): add comment field.
7641         (NestedMusic.append): new routine.
7642         (SequentialMusic.print_ly): print comment.
7643         (ArpeggioEvent.ly_expression): new class
7644         (BeamEvent.ly_expression): new class
7645         (NoteEvent.__init__): support for cautionary/forced accs.
7647         * lily/lookup.cc (slur): normal order for array loop.
7649         * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7650         to 0.0.
7652         * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7653         collapsed.
7655 2005-12-06 Erik Sandberg  <mandolaerik@gmail.com>
7657         * scm/music-functions.scm: Make phrasing slurs follow voice direction
7659         * scripts/lilypond-book.py: Introduce option
7660             --preserve-line-breaks, for usage with srcltx
7662 2005-12-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7664         * scm/output-lib.scm (print-circled-text-callback): draw circle
7665         around text using make-circle-markup.
7667         * Documentation/user/*: strip out-www from file names.
7669 2005-12-05  Heikki Junes  <hjunes@cc.hut.fi>
7671         * Documentation/user/lilypond.tely (direntry): remove empty lines;
7672         fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7674 2005-12-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7676         * Documentation/user/GNUmakefile: idem.
7678         * Documentation/user/macros.itexi: strip out-www
7680         * python/rational.py: python 2.3 compat.
7682         * VERSION (PATCH_LEVEL): release 2.7.21
7684         * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7685         option formatting, lilypond style.
7687         * python/musicexp.py: grab from Ikebana: a library for composing
7688         ly music expressions. 
7689         (Output_printer): class for advanced .ly printing.
7690         (eg. tupletting) 
7692         * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7693         convert to pythonesque structure.
7695         * python/rational.py: PD rational number class.
7697         * Documentation/user/converters.itely (Invoking musicxml2ly):  new node.
7699 2005-12-04  Erik Sandberg  <mandolaerik@gmail.com>
7701         * lily/part-combine-iterator.cc: Minor bugfix
7702         
7703         * THANKS: Update bughunters
7705 2005-12-02  Werner Lemberg  <wl@gnu.org>
7707         * mf/README: Document process for proper mf2pt1 conversion.
7709         * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7710         overlapping.
7712         * mf/feta-harmonica.mf: Removed.  Unused.
7714 2005-12-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7716         * scripts/lilypond-book.py (do_file): fix thinkos.
7718 2005-12-01  Jan Nieuwenhuizen  <janneke@gnu.org>
7720         * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7721         ($(outdir)/parser.cc): 
7722         ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7724 2005-11-30  Pedro Kröger  <kroeger@pedrokroeger.net>
7726         * ly/titling-init.ly (tagline): it should be a space between
7727         "Music engraving by LilyPond" and the version number.
7729 2005-12-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7731         * VERSION (PACKAGE_NAME): release 2.7.20
7733 2005-11-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7735         * scm/define-markup-commands.scm (pad-to-box): new markup command.
7737         * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7738         1.0.
7739         (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7741 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7743         * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7745         * kpath-guile/: remove directory
7747         * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7748         file. Encapsulate kpathsea using commandline tools.
7750         * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7751         kpathsea) module.
7753 2005-11-29  Mats Bengtsson  <mabe@s3.kth.se>
7755         * Documentation/user/advanced-notation.itely (Setting automatic
7756         beam behavior): Correct a few typos. Thanks to David Bobroff.
7758         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7759         \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7761 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7763         * scripts/*.py: gmane address for bugs.
7765 2005-11-28 Pal Benko <benkop@freestart.hu>
7766         
7767         * make/ly-rules.make: add -f switch to mv
7769         * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7771         * lily/bar-line.cc: interpret it
7773 2005-11-28  Jan Nieuwenhuizen  <janneke@gnu.org>
7775         * configure.in (--disable-documentation): New switch.
7777         * GNUmakefile.in: Use it.
7779         * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7781 2005-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7783         * scripts/lilypond-book.py (do_file): search chunks for
7784         \\begin{document}
7786         * GNUmakefile.in: add copy step in between so we can lose the
7787         out-www directories.
7789 2005-11-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7791         * lily/pango-font.cc (pango_item_string_stencil): put
7792         geometry.width into glyph-string too.
7794 2005-11-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
7796         * scm/define-music-display-methods.scm (RevertProperty):
7797         (OverrideProperty): Use grob-property-path property, a list of
7798         symbols, instead of grob-property, which used to be a single
7799         symbol.
7800         (BassFigureEvent): a figure can be a plain number, not necessarily a
7801         markup.
7803 2005-11-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7805         * VERSION: release 2.7.19
7806         
7807         * lily/figured-bass-engraver.cc (process_music): check
7808         figuredBassCenterContinuations first.
7810         * scm/translation-functions.scm (format-bass-figure): make double
7811         sharp larger. 
7813         * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7814         determine X-parent.
7816         * lily/system-start-delimiter-engraver.cc: move from
7817         Nested_system_start_delimiter_engraver, rename
7818         Nested_system_start_delimiter_engraver ->
7819         System_start_delimiter_engraver.
7821         * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7822         bracket type from hierarchy.
7824 2005-11-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7826         * lily/rest.cc (y_offset_callback): read staff-position.
7828         * scm/define-grob-properties.scm (all-user-grob-properties): don't
7829         mark after-line-breaking-callback as internal.
7831         * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7833 2005-11-25  Werner Lemberg  <wl@gnu.org>
7835         * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7837 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7839         * stepmake/bin/add-html-footer.py (do_file): add google
7841         * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7842         staff if first_start_ is true.
7844 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7846         * scripts/midi2ly.py (split_track): add __repr__ members.
7847         (track_first_item): only return Item if not None. This fixes a
7848         problem when dumping a track that starts with an empty channel.
7850         * python/midi.c: doc module.
7852 2005-11-22  Mats Bengtsson  <mabe@s3.kth.se>
7854         * Documentation/user/global.itely (Creating MIDI files): Fix
7855         compilation problem.
7857 2005-11-22  Graham Percival  <gpermus@gmail.com>
7859         * Documentation/user/basic-notation.itely: clarify dynamic
7860         padding text.
7862         * Documentation/user/advanced-notation.itely: add unicode
7863         escape control example, whatever that is.  :)
7865         * Documentation/user/global.itely: added "removing dynamics
7866         from MIDI" code.
7868 2005-11-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7870         * VERSION (PATCH_LEVEL): release 2.7.18
7872         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7873         System_start_delimiter_engraver by
7874         Nested_system_start_delimiter_engraver.
7876         * lily/nested-system-start-delimiter-engraver.cc (struct
7877         Bracket_nesting_node): new class.
7878         (struct Bracket_nesting_group): new class
7879         (struct Bracket_nesting_staff): new class.
7880         (process_music): create hierarchy of grobs. This allows separate
7881         tuning of different SSDs. 
7883         * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7884         (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7886 2005-11-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7888         * lily/side-position-interface.cc (aligned_side): multiply
7889         staff_radius by 2.
7891         * lily/script-engraver.cc (make_script_from_event): allow setting
7892         values to '()
7894 2005-11-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7896         * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7898         * scm/define-grobs.scm (all-grob-descriptions): new grob
7899         NestedSystemStartDelimiter.
7901         * input/regression/system-start-heavy-bar.ly: new file.
7903         * lily/nested-system-start-delimiter-engraver.cc: new file.
7905         * lily/nested-system-start-delimiter.cc: new file.
7907         * input/regression/system-start-nesting.ly: new file.
7909         * scm/define-grobs.scm (all-grob-descriptions): use X side
7910         positioning for positioning braces for nested contexts.
7912         * lily/system-start-delimiter.cc (print): don't divide extent by
7913         staff_space.
7914         (print): use style iso. glyph.
7915         (staff_bracket): translate glyph inside routine already.
7917 2005-11-18  Michael Welsh Duggan <md5i@cs.cmu.edu>
7919         * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7920         names.
7922 2005-11-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7924         * scm/define-context-properties.scm
7925         (all-user-translation-properties): rename figuredBassFormatter
7926         from newFiguredBassFormatter.
7928         * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7930         * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7932         * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7934         * lily/beam.cc (calc_beaming): new function.
7935         (calc_shorten): new function.
7937         * THANKS: add Edward Neeman.
7939         * input/regression/accidental-clef-change.ly: new file.
7941         * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7943         * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7945         * lily/clef-engraver.cc (inspect_clef_properties): reset
7946         localKeySignature for clef changes.
7948 2005-11-17  Mats Bengtsson  <mabe@s3.kth.se>
7950         * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3 
7951         add dummy definition that works in Linux and add information in
7952         INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7954         * Documentation/user/changing-defaults.itely (Modifying context
7955         plug-ins): Add index for \with.
7957         * Documentation/user/music-glossary.tely (dal segno): Updated
7958         example to version >=2.6.
7960 2005-11-16  Mats Bengtsson  <mabe@s3.kth.se>
7962         * Documentation/user/instrument-notation.itely (Printing chord
7963         names): Reorder \chordmode and \repeat in one example.
7965 2005-11-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7967         * VERSION: release 2.7.17
7968         
7969         * Documentation/topdocs/NEWS.tely (Top): add note about
7970         refactoring.
7972         * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7973         new function. Search region of 3 positions for best tie.
7974         (score_configuration): new function.
7975         (score_aptitude): new function.
7976         (generate_configuration): new function.
7977         (get_configuration): new function.
7978         (Tie_formatting_problem): new function
7980         * input/regression/page-top-space.ly: a6 for page-top-space demo. 
7982         * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7984         * THANKS: add Eduardo Vieira & Ralph Little
7986         * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7987         narrower.
7989         * lily/include/tie-formatting-problem.hh (class
7990         Tie_formatting_problem): add Tie_details to
7991         Tie_formatting_problem. Update calling conventions.
7993         * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7994         config.make.
7996         * Documentation/user/lilypond.tely: remove musedata2ly entry.
7998 2005-11-16  Jürgen Reuter  <reuter@ipd.uka.de>
8000         * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
8001         scm/define-context-properties.scm: Maintenance bugfix: make
8002         ligature brackets work again by removing obsolete ligature
8003         primitive callback push/pop.
8005         * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
8006         not call Tuplet_bracket::calc_direction.  Removed obsolete gap
8007         value.
8009 2005-11-15  Jan Nieuwenhuizen  <janneke@gnu.org>
8011         * stepmake/aclocal.m4 (depth): Explain why absolute directory is
8012         used and do not call it a path.
8013         (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
8015 2005-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8017         * lily/include/tie-formatting-problem.hh (class
8018         Tie_formatting_problem): new file.
8020         * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
8022         * Documentation/misc/ChangeLog-2.3:  new file.
8024         * lily/audio-staff.cc (output): degarianize.
8026 2005-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>
8028         * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
8029         Unset PYTHONOPTIMIZE.  Fixes install if set.
8031 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8033         * python/convertrules.py (conv): add warning about drums. 
8035         * make/stepmake.make: include toplevel-version.make after config.make.
8037         * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
8038         also allow python2.4
8040         * config.make.in (configure-srcdir): remove GXX GCC vars.
8042         * stepmake/aclocal.m4: don't do non-srcdir build with
8043         symlinks. Use inclusion, so the src directory name can be changed.
8045 2005-11-13  Jan Nieuwenhuizen  <janneke@gnu.org>
8047         * make/mutopia-vars.make:
8048         * make/ly-vars.make: Use src-wildcard iso wildcard for source
8049         files.
8051 2005-11-13  Werner Lemberg  <wl@gnu.org>
8053         * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
8054         but the affected path.  This ensures that the (overlapping) outlines
8055         have the same direction, which is a necessary prerequisite for
8056         FontForge's algorithm to remove overlaps.
8057         Formatting.
8059         * mf/feta-haak.mf: Formatting.
8060         (draw_bracket): Slightly modify outline to avoid an unnecessary
8061         corner.
8062         Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
8063         them from the affected paths.
8065 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8067         * mf/README: remove xpm / accordion notes.
8069         * lily/tie-column-format.cc (set_chord_outline): add dots into
8070         skyline extents. This fixes tie formatting if the left head has dots.
8072         * lily/tie.cc (get_configuration): only shift tie by a whole staff
8073         space inside the staff.
8074         (get_configuration): shift another position if necessary in case
8075         of left head tie  
8077 2005-11-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8079         * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
8080         buildscript-dir iso. $(depth)/buildscripts.
8082         * tex/GNUmakefile (local-uninstall): remove
8083         music-drawing-routines.ps juggling.
8085         * stepmake/stepmake/install-targets.make (local-install-files):
8086         prepend src-dir to install targets.
8088         * lily/system-start-delimiter-engraver.cc
8089         (acknowledge_system_start_delimiter): use
8090         add_offset_callback(). This fixes translation of nested
8091         staffgroups.
8093         * lily/grob-closure.cc (add_offset_callback): only encaps in
8094         simple_closure if it's a procedure.
8095         
8096         * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
8097         from bar-line.
8099         * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
8100         remove-empty where pertinent.
8102 2005-11-12  Graham Percival  <gpermus@gmail.com>
8104         * Documentation/user/instrument-notation.itely: added
8105         Cameron Horsburgh's multiple stanzas docs.  Thanks!
8107 2005-11-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8109         * lily/GNUmakefile
8110         ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
8111         make picture in builddir, not srcdir.
8113 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8115         * VERSION: release 2.7.16
8116         
8117         * scripts/lilypond-book.py (main): use commands.mkarg () to quote
8118         shell arguments. 
8120 2005-11-10  Mats Bengtsson  <mabe@s3.kth.se>
8122         * Documentation/user/examples.itely (Piano templates): Minor
8123         modification to the Piano centered lyrics example.
8125 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8127         * scripts/lilypond-invoke-editor.scm (run-browser): look at
8128         $BROWSER.
8130         * Documentation/user/point-and-click.itely: simplify p&c
8131         instruction: don't configure firefox. Put lilypond-invoke-editor
8132         in front of the browser.
8134         * scripts/lilypond-invoke-editor.scm (run-editor): new function.
8135         (run-browser): new function.
8137         * lily/parser.yy (Lily_lexer): recognize Book
8139         * lily/book.cc (clone): new function
8141         * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
8143 2005-11-10  Jürgen Reuter  <reuter@ipd.uka.de>
8145         * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
8146         Maintenance bugfix: reduce number of font related warnings by
8147         updating naming conventions for glyph-name.
8149 2005-11-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8151         * scm/define-grobs.scm (all-grob-descriptions): add
8152         rhythmic-grob-interface to TabNoteHead.
8154         * scm/layout-beam.scm (check-quant-callbacks): remove
8155         set_stem_lengths()
8157 2005-11-08  Jürgen Reuter  <reuter@ipd.uka.de>
8159         * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
8160         alignment of centered divisiones.
8162         * scm/scripts.scm (articulations): Maintenance bugfix:
8163         follow-into-staff -> quantize-position.
8165         * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
8166         plica head in porrectus deminutus.
8168 2005-11-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8170         * make/lilypond.fedora.spec.in (Group): add %clean section.
8172         * lily/tuplet-bracket.cc (print): change check: remove bracket if
8173         less then 1/5th of total length.  
8174         (print): use gap too.  Fixes tupletUp-single-bracket.ly
8176         * scm/music-functions.scm (glue-mm-rest-texts): also put other
8177         events into EventChord. This fixes textspanners on mm rests. Fixes
8178         spanner-rest.ly
8180         * lily/side-position-interface.cc (get_axis): read side-axis
8181         (set_axis): set side-axis.
8183         * scm/define-grobs.scm (all-grob-descriptions): add side-axis
8184         properties everywhere.
8186         * lily/spacing-spanner.cc (breakable_column_spacing): add
8187         average-spacing-wishes. Take maximum if not set.
8188         (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
8190         * scm/define-grobs.scm (all-grob-descriptions): add
8191         average-spacing-wishes.
8193         * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
8194         offset callbacks. This fixes alignment for Fingering objects.
8196         * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
8197         space for key - timesig combination. 
8199         * input/regression/script-stem-tremolo.ly (Module): new file.
8201         * scm/define-grobs.scm (all-grob-descriptions): decrease distance
8202         to key sig.
8204         * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
8205         Fixes: c-tremolo-script.ly.
8206         
8207         * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
8209         * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
8210         
8211         * scm/define-grobs.scm (all-grob-descriptions): remove
8212         self-X-offset. Fixes alignment of octavate-8.
8214         * scripts/lilypond-book.py (datadir): look in
8215         LILYPONDPREFIX/share/lilypond/current/
8217         * GNUmakefile.in: symlink current to <VERSION>. 
8219 2005-11-07  Pedro Kroger  <kroeger@pedrokroeger.net>
8221         * lily/main.cc: eps listed as a backend.
8223 2005-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8225         * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
8227 2005-11-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8229         * lily/include/score.hh (class Score): remove texts_ member.
8231         * lily/beam.cc (set_stem_lengths): force direction callback.
8232         (print): read quantized-positions, so we can force
8233         Beam::set_stem_lengths to occur.
8234         (rest_collision_callback): use common X parent. 
8236 2005-11-03  Jan Nieuwenhuizen  <janneke@gnu.org>
8238         * flower/file-path.cc (find): Bugfix: Return name of file found.
8240         * lily/main.cc (setup_paths): Bugfix for argv0 logic.
8241         (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
8242         (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
8244 2005-11-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8246         * flower/offset.cc: idem.
8248         * mf/*.mf: update email address.
8250         * lily/font-config-scheme.cc:  new file.
8252         * GNUmakefile.in (SUBDIRS): remove debian/ directory.
8254         * lily/*:  cs.uu.nl -> xs4all.nl
8256         * VERSION (PATCH_LEVEL): release 2.7.15
8258         * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
8259         spec files.
8261         * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
8263 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8265         * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.   
8267         * lily/staff-performer.cc (process_music): add audio
8268         elements. This makes MIDI instrument changes work once again.
8270         * lily/main.cc (LY_DEFINE): add gmane address.
8272         * lily/beam.cc: remove calc_positions()
8274         * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
8275         original_ in private scope.
8276         (class Grob): drop pscore_ pointer, change to output_def pointer.
8277         (class Grob): cleanup class definition.
8279         * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
8281 2005-11-02  Jan Nieuwenhuizen  <janneke@gnu.org>
8283         * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
8284         absolute.  Better diagnostics.
8286         * GNUmakefile.in: Add bin/ to tree and populate with some links.
8287         This makes lilypond run from the build directory using argv0
8288         relocation (without any --prefix or LILYPONDPREFIX setting).
8290 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8292         * Documentation/topdocs/NEWS.tely (Top): document new backend design.
8294         * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
8295         with simple-closure.
8297         * lily/self-aligment-interface.cc (set_align_self): new function
8298         (set_center_parent): new function.
8300         * lily/side-position-interface.cc (set_axis): new function.
8302         * lily/new-fingering-engraver.cc (position_scripts): use drul for
8303         generic code. 
8305         * scm/define-grob-properties.scm (all-user-grob-properties):
8306         remove [XY]-offset-callbacks add [YX]-offset
8307         
8308 2005-11-02  Mats Bengtsson  <mabe@s3.kth.se>
8310         * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
8311         entry for time signatures after breathing signs. Bug report by
8312         Scott Russell.
8314 2005-11-01  Jan Nieuwenhuizen  <janneke@gnu.org>
8316         * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
8317         not absolute, make it absolute using PATH.
8319 2005-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
8321         * python/midi.c (initmidi): Fix type for mingw.
8323 2005-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
8325         * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8327         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8328         cross compiling.
8330         * stepmake/aclocal.m4: Support python cross compiling.
8332         * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8333         Add mingw section.
8335 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8337         * scm/output-lib.scm (chain-grob-member-functions): replace
8338         chained-callback.cc
8340         * lily/chained-callback.cc (Module): remove file.
8342         * lily/rest-collision.cc (force_shift_callback_rest): change to
8343         chained callback.
8345         * lily/rest.cc (y_offset_callback): merge function of 3 callbacks. 
8347         * lily/grob.cc (y_parent_positioning): remove axis argument from
8348         parent_positioning callbacks.
8349         (Grob): junk init code
8350         (get_offset): use generic property callbacks for
8351         X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8352         (axis_parent_positioning): new function
8353         (axis_offset_symbol): new function
8354         (chain_offset_callback): new function
8355         (add_offset_callback): new function
8357         * lily/beam.cc (rest_collision_callback): change signature; this
8358         is now a chained callback.
8360         * lily/include/dimension-cache.hh (class Dimension_cache): remove
8361         callback administration.
8363         * lily/simple-closure.cc: new file. Smob type that allows "grob
8364         member functions",
8366             (ly:make-simple-closure FUNC A B)
8368         is evaluated as (FUNC grob A B). This allows chaining of callbacks
8369         in various ways.
8371         * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8372         callbacks.
8374         * lily/slur.cc (outside_slur_callback): take 2 arguments.
8376         * lily/rest.cc (polyphonic_offset_callback): remove.
8378         * lily/script-engraver.cc (try_music): remove bool* argument.
8380         * scm/script.scm (default-script-alist): set quantize-position
8381         appropriately.
8383         * lily/script-engraver.cc: remove follow_into_staff_ special coding. 
8385         * lily/side-position-interface.cc (aligned_side): move staff
8386         position quantization from
8387         Side_position_interface::quantised_position().
8388         (quantised_position): remove
8389         
8390 2005-10-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8392         * input/regression/beam-quant-standard.ly: reindent, set
8393         debug-beam-quanting to #t.
8395         * lily/beam-concave.cc (calc_concaveness): set concaveness to
8396         10000 if this is a "hard" concave beam.
8398         * lily/beam.cc (calc_least_squares_positions): change from
8399         calc_least_squares_dy
8400         (set_stem_lengths): this is now a chained callback.
8402         * lily/context-property.cc (execute_general_pushpop_property):
8403         bugfix override with procedure should have effect.
8405         * scm/define-grob-properties.scm (all-internal-grob-properties):
8406         remove position-callbacks.
8408         * scm/define-grobs.scm (all-grob-descriptions): use
8409         ly:make-callback-chain for positions property.
8411         * scm/layout-beam.scm (check-quant-callbacks): return list of
8412         chained callbacks.
8414         * scm/lily.scm (type-p-name-alist): add callback-chain
8416         * lily/lily-guile.cc (type_check_assignment): type check failure
8417         is warning not message.
8419         * lily/grob-property.cc (try_callback): walk callback chain if
8420         appropriate.
8422         * lily/chained-callback.cc: new file. new smob type.
8424         * lily/lily-guile.cc (procedure_arity): new function.
8426 2005-10-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8428         * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8430 2005-10-25  John Mandereau  <john.mandereau@free.fr>
8432         * Documentation/user/instrument-notation.itely (Figured bass):
8433         describe new features
8435 2005-10-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8437         * lily/beam.cc (calc_least_squares_dy): use property callback.
8439         * lily/beam-concave.cc (calc_concaveness): use property callback.
8441         * ly/paper-defaults.ly: move fixed dimensions from paper.scm 
8443 2005-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
8445         * HACKING: Update.
8447 2005-10-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8449         * scm/layout-page-layout.scm (page-headfoot): annotate
8450         pagetopspace too.
8452         * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit. 
8454         * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8455         doesn't take y-space.
8457         * scm/paper.scm (paper-alist): fix A7 dimensions. 
8459 2005-10-24  Jan Nieuwenhuizen  <janneke@gnu.org>
8461         * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8462         src-wildcard, remove $(wildcard).
8464         * po/GNUmakefile (PO_FILES): 
8465         * ps/GNUmakefile (PS_FILES): 
8466         * tex/GNUmakefile (TEX_FILES): 
8467         * cygwin/GNUmakefile (POSTINSTALLS):
8468         * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8469         some wildcard calls.
8471 2005-10-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8473         * THANKS: add Thomas Bushnell.
8475 2005-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
8477         * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8478         (lilypond-main): Redirect to gui-main if 'gui is set.
8480         * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8481         for alternative installations kludging s/share/lib/g
8482         LILYPONDPREFIX. 
8484         * SConstruct (libdir_package_version): Define.
8486         * python/SConscript: 
8487         * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8488         module in libdir.  
8490 2005-10-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8492         * lily/main.cc: clarify --safe.
8494 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8496         * VERSION: release 2.7.14
8497         
8498         * Documentation/user/*.itely: remove minimumVerticalExtent.
8500         * scm/define-grobs.scm (all-grob-descriptions): remove
8501         RemoveEmptyVerticalGroup
8503         * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8505         * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8506         compile on MOSX
8508         * python/convertrules.py (conv): add rules.
8510         * lily/grob.cc: remove is_empty()
8512         * lily/grob-property.cc: remove add_to_list_property().
8514         * scripts/convert-ly.py (datadir): add prefix switching hack to
8515         .py too.
8517         * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8518         space-function tweak.
8520         * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8522         * scm/define-grob-properties.scm (all-user-grob-properties):
8523         remove callback property.
8525         * lily/include/grob.hh (class Grob): remove property_callbacks_
8526         member. Properties of procedure type are assumed to be callbacks.
8528         * lily/ligature-engraver.cc (override_stencil_callback):
8529         rewrite. Use noteHeadLigaturePrimitive as source.
8531         * scm/define-grob-properties.scm (all-internal-grob-properties):
8532         remove ligature-primitive-callback
8534         * lily/include/dimension-cache.hh (class Dimension_cache): make
8535         class, with Grob as friend.
8537         * lily/grob.cc: remove set_extent_callback(), set_extent() and
8538         has_extent_callback()
8540         * scm/translation-functions.scm (format-new-bass-figure): read
8541         figuredBassPlusDirection
8543         * scm/define-context-properties.scm
8544         (all-user-translation-properties): add figuredBassPlusDirection.
8546         * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8548         * lily/align-interface.cc (set_ordered): new function.
8550         * lily/grob.cc (flush_extent_cache): rewrite.
8552         * lily/dimension-cache.cc (Dimension_cache): cache extent as
8553         Interval pointer directly.
8555         * lily/main.cc (setup_paths): insert extra / .
8556         (setup_paths): junk cff entry.
8558         * lily/font-config.cc (init_fontconfig): only add type1 / otf
8559         directories.
8561         * lily/axis-group-engraver.cc (finalize): remove
8562         extraVerticalExtent, minimumVerticalExtent verticalExtent.
8564         * lily/grob.cc (Grob): don't set extent from ctor.
8565         (extent): use property callbacks. 
8567         * lily/axis-group-interface.cc: remove set_axes() function.
8569         * lily/grob-property.cc (del_property): new function.
8571 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8573         * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8574         
8575 2005-10-20  Jan Nieuwenhuizen  <janneke@gnu.org>
8577         * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops.  Add.
8579 2005-10-19  Jan Nieuwenhuizen  <janneke@gnu.org>
8581         * mf/SConscript: Updates.
8583         * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8585         * stepmake/stepmake/*:
8586         * */GNUmakefile:
8587         * config.make.in:
8588         * GNUmakefile.in:
8589         * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8590         from any directory in build-dir.  Cleanups.
8592         * make/srcdir.make.in: Remove.
8594         * lily/main.cc (setup_paths): Fix and document build-dir hack.
8596         * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8597         main).
8599         * lily/SConscript: Remove ttftools.
8601         * SConstruct: Resurrect.
8603 2005-10-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8605         * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8606         Y coordinate. 
8608         * lily/paper-book.cc (add_score_title): put Paper_score title into
8609         systems_ list.
8611         * scm/translation-functions.scm (format-new-bass-figure): also
8612         allow plus in combination with _
8614 2005-10-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8616         * VERSION: 2.7.13 released.
8618         * lily/note-collision.cc (check_meshing_chords): don't wipe
8619         stencil, merely set transparent.
8621         * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau. 
8622         (Top): document #'callbacks.
8623         (Top): document nested \override.
8625         * input/regression/figured-bass.ly: update for slash and pluses.
8627         * input/regression/figured-bass-continuation-forbid.ly (Module):
8628         new file.
8630         * scm/translation-functions.scm (format-new-bass-figure): use
8631         slashed-digit if diminished is set.
8632         (format-new-bass-figure): add + if 'augmented is set.
8634         * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8636         * input/test/piano-staff-distance.ly: remove file.
8638         * Documentation/user/advanced-notation.itely (Formatting cue
8639         notes): use length-fraction for making stems/beams smaller.
8641         * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8642         modifications.
8644         * lily/new-figured-bass-engraver.cc: new property
8645         centerFiguredBassContinuations
8647         * Documentation/user/changing-defaults.itely (Difficult tweaks):
8648         use callbacks.
8650         * lily/context-property.cc (execute_general_pushpop_property):
8651         robustness checks.
8653         * input/regression/override-nest.ly: new file.
8655         * python/convertrules.py (FatalConversionError.subber): conversion
8656         rule for #'callbacks
8658         * input/regression/override-nest.ly: new function.
8660         * lily/parser.yy (music_property_def): allow \override #'a #'b =
8661         #c too. 
8663         * lily/context-property.cc (lookup_nested_property): new function.
8664         (evict_from_alist): new function.
8665         (general_pushpop_property): new function.
8666         (execute_general_pushpop_property): rewrite. Support nested
8667         properties too.
8669 2005-10-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8671         * lily/beam.cc: use length-fraction too.
8673         * scm/define-grob-properties.scm (all-user-grob-properties):
8674         remove property flag-width-function
8675         (all-user-grob-properties): remove space-function.
8677         * scm/layout-beam.scm: remove flag-width-function.
8679         * lily/beam.cc: remove flag-width-function
8681         * scm/layout-beam.scm: remove beam dir functions.
8683         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8685         * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8686         for easier grace tweaks.
8688         * lily/beam.cc: remove dir-function.
8690         * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8692         * lily/grob.cc: remove spacing-procedure.
8694         * lily/note-head.cc (calc_stem_attachment): new function.
8695         (internal_print): use callback to get glyph-name.
8697         * lily/grob-property.cc (get_interfaces): new function.
8699         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8701         * lily/stem.cc (calc_stem_end_position): new function.
8702         (calc_length): new function.
8703         document details for stem.
8704         remove Stem::get_direction()
8706         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback! 
8708         * lily/grob-property.cc (set_callback): new function.
8710         * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8712         * lily/item-scheme.cc: new file.
8714         * lily/bar-line.cc (before_line_breaking): remove function.
8715         remove bar-size-procedure, break-glyph-function
8717         * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8719         * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8721         * lily/system-start-delimiter.cc (print): suicide from
8722         here. Remove after_line_breaking_callback.
8724         * lily/script-interface.cc (calc_direction): use callback for direction.
8726         * lily/side-position-interface.cc (aligned_side): don't use
8727         Side_position_interface::get_direction directly. Use callback. 
8729         * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8730         calculate stencil.
8731         (get_print_stencil): rename from get_stencil: create stencil with
8732         transparency, color and cause. 
8734         * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8736         * python/convertrules.py (conv): insert temporary warning rule.
8738         * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8740         * lily/grob-property.cc (try_callback): remove marker if applicable.
8742         * lily/grob.cc: elucidate doc about after/before-line-breaking
8744         * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8746         * lily/stem.cc (height): idem.
8748         * lily/stem-tremolo.cc: idem.
8750         * lily/slur.cc (height): don't use get_uncached_stencil()
8752         * lily/rest.cc (y_offset_callback): use offset callback
8753         iso. after-line-breaking callback.
8755         * lily/grob.cc: change after/before-line-breaking-callback to
8756         after/before-line-breaking dummy properties.
8758         * lily/include/grob.hh: remove Grob_status.
8760         * scm/define-context-properties.scm
8761         (all-user-translation-properties): remove verticalAlignmentChildCallback
8763         * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8764         (calc_direction): use callback
8765         (calc_positions): use callback.
8767         * lily/tie.cc (calc_direction): use callback. Only call parent
8768         positioning for more than one tie.
8770         * lily/tie-column.cc (calc_positioning_done): use callback
8772         * lily/slur-scoring.cc (calc_control_points): use callback
8774         * lily/slur.cc (calc_direction): use callback.
8776         * lily/note-collision.cc (force_shift_callback): remove.
8778         * lily/dot-column.cc (force_shift_callback): remove. Use
8779         other_axis_parent_positioning.
8781         * lily/grob.cc (other_axis_parent_positioning): new function.
8782         (same_axis_parent_positioning): new function
8784         * lily/align-interface.cc (alignment_callback): remove function.
8786         * lily/note-collision.cc (calc_positioning_done): use callback.
8788         * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8789         (calc_direction): idem.
8790         remove print function.
8792         * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8794         * lily/dot-column.cc (calc_positioning_done): use callback.
8796         * lily/break-align-interface.cc (calc_positioning_done): use callback.
8798         * lily/beam.cc (calc_direction): use pseudo-property for beam
8799         direction callback.
8800         (calc_positions): use callback 
8802         * lily/align-interface.cc (calc_positioning_done): use
8803         callback. Fold fixed  distance and normal alignment in one function.
8805         * lily/stem.cc (calc_stem_end_position): use callback.
8806         (calc_positioning_done): idem.
8807         (calc_direction): idem.
8808         (calc_stem_end_position): idem
8809         (calc_stem_info): idem.
8811         * lily/grob-property.cc (get_property_data): new function: 
8812         (try_callback): new function.
8814         * scm/define-grob-properties.scm (all-user-grob-properties): doc
8815         callbacks property.
8817         * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8819 2005-10-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8821         * lily/tie.cc (get_position): robustness fix. Don't crash if a
8822         tie
8823         has no heads.
8824         
8825         * lily/include/*.hh (Module): compile fixes.
8827 2005-10-14  Heikki Junes <hjunes@cc.hut.fi>
8829         * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil 
8830         as an argument for char-syntax: use (char-syntax (or nil 0)) 
8831         instead of (char-syntax nil), thanks to Milan Zamazal.
8833 2005-10-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8835         * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8836         dist.
8838         * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8839         themselves.
8841 2005-10-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8843         * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8844         add class_name() method.
8846         * lily/music-scheme.cc: remove ly:music-name.
8848 2005-10-11  Jan Nieuwenhuizen  <janneke@gnu.org>
8850         * cygwin/postinstall-lilypond.sh: Remove cruft.
8852         * cygwin/postremove-lilypond.sh: Remove.
8854         * cygwin/GNUmakefile (default): Remove postremove rules.
8856 2005-10-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8858         * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8859         even header too.
8860         
8861         * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8862         MacOS 9 users.
8864         * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8865         consider break index for broken spanner.
8867         * scm/define-markup-commands.scm (wordwrap-string): remove \r
8868         characters from string before splitting.
8870 2005-10-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8872         * scm/framework-ps.scm (output-preview-framework): use
8873         is-book-title to determine whether to chop off the booktitle.
8875         * lily/paper-book.cc (systems): init from book-title-properties
8876         (add_score_title): init score-title-properties.
8878         * ly/paper-defaults.ly: add {score,book}-title-properties.
8880         * scm/document-backend.scm (lookup-interface): error message if
8881         using unknown interface.
8883         * lily/volta-bracket.cc (after_line_breaking): new function. Set
8884         edge-height.
8886         * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8887         make_bracket.
8888         (make_bracket): new function.
8890         * scm/lily.scm (define-scheme-options): add paper-size option.
8892         * ly/declarations-init.ly (laissezVibrer): get paper size from
8893         -dpaper-size
8895         * scm/translation-functions.scm: use \fontsize for changing the
8896         fontsize.
8898         * scm/define-grobs.scm (all-grob-descriptions): set
8899         between-length-limit to 1.0
8901         * lily/tie-helper.cc: add between_length_limit_ detail property.
8903         * mf/feta-bolletjes.mf: typos.
8905         * lily/note-head.cc (internal_print): don't shadow idx
8906         parameter. This fixes wrong attachment for do shape heads.
8908 2005-10-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8910         * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8912         * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8914         * scm/layout-slur.scm: rename from slur.scm
8916         * scm/layout-page-layout.scm: rename from page-layout.scm
8918         * scm/layout-beam.scm: rename from beam.scm
8920         * scm/define-grob-interfaces.scm (bass-figure-interface): add
8921         bass-figure-interface
8923         * lily/new-figured-bass-engraver.cc (process_music): add
8924         implicitBassFigures property.
8925         
8926         * scm/define-markup-commands.scm (pad-x): new markup.
8928         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8929         minimumVerticalExtent on FiguredBass context.
8931         * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8932         case the continuation crosses a line break.
8934 2005-10-09  Jan Nieuwenhuizen  <janneke@gnu.org>
8936         * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8937         unconverted value if cygwin_conv_to_posix_path () fails.  Fixes
8938         absolute file name bug.  
8940 2005-10-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8942         * VERSION (PACKAGE_NAME): release 2.7.12
8944         * input/regression/figured-bass-continuation-center.ly: new file.
8946         * input/regression/beam-outside-beamlets.ly: new file.
8948         * lily/beam.cc (set_beaming): don't clip edges.
8949         (connect_beams): don't clip edges.
8951         * lily/beaming-info.cc (clip_edges): new function.
8953         * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8955         * Documentation/user/instrument-notation.itely (Figured bass):
8956         demonstrate extenders, update seealso links.
8958         * scm/titling.scm (marked-up-headfoot): change tagline
8959         handling. tagline = ##f will blank the tagline as well.
8961 2005-10-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8963         * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8965         * lily/new-figured-bass-engraver.cc (struct
8966         New_figured_bass_engraver): add new_music_found_ member.
8968         * lily/lilypond-version.cc (Lilypond_version): deal with
8969         incorrectly formatted version strings. 
8971         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8972         New_figured_bass_engraver by default.
8974         * lily/ttf.cc (print_trailer): only define glyph names when
8975         FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8977 2005-10-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8979         * lily/horizontal-bracket.cc (make_bracket): new function.
8981         * scm/define-grobs.scm (all-grob-descriptions): new grobs
8982         NewBassFigure, BassFigureBracket, BassFigureContinuation,
8983         BassFigureLine, BassFigureAlignment
8985         * lily/new-figured-bass-engraver.cc (process_music): new file.
8987         * lily/figured-bass-continuation.cc: new file.
8989         * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8990         new file.
8992 2005-10-04  Mats Bengtsson  <mabe@s3.kth.se>
8994         * scripts/lilypond-book.py: Bug fix, put the quote around the
8995         actual score for LaTeX documents.
8997         * scm/define-grobs.scm (all-grob-descriptions): Change
8998         collapse-height of the SystemStartBracket grob to 5.0, 
8999         so the bracket disappears for single stave score lines (similarly
9000         to SystemStartBraces). 
9002         * Documentation/user/advanced-notation.itely (Polymetric
9003         notation): Clarify the use of compressMusic.
9005         * Documentation/user/basic-notation.itely (Grace notes): Clarify
9006         that the grace spacer note in other staves need the same duration
9007         and document the stroke-style property.
9009 2005-10-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9011         * Documentation/user/global.itely (Vertical spacing): document
9012         alignment-extra-space and fixed-alignment-extra-space.
9014         * Documentation/topdocs/NEWS.tely (Top): add entry.
9016         * input/regression/alignment-vertical-spacing.ly: new file.
9018         * python/convertrules.py (conv): add rule.
9020         * ly/music-functions-init.ly: rename outputProperty to overrideProperty
9022         * lily/align-interface.cc (stretch_after_break): new
9023         function. Read fixed-alignment-extra-space property.
9024         (align_elements_to_extents): read alignment-extra-space property.
9026         * lily/lily-guile.cc (robust_scm2dir): new function.
9028         * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
9029         (annotate-space-left): new function. Annotate space left on page. 
9030         (annotate-y-interval): new function.
9031         (paper-system-annotate-last): new function. Annotate bottom-space.
9033         * mf/feta-beugel.mf (y): 
9035 2005-10-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9037         * VERSION (PACKAGE_NAME):  release 2.7.11
9039         * scm/lily-library.scm (interval-translate): new function
9040         (interval-center): new function. 
9042         * scm/page-layout.scm (paper-system-annotate): new function. Add
9043         arrows for dimensions.
9045         * scm/stencil.scm (dimension-arrows): new function.
9047         * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
9049         * input/regression/page-spacing.ly: add annotatespacing
9051         * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
9052         (LY_DEFINE): new function ly:paper-system-set-property!
9054         * Documentation/user/global.itely (Paper size): explain how to add
9055         sizes.
9057         * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
9058         correspond to GS's definition.
9060         * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
9061         tuplet bracket.
9062         (print): only connect to next bracket if the next one is alive.
9063         (print): set padding to 0.0 if the bound is a breakable
9064         column. This makes tupletFullLength brackets reach up to the staff
9065         line if it doesn't connect to the next line.
9067 2005-09-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9069         * lily/bar-number-engraver.cc: correct docs.
9071         * scm/output-lib.scm (first-bar-number-invisible): rename from
9072         default-bar-number-visibility
9074 2005-09-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9076         * scm/define-music-properties.scm (all-music-properties): remove
9077         predicate property.
9079 2005-09-28  Heikki Junes  <hjunes@cc.hut.fi>
9081         * po/fi.po: refresh.
9083 2005-09-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9085         * input/regression/hara-kiri-pianostaff.ly (disappear): remove
9086         superfluous s1.
9087         (disappear): bugfix.
9089         * lily/stem-tremolo.cc (raw_stencil): read slope property.
9091         * lily/include/paper-system.hh (class Paper_system): remove
9092         staff_extents_ member.
9094         * lily/paper-system-scheme.cc (LY_DEFINE): remove.
9096         * lily/include/paper-system.hh (class Paper_system): remove
9097         number_ variable. Remove is_title_. Remove break_before_penalty_
9099         * lily/paper-book.cc (systems): use 'number property iso. number_
9100         member.
9102         * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
9103         remove ly:paper-system-number.
9105         * scm/lily-library.scm (paper-system-title?): new function.
9107         * lily/book.cc (process): bugfix: flip ?: cases. 
9109         * Documentation/user/changing-defaults.itely (Difficult tweaks):
9110         add outputProperty.
9112         * ly/music-functions-init.ly: add outputProperty music function.
9114         * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
9116         * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
9117         and next-padding.
9118         (optimal-page-breaks): rename from ly:optimal-page-breaks.
9120         * lily/paper-system-scheme.cc (LY_DEFINE): new function.
9122         * lily/paper-system.cc (internal_get_property): new function.
9124         * Documentation/user/global.itely (Vertical spacing): refer to
9125         page-spacing.ly
9127         * scm/page-layout.scm (ly:optimal-page-breaks): add support for
9128         pagetopspace
9130         * input/regression/page-spacing.ly: new file.
9132         * input/regression/page-top-space.ly: new file.
9134         * lily/spacing-spanner.cc: cmath -> math.h
9136         * lily/paper-system.cc (read_left_bound): new function. Read
9137         line-break-system-details from left bound to determine extents.
9139         * Documentation/user/programming-interface.itely (Using LilyPond
9140         syntax inside Scheme): change applyxxx -> applyXxx.
9142         * ly/music-functions-init.ly: add outputProperty music function.
9144         * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
9146         * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
9148         * python/convertrules.py (conv): rule
9150         * ly/music-functions-init.ly: applyxxx -> applyXxx
9152         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
9153         TabVoice to Voice.
9155 2005-09-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9157         * flower/include/real.hh: include <math.h> iso. <cmath>
9159         * flower/include/offset.hh: include real.hh
9161 2005-09-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9163         * Documentation/user/changing-defaults.itely (Difficult tweaks):
9164         fix example, now that 'interfaces is no longer directly available.
9166         * lily/book.cc (process): don't crash if paper == NULL.
9168         * po/fr.po: update.
9170 2005-09-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9172         * scm/define-music-types.scm (music-descriptions): set length and
9173         start-callback for QuoteMusic
9175 2005-09-15  Mats Bengtsson  <mabe@s3.kth.se>
9177         * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
9178         arguments. Fixes compilation error with gcc 3.3.
9180 2005-09-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9182         * VERSION: release 2.7.10
9184         * stepmake/stepmake/python-module-rules.make
9185         ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.  
9187         * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
9188         real.hh
9190 2005-09-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9192         * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
9193         -Werror. Otherwise GCC barfs over various optimizations.
9195         * scm/define-grob-properties.scm (all-internal-grob-properties):
9196         add note-head property
9198         * Documentation/user/instrument-notation.itely (Laissez vibrer
9199         ties): new node.
9201         * input/regression/laissez-vibrer-ties.ly: new file.
9203         * lily/laissez-vibrer-engraver.cc: new file.    
9205         * lily/include/tie-column-format.hh: new file.
9207         * lily/tie-column-format.cc: new file. 
9209         * lily/tie-column.cc (set_manual_tie_configuration): new function.
9211         * lily/laissez-vibrer-tie.cc: new file.
9213         * lily/include/laissez-vibrer-tie.hh: new file.
9215         * ly/engraver-init.ly: add Laissez_vibrer_engraver
9217         * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
9219         * scm/define-grobs.scm (all-grob-descriptions): add
9220         LaissezVibrerTie, LaissezVibrerTieColumn
9222         * lily/tie-column.cc (set_tie_config_directions): new function
9223         (final_shape_adjustment): new function.
9224         (shift_small_ties): new function.
9226         * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
9228         * lily/include/tie.hh (struct Tie_details): add x_gap_
9229         (struct Tie_configuration): add head_position_
9231         * lily/tie-column.cc (set_chord_outline): new function.
9233         * mf/cmr.enc.in:  remove file.
9235 2005-09-11  Graham Percival  <gpermus@gmail.com>
9237         * Documentation/user/examples.itely: typo fix.  Thanks, Matevž
9239 2005-09-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9241         * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
9242         reduce aliasing effects.
9244         * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
9245         box in skyline.
9247 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9249         * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
9251         * flower/include/real.hh: std::fabs too.
9253 2005-09-08  Jan Nieuwenhuizen  <janneke@gnu.org>
9255         * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner). 
9257         * lily, flower: Include C++ iso C headers.  Import namespace std
9258         throughout.
9260         * lily/side-position-interface.cc: 
9261         * lily/scm-hash.cc: 
9262         * lily/note-head.cc: 
9263         * lily/include/includable-lexer.hh: 
9264         * flower/include/string-data.icc: Remove using std::*.
9266         * lily, flower: Include C++ iso C headers.  Import namespace std
9267         throughout.
9269         * lily/side-position-interface.cc: 
9270         * lily/scm-hash.cc: 
9271         * lily/note-head.cc: 
9272         * lily/include/includable-lexer.hh: 
9273         * flower/include/string-data.icc: Remove using std::*.
9275         * Documentation/user/instrument-notation.itely (Entering lyrics):
9276         Multiple latin-1->utf-8 conversion fix.
9278         * Documentation/user/*tely: Update Emacs cookie to utf-8.
9280 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9282         * lily/tie.cc (get_configuration): also avoid dots for non-space
9283         situations.
9285 2005-09-07  Jan Nieuwenhuizen  <janneke@gnu.org>
9287         * Documentation/user/instrument-notation.itely: Bugfix.
9289 2005-09-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9291         * tex/GNUmakefile: don't install texinfo.tex
9293         * tex/ : cleanup: remove unused files.
9295         * lily/general-scheme.cc: remove my_{isinf,isnan}.
9297         * flower/include/real.hh: using std::{isnan,isinf}
9298         
9299         * VERSION (PATCH_LEVEL): release 2.7.9
9301 2005-09-05  Graham Percival  <gpermus@gmail.com>
9303         * Documentation/user/ instrument-notation.itely,
9304         advanced-notation.itely: minor tweaks.
9306         * input/test/script-chart.ly: add item padding.
9308 2005-09-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9310         * flower/offset.cc: use math.h iso. <cmath>
9312         * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
9313         of IE users.
9315         * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
9316         (widen-left-stencil-edges): new function. Fix alignment problems
9317         with LaTeX includegraphics.
9319         * lily/text-interface.cc (interpret_markup): use abort().
9321 2005-09-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9323         * input/regression/tie-chord.ly (testLong): add a chord in 4ths
9325         * lily/tie.cc (get_configuration): update bezier shape as we
9326         change Y positions.
9327         (get_configuration): don't move large ties if we're outside of the
9328         staff.
9330 2005-09-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9332         * scm/define-markup-commands.scm (strut): swap X and Y dims.
9333         
9334 2005-09-03  Jan Nieuwenhuizen  <janneke@gnu.org>
9336         * .cvsignore: Add auto-generated configure files and then some.
9338 2005-09-02  Jan Nieuwenhuizen  <janneke@gnu.org>
9340         * scm/define-grobs.scm (DynamicLineSpanner): Add
9341         X-extent-callback.  Fixes hairpin-slur collision.
9343 2005-08-31  Graham Percival  <gpermus@gmail.com>
9345         * Documentation/user/advanced-notation.itely,
9346         basic-notation.itely: minor changes.
9348 2005-08-31  Mats Bengtsson  <mabe@s3.kth.se>
9350         * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9351         \linebreak between each .eps file if \betweenLilyPondSystem is
9352         undefined. 
9354         * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9355         music): Document the \linebreak
9357         * Documentation/user/lilypond-book.itely,
9358         input/tutorial/lbook-latex-test.tex,
9359         Documentation/user/examples.itely: Remove \usepackage{graphics}
9361 2005-08-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9363         * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9365         * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9366         compat bugfix.
9368         * scripts/lilypond-book.py (PREAMBLE_LY): define
9369         inside-lilypond-book
9370         (modify_preamble): new function. Insert \RequirePackage{graphics}
9371         when no {graphics found in preamble.  
9373 2005-08030  Graham Percival  <gpermus@gmail.com>
9375         * Documentation/user/basic-notation.itely, global.itely,
9376         tutorial.itely: misc small changes.
9378 2005-08-30  Jan Nieuwenhuizen  <janneke@gnu.org>
9380         * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9381         VERSION.
9383 2005-08-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9385         * lily/tie-column.cc (new_directions): put Tie down on center
9386         staff line. 
9388         * lily/script-interface.cc (before_line_breaking): use
9389         Grob::programming_error
9391         * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9393         * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9394         of splitext.
9396 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9398         * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9400 2005-08-29  Werner Lemberg  <wl@gnu.org>
9402         * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9403         the `*.scale.pfa' files to avoid warnings.
9405 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9407         * lily/tempo-performer.cc (process_music): idem.
9409         * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9411 2005-08-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9413         * Documentation/user/advanced-notation.itely (Text markup): not a
9414         fragment.
9416         * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9418         * lily/staff-performer.cc (initialize): add tempo/name to
9419         audio_staff_
9421 2005-08-26  Graham Percival  <gpermus@gmail.com>
9423         * Documentation/user/advanced.itely: add text-only example.
9425         * Documentation/user/invoking.itely: add index entries for
9426         convert-ly.
9428         * Documentation/user/ tutorial.itely, basic-notation.itely:
9429         small fixes suggested by Steve D.  Thanks!
9431 2005-08-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9433         * input/regression/markup-bidi-pango.ly: new file.
9435         * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9436         standard. Remove #ifdef. Remove memleak.
9437         (text_stencil): use text_dir to decide how to composite items.
9438         (text_stencil): determine uniform text direction for the entire
9439         string.
9441         * scripts/lilypond-book.py (output_name): remove
9442         latex_filter_cmd. Non-portable to non-Unix systems. 
9443         (get_latex_textwidth): use File.write and os.unlink() instead.
9445         * THANKS: add Vicente & Trevor.
9447         * lily/grob.cc (discretionary_processing): look up origin for
9448         programming_error too. 
9450         * input/regression/tie-broken.ly: new file.
9452         * lily/tie-column.cc (set_chord_outlines): set outline for line
9453         break case too.
9454         
9455 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9457         * lily/pango-font.cc (text_stencil): don't translate glyphs in
9458         unscaled transform, just translate stencils.
9460         * ly/performer-init.ly: init timing to #t.  Fixes bar checks in
9461         MIDI.
9463         * scm/define-markup-commands.scm (wordwrap-string): use
9464         text-direction
9465         (wordwrap-stencils): idem.
9466         (line): idem.
9467         (fill-line): idem.
9468         (wordwrap-stencils): translate last line to right for
9469         text-direction = LEFT.
9471         * scm/define-grob-properties.scm (all-user-grob-properties): add
9472         text-direction.
9474 2005-08-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
9476         * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9477         when copying a Lily_parser object.
9479 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9481         * scm/define-markup-commands.scm (null): add null markup.
9483 2005-08-25  Mats Bengtsson  <mabe@s3.kth.se>
9485         * lily/item.cc: Add documentation of center-invisible
9487 2005-08-24  Graham Percival  <gpermus@gmail.com>
9489         * Documentation/user/advanced-notation.itely: add info about
9490         raising text.
9492         * Documentation/user/programming-interface.itely: fix example
9493         involving raised text.
9495 2005-08-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9497         * lily/beam.cc (print): fix X start/end points of isolated
9498         beamlets.
9500         * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9502         * lily/multi-measure-rest.cc (set_text_rods): new function.
9504         * lily/vertical-align-engraver.cc (process_music): call
9505         Align_interface::set_axis(). This forces #'elements to be ordered,
9506         preventing random vertical reordering of staves.
9508         * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9509         add avoid-slur property. 
9511         * Documentation/user/basic-notation.itely (Measure repeats): add
9512         countPercentRepeats example.
9514         * Documentation/user/advanced-notation.itely (Other text markup
9515         issues): remove remark about normal-font.  We have \normal-text
9517         * input/regression/tie-chord.ly: add note about remaining bugs.
9519         * lily/tie.cc (print): try Tie_column::set_directions () if
9520         control-points not yet defined.
9522 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9524         * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9525         extent. This fixes braces falling out of the EPS bbox.
9527         * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9528         exactly to bbox.
9530 2005-08-23  Graham Percival  <gpermus@gmail.com>
9532         * {various} : change #up->#UP and #down->#DOWN.
9534         * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9536         * Documentation/user/advanced-notation.itely: clarify
9537         what objects handles text on a multimeasure rest.
9539 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9541         * VERSION (PATCH_LEVEL): release 2.7.7
9543 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9545         * make/lilypond-vars.make: set -dgs-font-load for "make web" 
9547         * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9549         * input/regression/*.ly: formatting clean-up. Default layout
9550         before music expression.
9552         * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9553         romanze28-2 example.
9555         * scm/ps-to-png.scm: remove dir-re function.
9556         (make-ps-images): generate page names, instead of globbing them.
9557         This brings down LilyPond memory usage for make web by a factor
9558         10. 
9560         * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9561         don't use glob. With 3000 files, globbing
9562         Documentation/user/out-www/ can take too much time. 
9563         
9564         * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9566         * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9568         * input/regression/tie-manual.ly: new file
9570         * input/regression/tie-chord.ly: update.
9572         * flower/include/interval.hh (struct Interval_t): 
9574         * lily/tie.cc (distance): new function 
9575         (height): new function.
9576         (init): new function
9577         (Tie_details): new struct.
9579         * lily/skyline.cc (skyline_height): new function.
9581         * lily/tie-column.cc (set_chord_outlines): new function.
9582         (new_directions): read tie-configuration
9584         * lily/skyline.cc: fix ASCII art.
9585         
9586 2005-08-22  Mats Bengtsson  <mabe@s3.kth.se>
9588         * python/convertrules.py (string_or_scheme): Fix spelling error
9590 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9591         
9592         * lily/tie-column.cc (set_directions): set directions only once.
9593         (add_configuration): new function.
9595         * lily/tie.cc (set_control_points): new function
9597         * lily/tie-column.cc (new_directions): new function.
9599         * ly/music-functions-init.ly: set 'pitch property
9600         iso. trill-pitch. This makes \relative work with \pitchedTrill
9602         * lily/tie.cc (get_configuration): new function. Don't generate
9603         control points, rather, generate configuration.
9604         remove head-pair property.
9606         * lily/include/tie.hh (struct Tie_configuration): new struct.
9608 2005-08-22  Heikki Junes  <hjunes@cc.hut.fi>
9610         * Documentation/topdocs/NEWS.tely: clarify.
9612 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9614         * lily/tie.cc: remove minimum-length
9616         * scm/define-grob-properties.scm (all-user-grob-properties):
9617         remove staffline-clearance, y-offset 
9619         * input/regression/tie-dots.ly (Module): remove.
9621         * lily/tie.cc (get_control_points): rewrite. Put short ties in
9622         staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9624         * input/regression/tie-single.ly: new file.
9626 2005-08-21  Graham Percival  <gpermus@gmail.com>
9628         * ly/bagpipe.ly: fix compile problem.
9630 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9632         * lily/midi-item.cc (name): new method.
9634         * lily/staff-performer.cc (acknowledge_audio_element): use
9635         signature of baseclass.
9637         * lily/engraver-group.cc (do_announces): move recursion call out
9638         of while loop. 
9640         * lily/drum-note-performer.cc (class Drum_note_performer): use
9641         process_music everywhere.
9643         * ly/performer-init.ly: add default children everywhere.
9645         * lily/paper-book.cc (output): call paper-book-write-midis
9646         directly: always write MIDI, even if no \layout {} block. 
9648 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9650         * VERSION (PACKAGE_NAME): release 2.7.6
9652         * lily/percent-repeat-engraver.cc (try_music): don't print warning
9653         about not being able to handle repeat.
9655 2005-08-19  Jan Nieuwenhuizen  <janneke@gnu.org>
9657         * Documentation/user/examples.itely (Piano templates):
9658         * lily/include/performer-group.hh: Remove last traces of
9659         Performer_group_performer.  Fixes make web.
9661 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9663         * Documentation/user/examples.itely (Piano templates): change
9664         Engraver_group_engraver -> Engraver_group
9666         * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9667         scm_stand_in_procs is not weak_any.
9669         * lily/volta-bracket.cc (print): don't use strcmp().
9671         * lily/volta-engraver.cc (process_music): use
9672         Text_interface::is_markup() for setting the 'text property of the
9673         volta bracket.
9675         * input/mutopia/claop.py (accents): update syntax to 2.6
9677         * scm/define-context-properties.scm
9678         (all-user-translation-properties): add countPercentRepeats.
9680         * Documentation/user/basic-notation.itely (Measure repeats): add
9681         isolated percent example.
9683 2005-08-18  Graham Percival  <gpermus@gmail.com>
9685         * input/ {various}: change direction #1, #-1 to
9686         #up/#down or \fooUp, \fooDown.
9688         * Documentation/user/music-glossary.tely: #-1 to #down.
9690         * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9691         to #up, #-1 to #down.
9693 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9695         * lily/include/engraver-group.hh: rename.
9697         * lily/include/performer-group.hh: rename.
9699 2005-08-18  Mats Bengtsson  <mabe@s3.kth.se>
9701         * input/test/script-abbreviations.ly: Removed some old LaTeX
9702         left overs.
9704 2005-08-18  Jan Nieuwenhuizen  <janneke@gnu.org>
9706         * python/convertrules.py (conv): inside-slur -> avoid-slur.
9707         Remove functions.  Remove if 1: constructs, reindent.
9709         * scripts/convert-ly.py (add_version): Add functions from
9710         convertrules.py
9712         * scm/script.scm (default-script-alist):
9713         s/priority/script-priority.  Fixes script stacking.  Backportme.
9714         (Fermata): Very low priority.
9716 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9718         * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9720         * input/regression/slur-script.ly: remove padding tweaks. Add
9721         comment strings.
9723         * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9724         time sigs and related stuff.
9726         * scm/define-grob-properties.scm (all-user-grob-properties): add
9727         @c