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