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