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