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