]> git.donarmstrong.com Git - lilypond.git/blob - ChangeLog
* lily/slur-quanting.cc (score_extra_encompass): Bigger penalty
[lilypond.git] / ChangeLog
1 2004-07-19  Jan Nieuwenhuizen  <janneke@gnu.org>
2
3         * lily/slur-quanting.cc (score_extra_encompass): Bigger penalty
4         for and bigger y-padding for extra_encompass.  Fixes slur-script.ly.
5
6         * po/nl.po: Update.
7
8         * lily/main.cc: Fix ly:option-usage help.
9
10         * input/regression/slur-script.ly: More collision tests.
11
12         * GNUmakefile.in (EXTRA_DIST_FILES): Add SConstruct.
13
14 2004-07-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
15
16         * stepmake/generic-vars.make (EXTRA_DIST_FILES): dist SConscript
17         files.
18
19         * Documentation/user/notation.itely (Slurs): document ^ and _ for
20         slurs.
21
22         * input/regression/slur-script.ly: new file.
23
24         * lily/accidental-engraver.cc (process_acknowledged_grobs):
25         make accidental appear to come from note head engraver.
26
27         * lily/slur-quanting.cc: new file.
28         (score_extra_encompass): new function. Avoid scripts and
29         accidentals
30
31 2004-07-18  Jan Nieuwenhuizen  <janneke@gnu.org>
32
33         * lily/include/lily-guile.hh: Remove guile-1.4 compatibility.
34         This greatly reduces the number of files that get recompiled
35         after touching config.hh.
36
37         * config.hh.in: Remove GUILE_*_VERSION.
38
39         * lily/new-slur.cc: Resolve conflicts.
40
41         * lily/stem-engraver.cc (make_stem): New method.
42
43         * lily/include/script-interface.hh:
44         * lily/script-interface.cc: New file.
45
46         * lily/include/script.hh:
47         * lily/script.cc: Remove.
48
49         * lily/music.cc (duration_log): New method.
50
51         * lily/script.cc (struct Skript): Remove.
52
53         * lily/new-slur.cc (get_base_attachments): Try at articulations.
54         Lots of coding cleanups (Stom).
55
56 2004-07-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
57
58         * lily/new-slur.cc (avoid_staff_line): new function: avoid
59         collisions with staff lines.
60
61         * lily/my-lily-parser.cc (LY_DEFINE): add directory of argument to
62         global_path
63
64         * scm/define-grobs.scm (all-grob-descriptions): set ratio
65         .25. This flattens short slurs.
66
67         * lily/new-slur.cc (enumerate_attachments): move X of attachment
68         points for tilted slurs.
69
70         * input/regression/slur-tilt.ly: new file.
71
72         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): shorten
73         stems of 16th graces too.
74
75         * lily/beam-quanting.cc (score_forbidden_quants): make forbidden
76         quant penalty dependent on how much the line is in the gap.
77
78         * input/regression/grace-stem-length.ly: new file.
79
80         * lily/beam-quanting.cc (score_forbidden_quants): remove
81         interquant check. The penalty of 1000 is much too harsh, and the
82         inter case should be caught by check-staff-line-in-gap check.
83
84         * lily/scm-option.cc: move debug-beam to \paper.
85
86         * scripts/lilypond-book.py (Lilypond_snippet.write_ly): create
87         .txt files to appease makeinfo.
88
89         * input/mutopia/W.A.Mozart/mozart-hrn-3.ly:
90         remove texttagline.
91         
92         * lily/new-slur.cc: cleanup, split in functions.
93
94         * lily/parser.yy (chord_body_element): allow octave-check = inside
95         chord body. 
96
97         * lily/new-slur.cc (score_encompass): variable head-distance penalty.
98
99         * lily/stem.cc (height): call Beam::after_line_breaking().
100
101         * lily/rest-collision.cc (force_shift_callback): only call shift
102         for columns containing rests.
103
104         * lily/new-slur.cc (print): use debug-slur-quanting paper var.
105
106         * input/regression/font-postscript.ly: invoke afm2tfm. 
107
108 2004-07-18  Jan Nieuwenhuizen  <janneke@gnu.org>
109
110         * mf/SConscript: Build map files.
111
112         * SConstruct: Rename $out to out-www in web.
113
114 2004-07-17  Jan Nieuwenhuizen  <janneke@gnu.org>
115
116         * SConstruct (web_kluts): Have make web build in out-www.  Not.
117
118 2004-07-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
119
120         * Documentation/user/music-glossary.tely (Top): add fragment to
121         pertinent @lilypond entries.
122
123         * scm/define-grobs.scm: switch on new-slur by default.
124
125         * lily/scm-option.cc: symbol != string.
126
127         * lily/new-slur.cc (set_end_points): handle broken slurs. Doesn't
128         really work yet.
129         (set_end_points): make X coord of attachment dependent on  Y.
130         (score_encompass): add edges too.
131
132 2004-07-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
133
134         * lily/stem.cc (get_beaming): new function.
135
136         * scripts/lilypond-book.py (compose_ly): make fragment mandatory
137         for fragment snippets. This fixes inclusion of toplevel-music
138         examples (such as new-slur.ly)
139  
140 2004-07-16  Jan Nieuwenhuizen  <janneke@gnu.org>
141
142         * scripts/lilypond-book.py: Remove second import of stat.
143
144         * More SCons cleanups.
145
146         * Documentation/bibliography/computer-notation.bib (note): Remove
147         extraneous closing brace.
148
149 2004-07-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
150
151         * scripts/lilypond-book.py (Lilypond_snippet.is_outdated): fix
152         stat calls.
153
154         * Documentation/bibliography/SConscript (bibs): failed try to get
155         bib2html find html-long.bst.
156
157         * buildscripts/bib2html.py (stat): fail if bibtex fails.
158
159         * make/stepmake.make: use usescons for using scons. 
160
161 2004-07-16  Jan Nieuwenhuizen  <janneke@gnu.org>
162
163         * scripts/lilypond-book.py (Lilypond_snippet.is_outdated): Check
164         for lilypondend.  Import stat (huh?).
165
166 2004-07-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
167
168         * make/mutopia-vars.make ($(addprefix $(outdir)/,$(LYM4_FILES):
169         bypass dvi. 
170
171         * input/regression/font-postscript.ly: new file. 
172
173         * scm/framework-ps.scm (load-fonts): load pfb files too.
174
175         * lily/pfb.cc (pfb2pfa): new file.
176
177 2004-07-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
178
179         * scripts/lilypond-book.py (PREAMBLE_LY): set
180         toplevel-music-handler too.
181
182 2004-07-15  Jan Nieuwenhuizen  <janneke@gnu.org>
183
184         * SConstruct (symlink): Add dvips and music-drawing-routines.ps.
185         (web_path): Fixes for webball.  Install fixes, add DESTDIR option.
186
187         * lily/slur.cc: Add quant-score to interface.  Fixes web build.
188
189         * python/SConscript:
190         * python/vim:
191         * input/mutopia/*SConscript: New file.
192
193         * input/mutopia/W.A.Mozart/: Use .ily suffix for includes.
194
195         * scm/define-grobs.scm (all-grob-descriptions): Use ,Slur::height,
196         fixes web build.
197
198         * make/stepmake.make (scons): re-route to SCONS if user has been
199         running scons in this tree.
200
201         * SConstruct (config_vars): Add CPPDEFINES.
202         (env): Set checksums type to "content".
203         (save_config_cache): Do not exit after configuring when using
204         checksums (the default) instead of timestamps.
205
206 2004-07-15  Jan Nieuwenhuizen  <janneke@gnu.org>
207
208         * SConstruct: Further development.
209
210         * input/test/SConscript: 
211         * input/template/SConscript: 
212         * input/regression/SConscript: 
213         * Documentation/bibliography/SConscript:
214         * Documentation/bibliography/index.html.in: New file.
215
216         * Documentation/bibliography/GNUmakefile (local-WWW): Remove index
217         generation.
218
219         * buildscripts/builder.py: Add new builders.
220
221         * make/stepmake.make: 
222         * stepmake/stepmake/*.make: 
223         * configure.in:
224         * lily/*:
225         * flower*: Use config.hh (Was config.h).
226
227         * scm/encoding.scm (get-coding): Print friendly error message when
228         no encoding is found, rather than crashing.
229
230 2004-07-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
231
232         * lily/new-slur.cc (score_slopes): strong sloping score only when
233         stems point in same dir. 
234
235 2004-07-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
236
237         * input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ly (rondo): bugfix
238         for beam start.
239
240         * lily/parser.yy (context_prop_spec): check grob name for
241         alphanumericness..
242
243         * lily/lyric-engraver.cc: creates LyricText objects
244
245 2004-07-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
246
247         * lily/include/lily-guile.hh (scm_from_int): add scm_from_int glue.
248
249 2004-07-13  Jan Nieuwenhuizen  <janneke@gnu.org>
250
251         * SConstruct: Configure only pristine build tree or on user
252         request.  Cleanups.  Add Documentation/topdocs to subdirs.
253         Use checksums instead of timestamps.
254         (CheckYYCurrentBuffer): Return result.
255
256         * Documentation/topdocs/SConscript: New file.
257
258 2004-07-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
259
260         * lily/staff-symbol-referencer.cc (on_staffline): bugfix 
261
262         * lily/scm-hash.cc (get): SCM_MAKINUM is deprecated. Use
263         scm_from_int instead.
264
265 2004-07-12  Jan Nieuwenhuizen  <janneke@gnu.org>
266
267         * SConstruct: Updates.  Add targets: tar, dist, release.
268
269 2004-07-11  Jan Nieuwenhuizen  <janneke@gnu.org>
270
271         * input/mutopia-header.ly: Generate output.
272
273         * SConstruct:
274         * buildscripts/builder.py:
275         * Documentation/user/SConscript: SCons fixes.
276
277 2004-07-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
278
279         * lily/new-slur.cc (class New_slur): new file. Score based slur
280         computations.
281
282 2004-07-10  Jan Nieuwenhuizen  <janneke@gnu.org>
283
284         * mf/SConscript: Remove Builders.
285
286         * buildscripts/builder.py: Add LilyPond, Abc2ly and MF builders.
287
288         * input/SConscript: 
289         * Documentation/user/SConscript: New file.
290
291 2004-07-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
292
293         * Documentation/topdocs/NEWS.texi (Top): add note about new
294         emacs electric-|
295
296         * scm/*.scm: adapt ly:warn calls.
297
298         * lily/lily-guile.cc (LY_DEFINE): use format on ly:warn arguments.
299
300         * lily/repeat-acknowledge-engraver.cc (process_music): look at
301         main timing, not grace timing. Fixes volta-repeat-grace.
302
303         * lily/kpath.cc (LY_DEFINE): ly:kpathsea-expand-path, new function
304         remove ly:kpathsea-gulp-file.
305
306         * scm/translation-functions.scm (format-metronome-markup): make
307         note smaller, align to bottom.
308
309         * scm/define-grobs.scm (all-grob-descriptions): metronome fixes.
310
311         * lily/metronome-engraver.cc (stop_translation_timestep): attach
312         metronome to musical column. Don't ack time sigs or bar lines.
313
314 2004-07-10  Heikki Junes  <hjunes@cc.hut.fi>
315
316         * THANKS: sort, add David. Kristof contributed code, he is a
317         contributor.
318
319 2004-07-09  David Svoboda      <svoboda@cmu.edu>
320
321         * elisp/lilypond-mode.el,
322         * elisp/lilypond-what-beat.el: Added LilyPond-what-beat function to
323         count beats between last measure stop | and point in emacs.
324         
325 2004-07-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
326
327         * tex/GNUmakefile (TEX_FILES): don't dist
328         music-drawing-routines.ps, latin1.enc 
329
330         * scripts/lilypond.py (include_path): remove --no-lily, --no-ps ,
331         --no-pdf, --pdftex
332         (copyright): add --latex option
333         (ic_p.make_include_option): use direct PS as default.
334
335         * scm/beam.scm (check-slope-callbacks): check sign of slope. 
336
337         * input/regression/beam-concave.ly (rossFourBeams): add cases from Ross
338
339         * scm/script.scm (default-script-alist): marcato should follow
340         into staff
341         
342 2004-07-09  Jan Nieuwenhuizen  <janneke@gnu.org>
343
344         * buildscripts/builder.py:
345         
346         * Documentation/SConscript (outdir): New file.  Add *list.ly
347         dependencies.  Fixes PDF doc build.
348
349 2004-07-08  Jan Nieuwenhuizen  <janneke@gnu.org>
350
351         * SConstruct: Add Tar target (incomplete), fix install issues, fix
352         run from build-dir.
353
354         * ly/SConscript:
355         * scm/SConscript: New file.
356
357         * lily/main.cc (dir_info): Print variables in sh format.
358
359         * lily/includable-lexer.cc: Use #if iso #ifdef for HAVE_ tests.
360
361         * mf/SConscript: Update multiple target rules.
362
363         * SConstruct (assert_version): Add.
364
365 2004-07-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
366
367         * SConstruct (key): add HAVE_FLEXLEXER_YY_CURRENT_BUFFER check.
368
369 2004-07-07  Jan Nieuwenhuizen  <janneke@gnu.org>
370
371         * buildscripts/mf-to-table.py: Do not try to open ''.
372
373         * mf/SConscript: New file.
374
375 2004-07-06  Carl Sorensen  <carldsorensen@comcast.net>
376
377         * scm/fret-diagrams.scm : Convert many properties to constants,
378         reducing the pollution of the property namespace.
379
380         * scm/define-grob-properties.scm (all-user-grob-properties): Reduce
381         unnecessary properties for fret-diagram
382
383         * scm/define-grob-interfaces.scm (fret-diagram-interface): Add symbols
384         for interface
385
386 2004-07-07  Jan Nieuwenhuizen  <janneke@gnu.org>
387
388         * SConstruct: Update.
389
390 2004-07-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
391
392         * input/regression/beam-quant-standard.ly (seconds): print desired
393         quants when failing.
394
395 2004-07-06  Jan Nieuwenhuizen  <janneke@gnu.org>
396
397         * SConstruct:
398         * flower/SConscript:
399         * lily/SConscript: New file.
400
401 2004-07-05  Carl Sorensen  <carldsorensen@comcast.net>
402
403         * scm/define-grob-properties.scm (all-user-grob-properties): Add
404         descriptions for all fret-diagram properties.
405
406         * scm/define-grob-interfaces.scm (fret-diagram-interface): Add
407         fret-diagram interface code
408
409 2004-07-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
410
411         * ly/book-paper-defaults.ly: set default encoding to ec.
412
413         * buildscripts/guile-gnome.sh (OPT): only compile pango if not
414         installed.
415
416         * tex/latin1.enc: new file, from a2ps. 
417
418 2004-07-06  Heikki Junes  <hjunes@cc.hut.fi>
419
420         * stepmake/bin/add-html-footer.py: use <div> instead of <table>,
421         add a faint, green border line.
422
423         * Documentation/index.html.in: drop <table>, add a faint border line.
424
425 2004-07-05  Han-Wen Nienhuys   <hanwen@xs4all.nl>
426
427         * scm/font.scm (add-cmr-fonts): upright caps is eccc.
428
429         * Documentation/GNUmakefile (README_TOP_FILES): add THANKS.txt.
430
431 2004-07-02  Carl Sorensen  <carldsorensen@comcast.net>
432
433         * scm/output-ps.scm (white-text): Add scale paramter to allow scaling
434
435         * scm/output-tex.scm (white-text): Add scale parameter to allow font scaling
436
437         * scm/stencil.scm (fontify-text-white) : Adjust to better center, properly
438         scale white text
439
440         * scm/fret-diagrams.scm (make-fret-diagram): change default dot
441         position for numbered dots so dot will touch fret.
442         (various routines): move to font-metric interface, rather than
443         name, size interface.  Clean up comments.
444
445         * ps/music-drawing-routines.ps: (/draw_white_text)  Adjust font
446         size and offset to better center white text.
447
448 2004-07-05  Jan Nieuwenhuizen  <janneke@gnu.org>
449
450         * ChangeLog: Remove pre-2.1 changes.
451
452         * Documentation/misc/ChangeLog-2.1: New file.
453
454         * stepmake/bin/release.py: Cleanup.  Add release marker if missing
455         from ChangeLog.
456
457 2004-07-05  Mats Bengtsson  <mabe@drongo.s3.kth.se>
458
459         * input/test/chords-below-volta-bracket.ly,
460         input/test/no-key-at-end-of-line.ly: New example files (FAQs)
461
462 2004-07-05  Han-Wen Nienhuys   <hanwen@xs4all.nl>
463
464         * VERSION: release 2.3.6
465
466         * input/regression/beam-quant-standard.ly: new file: test standard
467         beam quants.
468
469         * scm/beam.scm (check-quant-callbacks): new function
470         (check-beam-quant): new function: check whether current beam
471         quants match argument.
472
473         * lily/beam-quanting.cc (score_forbidden_quants): fix problem with
474         forbidden quant for sitting (upstem)/hanging (downstem) on outer
475         staffline line.
476
477 2004-07-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
478
479         * lily/parser.yy (Generic_prefix_music_scm): add (scm,scm) music
480         functions.
481
482         * lily/note-collision.cc (do_shifts): align colliding notes to
483         their leftmost note.
484
485         * input/regression/collision-alignment.ly: new file.
486
487         * ly/init.ly: don't print gc stats.
488
489         * scripts/lilypond-book.py (Lilypond_snippet.output_texinfo): add
490         extra newline
491
492         * scm/define-grobs.scm (all-grob-descriptions): use (0 . 0) not #f
493         for dimensions. This fixes ottava-remove-empty-staff.ly
494
495         * input/regression/lyrics-tenor-clef.ly: new file.
496
497         * lily/axis-group-engraver.cc (process_acknowledged_grobs): catch
498         cyclic parents when two axis-group-engravers are
499         present. Fixes: crash-axis-group-engraver.ly. 
500         
501         * input/test/volta-chord-names.ly: new file.
502
503         * scm/define-context-properties.scm
504         (all-user-translation-properties): change voltaOnThisStaff
505         definition. 
506
507         * lily/volta-engraver.cc (stop_translation_timestep): set bounds
508         if necessary.
509
510         * lily/volta-bracket.cc (print): handle volta brackets without
511         bars. 
512
513 2004-07-01  Jan Nieuwenhuizen  <janneke@gnu.org>
514
515         * scripts/abc2ly.py (try_parse_chord_delims): Bugfix: update to
516         2.0 chord syntax.  Ouch.  (thanks Dave Phillips).
517
518 2004-07-01  Nicolas Sceaux  <nicolas.sceaux@free.fr>
519
520         * scm/output-gnome.scm: updated instructions for running gnome
521         backend
522
523 2004-06-29  Carl Sorensen  <carldsorensen@attbi.net>
524
525         * scm/fret-diagrams.scm (draw-dots): default values for dot size
526         and dot-position now depend on finger-code value; in-dot makes
527         dots larger and centered.
528         (draw-barre): added straight-barre indicator option
529         (draw-dots): made fontify-text-white work.
530
531         * music-drawing-routines.ps: added /draw_white_text
532
533         * scm/output-tex.scm:  added white-text
534
535         * scm/output-ps.scm:  added white-text
536
537         * scm/lily.scm (ly:all-stencil-expressions): Added white-text to 
538         list of stencil expressions
539
540         * scm/stencil.scm: Added fontify-text-white
541
542 2004-06-29  Heikki Junes  <hjunes@cc.hut.fi>
543
544         * input/regression/+.ly: use @unnumbered section.
545
546 2004-06-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
547
548         * elisp/lilypond-mode.el (LilyPond-guile): set current module to
549         (*anonymous-ly-0*) iso. (*anonymous-ly-1*)
550
551 2004-06-28  Jan Nieuwenhuizen  <janneke@gnu.org>
552
553         * buildscripts/guile-gnome.sh (PATH): GUILE CVS is still fubarred.
554
555 2004-06-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
556
557         * scm/ly-from-scheme.scm (read-lily-expression): #$( ... )
558         was causing an error. (was not actually commited in 2004-06-20)
559
560         * input/regression/lily-in-scheme.ly (withPaddingC): does not
561         breaks anymore
562
563 2004-06-24  Han-Wen Nienhuys   <hanwen@xs4all.nl>
564
565         * VERSION: 2.3.5 released.
566         
567         * lily/my-lily-parser.cc (parse_string): switch module too.
568
569 2004-06-24  Jan Nieuwenhuizen  <janneke@gnu.org>
570
571         * Documentation/topdocs/INSTALL.texi (Top): Add guile, python and
572         ec-fonts-mftraced to running requirements.
573
574 2004-06-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
575
576         * lily/my-lily-lexer.cc (My_lily_lexer): copy scopes so temporary
577         assignments don't reach the original file.
578
579         * lily/my-lily-parser.cc (My_lily_parser): only copy lexer if it
580         exists
581
582 2004-06-22  Jan Nieuwenhuizen  <janneke@gnu.org>
583
584         * scm/output-gnome.scm: 
585         * buildscripts/guile-gnome.sh: Update wrt fixed GUILE CVS.
586
587         * debian/: Apply Debian patch (Anthony Fok).
588
589 2004-06-22  Heikki Junes   <hjunes@cc.hut.fi>
590
591         * Documentation/user/music-glossary.tely: fix titling; @top is already
592         an @unnumbered @chapter.
593
594 2004-06-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
595
596         * debian/GNUmakefile (EXTRA_DIST_FILES):
597         (CONF_FILES): update file list.
598
599         * lily/stencil.cc (interpret_stencil_expression): bugfix.
600
601 2004-06-21  Jan Nieuwenhuizen  <janneke@gnu.org>
602
603         * debian/: Remove cruft (requested Anthony Fok.)
604
605         * buildscripts/guile-gnome.sh: Build without gcc libtool version
606         juggling.
607
608         * scm/framework-gnome.scm: Cleanups.  Resurrect +/- canvas scaling.
609         Add popup menu with grob properties.
610
611         * lily/grob-scheme.cc (ly:grob-properties):
612         (ly:grob-basic-properties): New function.
613
614         * lily/stencil.cc (interpret_stencil_expression): Comment-out
615         "no-origin" call.  Fixes -fps output.
616
617         * scm/output-ps.scm (no-origin): Add dummy implementation.
618
619         * scm/output-gnome.scm (define-origin): Remove
620         (grob-cause): Add.
621
622         * scm/output-ps.scm (scm):
623         * scm/output-tex.scm (scm): Remove define-origin from exports list.
624         (define-origin): Remove.
625
626         * scm/output-gnome.scm (define-origin): 
627
628         * scm/lily.scm (ly:all-output-backend-commands): Remove
629         define-origin.  Add grob-cause.
630
631 2004-06-21  Heikki Junes   <hjunes@cc.hut.fi>
632
633         * buildscripts/lilypond-words.py: add ly/portugues.ly.
634
635 2004-06-20  Heikki Junes   <hjunes@cc.hut.fi>
636
637         * Documentation/user/GNUmakefile:
638         * stepmake/stepmake/texinfo-rules: add Cascading Style Sheet using
639         --include-css=.../texinfo.css; command includes css into the html.
640
641         * Documentation/texinfo.css: add file.
642         define <hr> as black and thin.            
643
644 2004-06-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
645
646         * lily/stencil.cc (interpret_stencil_expression): add grob-cause
647         stencil expression. Junk define-origin.
648
649         * lily/my-lily-parser.cc (parse_string): init parser variable when
650         lexer_ is set, ie. in parse_string and parse_file.
651
652         * lily/book.cc (LY_DEFINE): new function. ly:make-book. Supercedes
653         ly:score-bookify.
654
655         * scm/lily.scm (collect-scores-for-book): new function.
656
657         * ly/init.ly: print collected scores/musics.
658
659         * lily/my-lily-parser.cc (LY_DEFINE): define parser in parser
660         scope, not in lily module.
661
662         * lily/book.cc (LY_DEFINE): ly:make-book. New function.
663
664         * configure.in (PKG_CONFIG_PATH): add --enable-gui flag, and
665         encapsulate gtk/pango tests.
666
667         * po/tr.po: Turkish translation.
668
669 2004-06-20  Nicolas Sceaux  <nicolas.sceaux@free.fr>
670
671         * input/regression/lily-in-scheme.ly: regression test for #{
672         ... #} syntax
673
674         * scm/ly-from-scheme.scm (read-lily-expression): #$( ... )
675         was causing an error.
676
677         * Documentation/user/programming-interface.itely (Using LilyPond
678         syntax inside Scheme): documentation for #{ ... #} syntax.
679
680 2004-06-19  Heikki Junes  <hjunes@cc.hut.fi> 
681
682         * Documentation/index.html.in: use black thin <hr>.
683
684         * buildscripts/mutopia-index.py: use thin black <hr>.
685
686 2004-06-19  Jan Nieuwenhuizen  <janneke@gnu.org>
687
688         * scm/fret-diagrams.scm: Use UNIX style line endings.
689         (fret-diagram-verbose): A couple of @{VAR} and an closing itemize
690         typo.  Fixes compile.
691
692         * scm/output-ps.scm (white-dot): Remove second incarnation.
693
694         * scm/lily.scm (ly:all-stencil-expressions): Add white-dot.
695
696 2004-06-19  Han-Wen Nienhuys   <hanwen@xs4all.nl>
697
698         * scripts/lilypond.py (ic_p.make_include_option): set error_p for
699         single file error.
700
701         * lily/bar-line.cc (compound_barline): add support for unbroken ||:
702
703 2004-06-17  Carl Sorensen (carl_sorensen@byu.edu)
704
705         * scm/fret-diagrams.scm: added fret-diagram-terse interface;
706         remove size as argument to fret-diagram interface;
707         improved white-circle dots for fret;
708         improved top-fret thick line/
709
710         * scm/output-ps.scm: added white-dot function
711
712         * scm/output-tex.scm: added white-dot function
713
714         * tex/music-drawing-routines.ps: added draw_white_dot function
715
716         * ps/music-drawing-routines.ps: added draw_white_dot function
717
718         * input/test/fret-diagram.ly: examples to show multiple
719         functions and multiple interfaces
720
721 2004-06-18  Jan Nieuwenhuizen  <janneke@gnu.org>
722
723         * lily/pangofc-afm-decoder.cc (pango_fc_afm_get_glyph) 
724         (pango_fc_afm_get_charset): Update iaw Pango CVS update.
725
726         * buildscripts/guile-gnome.sh: Add pango to recipe.  Resolve
727         conflict.  Have I told you lately how much I love autotools?
728
729 2004-06-17  Jan Nieuwenhuizen  <janneke@gnu.org>
730
731         * lily/lily-guile.cc: 
732         * lily/pangofc-afm-decoder.cc:
733         * lily/include/pangofc-afm-decoder.hh: Use #if HAVE_* iso #ifdef.
734         Fixes build without Pango CVS.  Use "pangofc-afm-decoder.hh".
735
736         * Documentation/topdocs/NEWS.texi (Top): Mention GNOME backend for
737         developers.
738
739         * lily/paper-outputter.cc (file): New method.
740         (dump_string): Use it.
741
742         * scm/output-gnome.scm: Update with pango CVS info, lilylib
743         musing.
744
745         * lily/accidental-engraver.cc: Bugfix: (do not sort lines if one
746         of them has a comma :-).
747
748         * scm/framework-gnome.scm: Add pango decoders.
749
750         * lily/include/pangofc-afm-decoder.hh: 
751         * lily/pangofc-afm-decoder.cc: New file.
752
753         * lily/lily-guile.cc (ly:pango-add-afm-decoder): New function.
754
755         * configure.in: Check for pango.
756
757         * stepmake/aclocal.m4 (PKG_CHECK_MODULES): New function (from
758         autoconf).
759         (STEPMAKE_GTK2, STEPMAKE_PANGO): New function.
760
761         * config.make.in (USER_CFLAGS, USER_LDLAGS): Update.
762
763 2004-06-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
764
765         * Documentation/user/tutorial.itely (Integrating text and music):
766         fix grammar & punctuation.
767
768 2004-06-16  Jan Nieuwenhuizen  <janneke@gnu.org>
769
770         * lily/: Stray janitorial cleanups.
771
772         * scm/lily.scm (ly:all-stencil-expressions):
773         * scm/lily.scm (ly:all-output-backend-commands): New function.
774
775         * scm/safe-lily.scm (safe-objects): Add them.
776
777         * scm/framework-gnome.scm (<gnome-outputter>): New class.
778
779         * scm/output-gnome.scm: Move non-stencil evaluators to framework.
780
781 2004-06-15  Jan Nieuwenhuizen  <janneke@gnu.org>
782
783         * buildscripts/guile-gnome.sh: Pick-up user-installed pango.
784
785 2004-06-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
786
787         * scm/page-layout.scm (default-page-make-stencil): add
788         raggedbottom, raggedlastbottom.
789
790         * Documentation/user/changing-defaults.itely (Page layout): add doc.
791
792         * scm/framework-tex.scm (define-fonts): fix export of
793         papersize.
794
795         * lily/paper-book.cc (classic_output): strip suffixes from
796         framework functions.
797
798         * lily/tuplet-bracket.cc (before_line_breaking): do not return
799         SCM_UNDEFINED to Scheme.
800
801 2004-06-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
802
803         * lily/book.cc: remove Book::to_stencil().
804         (process): whoops. Score::book_rendering returns vector, not list.
805
806         * scripts/convert-ly.py (conv): remove \notes.
807         apply to input examples.
808
809         * lily/paper-outputter.cc (output_stencil): don't use
810         smobify_self() but self_scm()
811
812         * lily/include/ly-smobs.icc (IMPLEMENT_SMOBS): don't return SCM
813         from smobify_self().
814
815         * lily/paper-book.cc (output): load framework module
816         scm_c_resolve_module().
817
818         * python/lilylib.py (exit): exit with argument i.
819
820 2004-06-14  Jan Nieuwenhuizen  <janneke@gnu.org>
821
822         * scm/framework-gnome.scm (output-framework-gnome): Try loading
823         gnome modules from non-toplevel.
824
825         * lily/ly-module.cc (ly:import-module): Export to ly:.
826
827         * lily/paper-score.cc (process): Do not show progress newline.
828
829         * lily/paper-book.cc (output, classic_output): Show progess
830         newline after score.
831
832 2004-06-14  Heikki Junes <hjunes@cc.hut.fi>
833
834         * buildscripts/lilypond-words.py: add ly/vlaams.ly
835
836 2004-06-14  Jan Nieuwenhuizen  <janneke@gnu.org>
837
838         * lily/score.cc (ly:run-translator): Do not crash on empty music
839         list.
840
841         * lily/book.cc (process): Do not render score when systems is empty.
842
843         * input/simple-song.ly: Down one octave.
844
845         * scm/output-gnome.scm: Remove script again; re-add modules fix
846         (CVS conflict resolve?)
847
848         * lily/stencil.cc (ly:interpret-stencil): Was:
849         interpret_stencil_expression.
850
851 2004-06-13  Jan Nieuwenhuizen  <janneke@gnu.org>
852
853         * buildscripts/guile-gnome.sh: New file.
854
855         * scm/output-gnome.scm: White background, better window size, sane
856         canvas size.  Cleanups.
857
858 2004-06-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
859
860         * VERSION: release 2.3.4
861
862         * Documentation/user/invoking.itexi (Invoking the lilypond
863         binary): document --safe.
864
865         * scm/output-gnome.scm: set PATH in script.
866
867         * scm/page-layout.scm (default-page-make-stencil): don't stretch
868         if there is too few systems on a page.
869
870         * lily/parser.yy (relative_music): start at middle C without pitch
871         argument.
872
873         * Documentation/user/changing-defaults.itely (Page layout): new node.
874         (Paper size): rename node
875         (Page breaking): new node.
876         (Titling): move from invoking.
877         (File structure): new node.
878
879         * lily/parser.yy (score_body): allow \header and music anywhere in
880         \score body.
881
882 2004-06-13  Jan Nieuwenhuizen  <janneke@gnu.org>
883
884         * scm/lily.scm (ly:load): Remove page-breaking.scm.
885
886 2004-06-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
887
888         * lily/include/paper-system.hh: move cc/hh file from paper-line.*
889
890         * lily/include/paper-line.hh: rename to Paper_system.
891
892         * lily/include/paper-book.hh: doc class.
893
894         * lily/paper-book.cc (c_ragged_page_breaks): remove functions. 
895
896         * scm/page-layout.scm (plain-footer): add tagline/copyright. 
897         (plain-header): add instrument-name.
898         (default-page-make-stencil): bugfixes.
899
900         * lily/parser.yy (book_body): allow \header anywhere in \book{}
901
902         * lily/paper-book.cc: remove copyright & tagline. Remove
903         interactions with Page
904
905         * scm/page-layout.scm (ly:optimal-page-breaks): move back breaking
906         here, 
907         (default-page-make-stencil): new function
908         (default-page-music-height): new function
909         (page-headfoot): new function
910         (ly:optimal-page-breaks): generate stencils directly from here
911
912         * scm/titling.scm: new file, group titling functions
913
914 2004-06-13  Jan Nieuwenhuizen  <janneke@gnu.org>
915
916         * scm/output-gnome.scm: Handle multiple pages.
917
918         * scm/framework-gnome.scm: Do not load output-gnome.
919         (framework-gnome): Invoke output-gnome::header and
920         output-gnome::end-output as faked stencils.  Fixes experimental
921         gnome output.
922
923 2004-06-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
924
925         * input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ly (rondo):
926         octavation compatibility fixes. Backportme. 
927
928         * scm/page-breaking.scm (ly:optimal-page-breaks): allow overfull
929         pages.
930         (ly:optimal-page-breaks): combine-penalties: no shortcut for
931         negative. Now we handle negative penalties (ie. \pageBreak)
932         correctly.
933
934         * lily/system.cc (get_line): extract page-penalty from the left
935         bound.
936
937         * scm/fret-diagrams.scm (fret-diagram): use @table for documentation
938
939 2004-06-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
940
941         * scm/framework-ps.scm: don't load output-XXX from framework-XXX
942
943 2004-06-12  Jan Nieuwenhuizen  <janneke@gnu.org>
944
945         * scm/output-gnome.scm: Update script.  Move development to
946         lilypond_2_3_2 branch for now.
947
948 2004-06-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
949
950         * scm/page-breaking.scm (ly:optimal-page-breaks): don't do
951         negative penalties.
952         cleanups.
953
954         * Documentation/user/changing-defaults.itely (Creating contexts):
955         index entries
956
957         * scm/page-breaking.scm (ly:optimal-page-breaks): new
958         file. Rewrite function. 
959
960         * lily/paper-book.cc (pages): new interface: page-breaking returns
961         list of line-list.
962
963         * lily/page.cc (Page): take lines argument.
964
965         * scm/document-translation.scm (all-engravers-doc): link to user man
966
967         * scm/page-layout.scm (ly:optimal-page-breaks): use penalty iso. score.
968
969         * Documentation/user/notation.itely (Relative octaves): typo.
970
971         * lily/paper-book.cc (LY_DEFINE): ly:output-formats. New function.
972
973 2004-06-11  Jan Nieuwenhuizen  <janneke@gnu.org>
974
975         * scm/output-gnome.scm: Update build script.
976
977 2004-06-10  Jan Nieuwenhuizen  <janneke@gnu.org>
978
979         * scm/output-gnome.scm: Add font scaling.  Attempt to resurrect
980         gnome backend.
981
982         * scm/framework-gnome.scm: New file.
983
984         * scm/lily.scm: Use it.
985
986         * lily/paper-outputter.cc: Janitorial cleanups.
987         (ly:outputter-dump-string): Remove unreachable statement.
988
989         * scm/framework-ps.scm: Add header.  Janitorial cleanups.
990         (ice-9): Bugfix: Add srfi-1.
991
992         * scm/framework-tex.scm: Add header.  Janitorial cleanups.
993
994 2004-06-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
995
996         * lily/new-lyric-combine-music-iterator.cc (do_quit): put warning
997         in do_quit()
998
999 2004-06-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1000
1001         * ly/book-paper-defaults.ly: set optimal-page-breaks as default
1002
1003 2004-06-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1004
1005         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
1006         override of Beam::position-callbacks. Why would grace beams not be
1007         quantized? Fixes: weird-stem-size-grace. 
1008
1009         * lily/new-lyric-combine-music-iterator.cc (find_voice): issue
1010         warning only once. Backportme.
1011
1012         * lily/accidental-engraver.cc (number_accidentals_from_sig):
1013         bugfix, 2nd try. Backportme.
1014
1015         * ly/vlaams.ly: new file. (Thanks Hendrik Maryns)
1016
1017 2004-06-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1018
1019         * Documentation/user/notation.itely (Instrument transpositions):
1020         Correct the name of the instrumentTransposition property.
1021
1022 2004-06-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1023
1024         * scm/output-ps.scm (ps-font-command): fix parmesan coding too.
1025
1026 2004-06-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1027
1028         * scripts/lilypond-book.py (output): Bug fix so preLilyPondExample
1029         and postLilyPondExample are called when defined.
1030
1031 2004-06-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1032
1033         * ly/nederlands.ly (pitchnames): use ly:parser-set-note-names.
1034         This fixes setting notenames with `\include "nederlands.ly" '
1035
1036         * lily/my-lily-parser.cc (LY_DEFINE): ly:parser-set-note-names:
1037         new function.
1038
1039 2004-06-01  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1040
1041         * scm/page-layout.scm: don't do piece, it should be in score-title
1042         only.
1043
1044         * lily/lexer.ll: lex \score separately.
1045
1046         * lily/paper-book.cc: junk stencil2line.
1047
1048         * lily/paper-line.cc (Paper_line): construct from Stencil
1049         directly. No futzing with the dimensions.
1050
1051         * lily/include/paper-line.hh (class Paper_line): 
1052
1053         * lily/stencil.cc (interpret_stencil_expression): combine-stencil
1054         takes arbitrary number of arguments.
1055
1056         * input/test/markup-score.ly (tuning): simplify example. 
1057
1058 2004-05-31  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1059
1060         * lily/score.cc (LY_DEFINE): ly:score-embedded-format, new function. 
1061
1062         * scm/define-markup-commands.scm (score): define score-markup
1063
1064         * lily/parser.yy (markup): use score-markup.
1065
1066         * lily/score.cc: add ly:score? 
1067
1068 2004-05-30  Carl Sorensen <carl_sorensen@byu.edu>
1069
1070         * scm/fret-diagrams.scm: add fret-diagram-verbose markup; modified
1071         fret-parse-string so it prepares for calls to fret-diagram-verbose
1072         Changed display constants to props so they are available for
1073         \override.
1074
1075 2004-05-31  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1076
1077         * VERSION: release 2.3.3
1078
1079         * stepmake/stepmake/generic-vars.make: unset LANG.
1080
1081         * input/regression/tuplet-nest.ly: bugfix.
1082
1083         * lily/tie-performer.cc (stop_translation_timestep): reset
1084         ties_created_. Fixes: midi-tie.ly, midi-lyrics-barcheck.ly
1085
1086         * lily/chord-tremolo-engraver.cc (stop_translation_timestep):
1087         clear repeat_ directly after setting stem_tremolo_. Fixes:
1088         tremolo-repeat.ly
1089
1090         * input/regression/span-bar-break.ly: new file.
1091
1092         * scm/define-grobs.scm (all-grob-descriptions): remove
1093         break-visibility from SpanBar. Fixes: piano-repeat.ly
1094
1095 2004-05-30  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1096
1097         * python/lilylib.py (make_ps_images): only compute bbox when needed.
1098
1099         * scripts/lilypond-book.py (process_snippets): use lily -f ps
1100         files for generating pngs. (failed experiment)
1101
1102         * scm/framework-ps.scm (output-classic-framework-ps): dump EPS
1103         file with PFA fonts included.
1104
1105         * lily/score.cc (default_rendering): put header in too.
1106
1107         * lily/paper-line.cc (LY_DEFINE): change function to
1108         ly:paper-line-extent
1109
1110         * scm/page-layout.scm (default-book-title): only add lines for
1111         non-nil fields.
1112         (default-score-title): idem.
1113
1114         * lily/my-lily-parser.cc (parse_string): delete lexer after use.
1115
1116         * lily/my-lily-lexer.cc (My_lily_lexer): copy keytable.
1117
1118         * lily/include/paper-book.hh (class Paper_book): remove height_
1119         member.
1120
1121         * input/test/coriolan-margin.ly (texidoc): remove latex macros.
1122
1123         * lily/ly-module.cc (LY_DEFINE): bugfix.
1124
1125         * lily/paper-book.cc (book_title): separate function for the book
1126         title.
1127
1128         * scm/page-layout.scm (default-book-title): only account for
1129         markup fields.
1130
1131         * scm/framework-ps.scm: new file. Move high level interface from
1132         output-ps.scm
1133
1134         * scm/music-functions.scm (def-grace-function): move macros from
1135         ly/music-functions-init.ly
1136
1137         * lily/paper-outputter.cc (Paper_outputter): move scheme_calls to
1138         framework-tex.scm
1139
1140         * scm/framework-tex.scm (dump-line): new file. High level
1141         interface for output (pages, systems, header). 
1142
1143         * lily/include/page.hh (class Page): add is_last_ field.
1144
1145         * lily/paper-outputter.cc (print_smob): smobify Paper_outputter.
1146
1147         * lily/paper-book.cc (split_string): new function
1148         (output): output multiple formats, i.e. --format=ps,tex
1149
1150         * scm/output-ps.scm (output-scopes): dump variables directly.
1151         (define-fonts): rewrite for new interface
1152
1153         * ps/lilyponddefs.ps: remove lilypondpaper redefinitions.
1154
1155         * lily/paper-outputter.cc (Paper_outputter): take format argument.
1156
1157         * lily/main.cc (parse_argv): don't set extension for output.
1158
1159         * lily/clef-engraver.cc (create_clef): remove
1160         Staff_symbol_referencer::set_position() call. 
1161
1162 2004-05-30  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1163
1164         * ly/music-functions-init.ly (addlyrics): set the 'origin property
1165         with the location argument in music function definitions.
1166
1167 2004-05-29  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1168
1169         * lily/staff-symbol-engraver.cc (acknowledge_grob): remove item ->
1170         staffsymbol dependency.
1171
1172         * lily/include/grob.hh (class Grob): live () -> is_live (). Small
1173         cleanups.
1174
1175         * lily/book.cc (process): return Paper_book
1176         (to_stencil): use Book::process().
1177
1178         * lily/include/my-lily-parser.hh (class My_lily_parser): remove
1179         header_ field. Store in $globalheader
1180
1181         * lily/parser.yy (book_body): book header is initted to
1182         $globalheader.
1183
1184
1185 2004-05-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1186
1187         * input/test/fill-a4.ly: removed.
1188
1189         * lily/parser.yy (output_def): push scope of parent_ Output_def
1190         too.
1191
1192 2004-05-28  Jan Nieuwenhuizen  <janneke@gnu.org>
1193
1194         * scm/output-gnome.scm: Update info.
1195
1196 2004-05-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1197
1198         * lily/book-paper-def.cc: collapse Book_output_def to Output_def.
1199
1200         * scm/lily.scm (ly:modules-lookup): handle empty list, and more
1201         than 1 module.
1202
1203         * lily/include/ly-module.hh (ly_use_module): rename is_module to
1204         ly_c_module_p.
1205
1206         * scm/page-layout.scm (default-book-title): move Scheme titling
1207         functions to here.
1208
1209         * lily/parser.yy (book_paper_block): remove scope too.
1210
1211         * ly/engraver-init.ly (EasyNotation): remove OrchestralScoreContext
1212
1213         * lily/rest.cc: add direction to rest properties.
1214
1215         * lily/include/output-def.hh: new file, move from
1216         music-output-def.hh
1217
1218 2004-05-27  Jan Nieuwenhuizen  <janneke@gnu.org>
1219
1220         * scm/output-gnome.scm: Describe feta-cork hack.
1221
1222 2004-05-27  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1223
1224         * lily/include/book-paper-def.hh: derive from Output_def 
1225
1226         * lily/include/paper-def.hh: move all functionality out of class.
1227         Junk header.
1228
1229         * lily/include/music-output-def.hh: rename Music_output_def to
1230         Output_def.
1231
1232         * input/wilhelmus.ly: only set space for Paper formatting. 
1233
1234         * lily/include/midi-def.hh: remove file, remove class.
1235         Move functions to Music-output-def.
1236
1237         * lily/music-output-def.cc (Music_output_def): remove separate
1238         translator table. Lookup translators in scope directly. This
1239         obviates Context suffix for context identifiers, i.e.
1240
1241         \context {
1242           \Staff
1243           .. 
1244           }
1245
1246
1247         will work.
1248
1249
1250         * Documentation/user/notation.itely (Chords mode): typo: 13 -> 3.
1251
1252         * Documentation/user/changing-defaults.itely (Horizontal spacing):
1253         document spacing override hack.
1254
1255 2004-05-27  Jan Nieuwenhuizen  <janneke@gnu.org>
1256
1257         * scm/output-gnome.scm: Add C-q, C-w keybindings.  Update
1258         installation info.  Support point-and-click.  Add +/- zoom
1259         keybindings.
1260
1261 2004-05-26  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1262
1263         * VERSION: 2.3.2 released
1264
1265         * lily/parser.yy (book_body): set default bookpaper.
1266
1267         * scm/output-tex.scm (header): kludge: hard code linewidth. 
1268
1269         * lily/my-lily-parser.cc (My_lily_parser): don't delete lexer.
1270
1271 2004-05-25  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1272
1273         * lily/score.cc (default_rendering): scale outputdef before
1274         starting.
1275
1276 2004-05-25  Jan Nieuwenhuizen  <janneke@gnu.org>
1277
1278         * scm/fret-diagrams.scm: Add header.
1279
1280         * scm/output-gnome.scm: Hello world :-)
1281
1282 2004-05-25  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1283
1284         * scripts/lilypond.py (run_dvips): only add papersize if present.
1285
1286         * lily/accidental-engraver.cc (update_local_key_signature): new
1287         function, fold code from initialize() and process_music().
1288         (update_local_key_signature): use deep copy. This fixes one
1289         problem from custom-key-signatures.ly.
1290         (number_accidentals_from_sig): tighter check for
1291         accidental-too-old.
1292
1293         * ly/engraver-init.ly: remove localKeySignature
1294         definition from ChoirStaff, StaffGroup, Score.
1295
1296         * lily/percent-repeat-engraver.cc (try_music): add moments for
1297         barlines too. Fixes: skipbars-percent-repeat.ly.
1298
1299 2004-05-24  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1300
1301         * lily/context-def.cc (filter_performers): don't go to cdrloc if
1302         skipping last pair. Fixes: crash-bar-number.
1303
1304         * scm/fret-diagrams.scm (nil): fret-diagrams (courtesy Carl
1305         D. Sorensen)
1306
1307         * input/test/fret-diagram.ly: new file.
1308
1309         * scm/paper.scm (paper-set-staff-size): scale linewidth too.
1310         (scale-paper): divide by scale.
1311
1312 2004-05-19  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1313
1314         * lily/rest-collision.cc (do_shift): also do nothing for the (0,2)
1315         case.
1316
1317 2004-05-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1318
1319         * scm/stencil.scm (fontify-text): reinstate function
1320
1321         * tex/lily-ps-defs.tex: remove lilypondblotdiam def.
1322
1323         * lily/book-paper-def.cc (Book_paper_def): add copy ctor.
1324
1325         * lily/parser.yy (book_paper_head): \bookpaper {} 
1326
1327         * python/midi.c: remove config.h
1328
1329 2004-05-18  Jan Nieuwenhuizen  <janneke@gnu.org>
1330
1331         * scm/output-gnome.scm: Update.
1332
1333 2004-05-17  Jan Nieuwenhuizen  <janneke@gnu.org>
1334
1335         * scm/output-gnome.scm: New file.
1336
1337         * lily/include/book-paper-def.hh: Add.  Janitorial fixes.
1338
1339 2004-05-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1340
1341         * lily/book-paper-def.cc (ly_bookpaper_fonts): move from Paperdef
1342         (find_scaled_font): move from Paper_def
1343
1344 2004-05-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1345
1346         * lily/my-lily-parser.cc (LY_DEFINE): new function ly_parser_lookup
1347         (LY_DEFINE): add SCM_ASSERT_TYPE everywhere.
1348
1349         * po/fr.po: update po.
1350
1351         * lily/include/book-paper-def.hh (class Book_paper_def): new file.
1352
1353         * lily/book-paper-def.cc (print_smob): new file.
1354
1355 2004-05-16  Heikki Junes <hjunes@cc.hut.fi>
1356
1357         * buildscripts/lilypond-words.py: search words also from
1358         music-functions-init.ly.
1359
1360 2004-05-15  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1361
1362         * ly/music-functions-init.ly (def-music-function): new helper
1363         macro for defining music functions. \addlyrics \appoggiatura
1364         \acciaccatura \grace \partcombine \autochange \applycontext
1365         \applyoutput and \breathe are now defined here thanks to it.
1366
1367         * lily/parser.yy: 
1368         * lily/my-lily-lexer.cc: \addlyrics \appoggiatura \acciaccatura
1369         \grace \partcombine \autochange \applycontext \applyoutput and
1370         \breathe keywords removed from the parser.
1371
1372         * lily/parser.yy: 
1373         * lily/music-function.cc (ly_make_music_function): 
1374         * lily/lexer.ll (music_function_type): added a case for 0-arg
1375         music functions.
1376
1377 2004-05-14  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1378
1379         * scm/ly-from-scheme.scm (read-lily-expression):  A variable
1380         refering to a music expression can be used in lily-inside-scheme:
1381         #{ $music #}
1382
1383         * lily/my-lily-parser.cc (LY_DEFINE): introduce ly:clone-parser
1384         and ly:parser-define, and change ly:parser-parse-string in order
1385         to make #{ $music #} work.
1386
1387         * scm/new-markup.scm (compile-markup-expression): when an argument
1388         is a string, use `make-simple-markup'.
1389
1390 2004-05-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1391
1392         * lily/parser.yy (My_lily_lexer): bugfix; op should be tag.  
1393
1394 2004-05-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1395
1396         * scripts/convert-ly.py (FatalConversionError.func): handle + in
1397         font-size. (backportme)
1398
1399 2004-05-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1400
1401         * lily/paper-outputter.cc (output_stencil): dump font definitions
1402         before each stencil.
1403
1404         * lily/include/paper-book.hh (struct Score_lines): new
1405         struct. Collect info per Paper-score.
1406
1407         * lily/include/page.hh (class Page): to_stencil() returns Stencil
1408         everywhere.
1409
1410         * lily/stencil.cc (find_expression_fonts): new function
1411
1412         * lily/paper-outputter.cc (output_stencil): use
1413         interpret_stencil_expr
1414
1415         * lily/stencil.cc (LY_DEFINE): ly_stencil_fonts: new function.
1416         (interpret_stencil_expr): new function. Generic stencil
1417         interpretation.
1418
1419         * lily/paper-def.cc (find_scaled_font): divide lookup
1420         magnification by outpuscale for non-virtual fontmetrics. This
1421         fixes ludicrously long font definitions for text
1422         fonts. (backportme)
1423
1424         * lily/score-engraver.cc: remove
1425         {Engraver,Score_engraver}::typeset_grob(), remove all calls.
1426
1427 2004-05-09  Jan Nieuwenhuizen  <janneke@gnu.org>
1428
1429         * input/test/markup-score.ly: Remove \notes.
1430
1431         * lily/parser.yy (book_body): Grok Composite_music and \header.
1432         (markup): Push NOTES mode before score_block.
1433
1434         * VERSION: release 2.3.1
1435
1436         * mf/feta-klef.mf: 
1437         * mf/feta-bolletjes.mf: Oops.  Comment-out canvast test code.
1438
1439         * Documentation/user/programming-interface.itely: Use @emph (was: @em).
1440
1441         * Documentation/user/out/tutorial.texi: Untrigger lilypond-book error.
1442
1443 2004-05-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1444
1445         * scm/output-tex.scm (output-tex-string): tighten safe security.
1446
1447         * lily/scm-option.cc (LY_DEFINE): add 'safe to ly:get-option
1448
1449         * scm/safe-lily.scm (make-safe-lilypond-module): new file. Define
1450         allowed ly functions.
1451
1452         * lily/ly-module.cc (ly_module_define): only define variable if
1453         bound.
1454         (ly_make_anonymous_module): take safe option.
1455
1456 2004-05-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1457
1458         * scripts/lilypond-book.py (compose_ly): remove FRAGMENT_LY.
1459
1460 2004-05-08  Jan Nieuwenhuizen  <janneke@gnu.org>
1461
1462         * input/regression/newaddlyrics.ly: Fix.
1463
1464         * Documentation/user/tutorial.itely: Use \newlyrics, remove most
1465         \score \notes.
1466
1467 2004-05-08  Heikki Junes <hjunes@cc.hut.fi>
1468
1469         * Documentation/user/music-glossary.tely ([k-z]): last fixes.
1470
1471 2004-05-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1472
1473         * input/mutopia/R.Schumann/romanze-op28-2.ly (d): use #(define .. )
1474
1475         * lily/paper-line.cc (Paper_line): don't store list of stencils,
1476         but convert to single Stencil immediately.
1477
1478         * lily/paper-book.cc (title): don't return Stencil* but Stencil.
1479
1480 2004-05-07  Jan Nieuwenhuizen  <janneke@gnu.org>
1481
1482         * scm/output-sodipodi.scm: Resurrect sodipodi output.
1483
1484 2004-05-07  Kristof Bastiaensen  <kristof.bastiaensen@vleeuwen.org>
1485
1486         * elisp/lilypond-mode.el: Changed the way defaults are created for
1487         LilyPond-command-master.  LilyPond-mode will now check the
1488         timestamps of the files to see which command has to run next.
1489
1490 2004-05-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1491
1492         * scm/bass-figure.scm (format-bass-figure): don't set
1493         number-markup for strings. This fixes string in bass
1494         figure. (backportme)
1495
1496         * lily/parser.yy (bass_number): insert number-markup into figure
1497         definition.
1498
1499         * scm/define-music-properties.scm (all-music-properties): make
1500         'figure a markup.
1501
1502         * scripts/convert-ly.py (conv): \apply -> \applymusic
1503
1504 2004-05-06  Kristof Bastiaensen  <kristof.bastiaensen@vleeuwen.org>
1505
1506         * elisp/lilypond-mode.el: changed the order of some commands
1507         ("Midi" after "2Midi"), use the user-defined
1508         LilyPond-command-default as default instead of "LilyPond"
1509
1510         * elisp/lilypond-mode.el: added a LilyPond-master-file variable,
1511         to set the master file for the next command.
1512
1513         * elisp/lilypond-font-lock.el: replaced font-lock-warning-face
1514         with font-lock-reference-face.
1515
1516 2004-05-07  Heikki Junes <hjunes@cc.hut.fi>
1517
1518         * Documentation/user/music-glossary.tely ([ab]*): small fixes.
1519
1520         * Documentation/user/music-glossary.tely ([c-l]*): more fixes.
1521
1522 2004-05-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1523
1524         * ly/music-functions-init.ly (TODO): new file.
1525
1526         * lily/parser.yy (Generic_prefix_music_scm): add more
1527         music_function symbols.
1528         (Prefix_composite_music): change \apply to music-function   
1529
1530         * lily/include/music-function.hh: rename to music-function
1531
1532 2004-05-05  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1533
1534         * lily/music-head.cc (LY_DEFINE): change order of args.
1535
1536         * input/regression/music-head.ly (texidoc): new file.
1537
1538         * lily/parser.yy (Generic_prefix_music): allow generic
1539         music-transformation functions. 
1540
1541         * lily/include/music-head.hh (is_music_head): new file.
1542
1543         * lily/music-head.cc (get_music_head_transform): new file.
1544
1545 2004-05-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1546
1547         * lily/ottava-bracket.cc (print): use coordinate, not (0,0) for
1548         empty extent. This fixes ottava brackets on rests. (backportme)
1549
1550         * make/lilypond.redhat.spec.in (Group): ln png files for info.
1551
1552         * lily/piano-pedal-engraver.cc (create_text_grobs): core dump fix.
1553
1554         * cygwin/lily-wins.py: update for the lily-wins.py script.
1555
1556 2004-05-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1557
1558         * lily/score-engraver.cc (typeset_all): switch off unbound spanner
1559         code. This will obviate typeset_grob () in the future.  The effect
1560         of this is that improperly written spanner handling will result in
1561         invalid spanner bounds.
1562         (announce_grob): add to elems_ from here
1563         (typeset_grob): comment out.  
1564
1565         * lily/include/engraver.hh (make_spanner): new calling interface
1566         for make_{item,spanner}. This obviates most calls to
1567         announce_grob().
1568
1569         * scm/music-functions.scm (set-accidental-style): use GrandStaff
1570         iso. PianoStaff for piano styles.
1571
1572 2004-05-03  Heikki Junes <hjunes@cc.hut.fi>
1573
1574         * Documentation/user/music-glossary.tely: add segno after d.s.
1575
1576 2004-05-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1577
1578         * lily/include/audio-column.hh: remove unused variables.
1579         (patch by Michael Welsh Duggan)
1580
1581         * flower/include/axes.hh (other_axis): inline Axes function
1582         (thanks to David Brandon).
1583
1584 2004-05-02  Jan Nieuwenhuizen  <janneke@gnu.org>
1585
1586         * cygwin/mknetrel: Install image links (backportme).
1587
1588         * Documentation/user/GNUmakefile (local-install-info): Activate
1589         actual installing of image links (backportme).
1590
1591 2004-04-30  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1592
1593         * Documentation/user/notation.itely (Measure repeats): Removed
1594         unnecessary (and confusing) \context Voice{.
1595
1596 2004-04-29  Jan Nieuwenhuizen  <janneke@gnu.org>
1597
1598         * Documentation/topdocs/NEWS.texi: Mention use of \score as markup.
1599
1600         * lily/page.cc (Page): Do not use ly_scheme_function for
1601         volatile/configurable variables (FIXME: better name).
1602
1603         * lily/music-output-def.cc (c_lookup_variable): Rename (WAS:
1604         get_scmvar).
1605
1606 2004-04-29  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1607
1608         * scripts/convert-ly.py (FatalConversionError.subst): use
1609         \transposition.
1610
1611 2004-04-29  Jan Nieuwenhuizen  <janneke@gnu.org>
1612
1613         * lily/include/page.hh (class Page): Declare left_margin ().
1614
1615         * lily/page.cc: Remove paper var caching.
1616
1617 2004-04-28  Jan Nieuwenhuizen  <janneke@gnu.org>
1618
1619         * Documentation/user/music-glossary.tely: Add name to @top node.
1620         Remove comment from @table definitions (workaround for makinfo
1621         bug).
1622
1623         * lily/stencil-scheme.cc (ly:stencil-expr): Rename (was:
1624         ly:stencil-get-expr).  Update callers.
1625         (ly:stencil-align-to!):  Return stencil too.
1626
1627         * lily/paper-outputter.cc (output_page): Bugfix.  Use page
1628         stencil.  Remove looped line-based page output.
1629         (output_line): Use line stencil.  Remove looped stencil-based line
1630         output.
1631
1632         * lily/page.cc (ly:page-paper-lines): New function.
1633
1634         * input/test/markup-score.ly: New file.
1635
1636         * scm/define-markup-commands.scm (stencil): New markup.
1637
1638         * lily/book.cc (to_stencil): New method.
1639
1640         * lily/parser.yy (markup): Use it to grok \score.
1641
1642 2004-04-27  Jan Nieuwenhuizen  <janneke@gnu.org>
1643
1644         * lily/stencil.cc (expr): Rename (was: get_expr).  Update callers.
1645
1646         * lily/paper-book.cc (pages): Change signature.  Update callers.
1647
1648         * lily/include/page.hh:
1649         * lily/page.cc: New file.
1650
1651         * lily/paper-line.cc (to_stencil): New method.
1652
1653         * lily/paper-outputter.cc (output_stencil): New method.
1654
1655         * lily/paper-outputter.cc (output_line): Use them.
1656
1657         * lily/warn.cc: Remove.
1658
1659         * lily/my-lily-parser.cc (distill_inname): Remove.
1660
1661         * flower/include/file-name.hh: 
1662         * flower/file-name.cc: New file.  Update users.
1663
1664         * flower/file-path.cc [CYGWIN]: Junk testing code.  Remove Path.
1665         (find): New method of same name.
1666
1667         * lily/my-lily-parser.cc (ly:parse-file): Use it.
1668
1669         * lily/scm-option.cc (ly:set-option, ly:get-option): Bugfix:
1670         constant error message.
1671
1672 2004-04-27  Heikki Junes <hjunes@cc.hut.fi>
1673
1674         * input/test/{blank-notes.ly,staff-container.ly}: typos.
1675
1676 2004-04-26  Jan Nieuwenhuizen  <janneke@gnu.org>
1677
1678         * Documentation/user/music-glossary.tely: @table @strong' replaced
1679         by `@table @samp @c @strong'.  This fixes invalid makeinfo output
1680         (backportme).
1681
1682 2004-04-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1683
1684         * scm/lily.scm (ly:load): Add ly-from-scheme.scm loading.
1685
1686         * scm/ly-from-scheme.scm: New file. Introduce a new syntax:
1687         #{ lily music expression #} that returns an equivalent scheme
1688         music expression by parsing the string.
1689
1690 2004-04-25  Jan Nieuwenhuizen  <janneke@gnu.org>
1691
1692         * lily/my-lily-parser.cc:
1693         * lily/my-lily-lexer.cc: Another step towards parsing ly code from
1694         SCM string (foo.ly/toto.scm support).
1695
1696 2004-04-24  Jan Nieuwenhuizen  <janneke@gnu.org>
1697
1698         * lily/my-lily-parser.cc (ly:parser-parse-string): New function.
1699
1700 2004-04-21  Jan Nieuwenhuizen  <janneke@gnu.org>
1701
1702         * input/regression/newaddlyrics.ly: Remove lilypond-book kludge.
1703
1704         * scripts/lilypond-book.py: LY code that includes \header is
1705         not assumed to be a fragment.
1706
1707 2004-04-20  Jan Nieuwenhuizen  <janneke@gnu.org>
1708
1709         * lily/stem-tremolo.cc (print): If stem direction == CENTER, move
1710         tremolo beams up.
1711
1712         * lily/stem.cc (chord_start_y): Return 0 if no heads.
1713         (get_default_stem_end_position): No tremolo head juggling if no
1714         heads.  Fixes tremolo crash on rests (backportme).
1715
1716         * scripts/abc2ly.py: Oops use [\]proper[ty] 2.2 syntax.
1717
1718 2004-04-19  Jan Nieuwenhuizen  <janneke@gnu.org>
1719
1720         * scripts/abc2ly.py: ABC beams preserve support (courtesy Guy
1721         Gascoigne-Piggford).  Also: TAB and whitespace fixes.
1722
1723         * lily/lexer.ll: Allow \encoding in NOTES mode.
1724
1725         * buildscripts/mf-to-table.py (write_fontlist): Use \lyrics
1726         for lyrics, not for commands.
1727
1728         * lily/parser.yy (scalar): Bugfix: accept LYRICS_STRING.
1729         FIXME: Replace some `Music's with Grouped_music_list; fixes make web.
1730
1731         * input/regression/newaddlyrics.ly: New file.
1732
1733         * Documentation/topdocs/NEWS.texi: Update.
1734
1735         * lily/parser.yy (new_lyrics): Return SCM list of lyric musics.
1736         (Music_list): Allow embedded scm.
1737
1738         * lily/score.cc (ly:score-bookify): New function.
1739
1740         * lily/music.cc (ly:music-scorify): Idem.
1741
1742         * lily/my-lily-parser.cc (ly:parser-print-book): Idem.
1743         (ly:parser-print-score): Idem.
1744
1745         * scm/lily.scm (default-toplevel-book-handler): Idem.
1746         (default-toplevel-music-handler): Idem.
1747         (default-toplevel-score-handler): Idem.
1748
1749         * ly/declarations-init.ly: Set default toplevel handlers.
1750
1751         * lily/parser.yy (book_block, score_block, toplevel_music): Use them.
1752
1753         * scripts/lilypond-book.py (PREAMBLE_LY): Select classic score
1754         printer for score at toplevel.
1755
1756 2004-04-18  Jan Nieuwenhuizen  <janneke@gnu.org>
1757
1758         * lily/parser.yy (NEWLYRICS): Switch to LYRICS mode for lyrics.
1759         Fix for simple case: input/simple-song.ly, more complex stuff
1760         does not work yet.
1761
1762 2004-04-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1763
1764         * lily/parser.yy (Prefix_composite_music): split Composite_music
1765         in Prefix_composite_music and Grouped_music_list.
1766         (re_rhythmed_music): use Grouped_music_list for NEWLYRICS.
1767
1768 2004-04-18  Jan Nieuwenhuizen  <janneke@gnu.org>
1769
1770         * scm/lily.scm (toplevel-expression): New define.
1771
1772         * lily/my-lily-parser.cc (ly:parser-add-book-and-score): New function.
1773
1774         * lily/parser.yy (toplevel_expression): Use it.
1775
1776         * lily/include/my-lily-parser.hh: Smobbify.
1777
1778         * lily/my-lily-parser.cc (parse_string): New method.
1779
1780         * lily/my-lily-parser.cc (ly:parse-string): New function.
1781
1782         * Documentation/user/lilypond.tely: Add comment and workaround for
1783         gs-8.01 crash.  Fixes make web.
1784
1785         Simplification of toplevel music.
1786
1787         * lily/lexer.ll, lily/parser.yy:
1788
1789         * In LYRICS mode, return LYRICS_STRING.  This fixes one
1790         shift/reduce problem.
1791
1792         * Use NOTES mode at start of maininput.
1793
1794         * Grok toplevel composite music expression, put in score and book.
1795
1796         * Grok \relative COMPOSITE_MUSIC, make relative on middleC.
1797
1798         * \newlyrics is a shortcut for \context Lyrics \lyricsto "" \lyrics
1799
1800         * input/simple.ly: New file.
1801
1802         * input/simple-song.ly: Idem.
1803
1804 2004-04-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1805
1806         * lily/parser.yy: rename NEWADDLYRICS to LYRICSTO. Thanks to Erik
1807         Sandberg.
1808
1809 2004-04-17  Jan Nieuwenhuizen  <janneke@gnu.org>
1810
1811         * scm/font.scm (add-cmr-fonts): Narrow bold is ecrb.
1812
1813 2004-04-17  Heikki Junes <hjunes@cc.hut.fi>
1814
1815         * input/regression/accidental-octave.ly: doc automatic showing
1816         of note names.
1817
1818 2004-04-16  Heikki Junes <janneke@gnu.org>
1819
1820         * po/fi.po: do "make po && make -C po po-update" at top-level,
1821         then "cp po/out/fi.po po/fi.po" and update fields.
1822
1823         * po/fi.po: remove all designations of `fuzzy'; shows those elements.
1824
1825 2004-04-15  Jan Nieuwenhuizen  <janneke@gnu.org>
1826
1827         * Documentation/user/introduction.itely (About this manual): Fix
1828         templates and regression urls (backportme).
1829
1830 2004-04-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1831
1832         * ly/engraver-init.ly (Score:graceSettings): Increase
1833         beamed-lengths, especially for 32nd notes.
1834
1835         * Documentation/user/notation.itely (Grace notes): Correct the
1836         syntax for add-grace-property example.
1837
1838 2004-04-13  Jan Nieuwenhuizen  <janneke@gnu.org>
1839
1840         * flower/parse-afm.cc [METATYPE1_BUG]: Grok Metatype1's global
1841         `Generated' tag.
1842
1843         * scm/font.scm (add-cmr-fonts): Use super-cm/lmodern fonts.  NOT.
1844         Severely broken (the Debian package, at least).
1845
1846 2004-04-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1847
1848         * lily/context.cc (find_create_context): assign to lvalue.
1849
1850 2004-04-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1851
1852         * lily/include/translator.hh (class Translator): rename
1853         get_parent_context() to context () to avoid confusion.
1854
1855         * lily/include/lily-guile.hh: is_x -> ly_c_X_p naming.
1856
1857         * lily/lexer.ll: change is_string -> ly_c_string_p 
1858
1859         * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): use \book.
1860
1861         * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: use \book.
1862
1863 2004-04-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1864
1865         * VERSION: release 2.3.0
1866
1867         * mf/feta-nummer-code.mf: use ascii names for number glyphs.
1868
1869         * buildscripts/mf-to-table.py (parse_logfile): only prepend group-
1870         if nonempty.
1871
1872         * lily/include/context.hh (class Context): make members protected.
1873         (children_contexts): new accessor function.
1874
1875         * lily/include/translator.hh (class Translator): make
1876         daddy_context_ protected.
1877         (class Translator): clean up. 
1878
1879         * lily/include/context.hh (class Context): make daddy_context_
1880         private.
1881
1882         * lily/lyric-engraver.cc (get_voice_to_lyrics): recursively go
1883         higher for finding Voice. (backportme)  
1884
1885         * lily/include/context.hh (class Context): remove
1886         find_context_below() as a method.
1887
1888         * Documentation/user/notation.itely (The Lyrics context): add note
1889         about manual durations
1890
1891         * ly/chord-modifiers-init.ly (blackTriangleMarkup): use TeX-math
1892         encoding.
1893
1894         * scm/output-tex.scm (text): dump \inputencoding{} for text.
1895
1896 2004-04-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1897
1898         * scripts/lilypond.py (global_latex_preamble): remove latin1 from
1899         \usepackage{inputenc}
1900
1901         * lily/paper-book.cc (classic_output): don't advance Offset for
1902         TeX output.
1903
1904         * make/mutopia-rules.make ($(outdir)-$(PAPERSIZE)/%.dvi): include
1905         ec-sauter.map in rules
1906
1907         * mf/ecb.mf (font_identifier): new file, based on ecbx
1908
1909         * mf/ecb10.mf (gensize): new file.
1910
1911         * Documentation/topdocs/NEWS.texi (Top): document some more new
1912         features.
1913
1914         * ly/declarations-init.ly: run convert-ly
1915
1916         * lily/my-lily-parser.cc (LY_DEFINE): move parse-file function
1917         from input-file-results. Remove input-file-results.* 
1918
1919 2004-04-11  Jan Nieuwenhuizen  <janneke@gnu.org>
1920
1921         * scm/output-ps.scm (font-command): Fix, again.
1922
1923         * input/test/title-markup.ly: Add \noPagebreak test.
1924
1925         * lily/score-engraver.cc (try_music): Bugfix.
1926
1927 2004-04-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1928
1929         * lily/main.cc (main_with_guile): excise dependency options -M and
1930         --dep-prefix
1931
1932         * lily/input-file-results.cc: excise Makefile dependency code
1933
1934         * Documentation/user/invoking.itexi (Invoking the lilypond
1935         binary): remove dep doco
1936
1937         * lily/main.cc (main_with_guile): call lilypond-main
1938
1939         * scm/lily.scm (lilypond-main): new function: handle multiple files.
1940
1941         * lily/input-file-results.cc (LY_DEFINE): throw ly-file-failed
1942         exception.
1943
1944         * lily/my-lily-parser.cc: remove paper_description function
1945
1946         * lily/music-output-def.cc (LY_DEFINE): ly:output-description
1947         new function.
1948
1949         * lily/main.cc: remove global_score_count.
1950
1951         * lily/book.cc (process): don't take header from global_input_file.
1952
1953         * buildscripts/lilypond-profile.sh (Error): set GS_FONTPATH
1954
1955         * lily/parser.yy (My_lily_lexer): remove current_parser global var.
1956
1957         * lily/music-output-def.cc (LY_DEFINE): new function
1958         ly_output_description. This function does the bulk for  setting,
1959         parsing and breaking down of an input file.
1960
1961         * lily/ly-module.cc (ly_make_anonymous_module): don't protect
1962         anonymous modules globally. Let's hope they get GCd
1963
1964         * scripts/lilypond.py (run_dvips): add sauter-mftrace.map 
1965
1966 2004-04-11  Jan Nieuwenhuizen  <janneke@gnu.org>
1967
1968         * scm/output-ps.scm (header): Papersize from paper.
1969
1970         * scripts/lilypond.py (global_latex_preamble): Oldish behaviour
1971         for classic output.
1972
1973         * tex/lilyponddefs.tex (interscoreline): Oldish behaviour if
1974         lilypondclassic is defined.
1975         (lilypondstart): Oldish behaviour if lilypondclassic is defined.
1976
1977         * input/regression/between-systems.ly: Remove.
1978
1979         * python/lilylib.py (get_bbox): Fix regular expression
1980         for bounding box.
1981
1982         * tex/lilyponddefs.tex (lilypondpagebreak): New overridable macro.
1983
1984         * scm/output-tex.scm (stop-page): Use it.
1985
1986         * scm/output-ps.scm (define-fonts): Bugfix.
1987
1988         * lily/grob.cc: Add penalty to interface.
1989
1990         * lily/include/paper-line.hh (class Paper_line): New member
1991         var penalty_.
1992
1993         * lily/system.cc (get_line): Initialise Paper_line with
1994         page-penalty's from original grobs.
1995
1996         * scm/define-music-properties.scm (all-music-properties): Add
1997         page-penalty.
1998
1999         * scm/define-grob-properties.scm (all-grob-descriptions): Idem.
2000
2001         * lily/score-engraver.cc (try_music): Handle page-penalty.
2002
2003         * ly/declarations-init.ly (pagebreak, noPagebreak): New command.
2004
2005 2004-04-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2006
2007         * ly/declarations-init.ly (melismaEnd): typo
2008
2009         * scm/font.scm (add-cmr-fonts): caps is eccc, ecsc is slanted caps.
2010
2011         * scm/output-ps.scm (text): split string into spaces, use moveto
2012         for setting space. 
2013
2014 2004-04-10  Jan Nieuwenhuizen  <janneke@gnu.org>
2015
2016         * po/nl.po: Update.
2017
2018         * scm/font.scm (add-cmr-fonts): Typo.
2019
2020 2004-04-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2021
2022         * scm/font.scm (add-cmr-fonts): add sauter fonts under latin1
2023         font-encoding.
2024
2025         * scm/define-grobs.scm (all-grob-descriptions): idem.
2026
2027         * lily/time-signature.cc (numbered_time_signature): idem.
2028
2029         * scm/font.scm (add-cmr-fonts): use real encoding names for
2030         font-encoding.
2031
2032 2004-04-10  Jan Nieuwenhuizen  <janneke@gnu.org>
2033
2034         * lily/paper-book.cc (classic_output): 
2035         * tex/lilyponddefs.tex (lybox): Add height, and proper raising.
2036         Fixes classic output.
2037         (lilypondstart):
2038         * scripts/lilypond.py (global_latex_preamble): Remove topmargin
2039         kludge.
2040
2041         * scripts/old-lilypond-book.py: Remove.
2042
2043         Page layout for SCOREs enclosed in a BOOK:
2044
2045         * scripts/lilypond.py: Remove LaTeX titling kludge.  Remove page
2046         layout tweaking.
2047
2048         * input/les-nereides.ly (theScore): Add \book.
2049
2050         * input/test/title-markup.ly: Add \book.
2051
2052         * scm/page-layout.scm (ly:optimal-page-breaks): Debugging output
2053         only if 'verbose.
2054
2055         * lily/include/paper-book.hh (PAGE_LAYOUT): Remove.
2056
2057         * lily/paper-outputter.cc (output_line): Remove PAGE_LAYOUT check.
2058
2059         * tex/lilyponddefs.tex (lilypondstart, lybox, lyitem):
2060         * scm/output-tex.scm (start-system): Update for page layout by
2061         LilyPond.
2062
2063         * scm/output-ps.scm (start-system): Previously (new-start-system).
2064
2065         * lily/paper-outputter.cc (output_header): Uniquify list of fonts
2066         passed to define-fonts.
2067
2068         * lily/paper-column.cc: 
2069         * lily/system.cc (get_line):
2070         * ly/property-init.ly (newpage): 
2071         * scm/define-grob-properties.scm:
2072         * scm/output-ps.scm: 
2073         * scm/output-tex.scm: Remove between-system-string kludge.
2074
2075         * scm/output-ps.scm (define-fonts, font-command,
2076         font-load-encoding): Handle ENCODING = #f.
2077
2078         * scm/output-tex.scm (output-scopes): Check if variable is bound.
2079
2080         * scm/define-markup-commands.scm (fill-line): Use
2081         make-simple-markup (WAS: unexisting make-word-markup).
2082
2083         * lily/text-item.cc (interpret_markup): Bugfix, transpose
2084         ENCODING, MARKUP parameters for interpret_string.
2085
2086         * lily/input-file-results.cc (do_one_file): Remove Paper_book hack.
2087
2088         * lily/score.cc (book_rendering): New method.
2089         (default_rendering): Create Paper_book helper locally, dump
2090         output.
2091
2092         * lily/my-lily-lexer.cc (the_key_tab): Add book.
2093
2094         * lily/parser.yy: Handle \book.
2095
2096         * lily/include/book.hh: 
2097         * lily/book.cc: New file.
2098
2099 2004-04-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2100
2101         * lily/text-item.cc (interpret_string): new file, select font with
2102         encoding.
2103
2104         * lily/include/lily-guile.hh: ly_XXX_p -> is_XXX. Changes throughout.
2105
2106         * scm/define-markup-commands.scm (encoded-simple): new markup command.
2107
2108         * lily/parser.yy (markup): take encoding from lexer.
2109
2110 2004-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>
2111
2112         * lily/kpath.cc (kpathsea_find_tfm): Do not trigger TFM generation.
2113
2114         * scm/output-ps.scm: Remove some cruft.
2115
2116 2004-04-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2117
2118         * lily/kpath.cc (kpathsea_find_tfm): don't make unfound TFMs/AFMs.
2119
2120         * Documentation/user/lilypond.tely (Top): manual for v2.3 (backportme)
2121
2122 2004-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>
2123
2124         * scm/font.scm (add-century-schoolbook-fonts):
2125         (make-century-schoolbook-tree): New function.
2126
2127         * input/test/title-markup.ly: Use Century Schoolbook font.
2128
2129 2004-04-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2130
2131         * scripts/convert-ly.py: limited old-style markup convert. (Thanks
2132         to Erik Sandberg) 
2133
2134         * lily/font-metric.cc (LY_DEFINE): new function, return fontName.
2135
2136         * scm/output-ps.scm (define-fonts): remove hack for feta/parmesan.
2137
2138         * lily/font-metric.cc (LY_DEFINE): change to ly:font-filename
2139
2140         * scm/encoding.scm (coding-alist): add AdobeStandardEncoding
2141
2142 2004-04-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2143
2144         * scm/part-combiner.scm (determine-split-list): bugfix: if no
2145         solo-state (at end of solo), we can set the solo status
2146         too. (backportme.)
2147
2148         * input/regression/part-combine-solo-end.ly: new file.
2149
2150 2004-04-08  Jan Nieuwenhuizen  <janneke@gnu.org>
2151
2152         * scripts/abc2ly.py (parse_file): Strip \r from lines.  Fixes DOS
2153         flavour abc files.  Really ignore unknown keys (backportme).
2154
2155 2004-04-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2156
2157         * lily/scaled-font-metric.cc (text_dimension): only multiply with
2158         magnification_ when looking up in orig_.
2159
2160         * scm/output-tex.scm (text): switch off char-mapping.
2161
2162         * lily/tfm.cc (coding_scheme): replace ' ' in encoding with '-',
2163         because AFM's encoding field cannot have spaces.
2164
2165 2004-04-08  Jan Nieuwenhuizen  <janneke@gnu.org>
2166
2167         * scm/output-ps.scm (define-fonts): More re/encoding tweaking.
2168
2169 2004-04-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2170
2171         * lily/paper-def.cc (find_scaled_font): change to inputencoding.
2172
2173         * mf/cmr.enc: new file, without hi-bit ascii info. 
2174
2175         * lily/bezier-bow.cc (slur_shape): make indent dependent on
2176         width. This removes the 'hook' at the end of a long slur.
2177
2178         * buildscripts/mf-to-table.py (parse_logfile): don't append
2179         encoding to fontname.
2180
2181 2004-04-07  Jan Nieuwenhuizen  <janneke@gnu.org>
2182
2183         * scm/output-ps.scm (define-fonts): Load .enc only once.
2184
2185         * mf/GNUmakefile (INSTALLATION_OUT_SUFFIXES): Install .enc files
2186         too.
2187
2188 2004-04-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2189
2190         * buildscripts/mf-to-table.py (parse_logfile): remove spaces from
2191         encoding field.
2192
2193         * lily/stencil-scheme.cc: remove ly:fontify-atom 
2194
2195         * ly/portuges.ly (pitchnames): new file.
2196
2197         * lily/include/lily-guile.hh: many new ly_ functions.  Thanks to
2198         Michael Welsh Duggan
2199
2200         * lily/*.cc: deprecate gh_ interface. Thanks to Michael Welsh Duggan
2201
2202         * ly/nederlands.ly: add comment about digits.
2203
2204         * lily/scaled-font-metric.cc (derived_mark): idem.
2205
2206         * scm/encoding.scm (make-encoding-mapping): change permutation to
2207         mapping.
2208
2209         * lily/scaled-font-metric.cc (derived_mark): is a const method.
2210         (Modified_font_metric): make alist for coding_description_
2211         (LY_DEFINE): remove coding-name.
2212
2213         * scm/output-tex.scm (text): remove debugging code.
2214
2215         * lily/scaled-font-metric.cc (ly_font_encoding): return vector
2216
2217         * buildscripts/mf-to-table.py (parse_logfile): read EncodingScheme
2218         from infile.
2219
2220         * mf/feta-generic.mf: move fet_beginfont into generic code.
2221         use fetaMusic (without space) as encoding
2222
2223         * mf/feta-autometric.mf: take encoding argument
2224
2225         * lily/afm.cc (read_afm_file): bugfix, read global info too. 
2226
2227         * lily/my-lily-lexer.cc (set_identifier): remove gh_scm2newstr
2228         use.
2229
2230         * scm/encoding.scm (read-encoding-file): use symbol for glyph
2231         name.
2232
2233 2004-04-07  Jan Nieuwenhuizen  <janneke@gnu.org>
2234
2235         * input/test/title-markup.ly: Set inputencoding.
2236
2237         * scm/output-ps.scm (define-fonts): Handle font re-encoding.
2238
2239         * lily/scaled-font-metric.cc (ly:font-coding-name): New function.
2240
2241         * scm/encoding.scm (get-coding-filename, get-coding-command): New
2242         function.
2243         (coding-alist): Also hold filename, command.
2244         (read-encoding-file): Return symbols.
2245
2246 2004-04-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2247
2248         * scm/output-tex.scm: remove fontify; text and char take a font
2249         argument.
2250
2251         * lily/tfm.cc (name_to_index): new function, use encoding_table_.
2252
2253         * lily/scaled-font-metric.cc (text_dimension): init
2254         coding_{permutation,table}_ too 
2255         (LY_DEFINE): ly:font-encoding, new function return
2256
2257         * lily/paper-def.cc (find_scaled_font): take input coding from
2258         inputcoding paper var.
2259
2260         * lily/performance.cc (output): remap modulo 16.
2261
2262         * lily/text-item.cc (interpret_markup): whoops, variable
2263         shadowing fixed.
2264
2265 2004-04-06  Michael Welsh Duggan  <mwd@sei.cmu.edu>
2266
2267         * lily/piano-pedal-performer.cc (try_music): Compare symbols to
2268         symbols, not symbols to strings.
2269
2270         * lily/piano-pedal-engraver.cc (try_music): Compare symbols to
2271         symbols, not symbols to strings.
2272
2273 2004-04-06  Jan Nieuwenhuizen  <janneke@gnu.org>
2274
2275         * lily/kpath.cc (kpathsea_gulp_file_to_string): 
2276         (ly:kpathsea-gulp-file): New function.
2277
2278         * scm/encoding.scm (read-encoding-file): Use it.
2279
2280 2004-04-06  Werner Lemberg  <wl@gnu.org>
2281
2282         * scm/encoding.scm (coding-alist): Fix typo.
2283
2284 2004-04-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2285
2286         * lily/scaled-font-metric.cc (text_dimension): move function from
2287         Font_metric
2288         (make_scaled_font_metric): init coding_scheme_ to TeX
2289         (text_dimension): use get-coding-vector for non TeX coding_scheme_
2290
2291         * lily/include/scaled-font-metric.hh (struct
2292         Modified_font_metric): rename from Scaled_font_metric
2293
2294         * scm/encoding.scm (read-encoding-file): split up large function,
2295         leave caching to (delay)
2296
2297         * lily/lily-guile.cc (LY_DEFINE): typecheck argument.
2298
2299 2004-04-05  Jan Nieuwenhuizen  <janneke@gnu.org>
2300
2301         * lily/my-lily-lexer.cc (set_encoding): New method.
2302
2303         * lily/lexer.ll: Grok \encoding.
2304
2305         * lily/font-metric.cc (get_encoded_index): New function.
2306
2307         * lily/include/font-metric.hh (coding_scheme): New method.
2308
2309         * scm/encoding.scm: New file.
2310
2311         * mf/feta-beugel.mf: Better error message (WAS: `foobar').
2312
2313 2004-04-05  Werner Lemberg  <wl@gnu.org>
2314
2315         * Documentation/user/tutorial.itely: Revised (finished).
2316
2317         * Documentation/user/macros.itexi (@separate): Removed.
2318
2319 2004-04-05  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2320
2321         * scm/output-ps.scm (define-fonts): fix scaling.
2322
2323         * lily/scaled-font-metric.cc (design_size): add function.
2324
2325         * lily/font-metric.cc (LY_DEFINE): opps ly:font-design-size is only
2326         partial cut&paste of ly:font-magnification.
2327
2328 2004-04-05  Jan Nieuwenhuizen  <janneke@gnu.org>
2329
2330         * scm/output-ps.scm (define-fonts):
2331         (fontify): Update.
2332
2333 2004-04-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2334
2335         * po/fr.po: update. (backportme).
2336
2337         * po/nl.po: update. (backportme). 
2338
2339         * mf/feta-beugel.mf: document why design size is not fixed.
2340
2341         * mf/feta-braces-a.mf: rename to stress that it's not design size.
2342
2343 2004-04-04  Werner Lemberg  <wl@gnu.org>
2344
2345         * Documentation/user/tutorial.itely: Revised (continued).
2346
2347 2004-04-03  Jan Nieuwenhuizen  <janneke@gnu.org>
2348
2349         * po/nl.po: Update (backportme).
2350
2351 2004-04-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2352
2353         * po/de.po: update. (backportme).
2354
2355         * scm/output-tex.scm (font-command): use ly: functions to
2356         construct name.
2357         (define-fonts): don't use alist, just dump \font definitions.
2358         (font-load-command): calculate proper scaling by taking
2359         outputscale from paper argument.
2360
2361         * lily/stencil-scheme.cc (fontify_atom): insert Font_metric into
2362         expression.
2363
2364         * lily/paper-outputter.cc (output_header): pass paper arg to
2365         define-fonts
2366
2367         * lily/paper-def.cc (font_descriptions): dump list of
2368         Scaled_font_metrics
2369         (find_scaled_font): take Font_metric argument, store
2370         Scaled_font_metrics in hash-table containing (size ->
2371         Scaled_font_metrics) alist.
2372         (get_dimension): rename from get_realvar
2373
2374         * lily/font-metric.cc (LY_DEFINE): ly:font-design-size,
2375         ly:font-magnification, ly:font-name: new functions
2376
2377 2004-04-03  Werner Lemberg  <wl@gnu.org>
2378
2379         * Documentation/user/dedication.itely,
2380         Documentation/user/preface.itely,
2381         Documentation/user/introduction.itely,
2382         Documentation/user/tutorial.itely: Revised.
2383         Removing leading spaces which distorts output if info files are read
2384         with stand-alone info.
2385         Removing superfluous inter-word spaces which also distorts output
2386         for stand-alone info.
2387         Using ` and ' instead of `` and '' everywhere to improve
2388         legilibility with stand-alone info
2389         Using @samp for single-letter input items and data which contains
2390         spaces, @code for other things.
2391
2392         * lily/grob-interface.cc: Adding copyright.
2393         (check_interfaces_for_property): Improve format of warning message.
2394
2395 2004-04-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2396
2397         * lily/include/font-metric.hh (struct Font_metric): add
2398         design_size () method.
2399
2400         * buildscripts/mf-to-table.py (base): add DesignSize comment.
2401
2402         * lily/afm.cc (read_afm_file): read design size.
2403
2404         * input/regression/repeat-unfold-tremolo.ly: add dotted case.
2405
2406         * scm/music-functions.scm (unfold-repeats): handle dots too.
2407
2408 2004-04-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2409
2410         * mf/GNUmakefile ($(outdir)/$(redhat-package)): fix URL.
2411         (backportme)
2412
2413 2004-04-02  Jan Nieuwenhuizen  <janneke@gnu.org>
2414
2415         * input/wilhelmus.ly: Use raggedright.  Hack `Een prin -- ce'
2416         lyric indent.  Revert melismaBusyProperties using \unset.
2417
2418 2004-04-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2419
2420         * input/regression/bar-check-redefine.ly (pipeSymbol): new file.
2421
2422         * lily/parser.yy (command_element): allow redefinition of |
2423         meaning.
2424
2425         * lily/break-align-engraver.cc (acknowledge_grob): construct
2426         LeftEdge where the first cause for alignment is coming from.
2427         This makes \override Staff.LeftEdge work as expected.
2428
2429         * lily/slur-performer.cc (Slur_performer): add inits
2430
2431         * lily/beam-performer.cc (Beam_performer): add inits
2432
2433 2004-04-01  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2434
2435         * VERSION (PACKAGE_NAME): release 2.2.0