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