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