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