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