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