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