]> git.donarmstrong.com Git - lilypond.git/blob - ChangeLog
c4407c4a6103928942a000b2614f758cb68a7092
[lilypond.git] / ChangeLog
1 2006-11-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
2
3         * lily/note-head.cc: 
4         trim note-head.cc includes.
5
6         * lily/easy-notation.cc: 
7         * lily/mensural-ligature-engraver.cc: 
8         * lily/note-collision.cc: 
9         * lily/note-head.cc: 
10         * scm/define-grobs.scm: 
11         * scm/output-lib.scm: 
12         use Rhythmic_head::duration_log() iso. Note_head::get_balltype().
13
14         * buildscripts/git-update-changelog.py: 
15         also barf if file doesn't exist.
16
17 2006-11-07  Erlend Aasland  <erlenda@gmail.com>
18
19         * scm/music-function.scm (add-ballon-text): add FIXME comment.
20
21         * scm/define-grob-properties.scm: remove old balloon stuff,
22         and do some trivial beautification.
23
24 2006-11-06  Nicolas Sceaux  <nicolas.sceaux@free.fr>
25
26         * scm/music-functions.scm (markup-expression->make-markup): fix
27         the case when a markup found in a markup list is a simple
28         string (Issue #147).
29
30 2006-11-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
31
32         * lily/instrument-name-engraver.cc: 
33         * input/regression/instrument-name-dynamic.ly: 
34         ignore dynamic and pedal line spanners.
35
36         * Documentation/topdocs/NEWS.tely: 
37         * Documentation/user/advanced-notation.itely: 
38         * THANKS: 
39         * input/regression/balloon.ly: 
40         * lily/balloon.cc: 
41         * ly/music-functions-init.ly: 
42         * scm/define-event-classes.scm: 
43         * scm/define-grobs.scm: 
44         * scm/define-music-properties.scm: 
45         * scm/define-music-types.scm: 
46         * scm/output-lib.scm: 
47         * lily/balloon-engraver.cc: 
48         rewrite balloon-text support. This is now a separate grob, with itsvictim as the parent. This involves addingBalloon_engraver, AnnotateOutputEvent, annotate-output-event,\balloonText, \balloonGrobText, and modifying Balloon_interface::print.
49
50         * lily/paper-score.cc: 
51         remove progress again
52
53         * lily/chord-name-engraver.cc: 
54         formatting nitpicks.
55
56         * lily/paper-score.cc: 
57         some useless statistics.
58
59         * buildscripts/git-update-changelog.py: 
60         update todo/done after rejection due to removal analysis.
61
62         * buildscripts/git-update-changelog.py: 
63         check whether removals from a diff actually apply.
64
65 2006-11-05  Joe Neeman  <joeneeman@gmail.com>
66
67         * lily/include/page-turn-page-breaking.hh: remove unused
68         fields in Break_node
69
70         * lily/page-turn-page-breaking.cc (calc_demerits): 
71         * lily/optimal-page-breaking.cc (try_page_spacing): remove
72         uniformity penalties.
73
74 2006-11-05  Werner Lemberg  <wl@gnu.org>
75
76         * Documentation/user/changing-defaults.itely,
77         Documentation/user/preface.itely: Use `--', not `---'.
78         Minor improvements.
79
80         * Documentation/user/introduction.itely: Minor improvements.
81         (Automated engraving): Make example using \applyOutput work
82         actually.
83
84         * input/regression/apply-output.ly: Improve.
85
86 2006-11-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
87
88         * lily/dynamic-engraver.cc: 
89         formatting cleanup
90
91         * input/regression/note-head-harmonic.ly: 
92         * lily/stem.cc: 
93         * input/regression/note-head-harmonic-whole.ly: 
94         Center harmonic heads if stem is invisible. Fixes #140
95
96         * lily/input.cc: 
97         end context snippet with '\n'
98
99         * lily/parse-scm.cc: 
100         catch all GUILE exceptions
101
102         * VERSION: 
103         bump version
104
105         * lily/include/lily-lexer.hh: 
106         * lily/lily-lexer.cc: 
107         * lily/lily-parser.cc: 
108         Lily_parser* arg for copy ctor too.
109
110         * scripts/abc2ly.py: 
111         abc2ly new tempo syntax
112
113 2006-11-04  Heikki Junes  <hjunes@gmail.com>
114
115         * po/fi.po: update Finnish translation.
116
117 2006-11-03  Graham Percival  <gpermus@gmail.com>
118
119         * Documentation/user/ {various}: rename page->spacing,
120         global->non-music, invoking->running, example->templates.
121
122 2006-11-03  Nicolas Sceaux  <nicolas.sceaux@free.fr>
123
124         * scm/display-lily.scm: add a parser argument to display methods,
125         instead of using a *parser* special variable.
126
127         * scm/define-music-display-methods.scm: add a parser argument to
128         display methods. Update the methods for \melisma, \melismaEnd,
129         \breathe, \tempo, \partial.
130
131         * input/no-notation/display-lily-tests.ly: update the test
132         utilities according to the changes in display-lily.scm
133
134 2006-11-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
135
136         * *: The Joy of Merging.
137
138         * buildscripts/git-update-changelog.py: 
139         sort commits, and use .git-commits-done file.
140
141         * GNUmakefile.in: 
142         * elisp/GNUmakefile: 
143         dist emacs patches too.
144
145 2006-11-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
146
147         * scm/autochange.scm: 
148         autochange thinko.
149
150         * lily/context-def.cc: 
151         * lily/include/parse-scm.hh: 
152         * lily/include/smobs.hh: 
153         * lily/parse-scm.cc: 
154         * lily/prob.cc: 
155         * lily/program-option.cc: 
156         * scm/lily.scm: 
157         implement and use ASSERT_LIVE_IS_ALLOWED()
158
159         * ly/music-functions-init.ly: 
160         * scm/autochange.scm: 
161         set-part-combine fix for autochange.
162
163         * lily/include/lily-lexer.hh: 
164         * lily/include/lily-parser.hh: 
165         * lily/lily-lexer.cc: 
166         * lily/lily-parser-scheme.cc: 
167         * lily/lily-parser.cc: 
168         clear lexer scopes after parsing file. Plugs pseudo memory leak
169
170         * ly/declarations-init.ly: 
171         * ly/music-functions-init.ly: 
172         * scm/part-combiner.scm: 
173         Remove set-part-combine-listener. This plugs a memory leak.
174
175         * .gitignore: 
176         more ignores.
177
178         * mf/GNUmakefile: 
179         don't delete .scale.pfa; the FF script may not have read themyet. Fixes brace OTF bug
180
181         * .gitignore: 
182         ignore gcstat files.
183
184         * lily/part-combine-iterator.cc: 
185         don't allocate part combine events statically. Plugs small leak.
186
187         * lily/lily-parser-scheme.cc: 
188         plug memleak in case of failed files.
189
190         * lily/include/source.hh: 
191         * lily/source.cc: 
192         clean up Sources
193
194         * lily/lexer.ll: 
195         hi-bit ascii is also counted as alpha chars. This allows unicodeidentifiers, and fixes premature stop at accented char. (#134)
196
197         * lily/include/program-option.hh: 
198         * lily/program-option.cc: 
199         get_program_option() function
200
201         * ly/titling-init.ly: 
202         change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing.
203
204         * lily/include/translator.hh: 
205         * lily/include/translator.icc: 
206         * lily/translator.cc: 
207         minor cleanups
208
209         * lily/figured-bass-engraver.cc: 
210         don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128.
211
212         * stepmake/stepmake/compile-vars.make: 
213         don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC
214
215 2006-11-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
216
217         * python/midi.c: 
218         init running_status
219
220         * python/midi.c: 
221         trim warning messages.
222
223         * configure.in: 
224         strip -Werror.
225
226         * input/regression/utf-8.ly: 
227         document utf-8 meaning of phrases.
228
229         * scm/define-markup-commands.scm: 
230         make \caps markup default to smallCaps
231
232         * lily/pango-font.cc: 
233         * lily/ttf.cc: 
234         use glyph indexing for glyph name .notdef
235
236 2006-11-02  Jan Nieuwenhuizen  <janneke@gnu.org>
237
238         * input/regression/utf-8.ly: Fix doc to match order of language
239         fonts.
240
241 2006-11-01  Joe Neeman  <joeneeman@gmail.com>
242
243         * lily/optimal-page-breaking.cc (try_page_spacing): don't average
244         page and line forces.
245
246 2006-11-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
247
248         * GNUmakefile.in (SUBDIRS): remove cygwin dir too.
249
250 2006-10-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
251
252         * Documentation/user/GNUmakefile: 
253         don't use ImageMagick, use GS directly.
254
255         * mf/GNUmakefile: 
256         otf depends on otf-g?table. Fixes race condition in -j2 build.
257         (cherry picked from b0628c40c47202bddac01e18cd4808b3c9d12faf commit)
258
259         * mf/GNUmakefile: 
260         rm fontdir target.
261
262         * mf/GNUmakefile: 
263         remove .deb/.rpm downloading.
264
265         * buildscripts/git-update-changelog.py: 
266         bugfixes for git-update-changelog.py
267
268         * Documentation/user/GNUmakefile: 
269         remove .eps rules
270
271 2006-10-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
272
273         * input/regression/tie-semi-single.ly:
274         use position/direction from single tie case too. This fixes
275         overrides and defaults for single laissez-vibrer and repeat ties.
276
277         * buildscripts/git-update-changelog.py: 
278         only prepend header if one patch was successful.
279
280 2006-10-31  Jan Nieuwenhuizen  <janneke@gnu.org>
281
282         * cygwin/GNUmakefile (#INSTALLATION_OUT_DIR): Remove postinstall
283         stuff.  Remove cygwin packaging stuff.
284
285 2006-10-30  Jan Nieuwenhuizen  <janneke@gnu.org>
286
287         * python/convertrules.py (conv): Part 2 fixes vertical extent.
288
289         * input/test/vertical-extent.ly: Fix and elaborate on vertical
290         staff extent.  (Thanks Mats)
291
292 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
293
294         * buildscripts/git-update-changelog.py (main): write .msg and cvs
295         command.
296
297         * scm/define-grobs.scm: 
298         separation-items have width
299         
300         * VERSION: 
301         bump version
302         
303         * .gitignore: 
304         * Documentation/topdocs/NEWS.tely: 
305         * lily/separating-group-spanner.cc: 
306         * lily/slur-engraver.cc: 
307         * lily/slur-scoring.cc: 
308         * scm/define-grobs.scm: 
309         * input/regression/slur-clef.ly:
310         add breakableSeparationItem to extra encompass for slurs. This
311         fixes slur/clef slur/key collisions etc. Should fix #49
312         
313         * lily/include/slur-scoring.hh: 
314         * lily/slur-scoring.cc: 
315         Use X of separation item as slur start. Fixes #120
316
317 2006-10-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
318
319         * buildscripts/git-update-changelog.py (changelog_body): don't
320         write committishes.
321
322         * lily/grob.cc: add avoid-slur
323
324 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
325
326         * emacsclient.patch: 
327         * server.el.patch: 
328         move server/emacsclient to elisp/
329
330         * buildscripts/git-update-changelog.py (Commit.note_del_file):
331         apply patches too
332
333         * elisp/server.el.patch: 
334         move emacs patches.
335
336         * elisp/emacsclient.patch: 
337         emacsclient too.
338
339         * buildscripts/git-update-changelog.py: 
340         ignore ChangeLog
341
342         * .gitignore: 
343         update
344
345         * ChangeLog: 
346         * buildscripts/git-update-changelog.py: 
347         script to update ChangeLog with Git messages.
348
349         * lily/beam-engraver.cc: 
350         * input/regression/rest-pitched-beam.ly: 
351         don't set callback if staff-position set. Fixes #126.
352
353         * lily/bar-number-engraver.cc: 
354         * lily/beam.cc: 
355         * lily/fingering-engraver.cc: 
356         * lily/grob-property.cc: 
357         * lily/grob.cc: 
358         * lily/include/grob.hh: 
359         * lily/include/lily-guile-macros.hh: 
360         * lily/mark-engraver.cc: 
361         * lily/melody-engraver.cc: 
362         * lily/script-column.cc: 
363         * lily/tie-formatting-problem.cc: 
364         * lily/tie.cc: 
365         internal_get_property_data() using ly_symbol2scm()
366
367         * stepmake/stepmake/generic-targets.make: 
368         create .gitignore in outdir.
369
370         * .gitignore: 
371         new file.
372
373 2006-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
374
375         * input/test/vertical-extent.ly: 
376         * python/convertrules.py (conv): verticalExtent -> VerticalAxisGroup.
377
378 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
379
380         * stepmake/bin/add-html-footer.py (compose): remove setgcos
381
382 2006-10-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
383
384         * GNUmakefile.in (install-help2man): install-help2man target. 
385
386 2006-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
387
388         * SConstruct (configure): Do not check for /bin/sh.
389
390 2006-10-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
391
392         * mf/GNUmakefile: explicit dependencies for emmentaler .otf-table
393         files.
394
395         * Documentation/topdocs/NEWS.tely (Top): add FretBoards example. 
396
397         * input/regression/fret-boards.ly: new file.
398
399         * po/de.po: new po courtesy translation team.
400
401         * scripts/lilypond-book.py (get_option_parser): add newline to doc
402         string.
403
404 2006-10-27  Mats Bengtsson  <mabe@drongo.s3.kth.se>
405
406         * ly/gregorian-init.ly (neumeDemoLayout): update
407         minimumVerticalExtent -> VerticalAxisGroup #'minimum-Y-extent 
408
409         * scm/define-context-properties.scm, ly/engraver-init.ly: Remove
410         obsolete verticalExtent / extraVerticalExtent / minumumVerticalExtent
411
412 2006-10-27  Erlend Aasland  <erlenda@gmail.com>
413
414         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
415         Yet another build fix.
416
417 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
418
419         * SConstruct (lilypondprefix): use sorted() for list_sort()
420         indent 4
421
422 2006-10-26  Jan Nieuwenhuizen  <janneke@gnu.org>
423
424         * flower/SConscript: Unit test rules.
425
426         * flower/test-std.cc: Compile fix.
427
428 2006-10-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
429
430         * python/midi.c (pymidi_parse_track): warning fixes.
431
432         * lily/dot-column.cc (struct Dot_position): initialize extremal_head_
433         include dot-column.hh
434
435 2006-10-26  Graham Percival  <gpermus@gmail.com>
436
437         * Documentation/user/{basic-, global}: minor changes from mailist.
438
439 2006-10-26  Erlend Aasland  <erlenda@gmail.com>
440
441         * scm/define-grobs.scm: trivial beautification
442
443         * lily/tie-performer.cc: no need to #include "pqueue.hh"
444
445         * lily/source-file.cc: put multibyte var inside #if clause
446
447         * scm/define-grob-interfaces.scm:
448         * scm/define-grob-properties.scm:
449         Build fix (string-fret-finger-combinations)
450
451         * Documentation/topdocs/INSTALL.texi: Remove obsolete info about
452         lexer-gcc-3.1.sh
453
454         * Documentation/user/lilypond-book.itely: Build fix.
455
456 2006-10-26  Joe Neeman  <joeneeman@gmail.com>
457
458         * lily/system.cc (get_paper_system): 
459         * lily/paper-book.cc (systems): 
460         move most of the backwards compatibility stuff into
461         Paper_book::systems
462
463         * Documentation/topdocs/NEWS.tely: add 2 entries for the
464         page breaking stuff
465
466         * Documentation/user/page.itely: remove time-scaled-music
467         bug for the Page_turn_engraver
468
469         * lily/paper-book.cc (set_system_penalty): backwards
470         compatibility (breakbefore) for the old page breaker
471
472 2006-10-25  Graham Percival  <gpermus@gmail.com>
473
474         * Diocumentation/user/instrument-notation.itely: added more
475         info about stanzas; thanks Geoff!
476
477         * Documentation/user/ {basic, advanced}: small fixes from
478         mailist.
479
480         * THANKS: add some bug reporters.
481
482 2006-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
483
484         * scm/define-context-properties.scm (all-user-translation-properties):
485         noteToFretFunction: Add.
486
487         * scm/define-grobs.scm (all-grob-descriptions): FretBoard: use
488         fret-diagram-interface (WAS: fret-board-interface).  Fixes build.
489
490 2006-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
491
492         * flower/file-name.cc (dos_to_posix): Help std::string.copy with
493         trailing zero.
494
495         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
496         Remove bashism in delete.
497
498 2006-10-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
499
500         * scm/define-grobs.scm (all-grob-descriptions): set finger-code.
501
502         * scm/translation-functions.scm (determine-frets-mf): flatten let*
503
504         * scm/define-context-properties.scm
505         (all-user-translation-properties): add maximumFretStretch property.
506
507         * scm/translation-functions.scm (tunings): read and use maximumFretStretch.
508
509         * lily/source-file.cc (get_counts): use multibyte variable.
510
511         * scm/translation-functions.scm (determine-frets-mf): new
512         function: compute fret numbers. 
513
514         * scm/output-lib.scm (string-frets->description) new function.
515         (fret-board::calc-stencil): new function
516
517         * scm/fret-diagrams.scm (fret-diagram-verbose): update doc string.
518
519         * scm/define-grobs.scm (all-grob-descriptions): add FretBoard grob. 
520
521         * lily/include/lily-guile.hh (ly_cxx_vector_to_list): new function.
522
523         * lily/tab-note-heads-engraver.cc: cleanups.
524
525         * lily/fretboard-engraver.cc: new file
526
527         * ly/engraver-init.ly: add FretBoards context
528
529 2006-10-24  Joe Neeman  <joeneeman@gmail.com>
530
531         * lily/grob.cc (pure_relative_y_coordinate)
532         (pure_height): use the new call_pure_function stuff
533
534         * lily/grob-property.cc (call_pure_function): wrapper for the scheme
535         call-pure-function
536
537         * lily/side-position-interface.cc (pure_y_aligned_side): add an
538         optarg
539
540         * lily/simple-closure.cc (ly_eval_simple_closure): make
541         simple-closure evaluatable from scheme
542         (evaluate_with_simple_closure): make simple-closures pure-
543         evaluatable
544
545         * lily/slur.cc (pure_outside_slur_callback): new function
546
547         * ly/paper-defaults.ly: change default blank-page-force to 2 (this
548         fits in with previous changes that made the page forces much
549         smaller)
550
551         * scm/define-grobs.scm (call-pure-function): generalise pure-Y-offset
552         and pure-Y-extent into this new function.
553         (pure-conversions-alist): add outside-slur-callback
554
555 2006-10-24  Mats Bengtsson  <mabe@drongo.s3.kth.se>
556
557         * Documentation/user/advanced-notation.itely (Instrument names):
558         Remove obsolete bug workaround for instrument names on piano
559         staff. 
560
561 2006-10-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
562
563         * Documentation/user/lilypond-book.itely (Integrating DocBook and
564         music): patch by Bertalan Fodor for docbook.
565
566         * Documentation/topdocs/GNUmakefile (LILYPOND_BINARY): use instead
567         of $(LILYPOND). Prevents lilypond run for .txt files.
568
569         * INSTALL.txt: gitness.
570
571         * .cvsignore: update to force gitness. 
572
573 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
574
575         * lily/tuplet-bracket.cc (calc_position_and_height): robustness:
576         detect suicide in nested tuplets.
577
578 2006-10-23  Werner Lemberg  <wl@gnu.org>
579
580         * lily/pango-font.cc (Pango_font::pango_item_string_stencil): Fix
581         typo in argument to FT_Get_X11_Font_Format.
582
583 2006-10-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
584
585         * stepmake/stepmake/po-vars.make: more gitness.
586
587         * flower/polynomial.cc (check_sol): no empty if bodies. 
588
589 2006-10-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
590
591         * stepmake/stepmake/po-vars.make: test change for GIT gateway.
592
593 2006-10-22  Jürgen Reuter  <reuter@ipd.uka.de>
594
595         * Documentation/user/examples.itely (Transcription of mensural
596         music): Added more comments in .ly source.  Suggest to remove
597         Forbid_line_break_engraver to allow line breaking at all bars.
598
599         * Documentation/user/instrument-notation.itely (Ancient
600         articulations): Updated @refbugs regarding episem.
601
602         * Documentation/user/instrument-notation.itely (Gregorian square
603         neumes ligatures): Added \augmentum dots.  Updated @refbugs
604         regarding \augmentum.
605
606         * input/test/gregorian-scripts.ly: Removed obsolete TODOs.
607
608         * input/test/ligature-vaticana.ly: Added \augmentum dots.  Updated
609         comment.
610
611         * lily/vaticana-ligature-engraver.cc: Added TODO comment for
612         \augmentum dots.
613
614         * ly/gregorian-init.ly: Added \augmentum macro.
615
616 2006-10-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
617
618         * lily/gregorian-ligature-engraver.cc (fix_prefix): const correctness.
619
620         * lily/pango-font.cc (pango_item_string_stencil): use
621         FT_Get_X11_Font_Format()
622
623 2006-10-22  John Mandereau  <john.mandereau@free.fr>
624
625         * po/fr.po: update translation.
626
627 2006-10-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
628
629         * VERSION (PATCH_LEVEL): bump version
630
631         * input/regression/horizontal-bracket-break.ly: new file.
632
633         * scm/define-grobs.scm (all-grob-descriptions): calc
634         connect-to-neighbor. 
635
636         * lily/horizontal-bracket.cc (make_bracket): support
637         connect-to-neighbor.  Fix #118
638
639         * VERSION: release 2.9.26-2
640
641         * lily/ttf.cc (make_index_to_charcode_map): remove debugging gobs.
642
643         * VERSION (PACKAGE_NAME): release 2.9.26
644
645         * buildscripts/output-distance.py (test_basic_compare): add
646         multipage test.
647         (FileLink.multi_img_cell): new function, glob multi-page png
648         images.
649
650 2006-10-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
651
652         * po/lilypond.pot: update.
653
654         * Documentation/topdocs/NEWS.tely (Top): remove TODOs.
655
656         * Documentation/user/global.itely (File structure): remove
657         \addqoute remark.
658
659         * lily/parser.yy (FIXME): remove ADDQUOTE
660
661         * Documentation/user/global.itely (Extracting fragments of
662         notation): new node, about clip systems.
663
664         * Documentation/user/lilypond-book.itely (Many quotes of a large
665         score): ref to clip systems.
666
667         * Documentation/user/instrument-notation.itely (Entering lyrics):
668         add note about lyric ties and required font.
669
670         * lily/open-type-font.cc (glyph_list): format errors.
671
672         * Documentation/user/programming-interface.itely (Scheme
673         procedures as properties): more doco on simple-closure and scheme
674         callbacks.
675         (Input variables and Scheme): use lilypond[verbatim], document
676         dummy statement.
677
678         * Documentation/user/page.itely (Displaying spacing): use \book
679         explicitly, so arrows show .
680         (Line breaking): add note about Forbid_line_break_engraver
681
682         * Documentation/user/tweaks.itely (Common tweaks): also set length
683         to prevent tie squeezing. 
684         (Default files): use @var{}
685
686         * Documentation/user/converters.itely (Invoking abc2ly): remove mup2ly.
687         (Generating LilyPond files): add FOMUS.
688
689 2006-10-20  Joe Neeman  <joeneeman@gmail.com>
690
691         * scm/define-grobs.scm (all-grob-descriptions): set side-axis and
692         Y-offset for TextScript and Script
693
694         * lily/text-engraver.cc (make_item): 
695         * lily/script-engraver.cc (make_script_from_event):
696         remove call to Side_position_interface::set_axis since all scripts
697         now have this set by default
698
699         * lily/context.cc: 
700         * lily/prob.cc: use variables
701
702 2006-10-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
703
704         * lily/page-turn-engraver.cc (acknowledge_note_head): don't look
705         at typography, rather analyse stream event duration. 
706
707         * Documentation/user/page.itely (Page formatting): set a6 paper
708         for system separator example.
709         
710         * lily/arpeggio.cc (Module): idem.
711
712         * lily/accidental-placement.cc: add script-priority property.
713
714         * scm/framework-ps.scm (dump-stencil-as-EPS): thinko.
715
716         * lily/ttf.cc (print_trailer): if all else fails: use
717         glyphIndexXXXX as glyph name. Fixes #117.
718
719         * lily/pango-font.cc (pango_item_string_stencil): only use cmap
720         entry if cmap contains glyph.
721         (get_index_to_charcode_map): remove from Pango_font class, use
722         global filename -> font mapping.
723         (get_glyph_index_name): new function.
724         (pango_item_string_stencil): use glyphIndexXXXX as glyph name,
725         only for TTF. 
726
727         * scripts/lilypond-book.py (main): use -deps-box-padding=-3
728
729         * scm/framework-ps.scm (dump-stencil-as-EPS): use eps-box-padding,
730         a number.
731
732         * scm/define-grob-properties.scm (all-user-grob-properties):
733         remove outdated doc. Fixes #116
734
735         * lily/completion-note-heads-engraver.cc (process_music): always
736         clone input events; otherwise we may overwrite input 'duration
737         property. Fixes #115.
738
739         * lily/general-scheme.cc (LY_DEFINE): explicit cast in case
740         scm_t_int32 != int
741
742         * scm/output-svg.scm (pango-description-regexp-comma): Remove ^
743         anchor. Fixes #114
744
745         * VERSION (PATCH_LEVEL): bump version.
746
747 2006-10-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
748
749         * lily/engraver.cc (internal_make_grob): use variables.
750
751         * flower/string-convert.cc (dec2double): clean-up warnings. 
752
753         * configure.in (CXXFLAGS): add -Werror.
754
755         * VERSION (PACKAGE_NAME): release 2.9.25
756
757 2006-10-18  Joe Neeman  <joeneeman@gmail.com>
758
759         * lily/simple-spacer.cc (get_line_forces): test for non-fitting
760         line even if we precede a forced break.
761
762         * lily/optimal-page-breaking.cc (try_page_spacing): square line
763         forces too. Make page-spacing weight default to 10 because the
764         changes to vertical springs decreased the page force/line force
765         proportions. Also, take the average of line force and page force
766         instead of just the sum.
767
768         * lily/constrained-breaking.cc (initialize): make the stiffness
769         of the vertical springs depend on the height of the system. This
770         prevents pages with only a few large systems from getting huge
771         forces
772
773         * Documentation/user/page.itely (Page formatting): document the
774         change in default page-spacing-weight
775
776         * lily/include/constrained-breaking.hh: initialise bottom_padding_
777
778 2006-10-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
779
780         * input/typography-demo.ly (melody): remove superfluous slur.
781
782         * scm/define-grob-interfaces.scm (piano-pedal-script-interface):
783         add piano-pedal-script-interface
784
785 2006-10-18  Bertalan Fodor  <lilypondtool@organum.hu>
786
787         * scripts/lilypond-book.py: DocBook support.
788
789 2006-10-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
790
791         * lily/piano-pedal-engraver.cc (struct Pedal_info): remove
792         Y-alignment code.
793         (stop_translation_timestep): set bound to currentMusicalColumn if
794         not set yet. Fixes #102
795
796         * lily/piano-pedal-bracket.cc: formatting.
797
798         * input/test/engraver-one-by-one.ly (MyStaff): reformat.
799
800         * lily/piano-pedal-align-engraver.cc: new class
801         Piano_pedal_align_engraver. Handle side-positioning Y-alignment
802         for piano pedals.  
803
804 2006-10-18  Heikki Junes  <hjunes@gmail.com>
805
806         * po/fi.po: Update Finnish translation (before the next release).
807
808 2006-10-17  Joe Neeman  <joeneeman@gmail.com>
809
810         * lily/system.cc (get_paper_system): reinstate the backwards-
811         compatible page breaking for the old page breaker.
812
813 2006-10-17  Erik Sandberg  <mandolaerik@gmail.com>
814         
815         * lily/recording-group-engraver.cc: removed
816
817         * lily/context.cc, lily/translator-group.cc: Don't touch
818         Context::implementation_ if it's null
819
820 2006-10-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
821
822         * scm/paper.scm: only use left-margin if defined.
823
824         * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
825
826         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): idem.
827
828         * lily/new-fingering-engraver.cc: stringFingerOrientations ->
829         strokeFingerOrientations
830
831         * lily/script-column.cc (row_before_line_breaking): also handle
832         accidentals and arpeggios in horizontal script stacking.
833
834         * lily/script-row-engraver.cc (acknowledge_accidental_placement):
835         new function.
836
837         * input/regression/script-stack-horizontal.ly: trim.
838
839 2006-10-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
840
841         * scm/output-lib.scm (stroke-finger::calc-text): allow reading of
842         'text property too.
843
844         * ly/music-functions-init.ly: rename to StrokeFingerEvent, set
845         'text if string argument.
846
847         * scm/define-grobs.scm (all-grob-descriptions): rename to StrokeFinger.
848
849         * scm/define-context-properties.scm
850         (all-user-translation-properties): change to strokeFingerOrientations
851
852 2006-10-16  Erik Sandberg  <mandolaerik@gmail.com>
853
854         * lily/parser.yy: remove debug output
855
856 2006-10-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
857
858         * ly/paper-defaults.ly: set left/right margin.
859
860         * scm/paper.scm (set-paper-dimensions): use left-margin and
861         right-margin for computing linewidth.
862
863         * Documentation/topdocs/NEWS.tely (Top): idem.
864
865         * input/regression/lyric-tie.ly (texidoc): use vowels for tied
866         lyrics example.
867
868         * scm/define-markup-commands.scm (tied-lyric): increase negative
869         space: space syllables tighter.
870
871         * VERSION (PATCH_LEVEL): bump version.
872
873         * scm/paper.scm: patch by Arvid Gr"otting, arvidgr@gmail.com: tune
874         Ax paper sizes. 
875
876 2006-10-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
877
878         * COPYING: further clarification
879
880         * VERSION: release 2.9.24
881
882         * input/regression/script-stack-horizontal.ly: add version.
883
884         * scm/lily-library.scm (list-join): use fold-right. Fixes #112
885
886         * input/regression/lyric-tie.ly (texidoc): use different words.
887
888         * mf/GNUmakefile (ALL_GEN_FILES): remove fonts.cache-1
889
890 2006-10-15  Erik Sandberg  <mandolaerik@gmail.com>
891
892         * lily/*.cc, lily/include/*.hh: eliminate dummy arguments from
893         macros ADD_TRANSLATOR, DECLARE_SMOBS and DECLARE_SIMPLE_SMOBS
894         
895 2006-10-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
896
897         * mf/GNUmakefile: remove fc-cache calls; not necessary for fc 2.4; 
898
899         * Doxyfile: remove file.
900
901         * scm/define-grob-interfaces.scm (string-finger-interface): add
902         string-finger-interface
903
904         * lily/general-scheme.cc (LY_DEFINE): move
905         ly_camel_case_to_lisp_identifier to here. Use vector<char> iso. char[] 
906
907         * Documentation/topdocs/NEWS.tely (Top): add note for
908         string-finger feature.
909
910         * scm/define-grobs.scm (all-grob-descriptions): add 'string-names
911         property.
912
913         * scm/output-lib.scm (string-finger::calc-text): read 'digit
914         instead of 'text
915
916         * input/regression/script-stack-horizontal.ly: new file.
917
918         * ly/engraver-init.ly: add Script_row_engraver.
919
920         * lily/script-column.cc (order_grobs): refactor: separate axis
921         independent code.
922         (row_before_line_breaking): new function.
923
924         * lily/script-row-engraver.cc (Script_row_engraver): new file.
925
926         * scm/define-grobs.scm (all-grob-descriptions): add ScriptRow
927
928 2006-10-14  Jürgen Reuter  <reuter@ipd.uka.de>
929
930         * Documentation/user/instrument-notation.itely: Cleanup: Remove
931         annoying skip notes from mensural ligature example.  Update
932         @refbugs for ligatures and mensural ligatures.
933
934         * lily/coherent-ligature-engraver.cc,
935         lily/include/coherent-ligature-engraver.hh,
936         lily/mensural-ligature-engraver.cc,
937         lily/vaticana-ligature-engraver.cc: Revise code for item
938         reparentizing.  There should now be less programming_error
939         messages.
940
941         * lily/mensural-ligature-engraver.cc: Improve placement of dots.
942
943         * lily/mensural-ligature.cc, lily/vaticana-ligature.cc:
944         Maintenance bugfix: Don't create empty Stencil (), but empty box
945         instead.  This fix should eliminate some programming_error
946         messages.
947
948         * ly/engraver-init.ly (MensuralStaff): Set default accidental
949         style.
950
951         * input/regression/mensural-ligatures.ly: Maintenance bugfix: Move
952         \layout block _before_ score.
953
954 2006-10-14  Han-Wen Nienhuys  <hanwen@lilypond.org>
955
956         * GNUmakefile.in (PATCH_FILES): remove darwin.patch.
957
958         * lily/pango-font.cc (pango_item_string_stencil): more verbose message.
959
960 2006-10-13  Erlend Aasland  <erlenda@gmail.com>
961
962         * lily/note-collision.cc: fix issue #44 (dot/notehead collision)
963
964 2006-10-13  Han-Wen Nienhuys  <hanwen@lilypond.org>
965
966         * VERSION (PATCH_LEVEL): bump version.
967
968         * COPYING: clarify exception note.
969
970         * lily/main.cc: remove remark about "COPYING".
971
972         * scm/framework-ps.scm (clip-system-EPSes): change ordering, so
973         system-count starts at 0 for each clip-region. Change name to
974         FILE[-COUNT]-from-FROM-to-TO-clip[-COUNT]. Take clip-regions from
975         layout block, per score.
976
977 2006-10-13  Erik Sandberg  <mandolaerik@gmail.com>
978
979         * lily/input-smob.cc: add equal_p for Input
980
981         * lily/music-scheme.cc (ly_camel_case_to_lisp_identifier): new
982         function
983
984         * lily/parser.yy: MY_MAKE_MUSIC sets music origin
985
986         * lily/prob.cc: Add equal_p predicate for Prob
987
988         * lily/translator.cc: small cleanup
989
990         * scm/document-music.cc: use data from translator listener
991         registration to generate documentation for event classes
992
993         * lily/*: Eliminate accept arg of ADD_TRANSLATOR
994         
995         * lily/include/*: Eliminate dummy arg of DECLARE_*SMOBS
996         
997 2006-10-13  Jan Nieuwenhuizen  <janneke@gnu.org>
998
999         * GNUmakefile.in (SCRIPTS): Remove lexer-gcc-3.1.sh.
1000
1001 2006-10-12  Jan Nieuwenhuizen  <janneke@gnu.org>
1002
1003         * Documentation/topdocs/INSTALL.texi: Thinko.
1004
1005         * .cvsignore: Update.
1006
1007         * lexer-gcc-3.1.sh: Remove.
1008
1009         * Documentation/topdocs/INSTALL.texi: Remove obsolete ftp server.
1010         Update anonymous cvs access.  Remove comment about gcc 3.0.4.
1011
1012 2006-10-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
1013
1014         * VERSION: release 2.9.23
1015
1016         * lily/paper-column-engraver.cc (stop_translation_timestep): also
1017         typecheck barnumber.
1018
1019         * scm/framework-ps.scm (dump-stencil-as-EPS): fix thinkos.
1020
1021         * scm/lily.scm (type-p-name-alist): add rhythmic-location? type name.
1022
1023         * Documentation/topdocs/NEWS.tely (Top): doc new clipping feature
1024
1025         * input/regression/clip-systems.ly (Notes): new file. 
1026
1027         * scm/lily.scm (define-scheme-options): add clip-systems option.
1028
1029         * scm/framework-ps.scm (dump-stencil-as-EPS-with-bbox): new
1030         function
1031         (dump-stencil-as-EPS): move bbox calculation from previous
1032         dump-stencil-as-EPS
1033         (output-framework): use -dclip-systems 
1034
1035         * scm/lily-library.scm (filtered-map): new function
1036
1037         * scm/framework-ps.scm (clip-system-EPS): new function.
1038         (clip-system-EPSes): new function.
1039
1040         * lily/paper-column.cc: add rhythmic-location to interface
1041
1042         * scm/define-grob-properties.scm (all-user-grob-properties): add
1043         rhythmic-location property.
1044
1045         * scm/clip-region.scm: new file: rhythmic-location data type and
1046         system-clipped-x-extent function.
1047
1048         * ly/init.ly: use (scm clip-region)
1049
1050         * lily/paper-column-engraver.cc (stop_translation_timestep): set
1051         rhythmic-location for paper column grobs.
1052
1053         * lily/grob-scheme.cc (LY_DEFINE): minor cleanup
1054
1055 2006-10-12  Jürgen Reuter  <reuter@ipd.uka.de>
1056
1057         * ly/engraver-init.ly: Remove obsolete comment on
1058         Bar_number_engraver.
1059
1060         * Documentation/user/instrument-notation.itely: Tune Ancient
1061         Articulations figure, such that the episem actually shows.
1062
1063         * lily/mensural-ligature.cc (internal_brew_primitive): Bugfix:
1064         fix Han-Wen's fix (rev. 1.53): scm_is_pair -> scm_is_number.
1065
1066         * lily/vaticana-ligature-engraver.cc: Minor robustness fix /
1067         cleanup.
1068
1069 2006-10-12  Graham Percival  <gpermus@gmail.com>
1070
1071         * Documentation/user/ {some}: minor edits that were lost somehow.
1072
1073 2006-10-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
1074
1075         * VERSION (PACKAGE_NAME): bump version.
1076
1077         * input/regression/lyric-tie.ly (texidoc): new file.
1078
1079         * Documentation/topdocs/NEWS.tely (Top): add new feature.
1080
1081         * lily/general-scheme.cc (LY_DEFINE): elucidate docstring.
1082
1083         * scm/define-markup-commands.scm (tied-lyric): new function: split
1084         string along ~ and reattach with U+203F (tie character) and
1085         negative space.
1086
1087         * scm/output-lib.scm (lyric-text::calc-text): new function.
1088
1089         * lily/lyric-engraver.cc (process_music): don't set 'text.
1090
1091         * scm/output-lib.scm (string-finger::calc-text): new function
1092         (lyric-text::print): new function.
1093
1094         * lily/new-fingering-engraver.cc (add_fingering): refactor; make
1095         generic for fingering & string number. Use for string-finger. 
1096
1097         * scm/define-music-types.scm (music-descriptions): add
1098         StringFingerEvent
1099
1100         * lily/fingering-engraver.cc (listen_string_finger): new function
1101
1102         * scm/define-grobs.scm (all-grob-descriptions): add StringFinger
1103
1104         * scm/define-context-properties.scm
1105         (all-user-translation-properties): add stringFingerOrientations
1106
1107 2006-10-11  Jürgen Reuter  <reuter@ipd.uka.de>
1108
1109         * mf/parmesan-dots.mf (new), mf/parmesan-generic.mf,
1110         ly/engraver-init.ly: Added vaticana-style augmentum dot glyph.
1111
1112         * lily/dots.cc: Added style property for dots.
1113
1114         * mf/parmesan-heads.mf: Fix typo in comment.
1115
1116         * mf/feta-bolletjes.mf, scm/output-lib.scm: Fix longa notes bug by
1117         adding longa head to feta font and removing obsolete default
1118         mapping scheme code.
1119
1120 2006-10-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
1121
1122         * scm/output-lib.scm (fingering::calc-text): use origin
1123         event-property, not music-property.
1124
1125         * lily/lilypond.rc.in: spell my name correctly.
1126
1127 2006-10-10  Joe Neeman  <joeneeman@gmail.com>
1128
1129         * lily/grob.cc (pure_height): only add minimum-Y-extent if we
1130         already have a non-empty extent. Fixes estimation for Hara-kiri
1131         staves.
1132
1133 2006-10-09  Jürgen Reuter  <reuter@ipd.uka.de>
1134
1135         * ly/gregorian-init.ly: Simplify definition of \episemInitium and
1136         \episemFinis.
1137
1138         * lily/ligature-engraver.cc: Remove unused #include.
1139
1140         * lily/vaticana-ligature-engraver.cc: Fix placement of dots.
1141         Bugfix: remove method check_for_prefix_loss(Item *) from global
1142         namespace to avoid namespace pollution.
1143
1144 2006-10-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
1145
1146         * VERSION: release 2.9.22
1147
1148         * ly/generate-documentation.ly: update option name.
1149
1150         * lily/dynamic-text-spanner.cc (print): revert fix.
1151
1152         * scm/define-grob-interfaces.scm
1153         (trill-pitch-accidental-interface):
1154         add trill-pitch-accidental-interface
1155
1156         * lily/dots-engraver.cc (acknowledge_rhythmic_head): only
1157         dereference if it's really a duration.
1158
1159         * lily/figured-bass-engraver.cc (process_music): clear spanner if
1160         useBassFigureExtenders is not set.
1161         (listen_bass_figure): record as new event if
1162         useBassFigureExtenders not set. Fixes #103.
1163
1164         * scm/stencil.scm (circle-stencil): don't center stencil argument,
1165         instead: move circle. Fixes #107.
1166
1167         * scm/define-grobs.scm (all-grob-descriptions): set
1168         allow-loose-spacing for PaperColumn and
1169         NonMusicalPaperColumn. Kludge for #110.
1170
1171         * lily/spaceable-grob.cc: add allow-loose-spacing property.
1172
1173         * lily/spacing-determine-loose-columns.cc (is_loose_column):
1174         allow-loose-spacing property.
1175
1176         * scm/define-markup-commands.scm (postscript): gsave & grestore
1177         around embedded PS. Do setlinewidth too. Fixes  #109.
1178
1179 2006-10-08  Jürgen Reuter  <reuter@ipd.uka.de>
1180
1181         * lily/ligature-bracket-engraver: Bugfix: Add missing stream event
1182         code.  This patch fixes ligature brackets that were not at all
1183         engraved any more.
1184
1185 2006-10-08  Graham Percival  <gpermus@gmail.com>
1186
1187         * Docuemntation/user/page.itely: clarify two-pass vs. ragged-bottom.
1188
1189         * ly/property-init.ly: fix sacred harp notehead shapes (bug 96).
1190
1191         * scm/define-context-properties.scm: clarified docs (bug 91).
1192
1193         * Documentation/user/basic-notation.itely: document volta brackets
1194         not aligning (bug 63).
1195
1196         * Documentation/user/ global.itely invoking.itely: ignore or
1197         add warnings about texstr.
1198
1199 2006-10-08  John Mandereau  <john.mandereau@free.fr>
1200
1201         * po/fr.po: update translation.
1202
1203         * po/: update msgids.
1204
1205 2006-10-08  Jan Nieuwenhuizen  <janneke@gnu.org>
1206
1207         * GNUmakefile.in (HELP_CATALOGS): Fix in-build-tree locales.
1208
1209 2006-10-08  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1210
1211         * Documentation/user/page.itely (Two-pass vertical spacing): add
1212         documentation for two-pass spacing technique.
1213
1214 2006-10-06  Graham Percival  <gpermus@gmail.com>
1215
1216         * Documentation/user/convert-ly.txt: new file; new
1217         storage place for this file (moved from bugs/ CVS).
1218
1219 2006-10-06  Jürgen Reuter  <reuter@ipd.uka.de>
1220
1221         * lily/note-head.cc: Fixed programming_error message.
1222
1223 2006-10-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
1224
1225         * scm/define-grobs.scm (pure-conversion): move pure-callback
1226         further into body.
1227
1228         * scm/script.scm (default-script-alist): set avoid-slur for turn,
1229         marcato, stopped, thumb.
1230
1231 2006-10-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
1232
1233         * lily/completion-note-heads-engraver.cc (process_music): don't
1234         skimp on memory usage.
1235
1236         * lily/beam.cc (set_stem_lengths): do set_stemend for invisible
1237         stems too. Fixes #5
1238
1239         * lily/parenthesis-engraver.cc (acknowledge_grob): set parent of
1240         parenthesis item. This fixes premature Y-extent triggering. Fixes
1241         issue #95. 
1242  
1243         * VERSION (PATCH_LEVEL): bump version.
1244
1245 2006-10-04  Graham Percival  <gpermus@gmail.com>
1246
1247         * Documentation/user/advanced-notation.itely: added
1248         info about instrument names for piano or other contexts,
1249         thanks Marcus!
1250
1251 2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
1252
1253         * mf/feta-bolletjes.mf (solfa_quarter_width): use
1254         solfa_base_notewidth as unit for non-DO-notes too.
1255
1256         * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: update email.
1257
1258         * VERSION: release 2.9.21
1259
1260         * Documentation/topdocs/NEWS.tely (Top): simpler, more clearer
1261         override.
1262
1263 2006-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1264
1265         * python/lilylib.py (progress): Minor fix.
1266
1267 2006-10-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
1268
1269         * lily/note-name-engraver.cc: doc engraver.
1270
1271         * scm/output-lib.scm (hairpin::calc-grow-direction): new function.
1272
1273         * lily/dynamic-engraver.cc (process_music): don't set grow-direction.
1274
1275         * scm/define-grobs.scm (all-grob-descriptions): calc duration-log
1276         by callback.
1277
1278         * lily/stem-engraver.cc (make_stem): don't set duration-log
1279
1280         * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
1281         write snippet-names binary.
1282
1283         * python/lilylib.py (system): use os.system for mingw32
1284
1285         * scripts/lilypond-book.py (bindir): use os.pathsep for prepending
1286         to $PATH.
1287
1288         * scm/backend-library.scm: update email address.
1289
1290         * Documentation/topdocs/NEWS.tely (Top): add duration-log override
1291         example.
1292
1293         * scm/define-grobs.scm (all-grob-descriptions): use callback to
1294         calc dot count.
1295
1296         * lily/dots-engraver.cc (class Dots_engraver): new engraver:
1297         handle dot creation separately.
1298
1299         * lily/tab-note-heads-engraver.cc (process_music): idem.
1300
1301         * lily/drum-note-engraver.cc (process_music): idem.
1302
1303         * lily/note-heads-engraver.cc (process_music): idem.
1304
1305         * lily/rest-engraver.cc: don't set duration-log.
1306
1307         * scm/output-lib.scm (string-number::calc-text): new function.
1308         (note-head::calc-duration-log): new function.
1309
1310         * lily/fingering-engraver.cc (make_script): remove 'text setting.
1311
1312         * scm/output-lib.scm (fingering::calc-text): new function.
1313
1314 2006-10-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1315
1316         * scripts/lilypond-book.py: Fix typo gs-load-font -> gs-load-fonts
1317          and include-eps-font -> include-eps-fonts
1318
1319 2006-10-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
1320
1321         * lily/multi-measure-rest-engraver.cc: use internalBarNumber
1322
1323         * lily/timing-translator.cc: list properties.
1324         (start_translation_timestep): update internalBarNumber too.
1325
1326         * scm/define-context-properties.scm
1327         (all-user-translation-properties): add internalBarNumber.
1328
1329         * input/regression/spacing-no-note.ly: new file.
1330
1331         * buildscripts/output-distance.py (link_file): verbosity for OSError.
1332
1333         * lily/book.cc: #include cleanup.
1334
1335         * lily/include/lily-guile-macros.hh: add assert to
1336         scm_or_str2symbol(SCM).
1337
1338         * VERSION (PATCH_LEVEL): bump version.
1339
1340         * lily/spacing-spanner.cc (musical_column_spacing): handle
1341         musical->nonmusical spacing case, where there is no spacing
1342         wish. Fixes issue #61.
1343
1344         * lily/pango-font.cc (text_stencil): allow 'tight' bounds.
1345         (pango_item_string_stencil): use logical rect horizontally (to
1346         preserve spaces), ink_rect vertically (for time signatures).
1347
1348         * lily/font-metric.cc (word_stencil): new interface function
1349
1350         * input/regression/utf-8-mixed-text.ly: new file.
1351
1352         * lily/percent-repeat-engraver.cc (listen_percent): remove
1353         spurious warning.
1354
1355         * lily/phrasing-slur-engraver.cc (acknowledge_script): only ack
1356         non-dynamic scripts. Fixes #30.
1357
1358         * lily/slur.cc (outside_slur_callback): make offset_scm optional.
1359
1360         * lily/beam.cc (rest_collision_callback): make prev_offset optional.
1361
1362         * lily/grob-closure.cc (chain_offset_callback): don't pass 0 but
1363         SCM_UNDEFINED for non-existent data.
1364
1365         * lily/side-position-interface.cc (general_side_position): allow
1366         optional current_offset argument for chaining, so combinations of side-position
1367         and outside slur callback don't add up.  Fixes issue #92.
1368
1369         * lily/pango-font.cc (pango_item_string_stencil): use
1370         logical_rect. This prevents spaces after words from disappearing,
1371         issue #72.
1372         
1373         * VERSION: release 2.9.20
1374
1375 2006-10-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
1376
1377         * scm/define-grob-properties.scm (all-user-grob-properties):
1378         mention stencil as user settable.
1379
1380 2006-10-02  Joe Neeman  <joeneeman@gmail.com>
1381
1382         * Documentation/user/page.itely (Page formatting): 
1383         document auto-first-page-number
1384
1385         * lily/page-breaking.cc (find_chunks_and_breaks): 
1386         * lily/paper-score.cc (calc_breaking): Follow changes to the
1387         Constrained_breaking interface
1388
1389         * lily/constrained-breaking.cc (calc_subproblem): run the main loop
1390         here backwards, as an optimisation
1391         (initialize): new function; move most of the code in resize () here
1392         (combine_demerits): cache ragged_right_
1393         (Constrained_breaking): constructor now takes the Paper_score
1394
1395 2006-10-02  Erik Sandberg  <mandolaerik@gmail.com>
1396         
1397         * lily/lexer.ll, lily/parser.yy: Add EXPECT_NO_MORE_ARGS token, to
1398         avoid parser lookahead for 0-ary functions.
1399
1400         * lily/translator.cc: Extract event classes from
1401         IMPLEMENT_TRANSLATOR_LISTENER for documentation generation.
1402
1403 2006-10-02  Heikki Junes  <hjunes@gmail.com>
1404
1405         * po/fi.po: Fix spaces, commas etc. in Finnish translation using
1406         KBabel fix tool.
1407
1408 2006-10-01  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1409
1410         * scm/layout-page-layout.scm (page-breaking-wrapper): new
1411         function. Call the page breaking function selected in the
1412         `page-breaking' \paper variable, then the post processing function
1413         chosen using the `page-post-process' \paper variable.
1414         (line-height): new function. Return the height of a system.
1415         (line-minimum-position-on-page): new function. Return the position
1416         of a system on page (using the previous line position), only
1417         considering between system padding.
1418         (stretchable-line?): new function. Says whether a line can be
1419         stretched (ie. is not a title nor a single staff system).
1420         (page-maximum-space-left): new function. Computes space left on a
1421         page, when all systems are separated by their padding.
1422
1423         * lily/page-breaking.cc (breaking::make_pages): Move page post
1424         processing function call to page breaking wrapper (common to all
1425         page breakers).
1426
1427         * lily/paper-book.cc (book::pages): call the page breaking
1428         wrapper, instead of the page breaker directly
1429
1430         * ly/paper-defaults.ly: Add \paper variables for page breaking
1431         wrapper and page post processing function. Make
1432         `write-page-layout' value depend on the 'dump-tweaks option. Add a
1433         `system-maximum-stretch-procedure' variable for holding a function
1434         computing the maximum stretch a system allows.
1435
1436         * scm/layout-page-dump.scm (write-page-breaks): computes the
1437         stretch to apply to systems on a page to minimize left
1438         space. Dump this stretch length.
1439
1440         * ly/music-functions-init.ly (spacingTweaks): implement it. Read
1441         the system-stretch property of the tweak data to stretch the
1442         system.
1443         (includePageLayoutFile): Void function which includes the
1444         generated page-layout file if it exists and if the page layout
1445         dumping is not asked.
1446         (scoreTweak): if the score tweak named by the argument exists,
1447         return it.
1448
1449 2006-10-01  Joe Neeman  <joeneeman@gmail.com>
1450
1451         * lily/page-spacing.cc (compress_lines, uncompress_solution):
1452         handle correctly the case where there are multiple \noPageBreaks
1453         in a row.
1454
1455 2006-09-30  Laura Conrad <lconrad@laymusic.org>
1456
1457         * abc2ly.py adds segno (S) and Coda (O) to articulations.
1458         
1459         * abc2ly.py fix so that entering " -- " will translate to a -- in
1460         the lilypond instead of a " - - "
1461         
1462 2006-09-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
1463
1464         * lily/align-interface.cc: fix typo
1465
1466         * lily/dynamic-text-spanner.cc (print): Add a special case for
1467         trill spanner right sides. 
1468
1469         * scm/define-grobs.scm (all-grob-descriptions): set padding to 0.1
1470
1471         * lily/align-interface.cc (get_extents_aligned_translates): add
1472         support for padding variable.
1473
1474         * lily/break-align-interface.cc (self_align_callback): oops: use
1475         loop variable in guard.
1476
1477         * input/regression/repeat-percent-grace.ly: new file.
1478
1479         * lily/percent-repeat-engraver.cc (start_translation_timestep):
1480         remember first currentCommandColumn of a grace run. Fixes issue 70.
1481
1482         * lily/percent-repeat-iterator.cc (class Percent_repeat_iterator):
1483         move class definition to CC file.
1484
1485         * lily/multi-measure-rest.cc (percent): use robust_relative_extent()
1486
1487         * lily/slash-repeat-engraver.cc (listen_percent): don't warn for
1488         measure-long  repeats.
1489
1490         * flower/include/international.hh: include stdarg.h
1491
1492 2006-09-30  Joe Neeman  <joeneeman@gmail.com>
1493
1494         * lily/page-turn-page-breaking.cc (calc_demerits): now that we allow
1495         put_systems_on_pages to return an empty result, we need to assign
1496         demerits properly in that case.
1497         (put_systems_on_pages): Make the number of pages depend on the
1498         evenness of page_number. Add auto-first-page-number.
1499         (calc_subproblem): ensure that the page-number is even for the
1500         left-hand page. Warn if the first page-turn doesn't fit onto the
1501         first (right-hand) page.
1502
1503         * lily/page-spacing.cc (solve): bug: demerits_ would always be inf
1504         (min_page_count): make this publicly accessible
1505         (min_page_count): fix a bug when there are forced page breaks that
1506         was introduced when I made this loop run backwards
1507         (space_systems_on_n_pages, space_systems_on_n_or_one_more_pages):
1508         replace space_systems_on_min_pages with these two. The logic in
1509         space_systems_on_min_pages was getting too convoluted and is better
1510         contained in page-turn-page-breaking.
1511
1512         * lily/page-turn-engraver.cc (breakable_column): remove an always-true
1513         conditional
1514         (breakable_column): typo
1515
1516         * lily/source-file.cc (get_line): fix off-by-one error
1517         and clean up some of the logic
1518
1519 2006-09-29  Joe Neeman  <joeneeman@gmail.com>
1520
1521         * lily/page-breaking.cc (make_pages): honour the first-page-number
1522         property
1523
1524 2006-09-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
1525
1526         * VERSION (PACKAGE_NAME): bump version.
1527
1528 2006-09-26  Pal Benko  <benko.pal@gmail.com>
1529
1530         * scm/parser-clef.scm: add petrucci-f3 and -f4 clefs
1531         (the latter is the same as petrucci-f which is kept for compatibility)
1532
1533 2006-09-26  Erik Sandberg  <mandolaerik@gmail.com>
1534         
1535         * lily/part-combine-iterator.cc: solo1-event -> solo-one-event
1536
1537 2006-09-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
1538
1539         * lily/global-context.cc (run_iterator_on_me): break out of loop
1540         if moment doesn't increase.
1541
1542         * scm/define-grob-properties.scm (all-user-grob-properties): add
1543         forced property.
1544
1545         * lily/accidental.cc (after_line_breaking): read forced property.
1546
1547         * lily/accidental-engraver.cc (process_acknowledged): set 'forced
1548         property.
1549
1550         * input/regression/accidental-forced-tie.ly:  new file.
1551
1552 2006-09-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
1553
1554         * ly/engraver-init.ly: set ignoreFiguredBassRest in Staff context.
1555
1556         * lily/figured-bass-engraver.cc: only listen to rest events if
1557         ignoreFiguredBassRest is not set.
1558
1559         * scm/define-context-properties.scm
1560         (all-user-translation-properties): add ignoreFiguredBassRest property
1561
1562 2006-09-24  Joe Neeman  <joeneeman@gmail.com>
1563
1564         * lily/paper-book.cc (get_system_specs):
1565         (set_system_penalty): fix breakbefore.
1566         We used to set a penalty on the system after the break, now we
1567         set a permission on the system before the break
1568
1569         * lily/grob-property.cc: add scm debugging hooks into
1570         property modification
1571
1572         * lily/context-property.cc:
1573         * lily/engraver.cc:
1574         rename make_foo_from_properties to internal_make_foo and
1575         move it from context-property.cc to a member function of
1576         Engraver.
1577         
1578         * lily/include/lily-guile-macros.hh:
1579         overload ly_symbol2scm macro so that there is no more need
1580         to use internal_foo
1581
1582         * lily/volta-repeat-iterator.cc:
1583         * lily/tweak-engraver.cc:
1584         * lily/tuplet-bracket.cc:
1585         * lily/span-bar-engraver.cc:
1586         * lily/script-engraver.cc:
1587         * lily/prob-scheme.cc:
1588         * lily/pointer-group-interface.cc:
1589         * lily/parser.yy:
1590         * lily/grob-scheme.cc:
1591         * lily/grob-property.cc:
1592         * lily/context.cc:
1593         * lily/context-property.cc:
1594         * lily/break-substitution.cc:
1595         * lily/break-align-engraver.cc:
1596         * lily/axis-group-interface.cc:
1597         * lily/align-interface.cc:
1598         remove calls to internal_FOO
1599
1600         * lily/system-start-delimiter-engraver.cc:
1601         * lily/parenthesis-engraver.cc:
1602         * lily/accidental-engraver.cc:
1603         remove calls to make_foo_from_properties
1604
1605 2006-09-23  Graham Percival  <gpermus@gmail.com>
1606
1607         * Documentation/user/programming-iterfaces.itely: fix
1608         def-music-function -> define-music... leftover.
1609
1610 2006-09-23  Joe Neeman  <joeneeman@gmail.com>
1611
1612         * lily/page-spacing.cc (min_page_count): by running the loop
1613         backwards, we can calculate ragged_last properly.
1614
1615 2006-09-22  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1616
1617         * ly/titling-init.ly (scoreTitleMarkup): Rename (typo!?)
1618         printfirst-page-number -> print-first-page-number
1619
1620         * python/convertrules.py: corresponding rule.
1621
1622         * Documentation/user/page.itely (Page formatting): Document the
1623         default values of all page layout parameters. 
1624
1625 2006-09-22  Erik Sandberg  <mandolaerik@gmail.com>
1626
1627         * lily/lexer.ll: remove limitation on music function arity. New
1628         mode extratoken, which inserts extra EXPECT_* tokens after
1629         MUSIC_FUNCTION token. Junk all MUSIC_FUNCTION_* tokens.
1630
1631         * lily/parser.yy: Change grammar for music function accordingly.
1632
1633         * lily/include/lily-parser.hh: New method get_state, new member
1634         hidden_state. Works around a problem when parser fetches
1635         MUSIC_FUNCTION token but not the following EXPECT_* token.
1636
1637         * lily/translator.cc, lily/context.cc:, lily/translator-group.cc:
1638         remove try_music
1639
1640         * lily/*-engraver.cc, lily/*-performer.cc: Remove all remaining
1641         references to Music; use ASSIGN_EVENT_ONCE everywhere
1642
1643         * lily/grob-info.cc: junk *music_cause
1644
1645         * lily/music.cc: copy eventified articulations to stream event
1646
1647         * lily/part-combine-iterator.cc: Cleanup using enums
1648
1649         * lily/translator-group.cc: Junk OldMusicEvent, and associated
1650         methods
1651
1652         * lily/include/engraver.hh: Junk music.hh include
1653
1654         * lily/stream-event.cc: Changed constructors
1655
1656 2006-09-21  Graham Percival  <gpermus@gmail.com>
1657
1658         * Documentation/user/tweaks.itely (Fitting music onto fewer
1659         pages): change settings to avoid warning messages.
1660
1661 2006-09-21  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1662
1663         * Documentation/user/tweaks.itely (Fitting music onto fewer
1664         pages): Add between-system-space setting. 
1665
1666 2006-09-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
1667
1668         * lily/accidental-placement.cc (calc_positioning_done): don't
1669         trigger Y-extent calculation too early. Use pure_height instead.
1670
1671         * lily/scale.cc (LY_DEFINE): new file. 
1672
1673 2006-09-20  Joe Neeman  <joeneeman@gmail.com>
1674
1675         * lily/page-breaking.cc (find_chunks_and_breaks): ignore breaks
1676         that happen at the start of a score: having a zero-length
1677         chunk was messing up min_system_count calculations.
1678
1679         * lily/source-file.cc (get_line): lower_bound, not
1680         binary_search. Fixes problem where point-and-click would
1681         always point to the first line.
1682
1683 2006-09-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
1684
1685         * lily/accidental-placement.cc (calc_positioning_done): also put
1686         stems into accidental support. 
1687
1688         * lily/tie-engraver.cc (process_music): also set tieMelismaBusy if
1689         event_ detected.
1690
1691         * scm/script.scm (default-script-alist): avoid-slur and
1692         slur-padding for portato script.
1693
1694         * lily/stem-tremolo.cc (translated_stencil): new function. 
1695         (height): use new function. Fixes tremolos on whole notes.
1696
1697         * lily/slur-scoring.cc (get_best_curve): don't crash if no optimal
1698         slur found.
1699
1700 2006-09-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
1701
1702         * scripts/abc2ly.py (try_parse_comment): idem.
1703
1704         * scripts/lilypond-book.py (find_toplevel_snippets): use 'foo' in
1705         bar_string iso. string.find()
1706
1707         * lily/*.cc: idem.
1708
1709         * lily/slur.cc (get_curve): always use scm_is_pair() looping
1710         scheme lists.  
1711
1712 2006-09-18  Graham Percival  <gpermus@gmail.com>
1713
1714         * Documentation/user/basic-notation.itely: add bug
1715         warning about ties and octavation/clef.
1716
1717 2006-09-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
1718
1719         * VERSION (PACKAGE_NAME): release 2.9.18
1720
1721 2006-08-29  Milan Zamazal  <pdm@brailcom.org>
1722
1723         * elisp/lilypond-mode.el (LilyPond-command-alist): Don't try to
1724         figure out midi file names right here.
1725         
1726 2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
1727
1728         * scm/framework-ps.scm (dump-stencil-as-EPS): naming pad-eps-boxes.
1729
1730         * scm/backend-library.scm: option naming:  gs-font-load*s*
1731
1732         * scm/framework-eps.scm (dump-stencils-as-EPSes): rename option to
1733         include-eps-fonts
1734
1735 2006-09-17  Joe Neeman  <joeneeman@gmail.com>
1736
1737         * scm/define-music-types.scm (music-descriptions): remove
1738         BreakEvent and fix {Page,Line}{Break,Turn}Event so
1739         Music::to_event doesn't complain.
1740
1741         * lily/accidental-placement.cc (ape_compare):
1742         * lily/semi-tie.cc (compare): 
1743         * lily/note-column.cc (shift_compare): replace by XXX_less
1744
1745         * lily/tie-formatting-problem.cc (set_chord_outline): 
1746         * lily/tie-column.cc (calc_positioning_done): 
1747         * lily/system.cc (post_processing)
1748         (get_paper_system): 
1749         * lily/stem.cc (note_head_positions)
1750         (calc_positioning_done): 
1751         * lily/spanner.cc (do_break_processing)
1752         (find_broken_piece): 
1753         * lily/span-bar.cc (print): 
1754         * lily/semi-tie-column.cc (calc_positioning_done): 
1755         * lily/rest-collision.cc (calc_positioning_done): 
1756         * lily/program-option.cc (get_help_string): 
1757         * lily/note-collision.cc (get_clash_groups):
1758         * lily/new-fingering-engraver.cc (position_scripts):
1759         * lily/keyword.cc (Keyword_table):
1760         * lily/hara-kiri-group-spanner.cc (request_suicide):
1761         * lily/grob-pq-engraver.cc (stop_translation_timestep):
1762         * lily/accidental-placement.cc (calc_positioning_done):
1763         (stagger_apes):
1764         * lily/beam.cc (get_beam_segments):
1765         * lily/grob-array.cc (remove_duplicates):
1766         use new vector_sort
1767         
1768         * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily:
1769         ragged-last-bottom = ##f (test the new page breaker)
1770
1771         * flower/include/std-vector.hh (vector_sort): use STL sort stuff
1772
1773         * scm/define-context-properties.scm
1774         (all-internal-translation-properties): remove properties that
1775         were used to communicate page-turn stuff to the paper-column
1776         engraver.
1777
1778         * lily/lily-guile.cc (robust_scm2string): new function
1779
1780         * lily/paper-column-engraver.cc: Clean up page turn stuff
1781
1782         * lily/page-turn-engraver.cc: Re-write the page turn logic here
1783         instead of cluttering up paper-column-engraver.cc
1784
1785 2006-09-17  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1786
1787         * scm/layout-page-dump.scm (scm): export utility function names,
1788         to allow user writing cutsom dumping functions.
1789
1790         * scm/layout-page-layout.scm: export utility function names to
1791         enable custom page breaking function writing. Tabify.
1792         (line-next-space): use ?-suffix only for predicates
1793         (page-maximum-space-to-fill): new function. Return the space
1794         between first and bottom system of a page, to give to
1795         space-systems.
1796         (space-systems): use a space-to-fill argument (for instance as
1797         computed by page-maximum-space-to-fill) instead of computing
1798         internaly this space with the page height. That way, the caller
1799         can adjust the space to use.
1800         (make-page-from-systems, walk-paths): compute space to fill before
1801         calling space-systems.
1802
1803 2006-09-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
1804
1805         * scm/script.scm (default-script-alist): set paddings for every
1806         type here, increase for portato mark.
1807
1808         * scm/lily.scm (define-scheme-options): typo: add s, so it is 
1809         -dinclude-eps-fonts
1810
1811 2006-09-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
1812
1813         * scm/define-grobs.scm (all-grob-descriptions): oops, typo:
1814         use spanner::set-spacing-rods
1815
1816         * lily/note-column.cc: reformat.
1817
1818         * lily/rest-collision.cc (calc_positioning_done): fix whole/half
1819         step positioning for note/rest combinations.
1820
1821         * input/regression/rest-note-collision.ly: new file.
1822
1823         * scm/define-grobs.scm (all-grob-descriptions): add
1824         springs-and-rods
1825
1826         * flower/include/std-vector.hh: switch off again.
1827
1828         * VERSION (PATCH_LEVEL): bump to 2.9.18
1829
1830         * flower/include/std-string.hh: idem.
1831
1832         * flower/include/std-vector.hh (_GLIBCXX_DEBUG): set if NDEBUG not set.
1833
1834 2006-09-15  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1835
1836         * ly/engraver-init.ly: Make FiguredBass accepted in GrandStaff and
1837         PianoStaff. 
1838
1839 2006-09-08  Joe Neeman  <joeneeman@gmail.com>
1840
1841         * Documentation/user/page.itely: update page breaking documentation
1842
1843 2006-09-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
1844
1845         * lily/note-collision.cc (calc_positioning_done): only access
1846         first head if available.
1847
1848         * lily/tuplet-engraver.cc: add tupletFullLengthNote to description.
1849
1850         * scm/framework-ps.scm (output-preview-framework): use new name.
1851
1852         * lily/program-option.cc (internal_set_option): use new names.
1853
1854         * Documentation/user/SConscript (lilypond_book_flags): update -d
1855         variable names.
1856
1857         * Documentation/user/lilypond-book.itely (Inserting LilyPond
1858         output into other programs): new variable names.
1859
1860         * scm/lily.scm (define-scheme-options): uniformize var names.
1861
1862         * lily/tuplet-engraver.cc (listen_tuplet_span): verify that
1863         tuplets_ is non-empty before popping.
1864
1865 2006-09-07  Joe Neeman  <joeneeman@gmail.com>
1866
1867         * lily/spanner.cc (find_broken_piece): 
1868         * lily/spacing-spanner.cc (get_columns): 
1869         * lily/source-file.cc (get_line): 
1870         * lily/simple-spacer.cc (get_column_description): 
1871         * lily/keyword.cc (lookup): 
1872         use the new binary search.
1873
1874         * flower/include/std-vector.hh: replace binary_search with
1875         a more STL-like version
1876
1877 2006-09-04  Michael Welsh Duggan  <md5i@cs.cmu.edu>
1878
1879         * lily/tie-performer.cc: remove unused last_event_ property.
1880         (class Tie_performer): add now_tied_heads_ property for
1881         partially-tied heads.
1882         (acknowledge_audio_element): when adding an Audio_note, put the
1883         note in now_tied_heads_ if the audio note is partially tied.
1884         (stop_translation_timestep): always include entries in
1885         now_tied_heads_ in heads_to_tie_.
1886
1887         * lily/drum-note-performer.cc (process_music): look for tie-events
1888         in the articulations; pass to Audio_note constructor.
1889
1890         * lily/note-performer.cc (process_music): look for tie-events in
1891         the articulations; pass to Audio_note constructor.
1892
1893         * lily/audio-item.cc (Audio_note): Initialize tie_event_ in
1894         constructor.
1895
1896         * lily/include/audio-item.hh (class Audio_note): add tie_event_.
1897         include initializer in constructor.
1898
1899 2006-09-02  Joe Neeman  <joeneeman@gmail.com>
1900
1901         * lily/simple-spacer.cc (get_line_forces): Ignore loose columns
1902         unless they are breakable. This fixes discrepancies between the forces
1903         calculated here and the forces calculated in get_line_configuration.
1904
1905         * lily/grob.cc (pure_relative_y_coordinate): fix some
1906         mis-estimation that was happening with piano staves.
1907
1908         * lily/constrained-breaking.cc (resize): don't choke if we get a
1909         measure that won't fit on a line.
1910         (combine_demerits): don't consider uniformity when ragged
1911
1912         * lily/page-spacing.cc (solve): why the f* were there two of these?
1913         (calc_subproblem): properly handle the case where a system is taller
1914         than the page.
1915
1916         * lily/system.cc (get_paper_system): ensure that all the permissions
1917         and penalties are passed to the paper systems.
1918
1919         * lily/page-breaking.cc (create_system_list): support system-count.
1920
1921         * scm/define-grobs.scm (pure-print-callbacks): add
1922         ly:script-interface::print
1923
1924         * lily/page-spacing.cc (min_page_count): fix calculation of min
1925         pages if we are ragged and there are non-zero springs.
1926
1927         * scm/layout-page-layout.scm: if the pure-height estimates are under
1928         the real height, allow space-systems to ignore padding if it is
1929         needed in order to fit the systems on one page
1930
1931         * lily/optimal-page-breaking.cc (try_page_spacing): fix reading
1932         ragged properties
1933         (solve): fix performance problem. Make sure we always get at least
1934         one solution
1935
1936         * lily/page-breaking.cc (make_pages): include write-page-breaks
1937         and page-stencil
1938
1939         * lily/paper-score.cc (calc_breaking): remove Gourlay breaker
1940
1941         * scm/define-grobs.scm: add the new slur-callback
1942         fix pure-relevant to not exclude grobs whose extent is already
1943         calculated
1944
1945         * ly/paper-defaults.ly: make ly:optimal-breaking the new default
1946         page breaker
1947
1948         * lily/slur.cc (pure_height): new callback to estimate the height
1949         of a slur
1950
1951 2006-09-02  Graham Percival  <gpermus@gmail.com>
1952
1953         * Documentation/user/invoking.itely: small update on
1954         MacOS X notes; thanks Trevor!
1955
1956 2006-09-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
1957
1958         * VERSION (MY_PATCH_LEVEL): release 2.9.17
1959
1960         * lily/lexer.ll: accept EOF in all states.
1961
1962         * lily/tempo-performer.cc (Tempo_performer): initialize last_tempo_.
1963
1964         * lily/source-file.cc (Source_file): always 0-terminate character
1965         array, to prevent Flex from barfing.
1966
1967         * lily/global-context.cc (get_output): robustness: don't crash if
1968         no Score context found.
1969
1970         * lily/include/book.hh (class Book): idem.
1971
1972         * lily/include/context-def.hh (struct Context_def): idem.
1973
1974         * lily/include/score.hh (class Score): don't derive from Input.
1975
1976         * lily/book.cc (Book): add a copy ctor. 
1977
1978         * buildscripts/output-distance.py (FileLink.calc_distance): count
1979         orphans in distance too.
1980
1981         * python/midi.c (midi_parse_track): robustness: don't read past
1982         end of string.
1983
1984         * ly/performer-init.ly: add Control_track_performer, move
1985         Tempo_performer and Time_signature_performer to Score.        
1986
1987         * lily/score-performer.cc (acknowledge_audio_elements): override
1988         from base class: add to audio-columns
1989
1990         * lily/control-track-performer.cc (add_text): new file: generate
1991         the control track.
1992
1993         * lily/performance.cc: move output_header_track to
1994         Control_track_performer ()
1995
1996         * lily/midi-walker.cc (Midi_walker): get channel in constructor.
1997
1998         * lily/include/midi-item.hh (class Midi_channel_item): insert
1999         class into hierarchy, for items that can have a channel setting. Dehungarify.
2000
2001         * lily/include/performer.hh (class Performer): remove
2002         play_element();  move functionality into announce/acknowledge.
2003
2004         * lily/audio-staff.cc (output): remove channel_ from Midi_track.
2005
2006         * lily/tie-engraver.cc (stop_translation_timestep): only wipe
2007         heads_to_tie_ if there are new heads to tie.  Fixes polyphony in ties.
2008
2009 2006-08-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
2010
2011         * lily/tie-engraver.cc (stop_translation_timestep): robustness for
2012         ambituses.
2013
2014         * lily/all-font-metrics.cc: remove TFM support.
2015
2016         * lily/include/tfm.hh: remove TFM support, TFM reader.
2017
2018         * lily/include/binary-source-file.hh: remove Binary_source_file.
2019
2020 2006-08-27  Graham Percival  <gpermus@gmail.com>
2021
2022         * Documentation/topdocs/NEWS.itely: add @c marker for
2023         stuff I've processed.
2024
2025         * Documentation/user/ various: info from NEWS.
2026
2027 2006-08-27  Joe Neeman  <joeneeman@gmail.com>
2028
2029         * lily/paper-column-engraver.cc (finalize): Oops, this change
2030         should have gone in on 2006-08-23
2031
2032 2006-08-26  Mats Bengtsson  <mabe@s3.kth.se>
2033
2034         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use double
2035         quotes to quote arguments. Fixes Windows problem.
2036
2037         * python/lilylib.py (progress): idem
2038
2039 2006-08-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
2040
2041         * scripts/musicxml2ly.py: fix for importing
2042         minor key signatures from MusicXML.  (Phillip Kirlin)
2043
2044 2006-08-24  Phillip Kirlin  <pkirlin@acm.org>
2045
2046         * python/musicxml.py: 
2047         (Attributes.get_key_signature): now correctly retrieves mode from 
2048         MusicXML. 
2049
2050 2006-08-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
2051
2052         * lily/parser.yy (output_def_body): take ownership of identifier
2053         back to C++.
2054
2055         * Documentation/user/advanced-notation.itely (Metronome marks):
2056         update use of \tempo in \midi.
2057
2058         * VERSION: release 2.9.16
2059         
2060 2006-08-24  Erik Sandberg  <mandolaerik@gmail.com>
2061
2062         * input/mutopia/*: upgrade to new midi tempo syntax (repairs make
2063         web partially)
2064
2065 2006-08-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
2066
2067         * input/regression/tie-chord-partial.ly: clarify example.
2068
2069         * scm/define-music-properties.scm (all-music-properties): remove
2070         untied.
2071
2072         * ly/music-functions-init.ly: remove \untied.
2073
2074         * lily/tie-engraver.cc (struct Head_event_tuple): store both
2075         stream events and music events.
2076         (stop_translation_timestep): search acknowledged heads for
2077         tie-event.
2078
2079         * input/regression/tie-chord-partial.ly: new file.
2080
2081         * scm/define-markup-commands.scm (char): use ly:wide-char->utf-8
2082         for \char markup command.
2083
2084         * scm/define-event-classes.scm (unlistened-music-event-classes): idem.
2085
2086         * scm/define-music-types.scm (music-descriptions): consistency:
2087         Use solo-{one,two}-event iso. solo-[12]-event.
2088
2089         * lily/part-combine-engraver.cc (process_music):
2090         Use solo-{one,two}-event iso. solo-[12]-event.
2091
2092         * ly/declarations-init.ly (partCombineListener): add Timing as
2093         alias
2094
2095         * flower/std-string.cc (string_copy): use copy ()
2096
2097         * lily/source-file.cc (Source_file): use copy(). Remove contents_str0()
2098
2099 2006-08-24  Graham Percival  <gpermus@gmail.com>
2100
2101         * Documentation/user/changing-defaults.itely, global.itely,
2102         lilypond-book.itely, page.itely: minor changes from mailist.
2103
2104 2006-08-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
2105
2106         * buildscripts/mutopia-index.py (allfiles): filter lily-XXX and
2107         snippet-map
2108
2109         * scm/define-context-properties.scm
2110         (translator-property-description): robustness: detect type errors
2111         in property definitions.
2112
2113         * lily/parser.yy (score_body): protect SCORE_IDENTIFIER result
2114         after getting it from SCM. 
2115
2116         * lily/smobs.cc (protect_smob): switch off fancy smob protection
2117         for now. 
2118
2119         * lily/include/performer.hh (class Performer): strip get_tempo()
2120         method.
2121
2122         * lily/midi-def.cc: strip file.
2123
2124         * lily/lexer.ll (Lily_lexer): don't protect hash key separately.
2125
2126         * lily/include/context-def.hh (struct Context_def): use
2127         VIRTUAL_COPY_CONSTRUCTOR().
2128
2129         * lily/source-file.cc: smobification.
2130
2131         * lily/include/source-file.hh (class Source_file): smobify
2132         Source_file. Trim redundant members.
2133
2134         * lily/parser.yy (Lily_lexer::try_special_identifiers): unprotect
2135         clones after creation. This plugs a huge memory leak.
2136
2137         * python/convertrules.py (FatalConversionError.sub_tempo):
2138         complete rule for \midi{ \tempo }
2139
2140         * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): idem.
2141
2142         * input/mutopia/F.Schubert/morgenlied.ly (pianoLH): update tempo.
2143
2144 2006-08-23  Joe Neeman  <joeneeman@gmail.com>
2145
2146         * input/regression/optimal-page-breaking-hstretch.ly: test for
2147         ragged-last-bottom also
2148
2149         * lily/paper-column-engraver.cc (finalize): make the end of a score
2150         breakable by default. This is to balance out a change in behaviour
2151         of the page-turn-breaker which no longer makes the end of a score
2152         breakable.
2153
2154         * lily/paper-book.cc (pages): set the systems_ once the pages are
2155         broken
2156
2157         * lily/page-turn-page-breaking.cc (calc_subproblem): use the new
2158         Page_breaking interface.
2159
2160         * lily/page-breaking.cc (class Page_breaking): make the interface
2161         more consistent and provide abstractions for dealing with
2162         Line_divisions.
2163
2164         * lily/optimal-page-breaking.cc (solve): use a more straightforward
2165         algorithm. Use the new interface to Page_breaking.
2166
2167         * lily/page-spacing.cc: better support for ragged-bottom and
2168         ragged-last-bottom
2169
2170 2006-08-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
2171
2172         * python/convertrules.py (conv): warning on \tempo{}
2173
2174         * ly/performer-init.ly: set tempoWholesPerMinute.
2175
2176         * ly/midi-init.ly: remove \midi
2177
2178         * lily/tempo-performer.cc: look at tempoWholesPerMinute to set
2179         MIDI tempo.
2180
2181         * lily/metronome-engraver.cc (process_music): use tempoUnitCount
2182         tempoUnitDuration for determining what to print.
2183
2184         * lily/lyric-extender.cc: typo.
2185
2186         * lily/parser.yy (output_def_body): disallow \tempo in \midi{}
2187
2188         * lily/duration-scheme.cc (LY_DEFINE): ly:duration-length: new
2189         function.
2190
2191         * scm/lily.scm (define-scheme-options): alphabetize, add eps-pad-boxes.
2192
2193         * scm/framework-ps.scm (dump-stencil-as-EPS): only pad boxes if
2194         eps-pad-boxes is set.
2195
2196         * scripts/lilypond-book.py (main): use -deps-pad-boxes.
2197
2198         * THANKS: update sponsors.
2199
2200         * ly/english.ly: quarter tone naming (thanks, Trevor Baca)
2201
2202         * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2203
2204         * input/regression/tie-chord-untied.ly: new file.
2205
2206         * lily/tie-engraver.cc (acknowledge_note_head): check 'untied property.
2207
2208         * scm/define-music-properties.scm (all-music-properties): add
2209         'untied property.
2210
2211         * buildscripts/mutopia-index.py (allfiles): look for .ly rather
2212         than .ly.txt.
2213         (headertext_nopics): sanitize no-examples text.
2214
2215         * scm/page.scm (make-page-stencil): don't rely on extents of
2216         page-stencil. This fixes spurious space around .EPS files produced
2217         with the EPS backend.
2218
2219 2006-08-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
2220
2221         * lily/stencil-scheme.cc (LY_DEFINE): make extent arguments optional.
2222
2223         * lily/hara-kiri-engraver.cc (process_music): remember
2224         keepAliveInterfaces after processing \set
2225
2226         * lily/lyric-extender.cc (print): support left/right-padding for
2227         extenders.
2228
2229         * scm/documentation-generate.scm (string-append): revert lilypond/
2230         path, doc why.
2231
2232 2006-08-20  Graham Percival  <gpermus@gmail.com>
2233
2234         * Documentation/user/lilypond.tely: clarification to
2235         license presentation (not to actual license).
2236
2237         * Documentation/user/basic-notation.itely,
2238         instrument-notation.itely: minor changes.
2239
2240         * input/ {regression, test}/+.ly: clarification to
2241         text (you can click on examples).  Thanks, Mats!
2242
2243         * input/manual/bar-lines.ly: adds ||: repeats.
2244
2245 2006-08-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
2246
2247         * make/ly-vars.make (OMF_FILES): strip ps.gz from OMF_FILES 
2248
2249         * scm/documentation-lib.scm (texi-file-head): category LilyPond.
2250
2251         * Documentation/user/lilypond.tely: strip lilypond/ from info
2252         links, rename to category LilyPond
2253
2254         * lily/pango-font.cc (description_string): new function.
2255
2256         * VERSION: release 2.9.15
2257
2258         * lily/spacing-engraver.cc (stop_translation_timestep): use
2259         Dscho's fix for spacing spanner. 
2260
2261         * scm/define-music-types.scm (music-descriptions): use
2262         apply-output-event for ApplyOutputEvent
2263
2264         * lily/output-property-engraver.cc (listen_apply_output): rename
2265         from listen_layout_instruction.
2266
2267         * lily/piano-pedal-engraver.cc (struct Pedal_type_info): new
2268         function protect()
2269
2270 2006-08-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2271
2272         * scm/lily.scm (lilypond-all): option read-file-list: substitute
2273         commandline args with contains, split by \n.
2274
2275         * scripts/lilypond-book.py (Lilypond_file_snippet.my_system):
2276         write snippet-names file, call with -dread-file-list. Fixes
2277         command limitations on 64-bit systems.
2278
2279         * input/regression/stencil-color-rotation.ly: new file.
2280
2281         * lily/include/translator.hh (struct Acknowledge_information):
2282         revert: don't use Protected_scm in global objects, as GUILE can't
2283         handle gc_unprotect from automated destructors on MacOS X.
2284  
2285         * lily/grob.cc (get_print_stencil): use retval.expr() as base for
2286         color, not the original stencil. Fixes combinations of
2287         color/transparency/rotation. 
2288
2289         * scripts/lilypond-book.py (main): add --formats=eps for
2290         texinfo/latex.
2291
2292         * lily/spacing-engraver.cc (stop_translation_timestep): don't
2293         crash if spacing_ is nonexistent.
2294
2295 2006-08-14  Mats Bengtsson  <mabe@s3.kth.se>
2296
2297         * scripts/lilypond-book.py (output): Remove obsolete(!?)
2298         \catcode`\@=12 in the LaTeX output.
2299
2300 2006-08-11  Han-Wen Nienhuys  <hanwen@lilypond.org>
2301
2302         * scm/define-music-types.scm (music-descriptions):
2303         use sustain-event iso. sustain-pedal-event.
2304
2305 2006-08-11  Joe Neeman  <joeneeman@gmail.com>
2306
2307         * scripts/convert-ly.py: honour the -n command-line switch
2308
2309 2006-08-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
2310
2311         * scm/output-lib.scm (bar-line::calc-glyph-name): add dashed liine
2312         break specification.
2313
2314 2006-08-10  Joe Neeman  <joeneeman@gmail.com>
2315
2316         * Documentation/user: convert-ly the user manual
2317
2318 2006-08-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
2319
2320         * stepmake/aclocal.m4: version check patch (thanks MWD)
2321
2322         * ly/music-functions-init.ly: robustness. Don't crash if
2323         currentBarNumber is not a number.
2324
2325         * VERSION (PATCH_LEVEL): bump.
2326
2327 2006-08-08  Han-Wen Nienhuys  <hanwen@lilypond.org>
2328
2329         * stepmake/aclocal.m4: better version check; handle fooX.Y
2330         binaries too.
2331
2332         * ly/performer-init.ly: instrument name fixup.
2333
2334         * input/manual/chord-names-jazz.ly (banterProperties):
2335         instrumentName update
2336
2337         * scm/define-event-classes.scm (lambda): use ly:is-listened-event-class
2338
2339         * lily/ly-module.cc (ly_module_symbols): use ly_hash_table_keys
2340
2341         * lily/translator.cc (LY_DEFINE): ly:is-listened-event-class: new
2342         function. Use hash tables to check membership.
2343
2344         * lily/general-scheme.cc (LY_DEFINE): new function.
2345
2346         * lily/piano-pedal-engraver.cc (struct Pedal_type_info): idem
2347
2348         * lily/include/translator.hh (struct Acknowledge_information): add
2349         Protected_scm
2350
2351         * ly/music-functions-init.ly: change name to BreathingEvent
2352
2353         * input/regression/*.ly: apply it.
2354
2355         * python/convertrules.py (conv): better instrumentName conversion
2356         rule.
2357
2358         * scm/define-music-types.scm (music-descriptions): add
2359         line-break-event to LineBreakEvent music
2360
2361         * lily/music.cc (to_event): don't crash if music type not set.
2362
2363         * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if
2364         spacing not set.
2365
2366         * lily/spacing-engraver.cc (stop_translation_timestep): set
2367         spacing for proportional notation too.
2368
2369         * scm/translation-functions.scm (format-bass-figure): inspect
2370         stream-event.
2371
2372         * scripts/lilypond-book.py (bindir): add bindir to $PATH.
2373
2374 2006-08-08  Joe Neeman  <joeneeman@gmail.com>
2375
2376         * lily/include/constrained-breaking.hh: add Line_details (Prob*)
2377
2378         * scm/page.scm (make-page): make it friendlier to call (esp. from C++)
2379
2380         * scm/layout-page-layout.scm (make-page-from-systems): new function
2381         (optimal-page-breaks): use the new page-breaking calling convention
2382
2383         * scm/define-context-properties.scm (all-user-translation-properties):
2384         add revokePageTurns
2385
2386         * lily/paper-column-engraver.cc (stop_translation_timestep): add
2387         revokePageTurns  functionality. If there is a special barline within
2388         the breakable region, break there instead of at the end of the region.
2389
2390         * lily/paper-book.cc (pages): use the new page-breaking calling
2391         convention
2392
2393 2006-08-07  Erik Sandberg  <mandolaerik@gmail.com>
2394
2395         * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command
2396
2397         * scripts/lilypond-book.py: insert \sourcefileline command in
2398         output, so lilypond error messages refer to the spot in the
2399         original .lytex / .itely sourcefile.
2400
2401 2006-08-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
2402
2403         * lily/spacing-loose-columns.cc (set_loose_columns): oops: use
2404         space to next column for distance to fixed col.
2405
2406         * VERSION (PACKAGE_NAME): release 2.9.14
2407
2408         * lily/pitched-trill-engraver.cc (make_trill): do set_parent also
2409         if no accidental.
2410
2411         * lily/accidental-engraver.cc (process_acknowledged): don't create
2412         accidental for trill span event. This fixes spurious accidentals
2413         on trills.
2414
2415 2006-08-04  Mats Bengtsson  <mabe@s3.kth.se>
2416
2417         * scm/define-grob-properties.scm (all-user-grob-properties):
2418         Clarify documentation of side-axis and direction. Thanks to Paul
2419         for the inspiration.
2420
2421         * lily/bar-line.cc: Add documentation for "||:" also in the
2422         interface documentation.
2423
2424 2006-08-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
2425
2426         * lily/spacing-loose-columns.cc (set_loose_columns): bugfix.
2427
2428         * lily/paper-column.cc (set_system): new function.
2429
2430         * lily/spacing-engraver.cc (stop_translation_timestep): store
2431         SpacingSpanner refs in Paper_column.
2432
2433         * lily/spacing-loose-columns.cc (set_loose_columns): rewrite
2434         compute loose clique spacing using GraceSpacing/SpacingSpanner.
2435
2436 2006-08-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
2437
2438         * lily/beam-engraver.cc (listen_beam): add method for
2439         Grace_beam_engraver too.
2440
2441 2006-08-03  Mats Bengtsson  <mabe@s3.kth.se>
2442
2443         * python/convertrules.py: Fix indentation bug that broke
2444         conversion of files older than 1.3.117.
2445         Fix escape error in the description for 2.9.6.
2446
2447 2006-08-02  Erik Sandberg  <mandolaerik@gmail.com>
2448
2449         * lily/*-engraver.cc: convert all try_music functions to listen_*
2450         functions.
2451
2452         * lily/piano-pedal-engraver.cc: some additional cleanups: use
2453         enums to represent pedal types, and calculate more data statically.
2454
2455         * scm/part-combiner.scm (recording-group-emulate): create a
2456         softcoded substitute for recording-group-engraver.cc.
2457
2458         * lily/music.cc: make a common transpose function for events and
2459         music
2460
2461         * ly/declarations-init.ly: change melisma/melismaEnd. Eliminates
2462         ManualMelismaEvent, and obsoletes Melisma_translator.
2463
2464 2006-08-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
2465
2466         * input/test/instrument-name-align.ly: update version.
2467
2468 2006-08-02  Mats Bengtsson  <mabe@s3.kth.se>
2469
2470         * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2471         Doc the --pdf flag to lilypond-book.
2472
2473 2006-07-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
2474
2475         * Documentation/topdocs/NEWS.tely (Top): add description.
2476
2477         * input/regression/tuplet-full-length-note.ly: add file.
2478
2479         * lily/instrument-name-engraver.cc (acknowledge_axis_group):
2480         always store axis group.
2481
2482 2006-07-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
2483
2484         * input/regression/instrument-switch.ly: new file.
2485
2486         * lily/instrument-switch-engraver.cc (process_music): new file.
2487
2488         * ly/engraver-init.ly: add Instrument_switch_engraver
2489
2490         * ly/music-functions-init.ly: \instrumentSwitch
2491
2492         * scm/define-context-properties.scm
2493         (all-user-translation-properties): add instrumentCueName
2494
2495         * scm/define-grobs.scm (all-grob-descriptions): add InstrumentSwitch
2496
2497 2006-07-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
2498
2499         * ly/music-functions-init.ly: music function \transposition.
2500
2501         * lily/parser.yy (command_element): softcode \transposition.
2502
2503         * lily/fall-engraver.cc (process_music): delta-pitch -> delta-step.
2504         (process_music): oops.
2505
2506         * lily/instrument-name-engraver.cc (start_spanner): new
2507         function. Create spanner when property changes.
2508         (stop_spanner): new function.
2509
2510         * python/convertrules.py (conv): add rule.
2511
2512         * lily/instrument-name-engraver.cc: shortVocalName iso. vocNam,
2513         shortInstrumentName iso. instr.
2514
2515         * scm/output-ps.scm (dashed-line): add phase argument to
2516         dashed-line.
2517
2518         * lily/bar-line.cc (dashed_bar_line): new function.
2519         (compound_barline): support \bar "dashed". 
2520
2521         * lily/lily-parser-scheme.cc (LY_DEFINE): only write
2522         --output=DIR to DIR/BASE if it is a dir. 
2523
2524         * flower/file-name.cc (file_part): new function
2525         (dir_part): new function
2526
2527         * lily/lily-parser-scheme.cc (LY_DEFINE): 
2528
2529         * DEDICATION: update
2530
2531 2006-07-25  Han-Wen Nienhuys  <hanwen@lilypond.org>
2532
2533         * lily/instrument-name-engraver.cc: formatting.
2534
2535         * python/convertrules.py (conv): bugfix for \epsfile.
2536
2537 2006-07-25  Joe Neeman  <joeneeman@gmail.com>
2538
2539         * lily/grob.cc:
2540         
2541         * lily/gourlay-breaking.cc: Oops, these should have been included
2542         in my last commit
2543
2544 2006-07-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
2545
2546         * scripts/*.py (program_name): cleanup relocation snippets.
2547
2548         * scripts/convert-ly.py (datadir): remove LILYPONDPREFIX support.
2549
2550 2006-07-24  Joe Neeman  <joeneeman@gmail.com>
2551
2552         * scm/define-grobs.scm (all-grob-descriptions): make NonMusicalPaperColumn
2553         page-breakable by default
2554
2555         * scm/layout-page-layout.scm (space-systems): fix bug where the force isn't
2556         correctly calculated for a single-system page
2557
2558         * scm/lily-library.scm (interval-sane?): also check that the first number is no
2559         bigger than the second number
2560
2561         * lily/simple-spacer.cc (solve): allow compression even when ragged (but we
2562         acknowledge that we aren't satisfying constraints)
2563
2564         * lily/hara-kiri-group-spanner.cc (request_suicide): give equal treatment to
2565         non-Items
2566
2567         * lily/grob.cc (pure_height): add minimum-Y-extent
2568
2569         * lily/gourlay-breaking.cc (solve): don't ignore a compression force, even if we're
2570         ragged
2571
2572         * lily/constrained-breaking.cc: convert code to use new Matrix class
2573         (get_best_solution): new function
2574
2575         * scm/page.scm (make-page-stencil): don't crash if we annotate-layout when there
2576         is a page with no systems
2577
2578 2006-07-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
2579
2580         * VERSION (PACKAGE_NAME): release 2.9.13
2581
2582         * scm/define-grobs.scm (all-grob-descriptions): remove stray
2583         assignment.
2584
2585 2006-07-21  Han-Wen Nienhuys  <hanwen@lilypond.org>
2586
2587         * Documentation/topdocs/NEWS.tely (Top): doc new features.
2588
2589         * scm/output-lib.scm (grace-spacing::calc-shortest-duration): new
2590         function.
2591
2592         * scm/define-grob-properties.scm (all-user-grob-properties):
2593         remove grace-space-factor.
2594
2595         * scm/define-grob-interfaces.scm (grace-spacing-interface): add
2596         grace-spacing-interface
2597         (spacing-options-interface): add.
2598
2599         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): add Grace_spacing_engraver
2600
2601         * lily/spacing-options.cc (get_duration_space): move function from spacing-basic.cc
2602
2603         * lily/spacing-basic.cc (note_spacing): do init_from_grob on
2604         GraceSpacing object.
2605
2606         * lily/note-spacing.cc: fix prop list formatting
2607
2608         * lily/beaming-pattern.cc (de_grace): new function. Sensible
2609         beaming for grace notes too.
2610
2611         * input/regression/spacing-grace.ly: update.
2612
2613         * lily/grace-spacing-engraver.cc: new file.
2614
2615         * lily/spacing-spanner.cc: add strict-grace-spacing.
2616
2617 2006-07-20  Graham Percival  <gpermus@gmail.com>
2618
2619         * lily/parser.yy: compile fix.
2620
2621 2006-07-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
2622
2623         * scm/define-grobs.scm (all-grob-descriptions): typo.
2624
2625         * scm/framework-eps.scm (dump-stencils-as-EPSes): just strip
2626         .eps extension from includegraphics.
2627
2628         * scripts/lilypond-book.py (main): add support for --pdf. 
2629
2630         * lily/spacing-spanner.cc (calc_common_shortest_duration): use
2631         callback to compute common shortest duration.
2632         (set_springs): typo.
2633
2634         * scm/define-grob-properties.scm (all-user-grob-properties): add
2635         strict-grace-spacing.
2636
2637         * lily/spacing-determine-loose-columns.cc (is_loose_column):
2638         support float_grace_columns_.
2639
2640         * lily/spacing-options.cc (init_from_grob): new file.
2641
2642         * Documentation/topdocs/NEWS.tely (Top): doc tupletFullLengthNote.
2643
2644         * input/regression/spacing-loose-grace.ly: new file.
2645
2646         * Documentation/topdocs/NEWS.tely (Top): document new feature.
2647
2648         * lily/tuplet-engraver.cc (struct Tuplet_description): read
2649         tupletFullLengthNote too. Choose right bound depending on value.
2650
2651         * input/regression/tuplet-full-length-note.ly: new file.
2652
2653 2006-07-19  Erik Sandberg  <mandolaerik@gmail.com>
2654
2655         * lily/*-performer.cc: Converted try_music to listen_*
2656
2657         * lily/grob-info.cc, lily/engraver.cc: represent the cause of grob
2658         as a stream-event internally. Introduce event_cause (), deprecate
2659         music_cause ().
2660
2661         * scm/define-music-types.scm: Removed BusyPlayingEvent
2662         
2663 2006-07-19  Mats Bengtsson  <mabe@s3.kth.se>
2664
2665         * Documentation/user/advanced-notation.itely (Font selection):
2666         Document how to get a list of available fonts using 'lilypond
2667         -dshow-available-fonts blabla'.
2668
2669 2006-07-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2670
2671         * GNUmakefile.in: filter lily-XXX.pdf files.
2672
2673         * scm/define-grob-interfaces.scm (bend-after-interface): add thickness.
2674
2675         * scm/define-grob-properties.scm (all-internal-grob-properties):
2676         remove delta-pitch. Use delta-position everywhere.
2677
2678         * scm/output-lib.scm (fall::print): use new order.
2679
2680         * scm/output-ps.scm (path): reorder arguments.
2681
2682         * scm/output-svg.scm (path): support for path primitive.
2683
2684         * input/regression/bend-after.ly: new file.
2685
2686         * Documentation/user/GNUmakefile ($(outdir)/%.pdf): foolproof
2687         recipe for eps -> pdf conversion.
2688
2689 2006-07-19  Erik Sandberg  <mandolaerik@gmail.com>
2690
2691         * lily/parser.yy, lily/lexer.ll: added some simplifications by
2692         Angelo Contardi.
2693
2694 2006-07-19  Graham Percival  <gpermus@gmail.com>
2695
2696         * input/manual/screech-boink.ly: moved to here.
2697
2698         * input/screech-boink.ly: deleted.
2699
2700         * scm/define-grob-properties.scm: clarify doc string.
2701
2702 2006-07-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2703
2704         * Documentation/topdocs/NEWS.tely (Top): doc new feature.
2705
2706         * scm/output-ps.scm (path): define path.
2707
2708         * scm/define-stencil-commands.scm
2709         (ly:register-stencil-expression): add path.
2710
2711         * scm/define-music-properties.scm (all-music-properties): add delta-pitch.
2712
2713         * ly/engraver-init.ly: add Fall_engraver
2714
2715         * lily/parser.yy (music_function_event): allow musicfunction
2716         without music arg as music_function_event.
2717
2718         * lily/grob-scheme.cc (LY_DEFINE):
2719         ly:grob-robust-relative-extent. New function.
2720
2721         * scm/define-grobs.scm (all-grob-descriptions): add BendAfter
2722
2723         * scm/define-music-types.scm (music-descriptions): add BendAfterEvent.
2724
2725         * scm/output-lib.scm (fall::print): new function
2726
2727         * lily/fall-engraver.cc (stop_fall): new file.
2728
2729         * ly/music-functions-init.ly: alphabetise.
2730
2731         * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): pdf iso. eps as
2732         base.
2733
2734 2006-07-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
2735
2736         * VERSION (PATCH_LEVEL): bump version. Release 2.9.12
2737
2738         * Documentation/user/lilypond-book.itely (Invoking lilypond-book):
2739         doc pdftex usage.
2740
2741         * lily/translator-group.cc (connect_to_context): non const error message.
2742
2743         * Documentation/user/GNUmakefile ($(outdir)/%.pdf): update to use PDF
2744
2745         * scm/paper.scm (internal-set-paper-size): define landscape to #f
2746         if unset.
2747
2748         * scm/framework-ps.scm (convert-to-pdf): swap h and w in case of landscape. 
2749
2750         * stepmake/stepmake/texinfo-rules.make: strip DVI support.
2751
2752         * scm/framework-eps.scm (dump-stencils-as-EPSes): generate
2753         systems.pdftex too.
2754
2755         * scm/backend-library.scm (postscript->pdf): use -dEPSCrop for PDF.
2756
2757         * make/lilypond-vars.make (TEXINPUTS): add pdf output format.
2758
2759         * Documentation/topdocs/NEWS.tely (Top): add pdftex note.
2760
2761         * scm/output-ps.scm (resetrotation): use gsave/grestore for rotation.
2762
2763         * lily/main.cc (parse_argv): don't overwrite previous --formats string.
2764
2765         * scm/backend-library.scm (postscript->pdf): strip .eps too. 
2766
2767 2006-07-14  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2768
2769         * scm/layout-page-layout.scm: Define module, tidy code, use more
2770         functions iso. a single big one.
2771
2772         * scm/layout-page-dump.scm: move page dump functions used in two
2773         pass spacing to this file. Define module.
2774
2775         * scm/lily.scm (ly:load): don't load layout-page-layout.scm
2776          (separate module)
2777
2778         * ly/paper-defaults.ly: use module layout-page-layout.
2779
2780 2006-07-14  Erik Sandberg  <mandolaerik@gmail.com>
2781
2782         * lily/music.cc: Revised MusicEvent event class. It now contains
2783         event data directly instead of encapsulating it in music. The
2784         previously used class is renamed to OldMusicEvent.
2785
2786         * lily/stream-event.cc: Stream events are now probs.
2787         
2788         * lily/translator-group.cc, lily/translator.cc: Translators can
2789         now listen directly to stream events, by using macros
2790         [DECLARE,IMPLEMENT]_TRANSLATOR_LISTENER.
2791
2792         * lily/arpeggio-engraver.cc: Converted to use new event system
2793
2794         * THANKS: Corrected spelling mistake.
2795
2796 2006-07-12  Graham Percival  <gpermus@gmail.com>
2797
2798         * Documentation/user/SConscript, make/lilypond-vars.make,
2799         input/GNUmakefile: doc build looks in input/manual instead
2800         of input/test/
2801
2802         * input/manual/ GNUmakefile, SConscript: build files for
2803         input/manual/
2804
2805         * input/test/ various: some files moved to input/manual/ 
2806
2807         * Documentation/user/basic-notation.itely: small updates;
2808         thanks Kieren and Charles!
2809
2810 2006-07-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
2811
2812         * VERSION (PACKAGE_NAME): release 2.9.11
2813
2814         * Documentation/topdocs/NEWS.tely (Top): update prop value 
2815
2816         * Documentation/user/basic-notation.itely (Tuplets): new property
2817         value.
2818
2819 2006-07-11  Han-Wen Nienhuys  <hanwen@lilypond.org>
2820
2821         * python/convertrules.py (conv): tweaks. 
2822
2823         * VERSION (PATCH_LEVEL): bump version.
2824
2825         * python/convertrules.py (conv): add rule for
2826         tupletNumberFormatFunction.
2827
2828         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2829         tupletNumberFormatFunction.
2830
2831         * scm/define-grobs.scm (all-grob-descriptions): calc TupletNumber
2832         text through 'text callback.
2833
2834         * lily/time-scaled-music-iterator.cc (construct_children): copy
2835         tweaks generated events.
2836
2837         * scm/define-context-properties.scm
2838         (all-user-translation-properties): remove tupletNumberFormatFunction
2839
2840         * lily/tuplet-engraver.cc (process_music): don't read
2841         tupletNumberFormatFunction
2842
2843         * scm/output-lib.scm (tuplet-number::calc-fraction-text): new
2844         function.
2845
2846 2006-07-11  Erik Sandberg  <mandolaerik@gmail.com>
2847
2848         * lily/global-context-scheme.cc: Separated ly:run-translator into
2849         smaller pieces.
2850
2851         * lily/score-engraver.cc, lily/score-performer.cc,
2852         scm/define-context-properties.scm: Make paper/midi output
2853         accessable as a context property.
2854
2855         * lily/score-translator.cc, lily/score-context.cc: Removed.
2856
2857 2006-07-07  Guido Amoruso  <guidonte@katamail.com>
2858
2859         * scm/ps-to-png.scm (Module): 
2860         * scm/framework-tex.scm (Module): 
2861         * scm/framework-ps.scm (Module): 
2862         * scm/backend-library.scm (Module): 
2863         * scm/framework-ps.scm: invoke gs with "-dDEVICEWIDTHPOINTS" and
2864         "dDEVICEHEIGHTPOINTS".
2865
2866 2006-07-04  Graham Percival  <gpermus@gmail.com>
2867
2868         * Documentation/user/ various: general improvements to
2869         "working with lilypond files" section.
2870
2871 2006-07-03  Erik Sandberg  <mandolaerik@gmail.com>
2872
2873         * lily/sequential-iterator.cc: Change the default get_music_list
2874         to read elements-callback music property
2875
2876         * scm/define-music-types.scm, scm/music-functions.scm: Cleaner
2877         processing of multimeasure rests. Softcoded
2878         sequential-music-iterator.
2879
2880         * lily/sequential-music-iterator.cc: Removed.
2881
2882 2006-06-28  Graham Percival  <gpermus@gmail.com>
2883
2884         * Documentation/user/basic-notation.itely: clarify \repeatTie.
2885
2886 2006-06-27  Erik Sandberg  <mandolaerik@gmail.com>
2887
2888         * lily/parser.yy: Wrap non-post-events in EventChords before
2889         assigning them to identifiers.
2890
2891 2006-06-27  Mats Bengtsson  <mabe@s3.kth.se>
2892
2893         * lily/bar-line.cc (compound_barline): Fix parenthesis error,
2894         gives correct vertical placement of \bar ":" in all staff
2895         sizes. Thanks Martial!
2896
2897 2006-06-26  Graham Percival  <gpermus@gmail.com>
2898
2899         * Documentation/user/invoking.itely : minor update from mailist.
2900
2901 2006-06-26  Erik Sandberg  <mandolaerik@gmail.com>
2902
2903         * lily/ various: Introduce stream events of types Prepare,
2904         OneTimeStep, CreateContext, AnnounceNewContext, RemoveContext,
2905         ChangeContext, SetProperty, RevertProperty, Override and Revert.
2906
2907         * lily/global-context*.cc: Time is now -inf before iteration
2908         starts.
2909
2910         * lily/include/context.hh: Removed unique_, init_
2911
2912         * Documentation/topdocs/NEWS: Make the feathered beam example
2913         avoid triggering a bug.
2914
2915 2006-06-24  Graham Percival  <gpermus@gmail.com>
2916
2917         * Documentation/user/ various: small additions from mailist.
2918
2919 2006-06-22  Mats Bengtsson  <mabe@s3.kth.se>
2920
2921         * ly/performer-init.ly: Add some missing links in the context
2922         hierarchy for MIDI output. There are probably some more missing!
2923
2924 2006-06-21  Graham Percival  <gpermus@gmail.com>
2925
2926         * Documentation/user/ various: minor spelling fixes;
2927         thanks Dave Luttinen!
2928
2929         * Documentation/user/ various: small clarifications;
2930         thanks Anthony Youngman!
2931
2932 2006-06-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
2933
2934         * po/fr.po: add \n appropriately.
2935
2936         * lily/lexer.ll: remove ? from version-seen?  
2937
2938 2006-06-19  John Mandereau  <john.mandereau@free.fr>
2939
2940         * po/fr.po; update translation, by Jean-Charles Malahieude and
2941         John Mandereau.
2942
2943 2006-06-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
2944
2945         * THANKS: add Markus Schneider.
2946
2947         * lily/tab-staff-symbol-engraver.cc: derive from Engraver, not
2948         Staff_symbol_engraver
2949
2950         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): don't
2951         replace staff_engraver
2952
2953         * lily/staff-symbol-engraver.cc (stop_spanner): announce end of
2954         spanner.
2955
2956         * lily/staff-collecting-engraver.cc
2957         (acknowledge_end_staff_symbol): new function
2958
2959         * lily/volta-engraver.cc (acknowledge_end_staff_symbol): new function. 
2960
2961         * lily/staff-collecting-engraver.cc
2962         (acknowledge_end_staff_symbol): new function.
2963
2964         * lily/main.cc: switch on relocation by default.
2965
2966 2006-06-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
2967
2968         * lily/spacing-spanner.cc (musical_column_spacing): set
2969         compound_fixed_note_space to 0.0. Document why.
2970
2971         * lily/simple-spacer.cc (is_sane): also have a kludge for numeric
2972         range of inverse_hooke_
2973         (Simple_spacer): init completely.
2974         (fits): const
2975         (get_line_configuration): don't use cols.resize(); it introduces
2976         initialized data.
2977
2978         * scm/framework-ps.scm (dump-page): add setstrokeadjust. 
2979
2980         * ps/music-drawing-routines.ps: remove selectfont L1 hack.
2981
2982         * lily/beaming-pattern.cc (best_splitpoint_index): urg, 2nd
2983         try. Divide by beatlength.
2984
2985         * input/regression/beaming-ternary-metrum.ly: update doc.
2986         add beatLength hack.
2987
2988         * scm/music-functions.scm (make-time-signature-set): add
2989         standard-beat-grouping. 
2990
2991 2006-06-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
2992
2993         * input/regression/tie-whole.ly: new file.
2994
2995         * lily/tie-formatting-problem.cc (set_column_chord_outline): don't
2996         cross center of note head in case of invisible stem. 
2997
2998 2006-06-16  Graham Percival  <gpermus@gmail.com>
2999
3000         * Documentation/user/ various: small fixes from mailist.
3001
3002 2006-06-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
3003
3004         * lily/breathing-sign.cc (offset_callback): idem.
3005
3006         * lily/align-interface.cc (align_to_fixed_distance): remove
3007         hungarian suffix.
3008
3009         * lily/beaming-pattern.cc (count_factor_twos): oops. We want
3010         x%2==0.
3011
3012 2006-06-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
3013
3014         * VERSION (PACKAGE_NAME): release 2.9.9
3015
3016         * ly/lilypond-book-preamble.ly: add \version
3017
3018 2006-06-14  Han-Wen Nienhuys  <hanwen@lilypond.org>
3019
3020         * scripts/lilypond-book.py (PREAMBLE_LY): include
3021         lilypond-book-preamble.ly
3022
3023         * lily/stem.cc (get_beaming): return max of 0 and
3024         scm_ilength. Fixes slurring from/to beams.
3025
3026         * ly/lilypond-book-preamble.ly: new file.
3027
3028         * lily/slur.cc: add inspect-index feature.
3029
3030 2006-06-13  Graham Percival  <gpermus@gmail.com>
3031
3032         * Documentation/user/tutorial.itely: trivial fix.
3033
3034 2006-06-13  Erik Sandberg  <mandolaerik@gmail.com>
3035
3036         * lily/parser.yy, scm/ly-syntax-constructors.scm: Produce almost
3037         all non-event music in the parser via MAKE_SYNTAX.
3038
3039         * lily/parser-scheme.cc: Add ly:parser-error function
3040
3041         * scm/paper.scm: fix typo
3042
3043 2006-06-13  Han-Wen Nienhuys  <hanwen@lilypond.org>
3044
3045         * THANKS: add RT.
3046
3047         * lily/font-config.cc (init_fontconfig): add warning if cache_file
3048         is null.
3049
3050         * buildscripts/output-distance.py (test_compare_signatures):
3051         timing routines.
3052         (read_signature_file): use new signature format.
3053
3054         * scm/stencil.scm (write-system-signature): simpler signature
3055         format.
3056
3057         * lily/stem.cc (calc_stem_end_position): calc quantized-positions
3058         for beamed case. 
3059
3060         * lily/note-spacing.cc (stem_dir_correction): don't inspect
3061         stem_end_position, but estimate instead. 
3062
3063         * lily/tuplet-bracket.cc (calc_positions): look at
3064         stem-end-position for tuplet bracket slope. Fixes sloped tuplet
3065         brackets narrower than beams. 
3066
3067         * lily/lexer.ll: set version-seen? even if version is
3068         INVALID. 
3069
3070         * lily/rest.cc (y_offset_callback): bugfix: decide position
3071         override based on scm_is_number(). Fixes \rest on center staff
3072         line. 
3073
3074         * lily/beaming-pattern.cc (best_splitpoint_index): fix beaming
3075         patterns for 16th triplets.
3076
3077 2006-06-10  Graham Percival  <gpermus@gmail.com>
3078
3079         * Documentation/user/ page.itely, global.itely: editing
3080         and reorg.
3081
3082         * Documentation/user/ various: findex -> funindex.
3083
3084 2006-06-10  Erik Sandberg  <mandolaerik@gmail.com>
3085
3086         * lily/time-scaled-music-iterator.cc: Use tupletSpannerDuration to
3087         insert extra tuplet events.
3088
3089 2006-06-10  Graham Percival  <gpermus@gmail.com>
3090
3091         * Documentation/user/programming-interfaces.itely: add
3092         info from NEWS.
3093
3094         * python/convertrules.py: add annotatefoo -> annotate-foo
3095         rules.
3096
3097         * Documentation/user/global.itely: start editing.
3098
3099         * Documentation/user/page.itely: major editing, new spacing
3100         docs.
3101
3102 2006-06-10  Han-Wen Nienhuys  <hanwen@lilypond.org>
3103
3104         * scm/define-markup-commands.scm (wordwrap-markups): use
3105         output-def 'line-width if undefined.
3106
3107         * HACKING: trim outdated info.
3108
3109 2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>
3110
3111         * scm/define-grobs.scm (all-grob-descriptions): Add
3112         line-spanner-interface to all grobs that already have
3113         text-spanner-interface or dynamic-text-spanner-interface
3114
3115         * scm/page.scm: Rename annotate{headers,systems,page}->
3116         annotate-*
3117
3118         * input/regression/page-spacing.ly,
3119         input/regression/page-layout-manual-position.ly: idem
3120
3121 2006-06-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
3122
3123         * lily/line-spanner.cc: cleanup property list.
3124
3125         * scripts/lilypond-book.py (find_toplevel_snippets): don't use
3126         generator expressions (2.3 compat). 
3127
3128 2006-06-09  Mats Bengtsson  <mabe@s3.kth.se>
3129
3130         * lily/vertical-align-engraver.cc: Make sure that the
3131         align{Above,Below}Context properties are included in the automatic
3132         documentation.
3133
3134 2006-06-08  Joe Neeman  <joeneeman@gmail.com>
3135
3136         * scm/paper-system.scm (paper-system-annotate): also annotate the
3137         estimated pure-Y-extent
3138
3139         * scm/define-grobs.scm: add pure-Y-extent and pure-Y-offset functions
3140
3141         * lily/system.cc (break_into_pieces): set the estimated height
3142         of each child system
3143
3144         * lily/stem.cc (pure_height): new pure-Y-extent callback
3145
3146         * lily/staff-symbol-referencer.cc (callback): don't destroy
3147         the staff-position property
3148
3149         * lily/hara-kiri-group-spanner.cc (request_suicide): split
3150         consider_suicide into two functions
3151
3152         * lily/constrained-breaking.cc (resize): use the new pure
3153         callbacks to estimate the height of a system
3154
3155         * lily/axis-group-interface.cc (pure_group_height): new
3156         side-effect-free VerticalAxisGroup height-callback
3157
3158         * lily/align-interface.cc (get_extents_aligned_translates):
3159         split align_elements_to_extents into two functions
3160         (get_pure_child_y_translation): new function
3161
3162         * lily/grob.cc: new functions for pure-Y-extent and pure-Y-offset
3163
3164         * lily/item.cc: new functions pure_is_visible and spanned_rank_iv
3165
3166         * lily/paper-score.cc: cache break_indices and columns
3167
3168         * lily/side-position-interface.cc: new pure-Y-extent callbacks
3169         
3170 2006-06-08  Han-Wen Nienhuys  <hanwen@lilypond.org>
3171
3172         * lily/font-config.cc (init_fontconfig): do the init if
3173         cache_file, but don't look at cache_file.
3174
3175         * input/regression/quote-tie.ly: new file.
3176
3177         * lily/tie-engraver.cc (struct Head_event_tuple): add end_moment_
3178         to Head_event_tuple, so we deal gracefully with ties on
3179         cue-endings.
3180
3181         * lily/pango-font.cc (pango_item_string_stencil): type correctness
3182         for FcChar8*
3183
3184 2006-06-08  Graham Percival  <gpermus@gmail.com>
3185
3186         * input/test/ smart-transpose.ly, reverse-music.ly:
3187         \applyMusic to music functions update, thanks Michael!
3188
3189 2006-06-07  Graham Percival  <gpermus@gmail.com>
3190
3191         * input/test/ add-staccato.ly, add-text-script.ly,
3192         unfold-all-repeats.ly, music-box.ly: \applyMusic to
3193         music functions update, thanks to Michael Meixner.
3194
3195         * Documentation/user/music-glossary.tely: small fix
3196         from Francisco.
3197
3198         * Documentation/user/ various: minor additions from mailist.
3199
3200         * Documentation/user/lilypond.tely, basic-notation.itely:
3201         small test of @funindex.  (works here)
3202
3203         * input/test/font-table.ly: reduce size to partially
3204         de-ugly version in manual.
3205
3206         * Documentation/user/page.itely: new file (split former
3207         "global issues" into "page settings" and "non-musical
3208         output".
3209
3210         * Documentation/user/ various: fix @ref{}s to match
3211         new chapter names (above).
3212
3213 2006-06-07  Jan Nieuwenhuizen  <janneke@gnu.org>
3214
3215         * SConstruct (LILYPONDPREFIX): Bootstrap fix.
3216
3217 2006-06-06  Graham Percival  <gpermus@gmail.com>
3218
3219         * Documentation/user/advanced-notation.itely: add example
3220         for segno/coda on barline.
3221
3222         * tex/texinfo.tex: merge from upstream.
3223
3224 2006-06-06  Jan Nieuwenhuizen  <janneke@gnu.org>
3225
3226         * scripts/lilypond-book.py (process_snippets): Argument fix.
3227
3228         * SConstruct:
3229         * buildscripts/builder.py:
3230         * lily/SConscript: 
3231         * mf/SConscript: 
3232         * Documentation/user/SConscript:  More SCons fixes.
3233
3234 2006-06-03  Jan Nieuwenhuizen  <janneke@gnu.org>
3235
3236         * lily/font-config.cc (init_fontconfig): Only initialize if
3237         global cache_file is found.
3238
3239 2006-06-06  Erik Sandberg  <mandolaerik@gmail.com>
3240
3241         * ly/music-functions-init.ly: Updated \overrideProperty to use the
3242         new \applyOutput.
3243
3244 2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
3245
3246         * VERSION (PACKAGE_NAME): release 2.9.8
3247
3248         * lily/ledger-line-engraver.cc (stop_translation_timestep): new
3249         function. Delay ledger modifying ledgered grobs to
3250         stop_translation_timestep(), to ensure that we're ledgering
3251         according to the new spanner.
3252         (acknowledge_staff_symbol): don't check for non-NULL
3253         staff_sym->get_bound()
3254
3255         * lily/staff-symbol-engraver.cc (start_spanner): set left bound on
3256         creation.
3257
3258         * Documentation/pictures/GNUmakefile (XPM_FILES): src-wildcard for
3259         pictures too.
3260
3261         * GNUmakefile.in (dist-toplevel-txt-files): dist aclocal.m4
3262         directly from srcdir/stepmake/aclocal.m4
3263         
3264         * Documentation/misc/GNUmakefile (TEXTS): use src-wildcard for
3265         disting MISC files.
3266
3267         * lily/simple-spacer.cc (get_column_desc): desc -> description.
3268
3269 2006-06-06  Joe Neeman  <joeneeman@gmail.com>
3270
3271         * lily/simple-spacer.cc (get_line_configuration): add
3272         keep-inside-line rods
3273         (struct Column_desc): add constructor
3274         (struct Rod_desc): add constructor
3275         (get_line_forces): check for forced page breaks here too
3276
3277         * lily/instrument-name-engraver.cc (acknowledge_axis_group): prevent
3278         support/elements cycles between InstrumentNames and AxisGroups
3279
3280 2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
3281
3282         * config.make.in (METAFONT): remove MAKEINFO_VERSION
3283
3284         * stepmake/stepmake/topdocs-targets.make (make-txt-files): define
3285         make-txt-files target.
3286
3287         * stepmake/stepmake/toplevel-targets.make (do-top-doc): use
3288         make-txt-files target.
3289
3290         * configure.in (LINK_GXX_STATICALLY): $srcdir for readlink.py
3291
3292         * stepmake/stepmake/generic-vars.make (distdir): create dist in
3293         top-build-dir.
3294
3295 2006-06-06  Jürgen Reuter  <reuter@ipd.uka.de>
3296
3297         * Documentation/user/instrument-notation.itely,
3298         input/regression/breathing-sign-ancient.ly,
3299         input/test/divisiones.ly: Removed redundant property settings for
3300         vaticana contexts.
3301
3302         * ly/gregorian-init.ly: Rewrote \versus and \responsum in order to
3303         fix lyrics alignment problems.  They are implemented now as scheme
3304         functions that add the appropriate unicode char to the first lyric
3305         event rather than adding a separate lyric event.  Minor edit of
3306         comments.
3307
3308 2006-06-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
3309
3310         * GNUmakefile.in (dist-toplevel-txt-files): new target. Don't
3311         pollute src dir with built .txt files, but install directly from
3312         Documentation/topdocs/out/
3313
3314         * buildscripts/output-distance.py
3315         (ComparisonData.create_html_result_page): put version/directories
3316         in table header.
3317
3318         * Documentation/topdocs/NEWS.tely (Top): document spacing section
3319         feature.
3320
3321         * configure.in (LINK_GXX_STATICALLY): use readlink.py to resolve links.
3322         Patch by Karl Hammar
3323         
3324         * buildscripts/readlink.py: add  file.
3325         Patch by Karl Hammar
3326
3327 2006-06-06  Joe Neeman  <joeneeman@gmail.com>
3328
3329         * lily/tuplet-number.cc (print): prevent stencil from being
3330         garbage collected.
3331
3332 2006-06-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
3333
3334         * scm/stencil.scm (write-system-signature): explicitly 
3335         -well, superfluously- close output port.
3336
3337         * buildscripts/output-distance.py (main): oops. Add extra argument.
3338
3339 2006-06-05  Graham Percival  <gpermus@gmail.com>
3340
3341         * Documentation/user/music-glossary.tely: clarified example
3342         from Francisco Vila, thanks!
3343
3344 2006-06-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
3345
3346         * input/regression/spacing-section.ly: new file.
3347
3348         * lily/input.cc (programming_error): new function.
3349
3350         * lily/spacing-engraver.cc (try_music): new function. Accept
3351         spacing-section-event
3352
3353         * lily/spacing-spanner.cc (set_springs): take slices of all
3354         columns for spacing.
3355
3356         * lily/include/paper-column.hh (class Paper_column): add
3357         Paper_column::compare.
3358
3359         * ly/spanners-init.ly (newSpacingSection): add newSpacingSection.
3360
3361         * scm/define-music-types.scm (music-descriptions): add
3362         SpacingSectionEvent
3363
3364         * lily/music-iterator.cc (report_event): use programming_error for
3365         sending non-event error.
3366
3367         * lily/input.cc (programming_error): new function
3368
3369         * buildscripts/output-distance.py (main): use compare-XXX for
3370         compare files.
3371         (main): --threshold option, default at 0.30
3372
3373         * output-distance.py (main): add --threshold option.
3374
3375 2006-06-04  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3376
3377         * scm/paper-system.scm (paper-system-annotate): fix problem when
3378         annotating an empty system
3379
3380 2006-06-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
3381
3382         * GNUmakefile.in: reinstate old web tar/copying.
3383
3384 2006-06-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
3385
3386         * lily/lyric-combine-music-iterator.cc (find_voice): return 0 if
3387         nothing changes. (Erik S) 
3388
3389         * lily/percent-repeat-iterator.cc (get_music_list): fix repeat
3390         count. (Erik S)
3391
3392 2006-05-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3393
3394         * scm/define-markup-commands.scm (whiteout): do not force
3395         foreground color of argument markup to black.
3396
3397         * scm/stencil.scm (annotate-y-interval): put arrow dimension at
3398         the left of the arrow, instead of below the arrow name, so that,
3399         when two little arrows are vertically stacked, their dimensions
3400         and name should not overlap. Add a color key parameter.
3401
3402         * scm/paper-system.scm (paper-system-annotate): Annotate
3403         next-space+next-padding instead of next-space. Annotate space
3404         between next-padding and next-space+padding, respectively, and
3405         following system extent and refpoint-Y-extent. Use colors.
3406
3407         * scm/page.scm (annotate-page): translate annotations slightly to
3408         the right.
3409
3410 2006-06-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
3411
3412         * lily/figured-bass-position-engraver.cc (acknowledge_end_slur):
3413         fix for x-staff slurs. Thanks Joe!
3414
3415         * buildscripts/output-distance.py
3416         (SystemLink.output_expression_change_count): keep track of changed
3417         details, and dump in details html page.
3418  
3419         * input/regression/figured-bass-staff.ly: add note about setting
3420         properties in Staff context.
3421
3422         * lily/figured-bass-position-engraver.cc (acknowledge_slur):
3423         add slurs and ties to support too.
3424
3425         * buildscripts/output-distance.py (main): set dest_dir
3426         argument. Add --max-count option.
3427
3428 2006-06-02  Jürgen Reuter  <reuter@ipd.uka.de>
3429
3430         * ly/gregorian-init.ly: Converted to utf-8.  Added memorable
3431         shortcuts for special unicode chars that are useful in chant
3432         notation.  Revised exisiting and added new comments.
3433
3434 2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
3435
3436         * make/mutopia-rules.make: remove duplicate recipe.
3437
3438 2006-06-02  Werner Lemberg  <wl@gnu.org>
3439
3440         * tex/texinfo.cnf: Fix typo (\euro -> \minus).
3441         Add support for U+0132 (IJ) and U+0133 (ij).
3442
3443 2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
3444
3445         * buildscripts/output-distance.py (FileLink): new class. collect
3446         info systems from one .ly file. 
3447         (FileLink.link_files_for_html): further tweaks.
3448
3449 2006-06-02  Graham Percival  <gpermus@gmail.com>
3450
3451         * tex/texinfo.tex: partial fix for @funindex.
3452
3453         * Documentation/user/macros.tely: uncomment @funindex (doesn't
3454         break anything).
3455
3456 2006-06-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
3457
3458         * make/mutopia-vars.make (ly_examples): replace .ly.txt with .ly
3459
3460         * tex/texinfo.tex (sectionheading, q.v.): call \quoteexpand for
3461         @example too. Backportme.
3462
3463 2006-06-02  Graham Percival  <gpermus@gmail.com>
3464
3465         * tex/texinfo.cnf: added UTF-8 support for texinfo; patch
3466         from Werner Lemberg.
3467
3468 2006-06-02  Paco (Francisco Vila)  <fravd@ya.com>
3469
3470         * Documentation/user/music-glossary.tely: additional spanish
3471         updates and a lyrics fix in an example.
3472
3473 2006-06-02  Jürgen Reuter  <reuter@ipd.uka.de>
3474
3475         * scm/define-grob-properties.scm: Previous patch contained
3476         spurious line from another patch not yet committed.  Fixed.
3477
3478         * scm/define-grob-properties.scm: Add missing doc strings for
3479         ancient notation.
3480
3481 2006-06-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
3482
3483         * buildscripts/output-distance.py
3484         (ComparisonData.write_text_result_page): separate the scores, sort
3485         by geo_score.
3486
3487         * scm/framework-eps.scm (output-classic-framework): start at 1 for
3488         system signatures.
3489
3490         * buildscripts/output-distance.py (me_path): use argv[0] for
3491         sys.path extension
3492         (ComparisonData.img_cell): use colored borders.
3493
3494         * scm/stencil.scm (write-system-signature): escape newlines too.
3495         (write-system-signature): use (1,-1) interval for empty interval
3496
3497 2006-01-01  Graham Percival  <gpermus@gmail.com>
3498
3499         * Documentation/user/music-glossary.tely: Spanish updates
3500         from Francisco Vila.
3501
3502         * Documentation/user/lilypond-book.itely: addition from
3503         Vaclav Smilauer.
3504
3505         * Documentation/user/ various: edits, small additions
3506         from mailist, etc.
3507
3508 2006-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>
3509
3510         * GNUmakefile.in (tree-lib-prefix-current):
3511         (tree-share-prefix-current): Use version number in tree, add
3512         `current' symlinks.
3513
3514 2006-06-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
3515
3516         * GNUmakefile.in: write VERSION, again.
3517
3518         * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
3519         $(outdir)/%.ly $(outdir)/%.ps): dump sigs for normal files too.
3520
3521         * stepmake/aclocal.m4: robuster version detection.
3522
3523         * buildscripts/output-distance.py
3524         (ComparisonData.create_html_result_page): copy only if file
3525         exists, fixup src paths.
3526
3527         * stepmake/bin/add-html-footer.py (built): junk gulp_file()
3528
3529 2006-06-01  Jan Nieuwenhuizen  <janneke@gnu.org>
3530
3531         * stepmake/aclocal.m4: Robustification for (gcc) version detection.
3532         Another datarootdir reto.
3533
3534         * cygwin/postinstall-lilypond.sh: Do not fail if info docs aren't
3535         available.  This should be moved to postinstall-lilypond-doc.
3536
3537 2006-05-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
3538
3539         * GNUmakefile.in: simplify local-WWW-post. 
3540         remove -type l from find.
3541
3542         * buildscripts/output-distance.py (ComparisonData.compare_trees):
3543         fixes. Don't follow symlinks.
3544         (ComparisonData.create_html_result_page): remove previous results.
3545         insert ../python in path.
3546
3547         * scripts/lilypond-book.py (PREAMBLE_LY): spacing fixes.
3548
3549 2006-05-31  Jan Nieuwenhuizen  <janneke@gnu.org>
3550
3551         * config.make.in (datadir): Add datarootdir to silence autoconf.
3552
3553         * stepmake/aclocal.m4: Update for autoconf-2.59d.
3554
3555 2006-05-31  Erlend Aasland  <erlenda@gmail.com>
3556
3557         * dynamic-engraver.cc: fix bug (dynamics collide with accidentals)
3558
3559         * scm/output-ps.scm (repeat-slash): fix a bug that made repeat
3560         slash beams too wide.
3561
3562 2006-05-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
3563
3564         * VERSION: release 2.9.7
3565         
3566 2006-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
3567
3568         * lily/relocate.cc (read_relocation_dir): Do not blindly
3569         dereference DIR.
3570
3571 2006-05-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
3572
3573         * lily/parser.yy: replace THIS by PARSER
3574
3575         * Documentation/index.html.in: add link to test-results.html page.
3576
3577         * Documentation/topdocs/NEWS.tely (Top): update NEWS entry.
3578
3579         * scm/translation-functions.scm (format-bass-figure): translate
3580         digits over 10 to the left
3581
3582         * scm/define-markup-commands.scm (translate-scaled): new markup.
3583
3584         * mf/feta-nummer-code.mf (code): overshoot the topright tip of the
3585         7 glyph. 
3586
3587         * ly/engraver-init.ly: add Figured_bass_engraver
3588
3589         * lily/engraver-group.cc (acknowledge_grobs): use start/stop drul.
3590
3591         * lily/figured-bass-engraver.cc (clear_spanners): use everywhere.
3592
3593         * lily/score-engraver.cc (announce_grob): only note START announces.
3594
3595         * lily/include/engraver-group.hh (Translator_group):
3596         acknowledge_hash_table_ is now drul.
3597
3598         * lily/engraver.cc (announce_end_grob): new method.
3599
3600         * lily/include/grob-info.hh (class Grob_info): add start_end_ member.
3601
3602         * lily/translator-dispatch-list.cc (create): take start_end argument.
3603
3604         * lily/include/translator.hh (TRANSLATOR_DECLARATIONS): change
3605         acknowledge_static_array_ to drul
3606
3607         * lily/include/translator.icc (ADD_END_ACKNOWLEDGER): new macro.
3608
3609         * scm/define-grob-interfaces.scm
3610         (bass-figure-alignment-interface): add bass-figure-alignment-interface
3611
3612         * scm/define-grobs.scm (all-grob-descriptions): add
3613         BassFigureAlignmentPositioning
3614
3615         * ly/Welcome-to-LilyPond-MacOS.ly: include in LilyPond, so version
3616         number stays up to date. Backportme.
3617
3618 2006-05-30  Mats Bengtsson  <mabe@s3.kth.se>
3619
3620         * Documentation/user/basic-notation.itely (Bar lines): Document
3621         the "||:" bar type. 
3622
3623 2006-05-30  Jan Nieuwenhuizen  <janneke@gnu.org>
3624
3625         * buildscripts/builder.py: Remove --ly option/target from mf-to-table.
3626
3627         * scripts/lilypond-book.py: Bugfix: do not blindly attempt
3628         .../current hack if LILYPONDPREFIX is fine.  Fixes `scons doc'
3629         build.
3630
3631         * Resurrect `scons lily' build.
3632
3633         * SConstruct (symlink_tree): Bugfix: link
3634         music-drawing-routines.ps to file iso directory.
3635
3636         * lily/SConscript: Remove kpath-guile from LIBS.
3637
3638         * SConstruct (libdir_package_version): Typo.
3639         (configure): Comment-out fontforge for lack of fontforge.pc .
3640         Also add libdir* to environment.
3641
3642 2006-05-30  Graham Percival  <gpermus@gmail.com>
3643
3644         * Documentation/user/ various: minor additions from mailist and
3645         editing.
3646
3647 2006-05-30  Paco <fravd@ya.com>
3648
3649         * Documentation/user/music-glossary.tely: numerous corrections and
3650         some new translations.
3651
3652 2006-05-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
3653
3654         * BackportmeStart.
3655         
3656         * buildscripts/output-distance.py
3657         (ComparisonData.create_html_result_page): new routine: summarise
3658         results in HTML page with images. 
3659         (ComparisonData.create_text_result_page): create summary text files too.
3660
3661         * GNUmakefile.in (web-ext): package .signature files too. They
3662         compress well. 
3663
3664         * scm/stencil.scm (write-system-signature): typo.
3665
3666         * GNUmakefile.in: create web-root/VERSION to help upload scripts.
3667
3668         * scm/stencil.scm (write-system-signature): better escaping.
3669         only write signature for music systems, not for markup systems.
3670
3671         * scm/framework-ps.scm (output-framework): dump-signatures support
3672         for plain output.
3673
3674         * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): add -ddump-signatures.
3675
3676         * scm/framework-ps.scm (write-preamble): redefine mark_URI to nop
3677         for -dno-point-and-click
3678
3679         * lily/grob.cc (get_print_stencil): don't read
3680         point_and_click_global to determine whether to set grob-cause.
3681
3682 2006-05-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
3683
3684         * buildscripts/output-distance.py (main): new function.
3685         (ComparisonData): new class.
3686
3687         * lily/ledger-line-engraver.cc (acknowledge_staff_symbol): be more
3688         careful with generating new LedgerLineSpanners.
3689
3690         * lily/ledger-line-spanner.cc (set_spacing_rods): suicide if no staff.
3691
3692         * ly/engraver-init.ly: remove Ledger_line_engraver from Voice
3693         context. This fixes double ledger lines in output. 
3694
3695         * lily/system.cc (get_paper_system): remove 3 layer limit.
3696
3697         * buildscripts/output-distance.py (SystemLink.distance): new
3698         file. Compare signatures.
3699
3700         * python/safeeval.py (SafeEval.visitUnarySub): new file.
3701
3702         * lily/grob-array.cc (remove_duplicates): rename from
3703         uniq(). Sort before calling uniq() so it actually works.
3704
3705 2006-05-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
3706
3707         * scripts/lilypond-book.py (Lilypond_file_snippet.ly): strip
3708         \version from lilypond file snippet.
3709         (Lilypond_file_snippet.ly): oops. typo.
3710         (find_toplevel_snippets): urgh. again.
3711
3712         * lily/system.cc (get_paper_systems): uniq all_elements_ , to
3713         prevent duplicated broken items in output.
3714
3715         * scm/framework-eps.scm (output-classic-framework): only dump if
3716         dump-signatures is set.
3717
3718         * scm/lily.scm (define-scheme-options): add dump-signatures option.
3719
3720         * scm/stencil.scm (write-system-signature): new routine: write
3721         python parseable signature of a separate paper system.
3722         BackportmeEnd.
3723         
3724 2006-05-26  Han-Wen Nienhuys  <hanwen@lilypond.org>
3725
3726         * lily/stanza-number-engraver.cc (process_music): use is_markup()
3727         iso is_string().
3728         include header.
3729
3730 2006-05-25  Erik Sandberg  <mandolaerik@gmail.com>
3731
3732         * translator-group.cc: send music events to engravers in
3733         non-bottom contexts.
3734
3735         * tuplet-engraver.cc: process tuplet brackets in correct order.
3736
3737 2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
3738
3739         * stepmake/aclocal.m4: STEPMAKE_PYTHON(): clear cached value since
3740         arg 2 might point us to a new binary (patch by Karl Hammar)
3741         
3742 2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
3743
3744         * VERSION (PACKAGE_NAME): release 2.9.6
3745
3746         * Documentation/topdocs/NEWS.tely (Top): trim explanation. 
3747
3748         * Documentation/user/*.itely: 2nd
3749         attempt: replace funindex -> findex globally.
3750
3751 2006-05-24  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3752
3753         * input/no-notation/display-lily-tests.ly: fix \applyOutput
3754         test. Add \break, \pageBreak, \pageTurn, etc, tests.
3755
3756         * scm/define-music-display-methods.scm: display methods for
3757         breaks. Fix \applyOutput.
3758
3759 2006-05-24  Han-Wen Nienhuys  <hanwen@lilypond.org>
3760
3761         * Documentation/user/macros.itexi: comment out funindex expansion. 
3762
3763         * Documentation/user/music-glossary.tely: junk \oldaddlyrics
3764         everywhere.
3765
3766         * GNUmakefile.in: fix wildcarding for scrips/out/ links. Thanks
3767         Karl Hammar. Backportme.
3768  
3769         * Documentation/user/advanced-notation.itely (Balloon help): idem.
3770
3771         * Documentation/user/changing-defaults.itely (Creating contexts): idem.
3772
3773         * Documentation/user/programming-interface.itely (Running a
3774         function on all layout objects): idem.
3775
3776         * Documentation/user/introduction.itely (Automated engraving):
3777         update \applyOutput syntax
3778
3779         * lily/lyric-combine-music-iterator.cc (start_new_syllable):
3780         remove debugging hook.
3781
3782         * configure.in (LINK_GXX_STATICALLY): use "" to allow $
3783         expansion. 
3784
3785         * Documentation/user/GNUmakefile (TEXI2DVI_FLAGS): add -E.
3786
3787         * stepmake/stepmake/texinfo-rules.make ($(outdir)/%.dvi): add
3788         TEXI2DVI_FLAGS to texi2dvi invocation. 
3789
3790 2006-05-24  Erik Sandberg  <mandolaerik@gmail.com>
3791
3792         * lily/chord-tremolo-*.cc: Reworked how \repeat "tremolo"
3793         works. More work is done by iterator now, and engraver has been
3794         very much simplified.
3795
3796         * lily/translator-group.cc: try_music is now invoked through a
3797         listener
3798
3799         * lily/*-iterator.cc: Massive cleanups. Junked
3800         try_music_in_children globally. Renamed try_music to report_event,
3801         and made that method descend to a bottom context automatically.
3802
3803         * lily/event-iterator.cc: New file.
3804
3805         * lily/output-property-iterator.cc,
3806         lily/old-lyric-combine-music-iterator.cc: Removed.
3807
3808         * python/convert-rules.py: Modified the syntax for \applyOutput.
3809
3810 2006-05-23  Graham Percival  <gpermus@gmail.com>
3811
3812         * stepmake/stepmake/texinfo-rules.make: added -E, allows pdf doc
3813         creation.
3814
3815         * Documentation/user/ various: stuff that might have helped
3816         to fix the pdf creation, plus some minor doc additions.
3817
3818         * Documentation/user/changing-defaults.itely: remove @b from
3819         @b{ @internasref{foo}}; this breaks texi2dvi -E.
3820
3821 2006-05-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
3822
3823         * lily/beaming-pattern.cc (beamify): deal with negative start
3824         moments for beaming patterns.
3825
3826 2006-05-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
3827
3828         * lily/beaming-info.cc (beamify): new function: read beatLength
3829         and beatGrouping from context. 
3830
3831         * input/regression/beam-beat-grouping.ly (Module): new file.
3832
3833         * input/regression/beam-unconnected-beamlets.ly (Module): new file.
3834
3835         * lily/beam.cc (get_beam_segments): generate events for
3836         max_connect_ case too.
3837         (get_beam_segments): read Stem::max-beam-connect.
3838
3839         * input/regression/beam-single-stem.ly: new file.
3840
3841         * lily/stem.cc (set_beaming): use #f as signaling value for
3842         beamcount 0.
3843
3844         * lily/beam-engraver.cc (typeset_beam): set right bound if unset.
3845
3846         * lily/beam.cc (set_beaming): read clip-edges property.
3847         (calc_direction): don't suicide for single stem.
3848
3849         * lily/beaming-info.cc (best_splitpoint_index): take bool*
3850         argument, remove 1<<15 hack. Remove clip_edges() 
3851
3852         * lily/hairpin.cc (print): only do padding for nonmusical bounds
3853
3854 2006-05-21  Graham Percival  <gpermus@gmail.com>
3855
3856         * Documentation/user/basic-notation.itely: reorg.
3857
3858         * Documentation/user/ various: minor fixes.
3859
3860 2006-05-20  Han-Wen Nienhuys  <hanwen@lilypond.org>
3861
3862         * lily/stencil-expression.cc (register_stencil_head): opps, append
3863         to cdr of static SCM object.
3864
3865 2006-05-19  Graham Percival  <gpermus@gmail.com>
3866
3867         * Documentation/user/README.txt, lilypond.tely, macros.itexi:
3868         update framework for command index.  DOC WRITERS: use @funindex
3869         instead of @cindex @code{}.
3870
3871         * Documentation/user/ various: replace @cindex @code{} => @funindex
3872
3873 2006-05-19  Han-Wen Nienhuys  <hanwen@lilypond.org>
3874
3875         * lily/beam.cc (set_stem_lengths): trigger 'beaming callback, in
3876         case positions is set manually. 
3877
3878 2006-05-18  Erik Sandberg  <mandolaerik@gmail.com>
3879         
3880         * scm/ly-syntax-constructors.scm: New file. Converted a few syntax
3881         rules to Scheme.
3882
3883 2006-05-18  Han-Wen Nienhuys  <hanwen@lilypond.org>
3884
3885         * Documentation/user/changing-defaults.itely (Contexts explained):
3886         use absolute dimension for @image.
3887
3888         * Documentation/user/GNUmakefile (OUT_PNG_IMAGES): generate PNG
3889         out image for illustration too.
3890         ($(outdir)/%.png): add more png <-> eps rules. 
3891
3892 2006-05-17  Graham Percival  <gpermus@gmail.com>
3893
3894         * Documentation/user/ various: remove trailing whitespace, cosmetic
3895         change to reduce changes produced by diff.
3896
3897 2006-05-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
3898
3899         * lily/main.cc (do_chroot_jail): correctness tweak.
3900
3901         * python/lilylib.py (system): import subprocess in system () only.
3902
3903         * scripts/*.py: use TARGET_PYTHON iso PYTHON. Backportme.
3904
3905         * make/substitute.make (ATVARIABLES): add TARGET_PYTHON as subst
3906         variable. Backportme.
3907
3908 2006-05-17  Erik Sandberg  <mandolaerik@gmail.com>
3909         
3910         * lily/parser.yy: Change all syntax rules of type Music to SCM type
3911
3912 2006-05-17  Werner Lemberg  <wl@gnu.org>
3913
3914         * lily/lexer.ll (init_signature_has_table): Add
3915         `scm-scm-music-music'.
3916
3917         * lily/parser.yy (MUSIC_FUNCTION_SCM_SCM_MUSIC_MUSIC): New token.
3918         (Generic_prefix_music_scm): Add rule for it.
3919
3920         * lily/quote-iterator.cc (Quote_iterator::process): Handle
3921         `quoted-transposition' property.
3922
3923         * ly/music-functions-init.ly (transposedCueDuring): New function.
3924
3925         * scm/define-music-properties.scm (all-music-properties): Updated.
3926
3927         * Documenation/topdocs/NEWS.itely: Document it.
3928
3929 2006-05-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
3930
3931         * python/lilylib.py (system): move import subprocess to system()
3932         definition. 
3933
3934         * python/convertrules.py (conv): fix convert-ly rules for 2.9.4
3935
3936         * VERSION (PATCH_LEVEL): release 2.9.5
3937         
3938         * Documentation/topdocs/INSTALL.texi (Top): update versions and
3939         build instructions. 
3940
3941         * ly/engraver-init.ly: switch on hairpinToBarline by default.
3942
3943 2006-05-16  Graham Percival  <gpermus@gmail.com>
3944
3945         * Documentation/user/basic-notation.itely: editing from Dave, thanks!
3946
3947         * Documentation/user/ various: minor fixes.
3948
3949 2006-05-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
3950
3951         * Documentation/topdocs/NEWS.tely (Top): add hairpinToBarline feature.
3952
3953 2006-05-16  Mats Bengtsson  <mabe@s3.kth.se>
3954
3955         * Documentation/user/advanced-notation.itely (Instrument names):
3956         Modified obsolete instruction on how to move instrument names away
3957         from the staves. Hmm, at second thought the bug probably has been
3958         solved, so the full bug description should probably be removed.
3959
3960 2006-05-16  Han-Wen Nienhuys  <hanwen@lilypond.org>
3961
3962         * lily/dynamic-engraver.cc (typeset_all): hang ending on
3963         currentCommandColumn. 
3964
3965         * lily/hairpin.cc (print): also add padding for non-neighbor
3966         hairpin bounds.
3967
3968         * scm/define-context-properties.scm
3969         (all-user-translation-properties): add hairpinToBarline
3970
3971         * input/regression/hairpin-to-barline.ly: new file.
3972
3973         * lily/context.cc (internal_send_stream_event): thinko fix.
3974
3975         * lily/tie.cc (set_default_control_points): robustness fix.
3976
3977         * python/musicxml.py (Part.interpret): don't complain about
3978         incomplete measures.
3979
3980         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): only add
3981         new music if last_event_chord() returned None.
3982
3983         * python/musicxml.py (Part.interpret): skip back over chord notes.
3984
3985 2006-05-16  Erik Sandberg  <mandolaerik@gmail.com>
3986         
3987         * lily/percent-repeat-engraver.cc, lily/parser.yy,
3988         lily/define-music-types.cc, lily/percent-repeat-iterator.cc,
3989         lily/slash-repeat-engraver.cc,
3990         lily/include/percent-repeat-iterator.hh: Rework percent repeats:
3991         iterator sends PercentEvents
3992
3993         * lily/time-scaled-music-iterator.cc, lily/tuplet-engraver.cc:
3994         rework tuplets: send start/stop events to engraver
3995
3996         * lily/context.cc, lily/music.cc, lily/context-scheme.cc: Add
3997         dispatchers event-source and events-below to Context
3998         
3999 2006-05-15  Graham Percival  <gpermus@gmail.com>
4000
4001         * Documentation/user/README.txt: update info for doc writers.
4002
4003         * Documentation/user/programming-interface.itely: integrate
4004         Nicolas' fixes for chapter rewrite.
4005
4006         * Documentation/user/ various: minor fixes.
4007
4008 2006-05-15  Han-Wen Nienhuys  <hanwen@lilypond.org>
4009
4010         * lily/clef-engraver.cc: cleanup.
4011
4012         * Documentation/user/GNUmakefile: dist context-example.eps too.
4013
4014         * lily/key-engraver.cc (create_key): use
4015         explicitKeySignatureVisibility for cancellation too. 
4016
4017         * lily/font-config.cc (init_fontconfig): don't close file if
4018         f==NULL. 
4019
4020 2006-05-15  Erlend Aasland  <erlenda@gmail.com>
4021
4022         * Documentation/topdocs/NEWS.tely: niente and rotation news
4023
4024 2006-05-14  Erlend Aasland  <erlenda@gmail.com>
4025
4026         * lily/include/stencil.hh
4027         * lily/stencil.cc (rotate): new function. Makes it possible
4028         to rotate a stencil around a given offset.
4029
4030         * lily/grob.cc (get_print_stencil): add rotation support
4031
4032         * lily/stencil-interpret.cc (interpret_stencil_expression):
4033         add rotation support
4034
4035         * lily/stencil-scheme.cc (ly:stencil-rotate): new function
4036
4037         * scm/define-grob-properties.scm: add 'rotation property
4038
4039         * scm/define-markup-commands.scm: add rotate markup command
4040         
4041         * scm/output-ps.scm: add rotation support in PostScript backend
4042
4043         * scm/output-svg.scm: add rotation support in SVG backend
4044
4045 2006-05-13  Graham Percival  <gpermus@gmail.com>
4046
4047         * Documentation/user/music-glossary.itely: French correction.
4048
4049         * Documentation/user/programming-interface.itely: major
4050         new docs, some reorg, some info from Nicolas.
4051
4052         * Documentation/user/ various: small fixes.
4053
4054 2006-05-12  Mats Bengtsson  <mabe@s3.kth.se>
4055
4056         * Documentation/user/programming-interface.itely (Markup
4057         programmer interface): Remove duplicate text.
4058
4059 2006-05-12  Graham Percival  <gpermus@gmail.com>
4060
4061         * Documentation/user/context-example.eps: new file.
4062
4063         * Documentation/user/changing-defaults.itely: set up file to
4064         use eps image.
4065
4066         * Documentation/user/programming-interface.itely: changes
4067         from mailist.
4068
4069 2006-05-12  Han-Wen Nienhuys  <hanwen@lilypond.org>
4070
4071         * configure.in (LINK_GXX_STATICALLY): python 2.4 req.
4072
4073 2006-05-11  Graham Percival  <gpermus@gmail.com>
4074
4075         * Documentation/user/programming-interface.itely: first round of
4076         editing and merging emails from Nicolas.
4077
4078         * Documentation/user/scheme-tutorial: minor edit.
4079
4080 2006-05-11  Han-Wen Nienhuys  <hanwen@lilypond.org>
4081
4082         * python/musicxml.py (Xml_node.__init__): _attribute_dict stores
4083         XML attributes.
4084         (Xml_node.message): use it.
4085
4086         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): 
4087         oops. Add duration argument.
4088
4089 2006-05-10  Joe Neeman  <joeneeman@gmail.com>
4090
4091         * lily/paper-column-engraver.cc (make_columns):
4092         * scm/define-grobs.scm: Revert my previous change and set the default
4093         in define-grobs.scm instead.
4094
4095 2006-05-09  Graham Percival  <gpermus@gmail.com>
4096         
4097         * Documentation/user/changing-defaults.itely: general editing,
4098         info about \set and \override.
4099
4100         * Documentation/user/tweaking.itely, advanced-notation.itely:
4101         fixes from Dave Luttinen, thanks!
4102
4103 2006-05-09  Joe Neeman  <joeneeman@gmail.com>
4104
4105         * lily/paper-column-engraver.cc (make_columns): By default, a column
4106         needs to be breakable.
4107
4108 2006-05-09  Han-Wen Nienhuys  <hanwen@lilypond.org>
4109
4110         * scripts/musicxml2ly.py (musicxml_clef_to_lily): use new
4111         Attributes methods
4112         (musicxml_time_to_lily): idem
4113         (musicxml_key_to_lily): idem
4114         (instrument_drumtype_dict): dict for supported drumtypes.
4115         (LilyPondVoiceBuilder.__init__): new class: sanely keep track of
4116         moments and pending mm rests
4117         (musicxml_voice_to_lily_voice): rewrite to use LilyPondVoiceBuilder
4118         (musicxml_voice_to_lily_voice): strip KeyChangeEvents for drums.
4119         (musicxml_voice_to_lily_voice): add mode change.
4120         (option_parser): lxml.etree (http://codespeak.net/lxml/) for more
4121         speed and less memory usage (factor 5 to 10).
4122         (convert): write -defs.ly  and driver file separately so people
4123         can script their own part extraction.
4124
4125         * python/musicxml.py (minidom_demarshal_node): new function:
4126         separate minidom handling.
4127         (lxml_demarshal_node): new function: support lxml.etree too.
4128         (Xml_node.message): new function: verbose error message, with XML
4129         path to offending node.
4130         (Attributes.get_measure_length): sane interface to MusicXML attributes.
4131         (Part_list.generate_id_instrument_dict): new method: collect
4132         instrument names, to be able to set drum_type.
4133         (Part.interpret): handle underfull measures
4134         (Part.interpret): assign instrument names.
4135
4136         * python/musicexp.py (Output_printer.close): new method
4137         (MusicWrapper.print_ly): new class: support other modes,
4138         eg. \drummode
4139         (BarCheck.print_ly): new class. Support bar checks, with comments
4140         and fancy barchecks. 
4141         (NoteEvent.__init__): also set drum_type for drum notes.
4142         (MultiMeasureRest.lisp_expression): dump mm rests.
4143
4144         * lily/paper-column-engraver.cc (stop_translation_timestep): set
4145         line-break-permission if forbidBreak is not set.
4146
4147 2006-05-09  Joe Neeman  <joeneeman@gmail.com>
4148
4149         * scm/define-context-properties.scm:
4150         * scm/define-grob-properties.scm:
4151         * scm/define-grobs.scm:
4152         * scm/define-music-display-methods.scm:
4153         * scm/define-music-properties.scm:
4154         * scm/define-music-types.scm:
4155         * scm/music-functions.scm:
4156         * ly/declarations-init.ly:
4157         * lily/include/constrained-breaking.hh:
4158         * lily/system.cc:
4159         * lily/spaceable-grob.cc:
4160         * lily/simple-spacer.cc:
4161         * lily/paper-score.cc:
4162         * lily/paper-column.cc:
4163         * lily/paper-column-engraver.cc:
4164         * lily/item.cc:
4165         * lily/gourlay-breaking.cc:
4166         * lily/constrained-breaking.cc:
4167         * python/convertrules.py:
4168         Change "penalty", "page-penalty" and "breakable" to "line-break-penalty",
4169         "page-break-penalty" and "line-break-permission".
4170         Add "page-break-permission", "page-turn-permission" and "page-turn-penalty".
4171         Replace BreakEvent with LineBreakEvent, PageBreakEvent and PageTurnEvent.
4172
4173         * lily/bar-engraver.cc:
4174         * lily/beam-engraver.cc:
4175         * lily/forbid-break-engraver.cc:
4176         * lily/ligature-engraver.cc:
4177         * lily/paper-column-engraver.cc:
4178         * lily/percent-repeat-engraver.cc:
4179         * lily/score-engraver.cc:
4180         * lily/score-engraver.hh:
4181         * lily/paper-column-engraver.hh:
4182         Inter-engraver communication regarding line breaks is done through context
4183         properties (Score.forbidBreak) instead of function calls.
4184
4185 2006-05-08  Han-Wen Nienhuys  <hanwen@lilypond.org>
4186
4187         * VERSION (PACKAGE_NAME): release 2.9.4
4188
4189 2006-05-08  Graham Percival  <gpermus@gmail.com>
4190
4191         * Documentation/user/working.itely: proofreading from Dave
4192         Luttinen, thanks.
4193
4194         * Doucmentation/user/README.txt: updated with manual style info.
4195
4196         * Documentation/user/ various: trim linewidth to 78 chars.
4197
4198 2006-05-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
4199
4200         * scm/define-grob-properties.scm (all-internal-grob-properties):
4201         remove chord-tremolo property.
4202
4203         * lily/beam.cc (get_beam_segments): don't use stem position as
4204         base for broken ends.
4205
4206 2006-05-06  Graham Percival  <gpermus@gmail.com>
4207
4208         * Documentation/user/putting.itely: proofreading from Dave
4209         Luttinen, thanks!
4210
4211         * Documentation/user/ various: more reorg and clarifications.
4212
4213 2006-05-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
4214
4215         * scm/lily.scm (TEX_STRING_HASHLIMIT): move from framework-texstr.scm.
4216
4217         * ly/music-functions-init.ly: new function featherDurations
4218
4219         * lily/beam.cc: read grow-direction for feathered beaming.
4220
4221         * Documentation/topdocs/NEWS.tely (Top): typo.
4222
4223 2006-05-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
4224
4225         * lily/include/beam.hh (struct Beam_stem_segment): add gapped_ for
4226         tremolo beams.
4227
4228 2006-05-05  Erik Sandberg  <mandolaerik@gmail.com>
4229         * lily/context.cc, lily/global-context.cc: Added 'unique' member,
4230         used by music streams.
4231
4232         * lily/dispatcher.cc, lily/dispatcher-scheme.cc,
4233         lily/stream-event.cc, lily/stream-event-scheme.cc,
4234         lily/listener.cc, lily/scheme-listener.cc,
4235         lily/scheme-listener-scheme.cc, lily/include/dispatcher.hh,
4236         lily/include/stream-event.hh, lily/include/listener.hh,
4237         lily/include/scheme-listener.hh, scm/define-event-classes.scm:
4238         Created data structures for music streams.
4239         
4240 2006-05-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
4241
4242         * lily/beam.cc (get_beam_segments): new function. Reorganise the
4243         construction of a beam. 
4244         (print): rewrite. 
4245
4246         * flower/include/std-vector.hh (default_compare): use only one comparison.
4247
4248         * scm/define-markup-commands.scm (note-by-number): remove debug display.
4249         (note-by-number): further attachment fixes.
4250
4251         * scm/lily-library.scm (ordered-cons): new function.
4252         (interval-index): new function
4253
4254         * lily/note-head-scheme.cc (LY_DEFINE): new file.
4255
4256         * lily/note-head.cc (get_stem_attachment): new function.
4257
4258         * scm/define-markup-commands.scm (note-by-number): read 'style
4259         property. 
4260
4261         * input/regression/markup-note.ly: show note-head style option.
4262
4263         * mf/feta-bolletjes.mf (overdone_heads): fix attachment points for
4264         triangle head.
4265
4266 2006-05-04  Han-Wen Nienhuys  <hanwen@lilypond.org>
4267
4268         * mf/GNUmakefile (NCSB_OTFS): remove old ncsb detection further.
4269
4270         * configure.in (LINK_GXX_STATICALLY): fix for ncsb detection.
4271
4272         * lily/include/constrained-breaking.hh: GCC 4 fix.
4273
4274 2006-05-04  Joe Neeman  <joeneeman@gmail.com>
4275
4276         * lily/simple-spacer.cc: Remove class Simple_spacer_wrapper.
4277         Replace it with functions get_line_forces and get_line_configuration.
4278         (class Simple_spacer): Make data private.
4279         Rewrite compression algorithm to be faster and simpler.
4280
4281         * lily/simple-spacer-scheme.cc (ly_solve_rod_and_spring_problem):
4282         * lily/gourlay-breaking.cc (solve):
4283         * lily/constrained_breaking.cc (space_line):
4284         Change it to the new simple-spacer code.
4285
4286         * lily/paper-score.cc (get_paper_systems):
4287         (Paper_score):
4288         (process):
4289         Delay breaking the systems until they are requested.
4290         (find_break_indices):
4291         Use vsize for indices.
4292         (calc_breaking):
4293         Move the "Calculating line breaks" message here.
4294
4295         * lily/system.cc (pre_processing):
4296         Move the "Calculating line breaks" message away from here.
4297         (break_into_pieces):
4298         Allow multiple calls to this function in sequence (with touching-but-
4299         not-overlapping breakpoints).
4300
4301         * lily/constrained-breaking.cc:
4302         Replace most of the get_XXXX functions with get_line_details.
4303         Only calculate the force for each line. Calculate configurations only
4304         for the lines we will actually use.
4305         Replace cols_ with lines_.
4306
4307 2006-05-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4308
4309         * mf/GNUmakefile (depth): remove FC_FIND.
4310
4311         * config.make.in (NCSB_SOURCE_FILES): subst NCSB_SOURCE_FILES
4312
4313         * configure.in (LINK_GXX_STATICALLY): call fc-match from within configure.
4314
4315         * scm/framework-ps.scm (write-preamble): new function.
4316         (write-preamble): load mac fonts via fondu, even if gs-font-load
4317         is set.
4318
4319 2006-05-03  Werner Lemberg  <wl@gnu.org>
4320
4321         * mf/GNUmakefile (FC_FIND): Fix typo.
4322
4323 2006-05-03  Erlend Aasland  <erlenda@gmail.com>
4324
4325         * stepmake/stepmake/generic-targets.make (cvs-clean): also remove out-www dirs.
4326
4327 2006-05-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
4328
4329         * stepmake/aclocal.m4: run python-config for crosscompiling
4330         flags. 
4331
4332         * scripts/lilypond-book.py (Lilypond_file_snippet.my_system): add
4333         -f png for HTML, TEXINFO formats. 
4334
4335         * input/tutorial/lbook-html-test.html: new file.
4336
4337         * lily/include/tie-formatting-problem.hh (class
4338         Tie_formatting_problem): index Chord_outline_map by Tuple2 for
4339         [column, direction]. This fixes laissez vibrer ties.
4340  
4341         * flower/include/tuple.hh (struct Tuple2): new file.
4342
4343         * mf/GNUmakefile (FC_FIND): new function. Find ncsb using
4344         $(FCMATCH), only if $(NCSB_DIR) not set. 
4345
4346         * configure.in (LINK_GXX_STATICALLY): only warn if $NCSB_DIR set.
4347
4348         * config.make.in (DOCUMENTATION): set FCMATCH.  
4349
4350         * autogen.sh (srcdir): don't set --with-ncsb-dir. 
4351
4352 2006-05-03  Graham Percival  <gpermus@gmail.com>
4353
4354         * Documentation/user/ various: final round of reorg.
4355
4356         * Documentation/user/instrument-notation.itely: some more
4357         fixes from Eduardo, thanks!
4358
4359 2006-05-02  Han-Wen Nienhuys  <hanwen@lilypond.org>
4360
4361         * VERSION (PACKAGE_NAME): release 2.9.3
4362
4363         * flower/file-path.cc (is_dir): canonicalize file name before stat'ing.
4364
4365         * lily/relocate.cc (framework_relocation): remove old relocation stuff.
4366
4367 2006-05-01  Mats Bengtsson  <mabe@s3.kth.se>
4368
4369         * scm/define-grob-properties.scm (all-user-grob-properties):
4370         Correct typo, thanks to Eduardo.
4371
4372 2006-05-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
4373
4374         * scripts/GNUmakefile (SEXECUTABLES): remove lilypond-ps2png.scm
4375
4376         * buildscripts/lilypond-words.py (F): indent fix.
4377
4378         * input/regression/tie-arpeggio-collision.ly: new file.
4379
4380         * lily/tie-formatting-problem.cc (set_column_chord_outline): new
4381         function: store outlines per column rank.
4382
4383         * lily/include/tie-configuration.hh (class Tie_configuration): add
4384         column_ranks_ to specification and configuration, to distinguish
4385         between ties for different heads in arpegiated chords.
4386
4387         * lily/relocate.cc (framework_relocation): use INSTALLER_PREFIX.
4388
4389         * *.py: more 4 space indents.
4390
4391         * autogen.sh (conf_flags): set sensible default for with-ncsb-dir
4392
4393 2006-05-01  Joe Neeman  <joeneeman@gmail.com>
4394
4395         * scm/lily-library.scm: Fix guile 1.6 compatibility in inf? and nan?
4396
4397 2006-05-01  Han-Wen Nienhuys  <hanwen@lilypond.org>
4398
4399         * buildscripts/pfx2ttf.fontforge (err): create OTF files.
4400
4401         * scripts/abc2ly.py (dump_score): indent of 4 for python code. 
4402
4403         * configure.in (LINK_GXX_STATICALLY): remove locate() call.
4404
4405 2006-04-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4406
4407         * python/convertrules.py (conv): indent 4 for python files.
4408
4409 2006-04-29  Mats Bengtsson  <mabe@s3.kth.se>
4410
4411         * Documentation/user/changing-defaults.itely (Creating contexts):
4412         Clarify \new semantics.
4413
4414 2006-04-28  Graham Percival  <gpermus@gmail.com>
4415
4416         * Documentation/user/ various: major new sections in the
4417         Learning manual, slight reorg elsewhere.
4418
4419 2006-04-27  Han-Wen Nienhuys  <hanwen@lilypond.org>
4420
4421         * mf/GNUmakefile (MFTRACE_FLAGS): add $(outdir) to $(ENCODING_FILE) 
4422
4423         * scm/framework-ps.scm (output-framework): remove PageMedia
4424
4425 2006-04-27  Graham Percival  <gpermus@gmail.com>
4426
4427         * Documentation/user/ tweaks.itely, working.itely: new
4428         files, being more advanced "learning manual" chapters.
4429
4430         * Documentation/user/ tutorial, putting, lilypond: reorg.
4431
4432 2006-04-26  Graham Percival  <gpermus@gmail.com>
4433
4434         * input/regression/lyric-combine-polyphonic.ly: fixed test
4435         (no more "can't find context `one'" error).
4436
4437 2006-04-25  Joe Neeman <joeneeman@gmail.com>
4438
4439         * lily/stem-tremolo.cc (print): fix whole note tremolo placement
4440
4441         * input/regression/stem-tremolo.ly: add 2 more whole note examples
4442         
4443 2006-04-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4444
4445         * lily/relocate.cc (read_relocation_dir): new function.
4446
4447 2006-04-26  Graham Percival  <gpermus@gmail.com>
4448
4449         * Documentation/user/instrument-notation.itely: a few more fixes
4450         from Eduardo, thanks!
4451
4452         * Documentation/user/README.txt: new file; contains info on
4453         style that used to be in lilypond.tely.
4454
4455         * Documentation/user/ various: first round of doc reorg.
4456
4457         * Documentation/user/baer-flat-bw.png: remove alpha bit from
4458         graphic; this probably causes problems on some pdf
4459         viewers, notably Adobe Acrobat.
4460
4461 2006-04-24  Graham Percival  <gpermus@gmail.com>
4462
4463         * Documentation/user/instrument-notation.itely: many alterations
4464         to Vocal music, from Eduardo Viera.
4465
4466 2006-04-23  Graham Percival  <gpermus@gmail.com>
4467
4468         * Documentation/user/instrument-notation.itely: fix \new
4469         instead of \context problem.
4470
4471 2006-04-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4472
4473         * lily/relocate.cc (expand_environment_variables): new function.
4474         (read_line): id.
4475         (read_relocation_file): id.
4476
4477         * scm/stencil.scm (eps-file->stencil): fix EPS PS embedding code 
4478
4479 2006-04-21  Erlend Aasland  <erlenda@gmail.com>
4480
4481         * ly/engraver-init.ly: remove old comments from TabVoice
4482
4483 2006-04-20  Graham Percival  <gpermus@gmail.com>
4484
4485         * Documentation/user/instrument-notation.itely: added Erlend's
4486         latest doc patch, thanks!
4487
4488 2006-04-19  Erlend Aasland <erlenda@gmail.com>
4489
4490         * lily/include/slur.hh:
4491         * lily/slur.cc:
4492         * lily/phrasing-slur-engraver.cc:
4493         * lily/slur-engraver.cc: Fix 'cut & paste' code by merging
4494         acknowledge_extra_object () from Phrasing_slur_engraver:: and
4495         Slur_engraver:: and putting it in
4496         Slur::auxiliary_acknowledge_extra_object ().
4497
4498         * ps/music-drawing-routines.ps (draw_dashed_slur): fix another bug
4499
4500         * lily/note-collision.cc: fix a comment
4501
4502 2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>
4503
4504         * stepmake/bin/add-html-footer.py: fix footer position in
4505         generated html files: before </body> and </html> tags.
4506
4507 2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>
4508
4509         * scripts/GNUmakefile: revert last "fix", which rather broke make.
4510         Earlier successive `make' commands finally compiled ok.
4511
4512         * Documentation/topdocs/INSTALL.texi: require mftrace 1.1.19.
4513
4514 2006-04-18  Erlend Aasland <erlenda@gmail.com>
4515
4516         * lily/include/stem-tremolo.hh:
4517         * lily/stem-tremolo.cc: move rotated_box () to Lookup:: and update
4518         callers.
4519
4520         * lily/lookup.cc:
4521         * lily/include/lookup.hh: add rotated_box ()
4522
4523 2006-04-18  Heikki Junes  <hjunes@cc.hut.fi>
4524
4525         * scripts/GNUmakefile: bugfix: run help2man only after scripts have 
4526         been generated. Fixes "can't get `--help'" bug after make clean.
4527
4528         * THANKS: alphabetize contributors.
4529
4530 2006-04-17  Graham Percival  <gpermus@gmail.com>
4531
4532         * Documentation/user/instrument-notation.itely: added Erlend's
4533         tabs and banjo doc patch.  Thanks!
4534
4535 2006-04-17  Erlend Aasland  <erlenda@gmail.com>
4536
4537         * scm/define-grobs.scm: fix stem-attachment for tablature note heads.
4538
4539         * ps/music-drawing-routines.ps (draw_dashed_line): fix dash pattern bug.
4540
4541         * scm/output-lib.scm: add some more predefined string tunings.
4542
4543         * Documentation/user/instrument-notation.itely: and doc them.
4544
4545 2006-04-16  Jürgen Reuter  <reuter@ipd.uka.de>
4546
4547         * ly/engraver.ly: Remove obsolete comments.
4548
4549         * ly/gregorian-init.ly: Define default layout block.
4550
4551         * input/puer-fragment.ly: Updated and extended.
4552
4553 2006-04-15  Jan Nieuwenhuizen  <janneke@gnu.org>
4554
4555         * lily/lily-parser-scheme.cc: Use them to fix --output=DIR/BASE
4556         pdf conversion behaviour.
4557
4558         * flower/file-name.cc (dir_name)
4559         (get_working_directory): Move from relocate.cc.
4560
4561         * lily/relocate.cc (setup_paths): Remove rogue stat calls.
4562         
4563         * lily/relocate.cc: Encapsulate sys/stat.h in
4564         HAVE_STAT_H.
4565
4566 2006-04-14  Graham Percival  <gpermus@gmail.com>
4567
4568         * Documentation/user/ various: small updates from Cameron
4569         and Juergen, thanks!
4570
4571         * Documentation/user/ various: small updates of my own.
4572
4573         * THANKS: 2.7 -> 2.8.
4574
4575 2006-04-11  Graham Percival  <gpermus@gmail.com>
4576
4577         * scm/define-context-properties.scm: typo.
4578
4579         * Documentation/user/ : many more small updates.
4580
4581 2006-04-13  Jürgen Reuter  <reuter@ipd.uka.de>
4582
4583         * scm/define-music-types.scm: disposed "docme".
4584
4585 2006-04-11  Erlend Aasland  <erlenda@gmail.com>
4586
4587         * lily/hairpin.cc: make niente circles a bit smaller.
4588
4589 2006-04-10  Erlend Aasland  <erlenda@gmail.com>
4590
4591         * mf/GNUmakefile: remove redundant mftrace check. Also remove
4592         get-pfa and get-*-fonts targets.
4593
4594 2006-04-10  Graham Percival  <gpermus@gmail.com>
4595
4596         * THANKS, Documentation/user/ basic-notation, advanced-notation,
4597         music-glossary, programming-interface: more minor fixes
4598         from mailist.
4599
4600         * scm/define-grob-properties.scm: clarified direction, thanks Mats!
4601
4602         * scm/define-context-properties.scm: another old \property update.
4603         This time tested for compiling!
4604
4605 2006-04-10  Erlend Aasland  <erlenda@gmail.com>
4606
4607         * mf/GNUmakefile: fix for mftrace version >= 1.2.0
4608
4609 2006-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>
4610
4611         * scm/define-context-properties.scm (all-user-translation-properties): 
4612         * Documentation/user/global.itely (Page formatting): Compile fix.
4613
4614 2006-04-09  Mats Bengtsson  <mabe@s3.kth.se>
4615
4616         * Documentation/user/advanced-notation.itely (Polymetric
4617         notation): Update the example to use the "+" symbol and add link
4618         to input/test/compound-time.ly.
4619
4620 2006-04-08  Graham Percival  <gpermus@gmail.com>
4621
4622         * scm/define-grob-properties.scm: clarify docs for #'direction.
4623
4624         * scm/define-context-properties.scm: update old \property override.
4625
4626         * Documentation/user/ advanced-notation, global, lilypond-book:
4627         more minor doc updates.
4628
4629 2006-04-07  Han-Wen Nienhuys  <hanwen@lilypond.org>
4630
4631         * lily/parser.yy (Generic_prefix_music_scm): append lists, not objects.
4632
4633         * scm/backend-library.scm (search-gs): oops.
4634
4635 2006-04-06  Han-Wen Nienhuys  <hanwen@lilypond.org>
4636
4637         * scripts/lilypond-book.py (output): use base, not filename for href.
4638
4639         * scm/backend-library.scm: only look for gs.
4640
4641         * scripts/lilypond-book.py (output): fix printfilename.
4642
4643         * lily/parser.yy (music_function_musicless_prefix): fold together
4644         definitions of signature (SCM*) (Music|post_event|chord_body_element)
4645
4646         * lily/slur.cc (print): only set font-size if not set yet.
4647
4648         * lily/slur-configuration.cc (add_score): improved layout of debug
4649         scoring output.
4650
4651 2006-04-05  David Feuer  <David.Feuer@gmail.com>
4652
4653         * music-drawing-routines.ps (draw_round_box): removed testing artifact.
4654         (draw_circle): Hopefully fixed regression.
4655         Improved documentation for several procedures.
4656         
4657 2006-03-04  Werner Lemberg  <wl@gnu.org>
4658
4659         * ly/engraver-init.ly (\Score): Add beam-event to quotedEventTypes.
4660
4661 2006-04-05  Han-Wen Nienhuys  <hanwen@lilypond.org>
4662
4663         * scripts/musicxml2ly.py (bindir): add dynamic
4664         relocation. 
4665
4666 2006-04-04  Graham Percival  <gpermus@gmail.com>
4667
4668         * Documentation/user/ basic-notation, advanced-notation, putting,
4669         instrument-notation, invoking, lilypond, THANKS: another ream of small
4670         fixes from the Doc Helpers.
4671
4672 2006-04-03  David Feuer  <David.Feuer@gmail.com>
4673
4674         * music-drawing-routines.ps: remove superfluous gsave/grestore pairs.
4675
4676         * lilyponddefs.ps (set-ps-scale-to-lily-scale): Fixed code duplication.
4677
4678         * Cleaned up interfaces between PostScript and Scheme, and moved
4679         computations from PostScript to Scheme:
4680
4681         * music-drawing-routines.ps
4682         (*SF, stroke_and_fill): new procedures.  Replaced stroke and fill
4683         with stroke_and_fill throughout.
4684         (euclidean_length, print_letter, draw_box): Deleted unused
4685         procedures.  If someone needs draw_box, implement it using
4686         draw_round_box; don't duplicate code.
4687         (print_glyphs, draw_round_box, draw_polygon, draw_repeat_slash):
4688         Refactored/cleaned up interfaces.
4689         (mark_URI): Moved.
4690
4691         * output-ps.scm: reordered arguments to PostScript functions to
4692         match new interfaces
4693         (glyph-string): Rewrote glyph-string.
4694         (grob-cause): Replaced string-append with format.
4695         (repeat-slash): Rewrote to do computation here.
4696         (round-filled-box): Rewrote to do computation here.
4697
4698 2006-04-04  Erlend Aasland  <erlenda@gmail.com>
4699
4700         * stepmake/stepmake/generic-targets.make: add cvs-clean target
4701
4702         * stepmake/stepmake/toplevel- targets.make: print help info about
4703         cvs-clean
4704
4705 2006-04-03  Erlend Aasland  <erlenda@gmail.com>
4706
4707         * input/regression/hairpin-circled.ly: new file
4708
4709 2006-04-03  Erlend Aasland  <erlenda@gmail.com>
4710
4711         * lily/hairpin.cc (print): add support for circled tip
4712
4713         * scm/define-grob-properties.scm: add circled-tip parameter
4714
4715         * scm/define-grobs.scm: init circled-tip to false
4716         
4717 2006-04-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
4718
4719         * scm/music-functions.scm (quote-substitute): set
4720         iterators-ctor. 
4721
4722 2006-03-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
4723
4724         * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): set
4725         BSTINPUTS. 
4726
4727         * Documentation/topdocs/AUTHORS.texi (Top): add David Feuer.
4728
4729         * scm/output-ps.scm (glyph-string): revert cid selectfont.
4730
4731 2006-03-31  David Feuer  <david.feuer@gmail.com>
4732         
4733         * scm/framework-ps.scm:
4734         
4735         * scm/output-ps.scm: glyph-string now produces smaller, more
4736         readable, and probably faster PostScript.  Several findfont
4737         scalefont setfont instances changed to selectfont
4738         Hacked-up string-appends changed to formats.
4739
4740         * ps/music-drawing-routines.ps: add print_letter, print_glyphs.
4741         
4742 2006-03-30  Graham Percival  <gpermus@gmail.com>
4743
4744         * scm/lily-library.scm: make "no version" warning message more polite.
4745
4746         * lily/music.cc: add double quotes to failed octave check.
4747
4748         * Documentation/user/ advanced-notation, changing-defaults,
4749         instrument-notation, invoking, music-glossary: whole bunch of minor
4750         fixes from mailist.
4751
4752 2006-03-31  Han-Wen Nienhuys  <hanwen@lilypond.org>
4753
4754         * Documentation/bibliography/GNUmakefile ($(outdir)/%.html): use
4755         $(buildscriptdir) iso. depth.
4756
4757         * VERSION (PACKAGE_NAME): release 2.9.1
4758
4759 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
4760
4761         * lily/pango-font.cc (pango_item_string_stencil): more robustness.
4762
4763         * VERSION (PATCH_LEVEL): bump version number.
4764
4765         * flower/include/guile-compatibility.hh (scm_from_uint32): add
4766         scm_from_uint32 ()
4767
4768         * lily/pango-font.cc (pango_item_string_stencil): use
4769         scm_from_uint32 ()
4770
4771         * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
4772         $(outdir)/emmentaler-%.svg): remove canary.
4773
4774         * lily/pango-font.cc (pango_item_string_stencil): only use uXXX
4775         glyphnames if we have a ttf font.
4776
4777 2006-03-30  Mats Bengtsson  <mabe@s3.kth.se>
4778
4779         * Documentation/user/advanced-notation.itely (Font selection):
4780         Corrected reference to the font-family-override.ly example.
4781
4782 2006-03-30  Joe Neeman  <joeneeman@gmail.com>
4783         
4784         * lily/chord-tremolo-engraver.cc (acknowledge_stem): set the
4785         stem-tremolo object in the stem (or else the stem might not be
4786         long enough).
4787
4788 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
4789
4790         * lily/ttf.cc (print_trailer): only print existing glyphs.
4791
4792 2006-03-30  Joe Neeman  <joeneeman@gmail.com>
4793
4794         * lily/stem-tremolo.cc (print): for whole notes (and breves, etc.)
4795         position the tremolo based on the position of the notehead.
4796
4797         * input/regression/stem-tremolo.ly: add example of unbeamed eighth
4798         notes and update the texidoc line with the new positioning rules.
4799         
4800 2006-03-30  Han-Wen Nienhuys  <hanwen@lilypond.org>
4801
4802         * lily/ttf.cc (print_trailer): don't always use uXXX glyphname.
4803
4804         * scripts/lilypond-book.py (Module): set default for linewidth if
4805         preamble not found.
4806
4807 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
4808
4809         * VERSION (PACKAGE_NAME): release 2.9.0.
4810
4811         * input/regression/stem-tremolo-position.ly: new file.
4812
4813         * lily/stem-tremolo.cc: remove Stem_tremolo::dim_callback
4814
4815 2006-03-28  Joe Neeman  <joeneeman@gmail.com>
4816
4817         * lily/stem-tremolo.cc (print): position
4818         the tremolo depending only on the end of the stem
4819         and not on the notehead
4820         (raw_stencil): center, on the middle staff line, the
4821         flag that is closest to the end of the stem (previously
4822         the bottom flag)
4823         (calc_width): add this callback to shorten a tremolo when
4824         it is beamed or it is stemup with a flag
4825         (style): add this callback to make a tremolo rectangular when
4826         it is beamed or it is stemup with a flag
4827         (rotated_box): this is like Lookup::beam but makes a rotated
4828         rectangle instead of a parallelogram
4829
4830         * lily/stem.cc (calc_stem_info): make sure the stem
4831         is long enough to fit the tremolo
4832         (calc-length): reduce the length of tremolo stems since the
4833         tremolo code is now capable of better positioning
4834
4835         * scm/define-grobs.scm: make calc_width the default beam-width
4836         callback for stem-tremolo and add the style callback
4837                 
4838 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
4839
4840         * lily/tuplet-bracket.cc (calc_control_points): handle suicide
4841         case. 
4842
4843 2006-03-29  Han-Wen Nienhuys  <hanwen@lilypond.org>
4844
4845         * lily/ttf.cc (make_index_to_charcode_map): restore old
4846         cmap. 
4847
4848 2006-03-28  Werner Lemberg  <wl@gnu.org>
4849
4850         * lily/pango-font.cc (get_unicode_name): Fix `uXXXXX' glyph names.
4851
4852 2006-03-28  Graham Percival  <gpermus@gmail.com>
4853
4854         * THANKS: update for 2.9, add section for Documentation helpers.
4855
4856         * Documentation/topdocs/NEWS.tely: compile fix.
4857
4858         * Documentation/user/ basic-notation, global, advanced-notation,
4859         examples.itely: minor fixes from mailist.
4860
4861 2006-03-28  Han-Wen Nienhuys  <hanwen@lilypond.org>
4862
4863         * mf/feta-bolletjes.mf: match width of solfa notes with normal
4864         note heads. 
4865
4866         * lily/ttf.cc (print_trailer): use it.
4867
4868         * lily/pango-font.cc (get_unicode_name): new function.
4869
4870         * lily/ttf.cc (make_index_to_charcode_map): move function from
4871         open-type-font.cc
4872         (print_trailer): substitute uniXXXX name if applicable. 
4873
4874         * lily/pango-font.cc (get_index_to_charcode_map): new function.
4875         (pango_item_string_stencil): use it to generate uniXXXX names.
4876
4877         * mf/feta-bolletjes.mf (overdone_heads): add small style (ugly)
4878         note heads, for uniform widths in shape note output.
4879         (overdone_heads): hmm. remove them again.
4880
4881         * scripts/lilypond-book.py (output): add links to filenames.
4882
4883         * Documentation/topdocs/INSTALL.texi (Top): update versions.
4884
4885         * lily/note-collision.cc (get_clash_groups): only consider when
4886         Note_column::dir <> CENTER. 
4887
4888         * scripts/lilypond-book.py (get_option_parser): init output_name
4889         to ''. 
4890
4891 2006-03-24  Graham Percival  <gpermus@gmail.com>
4892
4893         * Documentation/topdocs/NEWS.tely: add @end itemize
4894
4895         * Documentation/user/ global, advanced-notation: minor
4896         stuff from mailist.
4897
4898 2006-03-23  Graham Percival  <gpermus@gmail.com>
4899
4900         * Documentation/user/ lilypond.tely, music-glossary,
4901         preface: housekeeping; 2005->2006, remove "notes for 2.6"
4902
4903 2006-03-23  Han-Wen Nienhuys  <hanwen@lilypond.org>
4904
4905         * mf/GNUmakefile: don't install .enc files.
4906
4907         * Documentation/topdocs/NEWS.tely: clear for 2.9 cycle.
4908
4909         * VERSION (PATCH_LEVEL): bump to 2.9.0
4910
4911 2006-03-22  Graham Percival  <gpermus@gmail.com>
4912
4913         * Documentation/user/advanced-notation.itely: minor fixes
4914         from mailist.
4915
4916 2006-03-22  Han-Wen Nienhuys  <hanwen@lilypond.org>
4917
4918         * Documentation/topdocs/AUTHORS.texi (Top): add Joe Neeman.
4919
4920         * branch lilypond_2_8
4921
4922 2006-03-22  Han-Wen Nienhuys  <lilydev@localhost.localdomain>
4923
4924         * scripts/lilypond-book.py (samefile): new function, for windoze
4925         compatibility.
4926
4927 2006-03-21  Graham Percival  <gpermus@gmail.com>
4928
4929         * ly/engraver-init.ly: add info about StaffGroup.
4930
4931 2006-03-21  Han-Wen Nienhuys  <lilydev@localhost.localdomain>
4932
4933         * input/regression/stem-direction-context.ly: idem.
4934
4935         * Documentation/topdocs/NEWS.tely (Top): fix interpolation example.
4936
4937         * THANKS: add Mats.
4938
4939         * input/regression/page-layout-twopass.ly: comment out \markup so
4940         tweak-file is left.
4941
4942         * lily/instrument-name-engraver.cc (finalize): add to instrument
4943         name global System. This also fixes chopped instrument names, but
4944         doesn't crash when there are slurs/beams.
4945
4946         * lily/slur-configuration.cc (add_score): disallow negative slur
4947         scores.
4948         
4949 2006-03-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4950
4951         * scm/framework-ps.scm (dump-stencil-as-EPS): remove debugging code.
4952
4953         * lily/instrument-name-engraver.cc (process_music): kludge: add
4954         InstrumentName spanner to axis group of left bound. Fixes chopped
4955         off instrument names in EPS images.
4956
4957         * input/regression/lyric-hyphen-retain.ly: elaborate explanation.
4958
4959         * scripts/abc2ly.py (option_parser): update to 2.7.40
4960
4961 2006-03-20  Graham Percival  <gpermus@gmail.com>
4962
4963         * THANKS: move small doc contributors to SUGGESTIONS.
4964
4965         * Documentation/user/ basic-notation, advanced-notation,
4966         global: small changes from mailist.
4967
4968 2006-03-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
4969
4970         * Documentation/user/advanced-notation.itely (Text marks): update
4971         for new rehearsalMarkAlignSymbol convention.
4972
4973         * VERSION (PATCH_LEVEL): bump version.
4974
4975         * input/test/instrument-name-align.ly: new file.
4976
4977         * scm/define-markup-commands.scm (hcenter-in): add hcenter-in.
4978
4979         * input/test/instrument-name-align.ly: new file. Document how to
4980         align instrument names.
4981
4982         * lily/mark-engraver.cc: remove properties.
4983
4984         * scm/define-context-properties.scm
4985         (all-user-translation-properties): remove align symbol properties
4986         for barnumber/reh. mark.
4987
4988         * lily/break-align-interface.cc (self_align_callback): new
4989         interface, new function. Look at complete alignment. This handles
4990         tunable break alignments in case break-align-symbols are missing.
4991
4992         * lily/bar-number-engraver.cc (acknowledge_break_alignment): new function
4993
4994         * lily/mark-engraver.cc (acknowledge_break_alignment): new function.
4995
4996         * python/convertrules.py (conv): mark/bar number alignment rule.
4997
4998         * lily/break-align-interface.cc (calc_positioning_done): also
4999         store offset from last visible break-alignment to its
5000         neighbor. This makes alignment on non-visible objects more reliable.
5001
5002         * po/lilypond.pot (Module): ran po-replace.
5003
5004         * input/regression/tie-single-manual.ly (Module): new file.
5005
5006         * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
5007         look at has_manual_position_.
5008         (from_ties): set has_manual_position_ if tie has staff-position set.
5009
5010         * lily/tuplet-bracket.cc (calc_positions): idem.
5011
5012         * lily/tuplet-number.cc (print): don't print tupletnumber if it
5013         doesn't span time.
5014
5015 2006-03-19  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5016
5017         * scm/define-markup-commands.scm (smallCaps): new markup command
5018         for turning a text to small caps using smaller font size and upper
5019         casing.
5020
5021 2006-03-17  Graham Percival  <gpermus@gmail.com>
5022
5023         * Documentation/user/ examples, instrument-notation,
5024         advnaced-notation: minor fixes from mailist.
5025
5026 2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5027
5028         * Documentation/user/tutorial.itely (First steps): change example
5029         to verbatim.  
5030
5031 2006-03-17  Graham Percival  <gpermus@gmail.com>
5032
5033         * Documentation/user/ examples, advanced: minor changes from mailist.
5034
5035         * THANKS: add Geoff Horton, for documentation stuff.
5036
5037 2006-03-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5038
5039         * python/lilylib.py (system): revert have_select kludge.
5040
5041         * Documentation/user/tutorial.itely (Commenting input files):
5042         update version numbers in doc. 
5043
5044         * scm/define-grob-interfaces.scm (multi-measure-interface): add
5045         bound-padding to multi-measure-interface
5046
5047 2006-03-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5048
5049         * input/test/engraver-example.ily: update version number.
5050
5051         * VERSION (PACKAGE_NAME): release 2.7.39
5052
5053         * lily/note-spacing.cc (get_spacing): heighten threshold where
5054         accidentals/arpeggios influence previous spacing fully.
5055
5056         * lily/rest.cc (y_offset_callback): only use direction if
5057         staff-position wasn't set before.
5058
5059         * lily/bar-number-engraver.cc: add support for
5060         barNumberAlignSymbol. 
5061         add ADD_ACKNOWLEDGER() call for break_aligned. Fixes bar-number-breathe
5062
5063         * lily/pointer-group-interface.cc (set_ordered): new function. 
5064         (add_unordered_grob): new function.
5065
5066         * lily/grob-array.cc (Grob_array): grob-arrays are always assumed
5067         to ordered, unless the opposite has been proved.  This fixes
5068         random reordering of large object groups across linebreaks,
5069         eg. beams.
5070
5071         * lily/main.cc (do_chroot_jail): printf format fix.
5072
5073         * lily/tie-formatting-problem.cc (generate_configuration):
5074         multiply y-shift for dot with direction.
5075  
5076         * scm/define-markup-commands.scm (note-by-number): put (magstep
5077         size) in y-attach too.
5078
5079         * Documentation/topdocs/NEWS.tely (Top): show override.
5080
5081         * scm/define-grobs.scm (all-grob-descriptions): reinstate neutral
5082         direction for stems.
5083         
5084 2006-03-15  Graham Percival  <gpermus@gmail.com>
5085
5086         * Documentation/user/ changing-defaults, global: minor
5087         fixes from mailist.
5088
5089 2006-03-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5090
5091         * lily/lexer.ll (Lily_lexer): bump required version to 2.7.38
5092
5093         * lily/spacing-spanner.cc (musical_column_spacing): crude fix for
5094         breakable items after uniformly stretched notes.
5095
5096         * lily/tie-formatting-problem.cc (set_chord_outline): initialize
5097         outline with outer edge of note heads. This prevents infinity
5098         problems with tied whole notes.
5099
5100         * scripts/lilypond-book.py (do_file): use os.popen
5101
5102         * python/convertrules.py (conv): add rule for Stem #'beamed-*
5103
5104 2006-03-14 Erik Sandberg  <mandolaerik@gmail.com>
5105
5106         * Documentation/user/invoking.itely: Add ragged-right to bug report
5107         guidelines.
5108
5109 2006-03-14  Graham Percival  <gpermus@gmail.com>
5110
5111         * Documentation/user/global.itely: small fix from mailist.
5112
5113 2006-03-14  Mats Bengtsson  <mabe@s3.kth.se>
5114
5115         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use the
5116         file descriptor returned by tempfile.mkstemp() when writing
5117         to tmpfile and closing it. Solves problem with unlink(tmpfile)
5118         on mingw.
5119
5120 2006-03-14  Jan Nieuwenhuizen  <janneke@gnu.org>
5121
5122         * po/fi.po: newline bugfix.
5123
5124 2006-03-12  Jan Nieuwenhuizen  <janneke@gnu.org>
5125
5126         * scm/paper.scm (paper-alist): Rounding fixes.
5127
5128 2006-03-13  Graham Percival  <gpermus@gmail.com>
5129
5130         * Documentation/user/ changing-defaults, instrument-notation,
5131         tutorial: small fixes from mailist, mostly from Mats.  Thanks!
5132
5133 2006-03-13 Heikki Junes  <hjunes@cc.hut.fi>
5134
5135         * po/fi.po: update.
5136
5137 2006-03-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5138
5139         * stepmake/bin/add-html-footer.py (mail_address_url): don't add
5140         mailto: to http:// 
5141
5142         * python/lilylib.py (print_environment): move ps_page_count to
5143         lilypond-book.py
5144
5145 2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5146
5147         * Documentation/user/music-glossary.tely (G clef): fix clef alignments.
5148
5149         * scm/framework-ps.scm (embed-document): new function. Use to
5150         embed PFA files.
5151
5152         * ly/engraver-init.ly: init rehearsalMarkAlignSymbol to staff-bar.
5153
5154 2006-03-12  Mats Bengtsson  <mabe@s3.kth.se>
5155
5156         * Documentation/user/instrument-notation.itely (Setting simple
5157         songs): Added \book{...} around the full example, so the separate
5158         markups are included in the printed example. 
5159
5160 2006-03-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5161
5162         * scripts/lilypond-book.py (get_latex_textwidth): explicitly close
5163         tmphandle.
5164
5165         * python/lilylib.py (system): rewrite system() using
5166         subprocess. Remove >& redirection trickery.
5167
5168 2006-03-11  Graham Percival  <gpermus@gmail.com>
5169
5170         * Documentation/user/ changing-defaults, global, scheme-tutorial,
5171         notation-appendices.itely: minor fixes from mailist.
5172
5173 2006-03-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5174
5175         * Documentation/user/GNUmakefile ($(outdir)/lilypond.html):
5176         unsplit man also needs images.
5177
5178         * tex/texinfo.tex (sectionheading, q.v.): relax after \char'15.
5179
5180         * VERSION (PACKAGE_NAME): 2.7.38 released.
5181
5182 2006-03-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5183
5184         * scripts/lilypond-book.py (get_latex_textwidth): look for latex
5185         log in output dir.
5186
5187 2006-03-08  Johannes Schindelin  <Johannes.Schindelin@gmx.de>
5188
5189         * lily/audio-column.cc, lily/score-performer.cc: MIDI output now
5190         respects the Score.skipTypesetting property.
5191         
5192 2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5193
5194         * scm/framework-ps.scm (ps-embed-cff): no Setup section in
5195         Prolog. No %%EOF after CFF file.
5196
5197 2006-03-08  Joe Neeman  <joeneeman@gmail.com>
5198         
5199         * lily/constrained-breaking.cc (get_max_systems): used to return a
5200         much too big value
5201         (combine_demerits): use pointers to reduce copying data
5202         (calc_subproblem): idem
5203         (get_page_penalty): add page turn penalties
5204         
5205 2006-03-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5206
5207         * Documentation/user/invoking.itely (Invoking lilypond): better
5208         explanation of -e usage.
5209
5210         * lily/main.cc (main_with_guile): don't append to
5211         init_scheme_code_string
5212
5213         * tex/texinfo.tex (sectionheading, q.v.): don't center @image.
5214
5215         * Documentation/user/invoking.itely: add note about MacOS X scripts.
5216
5217         * scripts/convert-ly.py (do_options): don't print help for
5218         --show-rules rule.
5219
5220         * tex/texinfo.tex: patch texinfo.tex to leave single quotes in
5221         @code and @example. Update from texinfo.tex from CVS.
5222
5223 2006-03-08  Graham Percival  <gpermus@gmail.com>
5224
5225         * Documentation/user/scheme-tutorial.itely: clarifies distances
5226         measured in staff-spaces.
5227
5228 2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5229
5230         * lily/slur.cc (outside_slur_callback): only calculate offsets if
5231         consider[k] is true.
5232
5233         * scm/output-ps.scm (grob-cause): put numbers to ~$ (Thanks Johannes!)
5234
5235         * lily/spacing-basic.cc (standard_breakable_column_spacing): also
5236         consider columns that have originals.  Unifies spacing for mm
5237         rests around line breaks.
5238
5239         * lily/multi-measure-rest.cc (set_spacing_rods): read bound-padding.
5240         (set_text_rods): idem.
5241         (calculate_spacing_rods): new function: share code between
5242         set_text_rods and set_spacing_rods.
5243         (set_text_rods): take extents of bounds into account.  
5244
5245 2006-03-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5246
5247         * Documentation/user/basic-notation.itely (Writing music in
5248         parallel): don't use relative.
5249
5250 2006-03-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5251
5252         * ly/music-functions-init.ly (Module): add shiftDurations
5253
5254         * ly/drumpitch-init.ly (drumPitchNames): add tamtam.
5255
5256         * scm/paper.scm (paper-alist): no decimals for Ax paper sizes. 
5257
5258         * ly/engraver-init.ly: init vocalName to nil.
5259
5260 2006-03-05 Erik Sandberg  <mandolaerik@gmail.com>
5261
5262         * scm/music-functions.scm (music->make-music): bugfix,
5263         KeyChangeEvents are now handled correctly.
5264
5265         * scripts/lilypond-book.py: Add --debug option.
5266
5267 2006-03-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5268
5269         * python/lilylib.py: add tempfile.
5270
5271 2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5272
5273         * VERSION (PACKAGE_NAME): release 2.7.37
5274
5275         * python/lilylib.py (ps_page_count): remove make_ps_images().
5276         (ps_page_count): remove mkdir_p
5277         (system): remove cleanup_temp.
5278         (exit): remove lilypond_version_(check)
5279         (error_log): remove pseudo_filter_p
5280         remove read_pipe
5281         remove cp_to_dir
5282         remove identify
5283
5284         * scripts/lilypond-book.py (Lilypond_snippet.compose_ly): don't
5285         use __main__
5286
5287         * lily/accidental-engraver.cc (make_standard_accidental): only add
5288         support for side-axis is X_AXIS. Fixes text-spacing-accidental.ly
5289
5290         * mf/GNUmakefile ($(outdir)/emmentaler-%.otf
5291         $(outdir)/emmentaler-%.svg): rewrite without functions; too many
5292         Make incompatibilities.
5293
5294         * scm/output-ps.scm (grob-cause): replace backslashes by /
5295         (glyph-string): use ~$ for less decimals for glyph-string and grob-cause.
5296
5297 2006-03-02  Jan Nieuwenhuizen  <janneke@gnu.org>
5298
5299         * cygwin/GNUmakefile: Install fixes.
5300
5301         * scripts/GNUmakefile (SEXECUTABLES): Install fix: remove mup2ly.
5302
5303         * lily/note-head.cc (head::get_balltype): Compile fix.
5304
5305         * flower/file-name.cc (dos_to_posix): Flower string fix.
5306
5307 2006-03-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5308
5309         * python/lilylib.py: pychecker cleanups.
5310
5311         * scripts/lilypond-book.py
5312         (Lilypond_snippet.output_print_filename): pychecker cleanups
5313
5314         * scripts/midi2ly.py (Key.dump): pychecker cleanups.
5315
5316         * python/lilylib.py (underscore): remove identify() , warranty()
5317
5318         * ps/music-drawing-routines.ps: change Border routine for GSView
5319         compatibility.
5320
5321         * lily/stem.cc (height): use quantize-positions.  This triggers
5322         set_stem_lengths, so scripts on beamed stems are handled correctly.
5323
5324         * lily/side-position-interface.cc (aligned_side): check if edges
5325         of script are inside staff. Fixes accent of edge of the staff.
5326
5327         * input/regression/staccato-pos.ly: more examples.
5328
5329         * stepmake/aclocal.m4 (depth): fix bashism.
5330
5331         * lily/lyric-combine-music-iterator.cc: move from
5332         new-lyric-combine-iterator.cc
5333         (process): add pending_grace_lyric_ member to delay lyrics on
5334         grace notes.
5335
5336         * lily/system-start-text.cc (print): suicide if we don't have any
5337         elements. Fixes hara kiri'd instrument names.
5338
5339         * scripts/mup2ly.py (Module): remove.
5340
5341 2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5342
5343         * Documentation/user/global.itely (A single music expression):
5344         close @lilypond properly
5345
5346         * lily/volta-bracket.cc (modify_edge_height): change from
5347         after_line_breaking_callback. Suicide last bracket if appropriate.
5348  
5349         * python/lilylib.py: strip getopt support
5350
5351         * scripts/etf2ly.py (do_options): use optparse
5352
5353         * scripts/midi2ly.py: optparse, strip lilylib copy. 
5354
5355         * scripts/abc2ly.py (voices): use optparse.
5356
5357         * stepmake/stepmake/generic-vars.make: new function absdir.
5358
5359         * scripts/convert-ly.py (bindir): use optparse, argv[0] relocation.
5360
5361         * scripts/lilypond-book.py (find_file): use global_options for
5362         include path
5363
5364         * scm/ps-to-png.scm (ps-page-count): prevent null characters
5365         entering C code.
5366
5367 2006-03-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5368
5369         * python/lilylib.py (get_global_option): ughness for extracting
5370         global options from lilylib.
5371         (NonDentedHeadingFormatter.format_heading): move from musicxml2ly
5372
5373         * scripts/lilypond-book.py (get_option_parser): use optparse for
5374         option handling.  Put options in global_options variable.
5375
5376 2006-02-28  Heikki Junes  <hjunes@cc.hut.fi>
5377
5378         * Documentation/index.html.in: clarify.
5379
5380 2006-02-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5381
5382         * scm/layout-page-layout.scm (write-page-breaks): add a
5383         music-system-heights property to the page layout output.
5384
5385         * scm/page.scm (make-page-stencil): take footer into account when
5386         computing the 'space-left page property
5387         (annotate-space-left): take footer into account when annonating
5388         space left.
5389
5390 2006-02-28  Graham Percival  <gpermus@gmail.com>
5391
5392         * Documentation/user/ advanced-notation, global: more (final)
5393         docs for music expressions, removed special fermatas.
5394
5395 2006-02-27  Graham Percival  <gpermus@gmail.com>
5396
5397         * Documentation/user/ basic-notation, global: minor changes
5398         from mailist.
5399
5400 2006-02-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5401
5402         * scm/framework-ps.scm:         
5403         * scm/lily-library.scm (nan?, inf?): Move guile 1.6 compatibility
5404         layer for inf? and nan? from framework-ps to lily-library.
5405
5406 2006-02-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5407
5408         * mf/GNUmakefile ($(outdir)/emmentaler-$(1).otf
5409         $(outdir)/emmentaler-$(1).svg): remove backslashes from define endef.
5410
5411         * buildscripts/substitute-encoding.py (Module): remove file.
5412
5413         * mf/GNUmakefile: more PFA strippage.
5414
5415         * mf/aybabtu.pe.in (i): remove PFAaybabtu generation
5416
5417         * buildscripts/gen-emmentaler-scripts.py (i): remove PFAemmentaler
5418         generation
5419
5420         * scm/framework-ps.scm: remove font name munging.
5421
5422         * Documentation/topdocs/INSTALL.texi (Top): bump GS requirement.
5423
5424 2006-02-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5425
5426         * scm/markup.scm (define-markup-command): change
5427         def-markup-command to define-markup-command
5428
5429         * scm/music-functions.scm (define-music-function): change
5430         def-music-function to define-music-function.
5431
5432         * python/convertrules.py (conv): rules for def-music-function
5433         and def-markup-commands
5434
5435         * Documentation/user/programming-interface.itely,
5436         input/no-notation/display-lily-tests.ly,
5437         input/regression/lily-in-scheme.ly,
5438         input/regression/markup-user.ly,
5439         input/regression/music-function.ly, input/regression/tie-chord.ly,
5440         scm/fret-diagrams.scm, ly/music-functions-init.ly,
5441         ly/gregorian-init.ly: use new macro names (define-music-function,
5442         define-markup-command).
5443
5444 2006-02-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5445
5446         * scripts/lilypond-book.py (main): write Makefile dependencies file. 
5447         (output): add comments to lp-book latex output.
5448
5449         * GNUmakefile.in (footifymail): use gmane address for webpage bug
5450         address.
5451
5452 2006-02-23  Graham Percival  <gpermus@gmail.com>
5453
5454         * Documentation/user/ tutorial, global: minor changes.
5455
5456 2006-02-23  Nicolas Sceaux  <nicolas.sceaux@free.fr>
5457
5458         * mf/GNUmakefile: add '\' in multi-line "define ... endef"
5459         blocks (for make 3.80)
5460
5461         * scm/parser-ly-from-scheme.scm (ly:parse-string-result): add
5462         \notemode so that user should not have to explicitely type it.
5463
5464         * scm/define-music-display-methods.scm: various
5465         fixes (ApplyOutputEvent, ApplyContext; \new, \context and derived
5466         constructs)
5467
5468         * input/no-notation/display-lily-tests.ly: new tests for
5469         \applyOutput and \applyContext
5470
5471 2006-02-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5472
5473         * lily/constrained-breaking.cc: patch by Joe Neeman: "I have
5474         changed it slightly so that the number of systems returned by
5475         solve () will be the same as the last value passed to resize
5476         (). I've also added more documentation, removed casts, fixed style
5477         problems and put in some recovery if constraints aren't satisfied."
5478
5479 2006-02-23  Jan Nieuwenhuizen  <janneke@gnu.org>
5480
5481         * elisp/lilypond-mode.el (count-matches-as-number): New funtion
5482         for emacs < 22 compatibility.
5483         (count-rexp): Use it.
5484         (LilyPond-string-current-midi, LilyPond-string-all-midi): Remove
5485         substring juggling (Milan Zamazal).
5486
5487 2006-02-23  Graham Percival  <gpermus@gmail.com>
5488
5489         * Documentation/user/ basic-notation, advanced-notation,
5490         global.itely, invoking.itely, tutorial,itely:
5491         minor fixes from mailist.
5492
5493         * scm/define-markup-commands.scm: improve docs of \filled-box.
5494
5495 2006-02-23  Heikki Junes  <hjunes@cc.hut.fi>
5496
5497         * Documentation/index.html.in: changes concern the previous release.
5498
5499         * input/regression/+.ly: cultivate typographical terminology.
5500
5501 2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5502
5503         * scm/define-grob-interfaces.scm (parentheses-interface): add
5504         padding to parentheses-interface.
5505
5506         * Documentation/user/GNUmakefile: remove $(CROSS) support from
5507         Documentation/user/GNUmakefile. Use --disable-documentation for that.
5508
5509         * VERSION (PATCH_LEVEL): release 2.7.36
5510
5511         * lily/slur.cc: add avoid-slur (ugh.)
5512         
5513         * lily/slur-configuration.cc (fit_factor): oops, skip point if
5514         intersection gets smaller. This fixes slurs over extreme points.
5515
5516         * lily/melody-engraver.cc (stop_translation_timestep): ignore
5517         stems with neutral-direction set.
5518
5519         * lily/piano-pedal-engraver.cc (create_text_grobs): idem.
5520
5521         * lily/open-type-font.cc (load_table): format error.
5522
5523         * lily/change-iterator.cc (process): format fix.
5524
5525         * flower/include/international.hh (_f): idem.
5526
5527         * flower/include/std-string.hh: add format printf attribute.
5528
5529         * scm/define-grobs.scm (all-grob-descriptions): height of all
5530         PedalLineSpanner is Y-extent property. Fixes pedal-ped.ly
5531
5532         * lily/ambitus-engraver.cc (finalize): use grob_array. This fixes
5533         ambitus lines.
5534
5535         * input/regression/beam-cross-staff-slope.ly: remove decrescendo.
5536
5537 2006-02-22 Erik Sandberg  <mandolaerik@gmail.com>
5538
5539         * input/regression/: upgraded syntax for some files.
5540
5541         * THANKS: Add bughunters.
5542
5543 2006-02-22  Graham Percival  <gpermus@gmail.com>
5544
5545         * Documentation/user/ invoking.itely, advanced-notation.itely,
5546         global.itely: long-awaited "let's make chapter 10 not suck"
5547         update.  Rearrange chapter 10; now called "global issues",
5548         addresses file structure, etc.  Some info from other files
5549         moved into global.itely.
5550
5551 2006-02-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5552
5553         * lily/accidental-engraver.cc (acknowledge_rhythmic_head): also
5554         catch trill-span-event notes.
5555
5556         * Documentation/user/examples.itely (Ancient notation templates): typo.
5557         (Jazz combo): typo.
5558
5559         * scripts/lilypond-book.py (main): scrap invokes_lilypond(). 
5560
5561         * Documentation/user/basic-notation.itely (Ties): document \repeatTie.
5562
5563         * Documentation/topdocs/NEWS.tely (Top): document \repeatTie.
5564
5565         * scm/define-music-types.scm (music-descriptions): add RepeatTieEvent
5566
5567         * lily/repeat-tie-engraver.cc (acknowledge_note_head): new file. cut & paste
5568         froum Laissez_vibrer_engraver.
5569
5570         * ly/declarations-init.ly (repeatTie): add \repeatTie
5571
5572         * scm/define-grobs.scm (all-grob-descriptions): add RepeatTie, RepeatTieColumn
5573
5574         * scm/define-grob-properties.scm (all-user-grob-properties): add
5575         head-direction property.
5576
5577         * lily/tie-formatting-problem.cc (from_semi_ties): rename from
5578         from_lv_ties. Take head direction argument.
5579
5580         * lily/semi-tie-column.cc: rename from
5581         laissez-vibrer-tie-column.cc. Rename class too.
5582
5583         * lily/semi-tie.cc: rename from laissez-vibrer-tie.cc. Rename
5584         class too.
5585
5586         * lily/paper-score.cc (find_break_indices): move from Break_algorithm.
5587
5588         * lily/break-algorithm.cc (find_break_indices): remove linewidth <
5589         0 case.
5590         (find_breaks): idem.
5591
5592 2006-02-21  Graham Percival  <gpermus@gmail.com>
5593
5594         * Documentation/user/advanced-notation.itely: fixed make-moment]
5595         example.
5596
5597         * Documentation/user/basic-notation.itely: more clarification to
5598         transpose.
5599
5600 2006-02-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5601
5602         * lily/include/constrained-breaking.hh (class
5603         Constrained_breaking): new file.
5604
5605         * lily/constrained-breaking.cc (resize): new file.
5606
5607         * lily/gourlay-breaking.cc (do_solve): ragged-last iso raggedlast
5608
5609         * Documentation/user/advanced-notation.itely (Clusters): insert
5610         end ignore too.
5611
5612         * lily/tie-column.cc (calc_positioning_done): support for
5613         tie-score debugging
5614
5615         * lily/tie-formatting-problem.cc
5616         (generate_extremal_tie_variations): factor out.
5617         (score_ties_configuration): annotate all tie 
5618         (print_ties_configuration): new routine.
5619         (generate_configuration): nudge extremal ties outside of the head
5620         Y extents.
5621         (score_ties_configuration): oops. convert to staff-space before
5622         determining position symmetry.
5623
5624 2006-02-20  Graham Percival  <gpermus@gmail.com>
5625
5626         * Documentation/user/*-notation.itely: misc minor editing,
5627         shifting doc sections around.
5628
5629         * Documentation/user/*-notation-itely, global.itely,
5630         changing-defaults.itely: added new stuff from NEWS.
5631
5632 2006-02-20  Heikki Junes  <hjunes@cc.hut.fi>
5633
5634         * po/fi.po: update.
5635
5636 2006-02-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5637
5638         * make/lilypond-vars.make (LILYPOND_BOOK_FLAGS): don't run
5639         lilypond --verbose for lp-book.
5640
5641         * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
5642         $(outdir)/%.ly $(outdir)/%.ps): use $(srcdir) iso $(shell pwd).
5643
5644         * make/lysdoc-rules.make ($(outdir)/collated-files.tely): use
5645         $(buildscript-dir) iso. absolute depth.
5646
5647         * buildscripts/genicon.py (dir): thinko.
5648
5649         * Documentation/pictures/GNUmakefile ($(outdir)/%.ico): typo.
5650
5651 2006-02-19 Erik Sandberg  <mandolaerik@gmail.com>
5652
5653         * scm/output-lib.scm: swap darkcyan/darkyellow
5654
5655         * THANKS: Add bughunters.
5656
5657 2006-02-19  Graham Percival  <gpermus@gmail.com>
5658
5659         * Documentation/user/programming-interfaces.itely: fixed example.
5660
5661         * Documentation/user/instrument-notation.itely: fix @{ @}.
5662
5663         * scm/script.scm: add avoid-slur for \open.
5664
5665 2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5666
5667         * lily/tie-formatting-problem.cc (score_configuration): use
5668         sliding score for min-length. 
5669
5670         * Documentation/pictures/GNUmakefile (local-dist): loose the rule
5671         spaghetti for icons.
5672
5673         * buildscripts/genicon.py (program_name): new file.
5674
5675         * lily/tie-formatting-problem.cc (set_chord_outline): put dots
5676         in outline too.  
5677         (generate_configuration): for small ties, also look for collisions
5678         at Y + DIR*h + DELTA_Y.
5679         (get_variations): consider variation for dot positions too.
5680
5681         * lily/side-position-interface.cc (aligned_side): take abs for
5682         quantized rounded position. Fixes tenuto below staff.
5683
5684         * scm/stencil.scm (annotate-y-interval): robustify: print nan/inf
5685         markers when necessary.
5686
5687         * lily/program-option.cc (internal_set_option): add
5688         strict_infinity_checking option.
5689
5690         * scm/output-lib.scm (cyan): swap yellow and cyan.
5691
5692 2006-02-19  Graham Percival  <gpermus@gmail.com>
5693
5694         * darwin.patch: trivial linenumber update.
5695
5696         * Documentation/user/ {various}: `\context foo = named' changed
5697         to `\new foo = "name"' in docs.
5698
5699 2006-02-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5700
5701         * scm/stencil.scm (annotate-y-interval): use it.
5702
5703         * scm/lily-library.scm (interval-sane?): new function.
5704
5705         * buildscripts/mf-to-table.py (Char_metric.__init__): remove
5706         tfm_checksum stuff.
5707
5708         * lily/tie-formatting-problem.cc (from_lv_ties): add heads for
5709         common refpoint.
5710
5711         * flower/include/std-vector.hh (iterof): add iterof macro.
5712
5713         * lily/enclosing-bracket.cc (width): new function.
5714
5715         * lily/align-interface.cc (align_elements_to_extents): reinstate
5716         warning.
5717
5718 2006-02-18  Heikki Junes  <hjunes@cc.hut.fi>
5719
5720         * Documentation/index.html.in: fix spelling: thankyous.
5721
5722 2006-02-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5723
5724         * lily/lyric-hyphen.cc: typo.
5725
5726 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5727
5728         * stepmake/stepmake/c++-rules.make ($(outdir)/%.cc
5729         $(outdir)/%.hh): generate h and c in one rule; otherwise -jX
5730         builds don't work. 
5731
5732         * VERSION: release 2.7.35
5733
5734         * lily/beam.cc (get_default_dir): oops. Take abs () for
5735         extremes[DOWN].
5736         (get_default_dir): use extreme position criterion only in absence
5737         of forced stem directions.
5738
5739         * VERSION (PATCH_LEVEL): bump VERSION.
5740
5741         * mf/GNUmakefile: explicit rules for emmentaler/aybabtu
5742         dependencies. Necessary for -jX builds.  
5743
5744 2006-02-17  Jan Nieuwenhuizen  <janneke@gnu.org>
5745
5746         * lily/relocate.cc (setup_paths): Yet another const fix.
5747
5748 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5749
5750         * configure.in (HOST_ARCH): determine HOST_ARCH in configure.
5751
5752         * lily/relocate.cc (setup_paths): oops.
5753
5754 2006-02-17  Heikki Junes  <hjunes@cc.hut.fi>
5755
5756         * Documentation/index.html.in: order links: html before PDF.
5757
5758 2006-02-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5759
5760         * lily/tie-column-format.cc (Module): remove.
5761
5762         * lily/relocate.cc (setup_paths): GCC 4.2 fixes: const correctness.
5763
5764         * lily/text-spanner.cc (print): idem.
5765
5766         * lily/dynamic-text-spanner.cc (print): only print line if longer
5767         than dash-period.
5768
5769         * lily/auto-change-iterator.cc (change_to): formatting.
5770
5771         * lily/beam.cc (get_default_dir): take extreme note head as input
5772         for stem direction.
5773
5774         * lily/tie.cc (get_default_dir): only look directions for visible
5775         stems. 
5776
5777         * lily/side-position-interface.cc (aligned_side): oops. Don't
5778         mutiply with direction. This fixes quantized (staccato, tenuto)
5779         scripts below notes.
5780
5781         * lily/lyric-hyphen.cc (set_spacing_rods): oops. Multiply with
5782         direction. Fixes c-lyrics-center-align.ly
5783
5784 2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>
5785
5786         * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Add copy
5787         constructor.
5788
5789         * lily/std-string.cc:
5790         * lily/include/std-vector.hh (split_string): Move and rename from
5791         lily/include/misc.hh, lily/misc.cc.  Update callers.
5792
5793 2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5794
5795         * lily/include/pango-font.hh: HAVE_PANGO_FT2 iso. HAVE_PANGO_16
5796
5797 2006-02-16  Jan Nieuwenhuizen  <janneke@gnu.org>
5798
5799         * flower/test-file.cc: New file.
5800
5801         * stepmake/stepmake/test-vars.make (TEST_MODULE_LIBES): Fixes for
5802         libraries.
5803
5804         * flower/GNUmakefile (TEST_MODULE_LIBS): Link to flower lib.
5805
5806 2006-02-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5807
5808         * flower/include/file-storage.hh: remove file.
5809
5810         * lily/include/midi-item.hh (class Midi_track): idem.
5811
5812         * lily/include/source.hh (class Sources): idem.
5813
5814         * lily/include/performance.hh (class Performance): use vector
5815         iso. Cons<>
5816
5817         * flower/include/cons.hh (class Cons): remove file.
5818
5819         * flower/include/flower-proto.hh: remove template cruft.
5820
5821         * lily/include/font-metric.hh: use size_t not vsize for indices.
5822
5823         * flower/include/flower-proto.hh (Module): remove std-vector.hh
5824         from proto.
5825
5826         * lily/include/all-font-metrics.hh: use HAVE_PANGO_FT2
5827
5828         * lily/include/paper-book.hh (class Paper_book):
5829         make get_system_specs() public.
5830
5831         * scm/layout-page-layout.scm (optimal-page-breaks): only consider
5832         the force=10000 case if we don't have a current-best. 
5833
5834         * lily/tuplet-bracket.cc (get_bounds): don't do (size() - 1) for
5835         vsize 
5836
5837         * flower/include/flower-proto.hh: remove outdated templates.
5838
5839         * scm/page.scm: use annotate-spacing
5840
5841 2006-02-15  Graham Percival  <gpermus@gmail.com>
5842
5843         * scm/translation-functions.scm: circle patch from Erlend, thanks!
5844
5845         * THANKS: moved Erlend Aasland to contributors.
5846
5847 2006-02-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5848
5849         * config.hh.in: remove HAVE_PANGO_16
5850
5851         * lily/tuplet-bracket.cc (calc_positions): multiply with
5852         staff-space for beam case. This fixes tuplets+beams on scaled
5853         staves.
5854
5855         * config.hh.in: remove all Kpathsea related defines.
5856
5857         * lily/dot-column.cc (side_position): reach stem via dots->
5858         head->stem. Inspect all stems for dot collisions. 
5859
5860         * lily/dot-column-engraver.cc (class Dot_column_engraver): excise
5861         stem handling.
5862
5863         * lily/bar-number-engraver.cc (process_music): document function
5864         of whichBar.
5865
5866         * lily/score.cc (default_rendering): add pscore, not systems
5867         themselves.
5868
5869         * lily/paper-book.cc (get_system_specs): separate generation of
5870         titles and systems.
5871
5872         * flower/include/std-vector.hh: don't include config.hh
5873
5874 2006-02-15  Jan Nieuwenhuizen  <janneke@gnu.org>
5875
5876         * flower/include/std-vector.hh: Better wrapper compatibility with
5877         std::vector.
5878
5879         * flower/include/flower-proto.hh: Remove cheap forward declaration
5880         attempts.
5881
5882         * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): Bugfix.
5883
5884 2006-02-14  Graham Percival  <gpermus@gmail.com>
5885
5886         * Documentation/user/invoking.itely: add warning about command line.
5887
5888 2006-02-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5889
5890         * lily/include/lily-proto.hh: add Prob, rm Page.
5891
5892         * flower/include/std-vector.hh (VPOS): use 64 bit-proof version.
5893
5894         * VERSION: release 2.7.34
5895
5896         * lily/relocate.cc (framework_relocation): show canary if
5897         GHOSTSCRIPT_VERSION undefined.
5898
5899         * GNUmakefile.in: remove $(VERSION) symlink.
5900
5901         * lily/relocate.cc (setup_paths): add + 
5902
5903 2006-02-13  Heikki Junes  <hjunes@cc.hut.fi>
5904
5905         * Documentation/index.html.in: specify sizes for all big HTML pages.
5906
5907 2006-02-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5908
5909         * config.hh.in: remove @FRAMEWORKDIR@
5910
5911         * lily/system-start-text.cc (get_stencil): new file: separate out
5912         system-start-delimiter text support.
5913
5914         * input/**ly: replace \context with \new where appropriate.
5915         
5916         * THANKS: add Don.
5917
5918         * lily/slur-scoring.cc (get_base_attachments): use
5919         robust_relative_extent. This fixes problems with empty paper-columns. 
5920
5921 2006-02-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5922
5923         * Documentation/topdocs/NEWS.tely (Top): document \new syntax.
5924
5925         * scm/define-music-properties.scm (all-music-properties):
5926         create-new property.
5927
5928         * lily/context-specced-music-iterator.cc (construct_children):
5929         inspect 'create-new property iso. magical $uniqueContextId context
5930         id.
5931
5932         * lily/parser.yy (optional_id): allow \new "Bar" = "foo" too.
5933
5934         * lily/context-key-manager.cc (Module): new file. Encapsulate
5935         object key generation.
5936
5937         * lily/include/context-key-manager.hh (Module): new file.
5938
5939 2006-02-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5940
5941         * scm/define-grobs.scm (all-grob-descriptions): center instrument
5942         names vertically
5943
5944         * configure.in (LINK_GXX_STATICALLY): strip -DSTRING_UTILS_INLINED
5945         options.
5946         (reloc_b): excise --enable-framework-dir
5947
5948         * lily/relocate.cc (framework_relocation): use getenv
5949         LILYPOND_GS_VERSION or -DGHOSTSCRIPT_VERSION to set GS version.
5950
5951 2006-02-11  Jan Nieuwenhuizen  <janneke@gnu.org>
5952
5953         * flower/include/std-string.hh: 
5954         * flower/include/std-vector.hh: Finish std:: conversion; move
5955         flower extensions from std:: namespace.  Update users.
5956
5957         * lily/include/lily-proto.hh: Replace Link_array__*_ macros by
5958         their expansion to vector<*>.  Update users.
5959
5960 2006-02-10  Graham Percival  <gpermus@gmail.com>
5961
5962         * Documentation/user/invoking.itely: add example to File structure.
5963
5964         * Documentation/user/ instrument-notation.itely, cheatsheet.itely,
5965         examples.itely, putting.itely: {\new|\context} Lyrics \lyricsto.
5966
5967 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5968
5969         * ly/paper-defaults.ly: typo.
5970
5971         * lily/parenthesis-engraver.cc (acknowledge_grob): don't do
5972         set_parent() for parentheses. This will make it show up in bbox
5973         calculations.
5974
5975         * scm/output-lib.scm (parentheses-item::print): rewrite, using
5976         ly:grob-common* functions.
5977
5978         * lily/grob-scheme.cc (LY_DEFINE):
5979         ly:grob-common-refpoint-of-array: new function 
5980         ly:grob-common-refpoint: new function 
5981         ly:grob-relative-coordinate: new function 
5982
5983         * lily/instrument-name-engraver.cc (process_music): use
5984         Text_interface::is_markup(). This fixes \markup on instrument names.  
5985
5986         * scm/define-grobs.scm (all-grob-descriptions): set line-thickness
5987         for ties and slurs.
5988
5989         * lily/slur.cc (print): idem.
5990
5991         * lily/tie.cc: add line-thickness for ties. 
5992
5993 2006-02-10  Jan Nieuwenhuizen  <janneke@gnu.org>
5994
5995         * scm/output-svg.scm: Document diversion from GNU coding standards
5996         as a workaround for a bug in Microsoft Internet Explorer.
5997
5998 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
5999
6000         * lily/instrument-name-engraver.cc (process_music): use
6001         is_markup() iso. is_string()
6002
6003         * Documentation/user/changing-defaults.itely (Module): add menu entry.
6004
6005         * lily/percent-repeat-engraver.cc (process_music): only look at
6006         main_part_ for % repeats.
6007
6008         * lily/stem-tremolo.cc (get_beam_translation): new function.
6009         (calc_slope): new function.
6010         (height): don't use real slope.
6011
6012 2006-02-10  Jürgen Reuter  <reuter@ipd.uka.de>
6013
6014         * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: add
6015         new connect-to-neighbor, control-points and staff-padding
6016         properties to make ligature brackets showing up again.
6017
6018 2006-02-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6019
6020         * VERSION: release 2.7.33
6021
6022         * lily/relocate.cc (prefix_relocation): oops. One TOPLEVEL_VERSION
6023         too many.
6024
6025         * Documentation/user/changing-defaults.itely (Difficult tweaks):
6026         remove applyOutput example.
6027         (Objects connected to the input): document \tweak, \parenthesize
6028
6029         * lily/relocate.cc (prefix_relocation): allow "current"
6030         iso. TOPLEVEL_VERSION for share/lilypond/ suffix. This makes
6031         changing VERSION in a lily tree less painful.
6032
6033         * input/regression/parenthesize.ly: new file. 
6034
6035         * scm/output-lib.scm (parenthesize-element): new function.
6036
6037         * scm/define-grobs.scm (all-grob-descriptions): add ParenthesesItem.
6038
6039         * lily/parenthesis-engraver.cc (acknowledge_grob): new file.
6040
6041         * lily/accidental-engraver.cc (make_standard_accidental): reroute
6042         cause: accidentals are caused by note heads, not note events. 
6043
6044 2006-02-08  Graham Percival  <gpermus@gmail.com>
6045
6046         * darwin.patch: small patch from Erlend, thanks!
6047
6048         * Documentation/user/basic-notation.itely: add stem-neutral example.
6049
6050         * Documentation/user/putting.itely: clarifications.
6051
6052 2006-02-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6053
6054         * Documentation/topdocs/NEWS.tely (Top): remove internal cleanup
6055         note, add more guidelines to what should go into NEWS.
6056
6057         * input/sakura-sakura.ly: document how to override font.
6058
6059         * input/regression/font-family-override.ly:  doc -dshow-available-fonts
6060
6061 2006-02-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6062
6063         * lily/midi-item.cc (to_string): truncate time sig at 255 beats.
6064
6065 2006-02-08  Jan Nieuwenhuizen  <janneke@gnu.org>
6066
6067         * scripts/convert-ly.py (lilypond_version_re_str): Move from
6068         convertrules.  Add explicit grouping, needed for python2.2.
6069
6070 2006-02-07  Jan Nieuwenhuizen  <janneke@gnu.org>
6071
6072         * Documentation/topdocs/NEWS.tely (Top): Mention code cleanup.
6073
6074 2006-02-07  Graham Percival  <gpermus@gmail.com>
6075
6076         * Documentation/user/global.itely: fix line-width in (text) docs.
6077
6078         * Documentation/user/lilypond-book.itely: same.
6079
6080 2006-02-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6081
6082         * VERSION (PACKAGE_NAME): release 2.7.32
6083
6084         * Documentation/topdocs/NEWS.tely (Top): document new variable
6085         naming.
6086
6087         * flower/include/array.icc (Message): remove file.
6088
6089         * flower/include/std-vector.hh: make sure vsize and VPOS are
6090         defined for binary_search_bounds().
6091
6092         * flower/std-string.cc (std): add to_string(long unsigned).
6093
6094         * configure.in (gui_b): excise std_string option.
6095         (gui_b): excise std_vector option.
6096
6097         * flower/string.cc (Module): excise flower array & string
6098
6099         * flower/include/std-string.hh: excise flower string.
6100
6101         * {ly,lily,scm}/*: use dashes in \paper and \layout variables
6102
6103         * python/convertrules.py (lilypond_version_re_str): require
6104         only numbers and dots in \version string.
6105
6106 2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6107
6108         * lily/system-start-delimiter.cc (print): allow style = text too.
6109
6110         * lily/system-start-delimiter-engraver.cc
6111         (acknowledge_system_start_text): new function, also add add to
6112         support of system-start-text (instrument names). This fixes
6113         instrument names on piano staves.
6114
6115         * lily/instrument-name-engraver.cc: rewrite. Use
6116         system-start-delimiter approach. This save memory and cpu.
6117
6118         * scm/define-grobs.scm (all-grob-descriptions): remove
6119         instrument-name from break-alignment.
6120
6121         * mf/GNUmakefile ($(NCSB_TTFS)): depend on pfx2ttf script too.
6122
6123 2006-02-05  Jan Nieuwenhuizen  <janneke@gnu.org>
6124
6125         * stepmake/stepmake/generic-vars.make (LOOP): Add PLUS to keep -j
6126         jobserver going.
6127
6128         * configure.in (std_vector): On by default.
6129
6130         * lily/include/font-metric.hh:
6131         * lily/include/tfm-reader.hh: 
6132         * lily/include/spanner.hh: Use unsigned for indices and sizes.
6133         Update users.
6134
6135         * Documentation/user/changing-defaults.itely: Fix link v2.5, out-www.
6136
6137 2006-02-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6138
6139         * VERSION (PACKAGE_NAME): 2.7.31
6140
6141         * scm/framework-ps.scm (dump-stencil-as-EPS): don't hardcode left
6142         EPS edge at 0, but take minimum with left-overshoot. This fixes
6143         cut off system start delims. 
6144
6145         * lily/instrument-name-engraver.cc (stop_translation_timestep):
6146         hack: add to axis group if not added yet. This fixes hara kiri'd
6147         piano staves.
6148
6149         * lily/hara-kiri-group-spanner.cc
6150         (force_hara_kiri_in_y_parent_callback): fix signatures.
6151
6152         * lily/hairpin.cc (print): check next hairpin to see whether or
6153         not to be continuing.
6154
6155 2006-02-04  Jan Nieuwenhuizen  <janneke@gnu.org>
6156
6157         * Remove trailing whitespace from makefiles.
6158         
6159         * flower/include/std-vector.hh: Add binary_search_bounds workaround
6160         for earlier gcc.
6161
6162         * .cvsignore: Add out*, out-www, config-*.  Remove lots of cruft.
6163
6164         * flower/include/std-vector.hh[!HAVE_STL_DATA_METHOD]: Workaround.
6165
6166         * config.hh.in (HAVE_STL_DATA_METHOD): Add.
6167
6168         * stepmake/aclocal.m4 (STEPMAKE_STL_DATA_METHOD): New function.
6169
6170         * configure.in: Use it.
6171
6172 2006-02-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6173
6174         * scm/music-functions.scm (pitch-of-note): new function.
6175
6176         * ly/music-functions-init.ly: add \octave and \addquote
6177
6178         * lily/parser.yy (music_function_chord_body): softcode \octave.
6179         (lilypond_header): softcode \addquote
6180
6181 2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6182
6183         * flower/include/std-vector.hh[STD_VECTOR]: Do not include
6184         array.hh, parray.hh at all.  Getting ready to flip the
6185         configure default.
6186
6187         * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6188
6189         * lily/source-file.cc (file::get_line): Help binary_search_bounds
6190         a bit.
6191
6192         * lily/include/lily-proto.hh (Link_array__char_): Bugfix.
6193
6194 2006-02-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6195
6196         * flower/include/array.hh: typo. 
6197
6198 2006-02-02  Graham Percival  <gpermus@gmail.com>
6199
6200         * Documentation/user/advanced-notation.itely: doc "\#" in text.
6201
6202 2006-02-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6203
6204         * flower/include/pqueue.hh: Derive from std::vector.
6205
6206         * flower/include/parray.hh: Conform to std::vector interface.
6207         Update users.
6208
6209 2006-02-02  Graham Percival  <gpermus@gmail.com>
6210
6211         * Documentation/topdocs/NEWS.itely: grammar fix from Laura.
6212
6213 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6214
6215         * flower/file-path.cc (is_file): remove if 0 section.
6216
6217         * buildscripts/pfx2ttf.fontforge (err): robustness fix for
6218         selecting afii61352.
6219
6220 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6221
6222         * flower/include/std-vector.hh (boundary): Oops, reverse.
6223
6224         * flower/string-convert.cc (convert::unsigned_string): Bugfix:
6225         remove superfluous `d'.
6226
6227         * flower/include/std-vector.hh (boundary, top): Detach from class.
6228         Remove empty vector shell.
6229
6230         * flower/include/array.hh (reverse, swap): Detach from class.
6231         Update users.
6232         
6233         * flower/include/std-vector.hh
6234         * flower/include/array.hh (concat): Globally change to insert ().
6235
6236         * flower/include/std-vector.hh
6237         * flower/include/parray.hh
6238         * flower/include/array.hh (elem, elem_ref): Globally replace by
6239         at ().
6240
6241 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6242
6243         * Documentation/topdocs/NEWS.tely (Top): use ly: prefix for members.
6244
6245         * python/convertrules.py (FatalConversionError.sub_cxx_id):
6246         anticipate on identifier substitutions.
6247
6248 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6249
6250         * flower/include/std-vector.hh (insert): Remove, replace by
6251         std::vector interface.  Update callers.
6252
6253         * flower/include/array.icc (insert): Change signature to
6254         match std::vector interface.
6255         
6256         * flower/include/array.icc (vector_sort): Bugfix.
6257
6258 2006-02-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6259
6260         * lily/parser.yy (output_def_head_with_mode_switch): new
6261         production. Result: dashes and underscores may be used in the
6262         \paper block.
6263
6264         * lily/lexer.ll: add DASHED_WORD.  Accept in INITIAL mode.
6265
6266         * python/convertrules.py (conv): oops. One slash too much.
6267
6268 2006-02-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6269
6270         * flower/include/std-vector.hh (sort): Remove, replace by
6271         ::vector_sort.  Update callers.
6272
6273         * flower/include/std-vector.hh (slice): Remove.  Update callers.
6274         (sort): Bugfix.
6275
6276         * flower/test-std.cc (vector_sort): New test.
6277
6278 2006-02-01  Graham Percival  <gpermus@gmail.com>
6279
6280         * Documentation/user/putting.itely: fixes from Erik.
6281
6282 2006-02-01  Jan Nieuwenhuizen  <janneke@gnu.org>
6283
6284         * flower/test-std.cc: Add simple unit test for vector migration.
6285
6286         * stepmake/stepmake/test*: Unit test support.
6287
6288         * flower/include/std-vector.hh (del): Remove.  Use erase (),
6289         update callers.
6290
6291         * flower/include/array.hh (begin, end): Add.
6292         (del, get): Remove.
6293
6294 2006-02-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6295
6296         * lily/include/lily-guile-macros.hh (MAKE_SCHEME_CALLBACK): use
6297         std::string not String. 
6298
6299         * lily/context-def.cc (path_to_acceptable_context): use INT_MAX
6300         iso UINT_MAX.
6301
6302         * lily/prob.cc (Prob): copy type_ too.
6303
6304         * lily/lily-guile.cc (mangle_cxx_identifier): new
6305         function. Class_bla::foo_bar_[px] ->
6306         ly:class-bla::foo-bar[?!]. Changes throughout
6307
6308 2006-01-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6309
6310         * flower/include/guile-compatibility.hh (scm_from_unsigned): add scm_from_unsigned().
6311
6312         * lily/beam.cc (calc_direction): take dir from visible stem in
6313         degenerate case.
6314
6315 2006-01-31  Jan Nieuwenhuizen  <janneke@gnu.org>
6316
6317         * lily/melody-spanner.cc (spanner::calc_neutral_stem_direction):
6318         Fix -1, >=0 boundary checks for unsigned vsize.
6319
6320         * lily/separating-group-spanner.cc (spanner::find_rods): Fix >=0
6321         loop for unsigned vsize.
6322
6323         * configure.in (--enable-std-vector): New option.
6324         (--enable-std-string): On by default.
6325
6326         * flower/include/std-vector.hh: New file.  Enable switch to
6327         std::vector, update client code.
6328
6329 2006-01-30  Graham Percival  <gpermus@gmail.com>
6330
6331         * scm/document-translation.scm: clarify "this context is also
6332         known as".  Thanks, Werner!
6333
6334         * Documentation/user/putting.itely: small fixes from Don Blaheta.
6335
6336         * Documentation/user/invoking.itely: small fix from Don.
6337
6338 2006-01-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6339
6340         * scm/lily.scm (define-scheme-options): rename option
6341         preview-include-book-title to book-title-preview
6342         (define-scheme-options): move force-eps-font-include (from paper
6343         block) to eps-font-include -d option.
6344
6345         * VERSION (PATCH_LEVEL): release 2.7.30
6346
6347         * input/bach-schenker.ly (staffPiano): new file.
6348
6349         * buildscripts/pfx2ttf.fontforge: remove No. glyph from TTF file.
6350
6351         * Documentation/topdocs/NEWS.tely (Top): simplify NEWS entry, add
6352         credits to Nicolas.
6353
6354         * scm/define-markup-commands.scm (epsfile): add scaling to \epsfile.
6355
6356         * ps/lilyponddefs.ps: remove start-system, stop-system,
6357         start-page fluff. This saves putting { } code on the stack, fixing
6358         stack overflows when including EPS files.
6359
6360 2006-01-29  Graham Percival  <gpermus@gmail.com>
6361
6362         * Documentation/user/putting.itely: minor fixes (comments on -devel).
6363
6364 2006-01-29  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6365
6366         * Documentation/topdocs/NEWS.tely (Top): add \parallelMusic news.
6367
6368 2006-01-28  Graham Percival  <gpermus@gmail.com>
6369
6370         * Documentation/user/putting.itely: minor fixes (mostly tab->space).
6371
6372 2006-01-28  Jan Nieuwenhuizen  <janneke@gnu.org>
6373
6374         * input/mutopia/claop.py: Update.
6375
6376 2006-01-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6377
6378         * input/regression/completion-heads.ly (texidoc): fix.
6379
6380         * lily/staff-symbol-referencer.cc (on_staff_line): idem.
6381
6382         * lily/tie-formatting-problem.cc
6383         (set_ties_config_standard_directions): use abs iso fabs for ints.
6384
6385         * Documentation/topdocs/INSTALL.texi (Top): document ncsb requirement.
6386
6387         * mf/feta-bolletjes.mf (overdone_heads): solfa_noteheight, a
6388         little less than noteheight, to prevent overlaps in chords.
6389
6390         * lily/note-collision.cc (check_meshing_chords): wipe upper FA
6391         head, and fudge stem-attachment.
6392
6393         * scm/lily-library.scm (not): define hash-for-each for guile 1.6
6394
6395         * lily/slur-scoring.cc (get_best_curve): handle opt_idx < 0 case.
6396
6397 2006-01-27  Jan Nieuwenhuizen  <janneke@gnu.org>
6398
6399         * lily/main.cc (main): Debugging aid: catch exceptions.
6400
6401         * flower/std-string.cc (to_string): Robustification.  Fixes midi
6402         output with std::string.
6403
6404 2006-01-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6405
6406         * Documentation/topdocs/INSTALL.texi (Top): remove libkpathsea notes.
6407
6408 2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>
6409
6410         * Fix -DSTRING_UTILS_INLINED.
6411
6412 2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6413
6414         * VERSION (PATCH_LEVEL): release 2.7.29
6415
6416         * lily/relocate.cc (setup_paths): mingw uses std string too.
6417
6418         * lily/*.cc: various fixes for substr(ARG).
6419
6420         * lily/sustain-pedal.cc (print): 
6421
6422         * flower/file-name.cc (slashify): use std strings.
6423
6424         * flower/string-convert.cc: remove publib.h
6425
6426         * scm/define-markup-commands.scm (verbatim-file): new markup
6427         command \verbatim-file
6428
6429         * Documentation/topdocs/NEWS.tely: fixup URLs
6430
6431         * input/regression/alignment-vertical-manual-setting.ly (Module):
6432         new file.
6433
6434         * lily/align-interface.cc (align_elements_to_extents): overwrite
6435         translations with numbers in alignment-offsets from left bound
6436
6437         * scm/page.scm (make-page-stencil): read X-offset from paper-system.
6438         (page-translate-systems): new function: take into account Y-offset.
6439
6440         * Documentation/topdocs/NEWS.tely (Top): document new features.
6441
6442         * input/regression/page-layout-manual-position.ly (Module): new
6443         file.
6444
6445 2006-01-26  Jan Nieuwenhuizen  <janneke@gnu.org>
6446
6447         * flower/file-path.cc (path::parse_path): Oops.
6448
6449         * Finish std::string interface.  For now, use std:: marker
6450         throughout for easy s/r.
6451
6452 2006-01-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6453
6454         * Documentation/user/putting.itely (Score is a single musical
6455         expression): typo.
6456         (Score is a single musical expression): more typos.
6457
6458         * scm/page.scm (annotate-space-left): thinko.
6459         (annotate-page): more thinkos.
6460
6461 2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6462
6463         * scm/layout-page-layout.scm (write-page-breaks): record tweaks
6464         for different \score blocks separately.
6465         (post-process-pages): put write-page-layout into paper block.
6466
6467         * lily/output-def.cc (get_parser): new file.
6468
6469         * lily/output-def-scheme.cc (LY_DEFINE): ly:output-def-parser, new
6470         file.
6471
6472         * lily/include/output-def.hh (class Output_def): add parser_ member.
6473
6474         * input/regression/page-layout-twopass.ly (Module): new file.
6475
6476         * scm/lily.scm: remove cpp hack.
6477
6478         * lily/lyric-engraver.cc (get_voice_to_lyrics): use NPOS everywhere.
6479
6480 2006-01-25  Jan Nieuwenhuizen  <janneke@gnu.org>
6481
6482         * GNUmakefile.in (c-clean): New target.
6483
6484         * flower/include/std-string.hh: String/std::string compatibility:
6485         Use NPOS for `not found' (iso -1), use ssize for length () and pos
6486         type.
6487
6488         * flower/rational.cc: 
6489         * flower/include/rational.hh: 
6490
6491         * flower/offset.cc: 
6492         * flower/include/offset.hh: 
6493
6494         * flower/interval.cc: 
6495         * flower/include/interval.hh: 
6496
6497         * flower/string-convert.cc: 
6498         * flower/include/string-convert.hh: Use std::string [interface].
6499         Update callers.
6500
6501 2006-01-25  Heikki Junes  <hjunes@cc.hut.fi>
6502
6503         * Documentation/index.html.in: clean up.
6504
6505 2006-01-25  Graham Percival  <gpermus@gmail.com>
6506
6507         * Documentation/user/putting.itely: another new untested doc section.
6508
6509 2006-01-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6510
6511         * scm/layout-page-layout.scm (write-page-breaks): write
6512         \spacingTweaks #ALIST. Handle grace timing.
6513
6514         * scm/: more imports.
6515
6516         * scm/page.scm (make-page): add footer/header.
6517         (annotate-space-left): revise: only take page argument.
6518         (layout->page-init): new function.
6519
6520         * scm/layout-page-layout.scm (write-page-breaks): preliminary
6521         version of the system/spacing/linebreak hack writing to the output
6522
6523         * lily/prob-scheme.cc (LY_DEFINE): take optional 'key val args in
6524         ly:make-prob.
6525
6526         * lily/grob-scheme.cc (LY_DEFINE): ly:spanner-get-bound ->
6527         ly:spanner-bound
6528
6529 2006-01-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6530
6531         * scm/stencil.scm (annotate-y-interval): move from layout-page-layout.scm
6532
6533         * scm/paper-system.scm (paper-system-annotate): new file. Handle paper-system.
6534
6535         * scm/layout-page-layout.scm (optimal-page-breaks): move all page
6536         handling to page.scm
6537
6538         * lily/prob-scheme.cc (LY_DEFINE): new file.
6539         (LY_DEFINE): functions ly:make-prob , ly:prob-type? , ly:prob-(set-)property(!)
6540
6541         * lily/music-scheme.cc (LY_DEFINE): rewrite get/set property using
6542         prob functions.
6543
6544         * lily/music.cc (derived_mark): derive Music from Prob.
6545
6546         * lily/paper-system.cc (LY_DEFINE): derive from Prob.
6547
6548         * lily/prob.cc (Module): Implement Prob (Property Object), object
6549         with shared and r/w property alists.  
6550
6551         * lily/include/prob.hh (Module): new file. Declare Prob.
6552
6553         * flower/string.cc: remove is_empty().
6554
6555         * flower/include/string.hh (class String): remove String:: qualifier.
6556
6557         * buildscripts/analyse-cxx-log.py: new file. Read compile log to
6558         substitute appropriate functions.
6559
6560         * flower/include/string.hh (class String): remove to_str0 and
6561         is_empty(). S&R everywhere.
6562
6563 2006-01-23  Graham Percival  <gpermus@gmail.com>
6564
6565         * Documentation/user/basic-notation.itely: add hairpin
6566         after-linebreak tweak to commonprop.
6567
6568         * Documentation/user/putting.itely: added two new sections.
6569
6570 2006-01-23  Jan Nieuwenhuizen  <janneke@gnu.org>
6571
6572         * flower/international.cc: 
6573         * flower/include/international.hh: 
6574
6575         * flower/getopt-long.cc: 
6576         * flower/include/getopt-long.hh: Use std::string [interface].
6577         Update callers.
6578
6579         * flower/include/std-string.hh: Oops, bugfix for --disable-std-string.
6580
6581         * stepmake/stepmake/executable-rules.make: Add dependency on
6582         module libraries.
6583
6584 2006-01-22  Jan Nieuwenhuizen  <janneke@gnu.org>
6585
6586         * flower/file-path.cc: 
6587         * flower/include/file-path.hh: Use std::string [interface].
6588         Update callers.
6589
6590         * flower/direction.cc: 
6591         * flower/axis.cc: Unused.  Remove.
6592
6593         * configure.in (--enable-std-string): New option.
6594
6595         * flower/std-string.cc: 
6596         * flower/include/std-string.hh: New file.
6597
6598         * flower/file-name.cc[STD_STRING]:
6599         * flower/include/file-name.hh[STD_STRING]: Use it.  Update callers.
6600
6601 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6602
6603         * scm/output-svg.scm (placebox): no GNU coding standards in SVG output. 
6604
6605         * scm/define-markup-commands.scm (with-dimensions):
6606         with-dimensions markup command.
6607
6608         * input/test/font-table.ly: use it.
6609
6610         * lily/open-type-font.cc (glyph_list): new function.
6611
6612         * lily/open-type-font-scheme.cc (LY_DEFINE): ly:otf-glyph-list function.
6613
6614         * lily/ttf.cc: remove ly:font-glyph-list scheme function
6615
6616 2006-01-22  Nicolas Sceaux  <nicolas.sceaux@free.fr>
6617
6618         * ly/music-functions-init.ly (parallelMusic): new music function
6619         for parallel music entry.
6620
6621         * scm/define-music-properties.scm (all-music-properties): new
6622         'void music property
6623
6624         * scm/music-functions.scm (ly:music-message): make public, to be
6625         used in music function definitions
6626
6627         * scm/lily-library.scm (collect-music-for-book): discard music
6628         when the 'void property is set.
6629
6630 2006-01-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6631
6632         * lily/ttf.cc (LY_DEFINE): store name before destroying face.
6633
6634         * mf/GNUmakefile: idem.
6635
6636         * buildscripts/mf-to-table.py (help): excise fetaXXlist.ly support.
6637
6638         * stepmake/bin/install.py (dest): Only chmod/chown just created directories
6639
6640         * Documentation/user/notation-appendices.itely (The Feta font):
6641         use it.
6642
6643         * input/test/font-table.ly: new file. Generate font table within lily.
6644
6645         * Documentation/user/notation-appendices.itely (The Feta font):
6646         use new font-table.ly file. 
6647
6648         * stepmake/stepmake/install-out-targets.make
6649         (local-install-outfiles): only create directory if
6650         $(INSTALLATION_OUT_DIR) is defined. This fixes install on Gentoo.
6651
6652 2006-01-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6653
6654         * lily/ttf.cc (LY_DEFINE): new function ly:font-glyph-list.
6655
6656         * VERSION (PACKAGE_NAME): release 2.7.28
6657
6658         * scm/framework-ps.scm (write-preamble): use it to pick exactly
6659         the right font from a Mac dfont.
6660         (write-preamble): don't forget directory, only look at files.
6661
6662         This fixes problems with TTF files in dfonts that don't match
6663         their PostScript names.
6664          
6665         * lily/ttf.cc (LY_DEFINE): ly:ttf-ps-name: new routine to extract
6666         PS name from TTF font.
6667
6668         * input/regression/tie-manual.ly: document new feature.
6669
6670         * Documentation/topdocs/NEWS.tely (Top): add tie NEWS.
6671
6672         * VERSION (MY_PATCH_LEVEL): bump to .28
6673
6674         * Documentation/user/basic-notation.itely (Ties): add tie examples
6675         refs.
6676
6677         * lily/tie-formatting-problem.cc (score_ties_configuration):
6678         symmetry penalties for outer ties.
6679
6680 2006-01-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6681
6682         * lily/tie-formatting-problem.cc (generate_configuration) 
6683         (set_manual_tie_configuration): skip non-pair manual
6684         tie-configuration, so you can set individual ties as
6685
6686           #'tie-configuration = #'((7 . 1) #t (-3 . 1))
6687
6688         * input/regression/tie-chord.ly: use generateTiePattern to
6689         simplify file.
6690
6691         * lily/tie-formatting-problem.cc (peak_around): new function.
6692         (score_configuration): use sliding criterion for staff line collisions. 
6693         (score_configuration): idem for dot collisions.
6694         (generate_configuration): use separate stem_gap for gap to stem.
6695
6696         * lily/include/tie-formatting-problem.hh (struct Tie_details):
6697         separate penalty factors for x and y distance.
6698         (struct Tie_details): separate penalties for tip and center line collisions.
6699
6700 2006-01-19 Han-Wen Nienhuys  <hanwen@xs4all.nl>
6701
6702         * lily/tie-formatting-problem.cc (generate_configuration): make
6703         large ties avoid stafflines in the horizontal section.
6704         (score_configuration): use softcoded penalties
6705         (score_aptitude): idem.
6706
6707         * lily/tie-helper.cc (from_grob): softcode tie details
6708
6709         * lily/staff-symbol-referencer.cc (on_staff_line): new function
6710
6711         * lily/staff-symbol-referencer.cc (on_line): rename from
6712         on_staffline 
6713
6714 2006-01-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6715
6716         * ly/music-functions-init.ly: remove duplicate tag.
6717
6718         * lily/include/*.hh: GCC 4.1 fixes.
6719
6720 006-01-16  Erlend Aasland  <erlenda@gmail.com>
6721
6722         * Documentation/user/global.itely: fix typos; @bugs -> @refbugs
6723
6724         * scm/define-music-types.scm: fix bug in desc. string
6725         for OverrideProperty
6726
6727 2006-01-15 Erik Sandberg  <mandolaerik@gmail.com>
6728
6729         * scripts/lilypond-book.py: bugfix
6730
6731         * scm/define-music-types.scm: fix typos.
6732
6733 2006-01-14  Graham Percival  <gpermus@gmail.com>
6734
6735         * Documentation/user/ basic-notation.itely, global.itely,
6736         advanced-notation.itely, instrument-notation.itely: small
6737         additions (bugs and commonly tweaked properties).
6738
6739 2006-01-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6740
6741         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): generic
6742         detection of mingw build.
6743         (MINGW_BUILD): opps.
6744
6745 2006-01-12  Jan Nieuwenhuizen  <janneke@gnu.org>
6746
6747         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Add
6748         i686-mingw32.
6749
6750 2006-01-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6751
6752         * scm/music-functions.scm (skip->rest): add skip->rest
6753
6754 2006-01-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6755
6756         * lily/font-config.cc (init_fontconfig): call FcConfigBuildFonts()
6757         explicitly.
6758
6759         * lily/font-config-scheme.cc (LY_DEFINE): also display font and
6760         config dirs. Aids debugging. 
6761         (display_config): also display config files.
6762
6763 2006-01-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6764
6765         * VERSION: release 2.7.27
6766
6767         * lily/bar-line.cc (calc_bar_size): inspect staff->extent (Y_AXIS)
6768         for determining bar size.
6769
6770         * lily/staff-symbol.cc (print): place lines at distance line-positions
6771
6772         * scm/define-grob-properties.scm (all-user-grob-properties): add
6773         line-positions.
6774
6775         * lily/staff-symbol.cc (height): new function.
6776
6777         * input/regression/staff-line-positions.ly:  new file.
6778
6779 2006-01-06  Graham Percival  <gpermus@gmail.com>
6780
6781         * input/test/add-staccato.ly: remove reference to old file.
6782
6783 2006-01-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6784
6785         * scripts/lilypond-book.py (invokes_lilypond): allow . in path to
6786         lilypond binary too.
6787
6788 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6789
6790         * make/mutopia-rules.make (Module): use LILYPOND_BINARY
6791
6792 2006-01-06  Jan Nieuwenhuizen  <janneke@gnu.org>
6793
6794         * scripts/midi2ly.py: Bugfix: Declare datadir.
6795
6796         * make/ly-rules.make:
6797         * make/mutopia-rules.make: Use LILYPOND_BINARY (WAS: LILYPOND, but
6798         that seems to be gone). Fixes make web.
6799
6800         * The grand 2005-2006 replace.
6801
6802         * VERSION (MY_PATCH_LEVEL): Stay on .26 for now.
6803
6804 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6805
6806         * make/lilypond-vars.make: set LILYPOND_BINARY variable
6807         (LILYPOND_BOOK_LILYPOND_FLAGS): new variable
6808         LILYPOND_BOOK_LILYPOND_FLAGS to hold system dependent settings,
6809         like -dgs-font-load.
6810
6811         * Documentation/user/GNUmakefile ($(outdir)/interfaces.itexi):
6812         remove absolute path to lilypond binary.
6813         
6814 2006-01-05 Pedro Kroeger    <kroeger@pedrokroeger.net>
6815
6816         * configure.in (NCSB_DIR): fix --with-ncsb-dir option.
6817
6818 2006-01-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6819
6820         * make/lilypond-vars.make: support LILYPOND_EXTERNAL_BINARY variable.
6821
6822         * mf/GNUmakefile: remove broken dvips map symlink.
6823
6824 2006-01-04  Jan Nieuwenhuizen  <janneke@gnu.org>
6825
6826         * lily/main.cc: 
6827         * configure.in: Cosmetic fixes.
6828
6829 2006-01-04  Mats Bengtsson  <mabe@s3.kth.se>
6830
6831         * Documentation/user/music-glossary.tely (Pitch names): Added
6832         Spanish pitch names and durations, thanks to Ernesto Gancedo
6833
6834 2006-01-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6835
6836         * scm/lily.scm (define-scheme-options): use quasi-quote for option
6837         init. Fixes verbose printing of .scm files.
6838
6839         * stepmake/aclocal.m4: add spaces before - options.
6840         
6841 2006-01-03  Jan Nieuwenhuizen  <janneke@gnu.org>
6842
6843         * lily/relocate.cc (setup_paths): Bugfix: do not store result
6844         of path search in local block variable.
6845
6846 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6847
6848         * configure.in (NCSB_DIR): --enable-ncsb-dir
6849         (LINK_GXX_STATICALLY): denko.
6850
6851         * mf/GNUmakefile ($(NCSB_TTFS)): NCSB_DIR iso. NCSB_PATH. 
6852
6853         * configure.in (LINK_GXX_STATICALLY): --enable-ncsb-path option. 
6854         use locate to find c059033l.pfb. 
6855         
6856 2006-01-02  Jan Nieuwenhuizen  <janneke@gnu.org>
6857
6858         * lily/tie-formatting-problem.cc
6859         (problem::generate_base_chord_configuration): Use my_round (was
6860         round).
6861
6862         * lily/source-file.cc (file::get_counts)[!HAVE_MBRTOWC]: Bugfix,
6863         do not invoke mbrtowc.
6864
6865         * lily/relocate.cc (setup_paths): Add more debugging verbosity.
6866
6867 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6868
6869         * scm/lily.scm (lilypond-all): oops. remove debugging hack.
6870
6871 2005-01-02  Heikki Junes  <hjunes@cc.hut.fi>
6872
6873         * Documentation/user/invoking.itely (svg): revise.
6874
6875 2006-01-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6876
6877         * lily/lexer.ll: use sourcefilename iso. renameinput.
6878
6879 2006-01-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6880
6881         * mf/GNUmakefile ($(NCSB_TTFS)): revise rule. Create
6882         <PostScriptName>.ttf instead of c059XXXttf.
6883
6884         * lily/program-option.cc (LY_DEFINE): special support for
6885         --verbose, so it works before option init too.
6886  
6887         * mf/GNUmakefile (local-install): oops.
6888
6889         * lily/lyric-hyphen.cc (print): oops.
6890
6891         * buildscripts/pfx2ttf.fontforge: new file.
6892         
6893         * mf/GNUmakefile (NCSB_PATH): add vars for NCSB.
6894         ($(outdir)/%.ttf): new rule. 
6895
6896         * scm/define-grobs.scm (all-grob-descriptions): add font-interface
6897         to LyricHyphen.
6898
6899         * lily/lyric-hyphen.cc (print): multiply hyphen height by
6900         font-size
6901
6902 2005-12-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6903
6904         * VERSION: release 2.7.26
6905         
6906         * mf/GNUmakefile (install-fc-cache): remove old font.cache-1 files.
6907
6908 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6909
6910         * lily/font-config.cc (init_fontconfig): verbosity.
6911
6912         * THANKS: add Muziekacademie Lede. 
6913
6914         * scripts/musicxml2ly.py (print_voice_definitions): new function 
6915         (print_score_setup): new function
6916         (convert): read part definition to output staves properly.
6917
6918         * python/musicxml.py (Measure.get_notes): new class. Wrap lists of
6919         Music_xml notes.
6920
6921         * python/musicexp.py (Output_printer.__init__): use _ in data
6922         members.
6923         (Output_printer.unformatted_output): new function: no formatting,
6924         but count braces.
6925         (Duration.get_length): remove isinstance() checks for
6926         Output_printer everywhere.
6927
6928         * input/regression/lyrics-bar.ly (texidoc): add
6929         Separating_line_group_engraver.
6930
6931 2005-12-29  Jan Nieuwenhuizen  <janneke@gnu.org>
6932
6933         * lily/relocate.cc (framework_relocation): New function,
6934         factored from set_relocation ().
6935         (prefix_relocation): Rename from set_relocation ().
6936         (setup_paths): Use it.
6937
6938 2005-12-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6939
6940         * scm/*.scm: use LEFT/RIGHT/UP/DOWN etc. iso. magical
6941         numbers. Patch by Erlend Aasland.
6942
6943 2005-12-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6944
6945         * lily/font-config.cc (init_fontconfig): print warning if cache
6946         file is not existant.
6947
6948         * lily/main.cc: don't use #ifdef but #if
6949
6950 2005-12-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6951
6952         * lily/grob-property.cc (internal_set_property): don't abort on
6953         calculation-in-progress.
6954
6955         * lily/beam.cc (get_default_dir): robustness: don't divide by zero.
6956
6957         * lily/tuplet-bracket.cc (calc_control_points): oops: typo. Read
6958         connect-to-neighbor property not connect-to-other
6959
6960         * lily/program-option.cc (LY_DEFINE): remove Protected_scm global variable.
6961         (LY_DEFINE): oops. don't forget protection.
6962
6963         * flower/parse-afm.cc (Module): strip AFM handling completely.
6964
6965         * lily/stencil-expression.cc: idem.
6966
6967         * lily/grob-interface-scheme.cc (LY_DEFINE): idem.
6968
6969         * lily/function-documentation.cc (ly_add_function_documentation):
6970         use static member iso. Protected_scm
6971
6972         * lily/main.cc: use ifdef ARGV0_RELOCATION iso. MINGW
6973
6974         * config.make.in (prefix): remove HAVE_KPATHSEA_SO
6975
6976 2005-12-27  Jan Nieuwenhuizen  <janneke@gnu.org>
6977
6978         * lily/relocate.cc (set_env_dir): New function.
6979         (set_relocation): Use it to fix setting PANGO_PREFIX.
6980
6981 2005-12-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6982
6983         * input/regression/stem-direction-context.ly: remove rest.
6984
6985         * lily/melody-engraver.cc (process_music): restart for bar lines.
6986         (acknowledge_slur): restart for slurs.
6987
6988 2005-12-27  Heikki Junes  <hjunes@cc.hut.fi>
6989
6990         * Documentation/user/invoking.itely: describe how to view SVG 
6991         output using Inkscape which replace embedded fonts with OTF fonts.
6992
6993 2005-12-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
6994
6995         * lily/relocate.cc (set_relocation): set PANGO_PREFIX
6996
6997 2005-12-23  Jan Nieuwenhuizen  <janneke@gnu.org>
6998
6999         * lily/melody-engraver.cc (class Melody_engraver): Remove lying
7000         comment.
7001
7002 2005-12-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7003
7004         * VERSION (PACKAGE_NAME): release 2.7.25
7005
7006         * Documentation/topdocs/NEWS.tely (Top): document new feature.
7007
7008         * input/regression/stem-direction-context.ly: new file.
7009
7010         * lily/relocate.cc (set_relocation): add PANGO_PREFIX
7011
7012         * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
7013         on rest.
7014
7015         * ly/engraver-init.ly: add Melody_engraver
7016
7017         * lily/beam.cc (calc_direction): use default-direction
7018         iso. get_default_direction()
7019
7020         * scm/define-grob-properties.scm (all-user-grob-properties): add
7021         default-direction property.
7022
7023         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem.
7024
7025         * lily/stem.cc (calc_default_direction): remove
7026         Stem::get_default_direction, use default-direction with callback
7027         instead.
7028
7029         * lily/melody-spanner.cc (calc_neutral_stem_direction): 
7030
7031         * lily/melody-engraver.cc: new file. Acknowledge stems for
7032         interpolated stem directions. 
7033
7034         * lily/melody-spanner.cc: new file. Interpolate stem directions.
7035
7036         * scm/define-grobs.scm (all-grob-descriptions): add MelodyItem
7037
7038         * lily/slur-configuration.cc (fit_factor): more robust check for
7039         point in curve X-extent.
7040
7041         * lily/slur.cc (outside_slur_callback): return offset_scm, not 0.
7042         (outside_slur_callback): check for 'outside avoidance.
7043
7044         * lily/slur-configuration.cc (score_extra_encompass): don't use
7045         bound->column() == avoid->column() for checking extents, as this
7046         doesn't work for accidentals. 
7047
7048         * lily/slur-engraver.cc (acknowledge_extra_object): remove
7049         DynamicText hardcoding.
7050
7051         * lily/slur-scoring.cc (enumerate_attachments): robustness: don't
7052         crash if bound stem is NULL
7053
7054         * lily/piano-pedal-performer.cc: patch by MWD for enabling piano
7055         pedals.
7056
7057 2005-12-22  Graham Percival  <gpermus@gmail.com>
7058
7059         * scm/define-markup-commands.scm: typo.  @code{\raise}
7060         => @code{\\raise}.
7061
7062         * darwin.patch: now used again, includes a
7063         required patch from fink.
7064
7065 2005-12-21  Heikki Junes  <hjunes@cc.hut.fi>
7066
7067         * po/TODO: mention gtranslator along with kbabel.
7068         * po/fi.po: update translations.
7069
7070 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7071
7072         * lily/relocate.cc (setup_paths): Bugfix.
7073
7074 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7075
7076         * lily/slur-configuration.cc (score_extra_encompass): don't use
7077         "avoid" choice for avoid-slur.
7078
7079         * stepmake/bin/install.py (dest): don't create existing dir.
7080
7081 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7082
7083         * stepmake/bin/install.py: Remove file before copying.
7084
7085         * config.make.in: 
7086         * stepmake/aclocal.m4: Do not substitute INSTALL.
7087
7088 2005-12-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7089
7090         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7091         depend on link-tree.
7092
7093         * lily/relocate.cc (setup_paths): only check path for non-absolute
7094         dir without directory part.
7095
7096         * flower/file-name.cc (is_absolute):  new method.
7097         (is_absolute): check root_ too.
7098
7099 2005-12-21  Jan Nieuwenhuizen  <janneke@gnu.org>
7100
7101         * lily/relocate.cc (setup_paths) [__MINGW32__]: Comment-out broken
7102         relocation code.  Oops, don't comment out too much.
7103
7104         * stepmake/stepmake/generic-vars.make (INSTALL): Assign INSTALL_PY
7105         iso itself.
7106
7107         * lily/relocate.cc [HAVE_GETTEXT]: Include libintl.h.  Fixes mingw
7108         compile.
7109
7110 2005-12-20  Jan Nieuwenhuizen  <janneke@gnu.org>
7111
7112         * .cvsignore: Add install-sh.
7113
7114         * autogen.sh (srcdir): Typo.
7115
7116 2005-12-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7117
7118         * autogen.sh (srcdir): urg. Touch install-sh.
7119
7120         * stepmake/bin/install-sh (Module): remove.
7121
7122         * stepmake/stepmake/generic-vars.make (INSTALL): add $(INSTALL).
7123
7124         * lily/include/relocate.hh: new file.
7125
7126         * lily/relocate.cc: new file. Contain relocation logic.
7127
7128         * lily/main.cc (setup_paths): fix: LILYPOND_RELOCATE_PREFIX.
7129         (main): read LILYPOND_VERBOSE as the first thing.
7130
7131         * stepmake/aclocal.m4: remove INSTALL variable.
7132
7133         * GNUmakefile.in ($(tree-share-prefix)/mf-link-tree link-mf-tree):
7134         separate target for making font symlinks.
7135         (documentation-dir): use $(if $(findstring )) for switching off
7136         Documentation.
7137
7138         * stepmake/stepmake/help2man-vars.make (OUT_DIST_FILES): only do
7139         something if DOCUMENTATION is no.
7140
7141 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7142
7143         * VERSION: release 2.7.24
7144
7145         * lily/script-column-engraver.cc (stop_translation_timestep):
7146         delay adding to script-column.
7147
7148         * lily/tuplet-bracket.cc (print): suicide if no control-points. 
7149
7150         * python/convertrules.py (conv): rule for number-visibility
7151
7152         * lily/slur-configuration.cc (score_extra_encompass): different
7153         distance measure for avoid and inside avoidance.
7154         (score_extra_encompass): use 1/(distance+eps) as penalty.
7155
7156         * lily/slur-scoring.cc (generate_avoid_offsets): use 'inside
7157         encompass objects for generating slur curves.
7158
7159         * lily/slur.cc: use details iso. slur-details property.
7160
7161         * input/regression/slur-tuplet.ly: new file.
7162
7163         * lily/slur-engraver.cc (acknowledge_tuplet_number): new function.  
7164
7165         * flower/include/offset.hh (class Offset): new operator /=
7166
7167         * lily/tuplet-number.cc (print): new file, new interface.
7168
7169         * scm/define-grob-properties.scm (all-user-grob-properties):
7170         remove number-visibility property.
7171
7172         * lily/tuplet-bracket.cc (calc_control_points): new function
7173         (calc_connect_to_neighbors): new function.
7174         (print): remove text handling for tuplet numberdef.
7175
7176         * lily/tuplet-engraver.cc (struct Tuplet_description): create
7177         TupletNumbers too. 
7178
7179         * lily/lily-guile.cc (robust_scm2booldrul): new function
7180
7181         * scm/define-grobs.scm (all-grob-descriptions): new grob TupletNumber
7182
7183         * lily/tuplet-bracket.cc (calc_position_and_height): use
7184         staff-padding to control whether tuplet brackets are over staves.
7185
7186         * lily/grob.cc (suicide): clear dim_caches_.
7187
7188         * lily/dimension-cache.cc (clear): new function.
7189
7190         * lily/grob.cc (extent): swap order of min-extent and extent
7191         calculations. This fixes hara kiri staves. 
7192
7193 2005-12-19  Jan Nieuwenhuizen  <janneke@gnu.org>
7194
7195         * lily/main.cc: Nitpick: relocation is not based on path, but on
7196         directory (location).
7197
7198 2005-12-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7199
7200         * lily/main.cc (setup_paths): read LILYPOND_RELOCATE_PREFIX
7201
7202         * stepmake/stepmake/install-targets.make (local-uninstall): idem.
7203
7204         * stepmake/stepmake/install-out-targets.make (local-install-outfiles): idem.
7205
7206         * stepmake/stepmake/help2man-targets.make (install-help2man): idem.
7207
7208         * stepmake/stepmake/generic-vars.make (Module): idem.
7209
7210         * stepmake/stepmake/executable-targets.make (default): use it.
7211
7212         * stepmake/bin/install.py (create_dir): new file. Replace install-sh.
7213
7214         * make/GNUmakefile: don't install make rules.
7215
7216         * lily/main.cc (setup_paths): don't inspect $PATH for argv0 with
7217         slashes.
7218         (prepend_env_path): more verbosity.
7219
7220 2005-12-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7221
7222         * GNUmakefile.in: add dir argument for find command.
7223
7224         * lily/parser.yy (bass_figure): set_spot() for bass figures. This
7225         fixes weird line numbers for point & click.
7226
7227         * lily/source-file.cc (get_counts): init line/column/char counts.
7228
7229 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7230
7231         * lily/main.cc: remove ARGV0_RELOCATION, instead use --relocate.
7232
7233 2005-12-16  Graham Percival  <gpermus@gmail.com>
7234
7235         * Documentation/user/basic-notation.itely, advanced-notation.itely:
7236         minor fixes from Fredric.  Thanks!
7237
7238 2005-12-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7239
7240         * ly/music-functions-init.ly: add \bar and \clef music function 
7241
7242         * lily/lily-lexer.cc: idem.
7243
7244         * lily/parser.yy (FIXME): remove BAR and CLEF.
7245
7246 2005-12-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7247
7248         * Documentation/topdocs/NEWS.tely (Top): doc string argument change.
7249
7250         * lily/parser.yy (Generic_prefix_music_scm): allow strings as
7251         function arguments too
7252
7253         * lily/main.cc (set_relocation): new function.
7254
7255         * scripts/musicxml2ly.py (convert): add \version
7256
7257         * lily/tie.cc: remove get_default_attachments()
7258
7259         * VERSION (PACKAGE_NAME): release 2.7.23
7260         
7261         * lily/chord-tremolo-engraver.cc (acknowledge_stem): use
7262         ultimate_music_cause(). This fixes core dumps in unfold-all-repeats.ly
7263
7264         * Documentation/topdocs/NEWS.tely (Top): document new feature.
7265
7266         * lily/tie-formatting-problem.cc (score_ties): new function
7267         (get_variations): new function. Try flipping dirs for collisions.
7268         (generate_optimal_chord_configuration): new function. 1-opt search
7269         for better configuration.
7270
7271         * lily/tie-configuration.cc: new file.
7272
7273         * lily/tie.cc: junk Tie::get_configuration()
7274
7275         * lily/tie-formatting-problem.cc (score_ties_aptitude): new function.
7276         (score_ties_configuration): new function.
7277         (generate_ties_configuration): new function.
7278         (generate_base_chord_configuration): new function.
7279         (set_ties_config_standard_directions): Move body from tie-column-format.cc 
7280         (set_manual_tie_configuration): Move body from tie-column-format.cc 
7281
7282         * input/regression/tie-dot.ly: new file.
7283
7284         * lily/tie-formatting-problem.cc (score_configuration): score
7285         tie/dot collisions.
7286
7287         * lily/tie-helper.cc (get_transformed_bezier): new function
7288
7289         * Documentation/topdocs/NEWS.tely (Top): strip out-www.
7290
7291         * stepmake/stepmake/python-module-vars.make (SHARED_FLAGS): use
7292         -undefined suppress iso. -framework Python 
7293
7294         * scm/define-grobs.scm (all-grob-descriptions): set
7295         springs-and-rods (thanks Joe Neeman!)
7296
7297 2005-12-12  Nicolas Sceaux  <nicolas.sceaux@free.fr>
7298
7299         * input/no-notation/display-lily-tests.ly (test): 
7300         * scm/display-lily.scm (tag->lily-string): the syntax for tags has
7301         changed from \tag #'(a b) to \tag #'a \tag #'b
7302
7303 2005-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7304
7305         * Documentation/topdocs/NEWS.tely: strip out-www.
7306
7307         * lily/include/grob-interface.hh: include lily-guile.hh not libguile.h
7308
7309         * config.make.in (AR): add AR and RANLIB
7310
7311         * flower/libc-extension.cc: include cassert
7312
7313         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): more robust
7314         darwin check.
7315
7316 2005-12-11  Graham Percival  <gpermus@gmail.com>
7317
7318         * stepmake/stepmake/generic-vars.make: define DARWIN_BUILD.
7319
7320         * stepmake/stepmake/python-modules-vars.make: define
7321         SHARED_FLAGS for OSX.  Thanks Johannes Schindelin!
7322
7323         * THANKS: added Johannes Schindelin.
7324
7325 2005-12-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7326
7327         * python/midi.c (pymidi_parse): use memcmp() iso. strcmp().
7328
7329         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
7330         Span_arpeggio_engraver, add Tweak_engraver to Score context. 
7331
7332         * lily/parser.yy: reorganize file layout.
7333
7334         * ly/music-functions-init.ly: add tweak music function.
7335
7336         * lily/grob-info.cc (ultimate_music_cause): new function:
7337         recursively lookup causes. 
7338
7339         * lily/parser.yy (chord_body_element): allow music functions for
7340         post-events, allow music functions for chord elements. 
7341  
7342         * lily/font-config-scheme.cc (display_fontset): add cast.
7343
7344         * python/convertrules.py (FatalConversionError.sub_syms): \tag
7345         #'(a b) -> \tag #'a \tag #'b rule.
7346
7347         * python/musicexp.py (Output_printer.dump_version): new function
7348
7349 2005-12-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7350
7351         * lily/parser.yy (FIXME): remove \tag
7352         (FIXME): remove tag_music() function.
7353
7354         * lily/lily-lexer.cc: remove \tag
7355
7356         * ly/music-functions-init.ly: define music-function "tag"
7357
7358         * lily/parser.yy (chord_body_element): allow tags in chord bodies.
7359
7360 2005-12-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7361
7362         * VERSION (PATCH_LEVEL): release 2.7.22
7363
7364         * input/regression/lyric-hyphen-retain.ly: renew.
7365
7366         * scm/define-grobs.scm (all-grob-descriptions): add LyricSpace
7367         grob
7368
7369         * lily/lyric-hyphen.cc (set_spacing_rods): use minimum-distance
7370         iso. minimum-length property for rods.
7371
7372         * lily/hyphen-engraver.cc (acknowledge_lyric_syllable): create
7373         LyricSpace item to keep lyrics spaced apart.
7374
7375         * ly/engraver-init.ly: remove Separating_line_group_engraver
7376
7377         * Documentation/user/music-glossary.tely: do setfilename before
7378         music-glossary.
7379
7380 2005-12-07  Heikki Junes  <hjunes@cc.hut.fi>
7381
7382         * Documentation/user/lilypond-book.itely: use `,´ after xref:
7383         See xref documentation, for example.
7384
7385 2005-12-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7386
7387         * scripts/musicxml2ly.py (musicxml_voice_to_lily_voice): use
7388         pending_skip iso. ly_voice[-1]
7389         (main): add if __main__ for debugging.
7390
7391         * python/musicxml.py (Accidental.__init__): new class.
7392
7393         * scripts/musicxml2ly.py (progress): new function
7394         (musicxml_key_to_lily): don't barf on modeless keys.
7395         (create_skip_music): new function.
7396         (musicxml_spanner_to_lily_event): new function. Handle beams too.
7397         (musicxml_note_to_lily_main_event): new function.
7398
7399         * python/musicexp.py (Music.__init__): add comment field.
7400         (NestedMusic.append): new routine.
7401         (SequentialMusic.print_ly): print comment.
7402         (ArpeggioEvent.ly_expression): new class
7403         (BeamEvent.ly_expression): new class
7404         (NoteEvent.__init__): support for cautionary/forced accs.
7405
7406         * lily/lookup.cc (slur): normal order for array loop.
7407
7408         * scm/framework-ps.scm (dump-stencil-as-EPS): set left X of bbox
7409         to 0.0.
7410
7411         * ly/engraver-init.ly: set bar-size, so bar-lines aren't
7412         collapsed.
7413
7414 2005-12-06 Erik Sandberg  <mandolaerik@gmail.com>
7415
7416         * scm/music-functions.scm: Make phrasing slurs follow voice direction
7417
7418         * scripts/lilypond-book.py: Introduce option
7419             --preserve-line-breaks, for usage with srcltx
7420
7421 2005-12-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7422
7423         * scm/output-lib.scm (print-circled-text-callback): draw circle
7424         around text using make-circle-markup.
7425
7426         * Documentation/user/*: strip out-www from file names.
7427
7428 2005-12-05  Heikki Junes  <hjunes@cc.hut.fi>
7429
7430         * Documentation/user/lilypond.tely (direntry): remove empty lines;
7431         fixes invalid info entry issue with makeinfo 4.8 in debian sid.
7432
7433 2005-12-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7434
7435         * Documentation/user/GNUmakefile: idem.
7436
7437         * Documentation/user/macros.itexi: strip out-www
7438
7439         * python/rational.py: python 2.3 compat.
7440
7441         * VERSION (PATCH_LEVEL): release 2.7.21
7442
7443         * scripts/musicxml2ly.py (NonDentedHeadingFormatter.format_headi):
7444         option formatting, lilypond style.
7445
7446         * python/musicexp.py: grab from Ikebana: a library for composing
7447         ly music expressions. 
7448         (Output_printer): class for advanced .ly printing.
7449         (eg. tupletting) 
7450
7451         * python/musicxml.py: new file. Read MusicXML MiniDOM tree, and
7452         convert to pythonesque structure.
7453
7454         * python/rational.py: PD rational number class.
7455
7456         * Documentation/user/converters.itely (Invoking musicxml2ly):  new node.
7457
7458 2005-12-04  Erik Sandberg  <mandolaerik@gmail.com>
7459
7460         * lily/part-combine-iterator.cc: Minor bugfix
7461         
7462         * THANKS: Update bughunters
7463
7464 2005-12-02  Werner Lemberg  <wl@gnu.org>
7465
7466         * mf/README: Document process for proper mf2pt1 conversion.
7467
7468         * mf/feta-beugel.mf (draw_brace): Fix path to assure clean
7469         overlapping.
7470
7471         * mf/feta-harmonica.mf: Removed.  Unused.
7472
7473 2005-12-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7474
7475         * scripts/lilypond-book.py (do_file): fix thinkos.
7476
7477 2005-12-01  Jan Nieuwenhuizen  <janneke@gnu.org>
7478
7479         * lily/GNUmakefile ($(outdir)/FlexLexer.h):
7480         ($(outdir)/parser.cc): 
7481         ($(outdir)/lexer.cc): Bugfix: depend on config.h.
7482
7483 2005-11-30  Pedro Kröger  <kroeger@pedrokroeger.net>
7484
7485         * ly/titling-init.ly (tagline): it should be a space between
7486         "Music engraving by LilyPond" and the version number.
7487
7488 2005-12-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7489
7490         * VERSION (PACKAGE_NAME): release 2.7.20
7491
7492 2005-11-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7493
7494         * scm/define-markup-commands.scm (pad-to-box): new markup command.
7495
7496         * scm/define-grobs.scm (all-grob-descriptions): set thickness to
7497         1.0.
7498         (all-grob-descriptions): don't shift RehearsalMark arbitrarily.
7499
7500 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7501
7502         * configure.in (LINK_GXX_STATICALLY): remove kpathsea checks.
7503
7504         * kpath-guile/: remove directory
7505
7506         * scm/kpathsea.scm (ly:kpathsea-expand-variable): new
7507         file. Encapsulate kpathsea using commandline tools.
7508
7509         * lily/all-font-metrics.cc (kpathsea_find_file): use (scm
7510         kpathsea) module.
7511
7512 2005-11-29  Mats Bengtsson  <mabe@s3.kth.se>
7513
7514         * Documentation/user/advanced-notation.itely (Setting automatic
7515         beam behavior): Correct a few typos. Thanks to David Bobroff.
7516
7517         * scripts/lilypond-book.py (LATEX_INSPECTION_DOCUMENT): Use
7518         \usepackage instead of \RequirePackage. Thanks to Bernard Hurley.
7519
7520 2005-11-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7521
7522         * scripts/*.py: gmane address for bugs.
7523
7524 2005-11-28 Pal Benko <benkop@freestart.hu>
7525         
7526         * make/ly-rules.make: add -f switch to mv
7527
7528         * scm/output-libs.scm: add new bar symbol "." for punctus divisionis
7529
7530         * lily/bar-line.cc: interpret it
7531
7532 2005-11-28  Jan Nieuwenhuizen  <janneke@gnu.org>
7533
7534         * configure.in (--disable-documentation): New switch.
7535
7536         * GNUmakefile.in: Use it.
7537
7538         * stepmake/aclocal.m4: Use AC_ARG_ENABLE for kpatsea.
7539
7540 2005-11-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7541
7542         * scripts/lilypond-book.py (do_file): search chunks for
7543         \\begin{document}
7544
7545         * GNUmakefile.in: add copy step in between so we can lose the
7546         out-www directories.
7547
7548 2005-11-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7549
7550         * lily/pango-font.cc (pango_item_string_stencil): put
7551         geometry.width into glyph-string too.
7552
7553 2005-11-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
7554
7555         * scm/define-music-display-methods.scm (RevertProperty):
7556         (OverrideProperty): Use grob-property-path property, a list of
7557         symbols, instead of grob-property, which used to be a single
7558         symbol.
7559         (BassFigureEvent): a figure can be a plain number, not necessarily a
7560         markup.
7561
7562 2005-11-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7563
7564         * VERSION: release 2.7.19
7565         
7566         * lily/figured-bass-engraver.cc (process_music): check
7567         figuredBassCenterContinuations first.
7568
7569         * scm/translation-functions.scm (format-bass-figure): make double
7570         sharp larger. 
7571
7572         * lily/mark-engraver.cc: read rehearsalMarkAlignSymbol to
7573         determine X-parent.
7574
7575         * lily/system-start-delimiter-engraver.cc: move from
7576         Nested_system_start_delimiter_engraver, rename
7577         Nested_system_start_delimiter_engraver ->
7578         System_start_delimiter_engraver.
7579
7580         * lily/nested-system-start-delimiter-engraver.cc (from_list): read
7581         bracket type from hierarchy.
7582
7583 2005-11-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7584
7585         * lily/rest.cc (y_offset_callback): read staff-position.
7586
7587         * scm/define-grob-properties.scm (all-user-grob-properties): don't
7588         mark after-line-breaking-callback as internal.
7589
7590         * lily/self-aligment-interface.cc: remove self-[XY]-offset.
7591
7592 2005-11-25  Werner Lemberg  <wl@gnu.org>
7593
7594         * mf/feta-banier.mf ("d3"): Make `flare' equal to `staff_space'.
7595
7596 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7597
7598         * stepmake/bin/add-html-footer.py (do_file): add google
7599
7600         * lily/staff-symbol-engraver.cc (process_music): bugfix: stop
7601         staff if first_start_ is true.
7602
7603 2005-11-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7604
7605         * scripts/midi2ly.py (split_track): add __repr__ members.
7606         (track_first_item): only return Item if not None. This fixes a
7607         problem when dumping a track that starts with an empty channel.
7608
7609         * python/midi.c: doc module.
7610
7611 2005-11-22  Mats Bengtsson  <mabe@s3.kth.se>
7612
7613         * Documentation/user/global.itely (Creating MIDI files): Fix
7614         compilation problem.
7615
7616 2005-11-22  Graham Percival  <gpermus@gmail.com>
7617
7618         * Documentation/user/basic-notation.itely: clarify dynamic
7619         padding text.
7620
7621         * Documentation/user/advanced-notation.itely: add unicode
7622         escape control example, whatever that is.  :)
7623
7624         * Documentation/user/global.itely: added "removing dynamics
7625         from MIDI" code.
7626
7627 2005-11-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7628
7629         * VERSION (PATCH_LEVEL): release 2.7.18
7630
7631         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): replace
7632         System_start_delimiter_engraver by
7633         Nested_system_start_delimiter_engraver.
7634
7635         * lily/nested-system-start-delimiter-engraver.cc (struct
7636         Bracket_nesting_node): new class.
7637         (struct Bracket_nesting_group): new class
7638         (struct Bracket_nesting_staff): new class.
7639         (process_music): create hierarchy of grobs. This allows separate
7640         tuning of different SSDs. 
7641
7642         * scm/define-grobs.scm (all-grob-descriptions): new Grob SystemStartSquare
7643         (all-grob-descriptions): remove old NestedSystemStartDelimiter.
7644
7645 2005-11-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7646
7647         * lily/side-position-interface.cc (aligned_side): multiply
7648         staff_radius by 2.
7649
7650         * lily/script-engraver.cc (make_script_from_event): allow setting
7651         values to '()
7652
7653 2005-11-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7654
7655         * lily/system-start-delimiter.cc (line_bracket): don't shorten height.
7656
7657         * scm/define-grobs.scm (all-grob-descriptions): new grob
7658         NestedSystemStartDelimiter.
7659
7660         * input/regression/system-start-heavy-bar.ly: new file.
7661
7662         * lily/nested-system-start-delimiter-engraver.cc: new file.
7663
7664         * lily/nested-system-start-delimiter.cc: new file.
7665
7666         * input/regression/system-start-nesting.ly: new file.
7667
7668         * scm/define-grobs.scm (all-grob-descriptions): use X side
7669         positioning for positioning braces for nested contexts.
7670
7671         * lily/system-start-delimiter.cc (print): don't divide extent by
7672         staff_space.
7673         (print): use style iso. glyph.
7674         (staff_bracket): translate glyph inside routine already.
7675
7676 2005-11-18  Michael Welsh Duggan <md5i@cs.cmu.edu>
7677
7678         * lily/vaticana-ligature-engraver.cc: fixed 2 typos in glyph
7679         names.
7680
7681 2005-11-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7682
7683         * scm/define-context-properties.scm
7684         (all-user-translation-properties): rename figuredBassFormatter
7685         from newFiguredBassFormatter.
7686
7687         * scm/define-grobs.scm (all-grob-descriptions): move from NewBassFigure
7688
7689         * lily/figured-bass-engraver.cc: move from new-figured-bass-engraver.cc
7690
7691         * lily/stem.cc (calc_stem_info): trigger beaming calculation.
7692
7693         * lily/beam.cc (calc_beaming): new function.
7694         (calc_shorten): new function.
7695
7696         * THANKS: add Edward Neeman.
7697
7698         * input/regression/accidental-clef-change.ly: new file.
7699
7700         * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
7701
7702         * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
7703
7704         * lily/clef-engraver.cc (inspect_clef_properties): reset
7705         localKeySignature for clef changes.
7706
7707 2005-11-17  Mats Bengtsson  <mabe@s3.kth.se>
7708
7709         * python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3 
7710         add dummy definition that works in Linux and add information in
7711         INSTALL.texi on the specific Python requirements for Cygwin/Mingw.
7712
7713         * Documentation/user/changing-defaults.itely (Modifying context
7714         plug-ins): Add index for \with.
7715
7716         * Documentation/user/music-glossary.tely (dal segno): Updated
7717         example to version >=2.6.
7718
7719 2005-11-16  Mats Bengtsson  <mabe@s3.kth.se>
7720
7721         * Documentation/user/instrument-notation.itely (Printing chord
7722         names): Reorder \chordmode and \repeat in one example.
7723
7724 2005-11-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7725
7726         * VERSION: release 2.7.17
7727         
7728         * Documentation/topdocs/NEWS.tely (Top): add note about
7729         refactoring.
7730
7731         * lily/tie-formatting-problem.cc (find_optimal_tie_configuration):
7732         new function. Search region of 3 positions for best tie.
7733         (score_configuration): new function.
7734         (score_aptitude): new function.
7735         (generate_configuration): new function.
7736         (get_configuration): new function.
7737         (Tie_formatting_problem): new function
7738
7739         * input/regression/page-top-space.ly: a6 for page-top-space demo. 
7740
7741         * stepmake/aclocal.m4: use $(if ) for config-FOOF.make
7742
7743         * THANKS: add Eduardo Vieira & Ralph Little
7744
7745         * mf/feta-bolletjes.mf (solfa_quarter_width): make solfa heads
7746         narrower.
7747
7748         * lily/include/tie-formatting-problem.hh (class
7749         Tie_formatting_problem): add Tie_details to
7750         Tie_formatting_problem. Update calling conventions.
7751
7752         * stepmake/aclocal.m4: oops. Include $CONFIGFILE.make, not
7753         config.make.
7754
7755         * Documentation/user/lilypond.tely: remove musedata2ly entry.
7756
7757 2005-11-16  Jürgen Reuter  <reuter@ipd.uka.de>
7758
7759         * lily/ligature-engraver.cc, lily/include/ligature-engraver.hh,
7760         scm/define-context-properties.scm: Maintenance bugfix: make
7761         ligature brackets work again by removing obsolete ligature
7762         primitive callback push/pop.
7763
7764         * scm/define-grobs.scm (LigatureBracket): Maintenance bugfix: do
7765         not call Tuplet_bracket::calc_direction.  Removed obsolete gap
7766         value.
7767
7768 2005-11-15  Jan Nieuwenhuizen  <janneke@gnu.org>
7769
7770         * stepmake/aclocal.m4 (depth): Explain why absolute directory is
7771         used and do not call it a path.
7772         (FLEXLEXER_FILE): Rename from FLEXLEXER_PATH and add file name.
7773
7774 2005-11-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7775
7776         * lily/include/tie-formatting-problem.hh (class
7777         Tie_formatting_problem): new file.
7778
7779         * lily/tie-formatting-problem.cc (common_x_refpoint): new file.
7780
7781         * Documentation/misc/ChangeLog-2.3:  new file.
7782
7783         * lily/audio-staff.cc (output): degarianize.
7784
7785 2005-11-14  Jan Nieuwenhuizen  <janneke@gnu.org>
7786
7787         * stepmake/stepmake/python-module-rules.make ($(outdir)/%.pyc):
7788         Unset PYTHONOPTIMIZE.  Fixes install if set.
7789
7790 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7791
7792         * python/convertrules.py (conv): add warning about drums. 
7793
7794         * make/stepmake.make: include toplevel-version.make after config.make.
7795
7796         * stepmake/aclocal.m4 (depth): make sure $srcdir is absolute.
7797         also allow python2.4
7798
7799         * config.make.in (configure-srcdir): remove GXX GCC vars.
7800
7801         * stepmake/aclocal.m4: don't do non-srcdir build with
7802         symlinks. Use inclusion, so the src directory name can be changed.
7803
7804 2005-11-13  Jan Nieuwenhuizen  <janneke@gnu.org>
7805
7806         * make/mutopia-vars.make:
7807         * make/ly-vars.make: Use src-wildcard iso wildcard for source
7808         files.
7809
7810 2005-11-13  Werner Lemberg  <wl@gnu.org>
7811
7812         * mf/feta-arrow.mf: For all glyphs, don't mirror `currentpicture'
7813         but the affected path.  This ensures that the (overlapping) outlines
7814         have the same direction, which is a necessary prerequisite for
7815         FontForge's algorithm to remove overlaps.
7816         Formatting.
7817
7818         * mf/feta-haak.mf: Formatting.
7819         (draw_bracket): Slightly modify outline to avoid an unnecessary
7820         corner.
7821         Don't use ad-hoc values for `leave_angle' and `tip_angle' but derive
7822         them from the affected paths.
7823
7824 2005-11-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7825
7826         * mf/README: remove xpm / accordion notes.
7827
7828         * lily/tie-column-format.cc (set_chord_outline): add dots into
7829         skyline extents. This fixes tie formatting if the left head has dots.
7830
7831         * lily/tie.cc (get_configuration): only shift tie by a whole staff
7832         space inside the staff.
7833         (get_configuration): shift another position if necessary in case
7834         of left head tie  
7835
7836 2005-11-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7837
7838         * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): use
7839         buildscript-dir iso. $(depth)/buildscripts.
7840
7841         * tex/GNUmakefile (local-uninstall): remove
7842         music-drawing-routines.ps juggling.
7843
7844         * stepmake/stepmake/install-targets.make (local-install-files):
7845         prepend src-dir to install targets.
7846
7847         * lily/system-start-delimiter-engraver.cc
7848         (acknowledge_system_start_delimiter): use
7849         add_offset_callback(). This fixes translation of nested
7850         staffgroups.
7851
7852         * lily/grob-closure.cc (add_offset_callback): only encaps in
7853         simple_closure if it's a procedure.
7854         
7855         * lily/span-bar.cc (calc_glyph_name): read glyph-name, not glyph
7856         from bar-line.
7857
7858         * ly/engraver-init.ly (RemoveEmptyRhythmicStaffContext): add
7859         remove-empty where pertinent.
7860
7861 2005-11-12  Graham Percival  <gpermus@gmail.com>
7862
7863         * Documentation/user/instrument-notation.itely: added
7864         Cameron Horsburgh's multiple stanzas docs.  Thanks!
7865
7866 2005-11-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7867
7868         * lily/GNUmakefile
7869         ($(top-build-dir)/Documentation/pictures/$(outbase)/lilypond.ico):
7870         make picture in builddir, not srcdir.
7871
7872 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7873
7874         * VERSION: release 2.7.16
7875         
7876         * scripts/lilypond-book.py (main): use commands.mkarg () to quote
7877         shell arguments. 
7878
7879 2005-11-10  Mats Bengtsson  <mabe@s3.kth.se>
7880
7881         * Documentation/user/examples.itely (Piano templates): Minor
7882         modification to the Piano centered lyrics example.
7883
7884 2005-11-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7885
7886         * scripts/lilypond-invoke-editor.scm (run-browser): look at
7887         $BROWSER.
7888
7889         * Documentation/user/point-and-click.itely: simplify p&c
7890         instruction: don't configure firefox. Put lilypond-invoke-editor
7891         in front of the browser.
7892
7893         * scripts/lilypond-invoke-editor.scm (run-editor): new function.
7894         (run-browser): new function.
7895
7896         * lily/parser.yy (Lily_lexer): recognize Book
7897
7898         * lily/book.cc (clone): new function
7899
7900         * lily/parser.yy (book_body): allow BOOK_IDENTIFIER.
7901
7902 2005-11-10  Jürgen Reuter  <reuter@ipd.uka.de>
7903
7904         * lily/vaticana-ligature.cc, lily/vaticana-ligature-engraver.cc:
7905         Maintenance bugfix: reduce number of font related warnings by
7906         updating naming conventions for glyph-name.
7907
7908 2005-11-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7909
7910         * scm/define-grobs.scm (all-grob-descriptions): add
7911         rhythmic-grob-interface to TabNoteHead.
7912
7913         * scm/layout-beam.scm (check-quant-callbacks): remove
7914         set_stem_lengths()
7915
7916 2005-11-08  Jürgen Reuter  <reuter@ipd.uka.de>
7917
7918         * ly/gregorian-init.ly (divisiones): Maintenance bugfix: vertical
7919         alignment of centered divisiones.
7920
7921         * scm/scripts.scm (articulations): Maintenance bugfix:
7922         follow-into-staff -> quantize-position.
7923
7924         * lily/vaticana-ligature-engraver.cc (transform_heads): Bugfix:
7925         plica head in porrectus deminutus.
7926
7927 2005-11-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7928
7929         * make/lilypond.fedora.spec.in (Group): add %clean section.
7930
7931         * lily/tuplet-bracket.cc (print): change check: remove bracket if
7932         less then 1/5th of total length.  
7933         (print): use gap too.  Fixes tupletUp-single-bracket.ly
7934
7935         * scm/music-functions.scm (glue-mm-rest-texts): also put other
7936         events into EventChord. This fixes textspanners on mm rests. Fixes
7937         spanner-rest.ly
7938
7939         * lily/side-position-interface.cc (get_axis): read side-axis
7940         (set_axis): set side-axis.
7941
7942         * scm/define-grobs.scm (all-grob-descriptions): add side-axis
7943         properties everywhere.
7944
7945         * lily/spacing-spanner.cc (breakable_column_spacing): add
7946         average-spacing-wishes. Take maximum if not set.
7947         (musical_column_spacing): idem. Fixes: spacing-keysig-note.ly
7948
7949         * scm/define-grobs.scm (all-grob-descriptions): add
7950         average-spacing-wishes.
7951
7952         * lily/grob-closure.cc (add_offset_callback): bugfix: properly add
7953         offset callbacks. This fixes alignment for Fingering objects.
7954
7955         * scm/define-grobs.scm (all-grob-descriptions): tiny bit less
7956         space for key - timesig combination. 
7957
7958         * input/regression/script-stem-tremolo.ly (Module): new file.
7959
7960         * scm/define-grobs.scm (all-grob-descriptions): decrease distance
7961         to key sig.
7962
7963         * lily/dynamic-engraver.cc (acknowledge_stem_tremolo): new function.
7964         Fixes: c-tremolo-script.ly.
7965         
7966         * lily/text-engraver.cc (acknowledge_stem_tremolo): new function.
7967
7968         * lily/script-engraver.cc (acknowledge_stem_tremolo): new function.
7969         
7970         * scm/define-grobs.scm (all-grob-descriptions): remove
7971         self-X-offset. Fixes alignment of octavate-8.
7972
7973         * scripts/lilypond-book.py (datadir): look in
7974         LILYPONDPREFIX/share/lilypond/current/
7975
7976         * GNUmakefile.in: symlink current to <VERSION>. 
7977
7978 2005-11-07  Pedro Kroger  <kroeger@pedrokroeger.net>
7979
7980         * lily/main.cc: eps listed as a backend.
7981
7982 2005-11-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7983
7984         * scm/lily-library.scm (print-music-as-book): quote $defaultpaper.
7985
7986 2005-11-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7987
7988         * lily/include/score.hh (class Score): remove texts_ member.
7989
7990         * lily/beam.cc (set_stem_lengths): force direction callback.
7991         (print): read quantized-positions, so we can force
7992         Beam::set_stem_lengths to occur.
7993         (rest_collision_callback): use common X parent. 
7994
7995 2005-11-03  Jan Nieuwenhuizen  <janneke@gnu.org>
7996
7997         * flower/file-path.cc (find): Bugfix: Return name of file found.
7998
7999         * lily/main.cc (setup_paths): Bugfix for argv0 logic.
8000         (setup_paths)[__CYGWIN__ || __MINGW32__]: Normalize argv0.
8001         (setup_paths)[__MINGW32__]: Also look for argv0 + .exe.
8002
8003 2005-11-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8004
8005         * flower/offset.cc: idem.
8006
8007         * mf/*.mf: update email address.
8008
8009         * lily/font-config-scheme.cc:  new file.
8010
8011         * GNUmakefile.in (SUBDIRS): remove debian/ directory.
8012
8013         * lily/*:  cs.uu.nl -> xs4all.nl
8014
8015         * VERSION (PATCH_LEVEL): release 2.7.15
8016
8017         * make/lilypond.mandrake.spec.in (Module): remove Mandrake & Suse
8018         spec files.
8019
8020         * make/lilypond.fedora.spec.in: add %{libdir}/lilypond/
8021
8022 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8023
8024         * GNUmakefile.in: bugfix: encapsulate mkdir && cd in parens.   
8025
8026         * lily/staff-performer.cc (process_music): add audio
8027         elements. This makes MIDI instrument changes work once again.
8028
8029         * lily/main.cc (LY_DEFINE): add gmane address.
8030
8031         * lily/beam.cc: remove calc_positions()
8032
8033         * lily/include/grob.hh (class Grob): move pscore, dim_cache_,
8034         original_ in private scope.
8035         (class Grob): drop pscore_ pointer, change to output_def pointer.
8036         (class Grob): cleanup class definition.
8037
8038         * ly/spanners-init.ly (assertBeamQuant): use make-simple-closure.
8039
8040 2005-11-02  Jan Nieuwenhuizen  <janneke@gnu.org>
8041
8042         * lily/main.cc (setup_paths)[__MINGW32__]: Do not assume argv0 is
8043         absolute.  Better diagnostics.
8044
8045         * GNUmakefile.in: Add bin/ to tree and populate with some links.
8046         This makes lilypond run from the build directory using argv0
8047         relocation (without any --prefix or LILYPONDPREFIX setting).
8048
8049 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8050
8051         * Documentation/topdocs/NEWS.tely (Top): document new backend design.
8052
8053         * scm/define-grobs.scm: purge self-[XY]-offset variables, replace
8054         with simple-closure.
8055
8056         * lily/self-aligment-interface.cc (set_align_self): new function
8057         (set_center_parent): new function.
8058
8059         * lily/side-position-interface.cc (set_axis): new function.
8060
8061         * lily/new-fingering-engraver.cc (position_scripts): use drul for
8062         generic code. 
8063
8064         * scm/define-grob-properties.scm (all-user-grob-properties):
8065         remove [XY]-offset-callbacks add [YX]-offset
8066         
8067 2005-11-02  Mats Bengtsson  <mabe@s3.kth.se>
8068
8069         * scm/define-grobs.scm (all-grob-descriptions): Added space-alist
8070         entry for time signatures after breathing signs. Bug report by
8071         Scott Russell.
8072
8073 2005-11-01  Jan Nieuwenhuizen  <janneke@gnu.org>
8074
8075         * lily/main.cc (setup_paths)[!__MINGW32__]: Bugfix: if argv0 is
8076         not absolute, make it absolute using PATH.
8077
8078 2005-10-28  Jan Nieuwenhuizen  <janneke@gnu.org>
8079
8080         * python/midi.c (initmidi): Fix type for mingw.
8081
8082 2005-10-27  Jan Nieuwenhuizen  <janneke@gnu.org>
8083
8084         * stepmake/stepmake/compile-vars.make (SHARED_FLAGS): Support mingw.
8085
8086         * stepmake/stepmake/generic-vars.make (MINGW_BUILD): Detect mingw
8087         cross compiling.
8088
8089         * stepmake/aclocal.m4: Support python cross compiling.
8090
8091         * stepmake/stepmake/python-module-vars.make (SHARED_MODULE_SUFFIX):
8092         Add mingw section.
8093
8094 2005-11-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8095
8096         * scm/output-lib.scm (chain-grob-member-functions): replace
8097         chained-callback.cc
8098
8099         * lily/chained-callback.cc (Module): remove file.
8100
8101         * lily/rest-collision.cc (force_shift_callback_rest): change to
8102         chained callback.
8103
8104         * lily/rest.cc (y_offset_callback): merge function of 3 callbacks. 
8105
8106         * lily/grob.cc (y_parent_positioning): remove axis argument from
8107         parent_positioning callbacks.
8108         (Grob): junk init code
8109         (get_offset): use generic property callbacks for
8110         X-offset, Y-offset. Remove Grob::{add,has}_offset_callback.
8111         (axis_parent_positioning): new function
8112         (axis_offset_symbol): new function
8113         (chain_offset_callback): new function
8114         (add_offset_callback): new function
8115
8116         * lily/beam.cc (rest_collision_callback): change signature; this
8117         is now a chained callback.
8118
8119         * lily/include/dimension-cache.hh (class Dimension_cache): remove
8120         callback administration.
8121
8122         * lily/simple-closure.cc: new file. Smob type that allows "grob
8123         member functions",
8124
8125             (ly:make-simple-closure FUNC A B)
8126
8127         is evaluated as (FUNC grob A B). This allows chaining of callbacks
8128         in various ways.
8129
8130         * lily/slur-engraver.cc (acknowledge_extra_object): use chained
8131         callbacks.
8132
8133         * lily/slur.cc (outside_slur_callback): take 2 arguments.
8134
8135         * lily/rest.cc (polyphonic_offset_callback): remove.
8136
8137         * lily/script-engraver.cc (try_music): remove bool* argument.
8138
8139         * scm/script.scm (default-script-alist): set quantize-position
8140         appropriately.
8141
8142         * lily/script-engraver.cc: remove follow_into_staff_ special coding. 
8143
8144         * lily/side-position-interface.cc (aligned_side): move staff
8145         position quantization from
8146         Side_position_interface::quantised_position().
8147         (quantised_position): remove
8148         
8149 2005-10-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8150
8151         * input/regression/beam-quant-standard.ly: reindent, set
8152         debug-beam-quanting to #t.
8153
8154         * lily/beam-concave.cc (calc_concaveness): set concaveness to
8155         10000 if this is a "hard" concave beam.
8156
8157         * lily/beam.cc (calc_least_squares_positions): change from
8158         calc_least_squares_dy
8159         (set_stem_lengths): this is now a chained callback.
8160
8161         * lily/context-property.cc (execute_general_pushpop_property):
8162         bugfix override with procedure should have effect.
8163
8164         * scm/define-grob-properties.scm (all-internal-grob-properties):
8165         remove position-callbacks.
8166
8167         * scm/define-grobs.scm (all-grob-descriptions): use
8168         ly:make-callback-chain for positions property.
8169
8170         * scm/layout-beam.scm (check-quant-callbacks): return list of
8171         chained callbacks.
8172
8173         * scm/lily.scm (type-p-name-alist): add callback-chain
8174
8175         * lily/lily-guile.cc (type_check_assignment): type check failure
8176         is warning not message.
8177
8178         * lily/grob-property.cc (try_callback): walk callback chain if
8179         appropriate.
8180
8181         * lily/chained-callback.cc: new file. new smob type.
8182
8183         * lily/lily-guile.cc (procedure_arity): new function.
8184
8185 2005-10-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8186
8187         * Documentation/topdocs/INSTALL.texi (Top): add perl flex bison.
8188
8189 2005-10-25  John Mandereau  <john.mandereau@free.fr>
8190  
8191         * Documentation/user/instrument-notation.itely (Figured bass):
8192         describe new features
8193
8194 2005-10-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8195
8196         * lily/beam.cc (calc_least_squares_dy): use property callback.
8197
8198         * lily/beam-concave.cc (calc_concaveness): use property callback.
8199
8200         * ly/paper-defaults.ly: move fixed dimensions from paper.scm 
8201
8202 2005-10-25  Jan Nieuwenhuizen  <janneke@gnu.org>
8203
8204         * HACKING: Update.
8205
8206 2005-10-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8207
8208         * scm/layout-page-layout.scm (page-headfoot): annotate
8209         pagetopspace too.
8210
8211         * scm/stencil.scm (dimension-arrows): shorten arrowed lines a bit. 
8212
8213         * scm/layout-page-layout.scm (annotate-y-interval): y-annotation
8214         doesn't take y-space.
8215
8216         * scm/paper.scm (paper-alist): fix A7 dimensions. 
8217
8218 2005-10-24  Jan Nieuwenhuizen  <janneke@gnu.org>
8219
8220         * stepmake/stepmake/generic-vars.make (DIST_FILES): Fix
8221         src-wildcard, remove $(wildcard).
8222
8223         * po/GNUmakefile (PO_FILES): 
8224         * ps/GNUmakefile (PS_FILES): 
8225         * tex/GNUmakefile (TEX_FILES): 
8226         * cygwin/GNUmakefile (POSTINSTALLS):
8227         * vim/GNUmakefile (EXTRA_DIST_FILES): Bugfix: [etags sr?] missed
8228         some wildcard calls.
8229
8230 2005-10-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8231
8232         * THANKS: add Thomas Bushnell.
8233
8234 2005-10-23  Jan Nieuwenhuizen  <janneke@gnu.org>
8235
8236         * scm/lily.scm: Remove horrendous running-from-gui? kludge.
8237         (lilypond-main): Redirect to gui-main if 'gui is set.
8238
8239         * scripts/midi2ly.py (datadir): Add libdir iso datadir to path,
8240         for alternative installations kludging s/share/lib/g
8241         LILYPONDPREFIX. 
8242
8243         * SConstruct (libdir_package_version): Define.
8244
8245         * python/SConscript: 
8246         * python/GNUmakefile (INSTALLATION_OUT_DIR): Install binary .so
8247         module in libdir.  
8248
8249 2005-10-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8250
8251         * lily/main.cc: clarify --safe.
8252
8253 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8254
8255         * VERSION: release 2.7.14
8256         
8257         * Documentation/user/*.itely: remove minimumVerticalExtent.
8258
8259         * scm/define-grobs.scm (all-grob-descriptions): remove
8260         RemoveEmptyVerticalGroup
8261
8262         * lily/hara-kiri-engraver.cc (get_spanner): create VerticalAxisGroup.
8263
8264         * lily/include/lily-guile.hh (GUILE_ELLIPSIS): define to get clean
8265         compile on MOSX
8266
8267         * python/convertrules.py (conv): add rules.
8268
8269         * lily/grob.cc: remove is_empty()
8270
8271         * lily/grob-property.cc: remove add_to_list_property().
8272
8273         * scripts/convert-ly.py (datadir): add prefix switching hack to
8274         .py too.
8275
8276         * input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily (cresc): remove
8277         space-function tweak.
8278
8279         * lily/grob.cc: remove X-extent-callback / Y-extent-callback.
8280
8281         * scm/define-grob-properties.scm (all-user-grob-properties):
8282         remove callback property.
8283
8284         * lily/include/grob.hh (class Grob): remove property_callbacks_
8285         member. Properties of procedure type are assumed to be callbacks.
8286
8287         * lily/ligature-engraver.cc (override_stencil_callback):
8288         rewrite. Use noteHeadLigaturePrimitive as source.
8289
8290         * scm/define-grob-properties.scm (all-internal-grob-properties):
8291         remove ligature-primitive-callback
8292
8293         * lily/include/dimension-cache.hh (class Dimension_cache): make
8294         class, with Grob as friend.
8295
8296         * lily/grob.cc: remove set_extent_callback(), set_extent() and
8297         has_extent_callback()
8298
8299         * scm/translation-functions.scm (format-new-bass-figure): read
8300         figuredBassPlusDirection
8301
8302         * scm/define-context-properties.scm
8303         (all-user-translation-properties): add figuredBassPlusDirection.
8304
8305         * lily/staff-spacing.cc (next_notes_correction): oops. Init wishes.
8306
8307         * lily/align-interface.cc (set_ordered): new function.
8308
8309         * lily/grob.cc (flush_extent_cache): rewrite.
8310
8311         * lily/dimension-cache.cc (Dimension_cache): cache extent as
8312         Interval pointer directly.
8313
8314         * lily/main.cc (setup_paths): insert extra / .
8315         (setup_paths): junk cff entry.
8316
8317         * lily/font-config.cc (init_fontconfig): only add type1 / otf
8318         directories.
8319
8320         * lily/axis-group-engraver.cc (finalize): remove
8321         extraVerticalExtent, minimumVerticalExtent verticalExtent.
8322
8323         * lily/grob.cc (Grob): don't set extent from ctor.
8324         (extent): use property callbacks. 
8325
8326         * lily/axis-group-interface.cc: remove set_axes() function.
8327
8328         * lily/grob-property.cc (del_property): new function.
8329
8330 2005-10-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8331
8332         * lily/font-config.cc (init_fontconfig): resurrect mf/out/ check.
8333         
8334 2005-10-20  Jan Nieuwenhuizen  <janneke@gnu.org>
8335
8336         * stepmake/stepmake/script-vars.make (PYTHON_SCRIPTS_IN): Oops.  Add.
8337
8338 2005-10-19  Jan Nieuwenhuizen  <janneke@gnu.org>
8339
8340         * mf/SConscript: Updates.
8341
8342         * lily/GNUmakefile (OUT_DIST_FILES): Bugfix.
8343
8344         * stepmake/stepmake/*:
8345         * */GNUmakefile:
8346         * config.make.in:
8347         * GNUmakefile.in:
8348         * stepmake/aclocal.m4: Friendlier --srcdir build, allowing `make'
8349         from any directory in build-dir.  Cleanups.
8350
8351         * make/srcdir.make.in: Remove.
8352
8353         * lily/main.cc (setup_paths): Fix and document build-dir hack.
8354
8355         * SConstruct (CheckYYCurrentBuffer): Use TryCompile (there is no
8356         main).
8357
8358         * lily/SConscript: Remove ttftools.
8359
8360         * SConstruct: Resurrect.
8361
8362 2005-10-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8363
8364         * lily/tuplet-bracket.cc (print): use dy iso. positions[RIGHT] for
8365         Y coordinate. 
8366
8367         * lily/paper-book.cc (add_score_title): put Paper_score title into
8368         systems_ list.
8369
8370         * scm/translation-functions.scm (format-new-bass-figure): also
8371         allow plus in combination with _
8372
8373 2005-10-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8374
8375         * VERSION: 2.7.13 released.
8376
8377         * lily/note-collision.cc (check_meshing_chords): don't wipe
8378         stencil, merely set transparent.
8379
8380         * Documentation/topdocs/NEWS.tely (Top): mention John Mandereau. 
8381         (Top): document #'callbacks.
8382         (Top): document nested \override.
8383
8384         * input/regression/figured-bass.ly: update for slash and pluses.
8385
8386         * input/regression/figured-bass-continuation-forbid.ly (Module):
8387         new file.
8388
8389         * scm/translation-functions.scm (format-new-bass-figure): use
8390         slashed-digit if diminished is set.
8391         (format-new-bass-figure): add + if 'augmented is set.
8392
8393         * scm/define-markup-commands.scm (slashed-digit): new command slashed-digit.
8394
8395         * input/test/piano-staff-distance.ly: remove file.
8396
8397         * Documentation/user/advanced-notation.itely (Formatting cue
8398         notes): use length-fraction for making stems/beams smaller.
8399
8400         * lily/parser.yy (bass_figure): accept \+ \! and / as figured bass
8401         modifications.
8402
8403         * lily/new-figured-bass-engraver.cc: new property
8404         centerFiguredBassContinuations
8405
8406         * Documentation/user/changing-defaults.itely (Difficult tweaks):
8407         use callbacks.
8408
8409         * lily/context-property.cc (execute_general_pushpop_property):
8410         robustness checks.
8411
8412         * input/regression/override-nest.ly: new file.
8413
8414         * python/convertrules.py (FatalConversionError.subber): conversion
8415         rule for #'callbacks
8416
8417         * input/regression/override-nest.ly: new function.
8418
8419         * lily/parser.yy (music_property_def): allow \override #'a #'b =
8420         #c too. 
8421
8422         * lily/context-property.cc (lookup_nested_property): new function.
8423         (evict_from_alist): new function.
8424         (general_pushpop_property): new function.
8425         (execute_general_pushpop_property): rewrite. Support nested
8426         properties too.
8427
8428 2005-10-16  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8429
8430         * lily/beam.cc: use length-fraction too.
8431
8432         * scm/define-grob-properties.scm (all-user-grob-properties):
8433         remove property flag-width-function
8434         (all-user-grob-properties): remove space-function.
8435
8436         * scm/layout-beam.scm: remove flag-width-function.
8437
8438         * lily/beam.cc: remove flag-width-function
8439
8440         * scm/layout-beam.scm: remove beam dir functions.
8441
8442         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): use length-fraction.
8443
8444         * lily/stem.cc (calc_length): multiply with length_fraction. Makes
8445         for easier grace tweaks.
8446
8447         * lily/beam.cc: remove dir-function.
8448
8449         * lily/system.cc (pre_processing): use callback to trigger spacing procedures.
8450
8451         * lily/grob.cc: remove spacing-procedure.
8452
8453         * lily/note-head.cc (calc_stem_attachment): new function.
8454         (internal_print): use callback to get glyph-name.
8455
8456         * lily/grob-property.cc (get_interfaces): new function.
8457
8458         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-interfaces
8459
8460         * lily/stem.cc (calc_stem_end_position): new function.
8461         (calc_length): new function.
8462         document details for stem.
8463         remove Stem::get_direction()
8464
8465         * lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-set-callback! 
8466
8467         * lily/grob-property.cc (set_callback): new function.
8468
8469         * lily/script-engraver.cc (make_script_from_event): don't trigger callback.
8470
8471         * lily/item-scheme.cc: new file.
8472
8473         * lily/bar-line.cc (before_line_breaking): remove function.
8474         remove bar-size-procedure, break-glyph-function
8475
8476         * lily/clef-engraver.cc (set_glyph): use glyph iso. glyph-name
8477
8478         * lily/clef.cc (before_line_breaking): change to calc_glyph_name.
8479
8480         * lily/system-start-delimiter.cc (print): suicide from
8481         here. Remove after_line_breaking_callback.
8482
8483         * lily/script-interface.cc (calc_direction): use callback for direction.
8484
8485         * lily/side-position-interface.cc (aligned_side): don't use
8486         Side_position_interface::get_direction directly. Use callback. 
8487
8488         * lily/grob.cc (get_stencil): simplify: use callback mechanism to
8489         calculate stencil.
8490         (get_print_stencil): rename from get_stencil: create stencil with
8491         transparency, color and cause. 
8492
8493         * scm/define-grobs.scm: change print-function to stencil callback everywhere.
8494
8495         * python/convertrules.py (conv): insert temporary warning rule.
8496
8497         * lily/multi-measure-rest.cc (set_text_rods): use stencil directly.
8498
8499         * lily/grob-property.cc (try_callback): remove marker if applicable.
8500
8501         * lily/grob.cc: elucidate doc about after/before-line-breaking
8502
8503         * lily/slur-scoring.cc (enumerate_attachments): robustness fix.
8504
8505         * lily/stem.cc (height): idem.
8506
8507         * lily/stem-tremolo.cc: idem.
8508
8509         * lily/slur.cc (height): don't use get_uncached_stencil()
8510
8511         * lily/rest.cc (y_offset_callback): use offset callback
8512         iso. after-line-breaking callback.
8513
8514         * lily/grob.cc: change after/before-line-breaking-callback to
8515         after/before-line-breaking dummy properties.
8516
8517         * lily/include/grob.hh: remove Grob_status.
8518
8519         * scm/define-context-properties.scm
8520         (all-user-translation-properties): remove verticalAlignmentChildCallback
8521
8522         * lily/tuplet-bracket.cc: use positions property iso. left,right-position.
8523         (calc_direction): use callback
8524         (calc_positions): use callback.
8525
8526         * lily/tie.cc (calc_direction): use callback. Only call parent
8527         positioning for more than one tie.
8528
8529         * lily/tie-column.cc (calc_positioning_done): use callback
8530
8531         * lily/slur-scoring.cc (calc_control_points): use callback
8532
8533         * lily/slur.cc (calc_direction): use callback.
8534
8535         * lily/note-collision.cc (force_shift_callback): remove.
8536
8537         * lily/dot-column.cc (force_shift_callback): remove. Use
8538         other_axis_parent_positioning.
8539
8540         * lily/grob.cc (other_axis_parent_positioning): new function.
8541         (same_axis_parent_positioning): new function
8542
8543         * lily/align-interface.cc (alignment_callback): remove function.
8544
8545         * lily/note-collision.cc (calc_positioning_done): use callback.
8546
8547         * lily/laissez-vibrer-tie.cc (calc_control_points): use callback.
8548         (calc_direction): idem.
8549         remove print function.
8550
8551         * lily/laissez-vibrer-tie-column.cc (calc_positioning_done): use callback.
8552
8553         * lily/dot-column.cc (calc_positioning_done): use callback.
8554
8555         * lily/break-align-interface.cc (calc_positioning_done): use callback.
8556
8557         * lily/beam.cc (calc_direction): use pseudo-property for beam
8558         direction callback.
8559         (calc_positions): use callback 
8560
8561         * lily/align-interface.cc (calc_positioning_done): use
8562         callback. Fold fixed  distance and normal alignment in one function.
8563
8564         * lily/stem.cc (calc_stem_end_position): use callback.
8565         (calc_positioning_done): idem.
8566         (calc_direction): idem.
8567         (calc_stem_end_position): idem
8568         (calc_stem_info): idem.
8569
8570         * lily/grob-property.cc (get_property_data): new function: 
8571         (try_callback): new function.
8572
8573         * scm/define-grob-properties.scm (all-user-grob-properties): doc
8574         callbacks property.
8575
8576         * lily/break-align-interface.cc: remove Break_align_interface::alignment_callback.
8577
8578 2005-10-15  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8579
8580         * lily/tie.cc (get_position): robustness fix. Don't crash if a
8581         tie
8582         has no heads.
8583         
8584         * lily/include/*.hh (Module): compile fixes.
8585
8586 2005-10-14  Heikki Junes <hjunes@cc.hut.fi>
8587
8588         * elisp/lilypond-font-lock.el, elisp/lilypond-indent.el: Avoid nil 
8589         as an argument for char-syntax: use (char-syntax (or nil 0)) 
8590         instead of (char-syntax nil), thanks to Milan Zamazal.
8591
8592 2005-10-14  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8593
8594         * make/lilypond.fedora.spec.in (Group): add lilypond-internals to
8595         dist.
8596
8597         * lily/tuplet-bracket.cc: check columns of bounds, not bounds
8598         themselves.
8599
8600 2005-10-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8601
8602         * flower/include/virtual-methods.hh (VIRTUAL_COPY_CONSTRUCTOR):
8603         add class_name() method.
8604
8605         * lily/music-scheme.cc: remove ly:music-name.
8606
8607 2005-10-11  Jan Nieuwenhuizen  <janneke@gnu.org>
8608
8609         * cygwin/postinstall-lilypond.sh: Remove cruft.
8610
8611         * cygwin/postremove-lilypond.sh: Remove.
8612
8613         * cygwin/GNUmakefile (default): Remove postremove rules.
8614
8615 2005-10-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8616
8617         * ly/titling-init.ly (evenHeaderMarkup): use space in header on
8618         even header too.
8619         
8620         * scm/define-markup-commands.scm (wordwrap-string): bugfix for
8621         MacOS 9 users.
8622
8623         * lily/hara-kiri-group-spanner.cc (consider_suicide): only
8624         consider break index for broken spanner.
8625
8626         * scm/define-markup-commands.scm (wordwrap-string): remove \r
8627         characters from string before splitting.
8628
8629 2005-10-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8630
8631         * scm/framework-ps.scm (output-preview-framework): use
8632         is-book-title to determine whether to chop off the booktitle.
8633
8634         * lily/paper-book.cc (systems): init from book-title-properties
8635         (add_score_title): init score-title-properties.
8636
8637         * ly/paper-defaults.ly: add {score,book}-title-properties.
8638
8639         * scm/document-backend.scm (lookup-interface): error message if
8640         using unknown interface.
8641
8642         * lily/volta-bracket.cc (after_line_breaking): new function. Set
8643         edge-height.
8644
8645         * lily/horizontal-bracket.cc (make_enclosing_bracket): rename from
8646         make_bracket.
8647         (make_bracket): new function.
8648
8649         * scm/lily.scm (define-scheme-options): add paper-size option.
8650
8651         * ly/declarations-init.ly (laissezVibrer): get paper size from
8652         -dpaper-size
8653
8654         * scm/translation-functions.scm: use \fontsize for changing the
8655         fontsize.
8656
8657         * scm/define-grobs.scm (all-grob-descriptions): set
8658         between-length-limit to 1.0
8659
8660         * lily/tie-helper.cc: add between_length_limit_ detail property.
8661
8662         * mf/feta-bolletjes.mf: typos.
8663
8664         * lily/note-head.cc (internal_print): don't shadow idx
8665         parameter. This fixes wrong attachment for do shape heads.
8666
8667 2005-10-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8668
8669         * scm/parser-ly-from-scheme.scm: rename from ly-from-scheme.scm
8670
8671         * scm/parser-clef.scm (supported-clefs): rename from clef.scm
8672
8673         * scm/layout-slur.scm: rename from slur.scm
8674
8675         * scm/layout-page-layout.scm: rename from page-layout.scm
8676
8677         * scm/layout-beam.scm: rename from beam.scm
8678
8679         * scm/define-grob-interfaces.scm (bass-figure-interface): add
8680         bass-figure-interface
8681
8682         * lily/new-figured-bass-engraver.cc (process_music): add
8683         implicitBassFigures property.
8684         
8685         * scm/define-markup-commands.scm (pad-x): new markup.
8686
8687         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): set
8688         minimumVerticalExtent on FiguredBass context.
8689
8690         * lily/figured-bass-continuation.cc (center_on_figures): kludge in
8691         case the continuation crosses a line break.
8692
8693 2005-10-09  Jan Nieuwenhuizen  <janneke@gnu.org>
8694
8695         * flower/file-name.cc (dos_to_posix)[__CYGWIN__]: Return
8696         unconverted value if cygwin_conv_to_posix_path () fails.  Fixes
8697         absolute file name bug.  
8698
8699 2005-10-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8700
8701         * VERSION (PACKAGE_NAME): release 2.7.12
8702
8703         * input/regression/figured-bass-continuation-center.ly: new file.
8704
8705         * input/regression/beam-outside-beamlets.ly: new file.
8706
8707         * lily/beam.cc (set_beaming): don't clip edges.
8708         (connect_beams): don't clip edges.
8709
8710         * lily/beaming-info.cc (clip_edges): new function.
8711
8712         * lily/enclosing-bracket.cc (struct Enclosing_bracket): new file.
8713
8714         * Documentation/user/instrument-notation.itely (Figured bass):
8715         demonstrate extenders, update seealso links.
8716
8717         * scm/titling.scm (marked-up-headfoot): change tagline
8718         handling. tagline = ##f will blank the tagline as well.
8719
8720 2005-10-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8721
8722         * Documentation/topdocs/NEWS.tely: add entry for Figured bass.
8723
8724         * lily/new-figured-bass-engraver.cc (struct
8725         New_figured_bass_engraver): add new_music_found_ member.
8726
8727         * lily/lilypond-version.cc (Lilypond_version): deal with
8728         incorrectly formatted version strings. 
8729
8730         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): switch on
8731         New_figured_bass_engraver by default.
8732
8733         * lily/ttf.cc (print_trailer): only define glyph names when
8734         FT_Face has FT_FACE_FLAG_GLYPH_NAMES
8735
8736 2005-10-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8737
8738         * lily/horizontal-bracket.cc (make_bracket): new function.
8739
8740         * scm/define-grobs.scm (all-grob-descriptions): new grobs
8741         NewBassFigure, BassFigureBracket, BassFigureContinuation,
8742         BassFigureLine, BassFigureAlignment
8743
8744         * lily/new-figured-bass-engraver.cc (process_music): new file.
8745
8746         * lily/figured-bass-continuation.cc: new file.
8747
8748         * lily/include/horizontal-bracket.hh (struct Horizontal_bracket):
8749         new file.
8750
8751 2005-10-04  Mats Bengtsson  <mabe@s3.kth.se>
8752
8753         * scripts/lilypond-book.py: Bug fix, put the quote around the
8754         actual score for LaTeX documents.
8755
8756         * scm/define-grobs.scm (all-grob-descriptions): Change
8757         collapse-height of the SystemStartBracket grob to 5.0, 
8758         so the bracket disappears for single stave score lines (similarly
8759         to SystemStartBraces). 
8760
8761         * Documentation/user/advanced-notation.itely (Polymetric
8762         notation): Clarify the use of compressMusic.
8763
8764         * Documentation/user/basic-notation.itely (Grace notes): Clarify
8765         that the grace spacer note in other staves need the same duration
8766         and document the stroke-style property.
8767
8768 2005-10-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8769
8770         * Documentation/user/global.itely (Vertical spacing): document
8771         alignment-extra-space and fixed-alignment-extra-space.
8772
8773         * Documentation/topdocs/NEWS.tely (Top): add entry.
8774
8775         * input/regression/alignment-vertical-spacing.ly: new file.
8776
8777         * python/convertrules.py (conv): add rule.
8778
8779         * ly/music-functions-init.ly: rename outputProperty to overrideProperty
8780
8781         * lily/align-interface.cc (stretch_after_break): new
8782         function. Read fixed-alignment-extra-space property.
8783         (align_elements_to_extents): read alignment-extra-space property.
8784
8785         * lily/lily-guile.cc (robust_scm2dir): new function.
8786
8787         * scm/page-layout.scm (page-headfoot): annotate headsep and footsep.
8788         (annotate-space-left): new function. Annotate space left on page. 
8789         (annotate-y-interval): new function.
8790         (paper-system-annotate-last): new function. Annotate bottom-space.
8791
8792         * mf/feta-beugel.mf (y): 
8793
8794 2005-10-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8795
8796         * VERSION (PACKAGE_NAME):  release 2.7.11
8797
8798         * scm/lily-library.scm (interval-translate): new function
8799         (interval-center): new function. 
8800
8801         * scm/page-layout.scm (paper-system-annotate): new function. Add
8802         arrows for dimensions.
8803  
8804         * scm/stencil.scm (dimension-arrows): new function.
8805
8806         * Documentation/user/global.itely (Vertical spacing): mention annotatespacing
8807
8808         * input/regression/page-spacing.ly: add annotatespacing
8809
8810         * lily/paper-system-scheme.cc (LY_DEFINE): remove ly:paper-system-{extent,stencil}
8811         (LY_DEFINE): new function ly:paper-system-set-property!
8812
8813         * Documentation/user/global.itely (Paper size): explain how to add
8814         sizes.
8815
8816         * scm/paper.scm (paper-alist): rename tabloid paper to 11x17 to
8817         correspond to GS's definition.
8818
8819         * lily/tuplet-bracket.cc (after_line_breaking): suicide empty
8820         tuplet bracket.
8821         (print): only connect to next bracket if the next one is alive.
8822         (print): set padding to 0.0 if the bound is a breakable
8823         column. This makes tupletFullLength brackets reach up to the staff
8824         line if it doesn't connect to the next line.
8825
8826 2005-09-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8827
8828         * lily/bar-number-engraver.cc: correct docs.
8829
8830         * scm/output-lib.scm (first-bar-number-invisible): rename from
8831         default-bar-number-visibility
8832
8833 2005-09-28  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8834
8835         * scm/define-music-properties.scm (all-music-properties): remove
8836         predicate property.
8837
8838 2005-09-28  Heikki Junes  <hjunes@cc.hut.fi>
8839
8840         * po/fi.po: refresh.
8841
8842 2005-09-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8843
8844         * input/regression/hara-kiri-pianostaff.ly (disappear): remove
8845         superfluous s1.
8846         (disappear): bugfix.
8847
8848         * lily/stem-tremolo.cc (raw_stencil): read slope property.
8849
8850         * lily/include/paper-system.hh (class Paper_system): remove
8851         staff_extents_ member.
8852
8853         * lily/paper-system-scheme.cc (LY_DEFINE): remove.
8854
8855         * lily/include/paper-system.hh (class Paper_system): remove
8856         number_ variable. Remove is_title_. Remove break_before_penalty_
8857
8858         * lily/paper-book.cc (systems): use 'number property iso. number_
8859         member.
8860
8861         * lily/paper-system-scheme.cc: remove ly:paper-system-break-before-penalty
8862         remove ly:paper-system-number.
8863
8864         * scm/lily-library.scm (paper-system-title?): new function.
8865
8866         * lily/book.cc (process): bugfix: flip ?: cases. 
8867
8868         * Documentation/user/changing-defaults.itely (Difficult tweaks):
8869         add outputProperty.
8870
8871         * ly/music-functions-init.ly: add outputProperty music function.
8872
8873         * scm/paper.scm (set-paper-dimension-variables): add pagetopspace
8874
8875         * scm/page-layout.scm (ly:optimal-page-breaks): read next-space
8876         and next-padding.
8877         (optimal-page-breaks): rename from ly:optimal-page-breaks.
8878
8879         * lily/paper-system-scheme.cc (LY_DEFINE): new function.
8880
8881         * lily/paper-system.cc (internal_get_property): new function.
8882
8883         * Documentation/user/global.itely (Vertical spacing): refer to
8884         page-spacing.ly
8885
8886         * scm/page-layout.scm (ly:optimal-page-breaks): add support for
8887         pagetopspace
8888
8889         * input/regression/page-spacing.ly: new file.
8890
8891         * input/regression/page-top-space.ly: new file.
8892
8893         * lily/spacing-spanner.cc: cmath -> math.h
8894
8895         * lily/paper-system.cc (read_left_bound): new function. Read
8896         line-break-system-details from left bound to determine extents.
8897  
8898         * Documentation/user/programming-interface.itely (Using LilyPond
8899         syntax inside Scheme): change applyxxx -> applyXxx.
8900
8901         * ly/music-functions-init.ly: add outputProperty music function.
8902
8903         * lily/parser.yy (Generic_prefix_music_scm): add scm-scm-scm signature.
8904
8905         * lily/grob-scheme.cc (LY_DEFINE): add ! to ly:grob-suicide! name.
8906
8907         * python/convertrules.py (conv): rule
8908
8909         * ly/music-functions-init.ly: applyxxx -> applyXxx
8910
8911         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): alias
8912         TabVoice to Voice.
8913
8914 2005-09-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8915
8916         * flower/include/real.hh: include <math.h> iso. <cmath>
8917
8918         * flower/include/offset.hh: include real.hh
8919
8920 2005-09-20  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8921
8922         * Documentation/user/changing-defaults.itely (Difficult tweaks):
8923         fix example, now that 'interfaces is no longer directly available.
8924
8925         * lily/book.cc (process): don't crash if paper == NULL.
8926
8927         * po/fr.po: update.
8928
8929 2005-09-17  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8930
8931         * scm/define-music-types.scm (music-descriptions): set length and
8932         start-callback for QuoteMusic
8933
8934 2005-09-15  Mats Bengtsson  <mabe@s3.kth.se>
8935
8936         * lily/tie.cc (get_configuration): Replace fabs -> abs for integer
8937         arguments. Fixes compilation error with gcc 3.3.
8938
8939 2005-09-13  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8940
8941         * VERSION: release 2.7.10
8942
8943         * stepmake/stepmake/python-module-rules.make
8944         ($(outdir)/%$(SHARED_MODULE_SUFFIX)): SHARED_FLAGS at the end.  
8945
8946         * lily/*.cc: remove <cmath> everywhere. <cmath> is included from
8947         real.hh
8948
8949 2005-09-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8950
8951         * stepmake/stepmake/c++-vars.make (#EXTRA_CXXFLAGS): don't add
8952         -Werror. Otherwise GCC barfs over various optimizations.
8953
8954         * scm/define-grob-properties.scm (all-internal-grob-properties):
8955         add note-head property
8956
8957         * Documentation/user/instrument-notation.itely (Laissez vibrer
8958         ties): new node.
8959
8960         * input/regression/laissez-vibrer-ties.ly: new file.
8961
8962         * lily/laissez-vibrer-engraver.cc: new file.    
8963
8964         * lily/include/tie-column-format.hh: new file.
8965
8966         * lily/tie-column-format.cc: new file. 
8967
8968         * lily/tie-column.cc (set_manual_tie_configuration): new function.
8969
8970         * lily/laissez-vibrer-tie.cc: new file.
8971
8972         * lily/include/laissez-vibrer-tie.hh: new file.
8973
8974         * ly/engraver-init.ly: add Laissez_vibrer_engraver
8975
8976         * ly/declarations-init.ly (laissezVibrer): add \laissezVibrer
8977
8978         * scm/define-grobs.scm (all-grob-descriptions): add
8979         LaissezVibrerTie, LaissezVibrerTieColumn
8980
8981         * lily/tie-column.cc (set_tie_config_directions): new function
8982         (final_shape_adjustment): new function.
8983         (shift_small_ties): new function.
8984
8985         * scm/define-music-types.scm (music-descriptions): add LaissezVibrerEvent
8986
8987         * lily/include/tie.hh (struct Tie_details): add x_gap_
8988         (struct Tie_configuration): add head_position_
8989
8990         * lily/tie-column.cc (set_chord_outline): new function.
8991
8992         * mf/cmr.enc.in:  remove file.
8993
8994 2005-09-11  Graham Percival  <gpermus@gmail.com>
8995
8996         * Documentation/user/examples.itely: typo fix.  Thanks, Matevž
8997
8998 2005-09-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
8999
9000         * mf/feta-banier.mf: make vertical stem 1/2 stemthickness wide to
9001         reduce aliasing effects.
9002
9003         * lily/tie-column.cc (set_chord_outlines): bugfix: insert complete
9004         box in skyline.
9005
9006 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9007
9008         * lily/tie.cc (get_configuration): don't crash if left_dot is NULL.
9009
9010         * flower/include/real.hh: std::fabs too.
9011
9012 2005-09-08  Jan Nieuwenhuizen  <janneke@gnu.org>
9013
9014         * Documentation/user/lilypond.tely: Spell Baßtuba in UTF-8 (Werner). 
9015
9016         * lily, flower: Include C++ iso C headers.  Import namespace std
9017         throughout.
9018
9019         * lily/side-position-interface.cc: 
9020         * lily/scm-hash.cc: 
9021         * lily/note-head.cc: 
9022         * lily/include/includable-lexer.hh: 
9023         * flower/include/string-data.icc: Remove using std::*.
9024
9025         * lily, flower: Include C++ iso C headers.  Import namespace std
9026         throughout.
9027
9028         * lily/side-position-interface.cc: 
9029         * lily/scm-hash.cc: 
9030         * lily/note-head.cc: 
9031         * lily/include/includable-lexer.hh: 
9032         * flower/include/string-data.icc: Remove using std::*.
9033
9034         * Documentation/user/instrument-notation.itely (Entering lyrics):
9035         Multiple latin-1->utf-8 conversion fix.
9036
9037         * Documentation/user/*tely: Update Emacs cookie to utf-8.
9038
9039 2005-09-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9040
9041         * lily/tie.cc (get_configuration): also avoid dots for non-space
9042         situations.
9043
9044 2005-09-07  Jan Nieuwenhuizen  <janneke@gnu.org>
9045
9046         * Documentation/user/instrument-notation.itely: Bugfix.
9047
9048 2005-09-06  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9049
9050         * tex/GNUmakefile: don't install texinfo.tex
9051
9052         * tex/ : cleanup: remove unused files.
9053
9054         * lily/general-scheme.cc: remove my_{isinf,isnan}.
9055
9056         * flower/include/real.hh: using std::{isnan,isinf}
9057         
9058         * VERSION (PATCH_LEVEL): release 2.7.9
9059
9060 2005-09-05  Graham Percival  <gpermus@gmail.com>
9061
9062         * Documentation/user/ instrument-notation.itely,
9063         advanced-notation.itely: minor tweaks.
9064
9065         * input/test/script-chart.ly: add item padding.
9066
9067 2005-09-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9068
9069         * flower/offset.cc: use math.h iso. <cmath>
9070
9071         * scm/ps-to-png.scm (make-ps-images): use png16m again, for sake
9072         of IE users.
9073
9074         * scm/framework-eps.scm (dump-stencils-as-EPSes): cleanup.
9075         (widen-left-stencil-edges): new function. Fix alignment problems
9076         with LaTeX includegraphics.
9077
9078         * lily/text-interface.cc (interpret_markup): use abort().
9079
9080 2005-09-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9081
9082         * input/regression/tie-chord.ly (testLong): add a chord in 4ths
9083
9084         * lily/tie.cc (get_configuration): update bezier shape as we
9085         change Y positions.
9086         (get_configuration): don't move large ties if we're outside of the
9087         staff.
9088
9089 2005-09-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9090
9091         * scm/define-markup-commands.scm (strut): swap X and Y dims.
9092         
9093 2005-09-03  Jan Nieuwenhuizen  <janneke@gnu.org>
9094
9095         * .cvsignore: Add auto-generated configure files and then some.
9096
9097 2005-09-02  Jan Nieuwenhuizen  <janneke@gnu.org>
9098
9099         * scm/define-grobs.scm (DynamicLineSpanner): Add
9100         X-extent-callback.  Fixes hairpin-slur collision.
9101
9102 2005-08-31  Graham Percival  <gpermus@gmail.com>
9103
9104         * Documentation/user/advanced-notation.itely,
9105         basic-notation.itely: minor changes.
9106
9107 2005-08-31  Mats Bengtsson  <mabe@s3.kth.se>
9108
9109         * scm/framework-eps.scm (dump-stencils-as-EPSes): Insert a
9110         \linebreak between each .eps file if \betweenLilyPondSystem is
9111         undefined. 
9112
9113         * Documentation/user/lilypond-book.itely (Integrating LaTeX and
9114         music): Document the \linebreak
9115
9116         * Documentation/user/lilypond-book.itely,
9117         input/tutorial/lbook-latex-test.tex,
9118         Documentation/user/examples.itely: Remove \usepackage{graphics}
9119
9120 2005-08-31  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9121
9122         * mf/aybabtu.pe.in (i): don't merge alphabet into aybabtu.
9123
9124         * lily/ly-module.cc (make_stand_in_procs_weak): 1.6.4 and earlier
9125         compat bugfix.
9126
9127         * scripts/lilypond-book.py (PREAMBLE_LY): define
9128         inside-lilypond-book
9129         (modify_preamble): new function. Insert \RequirePackage{graphics}
9130         when no {graphics found in preamble.  
9131
9132 2005-08030  Graham Percival  <gpermus@gmail.com>
9133
9134         * Documentation/user/basic-notation.itely, global.itely,
9135         tutorial.itely: misc small changes.
9136
9137 2005-08-30  Jan Nieuwenhuizen  <janneke@gnu.org>
9138
9139         * stepmake/aclocal.m4: Include MY_PATCH_LEVEL in config.make's
9140         VERSION.
9141
9142 2005-08-30  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9143
9144         * lily/tie-column.cc (new_directions): put Tie down on center
9145         staff line. 
9146
9147         * lily/script-interface.cc (before_line_breaking): use
9148         Grob::programming_error
9149
9150         * scm/ps-to-png.scm (make-ps-images): use pngalpha device.
9151
9152         * scripts/lilypond-book.py (get_latex_textwidth): oops. Take [0]
9153         of splitext.
9154
9155 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9156
9157         * VERSION (PACKAGE_NAME): VERSION release 2.7.8
9158
9159 2005-08-29  Werner Lemberg  <wl@gnu.org>
9160
9161         * mf/GNUmakefile: Add `-f' flag to `rm' command while removing
9162         the `*.scale.pfa' files to avoid warnings.
9163
9164 2005-08-29  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9165
9166         * lily/tempo-performer.cc (process_music): idem.
9167
9168         * lily/midi-def.cc (get_tempo): Rational to int conversion bug.
9169
9170 2005-08-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9171
9172         * Documentation/user/advanced-notation.itely (Text markup): not a
9173         fragment.
9174
9175         * lily/midi-item.cc (to_string): use to_int() iso. int cast.
9176
9177         * lily/staff-performer.cc (initialize): add tempo/name to
9178         audio_staff_
9179
9180 2005-08-26  Graham Percival  <gpermus@gmail.com>
9181
9182         * Documentation/user/advanced.itely: add text-only example.
9183
9184         * Documentation/user/invoking.itely: add index entries for
9185         convert-ly.
9186
9187         * Documentation/user/ tutorial.itely, basic-notation.itely:
9188         small fixes suggested by Steve D.  Thanks!
9189
9190 2005-08-26  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9191
9192         * input/regression/markup-bidi-pango.ly: new file.
9193
9194         * lily/pango-font.cc (pango_item_string_stencil): make Mingw code
9195         standard. Remove #ifdef. Remove memleak.
9196         (text_stencil): use text_dir to decide how to composite items.
9197         (text_stencil): determine uniform text direction for the entire
9198         string.
9199
9200         * scripts/lilypond-book.py (output_name): remove
9201         latex_filter_cmd. Non-portable to non-Unix systems. 
9202         (get_latex_textwidth): use File.write and os.unlink() instead.
9203
9204         * THANKS: add Vicente & Trevor.
9205
9206         * lily/grob.cc (discretionary_processing): look up origin for
9207         programming_error too. 
9208
9209         * input/regression/tie-broken.ly: new file.
9210
9211         * lily/tie-column.cc (set_chord_outlines): set outline for line
9212         break case too.
9213         
9214 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9215
9216         * lily/pango-font.cc (text_stencil): don't translate glyphs in
9217         unscaled transform, just translate stencils.
9218
9219         * ly/performer-init.ly: init timing to #t.  Fixes bar checks in
9220         MIDI.
9221
9222         * scm/define-markup-commands.scm (wordwrap-string): use
9223         text-direction
9224         (wordwrap-stencils): idem.
9225         (line): idem.
9226         (fill-line): idem.
9227         (wordwrap-stencils): translate last line to right for
9228         text-direction = LEFT.
9229
9230         * scm/define-grob-properties.scm (all-user-grob-properties): add
9231         text-direction.
9232
9233 2005-08-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
9234
9235         * lily/lily-parser.cc (Lily_parser): also copy output_basename_
9236         when copying a Lily_parser object.
9237
9238 2005-08-25  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9239
9240         * scm/define-markup-commands.scm (null): add null markup.
9241
9242 2005-08-25  Mats Bengtsson  <mabe@s3.kth.se>
9243
9244         * lily/item.cc: Add documentation of center-invisible
9245
9246 2005-08-24  Graham Percival  <gpermus@gmail.com>
9247
9248         * Documentation/user/advanced-notation.itely: add info about
9249         raising text.
9250
9251         * Documentation/user/programming-interface.itely: fix example
9252         involving raised text.
9253
9254 2005-08-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9255
9256         * lily/beam.cc (print): fix X start/end points of isolated
9257         beamlets.
9258
9259         * scm/output-ps.scm (grob-cause): escape spaces in URLs.
9260
9261         * lily/multi-measure-rest.cc (set_text_rods): new function.
9262
9263         * lily/vertical-align-engraver.cc (process_music): call
9264         Align_interface::set_axis(). This forces #'elements to be ordered,
9265         preventing random vertical reordering of staves.
9266
9267         * scm/define-grob-interfaces.scm (dynamic-line-spanner-interface):
9268         add avoid-slur property. 
9269
9270         * Documentation/user/basic-notation.itely (Measure repeats): add
9271         countPercentRepeats example.
9272
9273         * Documentation/user/advanced-notation.itely (Other text markup
9274         issues): remove remark about normal-font.  We have \normal-text
9275
9276         * input/regression/tie-chord.ly: add note about remaining bugs.
9277
9278         * lily/tie.cc (print): try Tie_column::set_directions () if
9279         control-points not yet defined.
9280
9281 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9282
9283         * lily/system-start-delimiter.cc (staff_brace): don't remove brace
9284         extent. This fixes braces falling out of the EPS bbox.
9285
9286         * mf/feta-beugel.mf (braces_per_font): make brace glyph align
9287         exactly to bbox.
9288
9289 2005-08-23  Graham Percival  <gpermus@gmail.com>
9290
9291         * {various} : change #up->#UP and #down->#DOWN.
9292
9293         * ly/titling-init.ly: Spacing fix when using printallheaders=##t.
9294
9295         * Documentation/user/advanced-notation.itely: clarify
9296         what objects handles text on a multimeasure rest.
9297
9298 2005-08-23  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9299
9300         * VERSION (PATCH_LEVEL): release 2.7.7
9301
9302 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9303
9304         * make/lilypond-vars.make: set -dgs-font-load for "make web" 
9305
9306         * Documentation/topdocs/INSTALL.texi (Top): add GS bugfix requirement.
9307
9308         * input/regression/*.ly: formatting clean-up. Default layout
9309         before music expression.
9310
9311         * input/mutopia/R.Schumann/GNUmakefile (examples): switch off
9312         romanze28-2 example.
9313
9314         * scm/ps-to-png.scm: remove dir-re function.
9315         (make-ps-images): generate page names, instead of globbing them.
9316         This brings down LilyPond memory usage for make web by a factor
9317         10. 
9318
9319         * scripts/lilypond-book.py (Lilypond_snippet.png_is_outdated):
9320         don't use glob. With 3000 files, globbing
9321         Documentation/user/out-www/ can take too much time. 
9322         
9323         * lily/lily-guile.cc (gulp_file_to_string): take size argument.
9324
9325         * lily/general-scheme.cc (LY_DEFINE): take optional size argument.
9326
9327         * input/regression/tie-manual.ly: new file
9328
9329         * input/regression/tie-chord.ly: update.
9330
9331         * flower/include/interval.hh (struct Interval_t): 
9332
9333         * lily/tie.cc (distance): new function 
9334         (height): new function.
9335         (init): new function
9336         (Tie_details): new struct.
9337
9338         * lily/skyline.cc (skyline_height): new function.
9339
9340         * lily/tie-column.cc (set_chord_outlines): new function.
9341         (new_directions): read tie-configuration
9342
9343         * lily/skyline.cc: fix ASCII art.
9344         
9345 2005-08-22  Mats Bengtsson  <mabe@s3.kth.se>
9346
9347         * python/convertrules.py (string_or_scheme): Fix spelling error
9348
9349 2005-08-22  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9350         
9351         * lily/tie-column.cc (set_directions): set directions only once.
9352         (add_configuration): new function.
9353
9354         * lily/tie.cc (set_control_points): new function
9355
9356         * lily/tie-column.cc (new_directions): new function.
9357
9358         * ly/music-functions-init.ly: set 'pitch property
9359         iso. trill-pitch. This makes \relative work with \pitchedTrill
9360
9361         * lily/tie.cc (get_configuration): new function. Don't generate
9362         control points, rather, generate configuration.
9363         remove head-pair property.
9364
9365         * lily/include/tie.hh (struct Tie_configuration): new struct.
9366
9367 2005-08-22  Heikki Junes  <hjunes@cc.hut.fi>
9368
9369         * Documentation/topdocs/NEWS.tely: clarify.
9370
9371 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9372
9373         * lily/tie.cc: remove minimum-length
9374
9375         * scm/define-grob-properties.scm (all-user-grob-properties):
9376         remove staffline-clearance, y-offset 
9377
9378         * input/regression/tie-dots.ly (Module): remove.
9379
9380         * lily/tie.cc (get_control_points): rewrite. Put short ties in
9381         staff-spaces, make long ties cross staff lines. Avoid flags and dots.
9382
9383         * input/regression/tie-single.ly: new file.
9384
9385 2005-08-21  Graham Percival  <gpermus@gmail.com>
9386
9387         * ly/bagpipe.ly: fix compile problem.
9388
9389 2005-08-21  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9390
9391         * lily/midi-item.cc (name): new method.
9392
9393         * lily/staff-performer.cc (acknowledge_audio_element): use
9394         signature of baseclass.
9395
9396         * lily/engraver-group.cc (do_announces): move recursion call out
9397         of while loop. 
9398
9399         * lily/drum-note-performer.cc (class Drum_note_performer): use
9400         process_music everywhere.
9401
9402         * ly/performer-init.ly: add default children everywhere.
9403
9404         * lily/paper-book.cc (output): call paper-book-write-midis
9405         directly: always write MIDI, even if no \layout {} block. 
9406
9407 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9408
9409         * VERSION (PACKAGE_NAME): release 2.7.6
9410
9411         * lily/percent-repeat-engraver.cc (try_music): don't print warning
9412         about not being able to handle repeat.
9413
9414 2005-08-19  Jan Nieuwenhuizen  <janneke@gnu.org>
9415
9416         * Documentation/user/examples.itely (Piano templates):
9417         * lily/include/performer-group.hh: Remove last traces of
9418         Performer_group_performer.  Fixes make web.
9419
9420 2005-08-19  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9421
9422         * Documentation/user/examples.itely (Piano templates): change
9423         Engraver_group_engraver -> Engraver_group
9424
9425         * lily/ly-module.cc (make_stand_in_procs_weak): only kludge if
9426         scm_stand_in_procs is not weak_any.
9427
9428         * lily/volta-bracket.cc (print): don't use strcmp().
9429
9430         * lily/volta-engraver.cc (process_music): use
9431         Text_interface::is_markup() for setting the 'text property of the
9432         volta bracket.
9433
9434         * input/mutopia/claop.py (accents): update syntax to 2.6
9435
9436         * scm/define-context-properties.scm
9437         (all-user-translation-properties): add countPercentRepeats.
9438
9439         * Documentation/user/basic-notation.itely (Measure repeats): add
9440         isolated percent example.
9441
9442 2005-08-18  Graham Percival  <gpermus@gmail.com>
9443
9444         * input/ {various}: change direction #1, #-1 to
9445         #up/#down or \fooUp, \fooDown.
9446
9447         * Documentation/user/music-glossary.tely: #-1 to #down.
9448
9449         * ly/bagpipe.ly, engraver-init.ly, property-init.ly: #1
9450         to #up, #-1 to #down.
9451
9452 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9453
9454         * lily/include/engraver-group.hh: rename.
9455
9456         * lily/include/performer-group.hh: rename.
9457
9458 2005-08-18  Mats Bengtsson  <mabe@s3.kth.se>
9459
9460         * input/test/script-abbreviations.ly: Removed some old LaTeX
9461         left overs.
9462
9463 2005-08-18  Jan Nieuwenhuizen  <janneke@gnu.org>
9464
9465         * python/convertrules.py (conv): inside-slur -> avoid-slur.
9466         Remove functions.  Remove if 1: constructs, reindent.
9467
9468         * scripts/convert-ly.py (add_version): Add functions from
9469         convertrules.py
9470
9471         * scm/script.scm (default-script-alist):
9472         s/priority/script-priority.  Fixes script stacking.  Backportme.
9473         (Fermata): Very low priority.
9474
9475 2005-08-18  Han-Wen Nienhuys  <hanwen@xs4all.nl>
9476
9477         * input/regression/*.ly: remove superfluous \score blocks. Reindent.
9478
9479         * input/regression/slur-script.ly: remove padding tweaks. Add
9480         comment strings.
9481
9482         * lily/note-spacing.cc (get_spacing): remove kludge for EOL wide
9483         time sigs and related stuff.
9484
9485         * scm/define-grob-properties.scm (all-user-grob-properties): add
9486         @c