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