1 2002-05-19 Han-Wen <hanwen@cs.uu.nl>
3 * lily/*.cc: use LY_DEFINE everywhere. Move doc strings from
4 Documentation/user/internals.itely.
6 * lily/function-documentation.cc: new file. Infrastructure for
7 self documenting Scheme functions.
9 2002-05-18 Han-Wen <hanwen@cs.uu.nl>
11 * lily/stem.cc (calc_stem_info): bugfix for less ugly knees.
13 2002-05-17 Han-Wen <hanwen@cs.uu.nl>
15 * scripts/lilypond-book.py (re_dict): fix regexps; don't combine ?
16 and * (as in "([^>]*)?")
18 2002-05-17 Jan Nieuwenhuizen <janneke@gnu.org>
20 * Documentation/topdocs/INSTALL.texi: Update GCC, Flex and GUILE info.
21 Add info about CVS. Stable/development are currently 1.4/1.5,
24 * autogen.sh: Generate.
27 * configure: Regenerate.
29 * stepmake/stepmake/automatically-generated.sub.make: Keep
32 * stepmake/stepmake/toplevel-targets.make (autogen.sh): Add rule.
34 * stepmake/stepmake/generic-targets.make (configure): Generate
37 * GNUmakefile.in (SCRIPTS):
38 * stepmake/GNUmakefile.in (SCRIPTS): Add autogen.sh
40 * stepmake/autogen.sh: New file.
42 * configure: Check for g++ >= 2.95.
44 * stepmake/aclocal.m4: Fixes for FlexLexer.h, Python headers. GNU
45 c/c++ version checking.
47 * flower/include/string.hh: Typo fix.
49 * lily/include/midi-item.hh: Remove stray i.
51 * Documentation/windows/GNUmakefile: Avoid collapsed directory
54 * stepmake/bin/install-dot-exe.sh: Filter collapsed directory
55 constructs '//' from arguments.
57 2002-05-17 Han-Wen <hanwen@cs.uu.nl>
59 * scm/lily.scm (ly-load): show SCM filenames if verbose.
61 * lily/lily-guile.cc (init_functions): add ly-verbose function.
63 * lily/main.cc (setup_paths): remove LILYINCLUDE support.
65 * flower/include/{pointer,tuple}*: removed.
67 * VERSION: released 1.5.56
69 * scm/music-functions.scm (check-start-chords): function to check
70 for chords without \context. Apply automatically from parser.
72 2002-05-16 Han-Wen <hanwen@cs.uu.nl>
74 * lily/bar-line.cc: remove index entries. Texinfo can't handle :
77 * scm/output-lib.scm: fix ez notation stems.
79 * lily/paper-outputter.cc: various fixes to speed up compilation.
81 2002-05-16 Mats Bengtsson <mats.bengtsson@s3.kth.se>
83 * scripts/lilypond-book.py: Don't import pre for Python >= 2.2
85 2002-05-16 Jan Nieuwenhuizen <janneke@gnu.org>
87 * scripts/lilypond-book.py (determine_format): Bugfix: correctly
88 determine latex input.
90 * stepmake/bin/install-sh: Include latest from libtool.
93 * configure: Regenerate.
95 * config.make.in: Remove dead variables. Add OPTIONAL/REQUIRED lists.
96 (USER_CFLAGS): Bugfix, include CPPFLAGS.
98 * configure.in: Use new OPTIONAL/REQUIRED mechanism.
100 * stepmake/aclocal.m4: Add mechanism for checking OPTIONAL or
101 REQUIRED programs and version. Try to continue configuring, list
102 missing programs at the end, but don't generate a GNUmakefile if
103 REQUIRED programs are missing. Cleanups, junk obsolete stuff.
104 Fix Cygwin detection, drop '32' suffix. Hoping this is not too
105 fancy for some older systems.
107 2002-05-16 Han-Wen <hanwen@cs.uu.nl>
109 * lily/score-engraver.cc (typeset_all): sanity check for items
110 that are Y parent to spanner.
112 * lily/piano-pedal-engraver.cc (create_bracket_grobs): fix broken
115 2002-05-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
117 * lily/*.cc: remove as many iostream use as possible.
119 * flower/ : remove text-db, text-stream, data-file.
121 2002-05-15 Han-Wen <hanwen@cs.uu.nl>
123 * scripts/lilypond-book.py: add --no-music option: strip all blocks.
124 (completize_preamble): don't barf if no preamble present.
125 (do_file): allow extensions on --output
127 * scripts/ly2dvi.py (make_preview): make automatic preview of
128 first system. Small cleanups.
130 2002-05-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
132 * scripts/lilypond-book.py (make_pixmap): output png directly.
134 * mf/GNUmakefile (INSTALLATION_OUT_FILES4): create and install
137 * lily/parser.yy (My_lily_parser): comment out code. (Causes
138 problems with recent bison releases).
140 * make/lilypond.redhat.spec.in: add pfa fonts to X.
142 2002-05-07 Heikki Junes <hjunes@cc.hut.fi>
144 * lilypond-font-lock.el: Fixes the order of the note name list.
146 2002-05-06 Jan Nieuwenhuizen <janneke@gnu.org>
148 * scripts/lilypond-book.py: Add html/dtml output, pseudo-filter
149 capability, --verbose option, rlimit hack.
151 2002-05-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
153 * lily/piano-pedal-engraver.cc: cleanups.
155 * lily/accidental.cc (after_line_breaking): add break tie
158 * lily/text-engraver.cc (try_music): don't typeset fingerings
160 2002-05-05 Heikki Junes <hjunes@cc.hut.fi>
162 * lilypond-font-lock.el: Handle \breve as a note (rest) duration.
164 2002-05-04 Han-Wen <hanwen@cs.uu.nl>
166 * lily/*.cc: change gh_str02scm() to ly_str02scm().
168 * lily/spacing-spanner.cc (note_spacing): Bound
169 shortest-playing-length by the distance to next note. This should
170 fix chord tremolo spacing.
172 * VERSION: 1.5.55 released
174 * lily/stem.cc (off_callback): invisible stem over whole note is
175 centered on note now.
177 * lily/stem-engraver.cc (acknowledge_grob): X_AXIS Parent of
178 stem-tremolo is stem now.
180 * input/mozart-hrn*.ly: many corrections.
182 * lily/dynamic-engraver.cc (acknowledge_grob): add Scripts to
183 support for dynamic scripts.
185 * lily/accidental-placement.cc (position_accidentals): check for
186 collisions as well: should avoid those heads too.
188 * lily/beam.cc (check_concave): allow undefined gap and
189 threshold. Change the meaning of threshold/gap == 0.0.
190 (check_concave): skip Stolba concaveness check if we have a knee
193 2002-05-03 Mats Bengtsson <mats.bengtsson@s3.kth.se>
195 * lily/chord-tremolo-engraver.cc (try_music): Handle chord
196 tremolos of dotted duration.
198 2002-05-03 Han-Wen <hanwen@cs.uu.nl>
200 * mf/feta-klef.mf: more twiddling with G clef. Almost straight
201 downstroke again. Sigh.
203 * lily/dynamic-engraver.cc (acknowledge_grob): center dynamic
206 2002-05-02 Han-Wen <hanwen@cs.uu.nl>
208 * lily/slur.cc (add_column): allow slur over rest.
210 2002-04-27 Han-Wen <hanwen@cs.uu.nl>
212 * lily/beam.cc: move scoring constants out of code
214 2002-04-25 Han-Wen <hanwen@cs.uu.nl>
216 * mf/feta-nummer.mf: scalability fixes.
218 * mf/feta-nummer-code.mf: fixes for 5, 8.
220 * mf/feta-klef.mf: G clef fixes.
222 2002-04-25 Jan Nieuwenhuizen <janneke@gnu.org>
224 * scripts/ly2dvi.py: Mats' fix. Try to import pre if available.
226 * scripts/lilypond-book.py: %Newline, rather than glue macros
227 after \end{verbatim}.
229 2002-04-24 Jan Nieuwenhuizen <janneke@gnu.org>
231 * Documentation/user/lilypond-book.itely:
232 * scripts/lilypond-book.py: Add options [no]indent, linewidth and
235 * input/mozart-hrn3-defs.ly (startGraceContext): Customize grace init.
237 * scm/grob-property-description.scm (beam-space): Junk.
239 * lily/beam.cc (space_function): New method.
240 (get_interbeam): Call space-function.
242 * scm/grob-description.scm (Beam): Initialize space-function with
243 Beam::space_function.
245 * ly/grace-init.ly (startGraceMusic, stopGraceMusic): Set/revert
246 Beam.space-function. Don't quantise grace beams.
248 2002-04-23 Han-Wen Nienhuys <hanwen@cs.uu.nl>
250 * VERSION: 1.5.54 released
252 * mf/feta-nummer-code.mf (code): tweaks for three, fixes for 6
255 * Documentation/index.texi: add PDF links.
257 * Documentation/user/GNUmakefile (PDF_FILES): add PDF files to website.
259 * lily/system-start-delimiter-engraver.cc (acknowledge_grob):
260 compare #'glyph as strings.
262 * scripts/lilypond-book.py: fix by Mats. Try to import pre if available.
264 * scripts/ly2dvi.py (setup_environment): fix by Mats.
266 * lily/stem.cc (head_count): Change function name. Change property
267 to #'note-heads i.s.o. #'heads.
268 (position_noteheads): Kern noteheads for invisible stems.
269 (before_line_breaking): Do position_noteheads() for whole note
272 * lily/accidental-placement.cc (position_accidentals): First
273 determine refpoints, only then determine extents.
275 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
277 * lily/accidental-placement.cc (position_accidentals): use all
278 note heads for note head-skyline.
280 * scripts/lilypond-book.py (re_dict): remove all *? regexps.
282 2002-04-22 Jan Nieuwenhuizen <janneke@gnu.org>
284 * Documentation/windows/setup.hint (requires): Add gsview dependency.
286 * scripts/lilypond-book.py (re_dict): Fix for python 2.x.
288 * lilypond-mode.el (LilyPond-xdvi-command): Default to plain xdvi.
290 * input/mozart-hrn3-allegro.ly: Bugfix: include defs.
292 2002-04-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
294 * mf/feta-schrift.mf: lighter staccato.
296 2002-04-22 Han-Wen <hanwen@cs.uu.nl>
298 * mf/feta-nummer-code.mf (code): fixes for 3 glyph.
300 2002-04-21 Han-Wen <hanwen@cs.uu.nl>
302 * VERSION: 1.5.53 released
304 * scm/lily.scm (ly-load): use primitive-load for loading.
306 * lily/misc.cc: remove quantise_iv()
308 * lily/*.cc: pass read-only arrays by reference.
310 * lily/grob.cc (common_refpoint_of_array): new function. Try to
311 use common_refpoint_of_{array, list} when possible.
313 * lily/include/accidental-placement.hh: new file.
315 * lily/accidental-placement.cc (alignment_callback): position
316 accidentals in a better way.
318 * lily/skyline.cc: new file. Compute distances for collections of
321 * lily/include/skyline.hh: new file
323 2002-04-20 Han-Wen <hanwen@cs.uu.nl>
325 * lily/accidental.cc (class Accidental_interface): grob for a
328 * lily/accidental-engraver.cc (number_accidentals): Cleanups. Lots
331 * lily/new-accidental-engraver.cc (acknowledge_grob): Work
332 together with new accidental-interface.
334 * lily/include/*.hh: remove spurious set_interface() decls.
336 * lily/key-signature-interface.cc (brew_molecule): add padding for
337 natural signs. Make natural typesetting like the sharp.
340 * mf/feta-klef.mf: rewrote portion of the G-clef code. Downstroke
341 is now slightly curved, not straight.
344 2002-04-18 Heikki Junes <hjunes@cc.hut.fi>
346 * lilypond-mode.el: Toggles font-lock-multiline (Emacs 21.1 or newer).
348 * lilypond-font-lock.el: Handles multiline-strings. Fontifies notes
349 more strictly. Use more clever regular expressions. Commented regexps.
351 2002-04-16 Heikki Junes <hjunes@cc.hut.fi>
353 * lilypond-mode.el: "C-c f" does font-lock-fontify-buffer.
355 2002-04-15 Juergen Reuter <reuter@ipd.uka.de>
357 * scm/grob-description.scm, lily/staff-symbol.cc: added properties
358 to control width of staff symbol in ragged-right mode (by request
361 * ly/engraver-init.ly, lily/include/my-lily-parser.hh,
362 lily/include/ligature-bracket.hh, lily/lexer.ll, lily/parser.yy,
363 lily/ligature-bracket.cc, lily/ligature-bracket-engraver.cc:
364 added support for ligature brackets (needed when transcribing
367 2002-04-15 Heikki Junes <hjunes@cc.hut.fi>
369 * lilypond-font-lock.el: Handle scheme-slurs up to seventh level.
370 Fontify notes more strictly.
372 2002-04-15 Han-Wen <hanwen@cs.uu.nl>
374 * mf/feta-din-code.mf: dynamic z sign.
376 2002-04-13 Heikki Junes <hjunes@cc.hut.fi>
378 * lilypond-mode.el: Prevent recoloring strings and comments.
380 * lilypond-font-lock.el: Handle block comments: block comments
381 can have also ordinary comments inside.
383 2002-04-13 Han-Wen <hanwen@cs.uu.nl>
385 * lily/stem.cc (get_default_dir): set direction to CENTER if
386 invisible. Various other fixes to deal with invisible stems and
387 stem-direction == CENTER.
389 * lily/rest-collision.cc (do_shift): take direction from note if
392 * input/regression/tie-grace.ly: new file.
394 * lily/tie-engraver.cc (create_grobs): fix tied graces.
396 * lily/note-spacing.cc (stem_dir_correction): set fixed space for
397 knee correction. Fixes tight spacing for knees.
399 2002-04-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
401 * VERSION: 1.5.52 released
403 * lily/*.cc: add some undocced properties.
404 scm/grob-description.scm: idem.
406 2002-04-12 Heikki Junes <hjunes@cc.hut.fi>
408 * lilypond-font-lock.el: Handle slurs \( and \), numbers,
409 multi-measure rests like "R1 *4" and scheme (typically has '#'
410 in the beginning). Small fixes. Add few reserved words.
412 2002-04-12 Jan Nieuwenhuizen <janneke@gnu.org>
414 * Documentation/topdocs/INSTALL.texi: Updates for MacOS X and
417 * Documentation/windows/installing.texi: Suggest gswin32c (console
418 program) for getting the version. Layout fixes.
420 2002-04-11 Jan Nieuwenhuizen <janneke@gnu.org>
422 * Documentation/user/tutorial.itely (Running LilyPond): Separate
423 windows viewing commands, remove silly comment about Yap.
425 2002-04-10 Mats Bengtsson <matsb@s3.kth.se>
427 * Documentation/topdocs/INSTALL.texi: Describe how to learn
428 configure to find kpathsea on for example Slackware 8.0.
430 * scripts/ly2dvi.py (non_path_environment): Set $TEXMF correctly.
432 * scm/grob-description.scm (MultiMeasureRest): number-threshold=1
433 by default: avoid "1" over single bar rests.
435 * scripts/lilypond-book.py (LatexPaper.set_geo_option): Simplify
436 and correct the handling of geometry options.
438 2002-04-10 Han-Wen Nienhuys <hanwen@cs.uu.nl>
440 * lily/include/grob-interface.hh (ADD_INTERFACE): make
441 implementation for Class::has_interface automatically. Junk all
442 other implementations.
444 * lily/grob.cc (internal_get_grob_property): also typecheck
445 property reads. Catches even more undocced properties. Bugfixing
446 left for the uninspired masses.
448 * lily/beam.cc: remove end_after_line_breaking().
450 * lily/grob.cc (calculate_dependencies): remove list support for
453 * lily/font-size-engraver.cc: only do font-interface.
455 2002-04-10 Heikki Junes <hjunes@cc.hut.fi>
457 * lilypond-font-lock.el: Handle notes with cautionary accidentals.
460 2002-04-09 Chris Jackson <chris@fluffhouse.org.uk>
462 * lily/arpeggio.cc: New function brew_chord_bracket to draw chord
463 brackets using arpeggio requests.
465 * ly/property-init.ly: Shorthand \arpeggioBracket defined as the
466 molecule-callback to use for drawing the brackets.
468 * Documentation/user/refman.itely:
469 * input/test/chord-bracket.ly: Chord brackets documented
471 2002-04-10 Han-Wen <hanwen@cs.uu.nl>
473 * mf/feta-din-code.mf: tweaks for p, s. New dynamic r sign.
475 * mf/feta-eindelijk.mf: tweak for eighth rest: move bulb up.
477 2002-04-09 Han-Wen Nienhuys <hanwen@cs.uu.nl>
479 * lily/tuplet-bracket.cc (after_line_breaking): bugfix for forced
480 direction tuplets on beams.
482 2002-04-08 Chris Jackson <chris@fluffhouse.org.uk>
484 * lilypond-indent.el: Bugfix of indentation of final point in buffer
486 2002-04-09 Heikki Junes <hjunes@cc.hut.fi>
488 * lilypond-mode.el: new command: LilyPond-un-comment-region.
489 Added 2Midi to "Command"-menu. Inspired by latex.el and tex.el:
490 separate "Command"-menu and "LilyPond"-menu. Added "Miscellanous"-
491 submenu to "LilyPond"-menu.
493 * lilypond-mode.el: Added "Midi all" to "Command"-menu, i.e.,
494 an interface to play midi.
496 2002-04-08 Han-Wen Nienhuys <hanwen@cs.uu.nl>
498 * input/regression/script-stack-order.ly: new file.
500 2002-04-08 Han-Wen <hanwen@cs.uu.nl>
502 * VERSION (MY_PATCH_LEVEL): Release 1.5.51.
504 * mf/feta-din-code.mf: kerning for dynamics.
506 2002-04-07 Han-Wen <hanwen@cs.uu.nl>
508 * input/regression/dynamics-glyphs.ly: new file
510 * mf/feta-din-code.mf: dynamic tweaks. New dynamic s.
512 * mf/feta-nummer-code.mf: another bulb routine: mimic the bulb of
513 forte f for the 2 number. Some fixes for the other bulbed glyphs.
515 * Documentation/windows/gs-profile.sh:
516 * Documentation/windows/gsview-profile.sh: Remove. Functionality
517 moved to gs/gsview windows packages.
519 2002-04-06 Mats Bengtsson <matsb@s3.kth.se>
521 * lily/stem-engraver.cc (acknowledge_grob): Revert to old way of
522 finding out the duration. Fixes chord tremolo bug.
524 * lily/completion-note-heads-engraver.cc (process_music): Set
525 correct duration for all requests of the broken notes.
527 * input/regression/completion-heads.ly: Added example of
528 Completion_heads_engraver.
530 * lilypond-mode.el: Added "2Midi" command
532 2002-04-06 Chris Jackson <chris@fluffhouse.org.uk>
534 * lily/tuplet-bracket.cc, scm/grob-description.scm: New
535 edge-width, edge-height and shorten-pair properties for tuplet
538 * lilypond-indent.el: Support for blinking of matching parentheses
540 * lilypond-font-lock.el: Fix fontification of closing > on its own line
542 * lily/piano-pedal-engraver.cc, lily/text-spanner.cc: Fixes and
543 cleanups of piano pedal brackets.
545 2002-04-05 Han-Wen <hanwen@cs.uu.nl>
547 * mf/cmbase.mf: remove file. -- do without s, r and z signs for now.
549 2002-04-04 Han-Wen <hanwen@cs.uu.nl>
551 * mf/feta-new-code.mf: new dynamic f sign.
554 2002-04-03 Han-Wen <hanwen@cs.uu.nl>
556 * mf/feta-new-code.mf: new dynamic p sign.
558 2002-04-02 Han-Wen Nienhuys <hanwen@cs.uu.nl>
560 * lily/note-spacing.cc (stem_dir_correction): only do
561 beam-correction if a beam is there.
563 * lily/stem.cc (duration_log): change from flag_i (); better
565 (get_default_stem_end_position): fix dot/flag collision code.
567 2002-04-02 Han-Wen <hanwen@cs.uu.nl>
569 * VERSION: release 1.5.50
571 * lily/spaceable-grob.cc (add_spring): change incorrect spring to
572 unit spring here. Reduces number of warning messages.
574 * lily/auto-beam-engraver.cc: change noAutoBeaming to autoBeaming.
576 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
578 * scm/generic-property.scm: remove generic-property, property-engraver
580 * lily/volta-bracket.cc (brew_molecule): use Lookup::line() for bracket
582 * lily/hairpin.cc (brew_molecule): use Lookup::line() for hairpins.
584 * ps/music-drawing-routines.ps: remove volta, tuplet, hairpin routines.
586 * scm/*.scm: remove volta, hairpin and tuplet functions.
588 * lily/rhythmic-column-engraver.cc (acknowledge_grob): don't make
589 note column for notes/stems/dots that already have parents. Fixes
590 nested grace contexts.
592 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
594 * input/mozart-hrn-3.ly: Tweak Slur.beautiful, so that we don't
595 get too curved slurs.
597 * scm/slur.scm (default-slur-extremity-offset-alist)
598 (default-phrasing-slur-extremity-offset-alist): Move slur
599 attachments further away from note-head, vertically. Also, leave
600 a horizontal gap between slur and stem end.
602 * lily/beam.cc (get_interbeam): Bugfix: don't look in empty list.
604 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
606 * input/regression/spacing-grace-duration.ly: new file
608 * lily/spacing-engraver.cc (acknowledge_grob): ignore grace notes
609 for shortest durations.
611 * lily/multi-measure-rest.cc (set_spacing_rods): tune rods to the
612 extent of the mm rest.
614 * lily/spacing-spanner.cc (get_duration_space): better spacing for
617 * lily/tuplet-bracket.cc (make_bracket): new function
618 (get_x_offset): new function; make tuplet brackets align on stems
619 if stem has same direction.
620 (parallel_beam): be anal about matching bracket to tuplet.
622 * lily/lookup.cc (line): new function Lookup::line().
624 * scm/tex.scm (dashed-line): change -line to -system in names.
626 * lily/box.cc (add_point): new function.
628 * flower/include/interval.hh: new function add_point ().
631 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
633 * input/mozart-hrn-3.ly: Mimic Breitkopf fonts and padding.
635 * scm/grob-property-description.scm (number-threshold): Add
638 * lily/multi-measure-rest.cc (brew_molecule): Only put number over
639 rest if #measures > number-threshold. Use padding (well, fake
642 * scm/font.scm (make-style-sheet): New styles: mark-number,
644 (paper20-style-sheet-alist): Add bigger bold fonts.
646 * lily/mark-engraver.cc (process_music): Use style mark-number or
649 * .cvsignore: Ignore all kinds of lilypond input and output.
651 * lily/beam.cc (ADD_INTERFACE): Add concaveness-gap.
653 2002-04-01 Han-Wen <hanwen@cs.uu.nl>
655 * lily/staff-symbol.cc (brew_molecule): make line thickness
658 * lily/*.cc: replace stafflinethickness by linethickness.
660 2002-04-01 Jan Nieuwenhuizen <janneke@gnu.org>
662 * input/regression/beam-concave.ly: Add to-be-considered-concave
665 * lily/beam.cc (check_concave): Add check for large gap between an
666 inner notehead and the line through outer noteheads.
668 * scm/grob-description.scm (Beam): Add concaveness-gap, default
669 value 2.0 staff-space.
671 * scm/grob-property-description.scm (concaveness-gap): Add
674 * input/mozart-hrn3-allegro.ly: Fix typo.
676 2002-03-31 Juergen Reuter <reuter@ipd.uka.de>
678 * scm/ps.scm, ps/music-drawing-routines.ps, lily/lookup.cc,
679 lily/note-head-engraver: improved implementation of roundfilledbox
680 (according to Han-Wen's request)
682 * lily/include/spacing-spanner.hh, lily/spacing-spanner.cc,
683 lily/gourlay-breaking.cc, lily/staff-symbol.cc,
684 lily/simple-spacer.cc: ragged-right alignment
686 2002-03-29 Han-Wen <hanwen@cs.uu.nl>
688 * input/regression/spacing-note-flags.ly: new file
690 * input/regression/spacing-rest.ly: new file
692 * mf/feta-eindelijk.mf: make bbox of quarter rest tighter.
694 * lily/spacing-spanner.cc (note_spacing): make note spacing after
695 all grace notes tight (not only the column directly following a
698 * scm/grob-description.scm (all-grob-descriptions): don't make
699 mm-rests larger than normal.
701 * mf/feta-banier.mf: make upflag narrower. Make end of flag more
702 curved. Remove white space at the right of flags.
704 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
706 * ports/ports.make: Bugfix: ignore CVS directories.
708 * stepmake/.cvsignore: New file.
710 2002-03-28 Han-Wen <hanwen@cs.uu.nl>
712 * lily/note-spacing.cc (stem_dir_correction): don't correct when
713 there is a flag on the stem.
715 * lily/multi-measure-rest.cc (brew_molecule): variable width molecule.
717 * scm/grob-property-description.scm (measure-length):
718 measure-length grob property.
720 * lily/spacing-spanner.cc (standard_breakable_column_spacing):
721 better spacing for breakable columns when they're juxtaposed: use
722 measure length if applicable
724 * lily/timing-engraver.cc (start_translation_timestep): store
725 measure length in breakable column at start of measure.
727 2002-03-28 Jan Nieuwenhuizen <janneke@gnu.org>
729 * ROADMAP: Add description for ports dir, to check email upon
732 2002-03-27 Han-Wen <hanwen@cs.uu.nl>
734 * VERSION: 1.5.48 released
736 * lily/multi-measure-rest.cc (symbol_molecule): split off from
738 (set_spacing_rods): Use symbol_molecule() to determine minimum
740 (church_rest): split off from brew_molecule()
741 (big_rest): split off from brew_molecule(). Construct using
744 * mf/feta-eindelijk.mf: junk multi measure rest.
746 2002-03-26 Han-Wen <hanwen@cs.uu.nl>
748 * lily/multi-measure-rest.cc (add_column): remove columns property.
750 * lily/dynamic-engraver.cc (process_music): add more verbose warning
752 * input/mozart-hrn3-romanze.ly (romanze): add mozart horn concerto
755 2002-03-26 Heikki Junes <hjunes@cc.hut.fi>
757 * lilypond-font-lock.el (LilyPond-font-lock-keywords): most new
758 keywords covered, dropped some non-keywords, include R- and 128-notes
760 2002-03-25 Juergen Reuter <reuter@ipd.uka.de>
762 * Code clean-up: Junk multiple implementations of ledger line
763 creation in note_head, custos, and porrectus. This is important
764 since there soon will be some more applications of ledger lines to
765 come (e.g. ambitus engraver).
767 * Make thickness of ledger lines adjustable. This is essential
768 for mensural notation.
770 * Fix some bugs in the current ledger_line implementation, most
771 notably that of the horizontal extent of ledger lines which equals
772 at least the extent of the metafont ledger_line character, and
773 which grows(!) if the desired extent shrinks below this limit.
775 * roundfilledbox: variable blotdiameter
777 2002-03-24 Han-Wen <hanwen@cs.uu.nl>
779 * VERSION: 1.5.47 released
781 * lily/line-spanner.cc (line_atom): change line-thickness to thickness
783 * lily/porrectus.cc: change line-thickness to thickness, change
784 stem-direction to direction.
786 * scm/backend-documentation-lib.scm (check-dangling-properties):
787 Automatically detect doc'ed properties that are not in an interface
789 * scm/grob-property-description.scm: property cleanup. Remove many
790 paper-column props that are non-existent.
792 * lily/grob.cc (Grob): only use molecule_extent_proc as default if
793 the grob has a molecule-callback.
795 * lily/*.cc: remove many set_interface() calls, and their
798 * input/regression/spacing-knee.ly: new file
800 * input/regression/spacing-clef-first-note.ly: new file
802 * lily/staff-spacing.cc (get_spacing_params): different spacing
803 for pref matter to note at start of line, halfway during line.
805 * lily/note-spacing.cc (stem_dir_correction): apply 2nd stem direction
806 correction only if stems have same direction (i.e. not for
807 stem-clef combination).
808 (stem_dir_correction): maximal correction for knees.
810 * lily/*.cc: many updates to interface descriptions.
812 * lily/grob.cc (internal_set_grob_property): add interface check
813 for every set_grob_property call
815 * lily/*.cc: document interface stuff in C++
817 * lily/grob-interface.cc: new file. Add grob interfaces from C++.
819 * lily/volta-bracket.cc: naming: change volta spanner to
822 * input/bugs/*.ly: cleanup, remove lots of files.
824 * buildscripts/mf-to-table.py (write_ps_encoding): generate
825 .encoding file. WARNING: upgrade to pktrace 1.0.3
827 * mf/feta-toevallig.mf: change PS name for parentheses.
829 2002-03-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
831 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Use the correct unit
834 2002-03-23 Han-Wen <hanwen@cs.uu.nl>
836 * lily/scope.cc: remove file .
838 * lily/include/scope.hh: remove file. Remove Scope class
842 * lily/beam.cc (score_slopes_dy, score_stem_lengths,
843 score_forbidden_quants): ): take out of SCM, pass parameters so
844 grob props are read only once. (wtk1-fugue2 from 31 sec to 14
846 (calc_stem_y): robustness: take care of last_visible_stem == 0.
849 * lily/lily-guile.cc (ly_unit): return internal unit.
851 * scm/tex.scm (header-end): insert scaling factor, using ly-unit
853 * lily/paper-outputter.cc (output_version): output internal unit
856 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
858 2002-03-22 Mats Bengtsson <mats.bengtsson@s3.kth.se>
860 * scripts/ly2dvi.py: clean up old .*pk font caching code.
862 * scm/ps.scm: Use uppercase postscript font names for the standard
865 * scripts/ly2dvi.py, buildscripts/lilypond-{login,profile}.sh, :
866 Add all available TeX Type1 fonts, including Feta, to the
867 Ghostscript font path.
869 * Documentation/topdocs/INSTALL.texi (Top): Add required pktrace
870 version (affects the FontName) in lilypond.map.
872 * mf/GNUmakefile, Documentation/user/appendices.itely: Rename font
873 documentation file to fetaNNlist.ly to avoid name collisions between
874 lilypond generated .tex file and font .tex macros file.
877 2002-03-22 Juergen Reuter <reuter@ipd.uka.de>
879 * mf/feta-eindelijk.mf, mf/parmesan-rests.mf: added maxima rests;
880 made mensural longa and (semi-)brevis leaner
882 * mf/parmesan-clefs.mf, scm/clef.scm: enhanced petrucci c clef
884 * lily/{{lookup,porrectus}.cc,include/{lookup,porrectus}.hh}: code
885 clean-up: moved bezier shape and slope from porrectus to lookup
887 * buildscripts/clean-fonts.sh: added search paths /var/cache/fonts
888 and /usr/share/texmf/fonts
890 * scripts/ly2dvi.py: Read unit from paper vars (43.jcn3).
892 2002-03-22 Han-Wen <hanwen@cs.uu.nl>
894 * lily/text-spanner.cc (brew_molecule): add #'thickness
895 (brew_molecule): add corrections for thickness in molecule padding.
897 * lily/line-spanner.cc (line_atom): make function private
899 * scripts/lilypond-book.py (get_bbox): Use GS -sDEVICE=bbox to
900 discover bounding box. This solves the cropping problem.
902 * lily/bar-check-iterator.cc (process): Only resynchronize bar
903 check when it fails. This fixes the combination of grace notes
906 2002-03-21 Han-Wen <hanwen@cs.uu.nl>
908 * lily/repeated-music.cc (minimum_start): new Scheme callable function
909 (first_start): new Scheme callable. This will fix repeated music
910 starting with grace notes.
912 * lily/music.cc (start_mom): check start-moment-function grob property.
914 * VERSION: 1.5.45 released
916 * input/regression/system-extents.ly: new regression test. Test
919 * lily/system.cc: rename LineOfScore into System
921 * lily/molecule.cc (ly_add_molecule): new Scheme ly-add-molecule.
923 * lily/grob.cc (ly_get_parent): new Scheme function ly-get-parent.
924 (ly_get_extent): new Scheme function ly-get-extent
926 * ps/lilyponddefs.ps: use output-scale for line-x
929 * scm/ps.scm (font-load-command):
932 2002-03-20 Rune Zedeler <rune@zedeler.dk>
934 * lily/beaming-info.cc: Stupid typo fixed
936 * lily/accidental-engraver.cc: rewrote accidental-routines to get
937 support for cross-context auto-accidentals.
938 Now the engraver can stay in Staff-context and see other contexts
940 Changed properties: autoAccidentals, autoCautionaries
942 * lily/translator-group.cc (set_children_property):
943 Function added recursively setting the same property (deep_copied)
944 for all children of a Translator_group.
946 * ly/property-init.ly: added commands
947 \pianoAccidentals \voiceAccidentals
948 \modernVoiceAccidentals \modernVoiceCautionaries
950 * ly/engraver-init.ly: Correct initialization of new accidentals.
952 * scm/translator-property-description.scm: Updated
954 * input/regression/accidental-voice.ly: Added
956 * Documentation/regression-test.tely: Added new test
958 2002-03-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
960 * VERSION: 1.5.44 released
962 * lily/slur.cc (set_extremities): robustness fixes for #'attachment.
964 * scripts/lilypond-book.py (bounding_box_dimensions): bugfix.
966 * ly/params-init.ly (blotdiameter): use unit for blotdiameter, set
969 * tex/feta*.tex: remove.
971 * stepmake/aclocal.m4: remove stepmake symlink. It confuses almost
972 all software dealing with it.
974 2002-03-20 Jan Nieuwenhuizen <janneke@gnu.org>
976 * mf/GNUmakefile (lilypond.map): Don't prepend TeX to font name
977 (this fixes pdf output). Drop awk dependency.
979 * scripts/ly2dvi.py (ly_paper_to_latexpaper): Assume LilyPond's
980 dimensions (linewidth) are in mm.
982 * mf/GNUmakefile (depth): Always allow manual access to pfa target.
984 * tex/lily-ps-defs.tex: scaletounit using PT/IN==72.
986 * lily/slur.cc (get_attachment): Bugfix: correct for stem thickness.
988 2002-03-19 Han-Wen <hanwen@cs.uu.nl>
990 * VERSION: 1.5.43 released
992 * scm/beam.scm (beam-dir-majority-median): if majority is
993 undecided, use median. Removes a forced dir in sarabande.
995 * mf/feta-schrift.mf: Trill fixes, Vee fixes (upbow, ltoe, rtoe)
997 2002-03-18 Chris Jackson <chris@fluffhouse.org.uk>
999 * lily/text-spanner.cc, lily/piano-pedal-engraver.cc: Cleanups. Edge
1000 widths, heights and shortens are now customisable properties.
1002 * scm/grob-description.scm, scm/grob-property-description.scm: New
1003 properties added to PianoPedalBracket, unnecessary
1004 Y-offset-callbacks removed from *Pedal, undocumented properties
1007 * Documentation/user/refman.itely: Piano pedal updates.
1009 2002-03-18 Jan Nieuwenhuizen <janneke@gnu.org>
1011 * scm/grob-property-description.scm:
1012 * scm/interface-description.scm: Remove old stuff.
1014 * scm/grob-description.scm (StemTremolo): Change beam-thickness to
1015 0.48 (previously 0.42).
1016 (Beam): Remove old stuff.
1019 * lily/stem-tremolo.cc:
1021 * scm/beam.scm: Remove old stuff. Use Beam::get_interbeam ()
1022 (previously space-function).
1024 * stepmake/bin/add-html-footer.py: Website title fix.
1026 2002-03-18 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1028 * scripts/ly2dvi.py (environment): use new font searching setup.
1030 * lily/afm.cc (afm_bbox_to_box): make code dimension independent
1032 * lily/tfm.cc (dimensions): make code dimension independent
1034 * ps/lilyponddefs.ps: add constant for MM and true/ps-point
1037 * tex/lily-ps-defs.tex: scaling for PS points and MM.
1039 * lily/include/dimensions.hh: try MM as internal unit.
1041 * scm/*.scm: remove invoke-dim1
1043 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
1045 * GNUmakefile.in (fontpaths): add fontpaths target,
1047 * make/mutopia-targets.make: add PDF rules.
1049 * make/mutopia-rules.make: add pdf rule.
1051 * buildscripts/mutopia-index.py (list_item): add PDF.
1053 * buildscripts/lilypond-profile.sh (TEXMF): typo.
1055 * make/lilypond-vars.make: set TEXMF for the new font setup.
1057 2002-03-17 Han-Wen <hanwen@cs.uu.nl>
1059 * VERSION: 1.5.42 released
1061 * mf/feta-schrift.mf: endless twiddling of Tr.
1063 * mf/feta-eindelijk.mf: 8th rest: make darker, top of brush lower, and
1064 endless twiddling with the bulb shape.
1066 * lily/note-head.cc (internal_brew_molecule): make ledger lines a
1067 little smaller if there is an accidental.
1069 2002-03-15 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1071 * buildscripts/lilypond-profile.sh:
1073 * mf/GNUmakefile (INSTALLATION_OUT_DIR*),
1074 buildscripts/lilypond-login.sh, buildscripts/lilypond-profile.sh:
1075 Implement new font installation strategy
1077 * Documentation/misc/fontinstallation (TEXMF): Documentation of
1078 the new font installation strategy.
1080 * lilypond-mode.el (LilyPond-mode-map): Add shortcut "CTRL-c ;"
1083 * input/test/staff-size.ly: Simplified using StaffContainer
1085 * mf/GNUmakefile (ALL_GEN_FILES): Actually generate the
1088 2002-03-17 Jan Nieuwenhuizen <janneke@gnu.org>
1090 * scm/ps.scm (bezier-sandwich): Draw circles at slur ends.
1092 * lily/beam.cc (score_stem_lengths): new quanting stuff
1093 (score_forbidden_quants): Second and third beam quant stuff.
1095 2002-03-16 Jan Nieuwenhuizen <janneke@gnu.org>
1097 * lily/beam.cc (least_squares): Remember least-squares-dy for
1099 (quantise_interval): Don't quant to dy steeper that
1100 least-squares-dy. Return empty interval if no sane quants found.
1101 (quantise_position): Try quantise_interval until we have
1102 acceptable solution.
1104 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
1106 * scm/interface-description.scm (beam-interface): Update.
1108 2002-03-15 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1110 * VERSION: 1.5.41 released
1112 * mf/feta-schrift.mf: make Tr. smaller, smoother and closer. Use
1113 optima serifs on top of t, bottom of r.
1115 * mf/feta-bolletjes.mf: make ledger line rounder.
1117 * mf/feta-toevallig.mf: some smallish fixes for flat sign.
1119 * mf/feta-eindelijk.mf: make 8th rest a little darker, some more
1122 2002-03-15 Chris Jackson <chris@fluffhouse.org.uk>
1124 * lily/piano-pedal-engraver.cc: Rewritten to support bracketed as
1125 well as text pedal indications and a combination of both. All
1126 pedal indications are horizontally aligned on a line spanner.
1128 * lily/text-spanner.cc: Edge-width property added to use in
1129 bracketed piano pedals. Function setup_sustain_pedal added to set
1130 the dimensions of the brackets.
1132 * scm/grob-description.scm: New *PedalLineSpanner grobs added, and
1133 some of the *Pedal properties tweaked.
1135 * scm/grob-property-description.scm: New pedal-type (*Pedal) and
1136 edge-width (TextSpanner) properties.
1138 * ly/engraver-init.ly: Default strings added for SostenutoPedal.
1140 * lilypond-font-lock.el: sostenuto, unaCorda and treCorde added to
1141 fontified identifiers list.
1143 * input/test/pedal.ly: New pedal features added.
1145 * Documentation/user/refman.itely: New pedal features documented.
1148 2002-03-15 Jan Nieuwenhuizen <janneke@gnu.org>
1150 * lily/include/new-beam.hh: Previously new-beam.hh
1151 * lily/beam.cc: Previously new-beam.cc
1152 (least_squares): Bugfix: don't barf on beams with less than two
1153 visible stems (tremolos).
1156 * scm/grob-description.scm (Beam): Junk old beam stuff.
1159 2002-03-14 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1163 * mf/feta-eindelijk.mf: new 8th rest.
1165 * mf/feta-toevallig.mf: small fixes for the sharp symbol. Don't
1166 stick out of staffline
1168 * scripts/lilypond-book.py: fixes for texi regular expressions.
1170 2002-03-14 Jan Nieuwenhuizen <janneke@gnu.org>
1172 * lily/include/new-beam.hh:
1173 * lily/new-beam.cc: New file.
1175 * flower/include/interval.hh:
1176 * flower/include/interval.tcc (delta): New method.
1177 (swap): Now public (previously private).
1179 * scm/beam.scm (default-beam-y-quants): Bugfix: lower beam-sit by
1180 1 staff-line-thickness. Sadly, this makes dy quanting problems
1181 (dy quants allowed should depend on actual left y) more visible.
1183 2002-03-13 Jan Nieuwenhuizen <janneke@gnu.org>
1185 * lily/beam.cc (quantise_dy): Bugfix: sign (0) = 0. Hmm.
1187 * scm/grob-property-description.scm (concaveness-threshold): Add
1188 typecheck and description.
1190 * scm/grob-description.scm (Beam): Remove obsolete properties, add
1191 concaveness-threshold (previously concaveness).
1193 * lily/beam.cc (check_concave): Remove choices and debugging
1194 stuff: use best concaveness calculation.
1195 (quantise_dy): Remove choice. Try to never make a slope steeper
1196 by quantising, but certainly never quantise a slope away.
1197 (check_stem_length_f): Remove choice. In case of lengthening
1198 alowed, always lengthen to ideal length.
1200 * Documentation/index.texi: Fix FAQ url.
1202 * Documentation/topdocs/INSTALL.texi: Add information about fink,
1203 compile fix and 1.4 specific fix that doesn't hurt 1.5.
1205 2002-03-13 Han-Wen <hanwen@cs.uu.nl>
1207 * VERSION: 1.5.39 released
1209 * lily/simple-spacer.cc (add_rod): rods take precedence over
1210 infinitely stiff springs. This fixes bugs with arpeggios and bar-lines.
1212 * lily/arpeggio-engraver.cc (acknowledge_grob): clean up.
1214 * lily/note-spacing.cc (get_spacing): only insert space for
1215 accidentals if necessary.
1217 * input/regression/spacing-accidental-staffs.ly (texidoc): update example
1219 * lily/spacing-spanner.cc (musical_column_spacing): new
1220 function. Have correct spacing from note to end-of-line as well.
1222 2002-03-12 Jan Nieuwenhuizen <janneke@gnu.org>
1224 * Documentation/topdocs/INSTALL.texi: Add section for MacOS X.
1226 * darwin.patch: New file.
1228 * lily/beam.cc (set_stem_shorten): Revive deceased stem shorten
1229 code. Shorten stems by fraction of stems to be shortened.
1231 * lily/stem.cc (get_default_stem_end_position): Shorten only half
1232 of shorten value for boundary cases.
1234 * scm/grob-description.scm (Stem): Set stem-shorten to (1.0 0.5).
1235 (Beam): Set beamed-stem-shorten to (1.0 0.5).
1237 2002-03-11 Jan Nieuwenhuizen <janneke@gnu.org>
1239 * lily/beam.cc (check_stem_length_f): Try to lenthen more.
1241 * scm/grob-description.scm (Beam): Add concaveness. Replace
1242 Beam::cancel_suspect_slope with Beam::check_concave.
1244 * lily/beam.cc (check_concave): Calculate concaveness of beam, and
1245 set slope to horizontal if concaveness > Beam.concaveness. This
1246 handles cases that kludgy cancel_suspect_slope was meant to catch
1248 (cancel_suspect_slope): Remove.
1250 2002-03-12 Rune Zedeler <rune@zedeler.dk>
1252 * lily/beam.cc lily/stem.cc lily/beam-engraver.cc: allow for
1253 stemLeftBeamCount and stemRightBeamCount to equal 0.
1256 2002-03-12 Han-Wen <hanwen@cs.uu.nl>
1258 * lily/spacing-spanner.cc (breakable_column_spacing): Only do
1259 fixed spacing for pref matter, if the next column is musical, and
1262 * lily/note-spacing.cc (stem_dir_correction): Use correct
1263 discretionary for stem-bar spacing.
1265 2002-03-11 Han-Wen <hanwen@cs.uu.nl>
1267 * VERSION: 1.5.38 released
1269 * lily/grob.cc (warning): Use cause tracking to give more
1270 meaningful errors from the backend.
1272 * lily/property-iterator.cc (check_grob): Warn if setting grob
1273 property in unknown grob.
1275 * mf/feta-toevallig.mf: brushed stems for natural sign.
1277 * lily/molecule.cc (align_to): don't translate empty molecule.
1278 (this triggers a very subtle bug in time-signature.)
1280 2002-03-10 Han-Wen <hanwen@cs.uu.nl>
1282 * lily/spring.cc: remove file.
1284 * input/regression/spacing-stem-bar.ly: new file
1286 * lily/score.cc (run_translator): resurrect point-and-click
1288 * input/baerenreiter-sarabande.ly: Copy Barenreiter beaming for
1291 * lily/spacing-spanner.cc (find_shortest): Shortest note for
1292 spacing is now globally determined, using the most common shortest
1293 note. Notes that are shorter are spaced geometrically, and with
1294 expand hints. This makes spacing more even, and measures that have
1295 very short notes won't be that stretched out.
1297 * mf/feta-klef.mf: F-clef fixes, documentation on the
1298 shape. (WARNING: font changed.)
1300 2002-03-09 Han-Wen <hanwen@cs.uu.nl>
1302 * lily/simple-spacer.cc (add_columns): support for infinitely
1305 * lily/staff-spacing.cc (get_spacing_params): space after
1306 prefatory matter is fixed.
1308 2002-03-08 Han-Wen <hanwen@cs.uu.nl>
1310 * lily/note-spacing.cc (stem_dir_correction): Correct spacing for
1311 barline following an upstem.
1313 * lily/staff-spacing.cc (extremal_break_aligned_grob): destill
1314 function from next_notes_correction().
1315 (bar_y_positions): idem.
1317 2002-03-04 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1319 * input/regression/break.ly (texidoc): bugfix: escape \ in
1322 * lily/staff-spacing.cc (next_notes_correction): Correct the
1323 spacing of a note following a barline.
1326 2002-03-04 Glen Prideaux
1328 * mf/feta-solfa.mf: Shaped note heads
1330 2002-03-03 Han-Wen <hanwen@cs.uu.nl>
1332 * VERSION: 1.5.37 released
1334 * lily/key-signature-interface.cc (brew_molecule): rename from key_item
1335 left-align molecule.
1337 * lily/break-align-interface.cc (do_alignment): completely
1338 rewritten. Now it does not use Align_interface anymore, but a
1339 separate routine. Like StaffSpacing, it reads space-alist from the
1340 breakable grobs. This allows you to set spacing using
1342 \property Staff.Clef \override #'space-alist = '(....stuff....)
1344 * lily/bar-line.cc, lily/include/bar-line.hh: change name from Bar
1345 to Bar_line. Move files around as well.
1347 * lily/time-signature.cc (time_signature): left align time signatures.
1349 * mf/feta-timesig.mf: Remove padding from C-style time signatures.
1350 Corrections of the glyph shape C. Comments added.
1352 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1354 * lily/spacing-spanner.cc: move from third-try.cc; rename
1355 Third_spacing_spanner to Spacing_spanner.
1357 * lily/staff-spacing.cc (get_spacing_params): redo prefatory
1358 spacing stuff. Much cleaner now, and we prepare for neat spacing
1359 tricks around bar lines and such.
1361 * lily/third-try.cc (prune_loose_colunms): bugfix. Don't init
1362 variables with themselves. (Ouch.)
1364 * lily/span-bar.cc (brew_molecule): don't try to span bars that
1367 2002-03-02 Han-Wen <hanwen@cs.uu.nl>
1371 * lily/lily-guile.cc: isdir_b and isaxis_b changed to ly_axis_p,
1374 * lily/music.cc (ly_get_mus_property): typechecking
1375 (ly_set_mus_property): idem
1376 (ly_make_music): idem
1377 (ly_music_name): idem
1379 * lily/chord.cc: use scm_reverse_x iso. gh_reverse()
1381 * lily/note-spacing.cc (stem_dir_correction): correction for
1382 same stem notes as well.
1384 * lily/pitch.cc (pitch_transpose): stricter typechecking
1386 * mf/parmesan*mf: magnification fixes.
1388 * Documentation/topdocs/INSTALL.texi: update RedHat reqs
1390 2002-03-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1392 * buildscripts/mf-to-table.py (postfixes): Output also .ly file
1393 documenting the font. (Doesn't work for parmesan at the moment)
1395 * Documentation/user/appendices.itely (The Feta font): Add list of
1396 Feta font symbols with names.
1398 * mf/GNUmakefile ($(outdir)/lilypond.map): Generate lilypond.map
1401 2002-03-01 Han-Wen <hanwen@cs.uu.nl>
1403 * lily/translator-group.cc (ly_set_trans_property): typechecking
1404 (ly_get_trans_property): typechecking.
1406 * lily/font-metric.cc (ly_text_dimension): typechecking
1407 (ly_find_glyph_by_name): idem.
1409 * scm/bass-figure.scm (brew-complete-figure): support for
1412 * lily/grob.cc (ly_get_paper_var): new function
1414 2002-02-28 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1416 * VERSION (PATCH_LEVEL): 1.5.35 released.
1418 * lily/lookup.cc (ly_bracket): Scheme function ly-bracket
1419 (bracket): New function.
1421 * lily/stem-engraver.cc (stop_translation_timestep): bugfix, unset
1422 stemLeftBeamCount, stemRightBeamCount in stead of using #<undefined>
1424 * lily/third-try.cc (set_implicit_neighbor_columns): type checking
1427 * lily/span-arpeggio-engraver.cc (stop_translation_timestep):
1430 * lily/grob.cc (ly_get_grob_property): be anal about types.
1431 (ly_set_grob_property): idem
1433 * lily/figured-bass-engraver.cc (process_music): move molecule
1434 building completely to Scheme
1436 * lily/include/musical-request.hh (class Bass_figure_req): Add
1439 * lily/parser.yy (bass_figure): add support for space figure.
1441 * lily/molecule.cc (ly_molecule_combined_at_edge): be anal about types
1443 * lily/font-metric.cc (ly_text_dimension): Scheme function ly-text-dimension
1445 * lily/molecule.cc (ly_fontify_atom): new function ly-fontify-atom
1446 (ly_align_to_x): new function ly-align-to!
1448 * lily/font-interface.cc (ly_font_interface_get_font): new Scheme
1449 function ly-get-font
1451 * mf/feta-nummer.mf: include normal-space dimension.
1453 * lily/collision.cc (check_meshing_chords): don't merge collisions
1456 * lily/system-start-delimiter.cc (after_line_breaking): Bugfix:
1459 2002-02-28 Mats Bengtsson <matsb@s3.kth.se>
1461 * scm/tex.scm, scm/ps.scm (or): Bugfix, ps output with Guile 3.4
1463 2002-02-28 Juergen Reuter <reuter@ipd.uka.de>
1465 * mf/parmesan-heads.mf: bugfix: mensural note heads (WARNING:
1468 * scm/output-lib.scm: bugfix: resort to neo_mensural chars rather
1471 * mf/parmesan-scripts.mf, mf/parmesan-generic.mf,
1472 scm/grob-description.scm: added mensural fermata symbol
1474 2002-02-27 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1476 * VERSION: 1.5.34 released.
1478 * lily/rest-engraver.cc (create_grobs): rests can have pitches.
1480 * lily/staff-symbol-referencer.cc (callback): assume that
1481 staff-position is unset in general.
1483 * input/regression/rest-pitch.ly: new file.
1485 * lily/parser.yy (simple_element): rests can have pitch. Syntax:
1488 2002-02-26 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1490 * lily/scm-option.cc (set_lily_option): add internal-type-checks
1491 as Scheme option. Run regression test by default with
1492 internal-type-checking.
1494 * lily/separating-group-spanner.cc (find_musical_sequences): removed.
1496 * lily/lily-guile.cc (type_check_assignment): changed functions.
1498 * scm/*description*.scm: be anal about typechecks. Some changes
1499 for internal variable names.
1501 2002-02-25 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1503 * scm/ps.scm: -f ps output for GUILE 1.4 and 1.3.4
1505 2002-02-25 Han-Wen <hanwen@cs.uu.nl>
1507 * VERSION: 1.5.33 released.
1509 * mf/feta-macros.mf (flare_path): removed draw_flare, replace by
1510 flare_path everywhere (c-clef, numbers).
1512 * lily/bar-number-engraver.cc (process_music): also print bar
1513 number if measure starts with grace note.
1515 * input/regression/grace-bar-number.ly: new test.
1517 2002-02-24 Han-Wen <hanwen@cs.uu.nl>
1519 * lily/figured-bass-engraver.cc (stop_translation_timestep): reset
1522 * scm/music-functions.scm (voicify-music): split chords into
1523 different voices automatically.
1525 * lily/music.cc (ly_music_list_p): new function
1527 * lily/music-sequence.cc (do_relative_octave): robustification
1529 * scm/music-functions.scm: many utility functions
1531 * lily/music.cc (ly_set_mus_property): add type checks to the
1532 Scheme property assignment.
1534 * buildscripts/lilypond-profile,lilypond-login.sh (TEXCONFIG):
1537 * mf/lilypond.map: .map file from Mats' page.
1539 2002-02-21 Juergen Reuter <reuter@ipd.uka.de>
1541 * Some more parmesan related fixes;
1543 * Custos: varying shape (in particular, stem length), depending on the
1544 vertical position of the custos (on staffline / between stafflines);
1546 * Custos: added grob property "neutral-direction" (same semantics as
1547 with stem); introduced new grob property "neutral-position";
1549 * Time-signature: print a warning when resorting to default layout.
1551 2002-02-22 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1553 * lily/translator-group.cc (add_fresh_simple_translator): remove
1554 function; initialize() is called through
1555 Translator_group::initialize().
1557 * lily/third-try.cc (prune_loose_colunms): add constraints (rods)
1558 for the neighbors of a loose column.
1560 * lily/line-of-score.cc (set_loose_columns): be more intelligent:
1561 position loose columns so that they don't collide.
1563 2002-02-21 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1565 * VERSION: 1.5.32 released.
1567 * scm/font.scm: remove font-name symbol.
1569 * mf/GNUmakefile: use pktrace for making PFAs
1571 * make/lilypond.redhat.spec.in: use pktrace when making RPMs
1573 * lily/rest-collision.cc (do_shift): read direction field from
1574 rest-column in case of note-rest collision. This should fix some
1575 problems with rest collisions.
1577 2002-02-19 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1579 * lily/note-heads-engraver.cc (process_music): Removed easyPlay
1582 * lily/note-head.cc (brew_ez_molecule): Remove note-character
1583 property. Read pitch directly from #'cause.
1585 * mf/feta-puntje.mf: bugfix
1587 2002-02-19 Juergen Reuter <reuter@ipd.uka.de>
1589 * mf/*.mf: tried to fix ancient-font.ly. WARNING: Font changed.
1591 2002-02-18 Jan Nieuwenhuizen <janneke@gnu.org>
1593 * Documentation/windows/compiling.texi: Update.
1595 * Documentation/index.texi: Add link to orphaned compiling for
1598 * Documentation/footer.html.in: Comment fix.
1600 * stepmake/bin/add-html-footer.py: Python2.[12] re workarounds.
1602 2002-02-18 Han-Wen <hanwen@cs.uu.nl>
1604 * VERSION: 1.5.31 released
1606 * lily/new-spacing-spanner.cc: remove file.
1608 * lily/third-try.cc (do_measure): only take spacings into account
1609 if they pertain to the column pair under consideration. This fixes
1610 spacing bug when mixing eighths triplets and normal eighths.
1612 * lily/note-head.cc (brew_molecule): revert ledger change: ledger
1613 lines don't take up space anymore. Document why in note-head.cc
1616 2002-02-17 Han-Wen <hanwen@cs.uu.nl>
1618 * lily/font-interface.cc (get_font): reinstate
1619 #'font-magnification. See input/regression/font-magnification.ly
1620 (get_font): Change the definition of #'font-name grob property.
1622 * lily/grob.cc (get_uncached_molecule): output origin for grobs
1623 that have a #'cause field.
1625 2002-02-12 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1627 * Documentation/topdocs/INSTALL.texi: remove type3 stuff.
1629 * mf/GNUmakefile: remove metapost stuff
1631 * stepmake/aclocal.m4: remove metapost detection stuff.
1633 2002-02-11 Jan Nieuwenhuizen <janneke@gnu.org>
1635 * mf/GNUmakefile (FET_FILES):
1636 (FONT_FILES): Include parmesan.
1638 * stepmake/bin/packagepython.py (make_assign_re): Bugfix. Use re
1641 * buildscripts/clean-fonts.sh (FILES): Clean parmesan too.
1643 * Documentation/user/refman.itely (Paper size): Quote braces.
1645 2002-02-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1647 * stepmake/aclocal.m4: fixed bison version check to be more
1650 * lily/stem.cc (position_noteheads): fix for cluster chords.
1652 * mf/*.mf: many blotting/pixel rounding fixes by Rune Zedeler
1654 * python 2.2 support.
1656 2002-02-04 Han-Wen <hanwen@cs.uu.nl>
1658 * VERSION: 1.5.30 released
1660 * lily/dynamic-engraver.cc: add doco about DynamicLineSpanner
1662 * Documentation/user/refman.itely (Dynamics): add a note about
1665 * scm/grob-description.scm: add a 'translator-type? object
1666 property, so that \property Foo.Bar =\turnOff doesn't cause
1669 * lily/translator-group.cc (add_fresh_group_translator): make
1670 new add-translator functions to make distinction between fresh and
1671 used group-translators. Fixes problem with scripts on auto-changing voice
1673 * lily/timing-engraver.cc: make Timing_engraver instantiatable,
1674 add to Score_performer. Fixes bar checks in MIDI
1676 * lily/tie-engraver.cc (create_grobs): Use pitches to compare note
1677 heads. Fixes many quirks with ties.
1679 * lily/engraver.cc (announce_grob): Use SCM argument. Store cause
1680 in the grob property #'cause, instead of using Grob_info.
1682 * ly/engraver-init.ly (StaffContext): move Dot_column_engraver to
1683 staff context, fixing dot alignment on collisions.
1685 * lily/beam-engraver.cc (try_music): remove can't find beam start
1686 warning, so that skipTypesetting won't complain.
1688 2002-02-01 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1690 * Documentation/user/refman.itely (Paper size): Documentation fix,
1693 * lily/text-engraver.cc: Bugfix: textNonEmpty works again
1695 * scm/grob-description.scm: \breathe: Use feta font comma by default
1697 2002-01-23 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1699 * input/template/piano-dynamics.ly (pedal): Simplified
1701 2002-01-18 Mats Bengtsson <mats.bengtsson@s3.kth.se>
1703 * ly/engraver-init.ly: avoid warnings on \skip in lyrics
1705 2002-01-10 Mats Bengtsson <matsb@s3.kth.se>
1707 * lilypond-mode.el (LilyPond-command-query): ignore case.
1709 2002-02-01 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1711 * VERSION: 1.5.29 released
1713 * all files: change 2001 to 2002 in headers globally
1715 * mf/parmesan20.mf: split out ancient notation into parmesan ("old
1716 cheese") font. WARNING: fonts changed.
1718 2002-02-01 Juergen Reuter <reuter@ipd.uka.de>
1720 * mf/*.mf: Fixed some blot_diameter related flaws in some feta symbols
1722 * mf/*.mf: Added some more vaticana/solesmes style font symbols
1724 * mf/*.mf: Bugfix: renamed subbipunctum -> inclinatum
1726 * mf/*.mf: Fixed a few typos in various .mf files
1728 2002-01-17 Rune Zedeler <rune@zedeler.dk>
1730 * mf/: added macro soft_penstroke
1732 softened some glyphs
1733 redrawn triangular noteheads
1735 added classical quarter rest
1737 * lily/stem.cc: Bugfix: Stem-attachment when staff_space!=1
1739 * lily/bar.cc: Bugfix: repeat dots when even number of staff
1740 lines and staff_space>=2
1742 * lily/rest.cc: Use default rests when current style glyphs not
1744 \property Staff.Rest \override #'style = #'classical
1746 2002-01-30 Jan Nieuwenhuizen <janneke@gnu.org>
1748 * input/bugs/first-tie.ly: New file.
1750 * input/bugs/spacing-clash.ly: New file.
1752 2002-01-29 Jan Nieuwenhuizen <janneke@gnu.org>
1756 2002-1-24 Chris Jackson <chris@fluffhouse.org.uk>
1758 * lilypond-indent.el: New file providing indentation for
1759 parenthesised blocks of lilypond code in Emacs
1761 * lilypond-font-lock.el: Changes to the syntax table to facilitate
1762 indentation and handle block comments properly. Distinguish
1763 accents from close-brackets in fontification.
1765 * lilypond-mode.el: LilyPond-indent-command set appropriately.
1767 2002-01-22 Jan Nieuwenhuizen <janneke@gnu.org>
1769 * Documentation/windows/installing.texi:
1770 * Documentation/windows/compiling.texi: Include from 1.4.10.
1772 * Documentation/windows/gs-profile.sh: previously lily-gs.sh
1774 * input/bugs/first-midi-tie.ly: New file.
1776 2001-12-29 Han-Wen <hanwen@cs.uu.nl>
1778 * VERSION: 1.5.28 released
1780 * lily/parser.yy (My_lily_parser): Slightly kludgy warning for
1781 illicit beams on [c4 c4] etc.
1783 * lily/bar-check-iterator.cc (Bar_check_iterator): new
1784 file. Make separate iterator for Bar_checks. Bar_check now happen
1785 outside engravers, meaning that you can use them with
1786 skipTypesetting. Associated changes in other files.
1788 * lily/new-spacing-spanner.cc (stem_dir_correction): removed
1791 * lily/spacing-spanner.cc (stem_dir_correction): removed function
1793 * lily/include/grob.hh (unsmob_item, unsmob_spanner): Add functions
1795 * lily/bar.cc (before_line_breaking): remove bar-line spacing code.
1797 * lily/stem.cc (set_spacing_hints): removed function
1799 * lily/note-spacing.cc (stem_dir_correction): new stem-direction
1800 correction for spacing; now take vertical extents of the stem into
1803 * lily/third-try.cc: More hacking to get spacing working.
1805 * lily/note-spacing-engraver.cc: new file, Note_spacing_engraver
1806 sits at staff level and creates note spacing objects. Scrap it
1807 again, and document why.
1809 * lily/include/group-interface.hh: rename functions.
1811 2001-12-27 Jan Nieuwenhuizen <janneke@gnu.org>
1813 * stepmake/stepmake/c++-rules.make:
1814 * stepmake/stepmake/c-rules.make: Fixes for bison-1.28.
1816 2001-12-25 Jan Nieuwenhuizen <janneke@gnu.org>
1818 * make/lilypond-vars.make:
1819 * scripts/ly2dvi.py (setup_environment):
1820 * scripts/lilypond-book.py (setup_environment): Also set tex
1823 2001-12-24 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1825 * VERSION: 1.5.27 released.
1827 * Documentation/user/refman.itely (Bar numbers): added bar number
1830 * scm/font.scm (make-style-sheet): Fixes to make staff-sizes work
1833 2001-12-22 Mats Bengtsson <matsb@s3.kth.se>
1835 * tex/lilyponddefs.tex: Make sure interscorelinefill=1 doesn't
1836 spread the last few lines all over the last page of a score.
1838 2001-12-24 Han-Wen <hanwen@cs.uu.nl>
1840 * lily/third-try.cc: 3rd try at revising spacing
1841 engine. Not yet finished.
1843 * lily/paper-column.cc (brew_molecule): print debugging marks on a
1846 * lily/tie-engraver.cc (class Tie_engraver): Use busyGrobs for
1847 collecting past note heads.
1849 * lily/note-heads-engraver.cc (try_music): Remove end_mom_
1852 * lily/grob-pq-engraver.cc (class Grob_pq_engraver): New file, new
1853 class. Keep a queue of grobs that are still playing in busyGrobs.
1855 * lily/lyric-combine-music-iterator.cc (get_busy_status): New
1856 function. Use busyGrobs to detect playing notes.
1858 2001-12-16 Jan Nieuwenhuizen <janneke@gnu.org>
1860 * Documentation/topdocs/INSTALL.texi: Added note about broken
1861 python-2.1. Updated note for Debian's broken (well, broken for
1862 our use anyway) tex configuration.
1864 * scripts/lilypond-book.py (re_dict): python2.2 fix.
1866 * stepmake/stepmake/c++-rules.make ($(outdir)/%.hh):
1867 ($(outdir)/%.cc): Adapted to bison-1.30; added bison < 1.30 fix.
1869 * scripts/lilypond-book.py (bounding_box_dimensions): Bugfix.
1870 (But left margin of png's still misses a few pixels. Arg.)
1872 2001-12-16 Heikki Junes <hjunes@cc.hut.fi>
1874 * lilypond-mode.el (LilyPond-command-next-midi): Make
1875 possible to kill midi-process (using "C-c C-m").
1877 2001-12-14 Han-Wen <hanwen@cs.uu.nl>
1879 * scripts/lilypond-book.py (LatexPaper.set_geo_option):
1880 Convert strings with dimensions to numbers.
1882 * lily/volta-engraver.cc: only make a bracket for the top staff,
1883 as found in stavesFound.
1885 * lily/bar-number-engraver.cc: remove staff administration.
1887 * lily/mark-engraver.cc (acknowledge_grob): remove staff
1888 administration. This breaks support for invisible-staff.
1890 * lily/staff-collecting-engraver.cc: new engraver. Collects staff
1891 symbols into stavesFound.
1893 * lily/score-engraver.cc (acknowledge_grob): Acknowledge spacing
1894 grobs, and put them into columns.
1896 * lily/engraver-group-engraver.cc (acknowledge_grobs): Include the
1897 Engraver_group_engraver as a potential candidate for ack'ing grobs.
1899 2001-12-13 Heikki Junes <hjunes@cc.hut.fi>
1901 * lilypond-mode.el (LilyPond-command-next-midi): Play next (or last)
1902 midi section in the Emacs-mode, so it is possible to play certain
1903 score in a multiscore lilypond-file.
1905 2001-12-09 Rune Zedeler <rune@zedeler.dk>
1906 * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr()
1907 (FIXME: not accessible from guile)
1909 * lily/accidental-engraver.cc: rewrote accidental-routines to get
1910 better support for Kurt Stone's suggestions.
1911 Removed properties: noResetKey, forgetAccidentals, autoReminders,
1913 Changed property: localKeySignature.
1914 Added properties: extraNatural, autoAccidentals,
1917 (BUGFIX: broken-tie-support destroyed in 1.5.16)
1919 * ly/property-init.ly: added commands
1920 \defaultAccidentals \modernAccidentals \modernCautionaries
1921 \noResetKey \forgetAccidentals
1923 * ly/engraver-init.ly: Correct initialization of new accidentals.
1925 * scm/translator-property-description.scm: The new properties
1928 * input/: Some examples added, some changed.
1930 * Documentation/regression-test.tely: Added quick test of new
1933 2001-12-13 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1935 * scripts/lilypond-book.py (scan_latex_preamble): don't crash if
1938 2001-12-07 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1940 * lily/beam.cc (before_line_breaking): Make beams without stems
1941 or with only one stem disappear.
1943 2001-12-05 Han-Wen Nienhuys <hanwen@cs.uu.nl>
1945 * bibtools/bib2html.py: Add simple bib2html convertor, and .bst
1946 files to have standardised HTML bibliography output. Update build
1947 docs to reflect this.
1949 * lily/include/simple-spacer.hh (struct Simple_spacer): add
1950 active_count_, so that we don't have to look for active springs
1953 * scm/interface-description.scm,scm/grob-property-description.scm:
1956 * lily/simple-spacer.cc (solve): Handle forced line breaks
1957 here. Fixes problems when combining linebreaks with non-fitting
1960 2001-12-05 Jan Nieuwenhuizen <janneke@gnu.org>
1962 * 1.4.9.jcn3 forward ports.
1964 * Really included .cvsignore.
1966 * Included Han-Wen's uu1 windows fixes.
1968 * Bugfix: lilypond-profile.sh: append to GS_FONTPATH, GS_LIB.
1970 * Added Cygwin setup.hint
1972 * Removed tex, python wrappers and postinstalls to go with Cywgin's
1973 tetex/texmf, python installations.
1975 * Updated cygwin installer.
1977 * ly2dvi: Don't accept filenames with spaces (+ fix).
1979 2001-12-03 Han-Wen <hanwen@cs.uu.nl>
1981 * ly/engraver-init.ly (VoiceContext): fix text engraver ordering.
1983 * lily/translator-def.cc: Remove manual symbol caching.
1985 * lily/script-column.cc (before_line_breaking): robustness check:
1986 don't crash if no direction set.
1988 * scripts/pmx2ly.py: Key and clef change support (Laura Conrad)
1990 * scripts/pmx2ly.py (Parser.parse_header): more generic header
1994 2001-12-01 Han-Wen <hanwen@cs.uu.nl>
1996 * lily/note-head.cc (head_extent): added to compute width without
1997 ledger lines. By default, ledger lines take up width now.
1999 * input/regression/fingering.ly: demonstrate auto fingering.
2000 Horizontal placement is still buggy.
2002 * lily/fingering-engraver.cc (class Fingering_engraver):
2003 added. Provides support for horizontal fingering scripts
2005 * lily/include/grob.hh: Naming: change parent_l() into get_parent()
2007 * lily/side-position-interface.cc (add_staff_support): add staff
2008 only for Y-axis side positions.
2010 * lily/parser.yy (request_chord): Fix mem leak.
2012 * lily/musical-request.cc (transpose): moved to Music::transpose()
2014 * lily/include/grob-info.hh: Change music pointer to SCM, so we
2015 can store grobs as grob-creation cause as well.
2017 * lily/group-interface.cc (add_thing): efficiency tweak: reuse
2018 handle when adding. Use precomputed symbols throughout lily.
2020 * lily/rhythmic-column-engraver.cc: make NoteSpacing grobs to keep
2021 track of spacing issues.
2023 * lily/separating-line-group-engraver.cc: make StaffSpacing grobs
2024 to keep track of staff spacing
2026 2001-11-30 Jan Nieuwenhuizen <janneke@gnu.org>
2028 * Rewrote new conditional guile >= 1.5 compilation switches, to keep
2029 code clean from conditionals and have a concentrated sets of
2030 compatibility fixes for old guile versions.
2032 * Fixes for guile 1.4, including embedded ps.
2034 2001-11-30 Han-Wen Nienhuys <hanwen@cs.uu.nl>
2036 * lily/stanza-number-engraver.cc (process_music): allow pairs as
2037 well for markup texts.
2039 * lily/musical-request.cc (length_mom): kludge for null pointer.
2041 * scm/sketch.scm (sketch-output-expression): guile 1.4 compatibility
2043 * scm/lily.scm (sign): bugfix
2045 * CHANGES: Change log instated.
2047 * stepmake/add-html-footer.py: @BRANCH@ tag insertion.