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