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