Added raggedright to a whole bunch of places.
[lilypond.git] / ChangeLog
blobb31c812f16705add87fe23ecfc91c5215d1c7f2a
1 2004-10-10  Graham Percival  <gperlist@shaw.ca>
3         * Documentation/user/notation.itely: add raggedright to a whole bunch of places.
5 2004-10-10  Han-Wen Nienhuys  <hanwen@xs4all.nl>
7         * scm/paper.scm (set-paper-dimension-variables): new
8         function. Define dimension-variables explicitly in \paper too.
9         This allows overriding linewidth inside \score { \paper { } }
10         blocks
12         * scm/framework-tex.scm (convert-to-ps): invoke dvips with -t
13         landscape.
14         (header): add landscape and papersize options.
16 2004-10-09  Han-Wen Nienhuys  <hanwen@xs4all.nl>
18         * lily/*.cc: use robust_scm2moment() where appropriate.
20         * lily/moment.cc (robust_scm2moment): new function.
22         * scm/titling.scm (default-score-title): remove caps for piece.
24         * lily/include/slur-scoring.hh (struct Slur_score_state): new file
26         * lily/include/slur-configuration.hh (class Slur_configuration):
27         new file.
29         * lily/slur-configuration.cc: new file. move scoring functions
30         into Slur_configuration.
32         * lily/slur-scoring.cc (Slur_score_state): change static functions
33         to methods of Slur_score_state.
35         * lily/bezier-bow.cc (Message): 
37         * flower/include/interval-set.hh (Message): new file.
39         * flower/interval-set.cc (Message): new file.
41 2004-10-08  Han-Wen Nienhuys  <hanwen@xs4all.nl>
43         * lily/multi-measure-rest-engraver.cc (process_music): always
44         generate MultiMeasureRestNumbers.
46         * SConstruct (txt_files): switch of make dist
48         * lily/bezier-bow.cc (get_slur_indent_height): change recipe to
49         make sure that (indent < len / 3). This fixes progerror-max_h.ly
51         * lily/multi-measure-rest-engraver.cc (process_music): make
52         MultiMeasureRestNumber too.
54 2004-10-08  Mats Bengtsson  <mabe@drongo.s3.kth.se>
56         * Documentation/user/notation.itely (Bar lines): Added a note that
57         defaultBarType is to be changed in the Timing context.
59 2004-10-07  Han-Wen Nienhuys  <hanwen@xs4all.nl>
61         * lily/include/guile-compatibility.hh: add file.
63         * scm/framework-tex.scm (convert-to-dvi): use max of current
64         extra_mem_top and 1M.
66         * lily/kpath.cc (LY_DEFINE): ly_kpathsea_expand_variable. New
67         function.
69 2004-10-05  Han-Wen Nienhuys  <hanwen@xs4all.nl>
71         * scm/framework-tex.scm (convert-to-dvi): set extra_mem_top to 1M.
73 2004-10-04  Han-Wen Nienhuys  <hanwen@xs4all.nl>
75         * lily/slur-scoring.cc (struct Slur_score_state): add
76         has_same_beam_, edge_has_beams_, is_broken_ bools.
77         (get_base_attachments): simpler Y attachment determination for
78         broken slurs.
80 2004-10-04  Jan Nieuwenhuizen  <janneke@gnu.org>
82         * buildscripts/texi2omf.py: Add hashbang.  Starting the script in
83         bash without that is quite interesting.  Add xml and some omf
84         keys.
86 2004-10-03  Jan Nieuwenhuizen  <janneke@gnu.org>
88         * Documentation/user/macros.itexi: Add xml macros.
90         * Documentation/user/GNUmakefile (extra-local-help): Add xml rules.
92         * stepmake/stepmake/texinfo-vars.make (GENERATE_OMF): Fix location.
94 2004-10-03  Han-Wen Nienhuys  <hanwen@xs4all.nl>
96         * lily/break-substitution.cc (substitute_mutable_property_alist):
97         only put property back into value if != SCM_UNDEFINED
99         * lily/lyric-extender.cc (print): don't take common refpoint of
100         null object if right_text isn't there.
102         * lily/slur-scoring.cc (struct Slur_score_state): new
103         struct. Collect scoring function arguments.
104         (struct Slur_score_state): add musical_dy_
105         (get_extra_encompass_infos): new function. Split off state computations.
107         * scm/part-combiner.scm (determine-split-list): remove playing1
108         and playing2.
110 2004-10-02  Graham Percival  <gperlist@shaw.ca>
112         * Documentation/index.html.in: remove link to templates.
114         * Documentation/user/notation.itely: more small fixes.
116 2004-10-02  Han-Wen Nienhuys  <hanwen@xs4all.nl>
118         * lily/timing-engraver.cc (process_music): move setting
119         measure-length. This fixes spacing-whole-rest.ly
121         * VERSION (PACKAGE_NAME): release 2.3.20
122         
123         * input/regression/quote-transposition.ly: update example
125         * scm/define-music-properties.scm (all-music-properties): change
126         meaning of instrumentTransposition.  It is now the pitch played
127         that sounds as middle C. This means that instrumentTransposition
128         can be \transposed. 
129         Fixes: transpose-quote.ly
131         * lily/parser.yy (command_element): reverse setting of
132         instrumentTransposition
134         * lily/pitch.cc (pitch_interval): rename.
136         * lily/recording-group-engraver.cc (stop_translation_timestep):
137         remove macrameing of accumulator and set_car/cdr.
138         Fixes: transposition-quote.ly
140         * lily/music.cc (transpose): fold Event::transpose() in.
142         * lily/event.cc: remove Transpose. 
144         * lily/recording-group-engraver.cc: cleanup.
146         * ly/music-functions-init.ly (displayMusic): add function.
148         * make/lilypond.fedora.spec.in: rename file.
150         * lily/lily-lexer.cc (mark_smob): don't use ly_cdr() for getting
151         to-be-marked objects. Use SCM_CELL_WORD_1 instead. 
153         * Documentation/user/changing-defaults.itely (Changing context
154         properties on the fly): typo.
156         * lily/slur.cc (outside_slur_callback): try three sample points
157         for determining collisions. This fixes: slur-script.ly.
159 2004-09-30  Jan Nieuwenhuizen  <janneke@gnu.org>
161         * scripts/lilypond-book.py (ext2format): Add latex as Latex.
163 2004-10-01  Graham Percival  <gperlist@shaw.ca>
165         * Documentation/user/notation.itely: more small fixes.
167         * Documentation/user/examples.itely: make new sections.
169         * input/test/bar-lines.ly: improve output, fix bug.
171         * Documentation/user/changing-defaults.itely: small fixes.
173 2004-10-01  Werner Lemberg  <wl@gnu.org>
175         * tex/lilyponddefs.tex (\lilypondECencoding): New command to handle
176         T1 encoding in texinfo mode.
177         (\lilypondstart): Use it.
178         (\lilypondloop, \lilyponditerate): Removed.  Unused.
180 2004-09-30  Werner Lemberg  <wl@gnu.org>
182         * tex/lilyponddefs.tex (\lilypondstart): Define
183         \lilypondfontencoding for both texinfo and latex mode.
185         * scm/framework-tex.scm (font-load-command): Use
186         \lilypondfontencoding.
188 2004-09-30  Han-Wen Nienhuys   <hanwen@xs4all.nl>
190         * scm/framework-tex.scm (dump-page): take with-extents?
191         argument. If true, output Y extents. Used for lilypond-book
192         documents.
194         * scripts/lilypond-book.py (PREAMBLE_LY): set dump-extents for
195         \bookpaper.
197         * lily/slur.cc (outside_slur_callback): epsilon-delta management
198         for slur edges. Fixes: progerror-no-bezier-intersection.ly
200         * scm/framework-tex.scm (dump-page): put stencil height in dumped
201         page.
203 2004-09-29  Mats Bengtsson  <mabe@drongo.s3.kth.se>
205         * Documentation/user/notation.itely (Multi measure rests):
206         Improved example.
208 2004-09-29  Han-Wen Nienhuys   <hanwen@xs4all.nl>
210         * lily/auto-beam-engraver.cc (test_moment): robustify.
212 2004-09-28  Werner Lemberg  <wl@gnu.org>
214         * scm/framework-tex.scm (font-load-command): Define proper font
215         macro which sets font encoding if available.
216         (define-fonts): Define \lilypondpaperinputencoding, to be taken
217         from the \bookpaper block.
219         * tex/lilyponddefs.tex (\lilypondstart): Use
220         \lilypondpaperinputencoding for global input encoding.
222 2004-09-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
224         * lily/score.cc (Score): oops. Copy error_found_ too.
226 2004-09-27  Jan Nieuwenhuizen  <janneke@gnu.org>
228         * stepmake/stepmake/texinfo-rules.make: 
229         * Documentation/GNUmakefile: --srcdir build fixes.
231         * input/test/coriolan-margin.ly: Put papersize settings in \bookpaper.
233         * Documentation/user/latex-lilypond-example.latex:
234         * Documentation/user/latex-example.latex: Fix compile errors.
235         Still buggy, need more love.
237 2004-09-27  Werner Lemberg  <wl@gnu.org>
239         * tex/lilyponddefs.tex (\lilypondstart): Use \frenchspacing.
241 2004-09-26  Juergen Reuter  <reuter@ipd.uka.de>
243         * Documentation/user/examples.itely: removed \midi block to
244         simplify the example
246         * Documentation/user/notation.itely: Removed superfluous
247         TextSpanner tweakings (is already done by engraver-init.ly).
248         Documented bug: vertical alignment of articulations.
250         * Documentation/user/notation.itely, ly/engraver-init.ly
251         (VaticanaVoice, GregorianTranscriptionVoice): Bugfix: TextSpanner
252         padding.
254         * Documentation/user/notation.itely, ly/engraver-init.ly: moved
255         docu about TextSpanner padding bug from manual to engraver.ly
256         (since it's workarounded and hence not user-visible any more)
258 2004-09-27  Han-Wen Nienhuys   <hanwen@xs4all.nl>
260         * VERSION: release 2.3.19
262 2004-09-26  Graham Percival  <gperlist@shaw.ca>
264         * ly/property-init.ly: fix bug in displaying ledger lines while
265         \hideNotes is on.
267         * Documentation/user/notation.itely: more editing.
269         * Documentation/user/examples.itely: add piano-dynamics template.
271         * input/template/piano-dynamics.ly: remove.
273         * Documentation/user/sound-output.itexi: more editing
275 2004-09-25  Graham Percival  <gperlist@shaw.ca>
277         * Documentation/user/notation.itely: more editing.
279 2004-09-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
281         * scm/ly-from-scheme.scm (read-lily-expression): use ~s in format
282         instead of ~a, to get #{ #"foo" #} actually printed to #"foo".
284 2004-09-24  Han-Wen Nienhuys   <hanwen@xs4all.nl>
286         * lily/hairpin.cc (print): check columns of bounds, not bounds
287         themselves.
288         (print): robustify bound-padding lookup.
290         * lily/*: ly_c[ad]+r -> scm_XXX , ly_c_pair_p -> scm_is_pair.
292         * scripts/lilypond-book.py (Compile_error.process_include): catch
293         Compile_error exception, and remove output .texi.
295         * scm/define-music-properties.scm (all-music-properties): add
296         error-found
298         * lily/parser.yy (Music_list): add error-found to music with errors.
300         * lily/lily-parser.cc (LY_DEFINE): ignore scores with errors.
302         * lily/book.cc (process): ignore books with errors
304         * lily/include/score.hh (class Score): add error_found_ member.
306         * lily/drum-note-engraver.cc (try_music): idem.
308         * lily/note-heads-engraver.cc: remove start-playing-event.
310         * lily/part-combine-iterator.cc (Part_combine_iterator): use
311         BusyPlayingEvent to determine which voice was active last.
312         (unisono): use last active to where to get unisono information
313         from. This fixes: partcombine-rest.ly (again).
315         * scm/part-combiner.scm (determine-split-list): cleanups
317 2004-09-23  Han-Wen Nienhuys   <hanwen@xs4all.nl>
319         * input/regression/lyric-extender.ly: simplify.
320         complexify.
322         * lily/lyric-extender.cc (print): use it to determine size of
323         extender. Remove Lyric_extender::is_visible().
325         * lily/extender-engraver.cc (acknowledge_grob): store lyric in
326         next property.
328         * lily/lyric-engraver.cc: remove get_current_rest().
329         
330 2004-09-23  Jan Nieuwenhuizen  <janneke@gnu.org>
332         * input/regression/lyric-extender.ly: Fix and add test.
334         * lily/extender-engraver.cc (stop_translation_timestep): Oops, typo.
336 2004-09-23  Han-Wen Nienhuys   <hanwen@xs4all.nl>
338         * lily/note-head.cc: remove Note_head::extent.
340 2004-09-23  Graham Percival  <gperlist@shaw.ca>
342         * Documentation/user/tutorial.itely: do manual style 2-space
343         indents in examples
345         * Documentation/user/notation.itely: more editing.
347 2004-09-23  Jan Nieuwenhuizen  <janneke@gnu.org>
349         * lily/lyric-engraver.cc (get_current_rest): New function.
351         * lily/extender-engraver.cc (stop_translation_timestep): Use it:
352         stop at rest.
354         * lily/lyric-extender.cc (print): Fix crash (Russ Ross).
356         * lily/slur-scoring.cc (get_bezier): Fix for broken beziers.
358 2004-09-23  Juergen Reuter  <reuter@ipd.uka.de>
360         * Documentation/user/examples.itely (Small ensembles): added
361         example for transcription of mensural music
363         * Documentation/user/notation.itely (The Lyrics context): fixed broken
364         link to SATB vocal score
366         * Documentation/user/notation.itely (System start delimiters):
367         fixed typo: GrandStaff->StaffGroup
369         * Documentation/user/notation.itely (Ancient articulations):
370         removed obsolete comment on \episem bug
372 2004-09-22  Jan Nieuwenhuizen  <janneke@gnu.org>
374         * scm/framework-tex.scm (output-preview-framework): Fix invocation
375         of header.
377 2004-09-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
379         * lily/dynamic-engraver.cc (acknowledge_grob): attach hairpin
380         start to note-column.
382         * lily/hairpin.cc (print): check text-interface, to attach to
383         dynamic texts.  
385         * lily/include/text-item.hh (class Text_interface): rename
386         Text_item -> Text_interface
388         * lily/piano-pedal-bracket.cc (print): robustify.
390 2004-09-22  Pedro Kroger  <kroeger@pedrokroeger.net>
392         * scm/paper.scm (set-paper-dimensions): add printfirstpagenumber.
394         * scm/page-layout.scm (plain-header): if printfirstpagenumber is
395         true will print the page number in the first page.
397         * Documentation/user/changing-defaults.itely: Document
398         printfirstpagenumber.
400 2004-09-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
402         * lily/phrasing-slur-engraver.cc (acknowledge_grob): avoid more
403         objects.
405         * lily/beam-concave.cc (calc_concaveness): take absolute value of
406         dy for scaling. This fixes various downbeams.
407         
409         * lily/beam-quanting.cc (best_quant_score_idx): 
411 2004-09-22  Jan Nieuwenhuizen  <janneke@gnu.org>
413         * scm/framework-tex.scm (header-to-file): Fix.
415 2004-09-22  Werner Lemberg  <wl@gnu.org>
417         * lily/parser.yy <score_body>: Fix typo.
419 2004-09-22  Graham Percival  <gperlist@shaw.ca>
421         * Documentation/user/tutorial.itely: modified a "future planning" comment.
423         * Documentation/user/notation.itely: more editing.
425 2004-09-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
427         * scm/define-markup-commands.scm (note-by-number): read font-size
428         to determine stem length. Fixes: markup-note.ly
430 2004-09-21  Han-Wen Nienhuys   <hanwen@xs4all.nl>
432         * lily/slur.cc (outside_slur_callback): read #'padding for
433         slur-padding. Fixes: slur-script.ly
435         * lily/parser.yy (score_body): disallow \bookpaper in \score.
437 2004-09-21  Juergen Reuter  <reuter@ipd.uka.de>
439         * Documentation/user/notation.itely (ancient flags): documented
440         flags-related known bugs
442         * lily/include/ligature-engraver.hh: added comment about why and
443         how of (non-)use of abstract virtual methods
445         * ly/engraver-init.ly (VaticanaVoice,
446         GregorianTranscriptionVoice): bugfix (workaround): TextSpanner:
447         unset dash-fraction property in order to get solid lines
449         * ly/engraver-init.ly (MensuralStaff): fixed bad comment
451 2004-09-21  Mats Bengtsson  <mabe@drongo.s3.kth.se>
453         * scripts/convert-ly.py (ly): Corrected replacement of \scriptBoth
455 2004-09-21  Jan Nieuwenhuizen  <janneke@gnu.org>
457         * lily/parse-scm.cc (internal_ly_parse_scm): Eval in module, not
458         in function.
460         * scm/framework-tex.scm (convert-to-dvi): Use nonstopmode.  Set
461         openout_any=p.  Throughout: progress to stderr, translate user
462         messages.
464         * scm/output-gnome.scm: Fix font dir description.
466 2004-09-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
468         * input/test/mensural-ligatures.ly (voice): move linethickness
469         settings to bookpaper.
471         * lily/simple-spacer.cc (Module): use force to stretch to 
472         line length as force measure for ragged spacing.
473         
474         * lily/lily-parser.cc (get_paper): don't set parent for \paper
475         blocks in the parser. This eliminates ordering dependency for
476         \bookpaper and \paper
478         * ly/part-paper-init.ly: remove file.
480         * lily/includable-lexer.cc (new_input): elucidate message.
482         * VERSION: 2.3.18 released.
483         
484 2004-09-19  Jan Nieuwenhuizen  <janneke@gnu.org>
486         * input/mutopia/E.Satie/petite-ouverture-a-danser.ly: 
487         * input/mutopia/R.Schumann/romanze-op28-2.ly:
488         * input/mutopia/F.Schubert/standchen.ly: Remove obsolete
489         #'Slur.attachment setting.
491         * elisp/lilypond-mode.el (LilyPond-command-alist): Use -ftex,
492         friendlier for point and click.
494 2004-09-19  Han-Wen Nienhuys   <hanwen@xs4all.nl>
496         * ly/init.ly: reverse collected scores.
498         * scm/page-layout.scm (ly:optimal-page-breaks): use non-ragged
499         layout to determine force.
500         
501 2004-09-18  Werner Lemberg  <wl@gnu.org>
503         * ly/engraver-init.ly <Score> [quotedEventTypes]: Add tuplets and
504         ties.
506         * ly/declarations-init.ly (escapedBiggerSymbol,
507         escapedSmallerSymbol): Fix typos.
509         * scripts/convert-ly.py: s/removeTag/removeWithTag/.
511 2004-09-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
513         * input/{input,regression}/*.ly: run convert-ly
515         * VERSION: release 2.3.17
517         * lily/slur-scoring.cc (enumerate_attachments): make stem_extent a
518         little wider for attachment calculation. This prevents stem and
519         slur touching.
521         * lily/parser.yy (direction_less_char): soft code \< \> \! \( \) (
522         ) 
524         * input/regression/tie.ly (texidoc): cleanup.
526         * ly/declarations-init.ly (tildeSymbol): soft-code meaning of [ ]
527         and ~
529         * lily/slur-scoring.cc (score_extra_encompass): check if extra
530         objects are on boundary column. 
532         * lily/main.cc (parse_argv): process --tex too.
534         * ly/music-functions-init.ly (keepWithTag): add music functions
535         keepWithTag and removeWithTag.
537         * lily/quote-iterator.cc (Quote_iterator): init transposed_musics_.
539         * lily/accidental-engraver.cc (recent_enough): interpret laziness
540         = #t. This fixes no-reset accidental-style.
542         * input/regression/accidental-piano.ly (Module): new file.
544         * lily/lily-guile.cc (LY_DEFINE): ly_assoc_get: new function.
546 2004-09-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
548         * lily/slur-scoring.cc (score_extra_encompass): widen X extent of
549         extra encompass.
550         (score_extra_encompass): use Y coordinate of attachment if X
551         attachment falls in extra encompass X extent.
553         * buildscripts/guile-gnome.sh (SLIB_PATH): add SLIB_PATH to
554         GUILE_LOAD_PATH
556 2004-09-17  Jan Nieuwenhuizen  <janneke@gnu.org>
558         * scm/output-gnome.scm: Small fixes.
560         * buildscripts/guile-gnome.sh: Getting close to 2.6.0 release.
562 2004-09-16  Juergen Reuter  <reuter@ipd.uka.de>
564         * Documentation/user/notation.itely (Ancient flags): Removed
565         documentation on adjust-if-on-staffline (this property was removed
566         by Han-Wen).
568         * Documentation/user/notation.itely (Ancient notation): Minor
569         cleanups and fixes.  Renamed "Vaticana style contexts" ->
570         "Gregorian Chant contexts".  Added section "Mensural contexts".
571         Added section "Ancient articulations".
573         * ly/engraver-init.ly: Added "MensuralVoice" and "MensuralStaff".
575 2004-09-16  Jan Nieuwenhuizen  <janneke@gnu.org>
577         * buildscripts/guile-gnome.sh: Add missing bit.
579 2004-09-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
581         * buildscripts/guile-gnome.sh (LD_LIBRARY_PATH): new script.
583         * lily/slur-scoring.cc (get_y_attachment_range): set end point
584         using base_attachment.
586         * scm/page-layout.scm (default-page-make-stencil): whoops. Add
587         page header back.
589         * scm/documentation-generate.scm (top-node): move version to top
590         node.
592         * lily/ledger-line-spanner.cc: add ledgered-interface, with
593         property no-ledgers.
595 2004-09-16  Heikki Junes  <hjunes@cc.hut.fi>
597         * Documentation/user/{changing-defaults,examples,invoking,
598         tutorial}.itely: Expand 's to is.
600         * Documentation/user/notation.itely: Capitalize only first letter.
602         * Documentation/user/programming-interface.itely: Capitalize Scheme.
604         * Documentation/user/lilypond-book.itely: use @refbugs.
606         * THANKS: sort.
608         * input/mutopia/F.Schubert/morgenlied.ly,
609         input/mutopia/J.S.Bach/baerenreiter-sarabande.ly,
610         input/mutopia/R.Schumann/romanze-op28-2.ly: Add lifetime and full name.
612 2004-09-15  Juergen Reuter  <reuter@ipd.uka.de>
614         * mf/parmesan-heads.mf: bugfixes: (i) removed duplicate
615         lneomensural char entry; (ii) fixed mensural/neomensural naming
616         clash typo; (iii) lneomensural char: fixed stem attachment point.
617         WARNING: FONT CHANGED!
619 2004-09-15  Graham Percival  <gperlist@shaw.ca>
621         * Documentation/user/introduction.itely: update \stemBoth to \stemNeutral
623         * Documentation/user/notation.itely: more editing of the manual.
625 2004-09-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
627         * lily/slur-scoring.cc (score_edges): add exp(slope*dir*leftright)
628         factor in edge attraction. This reflects that the left edge may
629         have a larger gap for an ascending up-slur.
630         (get_base_attachments): copy bound Y from right bound, if there is
631         only one note-column after the line break.
633 2004-09-14  Jan Nieuwenhuizen  <janneke@gnu.org>
635         * buildscripts/guile-gnome.sh: Update with tarball [pre]releases.
637 2004-09-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
639         * lily/phrasing-slur-engraver.cc (process_music): Create
640         PhrasingSlur instead of Slur.
642         * Documentation/user/changing-defaults.itely (Defining new
643         contexts): Fixed misprinted context name.
645 2004-09-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
647         * ly/property-init.ly (hideStaffSwitch): remove turnOff.
649         * scripts/convert-ly.py (conv): change Both to Neutral in property
650         settings.
652         * ly/engraver-init.ly: increase extent of Staff. 
654 2004-09-13  Graham Percival  <gperlist@shaw.ca>
656         * scm/script.scm: change behaviour of slur and accent.
658         * Documentation/user/music-glossary.tely: de-gender a few entires.
660         * Documentation/user/introduction.itely: de-gender a few sentences.
662 2004-09-13  Mats Bengtsson  <mabe@drongo.s3.kth.se>
664         * input/regression/rehearsal-mark-number.ly: Reuse the existing
665         formatting routine when adding boxed numbers. Makes it easier to
666         extrapolate how to do for boxed letters.
668 2004-09-12  Graham Percival  <gperlist@shaw.ca>
670         * Documentation/user/notation.itely: fixed Time Signature numbers bug.
672         * Documentation/user/invoking.itexi: updated the "reporting bugs" section.
674 2004-09-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
676         * scm/define-grobs.scm (all-grob-descriptions): longer
677         ideallengths for stems in higher order beams.
679         * Documentation/user/changing-defaults.itely (Page layout):
680         document them.
682         * scm/page-layout.scm (ly:optimal-page-breaks): use new parameters
683         to get sane spaces for titles.
685         * ly/book-paper-defaults.ly: new parameters aftertitlespace,
686         beforetitlespace, betweentitlespace.
688         * input/regression/beam-quant-standard.ly (primeSixteenths): add
689         16th notes.
691         * lily/beam.cc (set_minimum_dy): new function. Round non-zero
692         small slope up to smallest quant. This prevents small slopes from
693         getting rounded to zero.
695         * lily/beam-quanting.cc (quanting): don't allow dy_mus slopes that
696         are smaller than the smallest quant.
698         * input/tutorial/brahms*.ly: remove.
700         * input/*: update all .ly files.
701          
702         * ly/a4-init.ly (vsize): remove papersize init files.
704         * scripts/convert-ly.py (conv): add conversion.
706         * lily/parser.yy: change mode changing commands to XXXmode,
707         eg. drummode.
708         (mode_changing_head): group mode changes.
709         (mode_changing_head_with_context): new commands: create context as
710         well as change mode.
712         * input/regression/system-overstrike.ly: new file.
714         * scm/page-layout.scm (ly:optimal-page-breaks): add
715         betweensystempadding also to fixed distance for the spring.
717         * scm/define-grobs.scm (all-grob-descriptions): fix order of
718         key-cancellation.
720         * input/regression/beam-concave-damped.ly: new file.
722         * lily/beam-concave.cc: new file, with new routines for concave
723         decisions. There are now two types of concaveness: 1. a sharp
724         logic decision forcing a beam horizontal, and 2. a number that
725         measures how concave beams are that are not caught by 1.
727         This fixes: morgenlied.ly and input/regression/beam-concave.ly
728         
729         * lily/new-fingering-engraver.cc (stop_translation_timestep): new
730         property: add-stem-support
732 2004-09-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
734         * lily/slur-scoring.cc (get_bound_info): only do
735         broken trend at the end of the line.
737         * VERSION (PACKAGE_NAME): release 2.3.16.
739         * input/regression/phrasing-slur.ly (Module): remove (duplicate
740         with phrasing-slur-slur-avoid.ly)
742         * lily/slur-scoring.cc (struct Extra_collision_info): collect
743         parameters for extra offset.
744         (get_bezier): add slurs mid-points for curve determination
745         (score_extra_encompass): add slur end points for scoring.
747 2004-09-11  Matthias Neeracher  <neeracher@mac.com>
749         * scm/framework-ps.scm (reencode-font): Handling font scaling
750         and reencoding differently to work around a bug in gs 8.30 and
751         earlier.
752         Update callers.
754 2004-09-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
756         * lily/slur-scoring.cc (broken_trend_y): always take use vdir
757         extent index of other system. Fixes slurs across line breaks.
759         * lily/tuplet-engraver.cc (start_translation_timestep): use
760         Tuplet_description::stop_ for determining when to stop producing
761         tuplet brackets. This fixes: tuplet-overwrite.ly
763         * lily/*-engraver.cc: remove all Protected_scm objects to fix GC
764         errors with GUILE 1.7 CVS.
766         * lily/translator.cc (derived_mark): new function.
768         * lily/slur-scoring.cc (score_encompass): new penalty type:
769         variance penalty demerits slurs where one head/stem is much
770         closer to the slur than average.
772         * lily/tuplet-bracket.cc (print): use robust_relative_extent
773         iso. extent()
774         (calc_position_and_height): use robust_relative_extent(). This
775         fixes a couple of programming_errors
777         * input/regression/part-combine-mmrest-after-solo.ly (Module): new
778         file.
780         * lily/part-combine-iterator.cc (unisono): bugfix for the case
781         that voice-2 plays solo, and voice-1 has an mmrest that starts
782         earlier. In that case, we switch to voice-2, so we catch the
783         mmrest of voice-2. This fixes: partcombine-rest.ly.
785 2004-09-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
787         * scm/define-grob-properties.scm (all-internal-grob-properties):
788         add adjacent-hairpins property.
790         * lily/hairpin.cc: lengthen hairpin if space is available.
792         * input/regression/dynamics-hairpin-length.ly (Module): new file.
794 2004-09-10  Graham Percival  <gperlist@shaw.ca>
796         * Documentation/user/notation.itely: small fixes to docs.
798 2004-09-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
799         
800         * VERSION (PACKAGE_NAME): release 2.3.15
802         * make/lilypond.redhat.spec.in (Requires): bump requirement for
803         ec-fonts-mftraced
805         * mf/GNUmakefile (SAUTER_FONTS): remove ecb10. This is provided by
806         the latest ec-fonts-mftraced package.
808         * scm/define-context-properties.scm
809         (all-internal-translation-properties): add property. Remove
810         definition of quotes property.
812         * Documentation/user/notation.itely (Quoting other voices):
813         document it
815         * lily/quote-iterator.cc (moment_less): add quotedEventTypes
816         property, to determine what events are processed in \quote.
818 2004-09-10  Juergen Reuter  <reuter@ipd.uka.de>
820         * (many files): removed most occurrences of underscore ("_")
821         from font characters; made font character naming more
822         consistent
824         * input/test/gregorian-scripts.ly: fixed another victim of grand
825         replacement operations
827         * lily/vaticana-ligature-engraver.cc: caught some more "_"
828         inconsistencies
830         * input/puer-fragment.ly: bugfix: lyrics hyphen: syntax update
832 2004-09-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
834         * Documentation/user/changing-defaults.itely (Paper size): doc
835         landscape
836         
838         * scm/framework-ps.scm (eps-header): bugfixes. 
840         * scm/titling.scm (default-score-title): remove opus from the
841         \score title.
843 2004-09-08  Pedro Kroger  <kroeger@pedrokroeger.net>
845         * scripts/convert-ly.py (program_name): changed to sys.argv[0]
847         * scripts/abc2ly.py (program_name): changed to sys.argv[0]
849         * scripts/etf2ly.py (program_name): changed to sys.argv[0]
851         * scripts/lilypond-book.py (program_name): changed to sys.argv[0]
853         * scripts/lilypond-latex.py (program_name): changed to sys.argv[0]
855         * scripts/midi2ly.py (program_name): changed to sys.argv[0]
857         * scripts/mup2ly.py (program_name): changed to sys.argv[0]
859         * scripts/ps2png.py (program_name): changed to sys.argv[0]
861 2004-09-09  Jan Nieuwenhuizen  <janneke@gnu.org>
863         * lily/pangofc-afm-decoder.cc (pango_fc_afm_get_glyph): Increment
864         character position.  Huh?
866         * scm/output-gnome.scm (placebox): Shield affine-relative.
868         * buildscripts/guile-gnome.sh: Update.  Do not use GUILE CVS,
869         cater for system's pango 1.5.1.
871         * input/regression/new-slur.ly: Add ugly slur from scsii-sarabande.
873         * scm/slur.scm: Tweak.
875 2004-09-08  Graham Percival  <gperlist@shaw.ca>
877         * Documentation/user/{first couple of chapters}: more editing.
879 2004-09-07  Graham Percival  <gperlist@shaw.ca>
881         * Documentation/topdocs/AUTHORS.texi, THANKS: add/modify my name
882         and summary.
884         * Documentation/user/{first couple of chapters}: the big "Graham's
885         moved to a new city, his friends haven't arrived, and he has no
886         internet access" patch.  Numerous editorial and stylistic changes
887         to the manual.
889 2004-09-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
891         * scm/framework-ps.scm (output-framework): handle landscape settings.
893         * ps/lilyponddefs.ps: cleanup.
895 2004-09-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
897         * scm/define-grobs.scm (all-grob-descriptions): unset
898         threshold. This fixes morgenlied. 
900         * scm/page-layout.scm (ly:optimal-page-breaks): whoops. Thinko in
901         rod calculation.
903         * lily/system.cc (get_line): don't take piano-pedal & dynamic line
904         spanners into account for staff-extents.
906         * lily/ottava-bracket.cc (print): take common refpoint of dots
907         into account as well.
909 2004-09-05  Han-Wen Nienhuys   <hanwen@xs4all.nl>
911         * lily/lookup.cc (triangle): translate by interval.
913         * VERSION (PACKAGE_NAME): release 2.3.14
915         * Documentation/user/changing-defaults.itely (Page layout): add
916         betweensystempadding
918         * scm/page-layout.scm (ly:optimal-page-breaks): typo.
920         * input/regression/quote-cyclic.ly (Module): new file.
922         * scm/lily.scm (print): add function.
924         * scm/music-functions.scm (quote-substitute): new
925         function. Substitute \quote when putting music into \score.
927         * input/regression/key-signature-cancellation.ly (Module): new file.
929         * lily/*.cc: more ly_scm2 -> scm_to converions.
931         * lily/key-signature-interface.cc (print): take position
932         difference into account when spacing naturals.
934         * lily/key-engraver.cc (create_key): create KeyCancellation grob
935         separately, so the cancellation can be put before the staff-bar
937         * scm/define-grobs.scm (all-grob-descriptions): add a
938         KeyCancellation grob.
940         * lily/tuplet-engraver.cc (struct Tuplet_description): new
941         struct. Use to clean-up Tuplet_engraver
943 2004-09-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
945         * lily/*: ly_scm2int -> scm_to_int
946         ly_scm2double -> scm_to_double
948         * lily/include/lily-guile.hh (scm_from_double): more compat glue.
950 2004-09-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
952         * lily/simple-spacer.cc (LY_DEFINE): return something sensible for
953         0 springs
955         * lily/system.cc (post_processing): 
957         * scm/page-layout.scm (ly:optimal-page-breaks): implement uniform
958         density for vertical spacing by means of force penalty.
959         
960         * scm/paper.scm (paper-set-staff-size): add betweensystemspace as
961         dimension-variables
963         * Documentation/user/changing-defaults.itely (Page layout): add
964         betweensystemspace variable.
966         * ly/book-paper-defaults.ly: set betweensystemspace: 20 mm
968         * scm/page-layout.scm (space-systems): new function. Use spring
969         and rod approach for vertically spacing systems.
971         * ly/engraver-init.ly: tune down minimumVerticalExtent.
973         * scm/define-grobs.scm (all-grob-descriptions): set threshold for
974         vertical alignment.
976         * lily/slur-engraver.cc (process_music): add warning for slur.
978 2004-09-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
980         * lily/include/lily-guile.hh (scm_is_number): add scm_is_number
982         * lily/simple-spacer.cc (LY_DEFINE): ly_solve_spring_rod_problem:
983         export spacing routine to SCM.
985         * lily/include/simple-spacer.hh (struct Simple_spacer_wrapper):
986         new class, separate Grobs from interface.
988 2004-09-01  Han-Wen Nienhuys   <hanwen@xs4all.nl>
990         * lily/include/lily-guile.hh: compatibility glue for 1.6
992         * lily/*.cc (acknowledge_grob): ly_string_p -> scm_is_string.
994         * lily/lily-guile.cc: remove ly_scm2str0.
996 2004-09-01  Jan Nieuwenhuizen  <janneke@gnu.org>
998         * Documentation/user/macros.itexi: Use @inforef iso @uref for
999         external references.  Fixes HTML cross references with makeinfo 4.7.
1001 2004-09-01  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1003         * lily/include/simple-spacer.hh (struct Simple_spacer): remove
1004         expand_only option.
1006 2004-08-29  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1008         * lily/system.cc (get_line): add System stencil to exprs. Fixes
1009         system-extents.ly.
1011         * ly/engraver-init.ly: decrease minimumVerticalExtent to (-5,5).
1013         * scm/define-grobs.scm (all-grob-descriptions): decrease padding
1014         for MultiMeasureRestNumber
1016         * VERSION (PACKAGE_NAME): release 2.3.13
1018 2004-08-29  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1020         * lily/context-scheme.cc (LY_DEFINE): ly:context-grob-definition
1021         takes two arguments.
1023 2004-08-29  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1025         * input/regression/slur-stem-broken.ly: remove.
1027         * lily/slur.cc: add quant-score.
1029         * input/regression/slur-staccato.ly (texidoc): remove
1031         * make/lilypond.redhat.spec.in (Group): remove musedata2ly
1033 2004-08-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1035         * lily/include/bezier-bow.hh: remove.
1037         * lily/slur-bezier-bow.cc (Module): remove.
1039         * lily/include/slur.hh (Module): remove.
1041         * lily/slur.cc: remove
1043         * input/test/slur-beautiful.ly (Module): remove
1045         * input/test/slur-attachment-override.ly (Module): remove
1047         * lily/slur-quanting.cc (after_line_breaking): only do scoring
1048         when less than 4 control-points.
1050         * lily/key-signature-interface.cc: add style.
1052         * Documentation/user/notation.itely (Automatic staff changes):
1053         document new behavior.
1055         * input/regression/slur-extreme.ly: new file.
1057         * ly/engraver-init.ly (Score): set bassStaffProperties to \clef
1058         bass. Obviates \clef bass in the bass staff, when using \autochange 
1060         * lily/auto-change-iterator.cc (construct_children): instantiate
1061         up/down Staff, create Voice on up staff initially. Obviates
1062         explicit instantiation of up/down contexts for \autochange. 
1064         * lily/slur-quanting.cc (get_bezier): new functionality, blow up
1065         slur depending on extents of note heads.
1066         
1067 2004-08-28  Graham Percival  <gperlist@shaw.ca>
1069         * Documentation/user/tutorial.itely: minor editing.
1071         * Documentation/user/examples.itely: tiny editing.
1073 2004-08-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1075         * lily/slur-quanting.cc (init_score_param): read scoring
1076         parameters from slur-details property
1078         * scm/define-grobs.scm (all-grob-descriptions): add inside-slur to
1079         Accidental
1081         * Documentation/user/advanced.itely: removed.
1083         * Documentation/user/programming-interface.itely (How markups work
1084         internally): new subsection.
1086         * Documentation/user/converters.itely (Invoking abc2ly): remove
1087         musedata2ly.
1089 2004-08-27  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1091         * Documentation/user/point-and-click.texi (Point and click): new file.
1092         put point & click in appendix.
1093         
1094         * Documentation/user/changing-defaults.itely (Vertical spacing):
1095         corrections
1097 2004-08-27  Graham Percival  <gperlist@shaw.ca>
1099         * Documentation/user/introduction.itely: add note about the
1100         "example templates" section of the manual, and remove link to
1101         input/template/
1103 2004-08-27  Juergen Reuter   <reuter@ipd.uka.de>
1105         * Documentation/user/lilypond-book.itely: fix parse error: @LaTeX
1106         -> La@TeX
1108         * mf/parmesan-heads.mf: draw_diamond_head: fixed pen width; added
1109         missing lneo_mensural head; editorial cleanups
1111         * lily/mensural-ligature.cc: added more comments
1113 2004-08-26  Graham Percival  <gperlist@shaw.ca>
1115         * Documentation/user/examples.itely: second, third, fourth, and fifth sections added.
1117         * input/template/{various}: removed files included in examples.itely.
1119 2004-08-26  Juergen Reuter   <reuter@ipd.uka.de>
1121         * lily/stem.cc: bugfix: adjust-if-on-staffline: use
1122         Stem::stem_end_position instead of broken
1123         Staff_symbol_referencer::get_position
1125 2004-08-26  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1127         * debian/changelog: debian patch by Anthony Fok.
1129         * lily/stem.cc (flag): bugfix for mensural flags (thanks Juergen!)
1131         * lily/slur-engraver.cc (try_music): ignore slurs_. Otherwise we
1132         get spurious messages with skipTypesetting on.
1134 2004-08-25  Graham Percival   <gperlist@shaw.ca>
1136         * Documentation/user/lilypond-book.itely: slight clean-up.
1138         * Documentation/user/examples.itely: began section.
1140 2004-08-25  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1142         * lily/script-interface.cc: add slur property.
1144         * lily/slur-quanting.cc (score_extra_encompass): avoid other slurs
1145         too.
1147         * input/regression/phrasing-slur-slur-avoid.ly: new file.
1149         * lily/ottava-bracket.cc (print): always start from right edge of
1150         a broken bound. This fixes ottava-clef.ps 
1152 2004-08-24  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1154         * input/regression/slur-script-inside.ly: new file.
1156         * lily/new-slur.cc (outside_slur_callback): new function, to make
1157         scripts avoid slurs 
1159         * lily/slur-engraver.cc (finalize): 
1161         * lily/script-interface.cc: add inside-slur property.
1163         * lily/slur-engraver.cc (finalize): read inside-slur property.
1165         * scm/lily.scm (postscript->png): use ~a iso. ~s in progress
1166         message.
1168         * ly/property-init.ly (unHideNotes): hide accidentals at staff
1169         level. Fixes: hideNotes-accidental.ly
1171 2004-08-23  Pedro Kroger  <kroeger@pedrokroeger.net>
1173         * scm/page-layout.scm (plain-header): fix bug that print page
1174         number in the first page if firstpagenumber was different than 1.
1176 2004-08-23  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1178         * scm/framework-ps.scm (define-fonts): use UPCASE for Bluesky
1179         fonts. Fixes triangle markup for chords.
1181         * lily/slur-quanting.cc (score_extra_encompass): make score depend
1182         on distance. This fixes slur-tenuto.ly and slur-tie.ly
1184         * flower/include/interval.hh (T>): add distance() function
1186         * lily/ottava-bracket.cc (print): add dots to extent. Fixes
1187         octaviation-dot.ly 
1189         * lily/context-scheme.cc: ly_context_grob_definition: new function.
1191         * VERSION (MY_PATCH_LEVEL): release 2.3.12
1193         * lily/new-slur.cc (add_column): remove set_interface()
1195 2004-08-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1197         * input/regression/slur-double.ly: new file. 
1199         * lily/slur-engraver.cc: add doubleSlurs property
1201         * scm/fret-diagrams.scm (label-fret): use cond instead of case for
1202         symbols.
1204         * Documentation/user/notation.itely (Easy Notation note heads):
1205         revise notation Chapter.
1207         * ly/music-functions-init.ly (makecluster): add makeClusters music function.
1209         * lily/part-combine-engraver.cc: rename soloADue ->
1210         printPartCombineTexts
1212         * scripts/convert-ly.py (conv): junk script{Up|Down|Both}.
1214         * lily/horizontal-bracket.cc (print): use
1215         Tuplet_bracket::make_bracket, so it supports bracket-flare,
1216         edge-eight and shorten-pair.
1218 2004-08-22  Pedro Kroger  <kroeger@pedrokroeger.net>
1220         * Documentation/user/changing-defaults.itely (Page layout):
1221         description of firstpagenumber. Moved @refbugs about rightmargin
1222         to the end of the section (it was looking like the documentation
1223         after the refbugs was part of the bug comment).
1225         * scm/framework-ps.scm (output-framework): set the first
1226         postscript page number to firstpagenumber
1228         * scm/page-layout.scm (ly:optimal-page-breaks): print the first
1229         page number according to firstpagenumber
1231         * scm/paper.scm (set-paper-dimensions): added firstpagenumber
1232         parameter
1234 2004-08-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1236         * lily/slur-engraver.cc (class Slur_engraver): simplify: remove
1237         nested slurs. 
1239         * scripts/convert-ly.py (lilypond_version_re_str): handle
1240         \version "bar" % "foo"
1242         * lily/completion-note-heads-engraver.cc (process_music): set
1243         duration-log before announcing object.
1244         
1245         * lily/staff-symbol.cc (print): subtract thickness from staff line
1246         length
1248         * lily/parser.yy (book_body): disallow { ..music.. } inside \book
1249         
1250 2004-08-21  Carl Sorensen  <carldsorensen@comcast.net>
1252         * scm/stencil.scm: remove fontify-text and fontify-text-white
1254 2004-08-21  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1256         * scm/part-combiner.scm: skip name string. Fixes segfault problem.
1258         * Documentation/user/sound-output.texi (Sound): new file. Move all
1259         MIDI related information.
1261 2004-08-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1263         * lily/script-engraver.cc (acknowledge_grob): only take into
1264         account note heads with a music cause. Fixes ambitus-accent.ly
1266         * scm/define-markup-commands.scm (finger): set encoding to
1267         fetaNumber.
1269 2004-08-20  Erik Sandberg <ersa9195@student.uu.se>
1271         * scripts/convert-ly.py: typo
1273 2004-08-19  Carl Sorensen  <carldsorensen@comcast.net>
1275         * scm/fret-diagrams.scm: Eliminate use of fontify-text; make 
1276         font calls for diagrams based on paper and props
1278 2004-08-19  Graham Percival <gperlist@shaw.ca>
1280         * scripts/convert-ly.py: add \newpage -> \pageBreak rule.
1282 2004-08-19  Erik Sandberg <ersa9195@student.uu.se>
1284         * ly/spanners-init.ly: Correct meanings of setTextDecresc/Dim,
1285         added setHairpinDecresc/Dim
1287 2004-08-19  Jan Nieuwenhuizen  <janneke@gnu.org>
1289         * lily/include/lily-guile.hh: Cosmetics.
1291 2004-08-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1293         * input/regression/fermata-rest-position.ly: new file
1295         * ly/property-init.ly (hideNotes): remove \setMmRestFermata
1297         * scripts/convert-ly.py (conv): add rule for \setMmRestFermata
1299 2004-08-18  Nicolas Sceaux  <nicolas.sceaux@free.fr>
1301         * scm/framework-tex.scm (output-preview-framework) 
1302         (output-classic-framework): 
1303         * scm/framework-ps.scm (output-preview-framework):
1304         s/ly:paper-book-lines/ly:paper-book-systems/g
1306         * scm/fret-diagrams.scm (ss-font-encoding):
1307         s/my-font-encoding/ss-font-encoding
1309 2004-08-18  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1311         * scm/music-functions.scm (direction-polyphonic-grobs): Set
1312         direction also on fingerings.
1314         * lily/clef-engraver.cc: Add forceClef to list of read properties.
1316 2004-08-18  Jan Nieuwenhuizen  <janneke@gnu.org>
1318         * po/nl.po: Some updates.
1320         * scm/lily.scm (_): New function.
1321         (postscript->pdf, postscript->png, lilypond-main)
1322         (postscript->pdf): Use it.  Write messages to stderr.
1324         * stepmake/stepmake/po-targets.make (ALL_PO_SOURCES): Add SCM_FILES.
1326         * scm/GNUmakefile (XGETTEXT_FLAGS): Set language to Lisp.
1327         xgettext does not recognise scheme yet.  Patch submitted.
1329         * lily/scm-option.cc (LY_DEFINE):
1330         * lily/main.cc: The program is now called lilypond (WAS: lilypond-bin).
1332         * lily/rest-collision.cc (do_shift): Uniformise two too many rests
1333         messages.
1335         * lily/include/paper-book.hh
1336         * lily/include/paper-system.hh: Finish renaming of paper-line to
1337         system.  Fix users.
1339 2004-08-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1341         * scm/documentation-generate.scm (string-append): add version.
1343         * scm/define-markup-commands.scm (box): add box-padding and
1344         thickness props for the box command.
1346         * Documentation/user/changing-defaults.itely (Text encoding):
1347         elucidate use of \encoding for \header strings.
1349         * lily/parser.yy (lyric_element): use \encoding for lyrics strings.
1351         * lily/score.cc (LY_DEFINE): check if length of music > 0. Fixes:
1352         staff-change.ly
1354         * lily/output-def.cc (assign_context_def): use set_variable().
1356         * lily/text-item.cc (interpret_string): accept string input
1357         encoding too.
1359         * scm/encoding.scm (read-encoding-file): print warning when file
1360         can't be found.
1362         * tex/latin1.enc: remove.
1364         * tex/GNUmakefile ($(outdir)/latin1.enc): create latin1 from GS.
1366         * lily/rod.cc (columnize): robustness fix. Don't crash for
1367         nil span points. Fixes: appoggiatura-segfault.ly
1368         (add_to_cols): extra robustness fix.
1370 2004-08-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1372         * lily/text-item.cc (interpret_string): use lookup_variable() to
1373         fidn inputencoding. Now, \paper inherits inputencoding from
1374         \bookpaper.
1376         * lily/script-engraver.cc (stop_translation_timestep): remove slur
1377         collision kludge.
1379         * lily/dynamic-engraver.cc (typeset_all): remove slur collision
1380         kludge.
1382 2004-08-14  Jan Nieuwenhuizen  <janneke@gnu.org>
1384         * lily/main.cc (parse_argv): Bugfix: handle 'p'.  Add warning.
1386 2004-08-13  Jan Nieuwenhuizen  <janneke@gnu.org>
1388         * lily/spanner.cc (spanned_rank_iv): Bugfix.
1390         * lily.scm: Mark un-internationlised user messages (with FIXME).
1392         * lily/include/modified-font-metric.hh (struct
1393         Modified_font_metric): New file.  (WAS: incorrectly named
1394         scaled-font-metric.hh ?)
1396         * lily/include/scaled-font-metric.hh: Remove.
1398         * lily/text-item.cc (interpret_string): Identify and document
1399         input-encoding problem.
1401         * lily/paper-book.cc (pages): Do not use `paper' as variable name
1402         for a Bookpaper.
1404         * tex/latin1.enc: Replace /minus with /hyphen.
1406         * scm/encoding.scm: For latin1 (input-)encoding, use
1407         latin1.  (Cork.enc is NOT latin1 -- see man latin1).
1409         * ly/book-paper-defaults.ly: Add a comment about suspicious TeX
1410         inputencoding.
1412 2004-08-12  Heikki Junes  <hjunes@cc.hut.fi>
1414         * Documentation/topdocs/INSTALL.html: fixes.
1416 2004-08-12  Jan Nieuwenhuizen  <jan.nieuwenhuizen@aspiratie.nl>
1418         * buildscripts/builder.py: Fix for scons CVS.
1420 2004-08-11  Heikki Junes  <hjunes@cc.hut.fi>
1422         * Documentation/user/notation.itely,
1423         Documentation/topdocs/NEWS.texi, input/test/ambitus-mixed.ly,
1424         input/test/ambitus-mixed.ly: fix plurals:
1425         english: ambit, pl. ambits; latin: ambitus, pl. ambitus.
1427 2004-08-11  Jan Nieuwenhuizen  <janneke@gnu.org>
1429         * lily/dynamic-engraver.cc (typeset_all):
1430         * lily/script-engraver.cc (stop_translation_timestep): Handle
1431         collisions with new-slur.
1433 2004-08-10  Jan Nieuwenhuizen  <janneke@gnu.org>
1435         * scm/define-grobs.scm (all-grob-descriptions): Add
1436         new-slur-interface.
1438 2004-08-03  Jan Nieuwenhuizen  <janneke@gnu.org>
1440         * elisp/lilypond-mode.el (LilyPond-command-alist): LilyPond now
1441         produces .PS
1443 2004-08-09  Carl Sorensen  <carldsorensen@comcast.net>
1445         * scm/define-grob-properties.scm (all-user-grob-properties): fix
1446         definition of number-type
1448 2004-08-08  Carl Sorensen  <carldsorensen@comcast.net>
1450         * scm/fret-diagrams.scm : change sans-serif font encoding from 
1451         TeX-text to ec (uses ecss fonts instead of cmss fonts)
1453         * scm/define-grob-interfaces.scm (fret-diagram-interface): add
1454         number-type and label-dir
1456         * scm/define-grob-properties.scm: add number-type and label-dir
1458         * scm/fret-diagrams.scm (label-fret): allow fret label to be on either 
1459         left or right.  Allow choice of upper-case roman, lower-case roman, or
1460         arabic numerals in fret label
1462 2004-08-04  Werner Lemberg  <wl@gnu.org>
1464         * lily/slur-quanting.cc: Include libc-extension.hh.
1465         s/round/my_round/.
1466         * ly/engraver-init.ly (VaticanaVoice, GregorianTranscriptionVoice):
1467         s/autobeaming/autoBeaming/.
1469 2004-08-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1471         * VERSION: 2.3.11 released.
1473         * scripts/lilypond-book.py (Lilypond_file_snippet.ly): reinstate
1474         renameinput.
1476 2004-08-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1478         * lily/lookup.cc (round_filled_box): remove warnings about blot
1479         diameter.
1481         * scm/paper.scm (paper-set-staff-size): make linethickness more
1482         easily tunable.
1484         * lily/parser.yy (new_lyrics): \addlyrics -> \oldaddlyrics,
1485         \newlyrics -> \addlyrics
1487         * lily/text-spanner.cc (print): use it.
1489         * lily/dynamic-text-spanner.cc (print): use it.
1491         * lily/grob.cc (robust_relative_extent): new function.
1493         * scripts/lilypond-book.py (main): add -f tex as default process.
1495         * lily/text-spanner.cc (print): only take linear_combination of
1496         nonempty interval.
1497         
1499 2004-08-02  Pedro Kroger  <kroeger@pedrokroeger.net>
1501         * scm/page-layout.scm (default-page-make-stencil): If leftmargin
1502         isn't specified by the user in \bookpaper center the music in the
1503         page.
1505 2004-08-02  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1507         * Fix some problems after the renaming of my-lily -> lily
1509 2004-08-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1511         * lily/lily-parser.cc (parse_string): don't overwrite keytable_.
1513         * lily/slur-quanting.cc (enumerate_attachments): apply center on
1514         stem-X in more cases. 
1516         * lily/stem.cc (dim_callback): solve todo.
1518 2004-08-01  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1520         * input/test/README: new file.
1522         * lily/lily-parser.cc: rename my-lily* files.
1524         * lily/my-lily-parser.cc (LY_DEFINE): plug memory leak: unprotect
1525         parser.
1527         * lily/include/my-lily-lexer.hh (class Lily_lexer): smobify lexer.
1529         * lily/include/my-lily-parser.hh: rename My_lily -> Lily
1531         * make/mutopia-targets.make (local-WWW): don't make ps.gz
1532         examples. They take a huge amount of space.
1534         * Documentation/user/GNUmakefile: fix symlinks.
1536         * VERSION: 2.3.10 released.
1537         
1538         * input/test/lyrics-skip-notes.ly: remove
1540         * input/test/stem-cross-staff.ly (noFlag): fold into manual
1542         * input/test/{spacing-2,staff-space,tablature,textscript}.ly:
1543         remove.
1545 2004-08-01  Heikki Junes  <hanwen@xs4all.nl>
1547         * Documentation/user/{changing-defaults,notation,tutorial}.itely: fixes.
1549 2004-08-01  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1551         * input/regression/beam-dir-functions.ly: move from test/
1553         * Documentation/user/notation.itely (Feathered beams): new node.
1555         * Documentation/user/changing-defaults.itely (Difficult tweaks):
1556         new node
1558         * input/regression/lyric-hyphen-retain.ly: move to regression.
1560         * input/regression/harmonic.ly: fold into manual
1561         
1562         * input/test/{hshift,move-accidentals,crescendi,feathered-beam,
1563         stem-length,chord-names-no-inversions}.ly: remove
1564         
1565         * input/test/tie-cross-voice.ly: move to regression.
1567         * Documentation/user/notation.itely (Running trills): new node.
1569         * scm/define-grobs.scm (all-grob-descriptions): new grob TrillSpanner
1571         * scm/define-music-types.scm (music-descriptions): add TrillSpanEvent
1573         * lily/trill-spanner-engraver.cc: new file.
1575         * input/regression/trill-spanner.ly: new file.
1577         * input/test/timing.ly: fold into manual.
1579         * input/test/time.ly: remove
1581         * input/test/trill.ly: remove
1582         
1583         * input/test/time-signature-double.ly: fold into manual
1585         * input/test/separate-staccato.ly: remove
1587         * input/test/spanner-after-break-tweak.ly: fold into manual.
1589         * input/test/script-priority.ly: fold into manual.
1591         * input/test/scheme-interactions.ly: remove.
1592         
1593         * input/test/unfold-all-repeats.ly (mel),
1594         input/test/repeat.ly,input/test/repeat-shorter-bracket.ly,
1595         input/test/polymetric-differing-notes.ly input/test/polymetric.ly:
1596         fold into manual.
1598         * input/regression/no-staff.ly: move from input/test/
1600         * input/regression/markup-score.ly: move from input/test/
1602         * input/test/lyrics-melisma-faster.ly: fold into manual
1603         
1604         * input/test/lyrics-melisma-variants.ly: fold into manual
1606         * Documentation/user/notation.itely (Popular music): new node. 
1608         * input/test/gourlay.ly: remove
1609         
1610         * input/test/improv.ly: fold into manual.
1612         * input/test/figured-bass-alternate.ly (fl): remove
1614         * lily/dynamic-text-spanner.cc (print): new file.
1616         * scm/define-grobs.scm (all-grob-descriptions): add DynamicTextSpanner
1618         * lily/engraver-group-engraver.cc (do_announces): reorder logic:
1619         keep recursing into children in case a parent context inserts a
1620         grob into a child context.
1622         * lily/dynamic-engraver.cc (acknowledge_grob): add accidentals to
1623         
1624 2004-07-31  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1626         * scm/define-markup-commands.scm (postscript): new markup command
1627         \postscript
1629         * Documentation/user/notation.itely (Formatting cue notes): new
1630         section.
1632         * input/test/clef-end-of-line.ly: fold into manual.
1634         * input/test/scales-greek.ly: remove.
1636         * input/test/chords-without-melody.ly: fold into manual.
1638         * input/test/cadenza-skip.ly: remove.
1640         * input/test/clef-8-syntax.ly: remove.
1642         * input/test/clef-manual-control.ly: move into manual.
1644         * Documentation/user/notation.itely (Aligning to cadenzas): fold
1645         in cadenza-skip.ly
1647         * mf/parmesan*.mf: change neo_mensural to neomensural.
1649         * input/test/trills.ly: remove.
1651         * input/test/transposition.ly: remove.
1653         * input/test/to-xml.ly: move to no-notation.
1655         * buildscripts/lilypond-profile.sh: change zsh bomb to warning.
1657         * lily/ledger-line-spanner.cc (print): use staff variable, not
1658         me. Fixes ledger lines on differently sized staves.
1660         * input/test/rhythm-excercise.ly: remove file.
1662         * lily/stem.cc (dim_callback): only do something if visible. Fixes
1663         spurious flag not found warning for 128th rest.
1665         * input/regression/rest-dot-position.ly: new file.
1666         
1667         * input/test/rest-dot-positions.ly: remove
1669         * lily/staff-symbol-referencer.cc (get_position): emergency
1670         fallback: use coordinate * 2.
1672         * input/no-notation/midi-scales.ly: move from test/
1674         * scm/define-markup-commands.scm (score): remove debugging code.
1676         * input/test/incipit.ly (violin): remove. 
1678         * lily/system-start-delimiter.cc (print): only draw system
1679         delimiter to staves that reach up to left bound of the delimiter.
1681         * input/no-notation/embedded-scm.ly: move from test/
1683         * input/test/follow-voice.ly: remove
1685         * input/no-notation/dynamic-absolute-volume.ly: move from test/.
1687         * input/test/drarn*: remove
1688         
1689         * input/test/count-systems.ly: remove.
1691         * lily/bar-line.cc (compound_barline): fix : for staff without
1692         lines.
1694         * lily/accidental.cc (print): use music_font_alist_chain(). This
1695         fixes smaller cautionaries.
1697         * scm/define-grobs.scm (all-grob-descriptions): use fetaMusic
1698         encoding for accidental.
1700         * Documentation/user/notation.itely (Educational use): new section
1702         * input/test/*.ly: clean up directory: move examples into manual
1703         or regtest.
1704         
1706         * stepmake/stepmake/metafont-rules.make ($(outdir)/%.log): add
1707         mode as well. This fixes resolution errors.
1709 2004-07-30  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1711         * scm/lily.scm (postscript->png): show commands for --verbose.
1713         * flower/include/getopt-long.hh: opps. short option should be
1714         char, not int.
1716         * Documentation/user/GNUmakefile: use symlinks to save space.
1718         * VERSION: 2.3.9 released.
1720         * scripts/convert-ly.py (conv): remove \lyrics from \lyricsto.
1722         * ly/gregorian-init.ly (neumeDemoPaper): remove duplication from
1723         manual.
1725         * Documentation/user/tutorial.itely (Integrating text and music):
1726         remove \score and \notes from manual.
1728         * lily/my-lily-lexer.cc (My_lily_lexer): really switch on note
1729         mode in the beginning.
1731 2004-07-30  Mats Bengtsson  <mabe@drongo.s3.kth.se>
1733         * Documentation/user/changing-defaults.itely (Horizontal spacing):
1734         Correct the documentation of the spacing parameters. 
1736         * Documentation/user/tutorial.itely (Integrating text and music), 
1737         Documentation/user/lilypond-book.itely (Integrating LaTeX and
1738         music): Document that you need to add the map file ec-mftrace.map
1739         in the dvips command.   
1741 2004-07-30  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1743         * lily/score-engraver.cc (initialize): abort if ecrm10.pfa not
1744         found.
1746         * lily/text-item.cc (interpret_string): insert encoding setting
1747         here
1749         * scm/framework-ps.scm (ps-font-command): remove feta/parmesan
1750         encoding kludge.
1752         * Documentation/user/changing-defaults.itely (Text encoding): node
1753         on encoding.
1755         * lily/lyric-engraver.cc (try_music): remove superfluous check.
1757         * lily/book-paper-def.cc (find_scaled_font): remove default
1758         encoding, because it messes up font loading for feta and
1759         parmesan. Encoding should only be specified for running texts.
1761         * lily/modified-font-metric.cc (text_dimension): support coding
1762         scheme ""
1763         
1764 2004-07-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1766         * lily/tie-engraver.cc (stop_translation_timestep): remember tie
1767         definition, so \override works as expected.
1769         * lily/measure-grouping-engraver.cc: clarify
1771 2004-07-27  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1773         * lily/parser.yy (context_def_mod): remove \consistsend
1775         * lily/context-def.cc (instantiate): use Translator::must_be_last
1776         to determine engraver order.
1778         * lily/translator.cc (must_be_last): new function
1780         * scripts/convert-ly.py (conv): rule.
1782         * lily/bar-line.cc (print): return '() for height == 0.0 too.
1784 2004-07-27  Heikki Junes  <hjunes@cc.hut.fi>
1786         * input/regression/{stanza-number,volta-multi-staff}.ly: fix docs.
1788 2004-07-26  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1790         * lily/include/lily-guile.hh (scm_is_int): compat glue.
1792 2004-07-25  Pedro Kroger  <kroeger@pedrokroeger.net>
1794         * input/regression/page-layout.ly: new file.
1796         * scm/paper.scm (set-paper-dimensions): Preliminary support for
1797         left and right margins.
1799         * Documentation/user/changing-defaults.itely (Page layout):
1800         Explain the leftmargin option.
1802 2004-07-25  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1804         * input/test/lyrics-melisma-variants.ly (texidoc): new file.
1806         * input/test/lyrics-melisma-faster.ly: new file.
1808         * lily/new-lyric-combine-music-iterator.cc (find_voice): allow
1809         change of melody by setting associatedVoice.
1811         * lily/parser.yy (re_rhythmed_music): \lyricsto implies lyrics mode.
1813         * scripts/lilypond-book.py (Lilypond_file_snippet.ly): don't copy
1814         file contents, rather \include them, so default linewidth is set.
1815         (ly_options): make BOOKPAPER set of options. Move linewidth
1816         settings there.
1818         * Documentation/user/examples.itely: new file. Templates are to be
1819         moved here.
1821         * Documentation/user/programming-interface.itely: move chapter.
1823         * scm/document-markup.scm (doc-markup-function): add @code
1825         * stepmake/stepmake/texinfo-rules.make: remove chmod.
1827 2004-07-24  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1829         * scm/page-layout.scm (plain-header): add printpagenumber boolean
1830         to bookpaper.
1832         * make/mutopia-rules.make ($(outdir)/%.png $(outdir)/%.pdf
1833         $(outdir)/%.ly $(outdir)/%.ps): do all targets from lilypond binary.
1835         * scripts/lilypond-latex.py (run_dvips): remove -bin everywhere.
1837         * lily/GNUmakefile (NAME): create lilypond, not lilypond-bin 
1839         * scripts/lilypond-latex.py: move from lilypond.py
1841         * make/lilypond-vars.make: centralize LILYPOND_BOOK_FLAGS setting.
1842         (LILYPOND_BOOK_FLAGS): use -f tex for lilypond-book.
1844         * scm/lily.scm (postscript->png): new function
1845         (postscript->pdf): new function
1847         * lily/paper-book.cc (post_processing): call
1848         convert-to-{dvi,ps,png,pdf}
1850         * scripts/ps2png.py (option_definitions): new file.
1852         * lily/paper-book.cc (output): call output-preview-framework
1853         (post_processing): new function. Do PDF/PNG conversion.
1855         * lily/paper-outputter.cc (close): new function.
1857         * scm/framework-ps.scm (convert-to-pdf): new function. Call
1858         ps2pdf.
1859         (output-preview-framework): new function. Generate a preview .ps
1860         
1862 2004-07-23  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1864         * VERSION: release 2.3.8
1865         
1866         * lily/note-head.cc: remove ledger line handling.
1868         * lily/ambitus.cc (print): strip away accidental / note head code,
1869         and associated properties.
1871         * lily/ambitus-engraver.cc (create_ambitus): change name to
1872         AmbitusLine. Create AmbitusAccidental and AmbitusNoteHead for
1873         other ambitus parts.
1874         (create_ambitus): group grobs in Ambitus grouping object. 
1876         * lily/include/pitch-interval.hh (Pitch>): new file.
1878         * lily/pitch-interval.cc (add_point): new file.
1880         * lily/ledger-line-engraver.cc: new file.
1882         * lily/ledger-line-spanner.cc (print): new file. Set limits to
1883         ledger line length to avoid clashes.
1885 2004-07-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1887         * Documentation/user/invoking.itexi (Invoking lilypond): remove
1888         deprecated options
1890 2004-07-21  Jan Nieuwenhuizen  <janneke@gnu.org>
1892         * SConstruct: Use only code files for TAGS.  Change GO_FAST_BUTTON
1893         to command line option: fast=1 (default on).
1895         * SConstruct[GO_FAST_BUTTON]: implement tips from Andreas Roach.
1896         This brings SCons run-time on up-to-date tree down from 48s with
1897         only checksums, to 34s without 2day checksums, to 14s (make needs
1898         4 seconds).
1899         (subdirs)[GO_FAST_BUTTON]: Try to read all subdirs only when
1900         necessary.
1902 2004-07-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1904         * lily/slur-quanting.cc (score_extra_encompass): add  break ;
1905         (score_extra_encompass): process scripts at edges too, by checking
1906         control points directly. 
1908 2004-07-20  Jan Nieuwenhuizen  <janneke@gnu.org>
1910         * po/nl.po: Update.
1912         * lily/main.cc: Fix ly:option-usage help.
1914         * input/regression/slur-script.ly: More collision tests.
1916         * GNUmakefile.in (EXTRA_DIST_FILES): Add SConstruct.
1918 2004-07-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1920         * VERSION: release 2.3.7
1922         * stepmake/generic-vars.make (EXTRA_DIST_FILES): dist SConscript
1923         files.
1925         * Documentation/user/notation.itely (Slurs): document ^ and _ for
1926         slurs.
1928         * input/regression/slur-script.ly: new file.
1930         * lily/accidental-engraver.cc (process_acknowledged_grobs):
1931         make accidental appear to come from note head engraver.
1933         * lily/slur-quanting.cc: new file.
1934         (score_extra_encompass): new function. Avoid scripts and
1935         accidentals
1937 2004-07-18  Jan Nieuwenhuizen  <janneke@gnu.org>
1939         * lily/include/lily-guile.hh: Remove guile-1.4 compatibility.
1940         This greatly reduces the number of files that get recompiled
1941         after touching config.hh.
1943         * config.hh.in: Remove GUILE_*_VERSION.
1945         * lily/new-slur.cc: Resolve conflicts.
1947         * lily/stem-engraver.cc (make_stem): New method.
1949         * lily/include/script-interface.hh:
1950         * lily/script-interface.cc: New file.
1952         * lily/include/script.hh:
1953         * lily/script.cc: Remove.
1955         * lily/music.cc (duration_log): New method.
1957         * lily/script.cc (struct Skript): Remove.
1959         * lily/new-slur.cc (get_base_attachments): Try at articulations.
1960         Lots of coding cleanups (Stom).
1962 2004-07-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
1964         * lily/new-slur.cc (avoid_staff_line): new function: avoid
1965         collisions with staff lines.
1967         * lily/my-lily-parser.cc (LY_DEFINE): add directory of argument to
1968         global_path
1970         * scm/define-grobs.scm (all-grob-descriptions): set ratio
1971         .25. This flattens short slurs.
1973         * lily/new-slur.cc (enumerate_attachments): move X of attachment
1974         points for tilted slurs.
1976         * input/regression/slur-tilt.ly: new file.
1978         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): shorten
1979         stems of 16th graces too.
1981         * lily/beam-quanting.cc (score_forbidden_quants): make forbidden
1982         quant penalty dependent on how much the line is in the gap.
1984         * input/regression/grace-stem-length.ly: new file.
1986         * lily/beam-quanting.cc (score_forbidden_quants): remove
1987         interquant check. The penalty of 1000 is much too harsh, and the
1988         inter case should be caught by check-staff-line-in-gap check.
1990         * lily/scm-option.cc: move debug-beam to \paper.
1992         * scripts/lilypond-book.py (Lilypond_snippet.write_ly): create
1993         .txt files to appease makeinfo.
1995         * input/mutopia/W.A.Mozart/mozart-hrn-3.ly:
1996         remove texttagline.
1997         
1998         * lily/new-slur.cc: cleanup, split in functions.
2000         * lily/parser.yy (chord_body_element): allow octave-check = inside
2001         chord body. 
2003         * lily/new-slur.cc (score_encompass): variable head-distance penalty.
2005         * lily/stem.cc (height): call Beam::after_line_breaking().
2007         * lily/rest-collision.cc (force_shift_callback): only call shift
2008         for columns containing rests.
2010         * lily/new-slur.cc (print): use debug-slur-quanting paper var.
2012         * input/regression/font-postscript.ly: invoke afm2tfm. 
2014 2004-07-18  Jan Nieuwenhuizen  <janneke@gnu.org>
2016         * mf/SConscript: Build map files.
2018         * SConstruct: Rename $out to out-www in web.
2020 2004-07-17  Jan Nieuwenhuizen  <janneke@gnu.org>
2022         * SConstruct (web_kluts): Have make web build in out-www.  Not.
2024 2004-07-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2026         * Documentation/user/music-glossary.tely (Top): add fragment to
2027         pertinent @lilypond entries.
2029         * scm/define-grobs.scm: switch on new-slur by default.
2031         * lily/scm-option.cc: symbol != string.
2033         * lily/new-slur.cc (set_end_points): handle broken slurs. Doesn't
2034         really work yet.
2035         (set_end_points): make X coord of attachment dependent on  Y.
2036         (score_encompass): add edges too.
2038 2004-07-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2040         * lily/stem.cc (get_beaming): new function.
2042         * scripts/lilypond-book.py (compose_ly): make fragment mandatory
2043         for fragment snippets. This fixes inclusion of toplevel-music
2044         examples (such as new-slur.ly)
2046 2004-07-16  Jan Nieuwenhuizen  <janneke@gnu.org>
2048         * scripts/lilypond-book.py: Remove second import of stat.
2050         * More SCons cleanups.
2052         * Documentation/bibliography/computer-notation.bib (note): Remove
2053         extraneous closing brace.
2055 2004-07-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2057         * scripts/lilypond-book.py (Lilypond_snippet.is_outdated): fix
2058         stat calls.
2060         * Documentation/bibliography/SConscript (bibs): failed try to get
2061         bib2html find html-long.bst.
2063         * buildscripts/bib2html.py (stat): fail if bibtex fails.
2065         * make/stepmake.make: use usescons for using scons. 
2067 2004-07-16  Jan Nieuwenhuizen  <janneke@gnu.org>
2069         * scripts/lilypond-book.py (Lilypond_snippet.is_outdated): Check
2070         for lilypondend.  Import stat (huh?).
2072 2004-07-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2074         * make/mutopia-vars.make ($(addprefix $(outdir)/,$(LYM4_FILES):
2075         bypass dvi. 
2077         * input/regression/font-postscript.ly: new file. 
2079         * scm/framework-ps.scm (load-fonts): load pfb files too.
2081         * lily/pfb.cc (pfb2pfa): new file.
2083 2004-07-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2085         * scripts/lilypond-book.py (PREAMBLE_LY): set
2086         toplevel-music-handler too.
2088 2004-07-15  Jan Nieuwenhuizen  <janneke@gnu.org>
2090         * SConstruct (symlink): Add dvips and music-drawing-routines.ps.
2091         (web_path): Fixes for webball.  Install fixes, add DESTDIR option.
2093         * lily/slur.cc: Add quant-score to interface.  Fixes web build.
2095         * python/SConscript:
2096         * python/vim:
2097         * input/mutopia/*SConscript: New file.
2099         * input/mutopia/W.A.Mozart/: Use .ily suffix for includes.
2101         * scm/define-grobs.scm (all-grob-descriptions): Use ,Slur::height,
2102         fixes web build.
2104         * make/stepmake.make (scons): re-route to SCONS if user has been
2105         running scons in this tree.
2107         * SConstruct (config_vars): Add CPPDEFINES.
2108         (env): Set checksums type to "content".
2109         (save_config_cache): Do not exit after configuring when using
2110         checksums (the default) instead of timestamps.
2112 2004-07-15  Jan Nieuwenhuizen  <janneke@gnu.org>
2114         * SConstruct: Further development.
2116         * input/test/SConscript: 
2117         * input/template/SConscript: 
2118         * input/regression/SConscript: 
2119         * Documentation/bibliography/SConscript:
2120         * Documentation/bibliography/index.html.in: New file.
2122         * Documentation/bibliography/GNUmakefile (local-WWW): Remove index
2123         generation.
2125         * buildscripts/builder.py: Add new builders.
2127         * make/stepmake.make: 
2128         * stepmake/stepmake/*.make: 
2129         * configure.in:
2130         * lily/*:
2131         * flower*: Use config.hh (Was config.h).
2133         * scm/encoding.scm (get-coding): Print friendly error message when
2134         no encoding is found, rather than crashing.
2136 2004-07-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2138         * lily/new-slur.cc (score_slopes): strong sloping score only when
2139         stems point in same dir. 
2141 2004-07-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2143         * input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ly (rondo): bugfix
2144         for beam start.
2146         * lily/parser.yy (context_prop_spec): check grob name for
2147         alphanumericness..
2149         * lily/lyric-engraver.cc: creates LyricText objects
2151 2004-07-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2153         * lily/include/lily-guile.hh (scm_from_int): add scm_from_int glue.
2155 2004-07-13  Jan Nieuwenhuizen  <janneke@gnu.org>
2157         * SConstruct: Configure only pristine build tree or on user
2158         request.  Cleanups.  Add Documentation/topdocs to subdirs.
2159         Use checksums instead of timestamps.
2160         (CheckYYCurrentBuffer): Return result.
2162         * Documentation/topdocs/SConscript: New file.
2164 2004-07-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2166         * lily/staff-symbol-referencer.cc (on_staffline): bugfix 
2168         * lily/scm-hash.cc (get): SCM_MAKINUM is deprecated. Use
2169         scm_from_int instead.
2171 2004-07-12  Jan Nieuwenhuizen  <janneke@gnu.org>
2173         * SConstruct: Updates.  Add targets: tar, dist, release.
2175 2004-07-11  Jan Nieuwenhuizen  <janneke@gnu.org>
2177         * input/mutopia-header.ly: Generate output.
2179         * SConstruct:
2180         * buildscripts/builder.py:
2181         * Documentation/user/SConscript: SCons fixes.
2183 2004-07-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2185         * lily/new-slur.cc (class New_slur): new file. Score based slur
2186         computations.
2188 2004-07-10  Jan Nieuwenhuizen  <janneke@gnu.org>
2190         * mf/SConscript: Remove Builders.
2192         * buildscripts/builder.py: Add LilyPond, Abc2ly and MF builders.
2194         * input/SConscript: 
2195         * Documentation/user/SConscript: New file.
2197 2004-07-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2199         * Documentation/topdocs/NEWS.texi (Top): add note about new
2200         emacs electric-|
2202         * scm/*.scm: adapt ly:warn calls.
2204         * lily/lily-guile.cc (LY_DEFINE): use format on ly:warn arguments.
2206         * lily/repeat-acknowledge-engraver.cc (process_music): look at
2207         main timing, not grace timing. Fixes volta-repeat-grace.
2209         * lily/kpath.cc (LY_DEFINE): ly:kpathsea-expand-path, new function
2210         remove ly:kpathsea-gulp-file.
2212         * scm/translation-functions.scm (format-metronome-markup): make
2213         note smaller, align to bottom.
2215         * scm/define-grobs.scm (all-grob-descriptions): metronome fixes.
2217         * lily/metronome-engraver.cc (stop_translation_timestep): attach
2218         metronome to musical column. Don't ack time sigs or bar lines.
2220 2004-07-10  Heikki Junes  <hjunes@cc.hut.fi>
2222         * THANKS: sort, add David. Kristof contributed code, he is a
2223         contributor.
2225 2004-07-09  David Svoboda      <svoboda@cmu.edu>
2227         * elisp/lilypond-mode.el,
2228         * elisp/lilypond-what-beat.el: Added LilyPond-what-beat function to
2229         count beats between last measure stop | and point in emacs.
2230         
2231 2004-07-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2233         * tex/GNUmakefile (TEX_FILES): don't dist
2234         music-drawing-routines.ps, latin1.enc 
2236         * scripts/lilypond.py (include_path): remove --no-lily, --no-ps ,
2237         --no-pdf, --pdftex
2238         (copyright): add --latex option
2239         (ic_p.make_include_option): use direct PS as default.
2241         * scm/beam.scm (check-slope-callbacks): check sign of slope. 
2243         * input/regression/beam-concave.ly (rossFourBeams): add cases from Ross
2245         * scm/script.scm (default-script-alist): marcato should follow
2246         into staff
2247         
2248 2004-07-09  Jan Nieuwenhuizen  <janneke@gnu.org>
2250         * buildscripts/builder.py:
2251         
2252         * Documentation/SConscript (outdir): New file.  Add *list.ly
2253         dependencies.  Fixes PDF doc build.
2255 2004-07-08  Jan Nieuwenhuizen  <janneke@gnu.org>
2257         * SConstruct: Add Tar target (incomplete), fix install issues, fix
2258         run from build-dir.
2260         * ly/SConscript:
2261         * scm/SConscript: New file.
2263         * lily/main.cc (dir_info): Print variables in sh format.
2265         * lily/includable-lexer.cc: Use #if iso #ifdef for HAVE_ tests.
2267         * mf/SConscript: Update multiple target rules.
2269         * SConstruct (assert_version): Add.
2271 2004-07-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2273         * SConstruct (key): add HAVE_FLEXLEXER_YY_CURRENT_BUFFER check.
2275 2004-07-07  Jan Nieuwenhuizen  <janneke@gnu.org>
2277         * buildscripts/mf-to-table.py: Do not try to open ''.
2279         * mf/SConscript: New file.
2281 2004-07-06  Carl Sorensen  <carldsorensen@comcast.net>
2283         * scm/fret-diagrams.scm : Convert many properties to constants,
2284         reducing the pollution of the property namespace.
2286         * scm/define-grob-properties.scm (all-user-grob-properties): Reduce
2287         unnecessary properties for fret-diagram
2289         * scm/define-grob-interfaces.scm (fret-diagram-interface): Add symbols
2290         for interface
2292 2004-07-07  Jan Nieuwenhuizen  <janneke@gnu.org>
2294         * SConstruct: Update.
2296 2004-07-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2298         * input/regression/beam-quant-standard.ly (seconds): print desired
2299         quants when failing.
2301 2004-07-06  Jan Nieuwenhuizen  <janneke@gnu.org>
2303         * SConstruct:
2304         * flower/SConscript:
2305         * lily/SConscript: New file.
2307 2004-07-05  Carl Sorensen  <carldsorensen@comcast.net>
2309         * scm/define-grob-properties.scm (all-user-grob-properties): Add
2310         descriptions for all fret-diagram properties.
2312         * scm/define-grob-interfaces.scm (fret-diagram-interface): Add
2313         fret-diagram interface code
2315 2004-07-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2317         * ly/book-paper-defaults.ly: set default encoding to ec.
2319         * buildscripts/guile-gnome.sh (OPT): only compile pango if not
2320         installed.
2322         * tex/latin1.enc: new file, from a2ps. 
2324 2004-07-06  Heikki Junes  <hjunes@cc.hut.fi>
2326         * stepmake/bin/add-html-footer.py: use <div> instead of <table>,
2327         add a faint, green border line.
2329         * Documentation/index.html.in: drop <table>, add a faint border line.
2331 2004-07-05  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2333         * scm/font.scm (add-cmr-fonts): upright caps is eccc.
2335         * Documentation/GNUmakefile (README_TOP_FILES): add THANKS.txt.
2337 2004-07-02  Carl Sorensen  <carldsorensen@comcast.net>
2339         * scm/output-ps.scm (white-text): Add scale paramter to allow scaling
2341         * scm/output-tex.scm (white-text): Add scale parameter to allow font scaling
2343         * scm/stencil.scm (fontify-text-white) : Adjust to better center, properly
2344         scale white text
2346         * scm/fret-diagrams.scm (make-fret-diagram): change default dot
2347         position for numbered dots so dot will touch fret.
2348         (various routines): move to font-metric interface, rather than
2349         name, size interface.  Clean up comments.
2351         * ps/music-drawing-routines.ps: (/draw_white_text)  Adjust font
2352         size and offset to better center white text.
2354 2004-07-05  Jan Nieuwenhuizen  <janneke@gnu.org>
2356         * ChangeLog: Remove pre-2.1 changes.
2358         * Documentation/misc/ChangeLog-2.1: New file.
2360         * stepmake/bin/release.py: Cleanup.  Add release marker if missing
2361         from ChangeLog.
2363 2004-07-05  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2365         * input/test/chords-below-volta-bracket.ly,
2366         input/test/no-key-at-end-of-line.ly: New example files (FAQs)
2368 2004-07-05  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2370         * VERSION: release 2.3.6
2372         * input/regression/beam-quant-standard.ly: new file: test standard
2373         beam quants.
2375         * scm/beam.scm (check-quant-callbacks): new function
2376         (check-beam-quant): new function: check whether current beam
2377         quants match argument.
2379         * lily/beam-quanting.cc (score_forbidden_quants): fix problem with
2380         forbidden quant for sitting (upstem)/hanging (downstem) on outer
2381         staffline line.
2383 2004-07-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2385         * lily/parser.yy (Generic_prefix_music_scm): add (scm,scm) music
2386         functions.
2388         * lily/note-collision.cc (do_shifts): align colliding notes to
2389         their leftmost note.
2391         * input/regression/collision-alignment.ly: new file.
2393         * ly/init.ly: don't print gc stats.
2395         * scripts/lilypond-book.py (Lilypond_snippet.output_texinfo): add
2396         extra newline
2398         * scm/define-grobs.scm (all-grob-descriptions): use (0 . 0) not #f
2399         for dimensions. This fixes ottava-remove-empty-staff.ly
2401         * input/regression/lyrics-tenor-clef.ly: new file.
2403         * lily/axis-group-engraver.cc (process_acknowledged_grobs): catch
2404         cyclic parents when two axis-group-engravers are
2405         present. Fixes: crash-axis-group-engraver.ly. 
2406         
2407         * input/test/volta-chord-names.ly: new file.
2409         * scm/define-context-properties.scm
2410         (all-user-translation-properties): change voltaOnThisStaff
2411         definition. 
2413         * lily/volta-engraver.cc (stop_translation_timestep): set bounds
2414         if necessary.
2416         * lily/volta-bracket.cc (print): handle volta brackets without
2417         bars. 
2419 2004-07-01  Jan Nieuwenhuizen  <janneke@gnu.org>
2421         * scripts/abc2ly.py (try_parse_chord_delims): Bugfix: update to
2422         2.0 chord syntax.  Ouch.  (thanks Dave Phillips).
2424 2004-07-01  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2426         * scm/output-gnome.scm: updated instructions for running gnome
2427         backend
2429 2004-06-29  Carl Sorensen  <carldsorensen@attbi.net>
2431         * scm/fret-diagrams.scm (draw-dots): default values for dot size
2432         and dot-position now depend on finger-code value; in-dot makes
2433         dots larger and centered.
2434         (draw-barre): added straight-barre indicator option
2435         (draw-dots): made fontify-text-white work.
2437         * music-drawing-routines.ps: added /draw_white_text
2439         * scm/output-tex.scm:  added white-text
2441         * scm/output-ps.scm:  added white-text
2443         * scm/lily.scm (ly:all-stencil-expressions): Added white-text to 
2444         list of stencil expressions
2446         * scm/stencil.scm: Added fontify-text-white
2448 2004-06-29  Heikki Junes  <hjunes@cc.hut.fi>
2450         * input/regression/+.ly: use @unnumbered section.
2452 2004-06-28  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2454         * elisp/lilypond-mode.el (LilyPond-guile): set current module to
2455         (*anonymous-ly-0*) iso. (*anonymous-ly-1*)
2457 2004-06-28  Jan Nieuwenhuizen  <janneke@gnu.org>
2459         * buildscripts/guile-gnome.sh (PATH): GUILE CVS is still fubarred.
2461 2004-06-26  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2463         * scm/ly-from-scheme.scm (read-lily-expression): #$( ... )
2464         was causing an error. (was not actually commited in 2004-06-20)
2466         * input/regression/lily-in-scheme.ly (withPaddingC): does not
2467         breaks anymore
2469 2004-06-24  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2471         * VERSION: 2.3.5 released.
2472         
2473         * lily/my-lily-parser.cc (parse_string): switch module too.
2475 2004-06-24  Jan Nieuwenhuizen  <janneke@gnu.org>
2477         * Documentation/topdocs/INSTALL.texi (Top): Add guile, python and
2478         ec-fonts-mftraced to running requirements.
2480 2004-06-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2482         * lily/my-lily-lexer.cc (My_lily_lexer): copy scopes so temporary
2483         assignments don't reach the original file.
2485         * lily/my-lily-parser.cc (My_lily_parser): only copy lexer if it
2486         exists
2488 2004-06-22  Jan Nieuwenhuizen  <janneke@gnu.org>
2490         * scm/output-gnome.scm: 
2491         * buildscripts/guile-gnome.sh: Update wrt fixed GUILE CVS.
2493         * debian/: Apply Debian patch (Anthony Fok).
2495 2004-06-22  Heikki Junes   <hjunes@cc.hut.fi>
2497         * Documentation/user/music-glossary.tely: fix titling; @top is already
2498         an @unnumbered @chapter.
2500 2004-06-22  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2502         * debian/GNUmakefile (EXTRA_DIST_FILES):
2503         (CONF_FILES): update file list.
2505         * lily/stencil.cc (interpret_stencil_expression): bugfix.
2507 2004-06-21  Jan Nieuwenhuizen  <janneke@gnu.org>
2509         * debian/: Remove cruft (requested Anthony Fok.)
2511         * buildscripts/guile-gnome.sh: Build without gcc libtool version
2512         juggling.
2514         * scm/framework-gnome.scm: Cleanups.  Resurrect +/- canvas scaling.
2515         Add popup menu with grob properties.
2517         * lily/grob-scheme.cc (ly:grob-properties):
2518         (ly:grob-basic-properties): New function.
2520         * lily/stencil.cc (interpret_stencil_expression): Comment-out
2521         "no-origin" call.  Fixes -fps output.
2523         * scm/output-ps.scm (no-origin): Add dummy implementation.
2525         * scm/output-gnome.scm (define-origin): Remove
2526         (grob-cause): Add.
2528         * scm/output-ps.scm (scm):
2529         * scm/output-tex.scm (scm): Remove define-origin from exports list.
2530         (define-origin): Remove.
2532         * scm/output-gnome.scm (define-origin): 
2534         * scm/lily.scm (ly:all-output-backend-commands): Remove
2535         define-origin.  Add grob-cause.
2537 2004-06-21  Heikki Junes   <hjunes@cc.hut.fi>
2539         * buildscripts/lilypond-words.py: add ly/portugues.ly.
2541 2004-06-20  Heikki Junes   <hjunes@cc.hut.fi>
2543         * Documentation/user/GNUmakefile:
2544         * stepmake/stepmake/texinfo-rules: add Cascading Style Sheet using
2545         --include-css=.../texinfo.css; command includes css into the html.
2547         * Documentation/texinfo.css: add file.
2548         define <hr> as black and thin.            
2550 2004-06-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2552         * lily/stencil.cc (interpret_stencil_expression): add grob-cause
2553         stencil expression. Junk define-origin.
2555         * lily/my-lily-parser.cc (parse_string): init parser variable when
2556         lexer_ is set, ie. in parse_string and parse_file.
2558         * lily/book.cc (LY_DEFINE): new function. ly:make-book. Supercedes
2559         ly:score-bookify.
2561         * scm/lily.scm (collect-scores-for-book): new function.
2563         * ly/init.ly: print collected scores/musics.
2565         * lily/my-lily-parser.cc (LY_DEFINE): define parser in parser
2566         scope, not in lily module.
2568         * lily/book.cc (LY_DEFINE): ly:make-book. New function.
2570         * configure.in (PKG_CONFIG_PATH): add --enable-gui flag, and
2571         encapsulate gtk/pango tests.
2573         * po/tr.po: Turkish translation.
2575 2004-06-20  Nicolas Sceaux  <nicolas.sceaux@free.fr>
2577         * input/regression/lily-in-scheme.ly: regression test for #{
2578         ... #} syntax
2580         * scm/ly-from-scheme.scm (read-lily-expression): #$( ... )
2581         was causing an error.
2583         * Documentation/user/programming-interface.itely (Using LilyPond
2584         syntax inside Scheme): documentation for #{ ... #} syntax.
2586 2004-06-19  Heikki Junes  <hjunes@cc.hut.fi> 
2588         * Documentation/index.html.in: use black thin <hr>.
2590         * buildscripts/mutopia-index.py: use thin black <hr>.
2592 2004-06-19  Jan Nieuwenhuizen  <janneke@gnu.org>
2594         * scm/fret-diagrams.scm: Use UNIX style line endings.
2595         (fret-diagram-verbose): A couple of @{VAR} and an closing itemize
2596         typo.  Fixes compile.
2598         * scm/output-ps.scm (white-dot): Remove second incarnation.
2600         * scm/lily.scm (ly:all-stencil-expressions): Add white-dot.
2602 2004-06-19  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2604         * scripts/lilypond.py (ic_p.make_include_option): set error_p for
2605         single file error.
2607         * lily/bar-line.cc (compound_barline): add support for unbroken ||:
2609 2004-06-17  Carl Sorensen (carl_sorensen@byu.edu)
2611         * scm/fret-diagrams.scm: added fret-diagram-terse interface;
2612         remove size as argument to fret-diagram interface;
2613         improved white-circle dots for fret;
2614         improved top-fret thick line/
2616         * scm/output-ps.scm: added white-dot function
2618         * scm/output-tex.scm: added white-dot function
2620         * tex/music-drawing-routines.ps: added draw_white_dot function
2622         * ps/music-drawing-routines.ps: added draw_white_dot function
2624         * input/test/fret-diagram.ly: examples to show multiple
2625         functions and multiple interfaces
2627 2004-06-18  Jan Nieuwenhuizen  <janneke@gnu.org>
2629         * lily/pangofc-afm-decoder.cc (pango_fc_afm_get_glyph) 
2630         (pango_fc_afm_get_charset): Update iaw Pango CVS update.
2632         * buildscripts/guile-gnome.sh: Add pango to recipe.  Resolve
2633         conflict.  Have I told you lately how much I love autotools?
2635 2004-06-17  Jan Nieuwenhuizen  <janneke@gnu.org>
2637         * lily/lily-guile.cc: 
2638         * lily/pangofc-afm-decoder.cc:
2639         * lily/include/pangofc-afm-decoder.hh: Use #if HAVE_* iso #ifdef.
2640         Fixes build without Pango CVS.  Use "pangofc-afm-decoder.hh".
2642         * Documentation/topdocs/NEWS.texi (Top): Mention GNOME backend for
2643         developers.
2645         * lily/paper-outputter.cc (file): New method.
2646         (dump_string): Use it.
2648         * scm/output-gnome.scm: Update with pango CVS info, lilylib
2649         musing.
2651         * lily/accidental-engraver.cc: Bugfix: (do not sort lines if one
2652         of them has a comma :-).
2654         * scm/framework-gnome.scm: Add pango decoders.
2656         * lily/include/pangofc-afm-decoder.hh: 
2657         * lily/pangofc-afm-decoder.cc: New file.
2659         * lily/lily-guile.cc (ly:pango-add-afm-decoder): New function.
2661         * configure.in: Check for pango.
2663         * stepmake/aclocal.m4 (PKG_CHECK_MODULES): New function (from
2664         autoconf).
2665         (STEPMAKE_GTK2, STEPMAKE_PANGO): New function.
2667         * config.make.in (USER_CFLAGS, USER_LDLAGS): Update.
2669 2004-06-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2671         * Documentation/user/tutorial.itely (Integrating text and music):
2672         fix grammar & punctuation.
2674 2004-06-16  Jan Nieuwenhuizen  <janneke@gnu.org>
2676         * lily/: Stray janitorial cleanups.
2678         * scm/lily.scm (ly:all-stencil-expressions):
2679         * scm/lily.scm (ly:all-output-backend-commands): New function.
2681         * scm/safe-lily.scm (safe-objects): Add them.
2683         * scm/framework-gnome.scm (<gnome-outputter>): New class.
2685         * scm/output-gnome.scm: Move non-stencil evaluators to framework.
2687 2004-06-15  Jan Nieuwenhuizen  <janneke@gnu.org>
2689         * buildscripts/guile-gnome.sh: Pick-up user-installed pango.
2691 2004-06-15  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2693         * scm/page-layout.scm (default-page-make-stencil): add
2694         raggedbottom, raggedlastbottom.
2696         * Documentation/user/changing-defaults.itely (Page layout): add doc.
2698         * scm/framework-tex.scm (define-fonts): fix export of
2699         papersize.
2701         * lily/paper-book.cc (classic_output): strip suffixes from
2702         framework functions.
2704         * lily/tuplet-bracket.cc (before_line_breaking): do not return
2705         SCM_UNDEFINED to Scheme.
2707 2004-06-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2709         * lily/book.cc: remove Book::to_stencil().
2710         (process): whoops. Score::book_rendering returns vector, not list.
2712         * scripts/convert-ly.py (conv): remove \notes.
2713         apply to input examples.
2715         * lily/paper-outputter.cc (output_stencil): don't use
2716         smobify_self() but self_scm()
2718         * lily/include/ly-smobs.icc (IMPLEMENT_SMOBS): don't return SCM
2719         from smobify_self().
2721         * lily/paper-book.cc (output): load framework module
2722         scm_c_resolve_module().
2724         * python/lilylib.py (exit): exit with argument i.
2726 2004-06-14  Jan Nieuwenhuizen  <janneke@gnu.org>
2728         * scm/framework-gnome.scm (output-framework-gnome): Try loading
2729         gnome modules from non-toplevel.
2731         * lily/ly-module.cc (ly:import-module): Export to ly:.
2733         * lily/paper-score.cc (process): Do not show progress newline.
2735         * lily/paper-book.cc (output, classic_output): Show progess
2736         newline after score.
2738 2004-06-14  Heikki Junes <hjunes@cc.hut.fi>
2740         * buildscripts/lilypond-words.py: add ly/vlaams.ly
2742 2004-06-14  Jan Nieuwenhuizen  <janneke@gnu.org>
2744         * lily/score.cc (ly:run-translator): Do not crash on empty music
2745         list.
2747         * lily/book.cc (process): Do not render score when systems is empty.
2749         * input/simple-song.ly: Down one octave.
2751         * scm/output-gnome.scm: Remove script again; re-add modules fix
2752         (CVS conflict resolve?)
2754         * lily/stencil.cc (ly:interpret-stencil): Was:
2755         interpret_stencil_expression.
2757 2004-06-13  Jan Nieuwenhuizen  <janneke@gnu.org>
2759         * buildscripts/guile-gnome.sh: New file.
2761         * scm/output-gnome.scm: White background, better window size, sane
2762         canvas size.  Cleanups.
2764 2004-06-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2766         * VERSION: release 2.3.4
2768         * Documentation/user/invoking.itexi (Invoking the lilypond
2769         binary): document --safe.
2771         * scm/output-gnome.scm: set PATH in script.
2773         * scm/page-layout.scm (default-page-make-stencil): don't stretch
2774         if there is too few systems on a page.
2776         * lily/parser.yy (relative_music): start at middle C without pitch
2777         argument.
2779         * Documentation/user/changing-defaults.itely (Page layout): new node.
2780         (Paper size): rename node
2781         (Page breaking): new node.
2782         (Titling): move from invoking.
2783         (File structure): new node.
2785         * lily/parser.yy (score_body): allow \header and music anywhere in
2786         \score body.
2788 2004-06-13  Jan Nieuwenhuizen  <janneke@gnu.org>
2790         * scm/lily.scm (ly:load): Remove page-breaking.scm.
2792 2004-06-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2794         * lily/include/paper-system.hh: move cc/hh file from paper-line.*
2796         * lily/include/paper-line.hh: rename to Paper_system.
2798         * lily/include/paper-book.hh: doc class.
2800         * lily/paper-book.cc (c_ragged_page_breaks): remove functions. 
2802         * scm/page-layout.scm (plain-footer): add tagline/copyright. 
2803         (plain-header): add instrument-name.
2804         (default-page-make-stencil): bugfixes.
2806         * lily/parser.yy (book_body): allow \header anywhere in \book{}
2808         * lily/paper-book.cc: remove copyright & tagline. Remove
2809         interactions with Page
2811         * scm/page-layout.scm (ly:optimal-page-breaks): move back breaking
2812         here, 
2813         (default-page-make-stencil): new function
2814         (default-page-music-height): new function
2815         (page-headfoot): new function
2816         (ly:optimal-page-breaks): generate stencils directly from here
2818         * scm/titling.scm: new file, group titling functions
2820 2004-06-13  Jan Nieuwenhuizen  <janneke@gnu.org>
2822         * scm/output-gnome.scm: Handle multiple pages.
2824         * scm/framework-gnome.scm: Do not load output-gnome.
2825         (framework-gnome): Invoke output-gnome::header and
2826         output-gnome::end-output as faked stencils.  Fixes experimental
2827         gnome output.
2829 2004-06-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2831         * input/mutopia/W.A.Mozart/mozart-hrn3-rondo.ly (rondo):
2832         octavation compatibility fixes. Backportme. 
2834         * scm/page-breaking.scm (ly:optimal-page-breaks): allow overfull
2835         pages.
2836         (ly:optimal-page-breaks): combine-penalties: no shortcut for
2837         negative. Now we handle negative penalties (ie. \pageBreak)
2838         correctly.
2840         * lily/system.cc (get_line): extract page-penalty from the left
2841         bound.
2843         * scm/fret-diagrams.scm (fret-diagram): use @table for documentation
2845 2004-06-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2847         * scm/framework-ps.scm: don't load output-XXX from framework-XXX
2849 2004-06-12  Jan Nieuwenhuizen  <janneke@gnu.org>
2851         * scm/output-gnome.scm: Update script.  Move development to
2852         lilypond_2_3_2 branch for now.
2854 2004-06-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2856         * scm/page-breaking.scm (ly:optimal-page-breaks): don't do
2857         negative penalties.
2858         cleanups.
2860         * Documentation/user/changing-defaults.itely (Creating contexts):
2861         index entries
2863         * scm/page-breaking.scm (ly:optimal-page-breaks): new
2864         file. Rewrite function. 
2866         * lily/paper-book.cc (pages): new interface: page-breaking returns
2867         list of line-list.
2869         * lily/page.cc (Page): take lines argument.
2871         * scm/document-translation.scm (all-engravers-doc): link to user man
2873         * scm/page-layout.scm (ly:optimal-page-breaks): use penalty iso. score.
2875         * Documentation/user/notation.itely (Relative octaves): typo.
2877         * lily/paper-book.cc (LY_DEFINE): ly:output-formats. New function.
2879 2004-06-11  Jan Nieuwenhuizen  <janneke@gnu.org>
2881         * scm/output-gnome.scm: Update build script.
2883 2004-06-10  Jan Nieuwenhuizen  <janneke@gnu.org>
2885         * scm/output-gnome.scm: Add font scaling.  Attempt to resurrect
2886         gnome backend.
2888         * scm/framework-gnome.scm: New file.
2890         * scm/lily.scm: Use it.
2892         * lily/paper-outputter.cc: Janitorial cleanups.
2893         (ly:outputter-dump-string): Remove unreachable statement.
2895         * scm/framework-ps.scm: Add header.  Janitorial cleanups.
2896         (ice-9): Bugfix: Add srfi-1.
2898         * scm/framework-tex.scm: Add header.  Janitorial cleanups.
2900 2004-06-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2902         * lily/new-lyric-combine-music-iterator.cc (do_quit): put warning
2903         in do_quit()
2905 2004-06-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2907         * ly/book-paper-defaults.ly: set optimal-page-breaks as default
2909 2004-06-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2911         * ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
2912         override of Beam::position-callbacks. Why would grace beams not be
2913         quantized? Fixes: weird-stem-size-grace. 
2915         * lily/new-lyric-combine-music-iterator.cc (find_voice): issue
2916         warning only once. Backportme.
2918         * lily/accidental-engraver.cc (number_accidentals_from_sig):
2919         bugfix, 2nd try. Backportme.
2921         * ly/vlaams.ly: new file. (Thanks Hendrik Maryns)
2923 2004-06-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2925         * Documentation/user/notation.itely (Instrument transpositions):
2926         Correct the name of the instrumentTransposition property.
2928 2004-06-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2930         * scm/output-ps.scm (ps-font-command): fix parmesan coding too.
2932 2004-06-04  Mats Bengtsson  <mabe@drongo.s3.kth.se>
2934         * scripts/lilypond-book.py (output): Bug fix so preLilyPondExample
2935         and postLilyPondExample are called when defined.
2937 2004-06-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2939         * ly/nederlands.ly (pitchnames): use ly:parser-set-note-names.
2940         This fixes setting notenames with `\include "nederlands.ly" '
2942         * lily/my-lily-parser.cc (LY_DEFINE): ly:parser-set-note-names:
2943         new function.
2945 2004-06-01  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2947         * scm/page-layout.scm: don't do piece, it should be in score-title
2948         only.
2950         * lily/lexer.ll: lex \score separately.
2952         * lily/paper-book.cc: junk stencil2line.
2954         * lily/paper-line.cc (Paper_line): construct from Stencil
2955         directly. No futzing with the dimensions.
2957         * lily/include/paper-line.hh (class Paper_line): 
2959         * lily/stencil.cc (interpret_stencil_expression): combine-stencil
2960         takes arbitrary number of arguments.
2962         * input/test/markup-score.ly (tuning): simplify example. 
2964 2004-05-31  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2966         * lily/score.cc (LY_DEFINE): ly:score-embedded-format, new function. 
2968         * scm/define-markup-commands.scm (score): define score-markup
2970         * lily/parser.yy (markup): use score-markup.
2972         * lily/score.cc: add ly:score? 
2974 2004-05-30  Carl Sorensen <carl_sorensen@byu.edu>
2976         * scm/fret-diagrams.scm: add fret-diagram-verbose markup; modified
2977         fret-parse-string so it prepares for calls to fret-diagram-verbose
2978         Changed display constants to props so they are available for
2979         \override.
2981 2004-05-31  Han-Wen Nienhuys   <hanwen@xs4all.nl>
2983         * VERSION: release 2.3.3
2985         * stepmake/stepmake/generic-vars.make: unset LANG.
2987         * input/regression/tuplet-nest.ly: bugfix.
2989         * lily/tie-performer.cc (stop_translation_timestep): reset
2990         ties_created_. Fixes: midi-tie.ly, midi-lyrics-barcheck.ly
2992         * lily/chord-tremolo-engraver.cc (stop_translation_timestep):
2993         clear repeat_ directly after setting stem_tremolo_. Fixes:
2994         tremolo-repeat.ly
2996         * input/regression/span-bar-break.ly: new file.
2998         * scm/define-grobs.scm (all-grob-descriptions): remove
2999         break-visibility from SpanBar. Fixes: piano-repeat.ly
3001 2004-05-30  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3003         * python/lilylib.py (make_ps_images): only compute bbox when needed.
3005         * scripts/lilypond-book.py (process_snippets): use lily -f ps
3006         files for generating pngs. (failed experiment)
3008         * scm/framework-ps.scm (output-classic-framework-ps): dump EPS
3009         file with PFA fonts included.
3011         * lily/score.cc (default_rendering): put header in too.
3013         * lily/paper-line.cc (LY_DEFINE): change function to
3014         ly:paper-line-extent
3016         * scm/page-layout.scm (default-book-title): only add lines for
3017         non-nil fields.
3018         (default-score-title): idem.
3020         * lily/my-lily-parser.cc (parse_string): delete lexer after use.
3022         * lily/my-lily-lexer.cc (My_lily_lexer): copy keytable.
3024         * lily/include/paper-book.hh (class Paper_book): remove height_
3025         member.
3027         * input/test/coriolan-margin.ly (texidoc): remove latex macros.
3029         * lily/ly-module.cc (LY_DEFINE): bugfix.
3031         * lily/paper-book.cc (book_title): separate function for the book
3032         title.
3034         * scm/page-layout.scm (default-book-title): only account for
3035         markup fields.
3037         * scm/framework-ps.scm: new file. Move high level interface from
3038         output-ps.scm
3040         * scm/music-functions.scm (def-grace-function): move macros from
3041         ly/music-functions-init.ly
3043         * lily/paper-outputter.cc (Paper_outputter): move scheme_calls to
3044         framework-tex.scm
3046         * scm/framework-tex.scm (dump-line): new file. High level
3047         interface for output (pages, systems, header). 
3049         * lily/include/page.hh (class Page): add is_last_ field.
3051         * lily/paper-outputter.cc (print_smob): smobify Paper_outputter.
3053         * lily/paper-book.cc (split_string): new function
3054         (output): output multiple formats, i.e. --format=ps,tex
3056         * scm/output-ps.scm (output-scopes): dump variables directly.
3057         (define-fonts): rewrite for new interface
3059         * ps/lilyponddefs.ps: remove lilypondpaper redefinitions.
3061         * lily/paper-outputter.cc (Paper_outputter): take format argument.
3063         * lily/main.cc (parse_argv): don't set extension for output.
3065         * lily/clef-engraver.cc (create_clef): remove
3066         Staff_symbol_referencer::set_position() call. 
3068 2004-05-30  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3070         * ly/music-functions-init.ly (addlyrics): set the 'origin property
3071         with the location argument in music function definitions.
3073 2004-05-29  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3075         * lily/staff-symbol-engraver.cc (acknowledge_grob): remove item ->
3076         staffsymbol dependency.
3078         * lily/include/grob.hh (class Grob): live () -> is_live (). Small
3079         cleanups.
3081         * lily/book.cc (process): return Paper_book
3082         (to_stencil): use Book::process().
3084         * lily/include/my-lily-parser.hh (class My_lily_parser): remove
3085         header_ field. Store in $globalheader
3087         * lily/parser.yy (book_body): book header is initted to
3088         $globalheader.
3091 2004-05-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3093         * input/test/fill-a4.ly: removed.
3095         * lily/parser.yy (output_def): push scope of parent_ Output_def
3096         too.
3098 2004-05-28  Jan Nieuwenhuizen  <janneke@gnu.org>
3100         * scm/output-gnome.scm: Update info.
3102 2004-05-28  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3104         * lily/book-paper-def.cc: collapse Book_output_def to Output_def.
3106         * scm/lily.scm (ly:modules-lookup): handle empty list, and more
3107         than 1 module.
3109         * lily/include/ly-module.hh (ly_use_module): rename is_module to
3110         ly_c_module_p.
3112         * scm/page-layout.scm (default-book-title): move Scheme titling
3113         functions to here.
3115         * lily/parser.yy (book_paper_block): remove scope too.
3117         * ly/engraver-init.ly (EasyNotation): remove OrchestralScoreContext
3119         * lily/rest.cc: add direction to rest properties.
3121         * lily/include/output-def.hh: new file, move from
3122         music-output-def.hh
3124 2004-05-27  Jan Nieuwenhuizen  <janneke@gnu.org>
3126         * scm/output-gnome.scm: Describe feta-cork hack.
3128 2004-05-27  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3130         * lily/include/book-paper-def.hh: derive from Output_def 
3132         * lily/include/paper-def.hh: move all functionality out of class.
3133         Junk header.
3135         * lily/include/music-output-def.hh: rename Music_output_def to
3136         Output_def.
3138         * input/wilhelmus.ly: only set space for Paper formatting. 
3140         * lily/include/midi-def.hh: remove file, remove class.
3141         Move functions to Music-output-def.
3143         * lily/music-output-def.cc (Music_output_def): remove separate
3144         translator table. Lookup translators in scope directly. This
3145         obviates Context suffix for context identifiers, i.e.
3147         \context {
3148           \Staff
3149           .. 
3150           }
3153         will work.
3156         * Documentation/user/notation.itely (Chords mode): typo: 13 -> 3.
3158         * Documentation/user/changing-defaults.itely (Horizontal spacing):
3159         document spacing override hack.
3161 2004-05-27  Jan Nieuwenhuizen  <janneke@gnu.org>
3163         * scm/output-gnome.scm: Add C-q, C-w keybindings.  Update
3164         installation info.  Support point-and-click.  Add +/- zoom
3165         keybindings.
3167 2004-05-26  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3169         * VERSION: 2.3.2 released
3171         * lily/parser.yy (book_body): set default bookpaper.
3173         * scm/output-tex.scm (header): kludge: hard code linewidth. 
3175         * lily/my-lily-parser.cc (My_lily_parser): don't delete lexer.
3177 2004-05-25  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3179         * lily/score.cc (default_rendering): scale outputdef before
3180         starting.
3182 2004-05-25  Jan Nieuwenhuizen  <janneke@gnu.org>
3184         * scm/fret-diagrams.scm: Add header.
3186         * scm/output-gnome.scm: Hello world :-)
3188 2004-05-25  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3190         * scripts/lilypond.py (run_dvips): only add papersize if present.
3192         * lily/accidental-engraver.cc (update_local_key_signature): new
3193         function, fold code from initialize() and process_music().
3194         (update_local_key_signature): use deep copy. This fixes one
3195         problem from custom-key-signatures.ly.
3196         (number_accidentals_from_sig): tighter check for
3197         accidental-too-old.
3199         * ly/engraver-init.ly: remove localKeySignature
3200         definition from ChoirStaff, StaffGroup, Score.
3202         * lily/percent-repeat-engraver.cc (try_music): add moments for
3203         barlines too. Fixes: skipbars-percent-repeat.ly.
3205 2004-05-24  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3207         * lily/context-def.cc (filter_performers): don't go to cdrloc if
3208         skipping last pair. Fixes: crash-bar-number.
3210         * scm/fret-diagrams.scm (nil): fret-diagrams (courtesy Carl
3211         D. Sorensen)
3213         * input/test/fret-diagram.ly: new file.
3215         * scm/paper.scm (paper-set-staff-size): scale linewidth too.
3216         (scale-paper): divide by scale.
3218 2004-05-19  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3220         * lily/rest-collision.cc (do_shift): also do nothing for the (0,2)
3221         case.
3223 2004-05-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3225         * scm/stencil.scm (fontify-text): reinstate function
3227         * tex/lily-ps-defs.tex: remove lilypondblotdiam def.
3229         * lily/book-paper-def.cc (Book_paper_def): add copy ctor.
3231         * lily/parser.yy (book_paper_head): \bookpaper {} 
3233         * python/midi.c: remove config.h
3235 2004-05-18  Jan Nieuwenhuizen  <janneke@gnu.org>
3237         * scm/output-gnome.scm: Update.
3239 2004-05-17  Jan Nieuwenhuizen  <janneke@gnu.org>
3241         * scm/output-gnome.scm: New file.
3243         * lily/include/book-paper-def.hh: Add.  Janitorial fixes.
3245 2004-05-17  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3247         * lily/book-paper-def.cc (ly_bookpaper_fonts): move from Paperdef
3248         (find_scaled_font): move from Paper_def
3250 2004-05-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3252         * lily/my-lily-parser.cc (LY_DEFINE): new function ly_parser_lookup
3253         (LY_DEFINE): add SCM_ASSERT_TYPE everywhere.
3255         * po/fr.po: update po.
3257         * lily/include/book-paper-def.hh (class Book_paper_def): new file.
3259         * lily/book-paper-def.cc (print_smob): new file.
3261 2004-05-16  Heikki Junes <hjunes@cc.hut.fi>
3263         * buildscripts/lilypond-words.py: search words also from
3264         music-functions-init.ly.
3266 2004-05-15  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3268         * ly/music-functions-init.ly (def-music-function): new helper
3269         macro for defining music functions. \addlyrics \appoggiatura
3270         \acciaccatura \grace \partcombine \autochange \applycontext
3271         \applyoutput and \breathe are now defined here thanks to it.
3273         * lily/parser.yy: 
3274         * lily/my-lily-lexer.cc: \addlyrics \appoggiatura \acciaccatura
3275         \grace \partcombine \autochange \applycontext \applyoutput and
3276         \breathe keywords removed from the parser.
3278         * lily/parser.yy: 
3279         * lily/music-function.cc (ly_make_music_function): 
3280         * lily/lexer.ll (music_function_type): added a case for 0-arg
3281         music functions.
3283 2004-05-14  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3285         * scm/ly-from-scheme.scm (read-lily-expression):  A variable
3286         refering to a music expression can be used in lily-inside-scheme:
3287         #{ $music #}
3289         * lily/my-lily-parser.cc (LY_DEFINE): introduce ly:clone-parser
3290         and ly:parser-define, and change ly:parser-parse-string in order
3291         to make #{ $music #} work.
3293         * scm/new-markup.scm (compile-markup-expression): when an argument
3294         is a string, use `make-simple-markup'.
3296 2004-05-14  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3298         * lily/parser.yy (My_lily_lexer): bugfix; op should be tag.  
3300 2004-05-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3302         * scripts/convert-ly.py (FatalConversionError.func): handle + in
3303         font-size. (backportme)
3305 2004-05-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3307         * lily/paper-outputter.cc (output_stencil): dump font definitions
3308         before each stencil.
3310         * lily/include/paper-book.hh (struct Score_lines): new
3311         struct. Collect info per Paper-score.
3313         * lily/include/page.hh (class Page): to_stencil() returns Stencil
3314         everywhere.
3316         * lily/stencil.cc (find_expression_fonts): new function
3318         * lily/paper-outputter.cc (output_stencil): use
3319         interpret_stencil_expr
3321         * lily/stencil.cc (LY_DEFINE): ly_stencil_fonts: new function.
3322         (interpret_stencil_expr): new function. Generic stencil
3323         interpretation.
3325         * lily/paper-def.cc (find_scaled_font): divide lookup
3326         magnification by outpuscale for non-virtual fontmetrics. This
3327         fixes ludicrously long font definitions for text
3328         fonts. (backportme)
3330         * lily/score-engraver.cc: remove
3331         {Engraver,Score_engraver}::typeset_grob(), remove all calls.
3333 2004-05-09  Jan Nieuwenhuizen  <janneke@gnu.org>
3335         * input/test/markup-score.ly: Remove \notes.
3337         * lily/parser.yy (book_body): Grok Composite_music and \header.
3338         (markup): Push NOTES mode before score_block.
3340         * VERSION: release 2.3.1
3342         * mf/feta-klef.mf: 
3343         * mf/feta-bolletjes.mf: Oops.  Comment-out canvast test code.
3345         * Documentation/user/programming-interface.itely: Use @emph (was: @em).
3347         * Documentation/user/out/tutorial.texi: Untrigger lilypond-book error.
3349 2004-05-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3351         * scm/output-tex.scm (output-tex-string): tighten safe security.
3353         * lily/scm-option.cc (LY_DEFINE): add 'safe to ly:get-option
3355         * scm/safe-lily.scm (make-safe-lilypond-module): new file. Define
3356         allowed ly functions.
3358         * lily/ly-module.cc (ly_module_define): only define variable if
3359         bound.
3360         (ly_make_anonymous_module): take safe option.
3362 2004-05-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3364         * scripts/lilypond-book.py (compose_ly): remove FRAGMENT_LY.
3366 2004-05-08  Jan Nieuwenhuizen  <janneke@gnu.org>
3368         * input/regression/newaddlyrics.ly: Fix.
3370         * Documentation/user/tutorial.itely: Use \newlyrics, remove most
3371         \score \notes.
3373 2004-05-08  Heikki Junes <hjunes@cc.hut.fi>
3375         * Documentation/user/music-glossary.tely ([k-z]): last fixes.
3377 2004-05-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3379         * input/mutopia/R.Schumann/romanze-op28-2.ly (d): use #(define .. )
3381         * lily/paper-line.cc (Paper_line): don't store list of stencils,
3382         but convert to single Stencil immediately.
3384         * lily/paper-book.cc (title): don't return Stencil* but Stencil.
3386 2004-05-07  Jan Nieuwenhuizen  <janneke@gnu.org>
3388         * scm/output-sodipodi.scm: Resurrect sodipodi output.
3390 2004-05-07  Kristof Bastiaensen  <kristof.bastiaensen@vleeuwen.org>
3392         * elisp/lilypond-mode.el: Changed the way defaults are created for
3393         LilyPond-command-master.  LilyPond-mode will now check the
3394         timestamps of the files to see which command has to run next.
3396 2004-05-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3398         * scm/bass-figure.scm (format-bass-figure): don't set
3399         number-markup for strings. This fixes string in bass
3400         figure. (backportme)
3402         * lily/parser.yy (bass_number): insert number-markup into figure
3403         definition.
3405         * scm/define-music-properties.scm (all-music-properties): make
3406         'figure a markup.
3408         * scripts/convert-ly.py (conv): \apply -> \applymusic
3410 2004-05-06  Kristof Bastiaensen  <kristof.bastiaensen@vleeuwen.org>
3412         * elisp/lilypond-mode.el: changed the order of some commands
3413         ("Midi" after "2Midi"), use the user-defined
3414         LilyPond-command-default as default instead of "LilyPond"
3416         * elisp/lilypond-mode.el: added a LilyPond-master-file variable,
3417         to set the master file for the next command.
3419         * elisp/lilypond-font-lock.el: replaced font-lock-warning-face
3420         with font-lock-reference-face.
3422 2004-05-07  Heikki Junes <hjunes@cc.hut.fi>
3424         * Documentation/user/music-glossary.tely ([ab]*): small fixes.
3426         * Documentation/user/music-glossary.tely ([c-l]*): more fixes.
3428 2004-05-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3430         * ly/music-functions-init.ly (TODO): new file.
3432         * lily/parser.yy (Generic_prefix_music_scm): add more
3433         music_function symbols.
3434         (Prefix_composite_music): change \apply to music-function   
3436         * lily/include/music-function.hh: rename to music-function
3438 2004-05-05  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3440         * lily/music-head.cc (LY_DEFINE): change order of args.
3442         * input/regression/music-head.ly (texidoc): new file.
3444         * lily/parser.yy (Generic_prefix_music): allow generic
3445         music-transformation functions. 
3447         * lily/include/music-head.hh (is_music_head): new file.
3449         * lily/music-head.cc (get_music_head_transform): new file.
3451 2004-05-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3453         * lily/ottava-bracket.cc (print): use coordinate, not (0,0) for
3454         empty extent. This fixes ottava brackets on rests. (backportme)
3456         * make/lilypond.redhat.spec.in (Group): ln png files for info.
3458         * lily/piano-pedal-engraver.cc (create_text_grobs): core dump fix.
3460         * cygwin/lily-wins.py: update for the lily-wins.py script.
3462 2004-05-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3464         * lily/score-engraver.cc (typeset_all): switch off unbound spanner
3465         code. This will obviate typeset_grob () in the future.  The effect
3466         of this is that improperly written spanner handling will result in
3467         invalid spanner bounds.
3468         (announce_grob): add to elems_ from here
3469         (typeset_grob): comment out.  
3471         * lily/include/engraver.hh (make_spanner): new calling interface
3472         for make_{item,spanner}. This obviates most calls to
3473         announce_grob().
3475         * scm/music-functions.scm (set-accidental-style): use GrandStaff
3476         iso. PianoStaff for piano styles.
3478 2004-05-03  Heikki Junes <hjunes@cc.hut.fi>
3480         * Documentation/user/music-glossary.tely: add segno after d.s.
3482 2004-05-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3484         * lily/include/audio-column.hh: remove unused variables.
3485         (patch by Michael Welsh Duggan)
3487         * flower/include/axes.hh (other_axis): inline Axes function
3488         (thanks to David Brandon).
3490 2004-05-02  Jan Nieuwenhuizen  <janneke@gnu.org>
3492         * cygwin/mknetrel: Install image links (backportme).
3494         * Documentation/user/GNUmakefile (local-install-info): Activate
3495         actual installing of image links (backportme).
3497 2004-04-30  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3499         * Documentation/user/notation.itely (Measure repeats): Removed
3500         unnecessary (and confusing) \context Voice{.
3502 2004-04-29  Jan Nieuwenhuizen  <janneke@gnu.org>
3504         * Documentation/topdocs/NEWS.texi: Mention use of \score as markup.
3506         * lily/page.cc (Page): Do not use ly_scheme_function for
3507         volatile/configurable variables (FIXME: better name).
3509         * lily/music-output-def.cc (c_lookup_variable): Rename (WAS:
3510         get_scmvar).
3512 2004-04-29  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3514         * scripts/convert-ly.py (FatalConversionError.subst): use
3515         \transposition.
3517 2004-04-29  Jan Nieuwenhuizen  <janneke@gnu.org>
3519         * lily/include/page.hh (class Page): Declare left_margin ().
3521         * lily/page.cc: Remove paper var caching.
3523 2004-04-28  Jan Nieuwenhuizen  <janneke@gnu.org>
3525         * Documentation/user/music-glossary.tely: Add name to @top node.
3526         Remove comment from @table definitions (workaround for makinfo
3527         bug).
3529         * lily/stencil-scheme.cc (ly:stencil-expr): Rename (was:
3530         ly:stencil-get-expr).  Update callers.
3531         (ly:stencil-align-to!):  Return stencil too.
3533         * lily/paper-outputter.cc (output_page): Bugfix.  Use page
3534         stencil.  Remove looped line-based page output.
3535         (output_line): Use line stencil.  Remove looped stencil-based line
3536         output.
3538         * lily/page.cc (ly:page-paper-lines): New function.
3540         * input/test/markup-score.ly: New file.
3542         * scm/define-markup-commands.scm (stencil): New markup.
3544         * lily/book.cc (to_stencil): New method.
3546         * lily/parser.yy (markup): Use it to grok \score.
3548 2004-04-27  Jan Nieuwenhuizen  <janneke@gnu.org>
3550         * lily/stencil.cc (expr): Rename (was: get_expr).  Update callers.
3552         * lily/paper-book.cc (pages): Change signature.  Update callers.
3554         * lily/include/page.hh:
3555         * lily/page.cc: New file.
3557         * lily/paper-line.cc (to_stencil): New method.
3559         * lily/paper-outputter.cc (output_stencil): New method.
3561         * lily/paper-outputter.cc (output_line): Use them.
3563         * lily/warn.cc: Remove.
3565         * lily/my-lily-parser.cc (distill_inname): Remove.
3567         * flower/include/file-name.hh: 
3568         * flower/file-name.cc: New file.  Update users.
3570         * flower/file-path.cc [CYGWIN]: Junk testing code.  Remove Path.
3571         (find): New method of same name.
3573         * lily/my-lily-parser.cc (ly:parse-file): Use it.
3575         * lily/scm-option.cc (ly:set-option, ly:get-option): Bugfix:
3576         constant error message.
3578 2004-04-27  Heikki Junes <hjunes@cc.hut.fi>
3580         * input/test/{blank-notes.ly,staff-container.ly}: typos.
3582 2004-04-26  Jan Nieuwenhuizen  <janneke@gnu.org>
3584         * Documentation/user/music-glossary.tely: @table @strong' replaced
3585         by `@table @samp @c @strong'.  This fixes invalid makeinfo output
3586         (backportme).
3588 2004-04-25  Nicolas Sceaux  <nicolas.sceaux@free.fr>
3590         * scm/lily.scm (ly:load): Add ly-from-scheme.scm loading.
3592         * scm/ly-from-scheme.scm: New file. Introduce a new syntax:
3593         #{ lily music expression #} that returns an equivalent scheme
3594         music expression by parsing the string.
3596 2004-04-25  Jan Nieuwenhuizen  <janneke@gnu.org>
3598         * lily/my-lily-parser.cc:
3599         * lily/my-lily-lexer.cc: Another step towards parsing ly code from
3600         SCM string (foo.ly/toto.scm support).
3602 2004-04-24  Jan Nieuwenhuizen  <janneke@gnu.org>
3604         * lily/my-lily-parser.cc (ly:parser-parse-string): New function.
3606 2004-04-21  Jan Nieuwenhuizen  <janneke@gnu.org>
3608         * input/regression/newaddlyrics.ly: Remove lilypond-book kludge.
3610         * scripts/lilypond-book.py: LY code that includes \header is
3611         not assumed to be a fragment.
3613 2004-04-20  Jan Nieuwenhuizen  <janneke@gnu.org>
3615         * lily/stem-tremolo.cc (print): If stem direction == CENTER, move
3616         tremolo beams up.
3618         * lily/stem.cc (chord_start_y): Return 0 if no heads.
3619         (get_default_stem_end_position): No tremolo head juggling if no
3620         heads.  Fixes tremolo crash on rests (backportme).
3622         * scripts/abc2ly.py: Oops use [\]proper[ty] 2.2 syntax.
3624 2004-04-19  Jan Nieuwenhuizen  <janneke@gnu.org>
3626         * scripts/abc2ly.py: ABC beams preserve support (courtesy Guy
3627         Gascoigne-Piggford).  Also: TAB and whitespace fixes.
3629         * lily/lexer.ll: Allow \encoding in NOTES mode.
3631         * buildscripts/mf-to-table.py (write_fontlist): Use \lyrics
3632         for lyrics, not for commands.
3634         * lily/parser.yy (scalar): Bugfix: accept LYRICS_STRING.
3635         FIXME: Replace some `Music's with Grouped_music_list; fixes make web.
3637         * input/regression/newaddlyrics.ly: New file.
3639         * Documentation/topdocs/NEWS.texi: Update.
3641         * lily/parser.yy (new_lyrics): Return SCM list of lyric musics.
3642         (Music_list): Allow embedded scm.
3644         * lily/score.cc (ly:score-bookify): New function.
3646         * lily/music.cc (ly:music-scorify): Idem.
3648         * lily/my-lily-parser.cc (ly:parser-print-book): Idem.
3649         (ly:parser-print-score): Idem.
3651         * scm/lily.scm (default-toplevel-book-handler): Idem.
3652         (default-toplevel-music-handler): Idem.
3653         (default-toplevel-score-handler): Idem.
3655         * ly/declarations-init.ly: Set default toplevel handlers.
3657         * lily/parser.yy (book_block, score_block, toplevel_music): Use them.
3659         * scripts/lilypond-book.py (PREAMBLE_LY): Select classic score
3660         printer for score at toplevel.
3662 2004-04-18  Jan Nieuwenhuizen  <janneke@gnu.org>
3664         * lily/parser.yy (NEWLYRICS): Switch to LYRICS mode for lyrics.
3665         Fix for simple case: input/simple-song.ly, more complex stuff
3666         does not work yet.
3668 2004-04-18  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3670         * lily/parser.yy (Prefix_composite_music): split Composite_music
3671         in Prefix_composite_music and Grouped_music_list.
3672         (re_rhythmed_music): use Grouped_music_list for NEWLYRICS.
3674 2004-04-18  Jan Nieuwenhuizen  <janneke@gnu.org>
3676         * scm/lily.scm (toplevel-expression): New define.
3678         * lily/my-lily-parser.cc (ly:parser-add-book-and-score): New function.
3680         * lily/parser.yy (toplevel_expression): Use it.
3682         * lily/include/my-lily-parser.hh: Smobbify.
3684         * lily/my-lily-parser.cc (parse_string): New method.
3686         * lily/my-lily-parser.cc (ly:parse-string): New function.
3688         * Documentation/user/lilypond.tely: Add comment and workaround for
3689         gs-8.01 crash.  Fixes make web.
3691         Simplification of toplevel music.
3693         * lily/lexer.ll, lily/parser.yy:
3695         * In LYRICS mode, return LYRICS_STRING.  This fixes one
3696         shift/reduce problem.
3698         * Use NOTES mode at start of maininput.
3700         * Grok toplevel composite music expression, put in score and book.
3702         * Grok \relative COMPOSITE_MUSIC, make relative on middleC.
3704         * \newlyrics is a shortcut for \context Lyrics \lyricsto "" \lyrics
3706         * input/simple.ly: New file.
3708         * input/simple-song.ly: Idem.
3710 2004-04-16  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3712         * lily/parser.yy: rename NEWADDLYRICS to LYRICSTO. Thanks to Erik
3713         Sandberg.
3715 2004-04-17  Jan Nieuwenhuizen  <janneke@gnu.org>
3717         * scm/font.scm (add-cmr-fonts): Narrow bold is ecrb.
3719 2004-04-17  Heikki Junes <hjunes@cc.hut.fi>
3721         * input/regression/accidental-octave.ly: doc automatic showing
3722         of note names.
3724 2004-04-16  Heikki Junes <janneke@gnu.org>
3726         * po/fi.po: do "make po && make -C po po-update" at top-level,
3727         then "cp po/out/fi.po po/fi.po" and update fields.
3729         * po/fi.po: remove all designations of `fuzzy'; shows those elements.
3731 2004-04-15  Jan Nieuwenhuizen  <janneke@gnu.org>
3733         * Documentation/user/introduction.itely (About this manual): Fix
3734         templates and regression urls (backportme).
3736 2004-04-14  Mats Bengtsson  <mabe@drongo.s3.kth.se>
3738         * ly/engraver-init.ly (Score:graceSettings): Increase
3739         beamed-lengths, especially for 32nd notes.
3741         * Documentation/user/notation.itely (Grace notes): Correct the
3742         syntax for add-grace-property example.
3744 2004-04-13  Jan Nieuwenhuizen  <janneke@gnu.org>
3746         * flower/parse-afm.cc [METATYPE1_BUG]: Grok Metatype1's global
3747         `Generated' tag.
3749         * scm/font.scm (add-cmr-fonts): Use super-cm/lmodern fonts.  NOT.
3750         Severely broken (the Debian package, at least).
3752 2004-04-13  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3754         * lily/context.cc (find_create_context): assign to lvalue.
3756 2004-04-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3758         * lily/include/translator.hh (class Translator): rename
3759         get_parent_context() to context () to avoid confusion.
3761         * lily/include/lily-guile.hh: is_x -> ly_c_X_p naming.
3763         * lily/lexer.ll: change is_string -> ly_c_string_p 
3765         * input/mutopia/J.S.Bach/wtk1-fugue2.ly (bassdux): use \book.
3767         * input/mutopia/W.A.Mozart/mozart-hrn-3.ly: use \book.
3769 2004-04-12  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3771         * VERSION: release 2.3.0
3773         * mf/feta-nummer-code.mf: use ascii names for number glyphs.
3775         * buildscripts/mf-to-table.py (parse_logfile): only prepend group-
3776         if nonempty.
3778         * lily/include/context.hh (class Context): make members protected.
3779         (children_contexts): new accessor function.
3781         * lily/include/translator.hh (class Translator): make
3782         daddy_context_ protected.
3783         (class Translator): clean up. 
3785         * lily/include/context.hh (class Context): make daddy_context_
3786         private.
3788         * lily/lyric-engraver.cc (get_voice_to_lyrics): recursively go
3789         higher for finding Voice. (backportme)  
3791         * lily/include/context.hh (class Context): remove
3792         find_context_below() as a method.
3794         * Documentation/user/notation.itely (The Lyrics context): add note
3795         about manual durations
3797         * ly/chord-modifiers-init.ly (blackTriangleMarkup): use TeX-math
3798         encoding.
3800         * scm/output-tex.scm (text): dump \inputencoding{} for text.
3802 2004-04-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3804         * scripts/lilypond.py (global_latex_preamble): remove latin1 from
3805         \usepackage{inputenc}
3807         * lily/paper-book.cc (classic_output): don't advance Offset for
3808         TeX output.
3810         * make/mutopia-rules.make ($(outdir)-$(PAPERSIZE)/%.dvi): include
3811         ec-sauter.map in rules
3813         * mf/ecb.mf (font_identifier): new file, based on ecbx
3815         * mf/ecb10.mf (gensize): new file.
3817         * Documentation/topdocs/NEWS.texi (Top): document some more new
3818         features.
3820         * ly/declarations-init.ly: run convert-ly
3822         * lily/my-lily-parser.cc (LY_DEFINE): move parse-file function
3823         from input-file-results. Remove input-file-results.* 
3825 2004-04-11  Jan Nieuwenhuizen  <janneke@gnu.org>
3827         * scm/output-ps.scm (font-command): Fix, again.
3829         * input/test/title-markup.ly: Add \noPagebreak test.
3831         * lily/score-engraver.cc (try_music): Bugfix.
3833 2004-04-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3835         * lily/main.cc (main_with_guile): excise dependency options -M and
3836         --dep-prefix
3838         * lily/input-file-results.cc: excise Makefile dependency code
3840         * Documentation/user/invoking.itexi (Invoking the lilypond
3841         binary): remove dep doco
3843         * lily/main.cc (main_with_guile): call lilypond-main
3845         * scm/lily.scm (lilypond-main): new function: handle multiple files.
3847         * lily/input-file-results.cc (LY_DEFINE): throw ly-file-failed
3848         exception.
3850         * lily/my-lily-parser.cc: remove paper_description function
3852         * lily/music-output-def.cc (LY_DEFINE): ly:output-description
3853         new function.
3855         * lily/main.cc: remove global_score_count.
3857         * lily/book.cc (process): don't take header from global_input_file.
3859         * buildscripts/lilypond-profile.sh (Error): set GS_FONTPATH
3861         * lily/parser.yy (My_lily_lexer): remove current_parser global var.
3863         * lily/music-output-def.cc (LY_DEFINE): new function
3864         ly_output_description. This function does the bulk for  setting,
3865         parsing and breaking down of an input file.
3867         * lily/ly-module.cc (ly_make_anonymous_module): don't protect
3868         anonymous modules globally. Let's hope they get GCd
3870         * scripts/lilypond.py (run_dvips): add sauter-mftrace.map 
3872 2004-04-11  Jan Nieuwenhuizen  <janneke@gnu.org>
3874         * scm/output-ps.scm (header): Papersize from paper.
3876         * scripts/lilypond.py (global_latex_preamble): Oldish behaviour
3877         for classic output.
3879         * tex/lilyponddefs.tex (interscoreline): Oldish behaviour if
3880         lilypondclassic is defined.
3881         (lilypondstart): Oldish behaviour if lilypondclassic is defined.
3883         * input/regression/between-systems.ly: Remove.
3885         * python/lilylib.py (get_bbox): Fix regular expression
3886         for bounding box.
3888         * tex/lilyponddefs.tex (lilypondpagebreak): New overridable macro.
3890         * scm/output-tex.scm (stop-page): Use it.
3892         * scm/output-ps.scm (define-fonts): Bugfix.
3894         * lily/grob.cc: Add penalty to interface.
3896         * lily/include/paper-line.hh (class Paper_line): New member
3897         var penalty_.
3899         * lily/system.cc (get_line): Initialise Paper_line with
3900         page-penalty's from original grobs.
3902         * scm/define-music-properties.scm (all-music-properties): Add
3903         page-penalty.
3905         * scm/define-grob-properties.scm (all-grob-descriptions): Idem.
3907         * lily/score-engraver.cc (try_music): Handle page-penalty.
3909         * ly/declarations-init.ly (pagebreak, noPagebreak): New command.
3911 2004-04-11  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3913         * ly/declarations-init.ly (melismaEnd): typo
3915         * scm/font.scm (add-cmr-fonts): caps is eccc, ecsc is slanted caps.
3917         * scm/output-ps.scm (text): split string into spaces, use moveto
3918         for setting space. 
3920 2004-04-10  Jan Nieuwenhuizen  <janneke@gnu.org>
3922         * po/nl.po: Update.
3924         * scm/font.scm (add-cmr-fonts): Typo.
3926 2004-04-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
3928         * scm/font.scm (add-cmr-fonts): add sauter fonts under latin1
3929         font-encoding.
3931         * scm/define-grobs.scm (all-grob-descriptions): idem.
3933         * lily/time-signature.cc (numbered_time_signature): idem.
3935         * scm/font.scm (add-cmr-fonts): use real encoding names for
3936         font-encoding.
3938 2004-04-10  Jan Nieuwenhuizen  <janneke@gnu.org>
3940         * lily/paper-book.cc (classic_output): 
3941         * tex/lilyponddefs.tex (lybox): Add height, and proper raising.
3942         Fixes classic output.
3943         (lilypondstart):
3944         * scripts/lilypond.py (global_latex_preamble): Remove topmargin
3945         kludge.
3947         * scripts/old-lilypond-book.py: Remove.
3949         Page layout for SCOREs enclosed in a BOOK:
3951         * scripts/lilypond.py: Remove LaTeX titling kludge.  Remove page
3952         layout tweaking.
3954         * input/les-nereides.ly (theScore): Add \book.
3956         * input/test/title-markup.ly: Add \book.
3958         * scm/page-layout.scm (ly:optimal-page-breaks): Debugging output
3959         only if 'verbose.
3961         * lily/include/paper-book.hh (PAGE_LAYOUT): Remove.
3963         * lily/paper-outputter.cc (output_line): Remove PAGE_LAYOUT check.
3965         * tex/lilyponddefs.tex (lilypondstart, lybox, lyitem):
3966         * scm/output-tex.scm (start-system): Update for page layout by
3967         LilyPond.
3969         * scm/output-ps.scm (start-system): Previously (new-start-system).
3971         * lily/paper-outputter.cc (output_header): Uniquify list of fonts
3972         passed to define-fonts.
3974         * lily/paper-column.cc: 
3975         * lily/system.cc (get_line):
3976         * ly/property-init.ly (newpage): 
3977         * scm/define-grob-properties.scm:
3978         * scm/output-ps.scm: 
3979         * scm/output-tex.scm: Remove between-system-string kludge.
3981         * scm/output-ps.scm (define-fonts, font-command,
3982         font-load-encoding): Handle ENCODING = #f.
3984         * scm/output-tex.scm (output-scopes): Check if variable is bound.
3986         * scm/define-markup-commands.scm (fill-line): Use
3987         make-simple-markup (WAS: unexisting make-word-markup).
3989         * lily/text-item.cc (interpret_markup): Bugfix, transpose
3990         ENCODING, MARKUP parameters for interpret_string.
3992         * lily/input-file-results.cc (do_one_file): Remove Paper_book hack.
3994         * lily/score.cc (book_rendering): New method.
3995         (default_rendering): Create Paper_book helper locally, dump
3996         output.
3998         * lily/my-lily-lexer.cc (the_key_tab): Add book.
4000         * lily/parser.yy: Handle \book.
4002         * lily/include/book.hh: 
4003         * lily/book.cc: New file.
4005 2004-04-10  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4007         * lily/text-item.cc (interpret_string): new file, select font with
4008         encoding.
4010         * lily/include/lily-guile.hh: ly_XXX_p -> is_XXX. Changes throughout.
4012         * scm/define-markup-commands.scm (encoded-simple): new markup command.
4014         * lily/parser.yy (markup): take encoding from lexer.
4016 2004-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>
4018         * lily/kpath.cc (kpathsea_find_tfm): Do not trigger TFM generation.
4020         * scm/output-ps.scm: Remove some cruft.
4022 2004-04-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4024         * lily/kpath.cc (kpathsea_find_tfm): don't make unfound TFMs/AFMs.
4026         * Documentation/user/lilypond.tely (Top): manual for v2.3 (backportme)
4028 2004-04-09  Jan Nieuwenhuizen  <janneke@gnu.org>
4030         * scm/font.scm (add-century-schoolbook-fonts):
4031         (make-century-schoolbook-tree): New function.
4033         * input/test/title-markup.ly: Use Century Schoolbook font.
4035 2004-04-09  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4037         * scripts/convert-ly.py: limited old-style markup convert. (Thanks
4038         to Erik Sandberg) 
4040         * lily/font-metric.cc (LY_DEFINE): new function, return fontName.
4042         * scm/output-ps.scm (define-fonts): remove hack for feta/parmesan.
4044         * lily/font-metric.cc (LY_DEFINE): change to ly:font-filename
4046         * scm/encoding.scm (coding-alist): add AdobeStandardEncoding
4048 2004-04-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4050         * scm/part-combiner.scm (determine-split-list): bugfix: if no
4051         solo-state (at end of solo), we can set the solo status
4052         too. (backportme.)
4054         * input/regression/part-combine-solo-end.ly: new file.
4056 2004-04-08  Jan Nieuwenhuizen  <janneke@gnu.org>
4058         * scripts/abc2ly.py (parse_file): Strip \r from lines.  Fixes DOS
4059         flavour abc files.  Really ignore unknown keys (backportme).
4061 2004-04-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4063         * lily/scaled-font-metric.cc (text_dimension): only multiply with
4064         magnification_ when looking up in orig_.
4066         * scm/output-tex.scm (text): switch off char-mapping.
4068         * lily/tfm.cc (coding_scheme): replace ' ' in encoding with '-',
4069         because AFM's encoding field cannot have spaces.
4071 2004-04-08  Jan Nieuwenhuizen  <janneke@gnu.org>
4073         * scm/output-ps.scm (define-fonts): More re/encoding tweaking.
4075 2004-04-08  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4077         * lily/paper-def.cc (find_scaled_font): change to inputencoding.
4079         * mf/cmr.enc: new file, without hi-bit ascii info. 
4081         * lily/bezier-bow.cc (slur_shape): make indent dependent on
4082         width. This removes the 'hook' at the end of a long slur.
4084         * buildscripts/mf-to-table.py (parse_logfile): don't append
4085         encoding to fontname.
4087 2004-04-07  Jan Nieuwenhuizen  <janneke@gnu.org>
4089         * scm/output-ps.scm (define-fonts): Load .enc only once.
4091         * mf/GNUmakefile (INSTALLATION_OUT_SUFFIXES): Install .enc files
4092         too.
4094 2004-04-07  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4096         * buildscripts/mf-to-table.py (parse_logfile): remove spaces from
4097         encoding field.
4099         * lily/stencil-scheme.cc: remove ly:fontify-atom 
4101         * ly/portuges.ly (pitchnames): new file.
4103         * lily/include/lily-guile.hh: many new ly_ functions.  Thanks to
4104         Michael Welsh Duggan
4106         * lily/*.cc: deprecate gh_ interface. Thanks to Michael Welsh Duggan
4108         * ly/nederlands.ly: add comment about digits.
4110         * lily/scaled-font-metric.cc (derived_mark): idem.
4112         * scm/encoding.scm (make-encoding-mapping): change permutation to
4113         mapping.
4115         * lily/scaled-font-metric.cc (derived_mark): is a const method.
4116         (Modified_font_metric): make alist for coding_description_
4117         (LY_DEFINE): remove coding-name.
4119         * scm/output-tex.scm (text): remove debugging code.
4121         * lily/scaled-font-metric.cc (ly_font_encoding): return vector
4123         * buildscripts/mf-to-table.py (parse_logfile): read EncodingScheme
4124         from infile.
4126         * mf/feta-generic.mf: move fet_beginfont into generic code.
4127         use fetaMusic (without space) as encoding
4129         * mf/feta-autometric.mf: take encoding argument
4131         * lily/afm.cc (read_afm_file): bugfix, read global info too. 
4133         * lily/my-lily-lexer.cc (set_identifier): remove gh_scm2newstr
4134         use.
4136         * scm/encoding.scm (read-encoding-file): use symbol for glyph
4137         name.
4139 2004-04-07  Jan Nieuwenhuizen  <janneke@gnu.org>
4141         * input/test/title-markup.ly: Set inputencoding.
4143         * scm/output-ps.scm (define-fonts): Handle font re-encoding.
4145         * lily/scaled-font-metric.cc (ly:font-coding-name): New function.
4147         * scm/encoding.scm (get-coding-filename, get-coding-command): New
4148         function.
4149         (coding-alist): Also hold filename, command.
4150         (read-encoding-file): Return symbols.
4152 2004-04-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4154         * scm/output-tex.scm: remove fontify; text and char take a font
4155         argument.
4157         * lily/tfm.cc (name_to_index): new function, use encoding_table_.
4159         * lily/scaled-font-metric.cc (text_dimension): init
4160         coding_{permutation,table}_ too 
4161         (LY_DEFINE): ly:font-encoding, new function return
4163         * lily/paper-def.cc (find_scaled_font): take input coding from
4164         inputcoding paper var.
4166         * lily/performance.cc (output): remap modulo 16.
4168         * lily/text-item.cc (interpret_markup): whoops, variable
4169         shadowing fixed.
4171 2004-04-06  Michael Welsh Duggan  <mwd@sei.cmu.edu>
4173         * lily/piano-pedal-performer.cc (try_music): Compare symbols to
4174         symbols, not symbols to strings.
4176         * lily/piano-pedal-engraver.cc (try_music): Compare symbols to
4177         symbols, not symbols to strings.
4179 2004-04-06  Jan Nieuwenhuizen  <janneke@gnu.org>
4181         * lily/kpath.cc (kpathsea_gulp_file_to_string): 
4182         (ly:kpathsea-gulp-file): New function.
4184         * scm/encoding.scm (read-encoding-file): Use it.
4186 2004-04-06  Werner Lemberg  <wl@gnu.org>
4188         * scm/encoding.scm (coding-alist): Fix typo.
4190 2004-04-06  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4192         * lily/scaled-font-metric.cc (text_dimension): move function from
4193         Font_metric
4194         (make_scaled_font_metric): init coding_scheme_ to TeX
4195         (text_dimension): use get-coding-vector for non TeX coding_scheme_
4197         * lily/include/scaled-font-metric.hh (struct
4198         Modified_font_metric): rename from Scaled_font_metric
4200         * scm/encoding.scm (read-encoding-file): split up large function,
4201         leave caching to (delay)
4203         * lily/lily-guile.cc (LY_DEFINE): typecheck argument.
4205 2004-04-05  Jan Nieuwenhuizen  <janneke@gnu.org>
4207         * lily/my-lily-lexer.cc (set_encoding): New method.
4209         * lily/lexer.ll: Grok \encoding.
4211         * lily/font-metric.cc (get_encoded_index): New function.
4213         * lily/include/font-metric.hh (coding_scheme): New method.
4215         * scm/encoding.scm: New file.
4217         * mf/feta-beugel.mf: Better error message (WAS: `foobar').
4219 2004-04-05  Werner Lemberg  <wl@gnu.org>
4221         * Documentation/user/tutorial.itely: Revised (finished).
4223         * Documentation/user/macros.itexi (@separate): Removed.
4225 2004-04-05  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4227         * scm/output-ps.scm (define-fonts): fix scaling.
4229         * lily/scaled-font-metric.cc (design_size): add function.
4231         * lily/font-metric.cc (LY_DEFINE): opps ly:font-design-size is only
4232         partial cut&paste of ly:font-magnification.
4234 2004-04-05  Jan Nieuwenhuizen  <janneke@gnu.org>
4236         * scm/output-ps.scm (define-fonts):
4237         (fontify): Update.
4239 2004-04-04  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4241         * po/fr.po: update. (backportme).
4243         * po/nl.po: update. (backportme). 
4245         * mf/feta-beugel.mf: document why design size is not fixed.
4247         * mf/feta-braces-a.mf: rename to stress that it's not design size.
4249 2004-04-04  Werner Lemberg  <wl@gnu.org>
4251         * Documentation/user/tutorial.itely: Revised (continued).
4253 2004-04-03  Jan Nieuwenhuizen  <janneke@gnu.org>
4255         * po/nl.po: Update (backportme).
4257 2004-04-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4259         * po/de.po: update. (backportme).
4261         * scm/output-tex.scm (font-command): use ly: functions to
4262         construct name.
4263         (define-fonts): don't use alist, just dump \font definitions.
4264         (font-load-command): calculate proper scaling by taking
4265         outputscale from paper argument.
4267         * lily/stencil-scheme.cc (fontify_atom): insert Font_metric into
4268         expression.
4270         * lily/paper-outputter.cc (output_header): pass paper arg to
4271         define-fonts
4273         * lily/paper-def.cc (font_descriptions): dump list of
4274         Scaled_font_metrics
4275         (find_scaled_font): take Font_metric argument, store
4276         Scaled_font_metrics in hash-table containing (size ->
4277         Scaled_font_metrics) alist.
4278         (get_dimension): rename from get_realvar
4280         * lily/font-metric.cc (LY_DEFINE): ly:font-design-size,
4281         ly:font-magnification, ly:font-name: new functions
4283 2004-04-03  Werner Lemberg  <wl@gnu.org>
4285         * Documentation/user/dedication.itely,
4286         Documentation/user/preface.itely,
4287         Documentation/user/introduction.itely,
4288         Documentation/user/tutorial.itely: Revised.
4289         Removing leading spaces which distorts output if info files are read
4290         with stand-alone info.
4291         Removing superfluous inter-word spaces which also distorts output
4292         for stand-alone info.
4293         Using ` and ' instead of `` and '' everywhere to improve
4294         legilibility with stand-alone info
4295         Using @samp for single-letter input items and data which contains
4296         spaces, @code for other things.
4298         * lily/grob-interface.cc: Adding copyright.
4299         (check_interfaces_for_property): Improve format of warning message.
4301 2004-04-03  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4303         * lily/include/font-metric.hh (struct Font_metric): add
4304         design_size () method.
4306         * buildscripts/mf-to-table.py (base): add DesignSize comment.
4308         * lily/afm.cc (read_afm_file): read design size.
4310         * input/regression/repeat-unfold-tremolo.ly: add dotted case.
4312         * scm/music-functions.scm (unfold-repeats): handle dots too.
4314 2004-04-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4316         * mf/GNUmakefile ($(outdir)/$(redhat-package)): fix URL.
4317         (backportme)
4319 2004-04-02  Jan Nieuwenhuizen  <janneke@gnu.org>
4321         * input/wilhelmus.ly: Use raggedright.  Hack `Een prin -- ce'
4322         lyric indent.  Revert melismaBusyProperties using \unset.
4324 2004-04-02  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4326         * input/regression/bar-check-redefine.ly (pipeSymbol): new file.
4328         * lily/parser.yy (command_element): allow redefinition of |
4329         meaning.
4331         * lily/break-align-engraver.cc (acknowledge_grob): construct
4332         LeftEdge where the first cause for alignment is coming from.
4333         This makes \override Staff.LeftEdge work as expected.
4335         * lily/slur-performer.cc (Slur_performer): add inits
4337         * lily/beam-performer.cc (Beam_performer): add inits
4339 2004-04-01  Han-Wen Nienhuys   <hanwen@xs4all.nl>
4341         * VERSION (PACKAGE_NAME): release 2.2.0