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