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