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