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