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