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