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