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