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