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